Lv4railwall / lv4sand / lv4slidewall done. fix wii build (#2637)

* lv4railwall / lv4sand / lv4slidewall done and wii build fix

* fix Mtx** parameters

* add some notes about wii compiler version

* Remove dol2asm include

---------

Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
This commit is contained in:
TakaRikka
2025-09-09 17:30:32 +03:00
committed by GitHub
co-authored by hatal175
parent abd44397c6
commit e7477b5048
143 changed files with 804 additions and 1326 deletions
+10 -10
View File
@@ -4641,13 +4641,13 @@ modules:
splits: config/RZDE01_00/rels/d_a_warp_bug/splits.txt
# map: orig/RZDE01_00/fixed_maps/d_a_warp_bug.map
# extract:
# - symbol: black_tex
# binary: assets/black_tex.bin
# header: assets/black_tex.h
# - symbol: msg_data
# binary: assets/msg_data.bin
# header: assets/msg_data.h
# - symbol: font_data
# binary: assets/font_data.bin
# header: assets/font_data.h
extract:
- symbol: black_tex
binary: assets/black_tex.bin
header: assets/black_tex.h
- symbol: msg_data
binary: assets/msg_data.bin
header: assets/msg_data.h
- symbol: font_data
binary: assets/font_data.bin
header: assets/font_data.h
+1
View File
@@ -18600,6 +18600,7 @@ m_hitSeID__12dCcD_GObjInf = .rodata:0x803D0E30; // type:object size:0x60 scope:g
@112851 = .rodata:0x803D1164; // type:object size:0x10 scope:local align:4 data:4byte
lbl_803D1178 = .rodata:0x803D1178; // type:object size:0x28
...rodata.0 = .rodata:0x803D11A0; // type:label scope:local align:4
black_tex = .rodata:0x803D11A0; // type:object size:0x40 scope:global align:32
msg_data = .rodata:0x803D11E0; // type:object size:0x3C0 scope:global align:4
font_data = .rodata:0x803D15A0; // type:object size:0x12260 scope:global align:4
...rodata.0 = .rodata:0x803E3800; // type:label scope:local align:4
+12 -4
View File
@@ -380,7 +380,15 @@ def MWVersion(cfg_version: str | None) -> str:
case "GZ2J01":
return "GC/2.7"
case "RZDE01_00":
return "GC/3.0a5.2t"
# TODO: Find right compiler for Wii
# GC/3.0a3 codegen seems better than Wii compilers, but it fails linking (linker version?) and can't handle multi-char constants
# Potentially missing an early Wii compiler that had the earlier codegen and reverted char constant change?
# Or some specific compiler used in the early days of transitioning GC to Wii development
# Additionally, "-ipa file" seems to needed, so it can't be earlier than GC 3.0
# GC/3.0a5.2 breaks when compiling TUs like m_Do_graphic, but none of the other 3.0+ ones do
# Wii/1.0RC1 is the earliest Wii one we have at this time but it doesn't have the right codegen from GC/3.0+
# (GC 3.0a3 - Dec 2005 | GC 3.0a5.2 - Aug 2006 | Wii 1.0RC - May 2008)
return "Wii/1.0RC1"
case "ShieldD":
return "Wii/1.0"
case _:
@@ -2042,8 +2050,8 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4Gate"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4HsTarget"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4PoGate"),
ActorRel(NonMatching, "d_a_obj_lv4RailWall"),
ActorRel(NonMatching, "d_a_obj_lv4SlideWall"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4RailWall"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4SlideWall"),
ActorRel(NonMatching, "d_a_obj_lv4bridge"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4chandelier"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4digsand"),
@@ -2051,7 +2059,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4gear"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv4prelvtr"),
ActorRel(NonMatching, "d_a_obj_lv4prwall"),
ActorRel(NonMatching, "d_a_obj_lv4sand"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv4sand"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5FloorBoard"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5IceWall"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_lv5SwIce"),
+2
View File
@@ -186,6 +186,8 @@ public:
bool isAppearG() { return mIsAppearG; }
bool isDead() { return mDead; }
bool isArg0() { return arg0; }
void onDemo() { mIsDemo = true; }
void offDemo() { mIsDemo = false; }
private:
/* 0x05AC */ request_of_phase_process_class mPhase;
+1 -1
View File
@@ -83,7 +83,7 @@ public:
/* 8045A940 */ virtual int CreateHeap();
/* 8045A2B8 */ virtual int Create();
/* 8045BFBC */ virtual int Execute(f32 (**)[3][4]);
/* 8045BFBC */ virtual int Execute(Mtx**);
/* 8045C078 */ virtual int Draw();
/* 8045C2E8 */ virtual int Delete();
+1 -1
View File
@@ -28,7 +28,7 @@ public:
/* 804DF1A4 */ void initStartBrkBtk();
/* 804DD978 */ virtual int CreateHeap();
/* 804DF37C */ virtual int Execute(f32 (**)[3][4]);
/* 804DF37C */ virtual int Execute(Mtx**);
/* 804DF6E4 */ virtual int Draw();
cXyz& getBallPos() { return m_ballPos; }
+1 -1
View File
@@ -45,7 +45,7 @@ public:
/* 80467B04 */ int executeClose();
/* 8046751C */ virtual int CreateHeap();
/* 80467640 */ virtual int Execute(f32 (**)[3][4]);
/* 80467640 */ virtual int Execute(Mtx**);
/* 8046759C */ virtual int Draw();
inline int create();
+1 -1
View File
@@ -1349,7 +1349,7 @@ public:
/* 80155B54 */ ~daNpcF_MoveBgActor_c() {}
/* 80155E88 */ virtual bool CreateHeap() { return true; }
/* 80155E90 */ virtual bool Create() { return true; }
/* 80155EA0 */ virtual bool Execute(f32 (**)[3][4]) { return true; }
/* 80155EA0 */ virtual bool Execute(Mtx**) { return true; }
/* 80155EA8 */ virtual bool Draw() { return true; }
/* 80155E98 */ virtual bool Delete() { return true; }
/* 80155EB0 */ virtual bool IsDelete() { return true; }
+1 -1
View File
@@ -48,7 +48,7 @@ public:
/* 80BAE778 */ int Create();
/* 80BAEADC */ int CreateHeap();
/* 80BAEFD8 */ void create1st();
/* 80BAF09C */ int Execute(f32 (**)[3][4]);
/* 80BAF09C */ int Execute(Mtx**);
/* 80BAF29C */ void main_proc_call();
/* 80BAF328 */ void initActionEnBemos();
/* 80BAF37C */ void initActionObjBemos();
+1 -1
View File
@@ -24,7 +24,7 @@ public:
/* 80578330 */ void CreateHeap();
/* 8057842C */ void create();
/* 80578788 */ void Create();
/* 805787CC */ void Execute(f32 (**)[3][4]);
/* 805787CC */ void Execute(Mtx**);
/* 805788EC */ void Draw();
/* 805789E8 */ void Delete();
+1 -1
View File
@@ -21,7 +21,7 @@ public:
/* 80BB55B8 */ void setBaseMtx();
/* 80BB5934 */ virtual int CreateHeap();
/* 80BB59AC */ virtual int Create();
/* 80BB5A14 */ virtual int Execute(f32 (**)[3][4]);
/* 80BB5A14 */ virtual int Execute(Mtx**);
/* 80BB5E10 */ virtual int Draw();
/* 80BB5EB4 */ virtual int Delete();
+1 -1
View File
@@ -19,7 +19,7 @@ public:
/* 80BB9B84 */ int Create();
/* 80BB9C50 */ int CreateHeap();
/* 80BB9CC0 */ int create();
/* 80BB9DB4 */ int Execute(f32 (**)[3][4]);
/* 80BB9DB4 */ int Execute(Mtx**);
/* 80BB9F34 */ int checkSw();
/* 80BB9FBC */ int checkAnySw();
/* 80BBA044 */ int checkMySw();
+1 -1
View File
@@ -33,7 +33,7 @@ public:
/* 80BC5ABC */ int Create();
/* 80BC5CF8 */ int CreateHeap();
/* 80BC5E98 */ int create();
/* 80BC6260 */ int Execute(f32 (**)[3][4]);
/* 80BC6260 */ int Execute(Mtx**);
/* 80BC6270 */ void initWait();
/* 80BC627C */ void modeWait();
/* 80BC6414 */ void initWalk();
+1 -1
View File
@@ -29,7 +29,7 @@ public:
/* 80BC8008 */ int CreateHeap();
/* 80BC8160 */ int Delete();
/* 80BC8194 */ int Draw();
/* 80BC8238 */ int Execute(f32 (**)[3][4]);
/* 80BC8238 */ int Execute(Mtx**);
/* 80BC82C0 */ void exeModeWait();
/* 80BC834C */ void exeModeStartSwg();
/* 80BC83E4 */ void exeModeDown();
+1 -1
View File
@@ -18,7 +18,7 @@ public:
/* 80BCC86C */ int Create();
/* 80BCC8C4 */ int CreateHeap();
/* 80BCC93C */ int create();
/* 80BCCA1C */ int Execute(f32 (**)[3][4]);
/* 80BCCA1C */ int Execute(Mtx**);
/* 80BCCA48 */ int Draw();
/* 80BCCAEC */ int Delete();
+1 -1
View File
@@ -44,7 +44,7 @@ public:
/* 80BD2758 */ void SetDoor();
/* 80BD28C0 */ int create();
/* 80BD2E88 */ int Create();
/* 80BD2ECC */ int Execute(f32 (**)[3][4]);
/* 80BD2ECC */ int Execute(Mtx**);
/* 80BD2FB8 */ int Draw();
/* 80BD3074 */ int Delete();
+1 -1
View File
@@ -22,7 +22,7 @@ public:
/* 80BD46EC */ void CreateHeap();
/* 80BD4764 */ void create();
/* 80BD4A84 */ void Create();
/* 80BD4AC8 */ void Execute(f32 (**)[3][4]);
/* 80BD4AC8 */ void Execute(Mtx**);
/* 80BD4C44 */ void Draw();
/* 80BD4CC8 */ void Delete();
+1 -1
View File
@@ -20,7 +20,7 @@ public:
/* 80BD5378 */ void CreateHeap();
/* 80BD53F0 */ void create();
/* 80BD56EC */ void Create();
/* 80BD5730 */ void Execute(f32 (**)[3][4]);
/* 80BD5730 */ void Execute(Mtx**);
/* 80BD593C */ void Draw();
/* 80BD59C0 */ void Delete();
+1 -1
View File
@@ -21,7 +21,7 @@ public:
/* 80BE4F08 */ int Create();
/* 80BE4FD4 */ int CreateHeap();
/* 80BE50EC */ int create1st();
/* 80BE519C */ int Execute(f32 (**)[3][4]);
/* 80BE519C */ int Execute(Mtx**);
/* 80BE538C */ void action();
/* 80BE583C */ void setCollision();
/* 80BE5960 */ int Draw();
+1 -1
View File
@@ -19,7 +19,7 @@ public:
/* 80BF5878 */ int Create();
/* 80BF5950 */ int CreateHeap();
/* 80BF5AB4 */ int create1st();
/* 80BF5B74 */ int Execute(f32 (**)[3][4]);
/* 80BF5B74 */ int Execute(Mtx**);
/* 80BF5C0C */ int Draw();
/* 80BF6004 */ int Delete();

Some files were not shown because too many files have changed in this diff Show More