Browse Source

Format mostly cleaned files

pull/25/head
Anders Jenbo 8 years ago
parent
commit
87ef2f91e7
  1. 14
      Source/automap.h
  2. 118
      Source/dead.cpp
  3. 4
      Source/doom.h
  4. 2209
      Source/effects.cpp
  5. 4
      Source/effects.h
  6. 71
      Source/mainmenu.cpp
  7. 4
      Source/path.h
  8. 6
      Source/player.h
  9. 2
      Source/plrmsg.h
  10. 51
      Source/portal.cpp
  11. 309
      Source/setmaps.cpp
  12. 1007
      Source/textdat.cpp
  13. 2
      Source/tmsg.h

14
Source/automap.h

@ -6,14 +6,14 @@ extern WORD automaptype[512];
extern BOOL automapflag; // idb
extern char AMbyte_4B7E4C[32];
extern unsigned char automapview[DMAXX][DMAXY];
extern int AutoMapScale; // idb
extern int AutoMapXOfs; // weak
extern int AutoMapYOfs; // weak
extern int AutoMapScale; // idb
extern int AutoMapXOfs; // weak
extern int AutoMapYOfs; // weak
extern int AutoMapPosBits; // weak
extern int AutoMapXPos; // weak
extern int AutoMapYPos; // weak
extern int AMPlayerX; // weak
extern int AMPlayerY; // weak
extern int AutoMapXPos; // weak
extern int AutoMapYPos; // weak
extern int AMPlayerX; // weak
extern int AMPlayerY; // weak
void __cdecl InitAutomapOnce();
void __cdecl InitAutomap();

118
Source/dead.cpp

@ -10,77 +10,77 @@ int stonendx;
void __cdecl InitDead()
{
int i, j;
int mtypes[MAXMONSTERS];
int idx;
int i, j;
int mtypes[MAXMONSTERS];
int idx;
for ( i = 0; i < MAXMONSTERS; i++ )
mtypes[i] = 0;
for (i = 0; i < MAXMONSTERS; i++)
mtypes[i] = 0;
idx = 0;
for (i=0; i < nummtypes; i++) {
if (!mtypes[Monsters[i].mtype]) {
for ( j=0; j < 8; j++)
dead[idx]._deadData[j] = Monsters[i].Anims[MA_DEATH].Data[j];
dead[idx]._deadFrame = Monsters[i].Anims[MA_DEATH].Frames;
dead[idx]._deadWidth = Monsters[i].flags_1;
dead[idx]._deadWidth2 = Monsters[i].flags_2;
dead[idx]._deadtrans = 0;
Monsters[i].mdeadval = idx+1;
mtypes[Monsters[i].mtype] = ++idx;
}
}
idx = 0;
for (i = 0; i < nummtypes; i++) {
if (!mtypes[Monsters[i].mtype]) {
for (j = 0; j < 8; j++)
dead[idx]._deadData[j] = Monsters[i].Anims[MA_DEATH].Data[j];
dead[idx]._deadFrame = Monsters[i].Anims[MA_DEATH].Frames;
dead[idx]._deadWidth = Monsters[i].flags_1;
dead[idx]._deadWidth2 = Monsters[i].flags_2;
dead[idx]._deadtrans = 0;
Monsters[i].mdeadval = idx + 1;
mtypes[Monsters[i].mtype] = ++idx;
}
}
for (j=0; j < 8; j++)
dead[idx]._deadData[j] = misfiledata[MFILE_BLODBUR].mAnimData[0];
dead[idx]._deadtrans = 0;
dead[idx]._deadFrame = 8;
spurtndx = idx + 1;
dead[idx]._deadWidth = 128;
dead[idx]._deadWidth2 = 32;
idx = spurtndx;
for (j = 0; j < 8; j++)
dead[idx]._deadData[j] = misfiledata[MFILE_BLODBUR].mAnimData[0];
dead[idx]._deadtrans = 0;
dead[idx]._deadFrame = 8;
spurtndx = idx + 1;
dead[idx]._deadWidth = 128;
dead[idx]._deadWidth2 = 32;
idx = spurtndx;
for (j=0; j < 8; j++)
dead[idx]._deadData[j] = misfiledata[MFILE_SHATTER1].mAnimData[0];
dead[idx]._deadtrans = 0;
dead[idx]._deadFrame = 12;
stonendx = idx + 1;
dead[idx]._deadWidth = 128;
dead[idx]._deadWidth2 = 32;
idx++;
for (j = 0; j < 8; j++)
dead[idx]._deadData[j] = misfiledata[MFILE_SHATTER1].mAnimData[0];
dead[idx]._deadtrans = 0;
dead[idx]._deadFrame = 12;
stonendx = idx + 1;
dead[idx]._deadWidth = 128;
dead[idx]._deadWidth2 = 32;
idx++;
for (i=0; i < nummonsters; i++) {
int ii = monstactive[i];
if ( monster[ii]._uniqtype ) {
for (j=0; j < 8; j++)
dead[idx]._deadData[j] = monster[ii].MType->Anims[MA_DEATH].Data[j];
dead[idx]._deadFrame = monster[ii].MType->Anims[MA_DEATH].Frames;
dead[idx]._deadWidth = monster[ii].MType->flags_1;
dead[idx]._deadWidth2 = monster[ii].MType->flags_2;
dead[idx]._deadtrans = monster[ii]._uniqtrans + 4;
monster[ii]._udeadval = idx+1;
idx++;
}
}
for (i = 0; i < nummonsters; i++) {
int ii = monstactive[i];
if (monster[ii]._uniqtype) {
for (j = 0; j < 8; j++)
dead[idx]._deadData[j] = monster[ii].MType->Anims[MA_DEATH].Data[j];
dead[idx]._deadFrame = monster[ii].MType->Anims[MA_DEATH].Frames;
dead[idx]._deadWidth = monster[ii].MType->flags_1;
dead[idx]._deadWidth2 = monster[ii].MType->flags_2;
dead[idx]._deadtrans = monster[ii]._uniqtrans + 4;
monster[ii]._udeadval = idx + 1;
idx++;
}
}
}
// 4B8CD8: using guessed type int spurtndx;
void __fastcall AddDead(int dx, int dy, char dv, int ddir)
{
dDead[dx][dy] = (dv & 0x1F) + (ddir << 5);
dDead[dx][dy] = (dv & 0x1F) + (ddir << 5);
}
void __cdecl SetDead()
{
for ( int i = 0; i < nummonsters; i++ ) {
int m = monstactive[i];
if ( monster[m]._uniqtype ) {
for ( int x=0; x < MAXDUNX; x++ ) {
for ( int y=0; y < MAXDUNY; y++) {
if ( (dDead[x][y] & 0x1F) == monster[m]._udeadval )
ChangeLightXY(monster[m].mlid, x, y);
}
}
}
}
for (int i = 0; i < nummonsters; i++) {
int m = monstactive[i];
if (monster[m]._uniqtype) {
for (int x = 0; x < MAXDUNX; x++) {
for (int y = 0; y < MAXDUNY; y++) {
if ((dDead[x][y] & 0x1F) == monster[m]._udeadval)
ChangeLightXY(monster[m].mlid, x, y);
}
}
}
}
}

4
Source/doom.h

@ -2,10 +2,10 @@
#ifndef __DOOM_H__
#define __DOOM_H__
extern int doom_quest_time; // weak
extern int doom_quest_time; // weak
extern int doom_stars_drawn; // weak
extern void *pDoomCel;
extern int doomflag; // weak
extern int doomflag; // weak
extern int DoomQuestState; // idb
/*

2209
Source/effects.cpp

File diff suppressed because it is too large Load Diff

4
Source/effects.h

@ -3,7 +3,7 @@
#define __EFFECTS_H__
extern int effects_cpp_init_value; // weak
extern int sfxdelay; // weak
extern int sfxdelay; // weak
extern int sfxdnum;
extern void *sfx_stream;
extern TSFX *sfx_data_cur;
@ -31,7 +31,7 @@ void __stdcall effects_play_sound(char *snd_file);
/* rdata */
extern const int effects_inf; // weak
extern const int effects_inf; // weak
extern const char monster_action_sounds[]; // idb
/* data */

71
Source/mainmenu.cpp

@ -83,45 +83,40 @@ int __stdcall mainmenu_select_hero_dialog(
void __cdecl mainmenu_loop()
{
int v1; // eax
int a2; // [esp+0h] [ebp-4h]
mainmenu_refresh_music();
do
{
while ( 1 )
{
a2 = 0;
if ( !UiMainMenuDialog("Diablo v1.09", &a2, effects_play_sound, 30) )
TermMsg("Unable to display mainmenu");
if ( a2 == 1 )
break;
switch ( a2 )
{
case MAINMENU_MULTIPLAYER:
v1 = mainmenu_multi_player();
goto LABEL_15;
case MAINMENU_REPLAY_INTRO:
goto LABEL_10;
case MAINMENU_SHOW_CREDITS:
UiCreditsDialog(16);
break;
case MAINMENU_EXIT_DIABLO:
goto LABEL_16;
case MAINMENU_ATTRACT_MODE:
LABEL_10:
if ( gbActive )
mainmenu_play_intro();
break;
}
}
v1 = mainmenu_single_player();
LABEL_15:
;
}
while ( v1 );
int v1; // eax
int a2; // [esp+0h] [ebp-4h]
mainmenu_refresh_music();
do {
while (1) {
a2 = 0;
if (!UiMainMenuDialog("Diablo v1.09", &a2, effects_play_sound, 30))
TermMsg("Unable to display mainmenu");
if (a2 == 1)
break;
switch (a2) {
case MAINMENU_MULTIPLAYER:
v1 = mainmenu_multi_player();
goto LABEL_15;
case MAINMENU_REPLAY_INTRO:
goto LABEL_10;
case MAINMENU_SHOW_CREDITS:
UiCreditsDialog(16);
break;
case MAINMENU_EXIT_DIABLO:
goto LABEL_16;
case MAINMENU_ATTRACT_MODE:
LABEL_10:
if (gbActive)
mainmenu_play_intro();
break;
}
}
v1 = mainmenu_single_player();
LABEL_15:;
} while (v1);
LABEL_16:
music_stop();
music_stop();
}
// 634980: using guessed type int gbActive;

4
Source/path.h

@ -10,12 +10,12 @@ extern PATHNODE *pnode_ptr;
extern PATHNODE *pnode_tblptr[300];
extern PATHNODE *path_2_nodes;
int __fastcall FindPath(BOOL (__fastcall *PosOk)(int, int, int), int PosOkArg, int sx, int sy, int dx, int dy, char *path);
int __fastcall FindPath(BOOL(__fastcall *PosOk)(int, int, int), int PosOkArg, int sx, int sy, int dx, int dy, char *path);
int __fastcall path_get_h_cost(int sx, int sy, int dx, int dy);
int __fastcall path_check_equal(PATHNODE *pPath, int dx, int dy);
PATHNODE *__cdecl GetNextPath();
BOOL __fastcall path_solid_pieces(PATHNODE *pPath, int dx, int dy);
BOOL __fastcall path_get_path(BOOL (__fastcall *PosOk)(int, int, int), int PosOkArg, PATHNODE *pPath, int x, int y);
BOOL __fastcall path_get_path(BOOL(__fastcall *PosOk)(int, int, int), int PosOkArg, PATHNODE *pPath, int x, int y);
BOOL __fastcall path_parent_path(PATHNODE *pPath, int dx, int dy, int sx, int sy);
PATHNODE *__fastcall path_get_node1(int dx, int dy);
PATHNODE *__fastcall path_get_node2(int dx, int dy);

6
Source/player.h

@ -6,17 +6,17 @@ extern int plr_lframe_size; // idb
extern int plr_wframe_size; // idb
extern UCHAR plr_gfx_flag;
extern int player_cpp_init_value; // weak
extern int plr_aframe_size; // idb
extern int plr_aframe_size; // idb
extern int myplr;
extern PlayerStruct plr[MAX_PLRS];
extern int plr_fframe_size; // idb
extern int plr_qframe_size; // idb
extern BOOL deathflag; // idb
extern BOOL deathflag; // idb
extern int plr_hframe_size; // idb
extern int plr_bframe_size; // idb
extern UCHAR plr_gfx_bflag;
extern int plr_sframe_size; // idb
extern int deathdelay; // weak
extern int deathdelay; // weak
extern int plr_dframe_size; // idb
void __cdecl player_cpp_init();

2
Source/plrmsg.h

@ -15,6 +15,6 @@ void __fastcall PrintPlrMsg(unsigned int x, unsigned int y, unsigned int width,
/* rdata */
extern const char text_color_from_player_num[MAX_PLRS+1];
extern const char text_color_from_player_num[MAX_PLRS + 1];
#endif /* __PLRMSG_H__ */

51
Source/portal.cpp

@ -123,35 +123,28 @@ void __fastcall SetCurrentPortal(int p)
void __cdecl GetPortalLevel()
{
if ( currlevel )
{
setlevel = 0;
currlevel = 0;
leveltype = 0;
plr[myplr].plrlevel = 0;
}
else
{
if ( portal[portalindex].setlvl )
{
setlevel = 1;
setlvlnum = portal[portalindex].level;
}
else
{
setlevel = 0;
}
currlevel = portal[portalindex].level;
leveltype = portal[portalindex].ltype;
plr[myplr].plrlevel = portal[portalindex].level;
if ( portalindex == myplr )
{
NetSendCmd(TRUE, CMD_DEACTIVATEPORTAL);
DeactivatePortal(portalindex);
}
}
if (currlevel) {
setlevel = 0;
currlevel = 0;
leveltype = 0;
plr[myplr].plrlevel = 0;
} else {
if (portal[portalindex].setlvl) {
setlevel = 1;
setlvlnum = portal[portalindex].level;
} else {
setlevel = 0;
}
currlevel = portal[portalindex].level;
leveltype = portal[portalindex].ltype;
plr[myplr].plrlevel = portal[portalindex].level;
if (portalindex == myplr) {
NetSendCmd(TRUE, CMD_DEACTIVATEPORTAL);
DeactivatePortal(portalindex);
}
}
}
// 5CF31D: using guessed type char setlevel;

309
Source/setmaps.cpp

@ -3,203 +3,190 @@
#include "../types.h"
// BUGFIX: constant data should be const
unsigned char SkelKingTrans1[8] =
{
19, 47, 26, 55,
26, 49, 30, 53
unsigned char SkelKingTrans1[8] = {
19, 47, 26, 55,
26, 49, 30, 53
};
unsigned char SkelKingTrans2[8] =
{
33, 19, 47, 29,
37, 29, 43, 39
unsigned char SkelKingTrans2[8] = {
33, 19, 47, 29,
37, 29, 43, 39
};
unsigned char SkelKingTrans3[20] =
{
27, 53, 35, 61,
27, 35, 34, 42,
45, 35, 53, 43,
45, 53, 53, 61,
31, 39, 49, 57
unsigned char SkelKingTrans3[20] = {
27, 53, 35, 61,
27, 35, 34, 42,
45, 35, 53, 43,
45, 53, 53, 61,
31, 39, 49, 57
};
unsigned char SkelKingTrans4[28] =
{
49, 45, 58, 51,
57, 31, 62, 37,
63, 31, 69, 40,
59, 41, 73, 55,
63, 55, 69, 65,
73, 45, 78, 51,
79, 43, 89, 53
unsigned char SkelKingTrans4[28] = {
49, 45, 58, 51,
57, 31, 62, 37,
63, 31, 69, 40,
59, 41, 73, 55,
63, 55, 69, 65,
73, 45, 78, 51,
79, 43, 89, 53
};
unsigned char SkelChamTrans1[20] =
{
43, 19, 50, 26,
51, 19, 59, 26,
35, 27, 42, 34,
43, 27, 49, 34,
50, 27, 59, 34
unsigned char SkelChamTrans1[20] = {
43, 19, 50, 26,
51, 19, 59, 26,
35, 27, 42, 34,
43, 27, 49, 34,
50, 27, 59, 34
};
unsigned char SkelChamTrans2[8] =
{
19, 31, 34, 47,
34, 35, 42, 42
unsigned char SkelChamTrans2[8] = {
19, 31, 34, 47,
34, 35, 42, 42
};
unsigned char SkelChamTrans3[36] =
{
43, 35, 50, 42,
51, 35, 62, 42,
63, 31, 66, 46,
67, 31, 78, 34,
67, 35, 78, 42,
67, 43, 78, 46,
35, 43, 42, 51,
43, 43, 49, 51,
50, 43, 59, 51
unsigned char SkelChamTrans3[36] = {
43, 35, 50, 42,
51, 35, 62, 42,
63, 31, 66, 46,
67, 31, 78, 34,
67, 35, 78, 42,
67, 43, 78, 46,
35, 43, 42, 51,
43, 43, 49, 51,
50, 43, 59, 51
};
char *quest_level_names[] =
{
"",
"Skeleton King's Lair",
"Bone Chamber",
"Maze",
"Poisoned Water Supply",
"Archbishop Lazarus' Lair"
char *quest_level_names[] = {
"",
"Skeleton King's Lair",
"Bone Chamber",
"Maze",
"Poisoned Water Supply",
"Archbishop Lazarus' Lair"
};
int __fastcall ObjIndex(int x, int y)
{
int i;
int oi;
for ( i = 0; i < nobjects; i++ ) {
oi = objectactive[i];
if ( object[oi]._ox == x && object[oi]._oy == y )
return oi;
}
TermMsg("ObjIndex: Active object not found at (%d,%d)", x, y);
return -1;
int i;
int oi;
for (i = 0; i < nobjects; i++) {
oi = objectactive[i];
if (object[oi]._ox == x && object[oi]._oy == y)
return oi;
}
TermMsg("ObjIndex: Active object not found at (%d,%d)", x, y);
return -1;
}
void __cdecl AddSKingObjs()
{
SetObjMapRange(ObjIndex(64, 34), 20, 7, 23, 10, 1);
SetObjMapRange(ObjIndex(64, 59), 20, 14, 21, 16, 2);
SetObjMapRange(ObjIndex(27, 37), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(46, 35), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(49, 53), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(27, 53), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(64, 34), 20, 7, 23, 10, 1);
SetObjMapRange(ObjIndex(64, 59), 20, 14, 21, 16, 2);
SetObjMapRange(ObjIndex(27, 37), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(46, 35), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(49, 53), 8, 1, 15, 11, 3);
SetObjMapRange(ObjIndex(27, 53), 8, 1, 15, 11, 3);
}
void __cdecl AddSChamObjs()
{
SetObjMapRange(ObjIndex(37, 30), 17, 0, 21, 5, 1);
SetObjMapRange(ObjIndex(37, 46), 13, 0, 16, 5, 2);
SetObjMapRange(ObjIndex(37, 30), 17, 0, 21, 5, 1);
SetObjMapRange(ObjIndex(37, 46), 13, 0, 16, 5, 2);
}
void __cdecl AddVileObjs()
{
SetObjMapRange(ObjIndex(26, 45), 1, 1, 9, 10, 1);
SetObjMapRange(ObjIndex(45, 46), 11, 1, 20, 10, 2);
SetObjMapRange(ObjIndex(35, 36), 7, 11, 13, 18, 3);
SetObjMapRange(ObjIndex(26, 45), 1, 1, 9, 10, 1);
SetObjMapRange(ObjIndex(45, 46), 11, 1, 20, 10, 2);
SetObjMapRange(ObjIndex(35, 36), 7, 11, 13, 18, 3);
}
void __fastcall DRLG_SetMapTrans(char *sFileName)
{
int x, y;
int i, j;
UCHAR *pLevelMap;
UCHAR *d;
DWORD dwOffset;
pLevelMap = LoadFileInMem(sFileName, NULL);
d = pLevelMap+2;
x = pLevelMap[0];
y = *d;
dwOffset = (x * y + 1) * 2;
x <<= 1;
y <<= 1;
dwOffset += 3 * x * y * 2;
d += dwOffset;
for ( j = 0; j < y; j++ ) {
for ( i = 0; i < x; i++ ) {
dung_map[16+i][16+j] = *d;
d += 2;
}
}
mem_free_dbg(pLevelMap);
int x, y;
int i, j;
UCHAR *pLevelMap;
UCHAR *d;
DWORD dwOffset;
pLevelMap = LoadFileInMem(sFileName, NULL);
d = pLevelMap + 2;
x = pLevelMap[0];
y = *d;
dwOffset = (x * y + 1) * 2;
x <<= 1;
y <<= 1;
dwOffset += 3 * x * y * 2;
d += dwOffset;
for (j = 0; j < y; j++) {
for (i = 0; i < x; i++) {
dung_map[16 + i][16 + j] = *d;
d += 2;
}
}
mem_free_dbg(pLevelMap);
}
void __cdecl LoadSetMap()
{
switch ( setlvlnum )
{
case SL_SKELKING:
if ( quests[QTYPE_KING]._qactive == 1 )
{
quests[QTYPE_KING]._qactive = 2;
quests[QTYPE_KING]._qvar1 = 1;
}
LoadPreL1Dungeon("Levels\\L1Data\\SklKng1.DUN", 83, 45);
LoadL1Dungeon("Levels\\L1Data\\SklKng2.DUN", 83, 45);
LoadPalette("Levels\\L1Data\\L1_2.pal");
DRLG_AreaTrans(sizeof(SkelKingTrans1)/4, SkelKingTrans1);
DRLG_ListTrans(sizeof(SkelKingTrans2)/4, SkelKingTrans2);
DRLG_AreaTrans(sizeof(SkelKingTrans3)/4, SkelKingTrans3);
DRLG_ListTrans(sizeof(SkelKingTrans4)/4, SkelKingTrans4);
AddL1Objs(0, 0, MAXDUNX, MAXDUNY);
AddSKingObjs();
InitSKingTriggers();
break;
case SL_BONECHAMB:
LoadPreL2Dungeon("Levels\\L2Data\\Bonecha2.DUN", 69, 39);
LoadL2Dungeon("Levels\\L2Data\\Bonecha1.DUN", 69, 39);
LoadPalette("Levels\\L2Data\\L2_2.pal");
DRLG_ListTrans(sizeof(SkelChamTrans1)/4, SkelChamTrans1);
DRLG_AreaTrans(sizeof(SkelChamTrans2)/4, SkelChamTrans2);
DRLG_ListTrans(sizeof(SkelChamTrans3)/4, SkelChamTrans3);
AddL2Objs(0, 0, MAXDUNX, MAXDUNY);
AddSChamObjs();
InitSChambTriggers();
break;
case SL_MAZE:
LoadPreL1Dungeon("Levels\\L1Data\\Lv1MazeA.DUN", 20, 50);
LoadL1Dungeon("Levels\\L1Data\\Lv1MazeB.DUN", 20, 50);
LoadPalette("Levels\\L1Data\\L1_5.pal");
AddL1Objs(0, 0, MAXDUNX, MAXDUNY);
DRLG_SetMapTrans("Levels\\L1Data\\Lv1MazeA.DUN");
break;
case SL_POISONWATER:
if ( quests[QTYPE_PW]._qactive == 1 )
quests[QTYPE_PW]._qactive = 2;
LoadPreL3Dungeon("Levels\\L3Data\\Foulwatr.DUN", 19, 50);
LoadL3Dungeon("Levels\\L3Data\\Foulwatr.DUN", 20, 50);
LoadPalette("Levels\\L3Data\\L3pfoul.pal");
InitPWaterTriggers();
break;
case SL_VILEBETRAYER:
if ( quests[QTYPE_VB]._qactive == 3 )
{
quests[QTYPE_VB]._qvar2 = 4;
}
else if ( quests[QTYPE_VB]._qactive == 2 )
{
quests[QTYPE_VB]._qvar2 = 3;
}
LoadPreL1Dungeon("Levels\\L1Data\\Vile1.DUN", 35, 36);
LoadL1Dungeon("Levels\\L1Data\\Vile2.DUN", 35, 36);
LoadPalette("Levels\\L1Data\\L1_2.pal");
AddL1Objs(0, 0, MAXDUNX, MAXDUNY);
AddVileObjs();
DRLG_SetMapTrans("Levels\\L1Data\\Vile1.DUN");
InitNoTriggers();
break;
}
switch (setlvlnum) {
case SL_SKELKING:
if (quests[QTYPE_KING]._qactive == 1) {
quests[QTYPE_KING]._qactive = 2;
quests[QTYPE_KING]._qvar1 = 1;
}
LoadPreL1Dungeon("Levels\\L1Data\\SklKng1.DUN", 83, 45);
LoadL1Dungeon("Levels\\L1Data\\SklKng2.DUN", 83, 45);
LoadPalette("Levels\\L1Data\\L1_2.pal");
DRLG_AreaTrans(sizeof(SkelKingTrans1) / 4, SkelKingTrans1);
DRLG_ListTrans(sizeof(SkelKingTrans2) / 4, SkelKingTrans2);
DRLG_AreaTrans(sizeof(SkelKingTrans3) / 4, SkelKingTrans3);
DRLG_ListTrans(sizeof(SkelKingTrans4) / 4, SkelKingTrans4);
AddL1Objs(0, 0, MAXDUNX, MAXDUNY);
AddSKingObjs();
InitSKingTriggers();
break;
case SL_BONECHAMB:
LoadPreL2Dungeon("Levels\\L2Data\\Bonecha2.DUN", 69, 39);
LoadL2Dungeon("Levels\\L2Data\\Bonecha1.DUN", 69, 39);
LoadPalette("Levels\\L2Data\\L2_2.pal");
DRLG_ListTrans(sizeof(SkelChamTrans1) / 4, SkelChamTrans1);
DRLG_AreaTrans(sizeof(SkelChamTrans2) / 4, SkelChamTrans2);
DRLG_ListTrans(sizeof(SkelChamTrans3) / 4, SkelChamTrans3);
AddL2Objs(0, 0, MAXDUNX, MAXDUNY);
AddSChamObjs();
InitSChambTriggers();
break;
case SL_MAZE:
LoadPreL1Dungeon("Levels\\L1Data\\Lv1MazeA.DUN", 20, 50);
LoadL1Dungeon("Levels\\L1Data\\Lv1MazeB.DUN", 20, 50);
LoadPalette("Levels\\L1Data\\L1_5.pal");
AddL1Objs(0, 0, MAXDUNX, MAXDUNY);
DRLG_SetMapTrans("Levels\\L1Data\\Lv1MazeA.DUN");
break;
case SL_POISONWATER:
if (quests[QTYPE_PW]._qactive == 1)
quests[QTYPE_PW]._qactive = 2;
LoadPreL3Dungeon("Levels\\L3Data\\Foulwatr.DUN", 19, 50);
LoadL3Dungeon("Levels\\L3Data\\Foulwatr.DUN", 20, 50);
LoadPalette("Levels\\L3Data\\L3pfoul.pal");
InitPWaterTriggers();
break;
case SL_VILEBETRAYER:
if (quests[QTYPE_VB]._qactive == 3) {
quests[QTYPE_VB]._qvar2 = 4;
} else if (quests[QTYPE_VB]._qactive == 2) {
quests[QTYPE_VB]._qvar2 = 3;
}
LoadPreL1Dungeon("Levels\\L1Data\\Vile1.DUN", 35, 36);
LoadL1Dungeon("Levels\\L1Data\\Vile2.DUN", 35, 36);
LoadPalette("Levels\\L1Data\\L1_2.pal");
AddL1Objs(0, 0, MAXDUNX, MAXDUNY);
AddVileObjs();
DRLG_SetMapTrans("Levels\\L1Data\\Vile1.DUN");
InitNoTriggers();
break;
}
}

1007
Source/textdat.cpp

File diff suppressed because it is too large Load Diff

2
Source/tmsg.h

@ -4,6 +4,6 @@
int __fastcall tmsg_get(BYTE *pbMsg, DWORD dwMaxLen);
void __fastcall tmsg_add(BYTE *pbMsg, BYTE bLen);
void* __cdecl tmsg_cleanup();
void *__cdecl tmsg_cleanup();
#endif /* __TMSG_H__ */

Loading…
Cancel
Save