FP/code_45D0.c done
This commit is contained in:
6252
fight_code_180.asm
Normal file
6252
fight_code_180.asm
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,7 @@
|
|||||||
</mask>
|
</mask>
|
||||||
<g mask="url(#anybadge_1)">
|
<g mask="url(#anybadge_1)">
|
||||||
<path fill="#555" d="M0 0h24v20H0z"/>
|
<path fill="#555" d="M0 0h24v20H0z"/>
|
||||||
<path fill="#1ce000" d="M24 0h67v20H24z"/>
|
<path fill="#19e000" d="M24 0h67v20H24z"/>
|
||||||
<path fill="url(#b)" d="M0 0h91v20H0z"/>
|
<path fill="url(#b)" d="M0 0h91v20H0z"/>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<text x="12.0" y="14">FP</text>
|
<text x="12.0" y="14">FP</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="58.5" y="15" fill="#010101" fill-opacity=".3">93.8359%</text>
|
<text x="58.5" y="15" fill="#010101" fill-opacity=".3">94.3166%</text>
|
||||||
<text x="57.5" y="14">93.8359%</text>
|
<text x="57.5" y="14">94.3166%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -39,10 +39,69 @@ Actor *func_80387DD0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|||||||
return func_80325888(marker, gfx, mtx, vtx);
|
return func_80325888(marker, gfx, mtx, vtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NONMATCHING
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/FP/code_19E0/func_80387EE4.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/FP/code_19E0/func_80387EE4.s")
|
||||||
|
#else
|
||||||
|
bool func_80387EE4(Actor *this) {
|
||||||
|
ActorLocal_FP_19E0 *local = (ActorLocal_FP_19E0 *)&this->local;
|
||||||
|
f32 temp_f2;
|
||||||
|
f32 temp_f0;
|
||||||
|
f32 temp_f20;
|
||||||
|
f32 temp_f22;
|
||||||
|
f32 sp38[3];
|
||||||
|
f32 sp34;
|
||||||
|
f32 temp_f12;
|
||||||
|
f32 temp_f14;
|
||||||
|
s32 var_v1;
|
||||||
|
|
||||||
|
player_getPosition(sp38);
|
||||||
|
temp_f22 = (this->unk1C[0] - this->position[0]);
|
||||||
|
temp_f20 = (this->position[2] - this->unk1C[2]);
|
||||||
|
temp_f2 = ((temp_f20 * this->position[0]) + (temp_f22* this->position[2]));
|
||||||
|
temp_f0 = ((temp_f20 * sp38[0]) + (temp_f22*sp38[2]));
|
||||||
|
sp34 = ((sp38[0] - this->position[0]) * temp_f22) + ((sp38[2] - this->position[2])*(this->unk1C[2] - this->position[2]));
|
||||||
|
var_v1 = (temp_f0 < temp_f2) ? 1 : 0;
|
||||||
|
if (!(this->initialized) || (local->unk0 == var_v1) || !(sp34 >= 0.0f) || !(sp34 <= ((temp_f20 * temp_f20) + (temp_f22 * temp_f22)))) {
|
||||||
|
local->unk0 = var_v1;
|
||||||
|
this->initialized = TRUE;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
local->unk0 = var_v1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef NONMATCHING
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/FP/code_19E0/func_80388000.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/FP/code_19E0/func_80388000.s")
|
||||||
|
#else
|
||||||
|
bool func_80388000(Actor *this) {
|
||||||
|
ActorLocal_FP_19E0 *local = (ActorLocal_FP_19E0 *)&this->local;
|
||||||
|
f32 sp38[3];
|
||||||
|
f32 sp34;
|
||||||
|
f32 temp_f0;
|
||||||
|
f32 temp_f12;
|
||||||
|
f32 temp_f20;
|
||||||
|
f32 temp_f22;
|
||||||
|
f32 temp_f2;
|
||||||
|
s32 var_v1;
|
||||||
|
|
||||||
|
func_8038A09C(sp38, this);
|
||||||
|
temp_f22 = (this->unk1C[0] - this->position[0]);
|
||||||
|
temp_f20 = (this->position[2] - this->unk1C[2]);
|
||||||
|
temp_f2 = ((temp_f20 * this->position[0]) + (temp_f22* this->position[2]));
|
||||||
|
temp_f0 = ((temp_f20 * sp38[0]) + (temp_f22*sp38[2]));
|
||||||
|
sp34 = ((sp38[0] - this->position[0]) * temp_f22) + ((sp38[2] - this->position[2])*(this->unk1C[2] - this->position[2]));
|
||||||
|
var_v1 = ((temp_f0 < temp_f2)? 1 : 0) ;
|
||||||
|
if ((this->velocity[2] == 0.0f) || (local->unk1 == var_v1) || !(sp34 >= 0.0f) || !(sp34 <= ((temp_f20 * temp_f20) + (temp_f22 * temp_f22)))) {
|
||||||
|
local->unk1 = var_v1;
|
||||||
|
this->velocity[2] = 1.0f;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
local->unk1 = var_v1;
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void func_8038811C(ActorMarker *this_marker, ActorMarker *other_marker){
|
void func_8038811C(ActorMarker *this_marker, ActorMarker *other_marker){
|
||||||
Actor *this = marker_getActor(this_marker);
|
Actor *this = marker_getActor(this_marker);
|
||||||
|
@@ -33,15 +33,12 @@ void func_8038A9C0(void){
|
|||||||
|
|
||||||
void func_8038AA58(void){}
|
void func_8038AA58(void){}
|
||||||
|
|
||||||
#ifndef NONMATCHING
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/FP/code_45D0/func_8038AA60.s")
|
|
||||||
#else
|
|
||||||
void func_8038AA60(void){
|
void func_8038AA60(void){
|
||||||
switch(D_80392F50.unk0){
|
switch(D_80392F50.unk0){
|
||||||
case 1:
|
case 1:
|
||||||
if(D_80392F50.unk4 <= 0){
|
if(D_80392F50.unk4 <= 0){
|
||||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
|
||||||
D_80392F50.unk0 = 2;
|
D_80392F50.unk0 = 2;
|
||||||
|
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||||
D_80392F50.unk8 = 0;
|
D_80392F50.unk8 = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -64,16 +61,11 @@ void func_8038AA60(void){
|
|||||||
D_80392F50.unk8++;
|
D_80392F50.unk8++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
|
||||||
case 0:
|
case 0:
|
||||||
case 3://L8038A96C
|
case 3://L8038A96C
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void func_8038AB40(void){
|
void func_8038AB40(void){
|
||||||
D_80392F50.unk4--;
|
D_80392F50.unk4--;
|
||||||
|
@@ -38,7 +38,7 @@ segments:
|
|||||||
- [0x2350, c, code_2350] #DONE
|
- [0x2350, c, code_2350] #DONE
|
||||||
- [0x3E00, c, code_3E00] #DONE
|
- [0x3E00, c, code_3E00] #DONE
|
||||||
- [0x4400, c, code_4400] #DONE
|
- [0x4400, c, code_4400] #DONE
|
||||||
- [0x45D0, c, code_45D0]
|
- [0x45D0, c, code_45D0] #DONE
|
||||||
- [0x4770, c, code_4770] #DONE
|
- [0x4770, c, code_4770] #DONE
|
||||||
- [0x5CC0, c, code_5CC0]
|
- [0x5CC0, c, code_5CC0]
|
||||||
- [0x6AE0, c, code_6AE0] #DONE
|
- [0x6AE0, c, code_6AE0] #DONE
|
||||||
|
Reference in New Issue
Block a user