* UnkStruct_027e09b4_017 (part 1?) OK
* code_020c0b24_017 68%
* rename file
* AdventureModeManager_15C_20_00_017 96%
* AdventureModeManager_15C_017 OK
* match remaining .init, .ctor and .bss
* fix build issues on other versions
* UnkStruct_027e0cec_017 OK
* UnkStruct_027e0cf8_017 OK
* UnkStruct_ov024_020d86a0_017 OK
* UnkStruct_027e09c0_017 OK
* UnkStruct_027e0cec_18_017 OK
* fix other versions build
* code_020c201c_017 OK
* SaveManager_017 OK
* remove extern "C"s
* port progression to the other versions
* ninja format
* fix regressions
* day 1
* delink overlay 17
* UnkStruct_027e0ce0_30_017 & UnkStruct_027e0ce0_40_017
* ItemManager_017 OK
* UnkStruct_027e0ce0_40_Base_94_017 95%
* UnkStruct_027e0ce0_017 OK
* PlayerLinkActor_017 OK
* PlayerLinkActor_A0_20_017 OK
* code_020be2ec_017 99%
* ActorManager_017 OK
* Actor_017 OK
* ActorEventIcon_017 OK
* code_020be2ec_017 OK
* MapObjectManager_017 97%
* MapObject_017 OK
* MapObjectSwitchStep_017 OK
* fix build issues
* fix other versions build issues
* feat: increase global matching
* fix: better refactor
* fix: match back MapObjectDoorSwitch::MapObjectDoorSwitch
* style: remove old nonmatching comment
* feat: Start decompiling ActorUnkCANS ctor and vfunc_10
* feat: Improve vfunc_10
* feat: Decompile vfunc_18 and 1C
* fix: Remove trailing return
* feat: Progress on vfunc_20
* fix: Rename symbol
* feat: Finish first run over vfunc_20
* feat: Improve vfunc_20
* feat: Improve vfunc_20
* feat: Heavily improve vfunc_20
Almost done
* feat: Keep vfunc_20 going, add UnkAngleStruct to Actor.hpp
* feat: Some polish on vfunc_20
That's about what I can do, there are some tweaks left but I'm unable to
get anywhere.
Kind of proud ngl
* feat: Rename symbols and match vfunc_24
* fix: Fix jp symbol conflict
* feat: Decompile vfunc_2C
* feat: Fix symbols and signatures
* fix: Match switch statement by adding every cases
* feat: Match func_ov063_02157fa4
* feat: Match func_ov063_02158424
* feat: Match func_ov063_02158448
* feat: Match func_ov063_02158490
* feat: Match func_ov063_02158b0c
* feat: Match func_ov063_02158b34
* feat: Decompile most of func_ov063_02158b98 (need regalloc fix)
* feat: Create inner classes of ActorUnkCANS, match some vfuncs
* feat: Update some dtor symbol and match some ctor
* feat: Decompile UnkStruct 02162ee8 ctor
* feat: Rename jp symbols
* feat: Match func_ov063_021590c8
* feat: Match func_ov063_02159dfc
* feat: Decompile some functions
* fix: Fix old accesses
* fix: More merge artifacts
* fix: More merge artifacts
* chore: Move structs around and fix some uses
* feat: Start decompiling func_ov063_02158db0
* feat: Decompile some vfunc
vfunc_0C is really really weird
* fix: Fix use of removed struct
* feat: Match func_ov063_02159258
* feat: Match func_ov063_02159494
* feat: Match func_ov063_021595a4
* feat: Match func_ov063_02159618
* feat: Match func_ov063_02159714
* feat: Match func_ov063_02159784
* fix: Move UnkAngleStruct to math.hpp
* fix: .data of ActorRollingStone & ActorShotArrow
* feat: Match func_ov063_021598fc
* fix: Cleanup code for func_ov063_021598fc
* feat: Match func_ov063_02159ca8
* feat: Match func_ov063_02159d68
* fix: Fix double declaration of func
* feat: Match func_ov063_02159e20
* feat: Decompile most of func_ov063_02159ec0
* feat: Match func_ov063_0215a428
* feat: Match func_ov063_0215a474
* feat: Update lots of symbols (mainly for jp)
* feat: Start decompiling two funcs with fx mul
* fix: Fix broken symbol def after merge
* feat: Match func_ov063_0215a514
* feat: Match func_ov063_0215a56c
* feat: Match func_ov063_0215a5a0
* feat: Match func_ov063_0215a5bc
* feat: Match func_ov063_0215a5d8
* feat: Decompile most of func_ov063_0215a678
* fix: Fix some regalloc order in func_ov063_0215a678
* feat: Update symbols and create unk class
* feat: Update CANS member with the new class
* feat: Update symbols, remove dead variables
* feat: Improve ctor and some local struct layout
* feat: Improve ActorUnkCANS ctor
* fix: Fix ActorUnkCANS members layout
* feat: Improve ActorUnkCANS ctor more
* fix: Fix wrong symbol reloc
* feat: Add intermediate struct and update symbols
* feat: Match some jp only code, symbols
* feat: Decompile part of func_ov063_0215a2c0
* fix: Fix jp only code in func_ov063_0215a2c0
* feat: Update symbols
* feat: Cleanup unused functions
* feat: Cleanup JP ifguards handling
* feat: Remove lot of useless temps, use DEG_TO_ANG where it seems appropriate
* feat: Small code cleanup
* Apply suggestions from code review
Co-authored-by: Alessevan <44125445+Alessevan@users.noreply.github.com>
* fix: Fix style
* feat: Apply suggestions from review
* feat: More code cleanup
* feat: Some more improvements
* fix: Remove auto-generated comment headers
* fix broken matches
* fix broken matches 2
---------
Co-authored-by: Alessevan <44125445+Alessevan@users.noreply.github.com>
Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
* delink the overlay
* ItemManager_101 OK
* UnkStruct_027e0ce0_40_101 OK
* PlayerLinkActor_A0_1C_101 OK
* UnkStruct_027e09a4_54_101 OK
* UnkStruct_027e0cd8_0C_101 OK and MapObjectProfile_Derived6_101 OK
* run ninja format
* delink what's left from overlay 1 (except dsprotect)
* fix regressions
* UnkStruct_027e0ce0_1C_001 97%
* UnkStruct_0204a110_001 OK
* UnkStruct_ov024_020d86a0_001 OK
* UnkStruct_ov000_020b50c0_001 OK
* GameModeCreate OK
* AdventureModeManager_001 OK
* GameModeAdventure_001 OK
* AdventureModeManager_001 OKn't because weak issues
* ZeldaCollisionBinary OK
* UnkStruct_027e09c0_001 OK
* UnkStruct_ov000_020b504c_001 OK
* UnkStruct_ov000_02067bc4.hpp -> UnkStruct_ov000_020b504c.hpp
* match overlay 97
* match overlay 100
* run ninja format
* UnkStruct_027e095c_001 OK
* UnkStruct_027e095c_001 OK (JP)
* SysNew_001 OK
* SaveManager_001 98%
* UnkStruct_027e09bc_001 OK
* MapObjectManager_001 OK
* ActorManager_001 OK
* remove useless thumb pragmas
* ItemManager_001 OK
* fix regressions
* fix build issues
* feat: begin decompiling ActorItemBoomerang
* feat: decompile functions
* refactor: rename function and use ActorState
* feat: match vfunc
* feat: magic stuff on addresses to match .data
* feat: more black magic
* feat: improvements
* feat: match .data
* feat: unmatch .data 😭
* feat: match stuff
* refactor: move shotarrows' class used in boomerang
* feat: fix mangled names
* feat: weird magic
* fix: build issues
* fix: build issue for jp version
* fix: back to +0.2% :yeah:
* feat: improvements before changing laptop
* feat: continue decompiling
* fix: build issues
* feat: improvements
* feat: solve build on eur
* fix: build issue
* fix: better match
* fix: match back ActorShotArrow data
* feat: increase .text matching
* fix: propagate changes to ActorShotArrow
* feat: matching func_ov031_020e5034
* fix: logical errors
* fix: replace whiles with fors
* style: use uppercased hex value
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* style: do not use fx32 for global timer
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* style: add parameters name in prototypes
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* style: use bool instead of unk32 for external function
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* style: use DEG2ANG
* refactor: use ActorRef instead of u16
* style: use boring array access instead of chad pointer manipulation
* fix: use bool as return type for ActorItemBoomerang::vfunc_2C
* feat: remove old non-matching comments
* style: explicit null check
* revert: change vfunc_2C back to void signature and change 01fff5d0 function's signature to bool
---------
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* UnkStruct_027e09b8_001 OK
* match func_ov001_020b7830
* fix build issues
* UnkStruct_027e0cd8_001 49%
* UnkStruct_027e0cd8_001 OK
* fix build issues
* UnkStruct_027e0cd8_0C_001 92%
* port some MSL C++ headers from rb3 and key decomps
* fix build issues
* UnkStruct_027e0cd8_0C_001 98%
* gcc fixes
* document random things in UnkStruct_027e09b8_00
* match func_ov001_020ba670 and rabbit docs
* match func_ov026_0211f394
* fix build issues
* match func_ov026_0211e3e0
* match func_ov026_02102924
* move structs to header
* document train rope thing
* MapObject OK and ActorRef stuff
* match more actor funcs
* fix regressions
* fix build issues
* more regressions fixes
* name keyt grab func
* UnkSubStruct19 -> CellAnimObject (based on the only assert string)
* fix build issues due to merge
* Actor::mUnk_4C -> Actor::mState + related changes
* create GetActorPtr template inline for Actor_c4
* ActorUnk_ov000_020a8bb0 -> Actor_Derived1
* actor: add comments about mUnk_50/52 and change type of mAngle
* name func_01ffd3d8 and func_01ffd400
* name func_01ffd3b0
* match func_ov024_020cf9d4 + improve the Random struct
* UnkStruct_027e0cf8_00_0C_024 45%
* match PassengerManager::GetRandomIndex
* UnkStruct_027e0cf8_00_0C_024 OK
* UnkStruct_027e0cf8_00_0C_024: do other sections
* UnkStruct_027e0cf8_08_024 55%
* cleanup: remplace delete into null by the delete macro
* UnkStruct_027e0cf8_08_024 OK
* fix build issues
* UnkStruct_ov024_020d86a0_024 OK
* PlayerActor_A0_38_024 .text OK, CreditsEndingType OK
* tools: create courselist.py to convert .CLB data to yaml
* UnkDataStruct4_14 OK
* UnkDataStruct4 17%
* UnkDataStruct4 OK
* MiscAdvManager OK
* PassengerManager OK
* fix build issues
* ZeldaTrainBinary OK
* mark PassengerManager as complete and adjust delinks
* UnkStruct_027e0cf8_08_00_024 OK
* document more of UnkStruct_027e0ce0
* savefile hotfixes
* UnkStruct_027e0ce0_34_024 OK
* code_020d46b4_024 OK
* UnkStruct_027e0d00 & UnkStruct_027e0d00_20 OK
* code_020d51dc_024 OK
* fix weird formatting
* UnkTrainSystem1 OK
* fix jp broken match
* UnkTrainSystem2 OK
* UnkStruct_027e0d08_024 31%
* fix build issues
* UnkStruct_027e0d08 OK!!!
* remove useless parenthesis
* ActorUnk_ov000_020a8bb0_EC OK
* move ActorUnk_ov000_020a8bb0_EC to MainGame/Actor/
* ActorUnkOBPC OK
* add sjiswrap support
* solve remaining gaps and fix build issues
* reorganise files + counter docs
* tools: remove format command execution from defaults
* refactor: change Q20 in macros to FX32
* fix: renaming macros does not renamed every occurrence
* fix: opaque IDE magic occurred
* refactor: revert order of libs
* refactor: remove unused macros for FX31(Q19) and FX33(Q21)
* merge headers from nitro decomp
* cleanup: use inlines from g2.h and gx.h when changing registers
* cleanup: remove externs declarations in source files
* GameModeAdventure_001 OK
* GameModeAdventure_024 17%
* GameModeAdventure_024 73%
* GameModeAdventure_024 99%
* jp region differences
* rename GameModeAdventure_024 and GameModeAdventure + UnkStruct_ov000_020d8660_024 OK
* UnkActorSystem1OK
* UnkActorSystem2 OK
* delink more of ov024 & UnkStruct_027e0998_024 OK
* improve instance stuff & UnkStruct_027e0cf8_024 OK
* AdventureModeManager_160_024 OK & GameModeStartUp OK
* fix regressions
* fix regressions 2
* AdventureModeManager_170 OK
* AdventureModeManager_174_Base OK
* AdventureModeManager_174 OK
* mark GameModeAdventure_024 as complete
* AdventureModeManager_178 OK
* AdventureModeManager_180 OK
* AdventureModeManager_184_024 OK
* AdventureModeManager_18C_024 OK & AdventureModeManager_190_024 OK
* AdventureModeManager_15C_20_00 61%
* AdventureModeManager_15C_20_00 OK
* jp version differences
* delink what's left in the overlay
* fix regressions
* AdventureModeManager_1B8_Base_024 98%
* AdventureModeManager_1B8 48% and link AdventureModeManager_024
* AdventureModeManager_1B8_Base and AdventureModeManager_1B8 OK
* oops
* mark statics as local
* name item 31 to 34
* name item 25 to 29
* decompile PassengerManager (95%)
* started cargo manager
* local attribute
* passenger/cargo manager ov001 functions
* name item manager functions
* fix build issues & more docs on 027e0cd8
* format
* playrget progress and match treasuremanager remaining functions
* some docs
* fix build issues
* random docs
* match func_ov094_02172290
* random docs
* actor cleanup
* match freestanding item funcs
* mType -> mpProfile
* decompile random functions
* docs and start of wip chest stuff
* random docs
* more random docs
* match func_ov036_0211d0a8
* match func_ov036_0211d2dc & func_ov036_0211d570
* match func_ov110_02184a40
* random doc
* document letter/stamps system
* match func_ov001_020bb9f8
* fix build issues
* decompile tres
* start decomp chest base
* fix regressions
* name TRES
* name UnkStruct_ov024_020d86b0
* name stamp types and update save struct stuff
* name things and document BMG IDs
* cutscene stuff
* fix build issues
* revert accidental change and document random stuff
* document cutscene indices
* make mUnk_0D a bool + disambiguate a reloc
* decomp some itcm functions
* set the right base class size
* actor and map object changes
* rename id getters functions
* document unknown file system used in mapobjectprofile
* start to document MapObjectProfile
* use the new DECL_PROFILE macro to match static initializers
* forgot to keep the mode macro
* same thing with mapobjects
* create profile.hpp
* update delink and symbols for eur
* update delink and symbols for jp
* ninja format
* fix some stuff 1
* fix jp build