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 07:30:32 -07:00
committed by GitHub
parent abd44397c6
commit e7477b5048
143 changed files with 804 additions and 1326 deletions
+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"),