mirror of https://github.com/zeldaret/tmc.git
improved signature of StartCutscene
This commit is contained in:
parent
91ce8f1cf8
commit
aaea9b89f6
|
|
@ -24,7 +24,7 @@ extern u32 CheckKinstoneFused(u32);
|
|||
extern void ForceEquipItem(u8, u8);
|
||||
extern void LoadRoomEntityList();
|
||||
void CopyPosition(Entity*, Entity*);
|
||||
extern u32* StartCutscene(Entity*, u8*);
|
||||
extern ScriptExecutionContext* StartCutscene(Entity*, u16*);
|
||||
extern void ResolveEntityOnTop(Entity*, Entity*);
|
||||
extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
|
||||
extern u32 GetAnimationState(Entity*);
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ extern s32 __divsi3(s32, s32);
|
|||
extern void _call_via_r6(Entity*, ScriptExecutionContext*);
|
||||
extern u16 sub_080B18DC(u16, const char*);
|
||||
|
||||
void sub_0807DB88(ScriptExecutionContext* context, u32 unk1);
|
||||
void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1);
|
||||
void sub_0807DB88(ScriptExecutionContext* context, u16* unk1);
|
||||
void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1);
|
||||
u32 sub_0807D1D8(u32 unk_1, const char* unk_2, u32 unk_3);
|
||||
u32 sub_0807D128(const Thing* unk_1);
|
||||
u16 sub_0807D1A4(u16* unk_1, u32 unk_2);
|
||||
|
|
@ -248,7 +248,7 @@ NONMATCH("asm/non_matching/code_0807CC3C/sub_0807D6D8.inc", void sub_0807D6D8(u3
|
|||
END_NONMATCH
|
||||
|
||||
void sub_0807DA70(void) {
|
||||
_DmaZero(&gUnk_02033280, 0xc);
|
||||
_DmaZero(&gUnk_02033280, sizeof(gUnk_02033280));
|
||||
_DmaZero(&gScriptExecutionContextArray, sizeof(gScriptExecutionContextArray));
|
||||
_DmaZero(&gPlayerScriptExecutionContext, sizeof(gPlayerScriptExecutionContext));
|
||||
gUnk_02033280.unk_08 = 8;
|
||||
|
|
@ -271,17 +271,17 @@ void DestroyScriptExecutionContext(ScriptExecutionContext* context) {
|
|||
_DmaZero(context, sizeof(ScriptExecutionContext));
|
||||
}
|
||||
|
||||
u32* StartCutscene(Entity* entity, u8* param_2) {
|
||||
ScriptExecutionContext* StartCutscene(Entity* entity, u16* unk_2) {
|
||||
ScriptExecutionContext* puVar1;
|
||||
|
||||
puVar1 = CreateScriptExecutionContext();
|
||||
if (puVar1) {
|
||||
sub_0807DAF0(entity, puVar1, (u32)param_2);
|
||||
sub_0807DAF0(entity, puVar1, unk_2);
|
||||
}
|
||||
return (u32*)puVar1;
|
||||
return puVar1;
|
||||
}
|
||||
|
||||
void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u32 unk1) {
|
||||
void sub_0807DAF0(Entity* entity, ScriptExecutionContext* context, u16* unk1) {
|
||||
entity->flags = entity->flags | 2;
|
||||
*(ScriptExecutionContext**)&entity->cutsceneBeh = context;
|
||||
sub_0807DB88(context, unk1);
|
||||
|
|
@ -320,9 +320,9 @@ ScriptExecutionContext* sub_0807DB68(Entity* entity, u16* unk1) {
|
|||
return context;
|
||||
}
|
||||
|
||||
void sub_0807DB88(ScriptExecutionContext* context, u32 unk1) {
|
||||
void sub_0807DB88(ScriptExecutionContext* context, u16* unk1) {
|
||||
_DmaZero(context, sizeof(ScriptExecutionContext));
|
||||
context->unk_00 = (u16*)unk1;
|
||||
context->unk_00 = unk1;
|
||||
}
|
||||
|
||||
void sub_0807DB98(Entity* entity, ScriptExecutionContext* context) {
|
||||
|
|
@ -411,7 +411,7 @@ void sub_0807DD64(Entity* entity) {
|
|||
entity->field_0x82.HWORD = 0;
|
||||
}
|
||||
|
||||
void sub_0807DD80(Entity* entity, u32 unk1) {
|
||||
void sub_0807DD80(Entity* entity, u16* unk1) {
|
||||
sub_0807DB88(*(ScriptExecutionContext**)&entity->cutsceneBeh, unk1);
|
||||
sub_0807DD64(entity);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ void ForestMinish(Entity* this) {
|
|||
this->field_0x68.HALF.HI = this->animationState = this->actionDelay << 1;
|
||||
this->actionDelay = 0;
|
||||
sub_0805E3A0(this, 2);
|
||||
StartCutscene(this, gUnk_08109D18[this->entityType.parameter]);
|
||||
StartCutscene(this, (u16*)gUnk_08109D18[this->entityType.parameter]);
|
||||
sub_0807DD50(this);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -37,13 +37,13 @@ void sub_0806a370(Entity* this) {
|
|||
}
|
||||
|
||||
void sub_0806A3D8(Entity* this) {
|
||||
u32* uVar1;
|
||||
ScriptExecutionContext* uVar1;
|
||||
|
||||
this->action = 1;
|
||||
this->actionDelay = 0xb4;
|
||||
sub_0805E3A0(this, 2);
|
||||
sub_0806A8C8(this);
|
||||
uVar1 = StartCutscene(this, &gUnk_08012F0C);
|
||||
*(u32*)&this->cutsceneBeh = (u32)uVar1;
|
||||
*(ScriptExecutionContext**)&this->cutsceneBeh = uVar1;
|
||||
sub_0807DD94(this, NULL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ void sub_080656D4(Entity* this) {
|
|||
} else {
|
||||
if (this->interactType != 0) {
|
||||
if (GetInventoryValue(0x37) != 0) { // keyLonLon
|
||||
StartCutscene(this, &gUnk_0800B41C);
|
||||
StartCutscene(this, (u16*)&gUnk_0800B41C);
|
||||
goto label2;
|
||||
} else {
|
||||
this->field_0x68.HALF.HI = this->action;
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ void sub_080866D8(Entity* this) {
|
|||
UpdateSpriteForCollisionLayer(entity);
|
||||
*((u32*)(&this->field_0x68)) |= mask;
|
||||
if (prop->unk8) {
|
||||
*((u32**)(&entity->cutsceneBeh)) = StartCutscene(entity, prop->unk8);
|
||||
*((ScriptExecutionContext **)(&entity->cutsceneBeh)) = StartCutscene(entity, (u16*)prop->unk8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue