forked from mirror/OpenTTD
(svn r1288) -Codechange: changed _map2 to an uint16. It is still saved and loaded as
an uint8 till the savegame version is bumped to version 5. Then it works automaticly as a fully uint16. So _stations[] can not be increased till after the bump!!
This commit is contained in:
45
saveload.h
45
saveload.h
@@ -1,6 +1,8 @@
|
||||
#ifndef SAVELOAD_H
|
||||
#define SAVELOAD_H
|
||||
|
||||
#include <setjmp.h>
|
||||
|
||||
typedef void ChunkSaveLoadProc();
|
||||
typedef void AutolengthProc(void *arg);
|
||||
|
||||
@@ -23,6 +25,49 @@ typedef struct {
|
||||
byte null;
|
||||
} NullStruct;
|
||||
|
||||
typedef void WriterProc(uint len);
|
||||
typedef uint ReaderProc();
|
||||
|
||||
typedef uint ReferenceToIntProc(void *v, uint t);
|
||||
typedef void *IntToReferenceProc(uint r, uint t);
|
||||
|
||||
typedef struct {
|
||||
bool save;
|
||||
byte need_length;
|
||||
byte block_mode;
|
||||
bool error;
|
||||
byte version;
|
||||
|
||||
int obj_len;
|
||||
int array_index, last_array_index;
|
||||
|
||||
uint32 offs_base;
|
||||
|
||||
WriterProc *write_bytes;
|
||||
ReaderProc *read_bytes;
|
||||
|
||||
ReferenceToIntProc *ref_to_int_proc;
|
||||
IntToReferenceProc *int_to_ref_proc;
|
||||
|
||||
const ChunkHandler * const * chs;
|
||||
const byte * const *includes;
|
||||
|
||||
byte *bufp, *bufe;
|
||||
|
||||
int tmp;
|
||||
|
||||
// these 3 may be used by compressor/decompressors.
|
||||
byte *buf; // pointer and size to read/write, initialized by init
|
||||
uint bufsize;
|
||||
FILE *fh;
|
||||
|
||||
void (*excpt_uninit)();
|
||||
const char *excpt_msg;
|
||||
jmp_buf excpt; // used to jump to "exception handler"
|
||||
} SaverLoader;
|
||||
|
||||
extern SaverLoader _sl;
|
||||
|
||||
enum {
|
||||
REF_SCHEDULE = 0,
|
||||
REF_VEHICLE = 1,
|
||||
|
Reference in New Issue
Block a user