* ActorUnkTGTZ OK
* ActorUnkSWCH OK
* ActorUnkFLEN OK
* fix build
* mark flen as complete for eur
* ActorUnkCLLT OK
* ActorUnkMLCK OK
* ActorRollingStone and ActorItemTornado OK
* remove useless thing
* 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: decompiling green spinut
* feat: some progress
* refactor: rename MKUR to GreenSpinut and ActorId_KURI to ActorId_Spinut
* feat: better symbols
* feat: update matching
* fix: change MKUR for eur1 & usa
* feat: up eur1
* feat: up usa
* fix: usa
* feat: up jp data
* feat: improve matching
* feat: improve overall matching
* feat: add comments on KURI's states
* refactor: rename to FleeingSpinut
* feat: relocate function to ModelRenderBase
* refactor: rename last GreenSpinut
* refactor: rename field
* fix: forgot to rename symbol :clown:
* feat: Add .data to RMSX actors
* fix: Fix bad regressions
* feat: Add struct and improve RMSD matching
* feat: Move RMSX base class to the right file
* feat: Delink vtable and update symbols
* feat: Match .data and improve ActorUnkRMSBase
* feat: Update ActorUnkRSMBase ctor and match ActorUnkRMSW
* fix: Fix outdated initialization
* feat: Match RMSV ctor
* feat: Match more vfunc
* feat: Match more vfunc and some cleanup
* chore: Clean headers
* feat: Reorder funcs, add unk structs
* feat: Move RMSBase to a separate file and flag as complete
* feat: Complete some actors
* feat: Add data to RBLS, almost match the actor
* feat: Add eur data for CANS
* feat: Reorder CANS functions, sync data for jp
* feat: Reorder CASE functions
* feat: Update global func call to member func call
* 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>
* UnkStruct_027e09b4_001 OK
* UnkStruct_027e09ac_001 OK
* UnkStruct_027e0cec_001 OK
* SysNew OK
* UnkStruct_027e0cec_18_001 OK
* UnkStruct_027e0ce0_34_001 OK
* UnkStruct_027e0d00_001 OK
* PassengerManager_001 OK
* UnkStruct_027e0cf8_08_00_001 OK
* UnkStruct_ov020_020e8544_001 OK
* code_020bfdd0 OK and code_020bfeec OK
* code_020c099c OK
* feat: begin decompiling mlck actor
* feat: improvements
* feat: save changes as a commit not as a stash eheh
* feat: improvements
* feat: better match for constructor
* style: remove dead code
* refactor: switch to fields to bool and use != 0 for unk32
* feat: Match ActorUnkRBLS vfunc_18, 20, 24 and 2C
* fix: Use FLOAT_TO_FX32 instead of raw hex
* feat: Update symbols
* fix: Fix ModelRender::vfunc_18 symbol and childs declarations
* 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>
* Decompile func_ov063_0215c250 and func_ov063_0215c290
* Decompile ActorUnkRMSF::~ActorUnkRMSF
Unsure what the added ldr/str instructions are
* Update func_ov063_0215c250 and func_ov063_0215c290 with right classes
* chore: Tidy up code using the right functions
* feat: Duplicate code for jp version
* feat: Add placeholder parent class to match dtors
* fix: Update the handling of jp version
* fix: Remove dup code and rename symbols
* fix: Rename vfuncs
* feat: Rename more symbols and add member to match class size
* chore: Remove autogen comments at the top of files
* feat: Fix reloc and unify used functions with RMSD
* fix: Rename vfuncs to the right id
* feat: Unify code structure to fit other RMSX files
fix: Change type of ActorUnkRMSD.mUnk_158 that was too big to unk32 as placeholder
* feat: Apply patch from Yanis
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* fix: Update code to get rid of GetResource and use new function
* Update src/063_Shrine/Actor/ActorUnkRMSD.cpp
Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
* Merge branch 'main' into ActorUnkRMSD
* fix: Format file
* feat: Rename RMSX base class
---------
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%
* feat: match ActorProfileUnkFlen and ctor of ActorUnkFlen
* feat: add function
* feat: decompile function
* feat: decompile function @ 020f8118
* feat: use break in each case
* feat: almost fully decompiled actor
* style: move external variable to top file
* feat: update symbols
* feat: better match
* refactor: rename function and use ActorState over ActorUnkFLENState
* style: cleanup code
* review
---------
Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>