papermario
Decompilation of Paper Mario
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Loading...
Searching...
No Matches
rooms.c File Reference

Data Structures

struct  MapRoom
 

Enumerations

enum  RoomState { ROOM_STATE_IDLE = 0 , ROOM_STATE_ENTERING = 1 , ROOM_STATE_EXITING = 2 }
 
enum  {
  ROOM_DATA_FLAGS = LVar2 , ROOM_DATA_ENTER_POS_AX = LVar3 , ROOM_DATA_ENTER_POS_AZ = LVar4 , ROOM_DATA_ENTER_POS_BX = LVar5 ,
  ROOM_DATA_ENTER_POS_BZ = LVar6 , ROOM_DATA_EXIT_POS_AX = LVar7 , ROOM_DATA_EXIT_POS_AZ = LVar8 , ROOM_DATA_EXIT_POS_BX = LVar9 ,
  ROOM_DATA_EXIT_POS_BZ = LVarA , ROOM_DATA_EVT_OPEN_DOOR = LVarB , ROOM_DATA_EVT_MOVE_WALL = LVarC , ROOM_DATA_EVT_DROP_DOOR = LVarD ,
  ROOM_DATA_EVT_LISTENER = LVarE , ROOM_DATA_MODEL_ID = LVarF
}
 
enum  { ROOM_SCRIPT_IDX_0 = 0 , ROOM_SCRIPT_IDX_1 = 1 , ROOM_SCRIPT_IDX_2 = 2 , ROOM_SCRIPT_IDX_3 = 3 }
 
enum  { ROOM_VISIBILITY_SHOW = 0 , ROOM_VISIBILITY_HIDE = 3 }
 

Functions

void func_800EF414 (s32, s32)
 
void get_flat_collider_normal (s32, f32 *, f32 *, f32 *)
 
s32 get_current_item_entity_render_group (void)
 
void set_current_item_entity_render_group (s32)
 

Variables

EvtScript EVS_EnterRoomDoor
 
EvtScript EVS_ExitRoomDoor
 
EvtScript EVS_RoomContentVisiblityToggle
 
EvtScript EVS_EnterRoom_MovePlayerA
 
EvtScript EVS_EnterRoom_MovePlayerB
 
EvtScript EVS_EnterRoom_MoveCam
 
EvtScript EVS_ExitRoom_MovePlayerA
 
EvtScript EVS_ExitRoom_MovePlayerB
 
EvtScript EVS_ExitRoom_MoveCam
 
EvtScript EVS_Default_AnimateDoorRot
 
EvtScript EVS_Default_AnimateWallRot
 
EvtScript EVS_Default_AnimateDropDoor
 

Data Structure Documentation

◆ MapRoom

struct MapRoom
Data Fields
s32 bgColor[3]
s32 colliderID
s32 flags
s32 modelID
s16 newItemVisGroup
s32 * npcList
EvtScript * overrideDropDoor
EvtScript * overrideMoveWall
EvtScript * overrideOpenDoor
VecXZf posEnterA
VecXZf posEnterB
VecXZf posExitA
VecXZf posExitB
s16 prevItemVisGroup
s32 scriptIDs[4]
RoomState state
EvtScript * stateListenerScript

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ROOM_DATA_FLAGS 
ROOM_DATA_ENTER_POS_AX 
ROOM_DATA_ENTER_POS_AZ 
ROOM_DATA_ENTER_POS_BX 
ROOM_DATA_ENTER_POS_BZ 
ROOM_DATA_EXIT_POS_AX 
ROOM_DATA_EXIT_POS_AZ 
ROOM_DATA_EXIT_POS_BX 
ROOM_DATA_EXIT_POS_BZ 
ROOM_DATA_EVT_OPEN_DOOR 
ROOM_DATA_EVT_MOVE_WALL 
ROOM_DATA_EVT_DROP_DOOR 
ROOM_DATA_EVT_LISTENER 
ROOM_DATA_MODEL_ID 

◆ anonymous enum

anonymous enum
Enumerator
ROOM_SCRIPT_IDX_0 
ROOM_SCRIPT_IDX_1 
ROOM_SCRIPT_IDX_2 
ROOM_SCRIPT_IDX_3 

◆ anonymous enum

anonymous enum
Enumerator
ROOM_VISIBILITY_SHOW 
ROOM_VISIBILITY_HIDE 

◆ RoomState

enum RoomState
Enumerator
ROOM_STATE_IDLE 
ROOM_STATE_ENTERING 
ROOM_STATE_EXITING 

Function Documentation

◆ func_800EF414()

void func_800EF414 ( s32 posX,
s32 posZ )

◆ get_current_item_entity_render_group()

s32 get_current_item_entity_render_group ( void )

◆ get_flat_collider_normal()

void get_flat_collider_normal ( s32 colliderID,
f32 * x,
f32 * y,
f32 * z )

◆ set_current_item_entity_render_group()

void set_current_item_entity_render_group ( s32 group)

Variable Documentation

◆ EVS_Default_AnimateDoorRot

EvtScript EVS_Default_AnimateDoorRot

◆ EVS_Default_AnimateDropDoor

EvtScript EVS_Default_AnimateDropDoor
Initial value:
= {
Label(0)
Wait(1)
IfEq(LVar1, 1)
Goto(0)
}
@ ROOM_DROP_DOOR_ENTER
Definition enums.h:4514
@ ROOM_DROP_DOOR_EXIT
Definition enums.h:4517
@ ROOM_DROP_DOOR_2
Definition enums.h:4516
@ ROOM_DROP_DOOR_1
Definition enums.h:4515
@ EASING_CUBIC_IN
Definition enums.h:512
@ EASING_CUBIC_OUT
Definition enums.h:515
ApiStatus UpdateLerp(Evt *script, b32 isInitialCall)
ApiStatus MakeLerp(Evt *script, b32 isInitialCall)
#define Switch(LVAR)
Marks the start of a switch statement.
Definition macros.h:323
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
Definition macros.h:377
#define CaseEq(RVAR)
Marks the start of a switch case that executes only if LVAR == RVAR. It also marks the end of any pre...
Definition macros.h:331
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:225
#define Goto(LABEL_ID)
Moves execution to the given label.
Definition macros.h:244
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
Definition macros.h:239
#define EndIf
Marks the end of an if statement or an else block.
Definition macros.h:310
#define LVar2
Definition macros.h:146
#define LVar1
Definition macros.h:145
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
Definition macros.h:266
#define EndSwitch
Marks the end of a switch statement and any case.
Definition macros.h:374
#define IfEq(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR == RVAR.
Definition macros.h:281
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:588
#define LVar0
Definition macros.h:144
#define Exec(EVT_SOURCE)
Launches a new thread.
Definition macros.h:467
#define Return
Kills the current EVT thread.
Definition macros.h:229
@ ROOM_DATA_EVT_DROP_DOOR
Definition rooms.c:51

◆ EVS_Default_AnimateWallRot

EvtScript EVS_Default_AnimateWallRot
Initial value:
= {
Label(0)
Wait(1)
IfEq(LVar1, 1)
Goto(0)
}
@ ROOM_MOVE_WALL_OPEN
Definition enums.h:4509
@ ROOM_MOVE_WALL_1
Definition enums.h:4510
@ ROOM_MOVE_WALL_2
Definition enums.h:4511
@ ROOM_MOVE_WALL_CLOSE
Definition enums.h:4512
@ ROOM_DATA_EVT_MOVE_WALL
Definition rooms.c:50

◆ EVS_EnterRoom_MoveCam

EvtScript EVS_EnterRoom_MoveCam
Initial value:
= {
Call(SetRoomCamMoveSpeed, Float(1.796))
Set(LVarE, 10)
Call(SetRoomCamMoveSpeed, -1)
}
ApiStatus InterpCamTargetPos(Evt *script, b32 isInitialCall)
ApiStatus GetPlayerPos(Evt *script, b32 isInitialCall)
#define LVarC
Definition macros.h:156
#define Float(DOUBLE)
Definition macros.h:47
#define LVarB
Definition macros.h:155
#define LVarD
Definition macros.h:157
#define LVarE
Definition macros.h:158
@ ROOM_DATA_ENTER_POS_BX
Definition rooms.c:43
@ ROOM_DATA_ENTER_POS_BZ
Definition rooms.c:44

◆ EVS_EnterRoom_MovePlayerA

EvtScript EVS_EnterRoom_MovePlayerA
Initial value:
= {
}
ApiStatus FacePlayerTowardPoint(Evt *script, b32 isInitialCall)
ApiStatus PlayerMoveTo(Evt *script, b32 isInitialCall)
@ ROOM_DATA_ENTER_POS_AZ
Definition rooms.c:42
@ ROOM_DATA_ENTER_POS_AX
Definition rooms.c:41

◆ EVS_EnterRoom_MovePlayerB

◆ EVS_EnterRoomDoor

EvtScript EVS_EnterRoomDoor

◆ EVS_ExitRoom_MoveCam

EvtScript EVS_ExitRoom_MoveCam
Initial value:
= {
Call(SetRoomCamMoveSpeed, Float(1.796))
Set(LVarE, 10)
Call(SetRoomCamMoveSpeed, -1)
}
@ ROOM_DATA_EXIT_POS_BZ
Definition rooms.c:48
@ ROOM_DATA_EXIT_POS_BX
Definition rooms.c:47

◆ EVS_ExitRoom_MovePlayerA

◆ EVS_ExitRoom_MovePlayerB

◆ EVS_ExitRoomDoor

EvtScript EVS_ExitRoomDoor

◆ EVS_RoomContentVisiblityToggle

EvtScript EVS_RoomContentVisiblityToggle
Initial value:
= {
Call(RoomVisibilityToggleImpl)
}