Files
@ r1885:5a3b2b72280f
Branch filter:
Location: cpp/openttd-patchpack/source/newgrf.h - annotation
r1885:5a3b2b72280f
1.2 KiB
text/x-c
(svn r2391) - Feature: saving games happen in a seperate thread so you no longer will have to wait such a long time (especially handy on bigger maps and multiplayer games). The mouse also changes into the 'ZZZ' state :P. The thread on windows is currently given a little-bit-less-than-normal priority so it should not interfere that much with the gameplay; it will take a bit longer though. Upon the exit of the game any pending saves are waited upon.
- Fix: fixed GetSavegameFormat() so that it takes the best compressor (highest), or a forced one added with the parameter
- Open issues:
1. Don't attempt to load a game while saving is in progress, it will kick you back to the intro-screen with only the vast ocean to look at.
2. The server is disabled from threaded-saving, but might be enabled in the future.
3. Current implementation only allows 1 additional running thread.
4. Stupid global variables.....grrr
Big thanks for TrueLight and the amazing memorypool :D
- Fix: fixed GetSavegameFormat() so that it takes the best compressor (highest), or a forced one added with the parameter
- Open issues:
1. Don't attempt to load a game while saving is in progress, it will kick you back to the intro-screen with only the vast ocean to look at.
2. The server is disabled from threaded-saving, but might be enabled in the future.
3. Current implementation only allows 1 additional running thread.
4. Stupid global variables.....grrr
Big thanks for TrueLight and the amazing memorypool :D
r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r463:fa51a6ca6476 r463:fa51a6ca6476 r463:fa51a6ca6476 r1477:d0fe35adb3c4 r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r1477:d0fe35adb3c4 r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r1477:d0fe35adb3c4 r455:d13030ebb99c r1477:d0fe35adb3c4 r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r1477:d0fe35adb3c4 r455:d13030ebb99c r463:fa51a6ca6476 r463:fa51a6ca6476 r463:fa51a6ca6476 r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c | #ifndef NEWGRF_H
#define NEWGRF_H
#include "sprite.h"
#include "station.h"
typedef struct GRFFile GRFFile;
struct GRFFile {
char *filename;
uint32 grfid;
uint16 flags;
uint16 sprite_offset;
GRFFile *next;
/* A sprite group contains all sprites of a given vehicle (or multiple
* vehicles) when carrying given cargo. It consists of several sprite
* sets. Group ids are refered as "cargo id"s by TTDPatch
* documentation, contributing to the global confusion.
*
* A sprite set contains all sprites of a given vehicle carrying given
* cargo at a given *stage* - that is usually its load stage. Ie. you
* can have a spriteset for an empty wagon, wagon full of coal,
* half-filled wagon etc. Each spriteset contains eight sprites (one
* per direction) or four sprites if the vehicle is symmetric. */
int spriteset_start;
int spriteset_numsets;
int spriteset_numents;
int spriteset_feature;
int spritegroups_count;
SpriteGroup *spritegroups;
StationSpec stations[256];
};
extern int _grffile_count;
extern GRFFile *_first_grffile;
void InitNewGRFFile(const char *filename, int sprite_offset);
void DecodeSpecialSprite(const char *filename, int num, int spriteid, int stage);
#endif /* NEWGRF_H */
|