mirror of https://github.com/zeldaret/tmc.git
Extract player macros
This commit is contained in:
parent
c317fe3f18
commit
f9da634427
|
@ -975,61 +975,6 @@
|
||||||
"start": 15940,
|
"start": 15940,
|
||||||
"size": 384
|
"size": 384
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_080049D6.bin",
|
|
||||||
"start": 18902,
|
|
||||||
"size": 32
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_080049F6.bin",
|
|
||||||
"start": 18934,
|
|
||||||
"size": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_080049FE.bin",
|
|
||||||
"start": 18942,
|
|
||||||
"size": 14
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A0C.bin",
|
|
||||||
"start": 18956,
|
|
||||||
"size": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A16.bin",
|
|
||||||
"start": 18966,
|
|
||||||
"size": 14
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A24.bin",
|
|
||||||
"start": 18980,
|
|
||||||
"size": 14
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A32.bin",
|
|
||||||
"start": 18994,
|
|
||||||
"size": 22
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A48.bin",
|
|
||||||
"start": 19016,
|
|
||||||
"size": 42
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A72.bin",
|
|
||||||
"start": 19058,
|
|
||||||
"size": 26
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004A8C.bin",
|
|
||||||
"start": 19084,
|
|
||||||
"size": 26
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "code_080043E8/gUnk_08004AA6.bin",
|
|
||||||
"start": 19110,
|
|
||||||
"size": 70
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "animations/gSpriteAnimations_1_0.bin",
|
"path": "animations/gSpriteAnimations_1_0.bin",
|
||||||
"start": 19180,
|
"start": 19180,
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.section .rodata
|
|
||||||
@ .align 2
|
|
||||||
|
|
||||||
|
|
||||||
@ TODO PlayerMacros
|
|
||||||
|
|
||||||
gUnk_080049D6:: @ 080049D6
|
|
||||||
.incbin "code_080043E8/gUnk_080049D6.bin"
|
|
||||||
|
|
||||||
gUnk_080049F6:: @ 080049F6
|
|
||||||
.incbin "code_080043E8/gUnk_080049F6.bin"
|
|
||||||
|
|
||||||
gUnk_080049FE:: @ gUnk_080049FE
|
|
||||||
.incbin "code_080043E8/gUnk_080049FE.bin"
|
|
||||||
|
|
||||||
gUnk_08004A0C:: @ 08004A0C
|
|
||||||
.incbin "code_080043E8/gUnk_08004A0C.bin"
|
|
||||||
|
|
||||||
gUnk_08004A16:: @ 08004A16
|
|
||||||
.incbin "code_080043E8/gUnk_08004A16.bin"
|
|
||||||
|
|
||||||
gUnk_08004A24:: @ 08004A24
|
|
||||||
.incbin "code_080043E8/gUnk_08004A24.bin"
|
|
||||||
|
|
||||||
gUnk_08004A32:: @ 08004A32
|
|
||||||
.incbin "code_080043E8/gUnk_08004A32.bin"
|
|
||||||
|
|
||||||
gUnk_08004A48:: @ 08004A48
|
|
||||||
.incbin "code_080043E8/gUnk_08004A48.bin"
|
|
||||||
|
|
||||||
gUnk_08004A72:: @ 08004A72
|
|
||||||
.incbin "code_080043E8/gUnk_08004A72.bin"
|
|
||||||
|
|
||||||
gUnk_08004A8C:: @ 08004A8C
|
|
||||||
.incbin "code_080043E8/gUnk_08004A8C.bin"
|
|
||||||
|
|
||||||
gUnk_08004AA6:: @ 08004AA6
|
|
||||||
.incbin "code_080043E8/gUnk_08004AA6.bin"
|
|
|
@ -30,7 +30,7 @@ SCRIPT_START script_Npc4EMonsters
|
||||||
Call NPC4E_SaveEquippedItems
|
Call NPC4E_SaveEquippedItems
|
||||||
Call SetPlayerActionNormal
|
Call SetPlayerActionNormal
|
||||||
CallWithArg EquipItem, ITEM_SHIELD
|
CallWithArg EquipItem, ITEM_SHIELD
|
||||||
CallWithArg SetPlayerMacro, gUnk_080049F6
|
CallWithArg SetPlayerMacro, gPlayerMacroProtectWithShield
|
||||||
SetScrollSpeed 1
|
SetScrollSpeed 1
|
||||||
SetEntityPositionRelative 0x01f8, 0x0068
|
SetEntityPositionRelative 0x01f8, 0x0068
|
||||||
SetSyncFlag 0x00000004
|
SetSyncFlag 0x00000004
|
||||||
|
@ -41,7 +41,7 @@ SCRIPT_START script_Npc4EMonsters
|
||||||
PlaySound SFX_1C3
|
PlaySound SFX_1C3
|
||||||
SetSyncFlag 0x20000000
|
SetSyncFlag 0x20000000
|
||||||
Wait 0x0078
|
Wait 0x0078
|
||||||
CallWithArg SetPlayerMacro, 0x00000000
|
CallWithArg SetPlayerMacro, 0
|
||||||
Call NPC4E_RestoreEquippedItems
|
Call NPC4E_RestoreEquippedItems
|
||||||
SetSyncFlag 0x40000000
|
SetSyncFlag 0x40000000
|
||||||
SetSyncFlag 0x00000010
|
SetSyncFlag 0x00000010
|
||||||
|
|
|
@ -10,11 +10,11 @@ SCRIPT_START script_Npc4EVaatiAttacking
|
||||||
Call NPC4E_SaveEquippedItems
|
Call NPC4E_SaveEquippedItems
|
||||||
Call SetPlayerActionNormal
|
Call SetPlayerActionNormal
|
||||||
CallWithArg EquipItem, ITEM_SHIELD
|
CallWithArg EquipItem, ITEM_SHIELD
|
||||||
CallWithArg SetPlayerMacro, gUnk_080049F6
|
CallWithArg SetPlayerMacro, gPlayerMacroProtectWithShield
|
||||||
Wait 0x001e
|
Wait 0x001e
|
||||||
SetSyncFlag 0x00000100
|
SetSyncFlag 0x00000100
|
||||||
WaitForSyncFlagAndClear 0x00000200
|
WaitForSyncFlagAndClear 0x00000200
|
||||||
CallWithArg SetPlayerMacro, 0x00000000
|
CallWithArg SetPlayerMacro, 0
|
||||||
Call NPC4E_RestoreEquippedItems
|
Call NPC4E_RestoreEquippedItems
|
||||||
Wait 0x003c
|
Wait 0x003c
|
||||||
SetSyncFlag 0x08000000
|
SetSyncFlag 0x08000000
|
||||||
|
|
|
@ -152,14 +152,14 @@ SCRIPT_START script_Npc4EIntroTown
|
||||||
CallWithArg EquipItem, ITEM_SHIELD
|
CallWithArg EquipItem, ITEM_SHIELD
|
||||||
SetIntVariable 0x000000ff
|
SetIntVariable 0x000000ff
|
||||||
Call sub_0807F5B0
|
Call sub_0807F5B0
|
||||||
CallWithArg SetPlayerMacro, gUnk_080049D6
|
CallWithArg SetPlayerMacro, gPlayerMacroTryOutShield
|
||||||
Wait 0x00b7
|
Wait 0x00b7
|
||||||
SetIntVariable 0x00000000
|
SetIntVariable 0x00000000
|
||||||
Call sub_0807F5B0
|
Call sub_0807F5B0
|
||||||
MessageFromTargetPos TEXT_PROLOGUE, 0x2c, 0x0000
|
MessageFromTargetPos TEXT_PROLOGUE, 0x2c, 0x0000
|
||||||
WaitUntilTextboxCloses
|
WaitUntilTextboxCloses
|
||||||
@ Give control back to the player
|
@ Give control back to the player
|
||||||
CallWithArg SetPlayerMacro, 0x00000000
|
CallWithArg SetPlayerMacro, 0
|
||||||
Call NPC4E_RestoreEquippedItems
|
Call NPC4E_RestoreEquippedItems
|
||||||
SetScrollSpeed 4
|
SetScrollSpeed 4
|
||||||
CameraTargetPlayer
|
CameraTargetPlayer
|
||||||
|
|
|
@ -85,9 +85,9 @@ script_080138D0:
|
||||||
.endif
|
.endif
|
||||||
Call NPC4E_SaveEquippedItems
|
Call NPC4E_SaveEquippedItems
|
||||||
CallWithArg EquipItem, 0x00010001
|
CallWithArg EquipItem, 0x00010001
|
||||||
CallWithArg SetPlayerMacro, gUnk_080049FE
|
CallWithArg SetPlayerMacro, gPlayerMacroSanctuary
|
||||||
Wait 0x00c8
|
Wait 0x00c8
|
||||||
CallWithArg SetPlayerMacro, 0x00000000
|
CallWithArg SetPlayerMacro, 0
|
||||||
Call NPC4E_RestoreEquippedItems
|
Call NPC4E_RestoreEquippedItems
|
||||||
script_08013A8E:
|
script_08013A8E:
|
||||||
.ifndef EU
|
.ifndef EU
|
||||||
|
|
|
@ -232,7 +232,7 @@ typedef struct {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u16 flags;
|
u16 flags;
|
||||||
u16 keys;
|
u16 keys;
|
||||||
} PlayerMacroEntry;
|
} PlayerMacroEntry ALIGNED(2);
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PLAYER_INPUT_1 = 0x1, // A
|
PLAYER_INPUT_1 = 0x1, // A
|
||||||
|
|
|
@ -243,7 +243,6 @@ SECTIONS {
|
||||||
asm/src/code_08003FC4.o(.text);
|
asm/src/code_08003FC4.o(.text);
|
||||||
asm/src/code_080043E8.o(.text);
|
asm/src/code_080043E8.o(.text);
|
||||||
src/data/data_080046A4.o(.rodata);
|
src/data/data_080046A4.o(.rodata);
|
||||||
data/data_080046A4.o(.rodata);
|
|
||||||
data/gfx/link_animations.o(.rodata);
|
data/gfx/link_animations.o(.rodata);
|
||||||
src/data/mapVvvToSurfaceType.o(.rodata);
|
src/data/mapVvvToSurfaceType.o(.rodata);
|
||||||
asm/src/code_08007CAC.o(.text);
|
asm/src/code_08007CAC.o(.text);
|
||||||
|
|
|
@ -79,7 +79,7 @@ void UpdatePlayerInput(void) {
|
||||||
PlayerMacroEntry* playerMacro;
|
PlayerMacroEntry* playerMacro;
|
||||||
u32 zero;
|
u32 zero;
|
||||||
|
|
||||||
if (gPlayerState.playerInput.playerMacro != NULL) {
|
if (gPlayerState.playerInput.playerMacro != NULL) {
|
||||||
// Player is controlled by macro.
|
// Player is controlled by macro.
|
||||||
playerInput = &gPlayerState.playerInput;
|
playerInput = &gPlayerState.playerInput;
|
||||||
playerMacro = playerInput->playerMacro;
|
playerMacro = playerInput->playerMacro;
|
||||||
|
@ -87,7 +87,7 @@ void UpdatePlayerInput(void) {
|
||||||
zero = 0;
|
zero = 0;
|
||||||
goto code_2;
|
goto code_2;
|
||||||
code_0:
|
code_0:
|
||||||
if (flags != 2) {
|
if (flags != 2) { // !PLAYER_MACRO_IGNORE
|
||||||
playerInput->playerMacroWaiting = playerMacro->flags;
|
playerInput->playerMacroWaiting = playerMacro->flags;
|
||||||
playerInput->playerMacroHeldKeys = playerMacro->keys;
|
playerInput->playerMacroHeldKeys = playerMacro->keys;
|
||||||
}
|
}
|
||||||
|
@ -100,10 +100,12 @@ void UpdatePlayerInput(void) {
|
||||||
if (flags != 1) {
|
if (flags != 1) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// PLAYER_MACRO_JUMPTO
|
||||||
(u8*)playerMacro += ((s16)playerMacro->keys);
|
(u8*)playerMacro += ((s16)playerMacro->keys);
|
||||||
} while (TRUE);
|
} while (TRUE);
|
||||||
|
|
||||||
if (flags == 3) {
|
if (flags == 3) {
|
||||||
|
// PLAYER_MACRO_END
|
||||||
playerInput->playerMacroWaiting = zero;
|
playerInput->playerMacroWaiting = zero;
|
||||||
playerInput->playerMacroHeldKeys = zero;
|
playerInput->playerMacroHeldKeys = zero;
|
||||||
playerMacro = NULL;
|
playerMacro = NULL;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "asm.h"
|
#include "asm.h"
|
||||||
|
#include "player.h"
|
||||||
|
|
||||||
const KeyValuePair gUnk_080046A4[] = {
|
const KeyValuePair gUnk_080046A4[] = {
|
||||||
{ 63, 1 }, { 80, 2 }, { 69, 8 }, { 70, 9 }, { 71, 10 }, { 72, 11 }, { 73, 12 }, { 74, 13 },
|
{ 63, 1 }, { 80, 2 }, { 69, 8 }, { 70, 9 }, { 71, 10 }, { 72, 11 }, { 73, 12 }, { 74, 13 },
|
||||||
|
@ -32,3 +33,67 @@ const u16 gUnk_080047F6[] = {
|
||||||
32776, 1039, 65280, 52, 32779, 21263, 65280, 19, 32779, 21263, 65280, 789, 0, 30, 2, 18,
|
32776, 1039, 65280, 52, 32779, 21263, 65280, 19, 32779, 21263, 65280, 789, 0, 30, 2, 18,
|
||||||
64, 8, 0, 1, 128, 10, 0, 1, 128, 8, 384, 10, 128, 30, 1, 49152
|
64, 8, 0, 1, 128, 10, 0, 1, 128, 8, 384, 10, 128, 30, 1, 49152
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define PLAYER_MACRO_JUMPTO 0x4000 // Jump
|
||||||
|
#define PLAYER_MACRO_IGNORE 0x8000 // Do not set playerMacroWaiting and playerMacroHeldKeys?
|
||||||
|
#define PLAYER_MACRO_END 0xC000 // End // 49152
|
||||||
|
|
||||||
|
// Link tries out the shield.
|
||||||
|
const PlayerMacroEntry gPlayerMacroTryOutShield[] = {
|
||||||
|
{ 4, DPAD_LEFT }, { 1, DPAD_DOWN }, { 60, A_BUTTON }, { 1, DPAD_LEFT },
|
||||||
|
{ 60, A_BUTTON }, { 1, DPAD_RIGHT }, { 60, A_BUTTON }, { PLAYER_MACRO_JUMPTO, -4 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// Link holding his shield when the monsters escape or vaati attacks zelda.
|
||||||
|
const PlayerMacroEntry gPlayerMacroProtectWithShield[] = {
|
||||||
|
{ 0, A_BUTTON },
|
||||||
|
{ PLAYER_MACRO_JUMPTO, -4 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const PlayerMacroEntry gPlayerMacroSanctuary[] = {
|
||||||
|
{ 1, DPAD_UP },
|
||||||
|
{ 120, B_BUTTON },
|
||||||
|
{ 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroSanctuaryEnd = PLAYER_MACRO_END;
|
||||||
|
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers0[] = {
|
||||||
|
{ 120, B_BUTTON },
|
||||||
|
{ 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers0End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers1[] = {
|
||||||
|
{ 60, DPAD_RIGHT },
|
||||||
|
{ 4, B_BUTTON },
|
||||||
|
{ 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers1End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers2[] = {
|
||||||
|
{ 4, DPAD_LEFT },
|
||||||
|
{ 120, A_BUTTON },
|
||||||
|
{ 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers2End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers3[] = {
|
||||||
|
{ 1, DPAD_DOWN }, { 4, A_BUTTON }, { 10, 0 }, { 10, B_BUTTON }, { 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers3End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers4[] = {
|
||||||
|
{ 4, DPAD_RIGHT }, { 8, R_BUTTON + DPAD_RIGHT }, { 30, 0 }, { 1, DPAD_LEFT }, { 30, 0 },
|
||||||
|
{ 4, DPAD_LEFT }, { 4, R_BUTTON + DPAD_LEFT }, { 20, 0 }, { 6, B_BUTTON }, { 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers4End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers5[] = {
|
||||||
|
{ 1, DPAD_LEFT }, { 30, 0 }, { 4, B_BUTTON }, { 60, 0 }, { 4, B_BUTTON }, { 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers5End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers6[] = {
|
||||||
|
{ 1, DPAD_LEFT }, { 30, 0 }, { 4, B_BUTTON }, { 60, 0 }, { 4, B_BUTTON }, { 60, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers6End = PLAYER_MACRO_END;
|
||||||
|
const PlayerMacroEntry gPlayerMacroBladeBrothers7[] = {
|
||||||
|
{ 1, DPAD_LEFT }, { 120, B_BUTTON }, { 10, 0 }, { 4, B_BUTTON }, { 4, 0 }, { 4, B_BUTTON },
|
||||||
|
{ 4, 0 }, { 4, B_BUTTON }, { 4, 0 }, { 4, B_BUTTON }, { 4, 0 }, { 4, B_BUTTON },
|
||||||
|
{ 4, 0 }, { 4, B_BUTTON }, { 4, 0 }, { 4, B_BUTTON }, { 30, 0 },
|
||||||
|
};
|
||||||
|
const u16 gPlayerMacroBladeBrothers7End = PLAYER_MACRO_END;
|
|
@ -1,15 +1,14 @@
|
||||||
#include "global.h"
|
|
||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
#include "flags.h"
|
#include "flags.h"
|
||||||
#include "player.h"
|
|
||||||
#include "room.h"
|
|
||||||
#include "message.h"
|
|
||||||
#include "save.h"
|
|
||||||
#include "script.h"
|
|
||||||
#include "npc.h"
|
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
|
#include "message.h"
|
||||||
|
#include "npc.h"
|
||||||
|
#include "player.h"
|
||||||
|
#include "room.h"
|
||||||
|
#include "save.h"
|
||||||
|
#include "script.h"
|
||||||
|
|
||||||
void sub_08068A1C(Entity*);
|
void sub_08068A1C(Entity*);
|
||||||
void sub_08068A4C(Entity*);
|
void sub_08068A4C(Entity*);
|
||||||
|
@ -32,18 +31,17 @@ void (*const gUnk_081115D0[])(Entity*) = {
|
||||||
|
|
||||||
const u16 gUnk_081115DC[] = { 183, 184, 185, 186, 187, 188, 189, 190 };
|
const u16 gUnk_081115DC[] = { 183, 184, 185, 186, 187, 188, 189, 190 };
|
||||||
|
|
||||||
// TODO extract macros
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers0;
|
||||||
extern const PlayerMacroEntry gUnk_08004A0C;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers1;
|
||||||
extern const PlayerMacroEntry gUnk_08004A16;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers2;
|
||||||
extern const PlayerMacroEntry gUnk_08004A24;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers3;
|
||||||
extern const PlayerMacroEntry gUnk_08004A32;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers4;
|
||||||
extern const PlayerMacroEntry gUnk_08004A48;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers5;
|
||||||
extern const PlayerMacroEntry gUnk_08004A72;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers6;
|
||||||
extern const PlayerMacroEntry gUnk_08004A8C;
|
extern const PlayerMacroEntry gPlayerMacroBladeBrothers7;
|
||||||
extern const PlayerMacroEntry gUnk_08004AA6;
|
|
||||||
const PlayerMacroEntry* const BladeBrothers_PlayerMacros[] = {
|
const PlayerMacroEntry* const BladeBrothers_PlayerMacros[] = {
|
||||||
&gUnk_08004A0C, &gUnk_08004A16, &gUnk_08004A24, &gUnk_08004A32, &gUnk_08004A48, &gUnk_08004A72,
|
&gPlayerMacroBladeBrothers0, &gPlayerMacroBladeBrothers1, &gPlayerMacroBladeBrothers2, &gPlayerMacroBladeBrothers3, &gPlayerMacroBladeBrothers4, &gPlayerMacroBladeBrothers5,
|
||||||
&gUnk_08004A8C, &gUnk_08004AA6, NULL, NULL, NULL,
|
&gPlayerMacroBladeBrothers6, &gPlayerMacroBladeBrothers7, NULL, NULL, NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u8 BladeBrothers_EquippedItem[] = {
|
const u8 BladeBrothers_EquippedItem[] = {
|
||||||
|
|
|
@ -2113,7 +2113,7 @@ void sub_08079BD8(Entity* this) {
|
||||||
this->spritePriority.b0 = gPlayerEntity.spritePriority.b0;
|
this->spritePriority.b0 = gPlayerEntity.spritePriority.b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_08079C30(Entity* param_1) {
|
bool32 sub_08079C30(Entity* player) {
|
||||||
if (gPlayerState.field_0x14 == 0 && (gPlayerState.flags & PL_FLAGS2) == 0) {
|
if (gPlayerState.field_0x14 == 0 && (gPlayerState.flags & PL_FLAGS2) == 0) {
|
||||||
if ((gPlayerState.flags & PL_MINISH) != 0) {
|
if ((gPlayerState.flags & PL_MINISH) != 0) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -2129,13 +2129,13 @@ bool32 sub_08079C30(Entity* param_1) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gPlayerState.floor_type != FindValueForKey(GetVvvRelativeToEntity(param_1, 0, -1), gMapVvvToSurfaceType))
|
if (gPlayerState.floor_type != FindValueForKey(GetVvvRelativeToEntity(player, 0, -1), gMapVvvToSurfaceType))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (gPlayerState.floor_type != FindValueForKey(GetVvvRelativeToEntity(param_1, 2, 0), gMapVvvToSurfaceType))
|
if (gPlayerState.floor_type != FindValueForKey(GetVvvRelativeToEntity(player, 2, 0), gMapVvvToSurfaceType))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (gPlayerState.floor_type == FindValueForKey(GetVvvRelativeToEntity(param_1, -2, 0), gMapVvvToSurfaceType)) {
|
if (gPlayerState.floor_type == FindValueForKey(GetVvvRelativeToEntity(player, -2, 0), gMapVvvToSurfaceType)) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue