Match and link CActorParamters, fix CRasterFont constructor ref

Former-commit-id: a51897041e
This commit is contained in:
Phillip Stephens 2022-12-23 21:34:11 -08:00
parent e3cd879f16
commit a5bab3c588
18 changed files with 24 additions and 21 deletions

View File

@ -1173,7 +1173,7 @@ SetCalculateLighting__6CActorFb:
/* 80053960 000508C0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80053964 000508C4 41 82 00 4C */ beq lbl_800539B0
/* 80053968 000508C8 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8005396C 000508CC C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8005396C 000508CC C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 80053970 000508D0 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 80053974 000508D4 38 A1 00 08 */ addi r5, r1, 8
/* 80053978 000508D8 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -48,8 +48,8 @@ lbl_805AB120:
# ROM: 0x3F79C0
.4byte 0xFFFFFFFF
.global lbl_805AB124
lbl_805AB124:
.global kDefaultPositionUpdateThreshold__12CActorLights
kDefaultPositionUpdateThreshold__12CActorLights:
# ROM: 0x3F79C4
.float 0.1

View File

@ -85,7 +85,7 @@ MakeActorLights__16CLightParametersCFv:
/* 8010649C 001033FC 20 00 00 03 */ subfic r0, r0, 3
/* 801064A0 00103400 80 FF 00 3C */ lwz r7, 0x3c(r31)
/* 801064A4 00103404 7C A9 00 34 */ cntlzw r9, r5
/* 801064A8 00103408 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 801064A8 00103408 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 801064AC 0010340C 7C 00 00 34 */ cntlzw r0, r0
/* 801064B0 00103410 89 1F 00 1D */ lbz r8, 0x1d(r31)
/* 801064B4 00103414 38 A1 00 18 */ addi r5, r1, 0x18

View File

@ -928,7 +928,7 @@ __ct__13CArtifactDollFv:
/* 8029D534 0029A494 7C 60 1B 79 */ or. r0, r3, r3
/* 8029D538 0029A498 41 82 00 4C */ beq lbl_8029D584
/* 8029D53C 0029A49C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8029D540 0029A4A0 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8029D540 0029A4A0 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 8029D544 0029A4A4 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 8029D548 0029A4A8 38 A1 00 20 */ addi r5, r1, 0x20
/* 8029D54C 0029A4AC 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -427,7 +427,7 @@ __ct__13CGameCubeDollFv:
/* 8029EC4C 0029BBAC 7C 60 1B 79 */ or. r0, r3, r3
/* 8029EC50 0029BBB0 41 82 00 4C */ beq lbl_8029EC9C
/* 8029EC54 0029BBB4 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8029EC58 0029BBB8 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8029EC58 0029BBB8 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 8029EC5C 0029BBBC 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 8029EC60 0029BBC0 38 A1 00 18 */ addi r5, r1, 0x18
/* 8029EC64 0029BBC4 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -4323,7 +4323,7 @@ lbl_800DE350:
/* 800DE3DC 000DB33C 7C 60 1B 79 */ or. r0, r3, r3
/* 800DE3E0 000DB340 41 82 00 4C */ beq lbl_800DE42C
/* 800DE3E4 000DB344 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 800DE3E8 000DB348 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 800DE3E8 000DB348 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 800DE3EC 000DB34C 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 800DE3F0 000DB350 38 A1 00 88 */ addi r5, r1, 0x88
/* 800DE3F4 000DB354 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -1452,7 +1452,7 @@ DrawAllModels__18CWorldTransManagerCFv:
/* 8020A1D4 00207134 94 21 FC 10 */ stwu r1, -0x3f0(r1)
/* 8020A1D8 00207138 7C 08 02 A6 */ mflr r0
/* 8020A1DC 0020713C 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8020A1E0 00207140 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8020A1E0 00207140 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 8020A1E4 00207144 90 01 03 F4 */ stw r0, 0x3f4(r1)
/* 8020A1E8 00207148 38 A1 00 3C */ addi r5, r1, 0x3c
/* 8020A1EC 0020714C 38 E0 00 04 */ li r7, 4

View File

@ -2810,7 +2810,7 @@ SoftwareLight__17CWallCrawlerSwarmCFRC13CStateManagerRC6CAABox:
/* 801E9BC0 001E6B20 38 61 00 48 */ addi r3, r1, 0x48
/* 801E9BC4 001E6B24 90 81 00 3C */ stw r4, 0x3c(r1)
/* 801E9BC8 001E6B28 38 A1 00 3C */ addi r5, r1, 0x3c
/* 801E9BCC 001E6B2C C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 801E9BCC 001E6B2C C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 801E9BD0 001E6B30 38 80 00 08 */ li r4, 8
/* 801E9BD4 001E6B34 90 E1 00 40 */ stw r7, 0x40(r1)
/* 801E9BD8 001E6B38 38 C0 00 04 */ li r6, 4
@ -2945,7 +2945,7 @@ HardwareLight__17CWallCrawlerSwarmCFRC13CStateManagerRC6CAABox:
/* 801E9DC0 001E6D20 94 21 FC F0 */ stwu r1, -0x310(r1)
/* 801E9DC4 001E6D24 7C 08 02 A6 */ mflr r0
/* 801E9DC8 001E6D28 3C C0 80 5A */ lis r6, sZeroVector__9CVector3f@ha
/* 801E9DCC 001E6D2C C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 801E9DCC 001E6D2C C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 801E9DD0 001E6D30 90 01 03 14 */ stw r0, 0x314(r1)
/* 801E9DD4 001E6D34 39 00 00 00 */ li r8, 0
/* 801E9DD8 001E6D38 39 20 00 00 */ li r9, 0

View File

@ -7602,7 +7602,7 @@ __ct__9CSamusHudFRC13CStateManager:
/* 8006ABA0 00067B00 7C 60 1B 79 */ or. r0, r3, r3
/* 8006ABA4 00067B04 41 82 00 4C */ beq lbl_8006ABF0
/* 8006ABA8 00067B08 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8006ABAC 00067B0C C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8006ABAC 00067B0C C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 8006ABB0 00067B10 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 8006ABB4 00067B14 38 A1 00 34 */ addi r5, r1, 0x34
/* 8006ABB8 00067B18 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -14626,7 +14626,7 @@ lbl_800F9EAC:
/* 800F9EC8 000F6E28 7C 60 1B 79 */ or. r0, r3, r3
/* 800F9ECC 000F6E2C 41 82 00 4C */ beq lbl_800F9F18
/* 800F9ED0 000F6E30 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 800F9ED4 000F6E34 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 800F9ED4 000F6E34 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 800F9ED8 000F6E38 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 800F9EDC 000F6E3C 38 A1 00 E0 */ addi r5, r1, 0xe0
/* 800F9EE0 000F6E40 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -10184,7 +10184,7 @@ __ct__10CPlayerGunF9TUniqueId:
/* 800431D4 00040134 3C C0 80 3E */ lis r6, kVerticalAngleTable@ha
/* 800431D8 00040138 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 800431DC 0004013C 39 00 00 00 */ li r8, 0
/* 800431E0 00040140 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 800431E0 00040140 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 800431E4 00040144 39 20 00 00 */ li r9, 0
/* 800431E8 00040148 BF 61 00 8C */ stmw r27, 0x8c(r1)
/* 800431EC 0004014C 7C 9E 23 78 */ mr r30, r4

View File

@ -636,7 +636,7 @@ __ct__20CSamusFaceReflectionFRC13CStateManager:
/* 8015B6E8 00158648 7C 60 1B 79 */ or. r0, r3, r3
/* 8015B6EC 0015864C 41 82 00 4C */ beq lbl_8015B738
/* 8015B6F0 00158650 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
/* 8015B6F4 00158654 C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 8015B6F4 00158654 C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 8015B6F8 00158658 38 E4 66 A0 */ addi r7, r4, sZeroVector__9CVector3f@l
/* 8015B6FC 0015865C 38 A1 00 08 */ addi r5, r1, 8
/* 8015B700 00158660 81 07 00 00 */ lwz r8, 0(r7)

View File

@ -613,7 +613,7 @@ __ct__Q220CIceAttackProjectile12CTrailObjectFP11CElementGen9TUniqueIdRC9CVector3
/* 801F21F0 001EF150 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801F21F4 001EF154 7D 1F 43 78 */ mr r31, r8
/* 801F21F8 001EF158 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801F21FC 001EF15C C0 22 94 04 */ lfs f1, lbl_805AB124@sda21(r2)
/* 801F21FC 001EF15C C0 22 94 04 */ lfs f1, kDefaultPositionUpdateThreshold__12CActorLights@sda21(r2)
/* 801F2200 001EF160 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801F2204 001EF164 7C FE 3B 78 */ mr r30, r7
/* 801F2208 001EF168 38 E0 00 04 */ li r7, 4

View File

@ -6320,7 +6320,7 @@ lbl_80007820:
/* 8000783C 0000479C 41 82 00 14 */ beq lbl_80007850
/* 80007840 000047A0 38 81 00 5C */ addi r4, r1, 0x5c
/* 80007844 000047A4 38 A0 00 00 */ li r5, 0
/* 80007848 000047A8 48 2F 8F DD */ bl __ct__11CRasterFontFR12CInputStreamR12IObjectStore
/* 80007848 000047A8 48 2F 8F DD */ bl __ct__11CRasterFontFR12CInputStreamP12IObjectStore
/* 8000784C 000047AC 7C 7F 1B 78 */ mr r31, r3
lbl_80007850:
/* 80007850 000047B0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha

View File

@ -135,7 +135,7 @@ LIBS = [
["MetroidPrime/CActorLights", False],
["MetroidPrime/Enemies/CPatternedInfo", True],
["MetroidPrime/CSimpleShadow", False],
["MetroidPrime/CActorParameters", False],
["MetroidPrime/CActorParameters", True],
"MetroidPrime/CInGameGuiManager",
"MetroidPrime/Enemies/CWarWasp",
["MetroidPrime/CWorldShadow", False],

View File

@ -18,9 +18,11 @@ class CAABox;
class CActorLights {
public:
CActorLights(uint areaUpdateFramePeriod, CVector3f lightingPositionOffset, int maxDynamicLights,
int maxAreaLights, float positionUpdateThreshold, bool ambientChannelOverflow,
bool useLightSet2, bool disableWorldLights);
static const float kDefaultPositionUpdateThreshold;
CActorLights(const uint areaUpdateFramePeriod, CVector3f lightingPositionOffset, const int maxDynamicLights,
const int maxAreaLights, float positionUpdateThreshold, const bool ambientChannelOverflow,
const bool useLightSet2, const bool disableWorldLights);
~CActorLights();
void BuildConstantAmbientLighting();

View File

@ -114,6 +114,7 @@ public:
bool renderUnsorted, bool noSortThermal, float fadeInTime, float fadeOutTime,
float thermalMag);
CActorParameters(const CActorParameters&);
~CActorParameters() {}
CActorParameters Scannable(const CScannableParameters& sParms) const;
CActorParameters HotInThermal(bool hot) const;

View File

@ -120,7 +120,7 @@ rstl::auto_ptr< CActorLights > CLightParameters::MakeActorLights() const {
if (x1c_makeLights) {
result = new CActorLights(GetFramesBetweenRecalculation(x24_lightRecalculation),
x2c_lightingPositionOffset, x38_maxDynamicLights, x3c_maxAreaLights,
0.1f, x1d_ambientChannelOverflow, x28_useLightSet == 1,
CActorLights::kDefaultPositionUpdateThreshold, x1d_ambientChannelOverflow, x28_useLightSet == 1,
x20_useWorldLighting == kLO_DisableWorld);
if (x20_useWorldLighting == kLO_NoShadowCast) {
result->SetCastShadows(false);