Commit Graph

11 Commits

Author SHA1 Message Date
Alessevan 905ceeb4b3 Started decompiling ActorHeart (#41)
* feat: change symbols for ActorHeart

* feat: begin ActorHeart decompilation

* feat: continue decompilation (some changes should be refactored)

* improvements

* fix build issues

* feat: improve matching code

* fix: remove back nitro/math

* feat: load s8 as u8

* refactor: remove shady variadic function

* feat: better function, reg order issue

* refactor: switch EC, F0 and F4 to a single VecFx32 variable and improve vfunc_20

* feat: improvements in vfunc_v20

* docs: add what should be written in comments

* feat: match with temporary unknown actor structure

* style: remove unnecessary curly brackets in switch cases

* style: move external functions to the top

* docs: mark unmatched functions as non-matching

* refactor: use FLOAT_TO_Q20 instead of raw hex values

* style: remove unnecessary cast

* refactor: use macros to manipulate flags

* refactor: better floating values

* refactor: use hex values over bin values

* feat: use ROUND_Q20 to increase matching

* refactor: use Cylinder::Init instead of assigning each variable

* refactor: change mangled names

---------

Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
2026-05-29 19:02:57 +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 ec62ef3392 Make hex digits consistent (#55) 2026-04-17 01:16:33 +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 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 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 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
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 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