Commit Graph

44 Commits

Author SHA1 Message Date
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 a12d3af472 Actor_c4 improvements (#45)
* fixed Actor_c4 hierarchy and create default derived classes for all actors

* forgot public + fixed actorrupee ctor
2026-04-12 04:54:05 +02:00
Yanis 1b31487fee Improve or match actor static initializers (#44)
* 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
2026-04-12 04:36:32 +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 1af545c929 Name lots of nitro symbols (#29)
* name sdk symbols from nitro decomp

* fix function names in code

* sync names

* fix jp build

* rename function externs
2026-04-01 03:27:00 +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
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
SammygoodTunes 47785bb953 Document Adventure Flags (#27) 2026-01-20 16:21:10 +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 ed672be03f Decompile Title overlay (#20)
* Decompile Title overlay

* math structs as cpp when applicable

* fixes and improvements

* regressions fix 1

* regressions fix 2
2026-01-15 19:04:43 +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
Yanis 1713ffc43b Decompile MainSelect overlay (#8)
* Decompile MainSelect overlay (~90%)

* cleanup

* jp delinks

* fixed build and linking errors
2026-01-11 01:31:08 +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
Aetias c925fce03c Actor::mType field (#7)
* `Actor::mType` field

* Fix struct sizes

* Update symbols
2025-08-24 18:41:23 +02:00
Aetias 758f36f10c ActorType documentation, delink ActorManager_001 (#6)
* ActorUnk_ov000_0209767c -> ActorType

* ActorRupee instance

* ActorManager

* Delink ActorManager_001

* Fix build

* Document actor types

* Actor flags

* Fix build

* ActorSCCN
2025-08-24 16:59:13 +02:00
Yanis002 9a9311a100 progress on ActorUnk_ov000_020a8bb0 2025-08-06 20:51:14 +02: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 8d16ba5dc9 itemmanager progress 2025-08-03 00:20:10 +02:00
Yanis002 63931943a1 remaining Xs in the item ids 2025-08-02 20:12:10 +02:00
Yanis002 5274970d0f add the missing item flags (undocumented) 2025-08-02 20:10:20 +02:00
Yanis002 7bc5aaf130 use ItemFlag type in func_ov000_020a865c 2025-08-02 19:24:56 +02:00
Yanis002 f316b2ecd7 format 2025-08-02 19:22:40 +02:00
Yanis002 9f1695dc6a merge and improve nepe's work
Co-authored-by: NEPETAISCUTE <58563578+NEPETAISCUTE@users.noreply.github.com>
2025-08-02 19:20:18 +02:00
Yanis002 ac11ed00e5 document the item manager and UnkStruct_027e0ce0 2025-07-23 14:39:15 +02:00
Yanis002 7fa74389e5 fix build issues for real 2025-07-22 22:55:27 +02:00
Yanis002 182a7d879f improve Actor class 2025-07-22 22:46:10 +02:00
Yanis002 e31b9b7455 remove unused struct 2025-07-22 17:45:37 +02:00
Yanis002 133bb98ec8 started Actor.cpp 2025-07-22 17:42:48 +02:00
Yanis002 79c5284c20 sync .clang-format with ph 2025-07-21 01:15:37 +02:00
Yanis002 bdc0f156bb OverlayManager offsets 2025-07-20 17:10:18 +02:00
Yanis002 f90439260b update overlaymanager 2025-07-20 14:29:48 +02:00
Yanis002 e6833212f4 fix small mistake 2025-07-20 02:00:55 +02:00
Yanis002 125bcf4c69 OverlayManager::Unload improvements 2025-07-17 23:10:08 +02:00
Yanis002 8e2010ed4c OverlayIndex -> OverlaySlot and document overlay indices 2025-07-17 22:54:59 +02:00
Yanis002 dd0189cd38 overlay id pointer trick 2025-07-17 18:07:18 +02:00
Yanis002 0aea232d38 name overlays based on strings 2025-07-17 18:00:05 +02:00
Yanis002 e20137b303 progress 2025-03-20 13:49:10 +01:00
Yanis002 61111ddcea find and start new/delete operators 2025-02-14 21:52:21 +01:00
Yanis002 b14019290f document some symbols and add global/types headers 2025-02-14 03:34:31 +01:00