Cleanup automap.h
This commit is contained in:
parent
ff0fa95862
commit
37748c5e75
|
@ -24,15 +24,48 @@
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#define AUTOMAP_OFFSET_COUNT (AUTOMAP_MAP_COUNT * ELEVATION_COUNT)
|
||||||
|
|
||||||
|
#define AUTOMAP_WINDOW_WIDTH (519)
|
||||||
|
#define AUTOMAP_WINDOW_HEIGHT (480)
|
||||||
|
|
||||||
|
#define AUTOMAP_PIPBOY_VIEW_X (238)
|
||||||
|
#define AUTOMAP_PIPBOY_VIEW_Y (105)
|
||||||
|
|
||||||
|
static void automapRenderInMapWindow(int window, int elevation, unsigned char* backgroundData, int flags);
|
||||||
|
static int automapSaveEntry(File* stream);
|
||||||
|
static int automapLoadEntry(int map, int elevation);
|
||||||
|
static int automapSaveHeader(File* stream);
|
||||||
|
static int automapLoadHeader(File* stream);
|
||||||
|
static void _decode_map_data(int elevation);
|
||||||
|
static int automapCreate();
|
||||||
|
static int _copy_file_data(File* stream1, File* stream2, int length);
|
||||||
|
|
||||||
|
typedef enum AutomapFrm {
|
||||||
|
AUTOMAP_FRM_BACKGROUND,
|
||||||
|
AUTOMAP_FRM_BUTTON_UP,
|
||||||
|
AUTOMAP_FRM_BUTTON_DOWN,
|
||||||
|
AUTOMAP_FRM_SWITCH_UP,
|
||||||
|
AUTOMAP_FRM_SWITCH_DOWN,
|
||||||
|
AUTOMAP_FRM_COUNT,
|
||||||
|
} AutomapFrm;
|
||||||
|
|
||||||
|
typedef struct AutomapEntry {
|
||||||
|
int dataSize;
|
||||||
|
unsigned char isCompressed;
|
||||||
|
unsigned char* compressedData;
|
||||||
|
unsigned char* data;
|
||||||
|
} AutomapEntry;
|
||||||
|
|
||||||
// 0x41ADE0
|
// 0x41ADE0
|
||||||
const int _defam[AUTOMAP_MAP_COUNT][ELEVATION_COUNT] = {
|
static const int _defam[AUTOMAP_MAP_COUNT][ELEVATION_COUNT] = {
|
||||||
{ -1, -1, -1 },
|
{ -1, -1, -1 },
|
||||||
{ -1, -1, -1 },
|
{ -1, -1, -1 },
|
||||||
{ -1, -1, -1 },
|
{ -1, -1, -1 },
|
||||||
};
|
};
|
||||||
|
|
||||||
// 0x41B560
|
// 0x41B560
|
||||||
const int _displayMapList[AUTOMAP_MAP_COUNT] = {
|
static const int _displayMapList[AUTOMAP_MAP_COUNT] = {
|
||||||
-1,
|
-1,
|
||||||
-1,
|
-1,
|
||||||
-1,
|
-1,
|
||||||
|
@ -196,7 +229,7 @@ const int _displayMapList[AUTOMAP_MAP_COUNT] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// 0x41B7E0
|
// 0x41B7E0
|
||||||
const int gAutomapFrmIds[AUTOMAP_FRM_COUNT] = {
|
static const int gAutomapFrmIds[AUTOMAP_FRM_COUNT] = {
|
||||||
171, // automap.frm - automap window
|
171, // automap.frm - automap window
|
||||||
8, // lilredup.frm - little red button up
|
8, // lilredup.frm - little red button up
|
||||||
9, // lilreddn.frm - little red button down
|
9, // lilreddn.frm - little red button down
|
||||||
|
@ -205,13 +238,13 @@ const int gAutomapFrmIds[AUTOMAP_FRM_COUNT] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// 0x5108C4
|
// 0x5108C4
|
||||||
int gAutomapFlags = 0;
|
static int gAutomapFlags = 0;
|
||||||
|
|
||||||
// 0x56CB18
|
// 0x56CB18
|
||||||
AutomapHeader gAutomapHeader;
|
static AutomapHeader gAutomapHeader;
|
||||||
|
|
||||||
// 0x56D2A0
|
// 0x56D2A0
|
||||||
AutomapEntry gAutomapEntry;
|
static AutomapEntry gAutomapEntry;
|
||||||
|
|
||||||
// automap_init
|
// automap_init
|
||||||
// 0x41B7F4
|
// 0x41B7F4
|
||||||
|
@ -428,7 +461,7 @@ void automapShow(bool isInGame, bool isUsingScanner)
|
||||||
// Renders automap in Map window.
|
// Renders automap in Map window.
|
||||||
//
|
//
|
||||||
// 0x41BD1C
|
// 0x41BD1C
|
||||||
void automapRenderInMapWindow(int window, int elevation, unsigned char* backgroundData, int flags)
|
static void automapRenderInMapWindow(int window, int elevation, unsigned char* backgroundData, int flags)
|
||||||
{
|
{
|
||||||
int color;
|
int color;
|
||||||
if ((flags & AUTOMAP_IN_GAME) != 0) {
|
if ((flags & AUTOMAP_IN_GAME) != 0) {
|
||||||
|
@ -831,7 +864,7 @@ int automapSaveCurrent()
|
||||||
// Saves automap entry into stream.
|
// Saves automap entry into stream.
|
||||||
//
|
//
|
||||||
// 0x41C844
|
// 0x41C844
|
||||||
int automapSaveEntry(File* stream)
|
static int automapSaveEntry(File* stream)
|
||||||
{
|
{
|
||||||
unsigned char* buffer;
|
unsigned char* buffer;
|
||||||
if (gAutomapEntry.isCompressed == 1) {
|
if (gAutomapEntry.isCompressed == 1) {
|
||||||
|
@ -863,7 +896,7 @@ err:
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x41C8CC
|
// 0x41C8CC
|
||||||
int automapLoadEntry(int map, int elevation)
|
static int automapLoadEntry(int map, int elevation)
|
||||||
{
|
{
|
||||||
gAutomapEntry.compressedData = NULL;
|
gAutomapEntry.compressedData = NULL;
|
||||||
|
|
||||||
|
@ -950,7 +983,7 @@ out:
|
||||||
// Saves automap.db header.
|
// Saves automap.db header.
|
||||||
//
|
//
|
||||||
// 0x41CAD8
|
// 0x41CAD8
|
||||||
int automapSaveHeader(File* stream)
|
static int automapSaveHeader(File* stream)
|
||||||
{
|
{
|
||||||
fileRewind(stream);
|
fileRewind(stream);
|
||||||
|
|
||||||
|
@ -980,7 +1013,7 @@ err:
|
||||||
// Loads automap.db header.
|
// Loads automap.db header.
|
||||||
//
|
//
|
||||||
// 0x41CB50
|
// 0x41CB50
|
||||||
int automapLoadHeader(File* stream)
|
static int automapLoadHeader(File* stream)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (fileReadUInt8(stream, &(gAutomapHeader.version)) == -1) {
|
if (fileReadUInt8(stream, &(gAutomapHeader.version)) == -1) {
|
||||||
|
@ -1003,7 +1036,7 @@ int automapLoadHeader(File* stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x41CBA4
|
// 0x41CBA4
|
||||||
void _decode_map_data(int elevation)
|
static void _decode_map_data(int elevation)
|
||||||
{
|
{
|
||||||
memset(gAutomapEntry.data, 0, SQUARE_GRID_SIZE);
|
memset(gAutomapEntry.data, 0, SQUARE_GRID_SIZE);
|
||||||
|
|
||||||
|
@ -1036,7 +1069,7 @@ void _decode_map_data(int elevation)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x41CC98
|
// 0x41CC98
|
||||||
int automapCreate()
|
static int automapCreate()
|
||||||
{
|
{
|
||||||
gAutomapHeader.version = 1;
|
gAutomapHeader.version = 1;
|
||||||
gAutomapHeader.dataSize = 1925;
|
gAutomapHeader.dataSize = 1925;
|
||||||
|
@ -1063,7 +1096,7 @@ int automapCreate()
|
||||||
// Copy data from stream1 to stream2.
|
// Copy data from stream1 to stream2.
|
||||||
//
|
//
|
||||||
// 0x41CD6C
|
// 0x41CD6C
|
||||||
int _copy_file_data(File* stream1, File* stream2, int length)
|
static int _copy_file_data(File* stream1, File* stream2, int length)
|
||||||
{
|
{
|
||||||
void* buffer = internal_malloc(0xFFFF);
|
void* buffer = internal_malloc(0xFFFF);
|
||||||
if (buffer == NULL) {
|
if (buffer == NULL) {
|
||||||
|
|
|
@ -12,14 +12,6 @@
|
||||||
// NOTE: I don't know why this value is not equal to the number of maps.
|
// NOTE: I don't know why this value is not equal to the number of maps.
|
||||||
#define AUTOMAP_MAP_COUNT (160)
|
#define AUTOMAP_MAP_COUNT (160)
|
||||||
|
|
||||||
#define AUTOMAP_OFFSET_COUNT (AUTOMAP_MAP_COUNT * ELEVATION_COUNT)
|
|
||||||
|
|
||||||
#define AUTOMAP_WINDOW_WIDTH (519)
|
|
||||||
#define AUTOMAP_WINDOW_HEIGHT (480)
|
|
||||||
|
|
||||||
#define AUTOMAP_PIPBOY_VIEW_X (238)
|
|
||||||
#define AUTOMAP_PIPBOY_VIEW_Y (105)
|
|
||||||
|
|
||||||
// View options for rendering automap for map window. These are stored in
|
// View options for rendering automap for map window. These are stored in
|
||||||
// [gAutomapFlags] and is saved in save game file.
|
// [gAutomapFlags] and is saved in save game file.
|
||||||
typedef enum AutomapFlags {
|
typedef enum AutomapFlags {
|
||||||
|
@ -36,15 +28,6 @@ typedef enum AutomapFlags {
|
||||||
AUTOMAP_WITH_SCANNER = 0x04,
|
AUTOMAP_WITH_SCANNER = 0x04,
|
||||||
} AutomapFlags;
|
} AutomapFlags;
|
||||||
|
|
||||||
typedef enum AutomapFrm {
|
|
||||||
AUTOMAP_FRM_BACKGROUND,
|
|
||||||
AUTOMAP_FRM_BUTTON_UP,
|
|
||||||
AUTOMAP_FRM_BUTTON_DOWN,
|
|
||||||
AUTOMAP_FRM_SWITCH_UP,
|
|
||||||
AUTOMAP_FRM_SWITCH_DOWN,
|
|
||||||
AUTOMAP_FRM_COUNT,
|
|
||||||
} AutomapFrm;
|
|
||||||
|
|
||||||
typedef struct AutomapHeader {
|
typedef struct AutomapHeader {
|
||||||
unsigned char version;
|
unsigned char version;
|
||||||
|
|
||||||
|
@ -60,22 +43,6 @@ typedef struct AutomapHeader {
|
||||||
int offsets[AUTOMAP_MAP_COUNT][ELEVATION_COUNT];
|
int offsets[AUTOMAP_MAP_COUNT][ELEVATION_COUNT];
|
||||||
} AutomapHeader;
|
} AutomapHeader;
|
||||||
|
|
||||||
typedef struct AutomapEntry {
|
|
||||||
int dataSize;
|
|
||||||
unsigned char isCompressed;
|
|
||||||
unsigned char* compressedData;
|
|
||||||
unsigned char* data;
|
|
||||||
} AutomapEntry;
|
|
||||||
|
|
||||||
extern const int _defam[AUTOMAP_MAP_COUNT][ELEVATION_COUNT];
|
|
||||||
extern const int _displayMapList[AUTOMAP_MAP_COUNT];
|
|
||||||
extern const int gAutomapFrmIds[AUTOMAP_FRM_COUNT];
|
|
||||||
|
|
||||||
extern int gAutomapFlags;
|
|
||||||
|
|
||||||
extern AutomapHeader gAutomapHeader;
|
|
||||||
extern AutomapEntry gAutomapEntry;
|
|
||||||
|
|
||||||
int automapInit();
|
int automapInit();
|
||||||
int automapReset();
|
int automapReset();
|
||||||
void automapExit();
|
void automapExit();
|
||||||
|
@ -83,16 +50,8 @@ int automapLoad(File* stream);
|
||||||
int automapSave(File* stream);
|
int automapSave(File* stream);
|
||||||
int _automapDisplayMap(int map);
|
int _automapDisplayMap(int map);
|
||||||
void automapShow(bool isInGame, bool isUsingScanner);
|
void automapShow(bool isInGame, bool isUsingScanner);
|
||||||
void automapRenderInMapWindow(int window, int elevation, unsigned char* backgroundData, int flags);
|
|
||||||
int automapRenderInPipboyWindow(int win, int map, int elevation);
|
int automapRenderInPipboyWindow(int win, int map, int elevation);
|
||||||
int automapSaveCurrent();
|
int automapSaveCurrent();
|
||||||
int automapSaveEntry(File* stream);
|
|
||||||
int automapLoadEntry(int map, int elevation);
|
|
||||||
int automapSaveHeader(File* stream);
|
|
||||||
int automapLoadHeader(File* stream);
|
|
||||||
void _decode_map_data(int elevation);
|
|
||||||
int automapCreate();
|
|
||||||
int _copy_file_data(File* stream1, File* stream2, int length);
|
|
||||||
int automapGetHeader(AutomapHeader** automapHeaderPtr);
|
int automapGetHeader(AutomapHeader** automapHeaderPtr);
|
||||||
|
|
||||||
#endif /* AUTOMAP_H */
|
#endif /* AUTOMAP_H */
|
||||||
|
|
Loading…
Reference in New Issue