106 lines
2.2 KiB
C
106 lines
2.2 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "WindowsWrapper.h"
|
||
|
|
||
|
#include "CommonDefines.h"
|
||
|
|
||
|
// TODO - When I add bitmask constants for gMC.flags...
|
||
|
// 0x100 is a 'player is underwater' flag
|
||
|
|
||
|
// gMC.equip
|
||
|
enum
|
||
|
{
|
||
|
EQUIP_BOOSTER_0_8 = 1,
|
||
|
EQUIP_MAP = 2,
|
||
|
EQUIP_ARMS_BARRIER = 4,
|
||
|
EQUIP_TURBOCHARGE = 8,
|
||
|
EQUIP_AIR_TANK = 0x10,
|
||
|
EQUIP_BOOSTER_2_0 = 0x20,
|
||
|
EQUIP_MIMIGA_MASK = 0x40,
|
||
|
EQUIP_WHIMSICAL_STAR = 0x80,
|
||
|
EQUIP_NIKUMARU_COUNTER = 0x100
|
||
|
};
|
||
|
|
||
|
typedef struct MYCHAR_PHYSICS
|
||
|
{
|
||
|
int max_dash;
|
||
|
int max_move;
|
||
|
int gravity1;
|
||
|
int gravity2;
|
||
|
int dash1;
|
||
|
int dash2;
|
||
|
int resist;
|
||
|
int jump;
|
||
|
} MYCHAR_PHYSICS;
|
||
|
|
||
|
typedef struct MYCHAR
|
||
|
{
|
||
|
unsigned char cond;
|
||
|
unsigned int flag;
|
||
|
int direct;
|
||
|
BOOL up;
|
||
|
BOOL down;
|
||
|
int unit;
|
||
|
int equip;
|
||
|
int x;
|
||
|
int y;
|
||
|
int tgt_x;
|
||
|
int tgt_y;
|
||
|
int index_x;
|
||
|
int index_y;
|
||
|
int xm;
|
||
|
int ym;
|
||
|
int ani_wait;
|
||
|
int ani_no;
|
||
|
OTHER_RECT hit;
|
||
|
OTHER_RECT view;
|
||
|
RECT rect;
|
||
|
RECT rect_arms;
|
||
|
int level;
|
||
|
int exp_wait;
|
||
|
int exp_count;
|
||
|
unsigned char shock;
|
||
|
unsigned char no_life;
|
||
|
unsigned char rensha;
|
||
|
unsigned char bubble;
|
||
|
short life;
|
||
|
short star;
|
||
|
short max_life;
|
||
|
short a;
|
||
|
int lifeBr;
|
||
|
int lifeBr_count;
|
||
|
int air;
|
||
|
int air_get;
|
||
|
signed char sprash; // This is explicitly a char, but used like a BOOL
|
||
|
signed char ques; // Same for this variable as well
|
||
|
signed char boost_sw;
|
||
|
int boost_cnt;
|
||
|
// Custom
|
||
|
MYCHAR_PHYSICS physics_normal;
|
||
|
MYCHAR_PHYSICS physics_underwater;
|
||
|
int no_splash_or_air_limit_underwater; // Determines whether the behaviours in which entering water causes a splash, being in water draws the air timer and being in water decreases your air are enabled (0 means it's enabled, non-0 means it's disabled)
|
||
|
} MYCHAR;
|
||
|
|
||
|
extern MYCHAR gMC;
|
||
|
|
||
|
void InitMyChar(void);
|
||
|
void AnimationMyChar(BOOL bKey);
|
||
|
void ShowMyChar(BOOL bShow);
|
||
|
void PutMyChar(int fx, int fy);
|
||
|
void ActMyChar_Normal(BOOL bKey);
|
||
|
void ActMyChar(BOOL bKey);
|
||
|
void GetMyCharPosition(int *x, int *y);
|
||
|
void SetMyCharPosition(int x, int y);
|
||
|
void MoveMyChar(int x, int y);
|
||
|
void ZeroMyCharXMove(void);
|
||
|
int GetUnitMyChar(void);
|
||
|
void SetMyCharDirect(unsigned char dir);
|
||
|
void ChangeMyUnit(unsigned char a);
|
||
|
void PitMyChar(void);
|
||
|
void EquipItem(int flag, BOOL b);
|
||
|
void ResetCheck(void);
|
||
|
void SetNoise(int no, int freq);
|
||
|
void CutNoise(void);
|
||
|
void ResetNoise(void);
|
||
|
void SleepNoise(void);
|