core2 .data defininitions
This commit is contained in:
@@ -5,11 +5,19 @@
|
||||
extern s32 D_80276588;
|
||||
extern s32 D_8027658C;
|
||||
|
||||
extern BKSprite * D_8036A910;
|
||||
extern BKSprite * D_8036A914;
|
||||
extern Gfx D_8036A918[];
|
||||
|
||||
extern f32 D_80377480;
|
||||
/* .data */
|
||||
BKSprite * D_8036A910 = NULL;
|
||||
BKSprite * D_8036A914 = NULL;
|
||||
Gfx D_8036A918[] = {
|
||||
gsDPPipeSync(),
|
||||
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH),
|
||||
gsSPSetGeometryMode(G_SHADE | G_TEXTURE_GEN_LINEAR | G_SHADING_SMOOTH),
|
||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
|
||||
gsDPSetCycleType(G_CYC_1CYCLE),
|
||||
gsDPSetCombineMode(G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM),
|
||||
gsDPSetRenderMode(G_RM_XLU_SURF, G_RM_XLU_SURF2),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
/* .bss */
|
||||
s32 D_80381EF0;
|
||||
@@ -35,12 +43,24 @@ void func_80300C10(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_80300C70(enum item_e item_id, struct8s *arg1){
|
||||
s32 temp_a0;
|
||||
s32 temp_a0_2;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_80300C70.s")
|
||||
if (D_8036A910 != 0) {
|
||||
func_8033BD4C(D_8036A910);
|
||||
D_8036A910 = 0;
|
||||
}
|
||||
if (D_8036A914 != 0) {
|
||||
func_8033BD4C(D_8036A914);
|
||||
D_8036A914 = 0;
|
||||
}
|
||||
func_80300C10();
|
||||
}
|
||||
|
||||
struct7s *func_80300CD8(enum item_e item_id){
|
||||
func_80300C10();
|
||||
D_80381EFC = D_80377480;
|
||||
D_80381EFC = 0.68f;
|
||||
return &D_80381F30;
|
||||
}
|
||||
|
||||
@@ -122,8 +142,96 @@ void func_80300D0C(enum item_e item_id, struct8s *arg1, Gfx **gfx, Mtx **mtx, Vt
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_803012B8.s")
|
||||
bool func_803012B8(f32 arg0, s32 arg1, s32 arg2){
|
||||
if(arg1 == 0)
|
||||
return TRUE;
|
||||
|
||||
return (arg0 < D_80381F08[arg1 - 1]);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_803012F8.s")
|
||||
void func_803012F8(void) {
|
||||
D_80381EF0 = 1;
|
||||
D_80381F28 = 0.0f;
|
||||
func_803463D4(ITEM_14_HEALTH, 0);
|
||||
D_80381F04 = (f32) item_getCount(ITEM_14_HEALTH);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_79C80/func_80301348.s")
|
||||
|
||||
void func_80301348(enum item_e item_id, struct8s *arg1) {
|
||||
f32 temp_f20;
|
||||
s32 var_s0;
|
||||
s32 sp2C;
|
||||
|
||||
|
||||
temp_f20 = time_getDelta();
|
||||
sp2C = func_802FB0D4(arg1);
|
||||
if (item_getCount(ITEM_15_HEALTH_TOTAL) >= 9) {
|
||||
D_80381F00 = 8;
|
||||
} else {
|
||||
D_80381F00 = item_getCount(ITEM_15_HEALTH_TOTAL);
|
||||
}
|
||||
|
||||
switch (D_80381EF0) {
|
||||
case 0:
|
||||
D_80381F04 = (f32) itemPrint_getValue(item_id);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
D_80381F04 += temp_f20 * 10.0f;
|
||||
if (D_80381F00 <= D_80381F04) {
|
||||
D_80381F04 = D_80381F04 - D_80381F00;
|
||||
}
|
||||
D_80381F28 += temp_f20;
|
||||
if (D_80381F28 > 2.5) {
|
||||
D_80381EF0 = 2;
|
||||
}
|
||||
func_803463D4(ITEM_14_HEALTH, 0);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (sp2C != 1) {
|
||||
D_80381F04 += temp_f20 * 10.0f;
|
||||
if (D_80381F00 <= D_80381F04) {
|
||||
D_80381F04 = D_80381F04 - D_80381F00;
|
||||
}
|
||||
}
|
||||
if (randf2(0.0f, 1.0f) < (1.0 / D_80381F00)) {
|
||||
if (D_80381F04 < 1.0f) {
|
||||
D_80381F04 =D_80381F04 + 1.0;
|
||||
}
|
||||
if (item_getCount(ITEM_14_HEALTH) < D_80381F04) {
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 22000);
|
||||
}
|
||||
if (D_80381F04 < (f32) item_getCount(ITEM_14_HEALTH)) {
|
||||
func_8025A6EC(COMUSIC_2C_BUZZER, 22000);
|
||||
}
|
||||
item_set(ITEM_14_HEALTH, (s32) D_80381F04);
|
||||
D_80381EF0 = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
switch (sp2C) {
|
||||
case 2:
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (D_8036A910 == NULL) {
|
||||
D_8036A910 = assetcache_get(ASSET_7DD_SPRITE_HEALTH);
|
||||
}
|
||||
if (D_8036A914 == NULL) {
|
||||
D_8036A914 = assetcache_get(0x7EA);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0:
|
||||
func_80300C70(item_id, arg1);
|
||||
break;
|
||||
}
|
||||
if (sp2C) {
|
||||
for(var_s0 = 0; var_s0 < D_80381F00; var_s0++){
|
||||
if (func_803012B8(-15.0f, var_s0, D_80381F00)) {
|
||||
D_80381F08[var_s0] = D_80381F08[var_s0] * 0.6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user