tied to fix 'non-POD type' warning in some GCC versions; moved some common code to saveload.h

svn-id: r4997
This commit is contained in:
Max Horn 2002-09-22 02:53:15 +00:00
parent 5c74800450
commit fbe9c544de
3 changed files with 8 additions and 14 deletions

View file

@ -2914,14 +2914,6 @@ void Player::sequencer_timer()
/*******************************************************************/
#define OFFS(type,item) ((int)(&((type*)0)->item))
#define SIZE(type,item) sizeof(((type*)0)->item)
#define MKLINE(type,item,saveas) {OFFS(type,item),saveas,SIZE(type,item)}
#define MKARRAY(type,item,saveas,num) {OFFS(type,item),128|saveas,SIZE(type,item)}, {num,0,0}
#define MKEND() {0xFFFF,0xFF,0xFF}
#define MKREF(type,item,refid) {OFFS(type,item),refid,0xFF}
enum {
TYPE_PART = 1,
TYPE_PLAYER = 2,

View file

@ -210,12 +210,6 @@ bool Scumm::getSavegameName(int slot, char *desc)
return true;
}
#define OFFS(type,item) ((int)(&((type*)0)->item))
#define SIZE(type,item) sizeof(((type*)0)->item)
#define MKLINE(type,item,saveas) {OFFS(type,item),saveas,SIZE(type,item)}
#define MKARRAY(type,item,saveas,num) {OFFS(type,item),128|saveas,SIZE(type,item)}, {num,0,0}
#define MKEND() {0xFFFF,0xFF,0xFF}
void Scumm::saveOrLoad(Serializer *s)
{
const SaveLoadEntry objectEntries[] = {

View file

@ -22,6 +22,14 @@
#ifndef SAVELOAD_H
#define SAVELOAD_H
#define OFFS(type,item) ((int)(&((type*)0)->type::item))
#define SIZE(type,item) sizeof(((type*)0)->type::item)
#define MKLINE(type,item,saveas) {OFFS(type,item),saveas,SIZE(type,item)}
#define MKARRAY(type,item,saveas,num) {OFFS(type,item),128|saveas,SIZE(type,item)}, {num,0,0}
#define MKEND() {0xFFFF,0xFF,0xFF}
#define MKREF(type,item,refid) {OFFS(type,item),refid,0xFF}
enum {
sleByte = 1,
sleUint8 = 1,