cave-story-solaris/src/MyChar.h
Clownacy d81c46a79c Release custom code under the MIT licence
Of course, Pixel's code is still proprietary.
2020-10-23 19:09:55 +01:00

96 lines
1.9 KiB
C

// THIS IS DECOMPILED PROPRIETARY CODE - USE AT YOUR OWN RISK.
//
// The original code belongs to Daisuke "Pixel" Amaya.
//
// Modifications and custom code are under the MIT licence.
// See LICENCE.txt for details.
#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
{
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;
} 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);