Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
misc.c
Go to the documentation of this file.
1#include "common.h"
2#include "world/disguise.h"
5#include "sprite/player.h"
6
8
12
15 playerStatus->actionSubstate = 0;
16 playerStatus->curStateTime = 0;
17 playerStatus->timeInAir = 0;
18 playerStatus->peakJumpTime = 0;
19 playerStatus->curSpeed = 0.0f;
20 playerStatus->pitch = 0.0f;
21 }
22
23 if (playerStatus->animFlags & PA_FLAG_RIDING_PARTNER) {
24 if (partnerStatus->actingPartner == PARTNER_LAKILESTER) {
26 } else if (partnerStatus->actingPartner == PARTNER_SUSHIE) {
28 }
29 }
30}
31
36 f32 hitRz;
37 f32 hitRx;
39 f32 outZ;
40 f32 outY;
41 f32 outX;
48
51 playerStatus->actionSubstate = 0;
52 playerStatus->curStateTime = 0;
53 playerStatus->timeInAir = 0;
54 playerStatus->peakJumpTime = 0;
55 playerStatus->curSpeed = 0.0f;
56 playerStatus->pitch = 0.0f;
58 }
59
60 switch (playerStatus->actionSubstate) {
61 case 0:
62 playerStatus->actionSubstate++;
63 case 1:
64 break;
65 default:
66 return;
67 }
68
70
71 miscTempVariable = 3.0f;
73
75
78
79 if (fabs(playerXOffset) < 0.1) {
81 if (playerXOffset < 0.0f) {
82 playerOffsetTempVar = -0.1f;
83 }
85 }
86
87 if (fabs(playerZOffset) < 0.1) {
89 if (playerZOffset < 0.0f) {
90 playerOffsetTempVar = -0.1f;
91 }
93 }
94
97 outX = playerStatus->pos.x;
98 outY = playerStatus->pos.y;
99 outZ = playerStatus->pos.z;
100 outLength = 5.0f;
102 playerStatus->pos.y = outY;
103 }
104
106 miscTempVariable = 30.0f;
107 } else {
108 miscTempVariable = 60.0f;
109 }
110
114 }
115}
116
119
122 playerStatus->actionSubstate = 0;
123 playerStatus->curStateTime = 0;
124 playerStatus->timeInAir = 0;
125 playerStatus->peakJumpTime = 0;
126 playerStatus->curSpeed = 0.0f;
127 playerStatus->pitch = 0.0f;
128
129 if (playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) {
130 return;
131 }
132 playerStatus->curStateTime = 5;
133 }
134
135 playerStatus->curStateTime--;
136 if (playerStatus->curStateTime == 0) {
138 }
139}
140
143
146 playerStatus->actionSubstate = 0;
147 playerStatus->timeInAir = 0;
148 playerStatus->peakJumpTime = 0;
149 playerStatus->curSpeed = 0.0f;
150 playerStatus->pitch = 0.0f;
152 playerStatus->curStateTime = 30;
153 }
154
155 if (playerStatus->curStateTime != 0) {
156 playerStatus->curStateTime--;
157 } else if (gGameStatusPtr->context == CONTEXT_WORLD) {
159 }
160}
161
164
168 playerStatus->curStateTime = 0;
169 playerStatus->actionSubstate = 0;
170 playerStatus->curSpeed = 0.0f;
171 playerStatus->pitch = 0.0f;
173 }
174
175 if (!(playerStatus->animFlags & PA_FLAG_RAISED_ARMS)) {
178 }
179}
180
183
185 f32 angle;
187
189 playerStatus->curSpeed = 0.0f;
190 playerStatus->unk_60 = 0;
191 playerStatus->curStateTime = 5;
193
194 if (((angle >= 45.0f) && (angle <= 135.0f)) || ((angle >= 225.0f) && (angle <= 315.0f))) {
196 } else {
198 }
199 }
200
202
203 if (playerStatus->animFlags & PA_FLAG_ABORT_PUSHING_BLOCK) {
204 if (playerStatus->curStateTime != 0) {
205 playerStatus->curStateTime--;
206 if (playerStatus->curStateTime == 0) {
208 }
209 }
210 }
211}
212
215
218 playerStatus->curSpeed = 0.0f;
219 playerStatus->unk_60 = 0;
220
221 if (!(playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS)) {
223 } else if (playerStatus->peachItemHeld == PEACH_BAKING_NONE) {
224 if (!(playerStatus->animFlags & PA_FLAG_INVISIBLE)) {
226 } else {
228 }
229 }
230 playerStatus->curStateTime = 30;
231 }
232
233 if (playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) {
234 if (playerStatus->curStateTime != 0) {
235 playerStatus->curStateTime--;
236 } else if (playerStatus->peachItemHeld == PEACH_BAKING_NONE) {
237 if (!(playerStatus->animFlags & PA_FLAG_INVISIBLE)) {
239 } else {
241 }
242 }
243 }
244}
DisguiseAnims BasicPeachDisguiseAnims[]
Definition 7E9D0.c:464
BSS s32 PopupMenu_SelectedIndex
@ PS_FLAG_ACTION_STATE_CHANGED
Definition enums.h:3118
@ PS_FLAG_ARMS_RAISED
Definition enums.h:3097
@ PS_FLAG_AIRBORNE
Definition enums.h:3067
@ AREA_SBK
Definition enums.h:3004
@ PA_FLAG_INVISIBLE
Definition enums.h:3138
@ PA_FLAG_RAISED_ARMS
Sets action state to ACTION_STATE_RAISE_ARMS on idle.
Definition enums.h:3134
@ PA_FLAG_ABORT_PUSHING_BLOCK
Definition enums.h:3151
@ PA_FLAG_RIDING_PARTNER
Definition enums.h:3150
@ PA_FLAG_USING_PEACH_PHYSICS
Definition enums.h:3137
@ CONTEXT_WORLD
Definition enums.h:3562
@ PEACH_BAKING_NONE
Definition enums.h:2482
@ PARTNER_LAKILESTER
Definition enums.h:2927
@ PARTNER_SUSHIE
Definition enums.h:2926
@ ACTION_STATE_IDLE
Definition enums.h:2412
@ ACTION_STATE_FALLING
Definition enums.h:2421
void peach_set_disguise_anim(AnimID)
Definition 7E9D0.c:506
void player_input_to_move_vector(f32 *angle, f32 *magnitude)
Definition 7B440.c:139
f64 fabs(f64 f)
HitID player_raycast_below_cam_relative(PlayerStatus *playerStatus, f32 *outX, f32 *outY, f32 *outZ, f32 *outLength, f32 *hitRx, f32 *hitRz, f32 *hitDirX, f32 *hitDirZ)
Definition 77480.c:192
void suggest_player_anim_always_forward(AnimID anim)
Definition 77480.c:912
void gravity_use_fall_parms(void)
Definition 7BB60.c:301
void set_action_state(s32 actionState)
Definition 7E9D0.c:209
void suggest_player_anim_allow_backward(AnimID anim)
Definition 77480.c:893
b32 check_input_jump(void)
Definition 7E9D0.c:344
void sin_cos_rad(f32 rad, f32 *outSinTheta, f32 *outCosTheta)
Definition 43F0.c:706
void world_lakilester_sync_player_position(void)
void action_update_pushing_block(void)
Definition misc.c:181
void action_update_talk(void)
Definition misc.c:213
void action_update_raise_arms(void)
Definition misc.c:162
BSS f32 D_802B6770_E27C80
Definition misc.c:7
void action_update_first_strike(void)
Definition misc.c:141
void action_update_launch(void)
Definition misc.c:117
void action_update_state_23(void)
Definition misc.c:32
void action_update_ride(void)
Definition misc.c:9
#define BSS
Definition macros.h:6
#define DEG_TO_RAD(deg)
Definition macros.h:145
void world_sushie_sync_player_position(void)
PartnerStatus gPartnerStatus
Definition partners.c:42
GameStatus * gGameStatusPtr
Definition main_loop.c:31
f32 PlayerNormalPitch
Definition 7B440.c:9
f32 PlayerNormalYaw
Definition 7B440.c:8
PlayerStatus gPlayerStatus
Definition 77480.c:38