Commit Graph

18 Commits

Author SHA1 Message Date
Yanis 89dedbb3d1 Match ActorBomb (#158)
* actor prog from overlay 0

* fix build issues

* ActorBomb OK for eur

* ActorBomb OK for eur1, usa and jp

* fix regressions
2026-10-08 03:35:12 +02:00
Yanis 2c723299b7 Merge every extern "C" to a common header (#157)
* create CommonFuncs.hpp

* merge every `extern "C"` to a common header

* fix regressions

* I'm dumb
2026-10-07 15:51:47 +02:00
Yanis 5ca3eeb61e Sync nitro headers with nitro decomp (#156)
* sync headers with nitro decomp

* fix most build issues

* fix symbols

* fix regressions
2026-10-07 04:12:55 +02:00
Yanis 07a5bd9fcc Create Timer struct, improve angle usage and name known virtual functions (#154)
* name some actor vfuncs

* name some map object vfuncs

* remove angle union

* fix lots of clangd errors

* create Timer struct

* fix regressions
2026-10-02 20:54:43 +02:00
Yanis 205dc5a1ca Decompile overlay 17 (CourseExec Part 1) (#152)
* 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
2026-10-02 13:18:22 +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
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
Yanis d1e3be4c0b Remove ARM and THUMB macros (#87)
* remove ARM and THUMB macros

* fix regressions
2026-06-18 18:41:28 +02:00
Yanis 5e934a8c9b Decompile overlay 24 (Part 3) (#68)
* name func_01ffd3d8 and func_01ffd400

* name func_01ffd3b0

* match func_ov024_020cf9d4 + improve the Random struct

* UnkStruct_027e0cf8_00_0C_024 45%

* match PassengerManager::GetRandomIndex

* UnkStruct_027e0cf8_00_0C_024 OK

* UnkStruct_027e0cf8_00_0C_024: do other sections

* UnkStruct_027e0cf8_08_024 55%

* cleanup: remplace delete into null by the delete macro

* UnkStruct_027e0cf8_08_024 OK

* fix build issues

* UnkStruct_ov024_020d86a0_024 OK

* PlayerActor_A0_38_024 .text OK, CreditsEndingType OK

* tools: create courselist.py to convert .CLB data to yaml

* UnkDataStruct4_14 OK

* UnkDataStruct4 17%

* UnkDataStruct4 OK

* MiscAdvManager OK

* PassengerManager OK

* fix build issues

* ZeldaTrainBinary OK

* mark PassengerManager as complete and adjust delinks

* UnkStruct_027e0cf8_08_00_024 OK

* document more of UnkStruct_027e0ce0

* savefile hotfixes

* UnkStruct_027e0ce0_34_024 OK

* code_020d46b4_024 OK

* UnkStruct_027e0d00 & UnkStruct_027e0d00_20 OK

* code_020d51dc_024 OK

* fix weird formatting

* UnkTrainSystem1 OK

* fix jp broken match

* UnkTrainSystem2 OK

* UnkStruct_027e0d08_024 31%

* fix build issues

* UnkStruct_027e0d08 OK!!!

* remove useless parenthesis

* ActorUnk_ov000_020a8bb0_EC OK

* move ActorUnk_ov000_020a8bb0_EC to MainGame/Actor/

* ActorUnkOBPC OK

* add sjiswrap support

* solve remaining gaps and fix build issues

* reorganise files + counter docs

* tools: remove format command execution from defaults
2026-06-09 23:01:32 +02:00
Yanis 14cae7cbb1 Identify model-related structures (#75) 2026-06-04 21:57:16 +02:00
Alessevan e5fe52aa54 Change Q20 in macros to FX32 (#71)
* refactor: change Q20 in macros to FX32

* fix: renaming macros does not renamed every occurrence

* fix: opaque IDE magic occurred

* refactor: revert order of libs

* refactor: remove unused macros for FX31(Q19) and FX33(Q21)
2026-06-01 03:29:10 +02:00
Yanis 69ef244371 Merge headers from nitro decomp (#69)
* merge headers from nitro decomp

* cleanup: use inlines from g2.h and gx.h when changing registers

* cleanup: remove externs declarations in source files
2026-05-25 02:55:16 +02:00
Yanis 530fcd8c07 Decompile overlay 24 (Part 2) (#66)
* remove scratch links

* UnkAdventureModeSystem1 OK

* UnkStruct_ov024_020d8694_024 OK

* UnkTitleCardSystem1_024 99%

* UnkTitleCardSystem1_024 OK

* fix regressions

* title card vfunc_08 oddity

* tools: make build.ninja deterministic and delink when objdiff rebuild-on-change

* clean up link node mess

* UnkStruct_020d8698_024 24%

* UnkStruct_020d8698_024 49%

* UnkStruct_020d8698_024 65%

* fix build issues

* UnkStruct_020d8698_024 92%

* UnkStruct_020d8698_024 OK

* delink data_ov024_020d8694 symbol

* tools: revert previous objdiff change and reduce ds-rom logs on objdiff
2026-05-24 17:20:48 +02:00
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 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 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