Set signatures for GameApi

This commit is contained in:
Luciano Ciccariello 2023-01-22 14:37:34 +00:00
parent ab00c34a40
commit 9eac347212
13 changed files with 118 additions and 131 deletions

View File

@ -168,9 +168,9 @@ MAD_PATCHES = \
-e "s/D_8003C6B0/g_api.FreePolygons/g" -e "s/0x8003C6B0/0x8003C7B4/g" \
-e "s/D_8003C6B8/g_api.CheckCollision/g" -e "s/0x8003C6B8/0x8003C7BC/g" \
-e "s/D_8003C6D8/g_api.PlaySfx/g" -e "s/0x8003C6D8/0x8003c7dc/g" \
-e "s/D_8003C704/D_8003C808/g" -e "s/0x8003C704/0x8003C808/g" \
-e "s/D_8003C704/D_800A8900/g" -e "s/0x8003C704/0x8003C808/g" \
-e "s/D_8003C724/D_8003C828/g" -e "s/0x8003C724/0x8003C828/g" \
-e "s/D_8003C744/D_8003C848/g" -e "s/0x8003C744/0x8003C848/g" \
-e "s/D_8003C744/func_800FE044/g" -e "s/0x8003C744/0x8003C848/g" \
-e "s/g_pfnLoadObjLayout/D_8003C8C4/g" -e "s/0x8003c780/0x8003C8C4/g" \
-e "s/D_8006C26C/g_CurrentEntity/g" -e "s/0x8006C26C/0x8006C3B8/g" \
-e "s/D_80072B34/g_CurrentRoomTileLayout/g" -e "s/0x80072B34/0x80073084/g" \

View File

@ -568,11 +568,6 @@ D_8003C79C = 0x8003C79C;
D_8003C7A0 = 0x8003C7A0;
D_8003C7A4 = 0x8003C7A4;
D_8003C7B0 = 0x8003C7B0;
g_api.FreePolygons = 0x8003C7B4;
g_api.AllocPolygons = 0x8003C7B8;
g_api.CheckCollision = 0x8003C7BC;
g_api.PlaySfx = 0x8003C7DC;
D_8003C7E0 = 0x8003C7E0;
D_8003C8B8 = 0x8003C8B8;
D_8003C8C4 = 0x8003C8C4;
D_8003C90C = 0x8003C90C;
@ -1908,10 +1903,14 @@ DrawSettingsSound = 0x800F7168;
DrawPauseMenu = 0x800F74B4;
DrawSpellMenu = 0x800F7B60;
DrawSystemMenu = 0x800F8374;
func_800FD7C0 = 0x800FD7C0;
AddHearts = 0x800FE914;
DrawHudRichter = 0x80100750;
SetPolyRect = 0x80107330;
CopyMapOverlayCallback = 0x801074BC;
UpdateEntityAlucard = 0x8010A5BC;
AccelerateX = 0x8010E390;
GetFreeDraEntity = 0x8011879C;
func_801315F8 = 0x801315F8;
PlaySfx = 0x801347F8;
nullsub_10 = 0x801362A4;

View File

@ -459,68 +459,67 @@ typedef struct {
/* 8003C7B8 */ s16 (*AllocPolygons)(s32 primitives, s32 count);
/* 8003C7BC */ void (*CheckCollision)(s32 x, s32 y, CollisionResult* res,
s32 unk);
/* 8003C7C0 */ void* unk4C; // func_80102CD8
/* 8003C7C4 */ void* unk50; // func_8010DDA0
/* 8003C7C8 */ void* unk54; // func_8010E390
/* 8003C7CC */ void* unk58; // func_8011879C
/* 8003C7D0 */ void* unk5C; // func_800FE728
/* 8003C7D4 */ void (*D_8003C7D4)(s32); // func_800EA5E4
/* 8003C7D8 */ void* unk64; // func_800EAF28
/* 8003C7C0 */ void* func_80102CD8;
/* 8003C7C4 */ void* func_8010DDA0;
/* 8003C7C8 */ void (*AccelerateX)(s32 value);
/* 8003C7CC */ Entity* (*GetFreeDraEntity)(s16 start, s16 end);
/* 8003C7D0 */ void* func_800FE728;
/* 8003C7D4 */ void (*func_800EA5E4)(s32);
/* 8003C7D8 */ void* func_800EAF28;
/* 8003C7DC */ void (*PlaySfx)(s32 sfxId);
/* 8003C7E0 */ void* unk6C; // func_800EDB58
/* 8003C7E4 */ void* unk70; // func_800EA538
/* 8003C7E0 */ void* func_800EDB58;
/* 8003C7E4 */ void (*func_800EA538)(s32 arg0);
/* 8003C7E8 */ void (*g_pfn_800EA5AC)(u16 arg0, u8 arg1, u8 arg2, u8 arg3);
/* 8003C7EC */ void* unk78; // func_801027C4
/* 8003C7F0 */ void* unk7C; // func_800EB758
/* 8003C7F4 */ void* unk80; // func_8011AAFC
/* 8003C7F8 */ void* unk84; // func_80131F68
/* 8003C7FC */ void* unk88; // func_800EDB08
/* 8003C800 */ void* unk8C; // func_80106A28
/* 8003C804 */ void* unk90; // func_80118894
/* 8003C808 */ Unkstruct5* D_8003C808; // D_800A8900
/* 8003C80C */ void* unk98; // func_80118970
/* 8003C810 */ void* unk9C; // func_80118B18
/* 8003C814 */ void* unkA0; // func_8010DB38
/* 8003C818 */ void* unkA4; // func_8010DBFC
/* 8003C81C */ void* unkA8; // func_80118C28
/* 8003C820 */ void* unkAC; // func_8010E168
/* 8003C824 */ void* unkB0; // func_8010DFF0
/* 8003C828 */ void* unkB4; // func_800FF128
/* 8003C82C */ void (*g_pfn_800EB534)(u16 arg0, u16 arg1, s32 arg2);
/* 8003C830 */ void* unkBC; // D_800A4B04
/* 8003C834 */ void* unkC0; // D_800A7718
/* 8003C838 */ void* unkC4; // func_800FE914
/* 8003C83C */ void* unkC8; // func_8010715C
/* 8003C840 */ void* unkCC; // func_800FD4C0
/* 8003C844 */ void* unkD0; // func_8010E0A8
/* 8003C848 */ void (*D_8003C848)(s32, s32); // func_800FE044
/* 8003C84C */ void (*g_pfn_800FD874)(u16 context, s32 arg1);
/* 8003C850 */ void* unkDC; // D_800A8720
/* 8003C854 */ void* unkE0; // func_800FF7B8
/* 8003C858 */ void* unkE4; // func_80134714
/* 8003C85C */ void* unkE8; // func_80134678
/* 8003C860 */ void* unkEC; // func_800F53A4
/* 8003C864 */ void* unkF0; // func_800FD7C0
/* 8003C868 */ void* unkF4; // func_8010BF64
/* 8003C86C */ void* unkF8; // func_800F1FC4
/* 8003C870 */ void* unkFC; // func_800F2288
/* 8003C874 */ void* unk100; // func_8011A3AC
/* 8003C878 */ void* unk104; // func_800FF460
/* 8003C87C */ void* unk108; // func_800FF494
/* 8003C880 */ void* unk10C; // func_80133940
/* 8003C884 */ void* unk110; // func_80133950
/* 8003C888 */ void* unk114; // func_800F27F4
/* 8003C88C */ void* unk118; // func_800FF110
/* 8003C890 */ void* unk11C; // func_800FD664
/* 8003C894 */ void* unk120; // func_800FD5BC
/* 8003C898 */ void* unk124; // func_800FDCE0
/* 8003C89C */ void* unk128; // func_800E2438
/* 8003C8A0 */ void* unk12C;
/* 8003C8A4 */ void* unk130;
/* 8003C8A8 */ void* unk134;
/* 8003C8AC */ void* unk138;
/* 8003C8B4 */ void* unk13C;
/* 8003C8B4 END*/
/* 8003C7EC */ void* func_801027C4;
/* 8003C7F0 */ void* func_800EB758;
/* 8003C7F4 */ void* func_8011AAFC;
/* 8003C7F8 */ bool (*func_80131F68)(void);
/* 8003C7FC */ DR_ENV* (*func_800EDB08)(POLY_GT4* poly);
/* 8003C800 */ void* func_80106A28;
/* 8003C804 */ void* func_80118894;
/* 8003C808 */ Unkstruct5* D_800A8900;
/* 8003C80C */ void* func_80118970;
/* 8003C810 */ void* func_80118B18;
/* 8003C814 */ void* func_8010DB38;
/* 8003C818 */ void* func_8010DBFC;
/* 8003C81C */ void* func_80118C28;
/* 8003C820 */ void (*func_8010E168)(s32 arg0, s16 arg1);
/* 8003C824 */ void (*func_8010DFF0)(s32 arg0, s32 arg1);
/* 8003C828 */ void* func_800FF128;
/* 8003C82C */ void (*func_800EB534)(u16 arg0, u16 arg1, s32 arg2);
/* 8003C830 */ s32 D_800A4B04;
/* 8003C834 */ s32 D_800A7718;
/* 8003C838 */ void (*AddHearts)(s32 value);
/* 8003C83C */ void* func_8010715C;
/* 8003C840 */ void* func_800FD4C0;
/* 8003C844 */ void* func_8010E0A8;
/* 8003C848 */ void (*func_800FE044)(s32, s32);
/* 8003C84C */ void (*func_800FD874)(u16 context, s32 arg1);
/* 8003C850 */ void* D_800A8720;
/* 8003C854 */ void* func_800FF7B8;
/* 8003C858 */ void* func_80134714;
/* 8003C85C */ s32 (*func_80134678)(s16 arg0, u16 arg1);
/* 8003C860 */ void (*func_800F53A4)(void);
/* 8003C864 */ u32 (*CheckEquipmentItemCount)(u32 itemId, u32 equipType);
/* 8003C868 */ void (*func_8010BF64)(Unkstruct_8010BF64* arg0);
/* 8003C86C */ void (*func_800F1FC4)(s32 arg0);
/* 8003C870 */ void* func_800F2288;
/* 8003C874 */ void* func_8011A3AC;
/* 8003C878 */ s32 (*func_800FF460)(s32 arg0);
/* 8003C87C */ void* func_800FF494;
/* 8003C880 */ bool (*func_80133940)(void);
/* 8003C884 */ bool (*func_80133950)(void);
/* 8003C888 */ bool (*func_800F27F4)(s32 arg0);
/* 8003C88C */ s32 (*func_800FF110)(s32 arg0);
/* 8003C890 */ s32 (*func_800FD664)(s32 arg0);
/* 8003C894 */ s32 (*func_800FD5BC)(Unkstruct_800FD5BC* arg0);
/* 8003C898 */ void* func_800FDCE0;
/* 8003C89C */ void (*func_800E2438)(const char* str);
/* 8003C8A0 */ void* unused12C;
/* 8003C8A4 */ void* unused130;
/* 8003C8A8 */ void* unused134;
/* 8003C8AC */ void* unused138;
/* 8003C8B4 */ void* unused13C;
} GameApi; /* size=0x140 */
// main
@ -1217,7 +1216,7 @@ s32 func_800FD6C4(s32);
u8* func_800FD744(s32 arg0);
u8* func_800FD760(s32 arg0);
s32 func_800FD77C(s32 arg0, s32 arg1);
u32 func_800FD7C0(u32 itemNum, u32 compareType);
u32 CheckEquipmentItemCount(u32 itemId, u32 equipType);
void func_800FD874(u16 arg0, s32 arg1);
s16 func_800FDB18(s32, s32);
void func_800FDCE0(s32);
@ -1275,8 +1274,8 @@ void func_80132760(void);
void func_80132A04(s16 voice, s16 vabId, s16 prog, s16 tone, u16 note,
s32 volume, s16 distance);
void func_801337B4(void);
s32 func_80133940(void);
s32 func_80133950(void);
bool func_80133940(void);
bool func_80133950(void);
void func_80133FCC(void);
void func_8013415C(void);
void func_801361F8(void);

View File

@ -38,7 +38,7 @@ void func_801026BC(s32);
void func_80106670(s32 blendMode);
void func_80108448(void);
s32 func_8010E27C(void);
void func_8010E390(s32);
void AccelerateX(s32);
void func_801324B4(s8 s_num, s16 arg1, s16 arg2);
void func_801325D8(void);
void func_801353A0(void);
@ -1966,8 +1966,8 @@ INCLUDE_ASM("asm/dra/nonmatchings/42398", func_800F298C);
INCLUDE_ASM("asm/dra/nonmatchings/42398", func_800F483C);
bool IsAlucart(void) {
if (func_800FD7C0(0xA8, 0) && func_800FD7C0(0xA7, 0) &&
func_800FD7C0(0x59, 2))
if (CheckEquipmentItemCount(0xA8, 0) && CheckEquipmentItemCount(0xA7, 0) &&
CheckEquipmentItemCount(0x59, 2))
return true;
return false;
}
@ -3009,14 +3009,7 @@ s32 func_800FD5BC(Unkstruct_800FD5BC* arg0) {
}
}
s32 func_800FD664(s32 context) {
s32 phi_a0 = context;
if (g_mapProgramId & 0x20) {
phi_a0 <<= 1;
}
return phi_a0;
}
s32 func_800FD664(s32 arg0) { return g_mapProgramId & 0x20 ? arg0 << 1 : arg0; }
extern Unkstruct_800A4B12 D_800A4B12[];

View File

@ -3,20 +3,20 @@
#include "objects.h"
#include "sfx.h"
u32 func_800FD7C0(u32 itemNum, u32 compareType) {
if (compareType < 5) {
switch (compareType) {
u32 CheckEquipmentItemCount(u32 itemId, u32 equipType) {
if (equipType < 5) {
switch (equipType) {
case 0:
return (player_equip_head[0] == itemNum) +
(player_equip_body == itemNum);
return (player_equip_head[0] == itemId) +
(player_equip_body == itemId);
case 1:
return player_equip_cloak == itemNum;
return player_equip_cloak == itemId;
case 2:
return player_equip_ring1 == itemNum;
return player_equip_ring1 == itemId;
case 3:
return player_equip_ring2 == itemNum;
return player_equip_ring2 == itemId;
case 4:
return (D_80097C14 == itemNum) + (D_80097C18 == itemNum);
return (D_80097C14 == itemId) + (D_80097C18 == itemId);
}
}
// seems to require missing return

View File

@ -86,7 +86,7 @@ bool func_800FDD44(s32 equipHeadIndex) {
equippedItem = player_equip_head[equipHeadIndex];
temp_s1 = D_800A4B1D[player_equip_head[equipHeadIndex]].unk0;
if (!func_800FD7C0(0x54, 4)) {
if (!CheckEquipmentItemCount(0x54, 4)) {
if (temp_s1 != 0) {
temp_v0 = D_8009798A[equippedItem];
if (temp_v0 == 0) {
@ -142,13 +142,13 @@ void func_800FE8F0(void) {
}
}
void func_800FE914(s32 arg0) {
void AddHearts(s32 value) {
if (g_playerHeart->current < g_playerHeart->max) {
g_playerHeart->current = arg0 + g_playerHeart->current;
g_playerHeart->current += value;
if (g_playerHeart->max < g_playerHeart->current) {
g_playerHeart->current = g_playerHeart->max;
}
func_8011AAFC(g_EntityArray, 0x63, 0);
func_8011AAFC(g_EntityArray, 99, 0);
PlaySfx(NA_SE_PL_COLLECT_HEART);
}
}
@ -1143,7 +1143,7 @@ INCLUDE_ASM("asm/dra/nonmatchings/5D874", func_8010E334);
/*
* Updates the Entity acceleration in the X Axis
*/
void func_8010E390(s32 accelerationX) {
void AccelerateX(s32 accelerationX) {
if (g_CurrentEntity->facing == 1) {
accelerationX = -accelerationX;
}
@ -1245,7 +1245,7 @@ void func_8010E83C(s32 arg0) {
return;
} else if (func_8010E27C() != 0) {
func_8010DA48(0x1A);
func_8010E390(0x18000);
AccelerateX(0x18000);
D_80072F64 = 0;
} else {
func_8010DA48(0x16);
@ -1415,7 +1415,7 @@ void func_8010FD24(void) {
void func_8010FD88(void) {
PLAYER.step = 0;
PLAYER.unk2E = 3;
func_8010E390(0xFFFC8000);
AccelerateX(0xFFFC8000);
g_CurrentEntity->accelerationY = 0;
func_8010DA48(0xDB);
func_8011AAFC(g_CurrentEntity, 0, 0);
@ -1490,7 +1490,7 @@ bool func_80111D24(void) {
hitboxRightMargin = collisionResult.unk0 & 0x10;
if (hitboxRightMargin & hitboxLeftMargin) {
func_8010E390(speed);
AccelerateX(speed);
return true;
} else if (hitboxRightMargin != 0) {
PLAYER.accelerationX = -speed;
@ -1526,7 +1526,7 @@ INCLUDE_ASM("asm/dra/nonmatchings/5D874", func_801120B4);
void func_80112B64(void) {
if (func_8010FDF8(0x4301C) == 0) {
func_8010E390(0x18000);
AccelerateX(0x18000);
if (func_8010E27C() == 0) {
func_8010E570(0);
}
@ -1541,7 +1541,7 @@ void func_80113148(void) {
} else if (func_8010FDF8(0x9029) == 0) {
func_8010E1EC(0x1000);
if (func_8010E27C() != 0) {
func_8010E390(0xC000);
AccelerateX(0xC000);
}
}
}
@ -1805,18 +1805,14 @@ void func_801186EC(void) {
}
}
Entity* func_8011879C(s16 entityIndex, s16 arg1) {
Entity* entity = &g_EntityArray[entityIndex];
s16 var_a0 = entityIndex;
Entity* GetFreeDraEntity(s16 start, s16 end) {
Entity* entity = &g_EntityArray[start];
s16 i;
if (entityIndex < arg1) {
while (var_a0 < arg1) {
for (i = start; i < end; i++, entity++) {
if (entity->objectId == ENTITY_UNALLOCATED) {
return entity;
}
var_a0++;
entity++;
}
}
return NULL;
}
@ -1855,7 +1851,7 @@ void func_80118C28(s32 arg0) {
#endif
s32 func_80118C84(s16 arg0, s16 arg1) {
Entity* entity = func_8011879C(0x38, 0x40);
Entity* entity = GetFreeDraEntity(0x38, 0x40);
if (entity != NULL) {
func_80106590(entity);
@ -2144,7 +2140,7 @@ void func_80124A8C(Entity* entity) {
case 0:
entity->animationSet = 0x11;
entity->accelerationY = -0x6000;
func_8010E390(0x4000);
AccelerateX(0x4000);
entity->unk5A = 0x50;
entity->palette = 0x819F;
entity->unk4C = &D_800AE294;
@ -2527,7 +2523,7 @@ void func_8012CC30(s32 arg0) {
func_8010E27C();
PLAYER.unk2E = 2;
D_800B0914 = 4;
func_8010E390(0x50000);
AccelerateX(0x50000);
g_CurrentEntity->accelerationY = 0;
func_8010DA48(0xEDU);
func_800FDCE0(4);
@ -2545,7 +2541,7 @@ void func_8012CED4(void) {
D_800B0914 = 1;
} else {
func_8010DA48(0xE8);
func_8010E390(0x10000);
AccelerateX(0x10000);
D_800B0914 = 0;
if (D_80138438 & 0x40) {
PLAYER.animationFrameIndex = 4;
@ -2961,9 +2957,9 @@ void func_801337B4(void) {
INCLUDE_ASM("asm/dra/nonmatchings/5D874", func_80133810);
s32 func_80133940(void) { return D_801396F4 == 0; }
bool func_80133940(void) { return D_801396F4 == 0; }
s32 func_80133950(void) { return D_8013980C == 0; }
bool func_80133950(void) { return D_8013980C == 0; }
INCLUDE_ASM("asm/dra/nonmatchings/5D874", func_80133960);
void func_80133960();
@ -3135,7 +3131,7 @@ s32 func_80134678(s16 arg0, u16 arg1) {
ret = 0;
temp = arg1 + 8;
if ((temp) >= 0x11) {
if (temp >= 0x11) {
arg1 = 0;
ret = -1;
}

View File

@ -373,7 +373,7 @@ INCLUDE_ASM("config/../asm/st/cen/nonmatchings/D600", func_80195B68);
void func_80195C0C(void) {
g_api.PlaySfx(0x67A);
g_api.D_8003C848(5, 0x8000);
g_api.func_800FE044(5, 0x8000);
DestroyEntity(g_CurrentEntity);
}

View File

@ -666,7 +666,7 @@ void InitializeEntity(u16 arg0[]) {
temp_v1 = *arg0++;
g_CurrentEntity->unk3A = temp_v1;
temp_v0 =
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_8003C808);
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_800A8900);
g_CurrentEntity->hitPoints = temp_v0->unk4;
g_CurrentEntity->unk40 = temp_v0->unk6;
g_CurrentEntity->unk42 = temp_v0->unk8;
@ -818,14 +818,14 @@ void CollectHeartVessel(void) {
}
} else {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(HEART_VESSEL_INCREASE, 0x4000);
g_api.func_800FE044(HEART_VESSEL_INCREASE, 0x4000);
}
DestroyEntity(g_CurrentEntity);
}
void CollectLifeVessel(void) {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(LIFE_VESSEL_INCREASE, 0x8000);
g_api.func_800FE044(LIFE_VESSEL_INCREASE, 0x8000);
DestroyEntity(g_CurrentEntity);
}

View File

@ -630,7 +630,7 @@ void InitializeEntity(u16 arg0[]) {
temp_v1 = *arg0++;
g_CurrentEntity->unk3A = temp_v1;
temp_v0 =
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_8003C808);
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_800A8900);
g_CurrentEntity->hitPoints = temp_v0->unk4;
g_CurrentEntity->unk40 = temp_v0->unk6;
g_CurrentEntity->unk42 = temp_v0->unk8;
@ -736,7 +736,7 @@ INCLUDE_ASM("asm/st/no3/nonmatchings/377D4", func_801C6568);
void func_801C660C(void) {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(5, 0x8000);
g_api.func_800FE044(5, 0x8000);
DestroyEntity(g_CurrentEntity);
}

View File

@ -426,7 +426,7 @@ void InitializeEntity(u16 arg0[]) {
temp_v1 = *arg0++;
g_CurrentEntity->unk3A = temp_v1;
temp_v0 =
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_8003C808);
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_800A8900);
g_CurrentEntity->hitPoints = temp_v0->unk4;
g_CurrentEntity->unk40 = temp_v0->unk6;
g_CurrentEntity->unk42 = temp_v0->unk8;

View File

@ -442,7 +442,7 @@ void InitializeEntity(u16 arg0[]) {
temp_v1 = *arg0++;
g_CurrentEntity->unk3A = temp_v1;
temp_v0 =
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_8003C808);
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_800A8900);
g_CurrentEntity->hitPoints = temp_v0->unk4;
g_CurrentEntity->unk40 = temp_v0->unk6;
g_CurrentEntity->unk42 = temp_v0->unk8;
@ -607,14 +607,14 @@ void CollectHeartVessel(void) {
}
} else {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(HEART_VESSEL_INCREASE, 0x4000);
g_api.func_800FE044(HEART_VESSEL_INCREASE, 0x4000);
}
DestroyEntity(g_CurrentEntity);
}
void CollectLifeVessel(void) {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(5, 0x8000);
g_api.func_800FE044(5, 0x8000);
DestroyEntity(g_CurrentEntity);
}

View File

@ -361,7 +361,7 @@ void func_801AECA0(void) {
x = xnext;
}
g_api.D_8003C7D4(0x8004);
g_api.func_800EA5E4(0x8004);
}
INCLUDE_ASM("config/../asm/st/sel/nonmatchings/2C048", func_801AED48);

View File

@ -3833,7 +3833,7 @@ void InitializeEntity(u16 arg0[]) {
temp_v1 = *arg0++;
g_CurrentEntity->unk3A = temp_v1;
temp_v0 =
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_8003C808);
(Unkstruct5*)(temp_v1 * sizeof(Unkstruct5) + (u32)g_api.D_800A8900);
g_CurrentEntity->hitPoints = temp_v0->unk4;
g_CurrentEntity->unk40 = temp_v0->unk6;
g_CurrentEntity->unk42 = temp_v0->unk8;
@ -4040,14 +4040,14 @@ void CollectHeartVessel(void) {
}
} else {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(HEART_VESSEL_INCREASE, 0x4000);
g_api.func_800FE044(HEART_VESSEL_INCREASE, 0x4000);
}
DestroyEntity(g_CurrentEntity);
}
void CollectLifeVessel(void) {
g_api.PlaySfx(NA_SE_PL_COLLECT_HEART);
g_api.D_8003C848(LIFE_VESSEL_INCREASE, 0x8000);
g_api.func_800FE044(LIFE_VESSEL_INCREASE, 0x8000);
DestroyEntity(g_CurrentEntity);
}