251 lines
5.5 KiB
C
251 lines
5.5 KiB
C
![]() |
#ifndef _MAP_H_
|
|||
|
#define _MAP_H_
|
|||
|
|
|||
|
// ??????<3F><><EFBFBD><EFBFBD>??????<3F>d???<3F><>????<3F>n<EFBFBD>d??
|
|||
|
|
|||
|
#define MAP_TILE_GRID_X1 -20
|
|||
|
#define MAP_TILE_GRID_X2 +17 // <20>Z?????
|
|||
|
#define MAP_TILE_GRID_Y1 -16
|
|||
|
#define MAP_TILE_GRID_Y2 +21 // <20>Z?????
|
|||
|
|
|||
|
// ???<3F><><EFBFBD><EFBFBD>???
|
|||
|
#define MAP_X_SIZE (MAP_TILE_GRID_X2 - MAP_TILE_GRID_X1)
|
|||
|
#define MAP_Y_SIZE (MAP_TILE_GRID_Y2 - MAP_TILE_GRID_Y1)
|
|||
|
|
|||
|
// ????????
|
|||
|
#define GRID_SIZE 64
|
|||
|
|
|||
|
// ?<3F>h<EFBFBD>L<EFBFBD>T
|
|||
|
#define MOVE_SPEED 4
|
|||
|
#define MOVE_FRAME (GRID_SIZE/MOVE_SPEED)
|
|||
|
|
|||
|
// ????<3F>k?
|
|||
|
enum
|
|||
|
{
|
|||
|
EVENT_NONE, // ?????<3F>D<EFBFBD><44>???
|
|||
|
EVENT_NPC, // ?<3F>eNPC
|
|||
|
EVENT_ENEMY, // ?<3F>e<EFBFBD><65>??????
|
|||
|
EVENT_WARP, // ???
|
|||
|
EVENT_DOOR, // ??
|
|||
|
EVENT_ALTERRATIVE, // ??????<3F>l????????????<3F><>???
|
|||
|
EVENT_WARP_MONING, // <20><>?<3F>e???
|
|||
|
EVENT_WARP_NOON, // ??<3F>e???
|
|||
|
EVENT_WARP_NIGHT, // ??<3F>e???
|
|||
|
|
|||
|
EVENT_END // ????<3F>k????
|
|||
|
};
|
|||
|
|
|||
|
// ???????
|
|||
|
#define MAP_READ_FLAG 0x8000 // ???????????????????
|
|||
|
#define MAP_SEE_FLAG 0x4000 // ??????<3F><>??????????
|
|||
|
|
|||
|
// ???<3F><>?<3F><>?
|
|||
|
#define FLOOR_NAME_LEN 24
|
|||
|
|
|||
|
extern char nowFloorName[];
|
|||
|
extern int nowFloor;
|
|||
|
extern int nowFloorGxSize, nowFloorGySize;
|
|||
|
extern int nowGx, nowGy;
|
|||
|
extern float nowX, nowY;
|
|||
|
extern float nowVx, nowVy, nowSpdRate;
|
|||
|
extern int nextGx, nextGy;
|
|||
|
extern int oldGx, oldGy;
|
|||
|
extern int oldNextGx, oldNextGy;
|
|||
|
extern int mouseMapGx, mouseMapGy;
|
|||
|
extern int mouseMapX, mouseMapY;
|
|||
|
|
|||
|
extern short moveRouteCnt;
|
|||
|
|
|||
|
extern BOOL mapEmptyFlag;
|
|||
|
|
|||
|
extern float viewPointX;
|
|||
|
extern float viewPointY;
|
|||
|
extern int viewOffsetX;
|
|||
|
extern int viewOffsetY;
|
|||
|
|
|||
|
extern short moveAddTbl[8][2];
|
|||
|
|
|||
|
|
|||
|
extern BOOL mouseLeftCrick;
|
|||
|
extern BOOL mouseLeftOn;
|
|||
|
extern BOOL mouseRightCrick;
|
|||
|
extern BOOL mouseRightOn;
|
|||
|
#ifdef _MOUSE_DBL_CLICK
|
|||
|
extern BOOL mouseDblRightOn;
|
|||
|
#endif
|
|||
|
extern unsigned int mouseLeftPushTime;
|
|||
|
extern unsigned int beforeMouseLeftPushTime;
|
|||
|
|
|||
|
|
|||
|
extern short nowEncountPercentage;
|
|||
|
extern short nowEncountExtra;
|
|||
|
extern short minEncountPercentage;
|
|||
|
extern short maxEncountPercentage;
|
|||
|
extern short sendEnFlag;
|
|||
|
extern short encountNowFlag;
|
|||
|
|
|||
|
extern short eventWarpSendFlag;
|
|||
|
extern short eventWarpSendId;
|
|||
|
extern short eventEnemySendFlag;
|
|||
|
extern short eventEnemySendId;
|
|||
|
extern short eventEnemyFlag;
|
|||
|
|
|||
|
extern BOOL loginFlag;
|
|||
|
|
|||
|
extern short vsLookFlag;
|
|||
|
|
|||
|
extern BOOL floorChangeFlag;
|
|||
|
|
|||
|
extern BOOL warpEffectFlag;
|
|||
|
extern BOOL warpEffectStart;
|
|||
|
extern BOOL warpEffectOk;
|
|||
|
|
|||
|
extern int transmigrationEffectFlag;
|
|||
|
extern int transEffectPaletteStatus;
|
|||
|
|
|||
|
void initMap( void );
|
|||
|
void resetMap( void );
|
|||
|
void createMap( int, int, int );
|
|||
|
BOOL writeMap( int, int, int, int, int,
|
|||
|
unsigned short *, unsigned short *, unsigned short * );
|
|||
|
void setMap( int, int, int );
|
|||
|
void setWarpMap( int, int );
|
|||
|
BOOL mapCheckSum( int, int, int, int, int, int, int, int );
|
|||
|
|
|||
|
#ifdef _NEWDRAWBATTLEMAP // (<28><><EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>) Syu ADD <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>BattleMap
|
|||
|
void ddrawBattleMap( void );
|
|||
|
#endif
|
|||
|
void drawMap( void );
|
|||
|
void drawMap2( void );
|
|||
|
void drawTile( void );
|
|||
|
void redrawMap( void );
|
|||
|
void drawGrid( void );
|
|||
|
void moveProc( void );
|
|||
|
BOOL checkEmptyMap( int );
|
|||
|
void setMapMovePoint( int, int );
|
|||
|
void setMapMovePoint2( int, int );
|
|||
|
void mapMove2( void );
|
|||
|
void updateMapArea( void );
|
|||
|
|
|||
|
void getRouteData( int, int *, int * );
|
|||
|
|
|||
|
char cnvServDir( int, int );
|
|||
|
|
|||
|
void goFrontPartyCharacter( int, int, int );
|
|||
|
|
|||
|
|
|||
|
void initCharPartsPrio( void );
|
|||
|
void setPartsPrio( int, int, int, int, int, float, float, int);
|
|||
|
#ifdef _SFUMATO
|
|||
|
void setCharPrio( int, int, int, int, int, float, float, int );
|
|||
|
#else
|
|||
|
void setCharPrio( int, int, int, int, int, float, float);
|
|||
|
#endif
|
|||
|
void stockCharParts( void );
|
|||
|
|
|||
|
|
|||
|
#if 0
|
|||
|
BOOL checkNpcEvent( int, int, int, int );
|
|||
|
#endif
|
|||
|
|
|||
|
void drawAutoMap( int x, int y );
|
|||
|
void readAutoMapSeeFlag( void );
|
|||
|
void writeAutoMapSeeFlag( void );
|
|||
|
|
|||
|
BOOL checkHitMap( int, int );
|
|||
|
|
|||
|
void camMapToGamen( float, float, float *, float * );
|
|||
|
void camGamenToMap( float, float, float *, float * );
|
|||
|
|
|||
|
|
|||
|
#if 1
|
|||
|
|
|||
|
enum
|
|||
|
{
|
|||
|
MAP_EFFECT_TYPE_NONE,
|
|||
|
MAP_EFFECT_TYPE_RAIN,
|
|||
|
MAP_EFFECT_TYPE_SNOW,
|
|||
|
MAP_EFFECT_TYPE_STAR,
|
|||
|
MAP_EFFECT_TYPE_KAMIFUBUKI,
|
|||
|
MAP_EFFECT_TYPE_HOTARU
|
|||
|
#ifdef _HALLOWEEN_EFFECT
|
|||
|
,MAP_EFFECT_TYPE_HALLOWEEN
|
|||
|
#endif
|
|||
|
};
|
|||
|
|
|||
|
typedef struct _MAP_EFFECT
|
|||
|
{
|
|||
|
int x, y;
|
|||
|
int dx, dy;
|
|||
|
int gx, gy;
|
|||
|
int ggx, ggy;
|
|||
|
int ex, ey;
|
|||
|
int w, h;
|
|||
|
int cnt;
|
|||
|
_MAP_EFFECT *pre;
|
|||
|
_MAP_EFFECT *next;
|
|||
|
short type;
|
|||
|
short type2;
|
|||
|
short mode;
|
|||
|
#ifdef _HALLOWEEN_EFFECT
|
|||
|
ACTION *pAction;
|
|||
|
#endif
|
|||
|
} MAP_EFFECT;
|
|||
|
|
|||
|
extern MAP_EFFECT *useBufMapEffect;
|
|||
|
|
|||
|
extern short mapEffectRainLevel;
|
|||
|
extern short oldMapEffectRainLevel;
|
|||
|
extern short mapEffectSnowLevel;
|
|||
|
extern short oldMapEffectSnowLevel;
|
|||
|
extern short mapEffectMoveDir;
|
|||
|
extern short mapEffectKamiFubukiLevel;
|
|||
|
#ifdef _HALLOWEEN_EFFECT
|
|||
|
extern int mapEffectHalloween;
|
|||
|
#endif
|
|||
|
#ifdef __EDEN_DICE
|
|||
|
extern BOOL bMapEffectDice;
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
extern const short fastDrawTile;
|
|||
|
extern short fastDrawTileFlag;
|
|||
|
extern int amountXFastDraw, amountYFastDraw;
|
|||
|
extern int nowXFastDraw, nowYFastDraw;
|
|||
|
extern int baseXFastDraw, baseYFastDraw;
|
|||
|
extern int amountXFastDraw2, amountYFastDraw2;
|
|||
|
extern int nowXFastDraw2, nowYFastDraw2;
|
|||
|
extern int baseXFastDraw2, baseYFastDraw2;
|
|||
|
#ifdef _MOVE_SCREEN
|
|||
|
extern int iScreenMoveX, iScreenMoveY;
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
void initMapEffect( BOOL bFirstRun );
|
|||
|
void drawMapEffect( void );
|
|||
|
void mapEffectProc( void );
|
|||
|
void mapEffectRain( void );
|
|||
|
void mapEffectSnow( void );
|
|||
|
void mapEffectStar( void );
|
|||
|
void mapEffectFallingStar( void );
|
|||
|
void mapEffectKamiFubuki( void );
|
|||
|
void mapEffectDice(void);
|
|||
|
|
|||
|
#ifdef _HALLOWEEN_EFFECT
|
|||
|
void mapEffectHalloweenProc(void);
|
|||
|
#endif
|
|||
|
|
|||
|
void mapEffectProc2( int );
|
|||
|
void mapEffectRain2( int );
|
|||
|
void mapEffectSnow2( int );
|
|||
|
|
|||
|
void _checkEmptyMap( void );
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
#ifdef _ITEM_PATH
|
|||
|
extern BOOL ITEMPATHFLAG;
|
|||
|
#endif
|
|||
|
|
|||
|
#endif
|