42 Commits

Author SHA1 Message Date
Yanis 90203403dd Decompile overlay 24 (Part 1) (#65)
* 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
2026-05-18 21:14:27 +02:00
Yanis 0f74fd4201 Misc Stuff 5 (#63)
* 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
2026-05-11 17:27:59 +02:00
Yanis 645ed65b76 Misc stuff 4 (#59)
* 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
2026-05-03 18:57:01 +02:00
Yanis 6c8c618b8a Name DRDS, DRCK, DRKY, DRSW and DRTC (#58)
* create name_actor.py

* name previously decompiled door map objects
2026-04-23 20:18:59 +02:00
Yanis c3c34ebe5a Decompile Door Map Objects 1 (DRDS, DRCK, DRKY, DRSW, DRTC) (#56)
* random docs

* "match" ctor

* match ctor and link miniblocks

* DRDS 98%

* jp differences

* improve MapObjectUnkDRDS::vfunc_04

* MapObjectDoorBase 78%

* fix regressions

* MapObjectDoorBase 98%

* MapObjectUnkDRKY 98%

* MapObjectUnkDRSW 100%

* fix build issues

* MapObjectUnkDRTC 100%

* DRCK delinks

* MapObjectUnkDRCK 98%
2026-04-23 18:42:59 +02:00
Yanis 4a07ec0baa Misc Stuff 3 (#39)
* 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
2026-04-17 02:16:40 +02:00
Yanis 66ad81ba15 Port sbc.c progress from PH (#53)
* move nitro headers to libs/nitro/include and setup sbc.c

Co-authored-by: enzofc708 <47937189+enzofc708@users.noreply.github.com>

* sbc.c 95%

* move sbc in the right folder (and fix a warning)

* revert formating changes

---------

Co-authored-by: enzofc708 <47937189+enzofc708@users.noreply.github.com>
2026-04-17 00:56:47 +02:00
Yanis 34ef65d030 Decompile MapObjectProfile (#52)
* delink mapobj profile

* match base mapobjectprofile classes

* match other sections (+ accidental mapobject ctor match)
2026-04-16 20:57:17 +02:00
Yanis 754eb10308 Decompile MapObject functions (#51)
* decompile MapObject

* fix regression

* match the remaining 4 functions
2026-04-16 13:27:46 +02:00
Yanis 24d9e00c80 Decompile overlay 0 map objects (#49)
* add missing scratch link

* ActorUnk_ov000_020a8bb0_a4_00 -> UnkSystem4

* match mapobj switch step

* SWST -> SwitchStep

* dsd format

* fix playerget regression

* fix fake match

* BLCM -> MiniBlocks

* match mapobj miniblocks

* minor improvement

* fix regressions
2026-04-14 21:39:26 +02:00
Yanis 59a312e30a Start MapObject documentation (#47)
* 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
2026-04-13 18:55:04 +02:00
Yanis dcf9268df6 Decompile Actors SWOB, SWTM, EVIC and EFIK (#46)
* decompile SWOB

* match sinit

* remove useless stuff

* decompile actor swtm

* decompile actor evic

* mark evic as complete

* decompile actor efik

* EVIC -> EventIcon
2026-04-12 16:54:21 +02:00
Yanis c537818320 Delink all actors and all map objects (#42)
* fix jp config

* disambiguate required relocs and misc fixes

* fix wrong relocs

* generate delinks

* generate configure.py entries

* dsd format and rename symbols

* fix some ambiguated relocs

* disambiguate some relocs

* "disambiguate" some relocs

* identify & fix vtables 1

* identify & fix vtables 2

* identify & fix vtables 3

* remove fake symbols

* fix warnings

* minor symbols name fixes

* change func prefix

* find and name actor ctors

* detect and give names to dtors based on D0

* add .init delinks for actors

* ActorType -> ActorProfile

* getinstance - getprofile

* add rupee .init

* mapobjecttype -> mapobjectprofile

* mapobjecttype -> mapobjectprofile 2

* rename profile bss symbols

* delink .bss

* dsd format

* delink .ctor and rename (.p)sinit symbols

* dsd format

* create source files

* fix build issues

* add jp only actors

* fix match issues for eur

* fix match issues for jp

* fix some sinit symbol names

* class changes, thumb/arm changes

* add missing newlines

* add arm on dtors

* fix regressions

* fix warnings

* (jp) sync some symbols with eur

* fix build issues
2026-04-11 16:18:06 +02:00
Yanis 9474561b03 Update tools and migrate to dsd v0.11.0 (#40)
* update tools and migrate to dsd v0.11.0

* add phony commands and remove format script
2026-04-04 16:20:36 +02:00
Yanis 72aa60b96f Decompile overlay 112 (PlayerSceneChange) (#38)
* fix scratch upload?

* start overlay 112

* comment format thing

* build fixes 1

* name cs index

* started vfunc_0c and vfunc_10

* added scratch links

* config changes

* fix build issues

* first wave of broken matches

* second wave of broken matches

* fix build issue

* third wave of broken matches

* forth wave of broken matches
2026-04-01 02:20:31 +02:00
Alessevan d099db94dc Remove multi-version check in obfdiff_config.py (#36)
* fix: check if version name is not none

* refactor: not only use name when multiversion
2026-03-31 21:22:21 +02:00
Yanis 804b25cb90 Misc Stuff 2 (#33)
* match UnkStruct_ov000_020b4f84_00_Base

* lots of random stuff

* match other funcs from game.cpp

* data_02049a2c -> gGame, UnkStruct_02049a2c -> Game

* match operator new

* fix regressions

* fix some warnings

* another round of random things

* another round of random things 2

* complete slots column in overlays.md

* add scene indices

* gamemode stuff

* misc stuff

* fix build issues

* document random things

* fix regressions

* final round of random things (for now)
2026-02-18 22:23:42 +01:00
Yanis 0b367ecdfb Decompile ActorManager_001.cpp (#31)
* started ActorManager_001.cpp

* create, ctor, dtor

* prog

* fix build

* fix build issues

* progress

* struct comments

* match ClearInstance
2026-02-04 04:08:40 +01:00
Yanis 3ab5bf6de9 Misc things (#30)
* match random init

* UnkSystem2_UnkSubSystem1_Derived1 related docs

* match func_ov031_020e9108 and FileSelect_UnkClass7::vfunc_00

* improve func_02017ea4

* rename next functions

* actor rupee improvements

* update gitignore

* fix broken match

* fileselectmain improvements

* fix broken match

* more misc progress

* fix build issues

* fix regressions
2026-02-03 19:59:20 +01:00
Yanis 7803163df2 Decompile some of UnkSystem1 (#28) 2026-01-21 20:50:26 +01:00
Yanis 3e57b7c175 Decompile TouchControl (98%) (#24)
* decompile touchcontrol (98%)

* fix broken match
2026-01-19 18:54:06 +01:00
Yanis e9789bf360 Match GameModeManager and nearby/related functions (#22)
* match GameModeManager and surroundings

* add small comment about data_ov000_020b1e48

* minor fixes

* overlay 0 gamemode stuff

* tool hotfix
2026-01-19 02:23:52 +01:00
Yanis b80acf3455 Update tools (#21)
* improve configure.py part 1

* compile settings per-file instead of global

* remove dont_reuse_strings in sources

* multiversion support

* update docs

* report filename change

* fixed objdiff not being able to create context file

* add version define to decompme cflags/m2ctx
2026-01-17 19:21:42 +01:00
Yanis 76c1ec9acf Decompile 018_StartUp overlay (#19)
* Decompile StartUp overlay (99%)

* jp delinks

* regression fix
2026-01-13 15:04:52 +01:00
Yanis002 a1b7313162 create formatter script for delinks.txt files 2025-12-17 19:52:47 +01:00
Yanis c98c03de39 Match MSL_C (#8)
* match wstring.c

* match math_api.c, mbstring.c, mem.c and mem_funcs.c

* more progress

* build issues

* fix non-matching issues

* reorganise files

* match fdlibm (+ libc progress)

* fix jp build

* solved some non-matchings and progress

* removed types.h usage in libc

* match data and add missing delinks for jp
2025-12-17 14:08:53 +01:00
Yanis 550f01708e Overlay 110 - PlayerGet (#2)
* delink overlay 110

* mangled functions names in symbols

* improve how versions are defined in the compiler's command

* add version-exclusive function + fix data_ov110_021861ec size

* match .rodata

* dsd sig apply

* progress

* vfunc_18 & func_ov110_02185d3c + format

* symbols renames

* remove force_data pragma

* started func_ov110_02184a40

* improve vfunc_18 match thanks to nepecam

* fixed relocs issues

* match func_ov110_02186b8c

* continue the awful function (and rename the folder)

* format

* build issues

* almost match func_ov110_02184a40!!!

* start vfunc_10 + misc

* vfunc_10 progress (91%)

* symbol fix

* vfunc_10 big switch fix

* turn some structs into a class

* update symbols

* vfunc_10 prog, move func_ov110_02185da4 to itemmanaager and some docs/cleanup

* progress on playerget and itemmanager

* fix build issues

* remove accidental header from merge and name mUnk_60

* add hex value comment in item id enum

* random stuff

* started vfunc_0c

* move externs around

* match/docs stuff related to item usage in PlayerGet

* format

* vfunc_10 version diff

* improve func_ov110_02186b8c handling and fix broken matches

* vfunc_0c small improvements

* progress on item manager

* complete item manager and add upgrade capacities

* some cleanup

* header cleanup

* match data (kind of)

* symbol naming

* name more symbols 1

* name more symbols 2

* name more symbols 3

* more jp syncing

* mystery actor stuff

* rename the file and fix build errors
2025-08-06 12:12:32 +02:00
Yanis e80f625b50 Decompile 031_Land/Actor/ActorRupee.cpp (#3)
* delink ActorRupee and match few functions

* add missing functions, mangle names and match func_ov031_020e9d54

* random stuff (literally)

* decomp more of ActorRupee

* rng stuff (thanks to aetias)

* decomp more of ActorRupee (36%)

* sync symbols

* format

* random: fixed wrong function call in configure.py

* decomp more of ActorRupee (51%)

* add actor ids and move them to their own header + small docs on actor class

* format

* improvements and small progress

* progress

* progress

* sync eur with jp

* fix build issues

* missed a file
2025-08-04 13:33:17 +02:00
Yanis002 133bb98ec8 started Actor.cpp 2025-07-22 17:42:48 +02:00
Yanis002 8a2f7fd9ad update compiler 2025-07-20 14:27:59 +02:00
Aetias 76720c938b Bump dsd to 0.10.2 2025-07-19 14:21:55 +02:00
Aetias 31bf9c2d51 Download wibo before running mwld 2025-07-17 18:03:06 +02:00
Aetias 4e474ac1f2 Update setup procedure 2025-07-17 17:16:19 +02:00
Yanis002 990abad7d0 update configure script 2025-07-17 13:17:02 +02:00
Yanis002 47ca6fcd13 sync configure.py with ph 2025-06-19 23:51:42 +02:00
Yanis002 a3c32f5259 new stuff from ph 2025-03-20 14:16:11 +01:00
Yanis002 030b3e17f1 add format rule and fix CI 2025-02-14 15:24:31 +01:00
Yanis002 71c828b9b6 delink __register_global_object, fix eur checksum and update docs (and bump compiler version) 2025-02-14 01:25:49 +01:00
Yanis002 57c5958ef7 checksum stuff 2025-02-13 23:22:21 +01:00
Yanis002 4f7cefd225 make it build (and get wibo update from ph) 2025-02-13 23:19:43 +01:00
Yanis002 27d0fa2662 update dsd and start eur and jp 2025-01-18 00:09:33 +01:00
Yanis42 1fc8c3a9bb initial commit 2024-09-16 14:00:37 +02:00