mirror of
https://github.com/zeldaret/tmc
synced 2026-07-11 15:28:41 -04:00
Decompile pita
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "script.h"
|
||||
#include "flags.h"
|
||||
#include "random.h"
|
||||
#include "textbox.h"
|
||||
|
||||
extern Hitbox gUnk_0810C428;
|
||||
|
||||
extern u8 gUnk_0810C430[4];
|
||||
extern u8 gUnk_0810C435[];
|
||||
extern u8 gUnk_0810C43D[];
|
||||
extern u32 sub_080028F4(const u8*);
|
||||
|
||||
void Pita(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
this->action += 1;
|
||||
sub_0805E3A0(this, 2);
|
||||
ResolveEntityOnTop(this, this);
|
||||
this->hitbox = &gUnk_0810C428;
|
||||
sub_0807DD64(this);
|
||||
}
|
||||
sub_0807DD94(this, NULL);
|
||||
if ((this->frames.all & 1) != 0) {
|
||||
InitAnimationForceUpdate(this, (u32)(this->animationState >> 1));
|
||||
this->field_0x80.HWORD = this->animIndex;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08062EB8(void) {
|
||||
sub_0807CAA0(0x68,0);
|
||||
sub_0807CAA0(0x69,0);
|
||||
sub_0807CAA0(0x6a,0);
|
||||
sub_0807CAA0(0x6b,0);
|
||||
}
|
||||
|
||||
bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) {
|
||||
u32 tmp;
|
||||
u32 tmp2;
|
||||
|
||||
if (GetInventoryValue(0x68) != 0) {
|
||||
tmp = 0;
|
||||
}
|
||||
if (GetInventoryValue(0x69) != 0) {
|
||||
tmp = 1;
|
||||
}
|
||||
if (GetInventoryValue(0x6a) != 0) {
|
||||
tmp = 2;
|
||||
}
|
||||
if (GetInventoryValue(0x6b) != 0) {
|
||||
tmp = 3;
|
||||
}
|
||||
if (CheckLocalFlag(0x5b) == 0) {
|
||||
SetLocalFlag(0x5b);
|
||||
tmp = 4;
|
||||
}
|
||||
if ((Random() & 0xff) > gUnk_0810C430[tmp]) {
|
||||
context->condition = FALSE;
|
||||
return FALSE;
|
||||
} else {
|
||||
tmp = sub_080028F4(gUnk_0810C435);
|
||||
tmp2 = gUnk_0810C43D[tmp];
|
||||
sub_080A7C18(0x5c, tmp2, 1);
|
||||
TextboxNoOverlap(0x3c05, this);
|
||||
context->condition = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user