mirror of
https://github.com/pmret/papermario.git
synced 2024-11-19 09:22:30 +01:00
276 lines
7.8 KiB
C
276 lines
7.8 KiB
C
#include "common.h"
|
|
|
|
ApiStatus HidePlayerShadow(ScriptInstance* script, s32 isInitialCall) {
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 hideShadow = get_variable(script, *args++);
|
|
|
|
if (hideShadow) {
|
|
disable_player_shadow();
|
|
} else {
|
|
enable_player_shadow();
|
|
}
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus DisablePlayerPhysics(ScriptInstance* script, s32 isInitialCall) {
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 disable = get_variable(script, *args++);
|
|
|
|
if (disable) {
|
|
disable_player_static_collisions();
|
|
} else {
|
|
enable_player_static_collisions();
|
|
}
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus DisablePlayerInput(ScriptInstance* script, s32 isInitialCall) {
|
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 enable = get_variable(script, *args++);
|
|
|
|
if (enable) {
|
|
disable_player_input();
|
|
func_800EF628();
|
|
func_800E97B8();
|
|
func_800E984C();
|
|
if (playerStatus->actionState == ActionState_SPIN) {
|
|
playerStatus->animFlags |= 0x40000;
|
|
}
|
|
D_8009A650[0] |= 0x40;
|
|
} else {
|
|
enable_player_input();
|
|
func_800EF600();
|
|
func_800E01DC();
|
|
D_8009A650[0] &= ~0x40;
|
|
func_800E983C();
|
|
}
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", SetPlayerPos, ScriptInstance* script, s32 isInitialCall);
|
|
/*
|
|
ApiStatus SetPlayerPos(ScriptInstance* script, s32 isInitialCall) {
|
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
|
Bytecode* args = script->ptrReadPos;
|
|
f32 x = get_variable(script, *args++);
|
|
f32 y = get_variable(script, *args++);
|
|
f32 z = get_variable(script, *args++);
|
|
Npc* playerNpc = gPlayerNpc;
|
|
|
|
playerNpc->pos.x = x;
|
|
playerNpc->pos.z = z;
|
|
playerNpc->pos.y = y;
|
|
|
|
playerStatus->position.x = x;
|
|
playerStatus->position.y = y;
|
|
playerStatus->position.z = z;
|
|
return ApiStatus_DONE2;
|
|
}
|
|
*/
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", SetPlayerCollisionSize, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
ApiStatus SetPlayerSpeed(ScriptInstance* script, s32 isInitialCall) {
|
|
gPlayerNpcPtr->moveSpeed = get_float_variable(script, *script->ptrReadPos);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus SetPlayerJumpscale(ScriptInstance* script, s32 isInitialCall) {
|
|
gPlayerNpcPtr->jumpScale = get_float_variable(script, *script->ptrReadPos);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", SetPlayerAnimation, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
ApiStatus SetPlayerActionState(ScriptInstance* script, s32 isInitialCall) {
|
|
set_action_state(get_variable(script, *script->ptrReadPos));
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus SetPlayerAnimationSpeed(ScriptInstance* script, s32 isInitialCall) {
|
|
gPlayerNpcPtr->animationSpeed = get_float_variable(script, *script->ptrReadPos);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", PlayerMoveTo, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D1270);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D1380);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", player_jump);
|
|
|
|
void PlayerJump(ScriptInstance* script, s32 isInitialCall) {
|
|
player_jump(script, isInitialCall, 0);
|
|
}
|
|
|
|
void PlayerJump1(ScriptInstance* script, s32 isInitialCall) {
|
|
player_jump(script, isInitialCall, 1);
|
|
}
|
|
|
|
void PlayerJump2(ScriptInstance* script, s32 isInitialCall) {
|
|
player_jump(script, isInitialCall, 2);
|
|
}
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", InterpPlayerYaw, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", PlayerFaceNpc, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
ApiStatus GetPlayerTargetYaw(ScriptInstance* script, s32 isInitialCall) {
|
|
set_variable(script, *script->ptrReadPos, gPlayerStatus.targetYaw);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", SetPlayerFlagBits, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
ApiStatus GetPlayerActionState(ScriptInstance* script, s32 isInitialCall) {
|
|
Bytecode outVar = *script->ptrReadPos;
|
|
set_variable(script, outVar, gPlayerActionState);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus GetPlayerPos(ScriptInstance* script, s32 isInitialCall) {
|
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
|
Bytecode* args = script->ptrReadPos;
|
|
Bytecode outVar1 = *args++;
|
|
Bytecode outVar2 = *args++;
|
|
Bytecode outVar3 = *args++;
|
|
|
|
set_variable(script, outVar1, playerStatus->position.x);
|
|
set_variable(script, outVar2, playerStatus->position.y);
|
|
set_variable(script, outVar3, playerStatus->position.z);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus GetPlayerAnimation(ScriptInstance* script, s32 isInitialCall) {
|
|
Bytecode outVar = *script->ptrReadPos;
|
|
|
|
set_variable(script, outVar, gPlayerAnimation);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus FullyRestoreHPandFP(ScriptInstance* script, s32 isInitialCall) {
|
|
PlayerData* playerData = &gPlayerData;
|
|
|
|
playerData->curHP = playerData->curMaxHP;
|
|
playerData->curFP = playerData->curMaxFP;
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", FullyRestoreSP);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", EnablePartner);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", DisablePartner);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", UseEntryHeading);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2148);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", UseExitHeading);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D23F8);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D244C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2484);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D249C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D24F4);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2508);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2520);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D286C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2884);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", DisablePulseStone);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", GetCurrentPartner, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2B50);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2B6C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", Disable8bitMario, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2C14);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2C40);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", PlaySoundAtPlayer, ScriptInstance* script, s32 isInitialCall);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2D30);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2ED4);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2F34);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D2FCC);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3028);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D31E0);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3398);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D33D4);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3474);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D354C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3624);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3674);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D36E0);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D378C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3840);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D38EC);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3998);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D39FC);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3A60);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3C58);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3EB8);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3F74);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D3FC8);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D4050);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D4164);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D417C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D420C);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D42AC);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D4364);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D43AC);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D43D0);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D43F4);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D4434);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D4488);
|
|
|
|
INCLUDE_ASM(s32, "code_F5750", func_802D4560);
|