Repository navigation
overlay: decompile 17 more level functions and give globals one name each - #211
Merged
Merged
Conversation
FUN_L00_002caf70, FUN_L00_002464a8, FUN_L10_002be858, FUN_L07_0030f5f0 and FUN_L08_002e3870 now match retail.
FUN_L14_002b17d8 (plasmabot), FUN_L08_002dabf0 and FUN_L13_00307e98 now match retail.
FUN_L00_002382a0 (quick select), FUN_L00_00236268 and FUN_L15_001ff938 come from rac1-decomp ports with their data re-paired against the listing; FUN_L12_00306828 too. FUN_L00_002d09b8 (break_crate) finishes the draft. shared/ui/help/001ff938.c moves to the SN units.
FUN_L15_002ed068 (giant clank pad) and FUN_L00_002995d0 (movie load setup and GS image upload) now match.
FUN_L00_002c1ad0 (2488 bytes, 19 levels) now matches.
Plain and macro declarations for the globals the reset reads keep the sda .extern from turning later lui loads into gp loads.
Aliases with port suffixes become the plain label, the header name or the boot function name where the asm stays the same; parameters named after registers get names from their use.
…e-ubrq5f # Conflicts: # src/assembly/textbin/audio/voices/sound_update.c # src/overlays/l08/gameplay/entities/bomb.c # src/overlays/shared/gameplay/entities/plasmabot.c # src/overlays/shared/rendering/00245c28.c # src/overlays/shared/ui/help/001ff938.c
Ported aliases take the header or main declaration of their label, with a cast at the use where the port read it as another type. Also names the map archive state fields from the main draft and the L08 bomb throw locals.
Decompilation progress
17 newly matched functions (37,604 B)
Compared with main (fecda08). C_FUZZY uses main's last measurement. |
Carries the local, field and function names main's drafts used into the exact code (taxi platform, bolt thief, bombs, platform, rocket, plasmabot, map setup, help and text screens).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before
These 17 overlay functions were still retail asm (INCLUDE_ASM): FUN_L00_00236268, FUN_L00_002382a0, FUN_L00_002464a8, FUN_L00_002995d0, FUN_L00_002c1ad0, FUN_L00_002caf70, FUN_L00_002d09b8, FUN_L07_0030f5f0, FUN_L08_002dabf0, FUN_L08_002e3870, FUN_L10_002be858, FUN_L12_00306828, FUN_L13_00307e98, FUN_L14_002b17d8, FUN_L14_00301de8, FUN_L15_001ff938, FUN_L15_002ed068. Several drafts (walloper reset, snagglebeast, sound update) were further from retail. Many ported units gave one data label several names or types (address-suffixed aliases,
short X; *(float *)&Xcasts), and some carried copies of shared types (Vec4_p,WalkerData_p, a secondstruct Moby).After
waypoint,anchor,spring_turnstiffness and damping, mapscale_x/scale_y), and redundant casts are gone.NON_MATCHINGdrafts are closer to retail.weapon_ammo_counts,item_text_variant,big_head_cheat_enabled,level_mobys,item_defs,coll_hit, ...); the rest use the plain label or a_gp/_lui/_macroplacement alias. Globals declared asshortand read through*(float *)&or*(int *)&now have their realfloat/inttype in 31 files.Vec4,WalkerData,WalkerPath,Rec_30D8E8,HudElem,struct Moby).-DNON_MATCHING) and checking that the code stays the same.KNOWN_CONFLICTSis lowered from 602 to 600.Verification
make elfends withPASS: reconstructed boot ELF matches retailmake overlaysends withPASS(all 2918 overlay functions, 4340 level data objects)make checkpasses (108 tests;scripts/check-cleanup.py: no new problems)