* 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>
* 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>