*Finished cleaning the Win32 code so that the game compiles again.

*Fixed the SDF[0][0] being set to 1 when killing wandering or summoned monsters.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@132 4ebdad44-0ea0-11de-aab3-ff745001d230
This commit is contained in:
Chokboyz
2009-10-18 23:26:28 +00:00
parent a7893db77b
commit 5ebbe14d6f
32 changed files with 484 additions and 367 deletions

View File

@@ -1,11 +1,11 @@
[Project]
FileName=Blades of Exile.dev
Name=Blades of Exile Win32
UnitCount=56
UnitCount=57
Type=0
Ver=1
IsCpp=1
Folders=
Folders=Classes,Tools
CommandLine=
CompilerSettings=0000000000001000000000
PchHead=-1
@@ -74,26 +74,6 @@ OverrideBuildCmd=0
BuildCmd=
[Unit5]
FileName=DLOGTOOL.CPP
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit6]
FileName=sountool.CPP
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit7]
FileName=boe.fields.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -103,7 +83,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit8]
[Unit6]
FileName=boe.fileio.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -113,7 +93,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit9]
[Unit7]
FileName=GLOBAL.CPP
CompileCpp=1
Folder=Blades of Exile
@@ -123,7 +103,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit10]
[Unit8]
FileName=boe.graphics.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -133,7 +113,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit11]
[Unit9]
FileName=boe.graphutil.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -143,7 +123,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit13]
[Unit10]
FileName=boe.infodlg.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -153,7 +133,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit14]
[Unit11]
FileName=boe.itemdata.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -163,17 +143,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit15]
FileName=boe.items.cpp
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit16]
[Unit13]
FileName=boe.locutils.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -183,7 +153,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit17]
[Unit14]
FileName=boe.monster.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -193,7 +163,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit18]
[Unit15]
FileName=boe.newgraph.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -203,7 +173,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit19]
[Unit16]
FileName=boe.party.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -213,7 +183,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit20]
[Unit17]
FileName=boe.specials.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -223,7 +193,17 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit22]
[Unit18]
FileName=boe.text.cpp
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit19]
FileName=boe.town.cpp
CompileCpp=1
Folder=Blades of Exile
@@ -233,8 +213,8 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit24]
FileName=GAMEDLOG.RC
[Unit20]
FileName=BLADES.RC
CompileCpp=1
Folder=Blades of Exile
Compile=1
@@ -243,6 +223,26 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit22]
FileName=GAMESTR.RC
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=0
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit24]
FileName=boe.combat.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[VersionInfo]
Major=0
Minor=1
@@ -264,7 +264,7 @@ AutoIncBuildNrOnCompile=0
AutoIncBuildNr=0
[Unit26]
FileName=boe.actions.h
FileName=boe.fields.h
Folder=Blades of Exile
Compile=1
Link=1
@@ -274,16 +274,17 @@ BuildCmd=
CompileCpp=1
[Unit25]
FileName=GAMESTR.RC
FileName=boe.dlgutil.h
Folder=Blades of Exile
Compile=1
Link=0
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
CompileCpp=1
[Unit27]
FileName=boe.combat.h
FileName=boe.fileio.h
Folder=Blades of Exile
Compile=1
Link=1
@@ -293,56 +294,6 @@ BuildCmd=
CompileCpp=1
[Unit28]
FileName=boe.dlgutil.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit29]
FileName=DLOGTOOL.H
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit30]
FileName=soundtool.H
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit31]
FileName=boe.fields.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit32]
FileName=boe.fileio.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit33]
FileName=GLOBAL.H
CompileCpp=1
Folder=Blades of Exile
@@ -352,7 +303,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit34]
[Unit29]
FileName=boe.graphics.h
CompileCpp=1
Folder=Blades of Exile
@@ -362,7 +313,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit35]
[Unit30]
FileName=boe.graphutil.h
CompileCpp=1
Folder=Blades of Exile
@@ -372,117 +323,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit37]
FileName=boe.infodlg.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit38]
FileName=boe.itemdata.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit39]
FileName=boe.items.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit40]
FileName=boe.locutils.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit41]
FileName=boe.monster.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit42]
FileName=boe.newgraph.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit45]
FileName=boe.text.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit46]
FileName=boe.town.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit50]
FileName=ITEM.H
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit51]
FileName=LOCATION.H
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit52]
FileName=ITEM.CPP
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit55]
[Unit31]
FileName=GLOBVAR.H
CompileCpp=1
Folder=
@@ -492,17 +333,57 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit56]
FileName=CONSTS.H
[Unit32]
FileName=boe.infodlg.h
CompileCpp=1
Folder=
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit43]
[Unit33]
FileName=boe.itemdata.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit34]
FileName=boe.items.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit35]
FileName=boe.locutils.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit37]
FileName=boe.newgraph.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit38]
FileName=boe.party.h
CompileCpp=1
Folder=Blades of Exile
@@ -512,7 +393,7 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit44]
[Unit39]
FileName=boe.specials.h
CompileCpp=1
Folder=Blades of Exile
@@ -522,8 +403,98 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit49]
FileName=PC.CPP
[Unit40]
FileName=boe.text.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit41]
FileName=boe.town.h
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit42]
FileName=boe.main.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit46]
FileName=tools\soundtool.h
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit50]
FileName=tools\mathutil.cpp
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit51]
FileName=tools\mathutil.h
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit52]
FileName=classes\item.cpp
CompileCpp=1
Folder=Classes
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit55]
FileName=classes\LOCATION.H
CompileCpp=1
Folder=Classes
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit56]
FileName=classes\PC.CPP
CompileCpp=1
Folder=Classes
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit43]
FileName=GLOBVAR.CPP
CompileCpp=1
Folder=
Compile=1
@@ -561,9 +532,9 @@ CompilerSet=0
compilerType=0
[Unit53]
FileName=LOCATION.CPP
FileName=classes\item.h
CompileCpp=1
Folder=
Folder=Classes
Compile=1
Link=1
Priority=1000
@@ -571,9 +542,9 @@ OverrideBuildCmd=0
BuildCmd=
[Unit54]
FileName=GLOBVAR.CPP
FileName=classes\LOCATION.CPP
CompileCpp=1
Folder=
Folder=Classes
Compile=1
Link=1
Priority=1000
@@ -581,9 +552,9 @@ OverrideBuildCmd=0
BuildCmd=
[Unit57]
FileName=CONSTS.H
FileName=classes\PC.H
CompileCpp=1
Folder=
Folder=Classes
Compile=1
Link=1
Priority=1000
@@ -611,9 +582,9 @@ OverrideBuildCmd=0
BuildCmd=
[Unit36]
FileName=GLOBVAR.H
FileName=boe.monster.h
CompileCpp=1
Folder=
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
@@ -621,9 +592,9 @@ OverrideBuildCmd=0
BuildCmd=
[Unit12]
FileName=CONSTS.H
FileName=boe.items.cpp
CompileCpp=1
Folder=
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
@@ -631,38 +602,69 @@ OverrideBuildCmd=0
BuildCmd=
[Unit21]
FileName=boe.text.cpp
FileName=GAMEDLOG.RC
CompileCpp=1
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit47]
FileName=boe.main.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit23]
FileName=BLADES.RC
Folder=Blades of Exile
Compile=1
Link=0
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit48]
FileName=PC.H
[Unit23]
FileName=boe.actions.h
Folder=Blades of Exile
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
CompileCpp=1
Folder=
[Unit44]
FileName=classes\consts.h
CompileCpp=1
Folder=Classes
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit48]
FileName=tools\DLOGTOOL.CPP
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit49]
FileName=tools\DLOGTOOL.H
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit47]
FileName=tools\soundvars.cpp
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit45]
FileName=tools\soundtool.cpp
CompileCpp=1
Folder=Tools
Compile=1
Link=1
Priority=1000

View File

@@ -72,7 +72,7 @@ void alter_rect(RECT16 *r)
r->right = a;
}
short get_ran (short times, short min, short max)
/*short get_ran (short times, short min, short max) => already defined in mathutil.cpp
{
short store;
short i, to_ret = 0;
@@ -86,7 +86,7 @@ short get_ran (short times, short min, short max)
to_ret = to_ret + min + store;
}
return to_ret;
}
}*/
Boolean same_point(location p1,location p2)
{
@@ -95,12 +95,12 @@ Boolean same_point(location p1,location p2)
else return FALSE;
}
short s_pow(short x,short y)
/*short s_pow(short x,short y) => already defined in mathutil.cpp
{
if (y == 0)
return 1;
return (short) pow((double) x, (double) y);
}
}*/
void Delay(short val, long *)
{

View File

@@ -437,8 +437,8 @@ typedef struct { unsigned char pattern[9][9]; } effect_pat_type;
typedef struct { item_record_type items[NUM_TOWN_ITEMS]; } stored_items_list;
typedef struct { char outdoor_maps[100][6][48]; } stored_outdoor_maps_type;
short s_pow(short x,short y);
short get_ran (short times, short min, short max);
//extern short s_pow(short x,short y);
//extern short get_ran (short times, short min, short max);
Boolean same_point(location p1,location p2);
void pause(short length);
void Delay(short val,long *dummy);

View File

@@ -67,7 +67,7 @@ RECT item_sbar_rect = {545,146,562,254};
int dialog_answer;
Boolean All_Done = FALSE, dialog_not_toast = FALSE;
Boolean in_startup_mode = TRUE;
Boolean play_sounds;
//Boolean play_sounds;
Boolean spell_forced = FALSE,startup_loaded = FALSE;
Boolean save_maps = TRUE,party_in_memory = FALSE,in_scen_debug = FALSE;
Boolean window_in_front = FALSE;
@@ -474,7 +474,7 @@ LRESULT CALLBACK fresh_edit_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM
DLGPROC d_proc;
WNDPROC edit_proc;
WNDPROC old_edit_proc;
HMODULE hModule;
//HMODULE hModule;
long intro_music_start_time = -1;
HBITMAP spec_scen_g ;
typedef struct {
@@ -685,7 +685,8 @@ short short_can_see();
Boolean combat_pt_in_light();
location which_party_sec;
short charm_odds[20] = {90,90,85,80,78, 75,73,60,40,30, 20,10,5,2,1, 0,0,0,0,0};
creature_start_type null_start_type = {0,0,location(80,80),1,0,0,0,0,0,0,0, 0,-1,-1,-1};
//creature_start_type null_start_type = {0,0,location(80,80),1,0,0,0,0,0,0,0, 0,-1,-1,-1};
creature_start_type null_start_type = {0,0,location(80,80),1,0,0,0,-1,-1,0,0, 0,-1,-1,-1};
HRGN oval_region ,dark_mask_region,temp_rect_rgn;
short skill_cost[20] = {3,3,3,2,2,2, 1,2,2,6,
5, 1,2,4,2,1, 4,2,5,0};

View File

@@ -60,7 +60,7 @@ extern RECT item_sbar_rect;
extern int dialog_answer;
extern Boolean All_Done, dialog_not_toast;
extern Boolean in_startup_mode ;
extern Boolean play_sounds;
//extern Boolean play_sounds;
extern Boolean diff_depth_ok ,spell_forced ,startup_loaded ;
extern Boolean save_maps ,party_in_memory ,in_scen_debug ;
extern Boolean window_in_front ;
@@ -288,7 +288,7 @@ extern DLGPROC d_proc;
extern WNDPROC edit_proc;
extern WNDPROC old_edit_proc;
#define NUM_SOUNDS 100
//#define NUM_SOUNDS 100
extern HGLOBAL sound_handles[NUM_SOUNDS];
extern char * snds[NUM_SOUNDS];
@@ -296,8 +296,8 @@ extern char * snds[NUM_SOUNDS];
extern short last_played;
extern short store_last_sound_played;
extern Boolean always_asynch[100];
extern Boolean load_when_play[100];
//extern bool always_asynch[100];
//extern Boolean load_when_play[100];
extern short can_ignore[100];

View File

@@ -18,10 +18,11 @@
#include "boe.newgraph.h"
#include "boe.combat.h"
#include "boe.items.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.infodlg.h"
#include "boe.itemdata.h"
#include "tools/dlogtool.h"
#include "tools/mathutil.h"
#include "boe.graphutil.h"
#include "boe.actions.h"
@@ -1694,10 +1695,10 @@ Boolean handle_keystroke(WPARAM wParam, LPARAM lParam)
if (in_scen_debug) {
for (i = 0; i < 6; i++) {
adven[i].status[STATUS_POISON] = 0;
if (adven[i].status[STATUS_BLESS] < 0)
adven[i].status[STATUS_BLESS] = 0;
if (adven[i].status[STATUS_HASTE] < 0)
adven[i].status[STATUS_HASTE] = 0;
if (adven[i].status[STATUS_BLESS_CURSE] < 0)
adven[i].status[STATUS_BLESS_CURSE] = 0;
if (adven[i].status[STATUS_HASTE_SLOW] < 0)
adven[i].status[STATUS_HASTE_SLOW] = 0;
adven[i].status[STATUS_WEBS] = 0;
adven[i].status[STATUS_DISEASE] = 0;
adven[i].status[STATUS_DUMB] = 0;

View File

@@ -11,7 +11,8 @@
#include "boe.items.h"
#include "boe.party.h"
#include "boe.combat.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include "boe.town.h"
#include "boe.specials.h"
#include "boe.graphutil.h"

View File

@@ -12,7 +12,8 @@
#include "boe.fileio.h"
#include "boe.graphics.h"
#include "boe.items.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include <cstdio>
#include "tools/dlogtool.h"
#include "boe.newgraph.h"

View File

@@ -4,6 +4,7 @@
#include "boe.locutils.h"
#include "boe.fields.h"
#include "globvar.h"
#include "tools/mathutil.h"
Boolean is_explored(short i,short j)
{

View File

@@ -16,7 +16,8 @@
#include "boe.dlgutil.h"
#include "boe.infodlg.h"
#include "boe.graphutil.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include "globvar.h"

View File

@@ -10,7 +10,7 @@
#include "boe.locutils.h"
#include "boe.fields.h"
#include "boe.text.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.graphutil.h"
#include "boe.infodlg.h"

View File

@@ -8,8 +8,14 @@
#include "global.h"
#include "boe.text.h"
#include <cstring>
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.infodlg.h"
#include "tools/dlogtool.h"
#include "tools/mathutil.h"
#include "boe.fields.h"
#include "boe.locutils.h"
#include "boe.monster.h"
#include "boe.graphics.h"
#include "boe.graphutil.h"
#include "globvar.h"

View File

@@ -13,7 +13,8 @@
#include "boe.fields.h"
#include "boe.locutils.h"
#include "boe.text.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include "boe.infodlg.h"
#include "boe.fileio.h"

View File

@@ -5,6 +5,7 @@
#include "boe.itemdata.h"
#include <cstdio>
#include <cstring>
#include "tools/mathutil.h"
#include "globvar.h"

View File

@@ -12,12 +12,13 @@
#include "boe.newgraph.h"
#include "boe.itemdata.h"
#include "boe.infodlg.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include <cstdio>
#include <cstring>
#include "boe.graphutil.h"
#include "boe.monster.h"
#include "boe.specials.h"
#include "tools/mathutil.h"
#include "globvar.h"
@@ -432,13 +433,15 @@ void display_item_event_filter (short item_hit)
t_i.items[item_array[item_hit]].item_level = 3000;
set_item_flag(&item);
party.giveGold(t_i.items[item_array[item_hit]].item_level, false);
force_play_sound(39);
// force_play_sound(39);
play_sound(39);
}
else if (t_i.items[item_array[item_hit]].variety == 11) {
party.giveFood(t_i.items[item_array[item_hit]].item_level, false);
set_item_flag(&item);
set_item_flag(&t_i.items[item_array[item_hit]]);
force_play_sound(62);
// force_play_sound(62);
play_sound(62);
}
else {
if (item_weight(item) >
@@ -450,7 +453,8 @@ void display_item_event_filter (short item_hit)
}
set_item_flag(&item);
force_play_sound(0);
// force_play_sound(0);
play_sound(0);
adven[current_getting_pc].giveToPC(item, 0);
}
t_i.items[item_array[item_hit]] = return_dummy_item();

View File

@@ -5,6 +5,7 @@
#include "boe.text.h"
#include "boe.monster.h"
#include "boe.fields.h"
#include "tools/mathutil.h"
#include "globvar.h"

View File

@@ -6,7 +6,7 @@
#include "boe.actions.h"
#include "boe.text.h"
#include "boe.party.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.items.h"
#include "boe.fields.h"
#include "boe.town.h"
@@ -914,42 +914,3 @@ void cursor_stay()
showcursor(TRUE);
}
}
void move_sound(unsigned char ter,short step)
{
short spec;
spec = scenario.ter_types[ter].special;
if ((monsters_going == false) && (overall_mode < 10) && (party.in_boat >= 0)) {
if (spec == 21)
return;
play_sound(48);
}
else if ((monsters_going == false) && (overall_mode < 10) && (party.in_horse >= 0)) {////
play_sound(85);
}
else if(spec == 5) //if poisoned land don't play squish sound : BoE legacy behavior, can be removed safely
return;
// else if(spec == 6) //if diseased land do the same
// return;
else switch(scenario.ter_types[ter].step_sound){
case 0:
if (step % 2 == 0) //footsteps alternate sound
play_sound(49);
else play_sound(50);
break;
case 1:
play_sound(55); //squish
break;
case 2:
play_sound(47); //crunch
break;
case 3:
break; //silence : do nothing
default:
if (step % 2 == 0) //safety footsteps valve
play_sound(49);
else play_sound(50);
}
}

View File

@@ -4,7 +4,6 @@
#include "classes/pc.h" // party_record_type
#include "global.h" // structs
void move_sound(unsigned char ter,short step);
void check_game_done();
Boolean handle_menu (short item, HMENU menu);
void load_cursors();

View File

@@ -6,7 +6,8 @@
#include "boe.monster.h"
#include "boe.text.h"
#include "boe.specials.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include "boe.graphics.h"
#include "boe.newgraph.h"

View File

@@ -12,7 +12,8 @@
#include "boe.locutils.h"
#include "boe.fields.h"
#include "boe.text.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include "boe.graphutil.h"
#include "globvar.h"

View File

@@ -17,7 +17,8 @@
#include "boe.locutils.h"
#include "boe.fields.h"
#include "boe.text.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "tools/mathutil.h"
#include "boe.graphutil.h"
#include "globvar.h"
@@ -2117,7 +2118,8 @@ void pick_spell_event_filter (short item_hit)
if ((store_spell_target == 6) && (cd_get_active(1098,10 + pc_casting) == 1)) {
cd_set_item_text(1098,36,choose_target);
draw_spell_info();
force_play_sound(45);
// force_play_sound(45);
play_sound(45);
}
else if (cd_get_active(1098,10 + pc_casting) == 0) {
store_spell_target = 6;
@@ -2682,7 +2684,7 @@ bool pc_record_type::damage(short how_much, short damage_type, short type_of_att
// armor
if ((damage_type == DAMAGE_WEAPON) || (damage_type == DAMAGE_UNDEAD) ||(damage_type == DAMAGE_DEMON)) {
how_much -= minmax(-5, 5, (int)status[STATUS_BLESS]);
how_much -= minmax(-5, 5, (int)status[STATUS_BLESS_CURSE]);
for (i = 0; i < 24; i++)
if ((items[i].variety != 0) && (equip[i] == TRUE)) {
if ((items[i].variety >= 12) && (items[i].variety <= 17)) {

View File

@@ -12,7 +12,7 @@
#include "boe.monster.h"
#include "boe.locutils.h"
#include "boe.fields.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.graphics.h"
#include "boe.fileio.h"
#include "boe.specials.h"
@@ -21,6 +21,7 @@
#include "boe.actions.h"
#include "boe.graphutil.h"
#include "tools/dlogtool.h"
#include "tools/mathutil.h"
#include "globvar.h"

View File

@@ -7,7 +7,7 @@
#include <cstring>
#include "boe.locutils.h"
#include "boe.fields.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.graphutil.h"
#include "globvar.h"

View File

@@ -11,11 +11,13 @@
#include "boe.combat.h"
#include "boe.party.h"
#include "boe.text.h"
#include "tools/exlsound.h"
#include "tools/soundtool.h"
#include "boe.fields.h"
#include "boe.locutils.h"
.#include "boe.infodlg.h"
#include "boe.infodlg.h"
#include "boe.graphutil.h"
#include "tools/dlogtool.h"
#include "tools/mathutil.h"
#include "globvar.h"

View File

@@ -1,12 +1,13 @@
#include "location.h" // location
#include "exlsound.h" // play_sound
#include "boe.main.h" // out
#include "boe.text.h" // add_string_to_buf
#include "boe.locutils.h" // alter_space
#include "boe.items.h" // fancy_choice_dialog
#include "../tools/soundtool.h" // play_sound
#include "../boe.main.h" // out
#include "../boe.text.h" // add_string_to_buf
#include "../boe.locutils.h" // alter_space
#include "../boe.items.h" // fancy_choice_dialog
#include "global.h"
#include "globvar.h"
#include "../global.h"
#include "../globvar.h"
#include "../tools/mathutil.h"
location location::toGlobal()
{

View File

@@ -1,17 +1,18 @@
#include "pc.h" // party_record_type
#include "location.h" // location
//#include "boe.text.h" // add_string_to_buf
#include "../boe.text.h" // add_string_to_buf
//#include "boe.main.h" // globals
#include "tools/soundtool.h" // play_sound
#include "../tools/soundtool.h" // play_sound
//#include "boe.combat.h" // hit_chance
//#include "boe.items.h" // place_item
//#include "boe.fields.h" // make_sfx
#include "tools/mathutil.h" // get_ran
//#include "boe.infodlg.h" // give_help
//#include "boe.party.h" // adjust_spell_menu
//#include "boe.itemdata.h" // return_dummy_item
//#include "boe.locutils.h" // is_container
//#include "globvar.h"
#include "../boe.items.h" // place_item
#include "../boe.fields.h" // make_sfx
#include "../tools/mathutil.h" // get_ran
#include "../boe.infodlg.h" // give_help
#include "../boe.party.h" // adjust_spell_menu
#include "../boe.itemdata.h" // return_dummy_item
#include "../boe.locutils.h" // is_container
#include "../globvar.h"
#include "consts.h"
void pc_record_type::kill(short type)
{
@@ -334,7 +335,7 @@ void pc_record_type::curse(short how_much)
{
if (!isAlive()) return;
status[STATUS_BLESS] = max(status[STATUS_BLESS] - how_much, -8);
status[STATUS_BLESS_CURSE] = max(status[STATUS_BLESS_CURSE] - how_much, -8);
sprintf ((char *) c_line, " %s cursed.",(char *) name);
add_string_to_buf((char *) c_line);
@@ -456,7 +457,7 @@ void pc_record_type::slow(short how_much)
{
if (!isAlive()) return;
status[STATUS_HASTE] = minmax(-8,8,status[STATUS_HASTE] - how_much);
status[STATUS_HASTE_SLOW] = minmax(-8,8,status[STATUS_HASTE_SLOW] - how_much);
if (how_much < 0)
sprintf ((char *) c_line, " %s hasted.",(char *) name);
else sprintf ((char *) c_line, " %s slowed.",(char *) name);

View File

@@ -6,12 +6,86 @@
*
*/
#ifndef _CONSTS_H
#define _CONSTS_H
#define NUM_OF_PCS 6
#define INVALID_PC 6
#define NUM_SOUNDS 100
#define NUM_OF_BOATS 30
#define NUM_OF_HORSES 30
/* stuff done flags */
#define SDF_IS_PARTY_SPLIT 304][0
#define SDF_PARTY_SPLIT_WHERE_PARTY_X 304][1
#define SDF_PARTY_SPLIT_WHERE_PARTY_Y 304][2
#define SDF_PARTY_SPLIT_PC 304][3
#define SDF_PARTY_SPLIT_TOWN 304][4 // for future use, hopefully
#define SDF_SKIP_STARTUP 305][4
#define SDF_LESS_SOUND 305][5
#define SDF_NO_TARGET_LINE 305][6
#define SFD_NO_MAPS 306][0
#define SDF_NO_SOUNDS 306][1
#define SDF_NO_FRILLS 306][2
#define SDF_ROOM_DESCS_AGAIN 306][3
#define SDF_NO_INSTANT_HELP 306][4 // boolean
#define SDF_NO_SHORE_FRILLS 306][5
#define SDF_GAME_SPEED 306][6
#define SDF_EASY_MODE 306][7
#define SDF_LESS_WANDER_ENC 306][8
#define SDF_NO_TER_ANIM 306][9
#define SDF_HIDDEN_MAP 308][0
#define SDF_LEGACY_SCENARIO 305][8 //0 is new scenario, 1 is legacy
#define INVALID_TOWN 200
typedef unsigned short m_num_t;
typedef unsigned short ter_num_t;
typedef signed short spec_num_t;
typedef signed short item_num_t;
typedef unsigned short str_num_t;
/* overall mode; some seem to be missing */
enum eMode {
MODE_OUTDOORS = 0,
MODE_TOWN = 1,
MODE_TALK_TOWN = 2, // looking for someone to talk
MODE_TOWN_TARGET = 3, // spell target, that is
MODE_USE = 4,
MODE_COMBAT = 10,
MODE_SPELL_TARGET = 11,
MODE_FIRING = 12, // firing from bow or crossbow
MODE_THROWING = 13, // throwing missile
MODE_FANCY_TARGET = 14, // spell target, that is
MODE_DROPPING = 15,
MODE_TALKING = 20,
MODE_SHOPPING = 21,
MODE_LOOK_OUTDOORS = 35, // looking at something
MODE_LOOK_TOWN = 36,
MODE_LOOK_COMBAT = 37,
MODE_STARTUP = 45,
MODE_REDRAW = 50,
MODE_CUTSCENE = 51,
};
enum eTrapType {
TRAP_RANDOM = 0,
TRAP_BLADE = 1,
TRAP_DART = 2,
TRAP_GAS = 3, // poisons all
TRAP_EXPLOSION = 4, // damages all => uses c_town.difficulty rather than trap_level to calculates damages (and even c_town.difficulty /13).
TRAP_SLEEP_RAY = 5,
TRAP_FALSE_ALARM = 6,
TRAP_DRAIN_XP = 7,
TRAP_ALERT = 8, // makes town hostile
TRAP_FLAMES = 9, // damages all => uses trap_level (*5) to calculates damages.
TRAP_DUMBFOUND = 10, //dumbfound all
TRAP_DISEASE = 11,
TRAP_DISEASE_ALL = 12,
};
enum eMainStatus {
MAIN_STATUS_ABSENT = 0, // absent, empty slot
MAIN_STATUS_ALIVE = 1,
@@ -709,3 +783,5 @@ enum eTalkNodeType {
TALK_CALL_TOWN_SPEC = 29,
TALK_CALL_SCEN_SPEC = 30,
};
#endif

View File

@@ -1,16 +1,16 @@
#include <windows.h>
#include <cstring>
#include "global.h"
#include "boe.graphutil.h"
#include "../global.h"
#include "../boe.graphutil.h"
#include <cstdio>
#include "exlsound.h"
#include "soundtool.h"
#include "dlogtool.h"
#include "boe.text.h"
#include "boe.locutils.h"
#include "boe.dlgutil.h"
#include "boe.infodlg.h"
#include "../boe.text.h"
#include "../boe.locutils.h"
#include "../boe.dlgutil.h"
#include "../boe.infodlg.h"
#include "globvar.h"
#include "../globvar.h"
/*
struct Dialog

View File

@@ -1,7 +1,7 @@
#ifndef _DLOGTOOL_H
#define _DLOGTOOL_H
#include "globvar.h"
#include "../globvar.h"
//#include "boe.graphutil.h"
void cd_set_flag(short dlog_num,short item_num,short flag);

View File

@@ -17,8 +17,8 @@ using std::abs;
#undef min
#endif
short get_ran (short times,short min,short max);
short s_pow(short x,short y);
extern short get_ran (short times,short min,short max);
extern short s_pow(short x,short y);
short s_sqrt(short val);
short max(short a,short b);
short min(short a,short b);

View File

@@ -17,6 +17,14 @@
#include <cstdio>
#include "soundtool.h"
#include "../classes/consts.h"
#include "../globvar.h"
#include "../boe.text.h"
char* snds[NUM_SOUNDS];
#if defined(WIN32)
HGLOBAL sound_handles[NUM_SOUNDS];
#endif
bool sound_going(short which_s) {
short i;
@@ -156,7 +164,7 @@ void play_sound(short which, short how_many_times) { // if < 0, play asynch
if (which >= 100)
return;
if ((always_async[which] == true) &&
if ((always_asynch[which] == true) &&
((can_ignore[which] == 1) || (can_ignore[which] >= 3)))
asyn = true;
if ((can_ignore[which] > 0) && (can_ignore[which] < 5) && (party.stuff_done[305][5] == 1))
@@ -348,4 +356,44 @@ void load_sounds(HMODULE handle)
}
}
}
void move_sound(unsigned char ter,short step)
{
short spec;
spec = scenario.ter_types[ter].special;
if ((monsters_going == false) && (overall_mode < 10) && (party.in_boat >= 0)) {
if (spec == 21)
return;
play_sound(48);
}
else if ((monsters_going == false) && (overall_mode < 10) && (party.in_horse >= 0)) {////
play_sound(85);
}
else if(spec == 5) //if poisoned land don't play squish sound : BoE legacy behavior, can be removed safely
return;
// else if(spec == 6) //if diseased land do the same
// return;
else switch(scenario.ter_types[ter].step_sound){
case 0:
if (step % 2 == 0) //footsteps alternate sound
play_sound(49);
else play_sound(50);
break;
case 1:
play_sound(55); //squish
break;
case 2:
play_sound(47); //crunch
break;
case 3:
break; //silence : do nothing
default:
if (step % 2 == 0) //safety footsteps valve
play_sound(49);
else play_sound(50);
}
}
#endif

View File

@@ -8,7 +8,8 @@
#ifndef _SOUNDTOOL_H
#define _SOUNDTOOL_H
const int NUM_SOUNDS = 100;
#define NUM_SOUNDS 100
typedef unsigned short snd_num_t;
void init_snd_tool();
@@ -32,8 +33,8 @@ void kill_sound();
extern HMODULE hModule;
extern short can_ignore[100];
extern bool sounds_missing;
HGLOBAL sound_handles[NUM_SOUNDS];
char* snds[NUM_SOUNDS];
extern HGLOBAL sound_handles[NUM_SOUNDS];
extern char* snds[NUM_SOUNDS];
#else
#error Invalid platform
#endif
@@ -41,9 +42,11 @@ char* snds[NUM_SOUNDS];
extern short snd_played[4];
extern bool play_sounds;
extern short last_played;
extern bool always_async[100];
extern bool always_asynch[100];
extern bool load_when_play[100];
extern short sound_delay[100];
extern short store_last_sound_played;
void move_sound(unsigned char ter,short step);
#endif