diff --git a/Win32/Blades of Exile/Blades of Exile.dev b/Win32/Blades of Exile/Blades of Exile.dev index 098ba38e..1aff940e 100644 --- a/Win32/Blades of Exile/Blades of Exile.dev +++ b/Win32/Blades of Exile/Blades of Exile.dev @@ -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 diff --git a/Win32/Blades of Exile/GLOBAL.CPP b/Win32/Blades of Exile/GLOBAL.CPP index d2150bab..2b1b6d68 100644 --- a/Win32/Blades of Exile/GLOBAL.CPP +++ b/Win32/Blades of Exile/GLOBAL.CPP @@ -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 *) { diff --git a/Win32/Blades of Exile/GLOBAL.H b/Win32/Blades of Exile/GLOBAL.H index 1f6bd795..ae10bf3b 100644 --- a/Win32/Blades of Exile/GLOBAL.H +++ b/Win32/Blades of Exile/GLOBAL.H @@ -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); diff --git a/Win32/Blades of Exile/GLOBVAR.CPP b/Win32/Blades of Exile/GLOBVAR.CPP index 8c673fff..c0faf76c 100644 --- a/Win32/Blades of Exile/GLOBVAR.CPP +++ b/Win32/Blades of Exile/GLOBVAR.CPP @@ -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}; diff --git a/Win32/Blades of Exile/GLOBVAR.H b/Win32/Blades of Exile/GLOBVAR.H index cf9ace7f..f6554901 100644 --- a/Win32/Blades of Exile/GLOBVAR.H +++ b/Win32/Blades of Exile/GLOBVAR.H @@ -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]; diff --git a/Win32/Blades of Exile/boe.actions.cpp b/Win32/Blades of Exile/boe.actions.cpp index ee6daa3f..6fd1fee7 100644 --- a/Win32/Blades of Exile/boe.actions.cpp +++ b/Win32/Blades of Exile/boe.actions.cpp @@ -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; diff --git a/Win32/Blades of Exile/boe.combat.cpp b/Win32/Blades of Exile/boe.combat.cpp index ed6571af..7ae4add8 100644 --- a/Win32/Blades of Exile/boe.combat.cpp +++ b/Win32/Blades of Exile/boe.combat.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.dlgutil.cpp b/Win32/Blades of Exile/boe.dlgutil.cpp index abe6ba4b..7d00af0d 100644 --- a/Win32/Blades of Exile/boe.dlgutil.cpp +++ b/Win32/Blades of Exile/boe.dlgutil.cpp @@ -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 #include "tools/dlogtool.h" #include "boe.newgraph.h" diff --git a/Win32/Blades of Exile/boe.fields.cpp b/Win32/Blades of Exile/boe.fields.cpp index 2b6fdefe..6e831640 100644 --- a/Win32/Blades of Exile/boe.fields.cpp +++ b/Win32/Blades of Exile/boe.fields.cpp @@ -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) { diff --git a/Win32/Blades of Exile/boe.fileio.cpp b/Win32/Blades of Exile/boe.fileio.cpp index 9b482d20..c620412c 100644 --- a/Win32/Blades of Exile/boe.fileio.cpp +++ b/Win32/Blades of Exile/boe.fileio.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.graphics.cpp b/Win32/Blades of Exile/boe.graphics.cpp index 95444d91..c9218c86 100644 --- a/Win32/Blades of Exile/boe.graphics.cpp +++ b/Win32/Blades of Exile/boe.graphics.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.graphutil.cpp b/Win32/Blades of Exile/boe.graphutil.cpp index c21b683d..e4aa972b 100644 --- a/Win32/Blades of Exile/boe.graphutil.cpp +++ b/Win32/Blades of Exile/boe.graphutil.cpp @@ -8,8 +8,14 @@ #include "global.h" #include "boe.text.h" #include -#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" diff --git a/Win32/Blades of Exile/boe.infodlg.cpp b/Win32/Blades of Exile/boe.infodlg.cpp index 64660786..5b0102b1 100644 --- a/Win32/Blades of Exile/boe.infodlg.cpp +++ b/Win32/Blades of Exile/boe.infodlg.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.itemdata.cpp b/Win32/Blades of Exile/boe.itemdata.cpp index 0a4763f9..c0bdbde8 100644 --- a/Win32/Blades of Exile/boe.itemdata.cpp +++ b/Win32/Blades of Exile/boe.itemdata.cpp @@ -5,6 +5,7 @@ #include "boe.itemdata.h" #include #include +#include "tools/mathutil.h" #include "globvar.h" diff --git a/Win32/Blades of Exile/boe.items.cpp b/Win32/Blades of Exile/boe.items.cpp index 2512bfaa..856eaf26 100644 --- a/Win32/Blades of Exile/boe.items.cpp +++ b/Win32/Blades of Exile/boe.items.cpp @@ -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 #include #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(); diff --git a/Win32/Blades of Exile/boe.locutils.cpp b/Win32/Blades of Exile/boe.locutils.cpp index 3f6525a2..b809a958 100644 --- a/Win32/Blades of Exile/boe.locutils.cpp +++ b/Win32/Blades of Exile/boe.locutils.cpp @@ -5,6 +5,7 @@ #include "boe.text.h" #include "boe.monster.h" #include "boe.fields.h" +#include "tools/mathutil.h" #include "globvar.h" diff --git a/Win32/Blades of Exile/boe.main.cpp b/Win32/Blades of Exile/boe.main.cpp index a011c798..4fe89a9c 100644 --- a/Win32/Blades of Exile/boe.main.cpp +++ b/Win32/Blades of Exile/boe.main.cpp @@ -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); - } -} diff --git a/Win32/Blades of Exile/boe.main.h b/Win32/Blades of Exile/boe.main.h index d145f9b6..08043a72 100644 --- a/Win32/Blades of Exile/boe.main.h +++ b/Win32/Blades of Exile/boe.main.h @@ -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(); diff --git a/Win32/Blades of Exile/boe.monster.cpp b/Win32/Blades of Exile/boe.monster.cpp index b9249c49..60e5d07e 100644 --- a/Win32/Blades of Exile/boe.monster.cpp +++ b/Win32/Blades of Exile/boe.monster.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.newgraph.cpp b/Win32/Blades of Exile/boe.newgraph.cpp index 824e1ba4..3e902f76 100644 --- a/Win32/Blades of Exile/boe.newgraph.cpp +++ b/Win32/Blades of Exile/boe.newgraph.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.party.cpp b/Win32/Blades of Exile/boe.party.cpp index 70372f5d..a81e5917 100644 --- a/Win32/Blades of Exile/boe.party.cpp +++ b/Win32/Blades of Exile/boe.party.cpp @@ -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)) { diff --git a/Win32/Blades of Exile/boe.specials.cpp b/Win32/Blades of Exile/boe.specials.cpp index a343ef2b..996b4844 100644 --- a/Win32/Blades of Exile/boe.specials.cpp +++ b/Win32/Blades of Exile/boe.specials.cpp @@ -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" diff --git a/Win32/Blades of Exile/boe.text.cpp b/Win32/Blades of Exile/boe.text.cpp index 10ad5dd0..bdd9d64a 100644 --- a/Win32/Blades of Exile/boe.text.cpp +++ b/Win32/Blades of Exile/boe.text.cpp @@ -7,7 +7,7 @@ #include #include "boe.locutils.h" #include "boe.fields.h" -#include "tools/exlsound.h" +#include "tools/soundtool.h" #include "boe.graphutil.h" #include "globvar.h" diff --git a/Win32/Blades of Exile/boe.town.cpp b/Win32/Blades of Exile/boe.town.cpp index f6379828..a9bc9749 100644 --- a/Win32/Blades of Exile/boe.town.cpp +++ b/Win32/Blades of Exile/boe.town.cpp @@ -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" diff --git a/Win32/Blades of Exile/classes/LOCATION.CPP b/Win32/Blades of Exile/classes/LOCATION.CPP index d27d9d59..e5267c6a 100644 --- a/Win32/Blades of Exile/classes/LOCATION.CPP +++ b/Win32/Blades of Exile/classes/LOCATION.CPP @@ -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() { diff --git a/Win32/Blades of Exile/classes/PC.CPP b/Win32/Blades of Exile/classes/PC.CPP index 3a4bd48b..97937a81 100644 --- a/Win32/Blades of Exile/classes/PC.CPP +++ b/Win32/Blades of Exile/classes/PC.CPP @@ -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); diff --git a/Win32/Blades of Exile/classes/consts.h b/Win32/Blades of Exile/classes/consts.h index 43d1749e..b074bd3b 100644 --- a/Win32/Blades of Exile/classes/consts.h +++ b/Win32/Blades of Exile/classes/consts.h @@ -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 diff --git a/Win32/Blades of Exile/tools/DLOGTOOL.CPP b/Win32/Blades of Exile/tools/DLOGTOOL.CPP index c7b143f8..9eeefe13 100644 --- a/Win32/Blades of Exile/tools/DLOGTOOL.CPP +++ b/Win32/Blades of Exile/tools/DLOGTOOL.CPP @@ -1,16 +1,16 @@ #include #include -#include "global.h" -#include "boe.graphutil.h" +#include "../global.h" +#include "../boe.graphutil.h" #include -#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 diff --git a/Win32/Blades of Exile/tools/DLOGTOOL.H b/Win32/Blades of Exile/tools/DLOGTOOL.H index 72111081..c69e9d06 100644 --- a/Win32/Blades of Exile/tools/DLOGTOOL.H +++ b/Win32/Blades of Exile/tools/DLOGTOOL.H @@ -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); diff --git a/Win32/Blades of Exile/tools/mathutil.h b/Win32/Blades of Exile/tools/mathutil.h index e4d2ac9d..f8f59dd2 100644 --- a/Win32/Blades of Exile/tools/mathutil.h +++ b/Win32/Blades of Exile/tools/mathutil.h @@ -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); diff --git a/Win32/Blades of Exile/tools/soundtool.cpp b/Win32/Blades of Exile/tools/soundtool.cpp index e280aef7..e4661eda 100644 --- a/Win32/Blades of Exile/tools/soundtool.cpp +++ b/Win32/Blades of Exile/tools/soundtool.cpp @@ -17,6 +17,14 @@ #include #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) } } } -#endif \ No newline at end of file + +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 diff --git a/Win32/Blades of Exile/tools/soundtool.h b/Win32/Blades of Exile/tools/soundtool.h index e1fcf2aa..63a5c6eb 100644 --- a/Win32/Blades of Exile/tools/soundtool.h +++ b/Win32/Blades of Exile/tools/soundtool.h @@ -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