sm64/include/physics.h

93 lines
2.0 KiB
C

/********************************************************************************
physics.h: Ultra 64 MARIO Brothers include file
Copyright (c) 1996 Nintendo co., ltd. All rights reserved
March 26, 1996
********************************************************************************/
#ifndef PHYSICS_H
#define PHYSICS_H
#define PWALK_LANDING 0x00
#define PWALK_RUNNING 0x01
#define PWALK_CLASHED 0x02
#define PWALK_WALL 0x03
#define PWALK_FIREDMG 0x04
#define PJUMP_JUMPING 0x00
#define PJUMP_JUMPEND 0x01
#define PJUMP_CLASHED 0x02
#define PJUMP_HANGING 0x03
#define PJUMP_HANGRUF 0x04
#define PJUMP_FIREDMG 0x06
#define PHANG_DISABLE 0x00
#define PHANG_ENABLE 0x01
#define PHANG_WALL 0x01
#define PHANG_ROOF 0x02
typedef struct {
float pow, radius;
float posx, posz;
float spdx, spdz;
} BallRecord, *BallPtr;
extern BGCheckData skatingWaterSurface;
/********************************************************************************/
/* */
/* Define function prototypes. */
/* */
/********************************************************************************/
extern void
DoTrampoline(void);
extern float
PL_GetTrampolinePower(void);
extern void
PL_CheckTrampolineJump(PlayerPtr player);
extern int
PL_CollideBalls(BallPtr pick, BallPtr ball);
extern int
PL_SetBallRecord(BallPtr ball, float posx, float posz, float speed, short angle, float pow, float radius);
extern void
PL_PlayerRefrection(PlayerPtr player, int negative);
extern int
PL_CheckPlayerSinking(PlayerPtr player, float power);
extern int
PL_FallFromHeavySlope(PlayerPtr player, ulong status, ulong auxinfo);
extern int
PL_QuicksandProcess(PlayerPtr player);
extern int
PL_GustProcess(PlayerPtr player);
extern void
PL_StopProcess(PlayerPtr player);
extern int
PL_WaitProcess(PlayerPtr player);
extern int
PL_WalkProcess(PlayerPtr player);
extern int
PL_JumpProcess(PlayerPtr player, int hangflag);
extern void
PL_Set3DSpeed(PlayerPtr player);
#endif