Browse Source

CreateLevel & asserts

pull/88/head
galaxyhaxz 7 years ago committed by Anders Jenbo
parent
commit
d440da5dad
  1. 109
      Source/diablo.cpp

109
Source/diablo.cpp

@ -196,11 +196,12 @@ void run_game_loop(unsigned int uMsg)
void start_game(unsigned int uMsg)
{
cineflag = FALSE;
zoomflag = 1;
cineflag = FALSE;
InitCursor();
InitLightTable();
LoadDebugGFX();
/// ASSERT: assert(ghMainWnd);
music_stop();
ShowProgress(uMsg);
gmenu_init_menu();
@ -866,7 +867,9 @@ BOOL LeftMouseCmd(BOOL bShift)
{
BOOL bNear;
if (!leveltype) {
/// ASSERT: assert(MouseY < 352);
if (leveltype == DTYPE_TOWN) {
if (pcursitem != -1 && pcurs == CURSOR_HAND)
NetSendCmdLocParam1(TRUE, invflag ? CMD_GOTOGETITEM : CMD_GOTOAGETITEM, cursmx, cursmy, pcursitem);
if (pcursmonst != -1)
@ -1544,7 +1547,9 @@ void PressChar(int vkey)
void LoadLvlGFX()
{
switch (leveltype) {
/// ASSERT: assert(! pDungeonCels);
switch((unsigned char)leveltype) {
case DTYPE_TOWN:
pDungeonCels = LoadFileInMem("Levels\\TownData\\Town.CEL", 0);
pMegaTiles = LoadFileInMem("Levels\\TownData\\Town.TIL", 0);
@ -1577,12 +1582,13 @@ void LoadLvlGFX()
break;
default:
app_fatal("LoadLvlGFX");
return;
break;
}
}
void LoadAllGFX()
{
/// ASSERT: assert(! pSpeedCels);
pSpeedCels = DiabloAllocPtr(0x100000);
IncProgress();
IncProgress();
@ -1594,44 +1600,40 @@ void LoadAllGFX()
void CreateLevel(int lvldir)
{
int hnd; // cl
switch (leveltype) {
switch((unsigned char)leveltype) {
case DTYPE_TOWN:
CreateTown(lvldir);
InitTownTriggers();
hnd = 0;
LoadRndLvlPal(0);
break;
case DTYPE_CATHEDRAL:
CreateL5Dungeon(glSeedTbl[currlevel], lvldir);
InitL1Triggers();
Freeupstairs();
hnd = 1;
LoadRndLvlPal(1);
break;
case DTYPE_CATACOMBS:
CreateL2Dungeon(glSeedTbl[currlevel], lvldir);
InitL2Triggers();
Freeupstairs();
hnd = 2;
LoadRndLvlPal(2);
break;
case DTYPE_CAVES:
CreateL3Dungeon(glSeedTbl[currlevel], lvldir);
InitL3Triggers();
Freeupstairs();
hnd = 3;
LoadRndLvlPal(3);
break;
case DTYPE_HELL:
CreateL4Dungeon(glSeedTbl[currlevel], lvldir);
InitL4Triggers();
Freeupstairs();
hnd = 4;
LoadRndLvlPal(4);
break;
default:
app_fatal("CreateLevel");
return;
break;
}
LoadRndLvlPal(hnd);
}
void LoadGameLevel(BOOL firstflag, int lvldir)
@ -1873,44 +1875,49 @@ void game_loop(BOOL bStartup)
void game_logic()
{
if (PauseMode != 2) {
if (PauseMode == 1)
PauseMode = 2;
if (gbMaxPlayers == 1 && gmenu_exception()) {
drawpanflag |= 1u;
} else {
if (!gmenu_exception() && sgnTimeoutCurs == CURSOR_NONE) {
CheckCursMove();
track_process();
}
if (gbProcessPlayers)
ProcessPlayers();
if (leveltype != DTYPE_TOWN) {
ProcessMonsters();
ProcessObjects();
ProcessMissiles();
ProcessItems();
ProcessLightList();
ProcessVisionList();
} else {
ProcessTowners();
ProcessItems();
ProcessMissiles();
}
if(PauseMode == 2) {
return;
}
if(PauseMode == 1) {
PauseMode = 2;
}
if(gbMaxPlayers == 1 && gmenu_exception()) {
drawpanflag |= 1;
return;
}
if(!gmenu_exception() && sgnTimeoutCurs == 0) {
CheckCursMove();
track_process();
}
if(gbProcessPlayers) {
ProcessPlayers();
}
if(leveltype != DTYPE_TOWN) {
ProcessMonsters();
ProcessObjects();
ProcessMissiles();
ProcessItems();
ProcessLightList();
ProcessVisionList();
} else {
ProcessTowners();
ProcessItems();
ProcessMissiles();
}
#ifdef _DEBUG
if (debug_mode_key_inverted_v) {
if (GetAsyncKeyState(VK_SHIFT) & 0x8000)
ScrollView();
}
#endif
sound_update();
ClearPlrMsg();
CheckTriggers();
CheckQuests();
drawpanflag |= 1u;
pfile_update(0);
}
if(debug_mode_key_inverted_v && GetAsyncKeyState(VK_SHIFT) & 0x8000) {
ScrollView();
}
#endif
sound_update();
ClearPlrMsg();
CheckTriggers();
CheckQuests();
drawpanflag |= 1;
pfile_update(FALSE);
}
// 525718: using guessed type char cineflag;
// 52571C: using guessed type int drawpanflag;

Loading…
Cancel
Save