Browse Source

Reorder loadsave.cpp

pull/911/head
Anders Jenbo 5 years ago
parent
commit
a9502d43fc
  1. 286
      Source/loadsave.cpp
  2. 30
      Source/loadsave.h

286
Source/loadsave.cpp

@ -7,6 +7,106 @@
BYTE *tbuff; BYTE *tbuff;
static char BLoad()
{
return *tbuff++;
}
static int WLoad()
{
int rv = *tbuff++ << 24;
rv |= *tbuff++ << 16;
rv |= *tbuff++ << 8;
rv |= *tbuff++;
return rv;
}
static int ILoad()
{
int rv = *tbuff++ << 24;
rv |= *tbuff++ << 16;
rv |= *tbuff++ << 8;
rv |= *tbuff++;
return rv;
}
static BOOL OLoad()
{
if (*tbuff++ == TRUE)
return TRUE;
else
return FALSE;
}
static void LoadPlayer(int i)
{
memcpy(&plr[i], tbuff, sizeof(*plr) - (10 * sizeof(void *)));
tbuff += sizeof(*plr) - (10 * sizeof(void *)); // omit last 10 pointers
}
static void LoadMonster(int i)
{
memcpy(&monster[i], tbuff, sizeof(*monster) - (3 * sizeof(void *)));
tbuff += sizeof(*monster) - (3 * sizeof(void *)); // omit last 3 pointers
SyncMonsterAnim(i);
}
static void LoadMissile(int i)
{
memcpy(&missile[i], tbuff, sizeof(*missile));
tbuff += sizeof(*missile);
}
static void LoadObject(int i)
{
memcpy(&object[i], tbuff, sizeof(*object));
tbuff += sizeof(*object);
}
static void LoadItem(int i)
{
memcpy(&item[i], tbuff, sizeof(*item));
tbuff += sizeof(*item);
GetItemFrm(i);
}
static void LoadPremium(int i)
{
memcpy(&premiumitem[i], tbuff, sizeof(*premiumitem));
tbuff += sizeof(*premiumitem);
}
static void LoadQuest(int i)
{
memcpy(&quests[i], tbuff, sizeof(*quests));
tbuff += sizeof(*quests);
ReturnLvlX = WLoad();
ReturnLvlY = WLoad();
ReturnLvl = WLoad();
ReturnLvlT = WLoad();
DoomQuestState = WLoad();
}
static void LoadLighting(int i)
{
memcpy(&LightList[i], tbuff, sizeof(*LightList));
tbuff += sizeof(*LightList);
}
static void LoadVision(int i)
{
memcpy(&VisionList[i], tbuff, sizeof(*VisionList));
tbuff += sizeof(*VisionList);
}
static void LoadPortal(int i)
{
memcpy(&portal[i], tbuff, sizeof(*portal));
tbuff += sizeof(*portal);
}
/** /**
* @brief Load game state * @brief Load game state
* @param firstflag Can be set to false if we are simply reloading the current game * @param firstflag Can be set to false if we are simply reloading the current game
@ -27,6 +127,8 @@ void LoadGame(BOOL firstflag)
#ifdef HELLFIRE #ifdef HELLFIRE
if (ILoad() != 'HELF') if (ILoad() != 'HELF')
#elif defined(SPAWN)
if (ILoad() != 'SHAR')
#else #else
if (ILoad() != 'RETL') if (ILoad() != 'RETL')
#endif #endif
@ -190,103 +292,97 @@ void LoadGame(BOOL firstflag)
gbProcessPlayers = TRUE; gbProcessPlayers = TRUE;
} }
char BLoad() static void BSave(char v)
{ {
return *tbuff++; *tbuff++ = v;
} }
int WLoad() static void WSave(int v)
{ {
int rv = *tbuff++ << 24; *tbuff++ = v >> 24;
rv |= *tbuff++ << 16; *tbuff++ = v >> 16;
rv |= *tbuff++ << 8; *tbuff++ = v >> 8;
rv |= *tbuff++; *tbuff++ = v;
return rv;
} }
int ILoad() static void ISave(int v)
{ {
int rv = *tbuff++ << 24; *tbuff++ = v >> 24;
rv |= *tbuff++ << 16; *tbuff++ = v >> 16;
rv |= *tbuff++ << 8; *tbuff++ = v >> 8;
rv |= *tbuff++; *tbuff++ = v;
return rv;
} }
BOOL OLoad() static void OSave(BOOL v)
{ {
if (*tbuff++ == TRUE) if (v != FALSE)
return TRUE; *tbuff++ = TRUE;
else else
return FALSE; *tbuff++ = FALSE;
} }
void LoadPlayer(int i) static void SavePlayer(int i)
{ {
memcpy(&plr[i], tbuff, sizeof(*plr) - (10 * sizeof(void *))); memcpy(tbuff, &plr[i], sizeof(*plr) - (10 * sizeof(void *)));
tbuff += sizeof(*plr) - (10 * sizeof(void *)); // omit last 10 pointers tbuff += sizeof(*plr) - (10 * sizeof(void *)); // omit last 10 pointers
} }
void LoadMonster(int i) static void SaveMonster(int i)
{ {
memcpy(&monster[i], tbuff, sizeof(*monster) - (3 * sizeof(void *))); memcpy(tbuff, &monster[i], sizeof(*monster) - (3 * sizeof(void *)));
tbuff += sizeof(*monster) - (3 * sizeof(void *)); // omit last 3 pointers tbuff += sizeof(*monster) - (3 * sizeof(void *)); // omit last 3 pointers
SyncMonsterAnim(i);
} }
void LoadMissile(int i) static void SaveMissile(int i)
{ {
memcpy(&missile[i], tbuff, sizeof(*missile)); memcpy(tbuff, &missile[i], sizeof(*missile));
tbuff += sizeof(*missile); tbuff += sizeof(*missile);
} }
void LoadObject(int i) static void SaveObject(int i)
{ {
memcpy(&object[i], tbuff, sizeof(*object)); memcpy(tbuff, &object[i], sizeof(*object));
tbuff += sizeof(*object); tbuff += sizeof(*object);
} }
void LoadItem(int i) static void SaveItem(int i)
{ {
memcpy(&item[i], tbuff, sizeof(*item)); memcpy(tbuff, &item[i], sizeof(*item));
tbuff += sizeof(*item); tbuff += sizeof(*item);
GetItemFrm(i);
} }
void LoadPremium(int i) static void SavePremium(int i)
{ {
memcpy(&premiumitem[i], tbuff, sizeof(*premiumitem)); memcpy(tbuff, &premiumitem[i], sizeof(*premiumitem));
tbuff += sizeof(*premiumitem); tbuff += sizeof(*premiumitem);
} }
void LoadQuest(int i) static void SaveQuest(int i)
{ {
memcpy(&quests[i], tbuff, sizeof(*quests)); memcpy(tbuff, &quests[i], sizeof(*quests));
tbuff += sizeof(*quests); tbuff += sizeof(*quests);
ReturnLvlX = WLoad(); WSave(ReturnLvlX);
ReturnLvlY = WLoad(); WSave(ReturnLvlY);
ReturnLvl = WLoad(); WSave(ReturnLvl);
ReturnLvlT = WLoad(); WSave(ReturnLvlT);
DoomQuestState = WLoad(); WSave(DoomQuestState);
} }
void LoadLighting(int i) static void SaveLighting(int i)
{ {
memcpy(&LightList[i], tbuff, sizeof(*LightList)); memcpy(tbuff, &LightList[i], sizeof(*LightList));
tbuff += sizeof(*LightList); tbuff += sizeof(*LightList);
} }
void LoadVision(int i) static void SaveVision(int i)
{ {
memcpy(&VisionList[i], tbuff, sizeof(*VisionList)); memcpy(tbuff, &VisionList[i], sizeof(*VisionList));
tbuff += sizeof(*VisionList); tbuff += sizeof(*VisionList);
} }
void LoadPortal(int i) static void SavePortal(int i)
{ {
memcpy(&portal[i], tbuff, sizeof(*portal)); memcpy(tbuff, &portal[i], sizeof(*portal));
tbuff += sizeof(*portal); tbuff += sizeof(*portal);
} }
@ -301,6 +397,8 @@ void SaveGame()
#ifdef HELLFIRE #ifdef HELLFIRE
ISave('HELF'); ISave('HELF');
#elif defined(SPAWN)
ISave('SHAR');
#else #else
ISave('RETL'); ISave('RETL');
#endif #endif
@ -440,100 +538,6 @@ void SaveGame()
pfile_write_hero(); pfile_write_hero();
} }
void BSave(char v)
{
*tbuff++ = v;
}
void WSave(int v)
{
*tbuff++ = v >> 24;
*tbuff++ = v >> 16;
*tbuff++ = v >> 8;
*tbuff++ = v;
}
void ISave(int v)
{
*tbuff++ = v >> 24;
*tbuff++ = v >> 16;
*tbuff++ = v >> 8;
*tbuff++ = v;
}
void OSave(BOOL v)
{
if (v != FALSE)
*tbuff++ = TRUE;
else
*tbuff++ = FALSE;
}
void SavePlayer(int i)
{
memcpy(tbuff, &plr[i], sizeof(*plr) - (10 * sizeof(void *)));
tbuff += sizeof(*plr) - (10 * sizeof(void *)); // omit last 10 pointers
}
void SaveMonster(int i)
{
memcpy(tbuff, &monster[i], sizeof(*monster) - (3 * sizeof(void *)));
tbuff += sizeof(*monster) - (3 * sizeof(void *)); // omit last 3 pointers
}
void SaveMissile(int i)
{
memcpy(tbuff, &missile[i], sizeof(*missile));
tbuff += sizeof(*missile);
}
void SaveObject(int i)
{
memcpy(tbuff, &object[i], sizeof(*object));
tbuff += sizeof(*object);
}
void SaveItem(int i)
{
memcpy(tbuff, &item[i], sizeof(*item));
tbuff += sizeof(*item);
}
void SavePremium(int i)
{
memcpy(tbuff, &premiumitem[i], sizeof(*premiumitem));
tbuff += sizeof(*premiumitem);
}
void SaveQuest(int i)
{
memcpy(tbuff, &quests[i], sizeof(*quests));
tbuff += sizeof(*quests);
WSave(ReturnLvlX);
WSave(ReturnLvlY);
WSave(ReturnLvl);
WSave(ReturnLvlT);
WSave(DoomQuestState);
}
void SaveLighting(int i)
{
memcpy(tbuff, &LightList[i], sizeof(*LightList));
tbuff += sizeof(*LightList);
}
void SaveVision(int i)
{
memcpy(tbuff, &VisionList[i], sizeof(*VisionList));
tbuff += sizeof(*VisionList);
}
void SavePortal(int i)
{
memcpy(tbuff, &portal[i], sizeof(*portal));
tbuff += sizeof(*portal);
}
void SaveLevel() void SaveLevel()
{ {
int i, j; int i, j;

30
Source/loadsave.h

@ -6,38 +6,8 @@
#ifndef __LOADSAVE_H__ #ifndef __LOADSAVE_H__
#define __LOADSAVE_H__ #define __LOADSAVE_H__
extern BYTE *tbuff;
void LoadGame(BOOL firstflag); void LoadGame(BOOL firstflag);
char BLoad();
int WLoad();
int ILoad();
BOOL OLoad();
void LoadPlayer(int i);
void LoadMonster(int i);
void LoadMissile(int i);
void LoadObject(int i);
void LoadItem(int i);
void LoadPremium(int i);
void LoadQuest(int i);
void LoadLighting(int i);
void LoadVision(int i);
void LoadPortal(int i);
void SaveGame(); void SaveGame();
void BSave(char v);
void WSave(int v);
void ISave(int v);
void OSave(BOOL v);
void SavePlayer(int i);
void SaveMonster(int i);
void SaveMissile(int i);
void SaveObject(int i);
void SaveItem(int i);
void SavePremium(int i);
void SaveQuest(int i);
void SaveLighting(int i);
void SaveVision(int i);
void SavePortal(int i);
void SaveLevel(); void SaveLevel();
void LoadLevel(); void LoadLevel();

Loading…
Cancel
Save