192 Commits

Author SHA1 Message Date
Alessevan fd3a2340e3 Decompiling SWHT (#138)
* feat: update

* feat: improve matching (98%)

* feat: match multiflags

* style: remove outdated comments
2026-08-21 17:54:39 +02:00
Mityno 2d4deebb84 Delink and match sections of overlay 063 actors (#137)
* 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
2026-08-21 16:20:59 +02:00
Mityno 347ac5860d Decompiling MapObjectUnkSTAT (#134)
* feat: Match MapObjectUnkSTAT ctor and decompile its profile, rename vfuncs

* feat: Decompile vfuncs (match 3/4)

* feat: Start decompiling func_ov063_0215f7ac

* fix: Update symbols and fix wrong behavior

* feat: Improve func_ov063_0215f7ac

* feat: Investigate func_ov063_0215f7ac conditions

* feat: Decompile funcs, rename symbols, update .bss

* feat: Improvements to functions

* feat: Add .data for jp
2026-08-15 18:11:44 +02:00
Yanis 0d066f6447 Add support for USA revision 0 and Europe revision 1 versions (#136)
* add usa

* add eur revision 1

* tools/sha1: refactor to allow checking against multiple checksums

* docs: edit both readme files

* misc: add the new versions to configure.py and add new macros in versions.h

* make eur1 OK

* add `ninja [version]` phony for convenience

for instance, `ninja eur` runs `check_eur sha1_eur report_eur`

* add usa and eur1 to CI and bump version used for steps

this should get rid of the node js warnings in the action logs
2026-08-15 17:21:39 +02:00
Aetias 521100caed Update dsd to v0.12.0; dsprot OK (#135)
* `Actor::mType` field

* Remove fake symbol `data_027e0254`

* `dsd format`

* eur: Enable dsprot decomp

* jp: Enable dsprot decomp

* dsprot OK

* `dsd format`

* Use new `weak` attribute

* Add relocations for exception table link-time constants

* Add exception table symbols

* Bump dsd to v0.12.0

* `#define FALSE 1` ???
Why did I make it 1?

* Truncate `data_ov001_020c27a8`
That data belongs to dsprot
2026-08-15 01:07:14 +02:00
Alessevan ce24ddfc4e Improvements in SWBM (#133)
* feat: improvements in SWBM

* feat: improvements

* feat: increase matching for jp version

* feat: add vfuncs from fields' classes

* feat: improve matching

* feat: rename parameters to reflect staticness of the function

* refactor: change mangled name

* feat: remove unused variable from bss

* style: explicite parenthesis

* feat: better matching

* feat: replace if/else by a switch statement
2026-08-14 16:37:50 +02:00
Alessevan 93fd0610a0 CLLT and progress in TLKT (#132)
* feat: wip soontm

* feat: enhance TLTK

* feat: complete TLKT

* fix: refactor went wild

* fix: update MLCK

* fix: hmmm

* fix: continue reverse wrong refactor

* style: remove comment

* feat: delink destructors of ActorUnkTLKTnCLLT_Base
2026-08-14 15:49:43 +02:00
Mityno 39288e4605 Start decompiling ActorUnkCASE (#124)
* feat: Start decompiling ActorUnkCASE's ctor

* fix: Fix broken member names

* feat: Finish decompiling ActorUnkCASE's ctor (orr mismatch)

* feat: Match ActorUnkCASE_174::vfunc_10

* fix: Update flags arithmetic

* feat: Match ActorUnkCASE_150 ctor

* feat: Match ActorProfileUnkCASE ctor

* feat: Update symbols and vfunc of ActorUnkCASE

* feat: Match ActorUnkCASE::vfunc_24

* feat: Decompile ActorUnkCASE::vfunc_10, update Actor::vfunc_10 to use Cylinder

* fix: Fix broken Actor symbols

* feat: Match ActorUnkCASE::vfunc_18

* feat: Match ActorUnkCASE::vfunc_2C

* feat: Start decompiling ActorUnkCASE::vfunc_20

* feat: Match ActorUnkCASE's ctor

* feat: Almost finish decompiling ActorUnkCASE::vfunc_20

* feat: Decompile func_ov063_0215b054 and func_ov063_0215afa4

* feat: Match func_ov063_0215af60

* feat: Decompile func_ov063_0215afb8

* feat: Match func_ov063_0215b090

* feat: Match func_ov063_0215b2b0

* feat: Match func_ov063_0215b244

* feat: Match func_ov063_0215b1bc

* feat: Match ActorUnkCASE_150::vfunc_00

* feat: Match ActorUnkCASE_150::vfunc_04

* feat: Match ActorUnkCASE_150::vfunc_0C

* feat: Match func_ov063_0215b814

* feat: Decompile func_ov063_0215b854

* feat: Match func_ov063_0215aefc

* feat: Match func_ov063_0215acec

* feat: Update jp symbols

* feat: Some symbols and improved matching

* feat: Match func_ov063_0215b99c

* feat: Start decompiling func_ov063_0215b8e8

* feat: Decompile some funcs

* feat: Rename symbols, improve matching, add some data

* fix: Fix wrong code for JP only

* fix: Fix broken symbols

* feat: Update symbols and extend .data, match sinit

The .data ordering is wrong

* feat: Small changes

* Apply suggestions from code review

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* fix: More code review

* feat: Add small comment for the goto

* feat: Update func_ov063_0215b8e8 and vfunc_0C to use VexFx32

* fix: Missing c/hpp changes for previous commit

* feat: Update func_ov063_0215afb8 to use ActorUnkITWP

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-08-14 15:14:49 +02:00
Alessevan c505bcac20 Cleanup some actors of ov031 (#131)
* feat: mark NORE as completed in delink

* feat: cleanup some functions

* refactor: remove explicit dtors of MLCK

* fix: match back vfunc_6C
2026-08-12 22:41:36 +02:00
Alessevan ca74e3b965 NITF fully decompiled (#130)
* feat: fully decompile nitf + complete pot

* refactor: rename NITF to ItemFlower

* refactor: cleanup
2026-08-12 22:40:36 +02:00
Alessevan 42407bafe4 Decompiling part of ROCK (#129)
* feat: decompiling part of ROCK

* style: add non-matching comments above non-matching functions

* typo: use PascalCase Max for State

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-08-12 22:38:27 +02:00
Alessevan b2a553262f Fully decompile EFSB actor (#128)
* feat: update

* feat: update

* feat: decompiling actor efsb

* refactor!: refrefactor to do in the future

* style: better looking function
2026-08-11 14:09:53 +02:00
Mityno a05f3d38d0 Port docs from PH (#90)
* fix: Cleanup structure in INSTALL.md

* fix: Clean undefined link

* feat: Copypaste decompiling.md and start porting over

* feat: Keep porting decompiling.md and adding some details

* feat: Add images and fix links

* Apply suggestions from code review

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
Done manually because I screwed-up on github

* feat: Update decomp.me export instructions, adapt review about thumb region

* feat: Add instructions to reserve non-actor files

* feat: Add small details for LSP and reminder for installation

* feat: Add instructions for coding style (format and naming)

* fix: Expand on UnkSystem naming

* feat: Add details for objdiff errors

* feat: Add information about symbols and tips.md

* feat: Add information about UnkAngleStruct

* fix: Update the CI build command in tips.md with the actual one

* feat: Add some information about naming guidelines

* feat: Add information about vtable symbols

* feat: Small improvements

* feat: Update doc's links layout a bit

* feat: Some updates to install.md

* feat: Apply reviews

* `func_ovxxx_xxxxxxx` -> `func_ovxxx_02xxxxxx`

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-08-08 15:57:12 +02:00
Alessevan 9ada2de150 Rename ActorUnkSZKU to ActorTearLight (#126) 2026-08-08 03:42:48 +02:00
Alessevan 7232214eca Start decompilation of actor SZKU (#125) 2026-08-07 16:09:14 +02:00
Mityno 7c266293a7 Decompiling ActorUnkCANS (#103)
* 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>
2026-08-02 15:27:10 +02:00
Alessevan 418954b3cd Begin decompiling of ZLSL / ZSRS (#107)
* feat: add vtables

* fix: compilation issues

* fix: actorderived1 data

* fix: link

* feat: more delink

* feat: add MORE functions

* feat: decompile functions

* feat: advance

* feat: improve decompiling

* style: improve style

* feat: update

* feat: update

* feat: update

* feat: add some matching bytes pausing switching to another actor temporarly

* feat: add .data for jp version

* refactor: reorder fonctions

* feat: update symbols

* feat: fix eur build

* feat: update Actor_Derived1 symbols

* refactor: cleanup

* refactor: move UnkAngleStruct

* feat: update jp symbols (Yanis)
2026-08-02 14:49:14 +02:00
Alessevan f90c7cd531 Decompiling some actors and objects of overlay 031 (#123)
* feat: decompiling skdo

* feat: update

* fix: match back .data of doors

* feat: fully decompiled SWCH for eur missing bss for JP

* feat: increase matching code

* feat: decompile most part of SCCN

* feat: update

* feat: progress sccn jap data

* feat: progress decompiling

* fix: build issues

* feat: increase matching

* refactor: rename BLST to Blast

* feat: increase grss

* refactor: rename unkgrss to grass

* refactor: rename id

* refactor: change to fx32

* feat: complete RMTG actor

* refactor: use ARRAY_LENGTH macro
2026-08-02 14:09:49 +02:00
Alessevan f1c7b3cc72 Decompiling NTTZ actor and part of TGTZ (#121)
* feat: decompiling NTTZ

* feat: progress TGTZ

* feat: progress

* style: cleanup

* feat: name parameter in header

* refactor: cleanup unused class

* feat: increase sinit

* feat: remove extern
2026-07-24 02:36:43 +02:00
Alessevan 67e283c317 Decompile ActorUnkATTG (99%) (#122)
* feat: update

* fix: regressions
2026-07-23 20:21:20 +02:00
Yanis bc04021bc0 Add support for clangd in the python tools (#120)
* initial clangd support through python

* update install instructions

* invert configure.py behavior

* fix oopsie

* fix few issues from clangd

* fix related build issues
2026-07-21 19:37:21 +02:00
Yanis 04d20febb1 Decompile overlay 101 (#118)
* 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
2026-07-20 01:30:08 +02:00
Alessevan 68a8721665 Decompiling Actor NFSP (#117)
* feat: decompiling UnkNFSP

* feat: matching jp .data and enhance .text

* feat: match last function thx2yanis

* fix: reorder functions and localize symbols

* style: cleanup

* style: move default case
2026-07-20 01:27:39 +02:00
Yanis f65363301d Improve progression differences between versions (#113)
* address complete differences

* add missing local attributes

* symbol renames 1

* symbol renames 2

* symbol renames 3
2026-07-18 00:09:18 +02:00
Alessevan 0fe5959c6d Decompiling part of ActorUnkITTD (#111)
* feat: update

* feat: update

* feat: cleanup

* feat: rc

* refactor: rename UnkITTD to ItemTornado
2026-07-17 18:49:02 +02:00
Yanis 2bc13d2ec2 Misc stuff 7 (#112)
* document zcb a tiny bit and add some item manager setters

* add more item manager setters

* add more and more item manager setters

* ...

* gcc fix

* gcc fix 2
2026-07-17 17:54:07 +02:00
Yanis 54b4c97c38 Decompile overlay 1 (Part 9) (#109) 2026-07-15 21:53:02 +02:00
Yanis 96874ba24e Decompile overlay 1 (Part 8) (#108)
* 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
2026-07-15 20:19:35 +02:00
Alessevan 260f9b13c5 Decompiling rolling stones actor (#104)
* feat: rename UnkRLST to RollingStone

* feat: prepare for decompiling

* feat: match .data

* refactor: remove explicit deconstructor from parameters class

* feat: improvements

* feat: matching

* feat: fix build issues

* feat: continue matching

* style: weird style

* feat: improvements

* feat: remove explicit destructors

* feat: improvements

* feat: improvements

* feat: improvements

* feat: progress

* feat: some progress

* refactor: cleanup

* refactor: more cleanup

* refactor: apply rc

* refactor: includes black magic

* refactor: MORE MAGIC
2026-07-13 21:13:21 +02:00
Yanis 8d759ee331 Decompile overlay 1 (Part 7) (#106)
* 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
2026-07-13 18:41:32 +02:00
Yanis 4daa8d8e86 Decompile overlay 1 (Part 6) (#105)
* UnkStruct_027e0ce0_30_001 OK

* UnkStruct_027e0ce0_40_Base_001 OK

* item manager files stuff

* ItemManager_001 OK

* other file things

* forgot to delete a file

* UnkStruct_027e0ce0_001 53%

* UnkStruct_027e0ce0_001 OK
2026-07-06 17:15:04 +02:00
Alessevan 5bfa30d5a1 Decompiling pot actor (#102)
* refactor: rename actor

* feat: delink

* feat: prepare decompiling

* feat: improvements

* feat: few more changes

* feat: match constructor of mapobjectpot

* feat: match 100%

* style: remove blank lines

* refactor: remove implicit destructors
2026-07-06 00:39:57 +02:00
Yanis bf559e183d Decompile overlay 1 (Part 5) (#100)
* start PlayerActorBase_70_001

* PlayerActorBase_70_001 OK

* PlayerActor -> PlayerLinkActor

* Player_001 35%

* fix regressions

* organise files better

* PlayerLinkActor_001 40%

* PlayerLinkActor_001 OK

* tiny self-review
2026-07-05 13:44:41 +02:00
Alessevan 9987fee73a Decompiling MapObject UnkTSUB (aka Pot) (#101)
* feat: begin decompilation of UnkTsub

* refactor: rename mapobject

* feat: delink

* feat: introduce virtual functions

* fix: rename map object in jp delink

* feat: match 91% of the mapobject

* feat: increate .data match

* refactor: rename ModelRender2 with its vtable address

* style: remove empty lines

* refactor: change magic value
2026-07-05 13:35:40 +02:00
Alessevan 33299ac188 Decompiling MLCK actor (#99)
* 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
2026-07-05 13:32:06 +02:00
Mityno 13be84845a Start decompiling ActorUnkRBLS (#98)
* 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
2026-07-05 02:39:31 +02:00
Yanis f0dfb70749 Decompile overlay 1 (Part 4) (#97)
* 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
2026-07-02 20:56:08 +02:00
Alessevan 66eb66f081 Decompiling actor for boomerang (#93)
* 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>
2026-07-02 20:51:46 +02:00
Mityno 58235d4f98 Start decompiling Actors RMSX (#96)
* feat: Decompile ActorUnkRMSS

* feat: Rename symbols for ActorUnkRMSD and finish ActorUnkRMSS

* feat: Start decompiling ActorUnkRMSV (port changes from ActorUnkRMSX)

* feat: Start decompiling ActorUnkRMSW (port changes from ActorUnkRMSX)

* feat: Start to decompile RMSW::vfunc_18

* feat: Match ActorUnkRMSW::vfunc_18

* feat: Match ActorUnkRMSD::vfunc_18

* feat: Match ActorUnkRMSV::vfunc_18 and vfunc_20

* fix: Style reviews
2026-07-02 19:39:05 +02:00
Yanis 4074a603d2 Decompile overlay 1 (Part 3) (#95)
* ZeldaArrangeBinary OK

* ZeldaMapBinary 26%

* UnkStruct_SceneChange1 -> EntranceInfo

* cleanup EntranceInfo ctors

* fix regressions

* ZeldaMapBinary 47%

* fix regressions

* ZeldaMapBinary 73%

* ZeldaMapBinary 89%

* ZeldaMapBinary 99%
2026-07-01 04:09:04 +02:00
Mityno 6ea40b4493 Decompiling ActorUnkRSMF (#73)
* 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
2026-06-29 20:30:10 +02:00
Mityno 26683f83c2 ActorUnkRMSD: Unify code structure between RMSX files (#94)
* 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>
2026-06-29 14:12:28 +02:00
Yanis b116e79e9f Decompile overlay 1 (Part 2) (#91)
* 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%
2026-06-28 15:29:34 +02:00
Yanis af4e4dcf5d Run ninja format (#92) 2026-06-22 02:02:49 +02:00
Alessevan 0de38e6933 Decompile ActorUnkFLEN (98%) (#81)
* 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>
2026-06-22 01:57:58 +02:00
Alessevan f66583c194 Decompile ActorUnkAROW (83%) (#70)
* refactor: unknown arow actor to arrow

* refactor: rename ActorUnkArow_c4 and remove warning

* refactor: rename class in system files

* feat: match actorprofilearrow

* feat: progress decompilation

* feat: rename actor to ActorShotArrow

* feat: change mangled name

* feat: decompile some functions and mark unmatched functions as non-matching

* feat: progress

* feat: decompiling function 020f206c

* feat: change two fields for struct padding

* feat: remove non-matching comment on matched function

* feat: decompiling function 020f20bc

* refactor: fix .bss mangled names

* feat: decompiling 020f2134

* feat: decompiling func_ov031_020f2160

* feat: matching function func_ov031_020f21dc

* feat: use correct mangled names in jp version

* fix: change back arm9/delinks in eur version

* feat: non-matching function 020f1a64

* feat: decompile 020f2270

* feat: decompile function 020f2280

* feat: uncompile func_ov031_020f229c

* feat: match 020f22d4 add UnkSystem{4,5} as fields

* feat: reverse 020f2b8c

* feat: 020f2bbc

* feat: 020f2bec

* feat: 020f3304

* style: explicitly indicate floating values when using FLOAT_TO_Q20

* style: move external function to the top

* feat: begin of 020f3258

* feat: decompile 020f32c4

* feat: propagate mangled names changes to japan version

* feat: begin decompilation of func_ov031_020f370c

* feat: begin weird decompilation of func_ov031_020f3d4c

* feat: decompile function 020f3d04

* feat: better matching

* feat: matching function func_ov031_020f2214

* feat: decompile the function 020f3258

* feat: increase matched code

* feat: decompile function func_ov031_020f2794

* feat: decompile function func_ov031_020f18bc

* feat: decompile almost all func_ov031_020f195c

* feat: decompile 3/4 of func_ov031_020f173c

* refactor: change back function's return type to void

* feat: begin decompilation of func_ov031_020f1b04

* feat: advance decompilation of 020f1c7c

* feat: decompile 020f1e3c

* feat: decompile function func_ov031_020f1f54

* refactor: move func(Actor *) into ActorShotArrow class

* feat: introduce ActorShotArrow_194 thanks to Yanis002

* fix: use FX32 in macros over old Q20

* fix: praying magic behaviour

* revert: revert before build failure

* revert: remove all relocs.txt magic stuff

* revert: introduce back correct symbols

* revert: introduce back CORRECTLY correct symbols

* feat: rename vtable

* fix: wrong hex in comment

* feat: huge improvements

* fix: undefined 02081d7c

* fix: awful symbol name

* fix: part of mangled name in jp version

* fix: rest of the line disappeared

* fix: try to fix jp version

* fix: apply eur fix to jp

* feat: add function 020f374c

* fix: full match of 020f173c

* feat: move function in upperclass

* feat: change ActorRupee to use class function

* feat: try decompiling func_ov031_020f2ef0

* feat: improvements

* feat: improvements

* docs: add comment

* fix: build issues

* feat: improvements

* feat: improvements

* feat: forget inclusion of unkstruct

* feat: enhanced

* feat: some improvements

* style: better style

* feat: decompile function and cleanup

* refactor: remove .cache ??

* review

---------

Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
2026-06-22 01:20:15 +02:00
Yanis 6062d1f43c Decompile overlay 1 (Part 1) (#89)
* start overlay 1

* match courselist and delink a lot of files (+ remove SysObject)

* fix build issues

* fix regressions
2026-06-20 03:24:19 +02:00
Yanis d1e3be4c0b Remove ARM and THUMB macros (#87)
* remove ARM and THUMB macros

* fix regressions
2026-06-18 18:41:28 +02:00
Tom BUTIN b88aed88eb Advance decompilation of ActorUnkRMSD.cpp (#85)
* decomp: advanced on ActorUnkRMSD.cpp

* review + fix jp symbols

---------

Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
2026-06-18 03:05:42 +02:00
Tom BUTIN 5e50a81e5e Decompile func_ov061_02158b88 and func_ov061_02158ba8 (#84) 2026-06-18 02:35:32 +02:00