diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-05-30 10:32:29 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-05-30 10:32:29 -0300 |
| commit | dff5e62f6ebb1b06c234b9144458788893b6ca86 (patch) | |
| tree | 828c51278c906ad9e71dac3b54b7246a0c04706d /TODO.md | |
| parent | f6c8c67094de3fe19f1e7871a7e78a91fb9bf3dd (diff) | |
| download | game-dff5e62f6ebb1b06c234b9144458788893b6ca86.tar.gz game-dff5e62f6ebb1b06c234b9144458788893b6ca86.zip | |
initial work on `crcombat.cc`
Diffstat (limited to 'TODO.md')
| -rw-r--r-- | TODO.md | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1,9 +1,11 @@ ## TODO NEXT -- STRINGS.CC - TCreature - TPlayer - TNonPlayer +## Stack allocations +Any functions that use `alloca` or some other form of dynamic stack allocations will cause decompiled functions to be an absolute mess. It usually shows up in the decompiled code as both a size computation like `-(VAR + CONST & 0xfffffff0)`, followed by some assignment. It doesn't make total sense without looking at the disassembly. I've encountered ~30 such computations and expect the functions containing them to be amongt the most challenging/annoying to be properly decompiled. + ## Estimate The decompiled file has ~115K lines of C. If we take ~15K lines to be rubbish, this can be round to ~100K. Considering a low estimate of 200 lines per day, the whole process could take up to 500 days which is quite a bit but not impossible. Now considering a high estimate of 1K lines per day, it could take 100 days which is also quite a bit. |
