mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2024-10-07 02:24:01 +00:00
Use PSP InitializeEntity Impl (#1394)
Update `InitializeEntity` to use the PSP decompilation and remove duplicate implmeentations across stages.
This commit is contained in:
parent
d3c209eab9
commit
2220f6c5bd
@ -7,8 +7,9 @@ void InitializeEntity(u16 arg0[]) {
|
||||
g_CurrentEntity->unk5A = *arg0++;
|
||||
g_CurrentEntity->palette = *arg0++;
|
||||
|
||||
enemyId = *arg0++;
|
||||
g_CurrentEntity->enemyId = enemyId;
|
||||
// n.b.! the post increment of arg0 is optimized out
|
||||
// on the PS1 version, but not on the PSP version.
|
||||
enemyId = g_CurrentEntity->enemyId = *arg0++;
|
||||
enemyDef = &g_api.enemyDefs[enemyId];
|
||||
g_CurrentEntity->hitPoints = enemyDef->hitPoints;
|
||||
g_CurrentEntity->attack = enemyDef->attack;
|
||||
@ -19,9 +20,9 @@ void InitializeEntity(u16 arg0[]) {
|
||||
g_CurrentEntity->flags = enemyDef->flags;
|
||||
g_CurrentEntity->hitboxOffX = 0;
|
||||
g_CurrentEntity->hitboxOffY = 0;
|
||||
g_CurrentEntity->step_s = 0;
|
||||
g_CurrentEntity->step++;
|
||||
if (g_CurrentEntity->zPriority == 0) {
|
||||
g_CurrentEntity->step_s = 0;
|
||||
if (!g_CurrentEntity->zPriority) {
|
||||
g_CurrentEntity->zPriority =
|
||||
g_unkGraphicsStruct.g_zEntityCenter.unk - 0xC;
|
||||
}
|
||||
|
@ -303,35 +303,7 @@ void EntityExplosionSpawn(u16 arg0, u16 arg1) {
|
||||
g_CurrentEntity->step_s = 0;
|
||||
}
|
||||
|
||||
void InitializeEntity(u16 arg0[]) {
|
||||
u16 enemyId;
|
||||
EnemyDef* enemyDef;
|
||||
|
||||
g_CurrentEntity->animSet = *arg0++;
|
||||
g_CurrentEntity->animCurFrame = *arg0++;
|
||||
g_CurrentEntity->unk5A = *arg0++;
|
||||
g_CurrentEntity->palette = *arg0++;
|
||||
|
||||
enemyId = *arg0++;
|
||||
g_CurrentEntity->enemyId = enemyId;
|
||||
enemyDef = &g_api.enemyDefs[enemyId];
|
||||
g_CurrentEntity->hitPoints = enemyDef->hitPoints;
|
||||
g_CurrentEntity->attack = enemyDef->attack;
|
||||
g_CurrentEntity->attackElement = enemyDef->attackElement;
|
||||
g_CurrentEntity->hitboxState = enemyDef->hitboxState;
|
||||
g_CurrentEntity->hitboxWidth = enemyDef->hitboxWidth;
|
||||
g_CurrentEntity->hitboxHeight = enemyDef->hitboxHeight;
|
||||
g_CurrentEntity->flags = enemyDef->flags;
|
||||
g_CurrentEntity->hitboxOffX = 0;
|
||||
g_CurrentEntity->hitboxOffY = 0;
|
||||
g_CurrentEntity->step_s = 0;
|
||||
g_CurrentEntity->step++;
|
||||
if (g_CurrentEntity->zPriority == 0) {
|
||||
g_CurrentEntity->zPriority =
|
||||
g_unkGraphicsStruct.g_zEntityCenter.unk - 0xC;
|
||||
}
|
||||
}
|
||||
|
||||
#include "../init_entity.h"
|
||||
void EntityDummy(Entity* arg0) {
|
||||
if (arg0->step == 0) {
|
||||
arg0->step++;
|
||||
|
@ -292,34 +292,7 @@ void EntityExplosionSpawn(u16 arg0, u16 sfxId) {
|
||||
g_CurrentEntity->step_s = 0;
|
||||
}
|
||||
|
||||
void InitializeEntity(u16 arg0[]) {
|
||||
u16 enemyId;
|
||||
EnemyDef* enemyDef;
|
||||
|
||||
g_CurrentEntity->animSet = *arg0++;
|
||||
g_CurrentEntity->animCurFrame = *arg0++;
|
||||
g_CurrentEntity->unk5A = *arg0++;
|
||||
g_CurrentEntity->palette = *arg0++;
|
||||
|
||||
enemyId = *arg0++;
|
||||
g_CurrentEntity->enemyId = enemyId;
|
||||
enemyDef = &g_api.enemyDefs[enemyId];
|
||||
g_CurrentEntity->hitPoints = enemyDef->hitPoints;
|
||||
g_CurrentEntity->attack = enemyDef->attack;
|
||||
g_CurrentEntity->attackElement = enemyDef->attackElement;
|
||||
g_CurrentEntity->hitboxState = enemyDef->hitboxState;
|
||||
g_CurrentEntity->hitboxWidth = enemyDef->hitboxWidth;
|
||||
g_CurrentEntity->hitboxHeight = enemyDef->hitboxHeight;
|
||||
g_CurrentEntity->flags = enemyDef->flags;
|
||||
g_CurrentEntity->hitboxOffX = 0;
|
||||
g_CurrentEntity->hitboxOffY = 0;
|
||||
g_CurrentEntity->step_s = 0;
|
||||
g_CurrentEntity->step++;
|
||||
if (g_CurrentEntity->zPriority == 0) {
|
||||
g_CurrentEntity->zPriority =
|
||||
g_unkGraphicsStruct.g_zEntityCenter.unk - 0xC;
|
||||
}
|
||||
}
|
||||
#include "../init_entity.h"
|
||||
|
||||
void EntityDummy(Entity* arg0) {
|
||||
if (arg0->step == 0) {
|
||||
|
@ -233,7 +233,7 @@ void EntityExplosionSpawn(u16 arg0, u16 sfxId) {
|
||||
g_CurrentEntity->step_s = 0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM("st/rwrp/nonmatchings/D580", InitializeEntity);
|
||||
#include "../init_entity.h"
|
||||
|
||||
void EntityDummy(Entity* entity) {
|
||||
if (entity->step == 0) {
|
||||
|
@ -348,33 +348,7 @@ void EntityExplosionSpawn(u16 arg0, u16 arg1) {
|
||||
}
|
||||
#endif
|
||||
|
||||
void InitializeEntity(u16 arg0[]) {
|
||||
u16 enemyId;
|
||||
EnemyDef* enemyDef;
|
||||
|
||||
g_CurrentEntity->animSet = *arg0++;
|
||||
g_CurrentEntity->animCurFrame = *arg0++;
|
||||
g_CurrentEntity->unk5A = *arg0++;
|
||||
g_CurrentEntity->palette = *arg0++;
|
||||
|
||||
enemyId = g_CurrentEntity->enemyId = *arg0++;
|
||||
enemyDef = &g_api.enemyDefs[enemyId];
|
||||
g_CurrentEntity->hitPoints = enemyDef->hitPoints;
|
||||
g_CurrentEntity->attack = enemyDef->attack;
|
||||
g_CurrentEntity->attackElement = enemyDef->attackElement;
|
||||
g_CurrentEntity->hitboxState = enemyDef->hitboxState;
|
||||
g_CurrentEntity->hitboxWidth = enemyDef->hitboxWidth;
|
||||
g_CurrentEntity->hitboxHeight = enemyDef->hitboxHeight;
|
||||
g_CurrentEntity->flags = enemyDef->flags;
|
||||
g_CurrentEntity->hitboxOffX = 0;
|
||||
g_CurrentEntity->hitboxOffY = 0;
|
||||
g_CurrentEntity->step++;
|
||||
g_CurrentEntity->step_s = 0;
|
||||
if (!g_CurrentEntity->zPriority) {
|
||||
g_CurrentEntity->zPriority =
|
||||
g_unkGraphicsStruct.g_zEntityCenter.unk - 0xC;
|
||||
}
|
||||
}
|
||||
#include "../init_entity.h"
|
||||
|
||||
void EntityDummy(Entity* arg0) {
|
||||
if (!arg0->step) {
|
||||
|
Loading…
Reference in New Issue
Block a user