diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index a735e7f21..611bf88bf 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -1566,6 +1566,8 @@ DEFINE_FIELD_X(SummaryInfo, SummaryInfo, maxkills) DEFINE_FIELD_X(SummaryInfo, SummaryInfo, secrets) DEFINE_FIELD_X(SummaryInfo, SummaryInfo, maxsecrets) DEFINE_FIELD_X(SummaryInfo, SummaryInfo, supersecrets) +DEFINE_FIELD_X(SummaryInfo, SummaryInfo, score) +DEFINE_FIELD_X(SummaryInfo, SummaryInfo, bonus) DEFINE_FIELD_X(SummaryInfo, SummaryInfo, playercount) DEFINE_FIELD_X(SummaryInfo, SummaryInfo, time) DEFINE_FIELD_X(SummaryInfo, SummaryInfo, cheated) diff --git a/source/core/mapinfo.h b/source/core/mapinfo.h index 4b4ed1ad4..9b94cd47f 100644 --- a/source/core/mapinfo.h +++ b/source/core/mapinfo.h @@ -213,6 +213,8 @@ struct SummaryInfo int supersecrets; int time; int playercount; + int score; + int bonus; bool cheated; bool endofgame; }; diff --git a/source/games/whaven/src/2d.cpp b/source/games/whaven/src/2d.cpp index 4e2c9a695..5a86555c7 100644 --- a/source/games/whaven/src/2d.cpp +++ b/source/games/whaven/src/2d.cpp @@ -9,163 +9,6 @@ BEGIN_WH_NS -//--------------------------------------------------------------------------- -// -// -// -//--------------------------------------------------------------------------- - -void IntroMovie(const CompletionFunc& completion) -{ - Mus_Stop(); - FX_StopAllSounds(); - - if (userConfig.nologo) - { - completion(false); - return; - } - else - { - JobDesc job = { PlayVideo(g_gameType & GAMEFLAG_WH2? "smk/intro.smk" : "intro.smk"), nullptr }; - RunScreenJob(&job, 1, completion, true, true); - } -} - - - -static const char* ratings[] = { "poor", "average", "good", "perfect" }; - -/* - inited = false; - if (init("stairs.smk")) - inited = true; -*/ -class DStatisticsScreen : public DSkippableScreenJob -{ - - boolean inited = false; - int bonus, rating; - -public: - DStatisticsScreen(PLAYER& plr) - { - if (kills > killcnt) - kills = killcnt; - int killp = (kills * 100) / (killcnt + 1); - if (treasuresfound > treasurescnt) - treasuresfound = treasurescnt; - int treap = (treasuresfound * 100) / (treasurescnt + 1); - rating = (killp + treap) / 2; - if (rating >= 95) { - rating = 3; - } - else if (rating >= 70) - rating = 2; - else if (rating >= 40) - rating = 1; - else rating = 0; - bonus = rating * 500; - plr.score += bonus; - } - - void drawText(int x, int y, const char* text) - { - DrawText(twod, SmallFont, CR_UNTRANSLATED, x, y, text, DTA_FullscreenScale, FSMode_Fit320x200, TAG_DONE); - } - - void Start() override - { - SND_Sound(S_CHAINDOOR1); - } - - void OnTick() override - { - - DrawTexture(twod, tileGetTexture(VMAINBLANK), 0, 0, DTA_Fullscreen, FSMode_ScaleToFit43, TAG_DONE); - - drawText(10, 13, currentLevel->DisplayName()); - drawText(10, 31, GStrings("Level conquered")); - - drawText(10, 64, GStrings("Enemies killed")); - drawText(160 + 48 + 14, 64, FStringf("%d %s %d", kills, GStrings("TXT_OF"), killcnt)); - - drawText(10, 64 + 18, GStrings("Treasures found")); - drawText(160 + 48 + 14, 64 + 18, FStringf("%d %s %d", treasuresfound, GStrings("TXT_OF"), treasurescnt)); - - drawText(10, 64 + 2 * 18, GStrings("Experience gained")); - drawText(160 + 48 + 14, 64 + 2 * 18, FStringf("%s", (expgained + bonus))); - - drawText(10, 64 + 3 * 18, GStrings("Rating")); - drawText(160 + 48 + 14, 64 + 3 * 18, FStringf("%d", GStrings(ratings[rating]))); - - drawText(10, 64 + 4 * 18, GStrings("TXT_Bonus")); - drawText(160 + 48 + 14, 64 + 4 * 18, FStringf("%d", bonus)); - } - -}; - - -void showStatisticsScreen(CompletionFunc completion) -{ - JobDesc job = { Create(player[pyrn]), nullptr }; - RunScreenJob(&job, 1, completion, true, false); -} - -void startWh2Ending(CompletionFunc completion) -{ - JobDesc jobs[3]; - jobs[0] = { PlayVideo("smk/ending1.smk", nullptr) }; - jobs[1] = { PlayVideo("smk/ending2.smk", nullptr) }; - jobs[2] = { PlayVideo("smk/ending3.smk", nullptr) }; - RunScreenJob(jobs, 3, completion, true, false); -} - -void showVictoryScreen(CompletionFunc completion) -{ - JobDesc jobs[3]; - jobs[0] = { Create(VICTORYA, DScreenJob::fadein | DScreenJob::fadeout, 0x7fffffff), []() { SND_Sound(S_DROPFLAG); } }; - jobs[1] = { Create(VICTORYB, DScreenJob::fadein | DScreenJob::fadeout, 0x7fffffff), []() { SND_Sound(S_WISP2); } }; - jobs[2] = { Create(VICTORYC, DScreenJob::fadein | DScreenJob::fadeout, 0x7fffffff) }; - RunScreenJob(jobs, 3, completion, true, false); -} - - -//--------------------------------------------------------------------------- -// -// -// -//--------------------------------------------------------------------------- - -class DWHLoadScreen : public DScreenJob -{ - MapRecord* rec; - -public: - DWHLoadScreen(MapRecord* maprec) : DScreenJob(0), rec(maprec) {} - - void drawText(int x, int y, const char* text) - { - DrawText(twod, SmallFont, CR_UNTRANSLATED, x - SmallFont->StringWidth(text)/2, y, text, DTA_FullscreenScale, FSMode_Fit320x200, TAG_DONE); - } - - int Frame(uint64_t clock, bool skiprequest) - { - twod->ClearScreen(); - DrawTexture(twod, tileGetTexture(MAINMENU), 0, 0, DTA_FullscreenEx, FSMode_ScaleToFit43, DTA_LegacyRenderStyle, STYLE_Normal, TAG_DONE); - - drawText(160, 100, GStrings("TXT_LOADING")); - drawText(160, 114, GStrings("TXTB_PLSWAIT")); - return 0; - } -}; - -void loadscreen(MapRecord* rec, CompletionFunc func) -{ - JobDesc job = { Create(rec) }; - RunScreenJob(&job, 1, func); -} - #if 0 diff --git a/source/games/whaven/src/main.cpp b/source/games/whaven/src/main.cpp index c4991a92e..3529977ad 100644 --- a/source/games/whaven/src/main.cpp +++ b/source/games/whaven/src/main.cpp @@ -653,10 +653,12 @@ void GameInterface::Startup() } else { + /* IntroMovie([](bool) { gameaction = ga_mainmenu; }); + */ } } @@ -747,6 +749,7 @@ void GameInterface::Ticker() void GameInterface::LevelCompleted(MapRecord* map, int skill) { +#if 0 if (map) { STAT_Update(false); @@ -757,7 +760,28 @@ void GameInterface::LevelCompleted(MapRecord* map, int skill) playertorch = 0; spritesound(S_WARP, &sprite[pplr->spritenum]); }; - if (isWh2()) { + if (isWh2()) + { +#if 0 + if (kills > killcnt) + kills = killcnt; + int killp = (kills * 100) / (killcnt + 1); + if (treasuresfound > treasurescnt) + treasuresfound = treasurescnt; + int treap = (treasuresfound * 100) / (treasurescnt + 1); + rating = (killp + treap) / 2; + if (rating >= 95) { + rating = 3; + } + else if (rating >= 70) + rating = 2; + else if (rating >= 40) + rating = 1; + else rating = 0; + bonus = rating * 500; + plr.score += bonus; + score = bonus + expgained; +#endif showStatisticsScreen(completion); return; } @@ -778,6 +802,7 @@ void GameInterface::LevelCompleted(MapRecord* map, int skill) gameaction = ga_mainmenu; }); } +#endif } void GameInterface::NextLevel(MapRecord* map, int skill) diff --git a/source/games/whaven/src/names.cpp b/source/games/whaven/src/names.cpp index e972b88e8..483dafef4 100644 --- a/source/games/whaven/src/names.cpp +++ b/source/games/whaven/src/names.cpp @@ -1,5 +1,6 @@ #include "ns.h" #include "gamecontrol.h" +#include "texturemanager.h" BEGIN_WH_NS @@ -167,8 +168,30 @@ short GRONMUDIE; short GRONSHIELD; short SHIELD; + +#define x(a, b) registerName(#a, b); +#define y(a, b) registerName(#a, b); +static void SetTileNames() +{ + auto registerName = [](const char* name, int index) + { + TexMan.AddAlias(name, tileGetTexture(index)); + }; + if (!isWh2()) + { +#include "wh1names.h" + } + else + { +#include "wh2names.h" + } +} +#undef x +#undef y + void InitNames() { + SetTileNames(); if(!isWh2()) { KNIFEREADY = 1249; KNIFEATTACK = 1261; diff --git a/source/games/whaven/src/sndnames.cpp b/source/games/whaven/src/sndnames.cpp index 4f319b243..968d76b12 100644 --- a/source/games/whaven/src/sndnames.cpp +++ b/source/games/whaven/src/sndnames.cpp @@ -1,5 +1,6 @@ #include "ns.h" #include "gamecontrol.h" +#include "types.h" BEGIN_WH_NS int S_THUNDER1 = 0; @@ -299,5 +300,177 @@ void InitSoundNames() S_GRONDEATHC = 138; S_GRONPAINA = 142; } + + // Due to the value differences the script constants cannot be statically defined. + auto cls = PClass::FindClass("WhSnd"); + if (cls) + { + auto clst = cls->VMType; + + #define ADDSYM(x) clst->Symbols.AddSymbol(Create(#x, TypeSInt32, x)) + + ADDSYM(S_THUNDER1); //0; + ADDSYM(S_THUNDER2); //1; + ADDSYM(S_THUNDER3); //2; + ADDSYM(S_THUNDER4); //3; + ADDSYM(S_WINDLOOP1); //4; + ADDSYM(S_WAVELOOP1); //5; + ADDSYM(S_LAVALOOP1); //6; + ADDSYM(S_FIRELOOP1); //7; + ADDSYM(S_STONELOOP1); //8; + ADDSYM(S_BATSLOOP); //9; + ADDSYM(S_PLRWEAPON0); //10; + ADDSYM(S_PLRWEAPON1); //11; + ADDSYM(S_PLRWEAPON2); //12; + ADDSYM(S_PLRWEAPON3); //13; + ADDSYM(S_PLRWEAPON4); //14; + ADDSYM(S_GOBLIN1); //15; + ADDSYM(S_GOBLIN2); //16; + ADDSYM(S_GOBLIN3); //17; + ADDSYM(S_GOBPAIN1); //18; + ADDSYM(S_GOBPAIN2); //19; + ADDSYM(S_GOBDIE1); //20; + ADDSYM(S_GOBDIE2); //21; + ADDSYM(S_GOBDIE3); //22; + ADDSYM(S_KSNARL1); //23; + ADDSYM(S_KSNARL2); //24; + ADDSYM(S_KSNARL3); //25; + ADDSYM(S_KSNARL4); //26; + ADDSYM(S_KPAIN1); //27; + ADDSYM(S_KPAIN2); //28; + ADDSYM(S_KDIE1); //29; + ADDSYM(S_KDIE2); //30; + ADDSYM(S_DEMON1); //31; + ADDSYM(S_DEMON2); //32; + ADDSYM(S_DEMON3); //33; + ADDSYM(S_DEMON4); //34; + ADDSYM(S_DEMON5); //35; + ADDSYM(S_DEMONDIE1); //36; + ADDSYM(S_DEMONDIE2); //37; + ADDSYM(S_MSNARL1); //38; + ADDSYM(S_MSNARL2); //39; + ADDSYM(S_MSNARL3); //40; + ADDSYM(S_MSNARL4); //41; + ADDSYM(S_MPAIN1); //42; + ADDSYM(S_MDEATH1); //43; + ADDSYM(S_DRAGON1); //44; + ADDSYM(S_DRAGON2); //45; + ADDSYM(S_DRAGON3); //46; + ADDSYM(S_RIP1); //47; + ADDSYM(S_RIP2); //48; + ADDSYM(S_RIP3); //49; + ADDSYM(S_SKELHIT1); //50; + ADDSYM(S_SKELHIT2); //51; + ADDSYM(S_SKELETONDIE); //52; + ADDSYM(S_GUARDIAN1); //53; + ADDSYM(S_GUARDIAN2); //54; + ADDSYM(S_GUARDIANPAIN1); //55; + ADDSYM(S_GUARDIANPAIN2); //56; + ADDSYM(S_GUARDIANDIE); //57; + ADDSYM(S_WISP); //58; + ADDSYM(S_WISP2); //59; + ADDSYM(S_SPLASH1); //60; + ADDSYM(S_SPLASH2); //61; + ADDSYM(S_SPLASH3); //62; + ADDSYM(S_SPLASH4); //63; + ADDSYM(S_SPLASH5); //64; + ADDSYM(S_SPLASH6); //65; + ADDSYM(S_WILLOWDIE); //66; + ADDSYM(S_FATWITCHDIE); //67; + ADDSYM(S_JUDY1); //68; + ADDSYM(S_JUDY2); //69; + ADDSYM(S_JUDY3); //70; + ADDSYM(S_JUDY4); //71; + ADDSYM(S_JUDYDIE); //72; + ADDSYM(S_SKULLWITCH1); //73; + ADDSYM(S_SKULLWITCH2); //74; + ADDSYM(S_SKULLWITCH3); //75; + ADDSYM(S_SKULLWITCHDIE); //76; + ADDSYM(S_GRONDEATHA); //77; + ADDSYM(S_GRONDEATHB); //78; + ADDSYM(S_GRONDEATHC); //79; + ADDSYM(S_CHAIN1); //80; + ADDSYM(S_FLAME1); //81; + ADDSYM(S_GRONPAINA); //82; + ADDSYM(S_GRONPAINB); //83; + ADDSYM(S_GRONPAINC); //84; + ADDSYM(S_CLUNK); //85; + ADDSYM(S_DEMONTHROW); //86; + ADDSYM(S_WITCHTHROW); //87; + ADDSYM(S_DOOR1); //88; + ADDSYM(S_DOOR2); //89; + ADDSYM(S_DOOR3); //90; + ADDSYM(S_CREAKDOOR1); //91; + ADDSYM(S_CREAKDOOR2); //92; + ADDSYM(S_CREAKDOOR3); //93; + ADDSYM(S_STING1); //94; + ADDSYM(S_STING2); //95; + ADDSYM(S_POTION1); //96; + ADDSYM(S_GENTHROW); //97; + ADDSYM(S_GENSWING); //98; + ADDSYM(S_ARROWHIT); //99; + ADDSYM(S_WALLHIT1); //100; + ADDSYM(S_GONG); //101; + ADDSYM(S_SPELL1); //102; + ADDSYM(S_FREEZE); //103; + ADDSYM(S_FREEZEDIE); //104; + ADDSYM(S_TRAP1); //105; + ADDSYM(S_TRAP2); //106; + ADDSYM(S_RATS1); //107; + ADDSYM(S_RATS2); //108; + ADDSYM(S_WINDLOOP2); //109; + ADDSYM(S_BREATH1); //110; + ADDSYM(S_BREATH2); //111; + ADDSYM(S_PUSH1); //112; + ADDSYM(S_PUSH2); //113; + ADDSYM(S_PLRPAIN1); //114; + ADDSYM(S_PLRPAIN2); //115; + ADDSYM(S_GORE1); //116; + ADDSYM(S_GORE2); //117; + ADDSYM(S_GORE1A); //118; + ADDSYM(S_GORE1B); //119; + ADDSYM(S_DEADSTEP); //120; + ADDSYM(S_HEARTBEAT); //121; + ADDSYM(S_SOFTCHAINWALK); //122; + ADDSYM(S_SOFTCREAKWALK); //123; + ADDSYM(S_LOUDCHAINWALK); //124; + ADDSYM(S_GRATEWALK); //125; + ADDSYM(S_SCARYDUDE); //126; + ADDSYM(S_WATERY); //127; + ADDSYM(S_GLASSBREAK1); //128; + ADDSYM(S_GLASSBREAK2); //129; + ADDSYM(S_GLASSBREAK3); //130; + ADDSYM(S_TREASURE1); //131; + ADDSYM(S_SWORD1); //132; + ADDSYM(S_SWORD2); //133; + ADDSYM(S_SWORDCLINK1); //134; + ADDSYM(S_SWORDCLINK2); //135; + ADDSYM(S_SWORDCLINK3); //136; + ADDSYM(S_SWORDCLINK4); //137; + ADDSYM(S_SOCK1); //138; + ADDSYM(S_SOCK2); //139; + ADDSYM(S_SOCK3); //140; + ADDSYM(S_SOCK4); //141; + ADDSYM(S_KOBOLDHIT); //142; + ADDSYM(S_SPIDERBITE); //143; + ADDSYM(S_FIREBALL); //144; + ADDSYM(S_WOOD1); //145; + ADDSYM(S_CHAINDOOR1); //146; + ADDSYM(S_PULLCHAIN1); //147; + ADDSYM(S_PICKUPAXE); //148; + ADDSYM(S_EXPLODE); //149; + ADDSYM(S_SKELSEE); //150; + ADDSYM(S_BARRELBREAK); //151; + ADDSYM(S_WARP); //152; + ADDSYM(S_PICKUPFLAG); //155; + ADDSYM(S_DROPFLAG); //156; + ADDSYM(S_LAUGH); //157; + ADDSYM(S_DRINK); //158; + ADDSYM(S_PAGE); //159; + ADDSYM(S_BOTTLES); //160; + ADDSYM(S_CRACKING); //161; + ADDSYM(S_PLRDIE1); //162; + ADDSYM(S_FATLAUGH); //163; + } } END_WH_NS diff --git a/source/games/whaven/src/wh.h b/source/games/whaven/src/wh.h index 91bfd0ea7..6deed05ec 100644 --- a/source/games/whaven/src/wh.h +++ b/source/games/whaven/src/wh.h @@ -12,10 +12,20 @@ using byte = uint8_t; END_WH_NS +enum +{ +#define x(a, b) a= b, +#define y(a, b) WH1##a = b, +#include "wh1names.h" +#undef y +#define y(a, b) WH2##a = b, +#include "wh2names.h" +#undef y +#undef x +}; + #include "globals.h" #include "names.h" -#include "wh1names.h" -#include "wh2names.h" #include "sndnames.h" #include "player.h" #include "ai.h" @@ -484,15 +494,10 @@ void analyzesprites(PLAYER& plr, int dasmoothratio, spritetype* tsprite, int& sp void precacheTiles(); -void startWh2Ending(CompletionFunc); -void showStatisticsScreen(CompletionFunc); -void showVictoryScreen(CompletionFunc); - void InitNames(); void InitFonts(); void sfxInit(void); -void IntroMovie(const CompletionFunc& completion); bool playrunning(); diff --git a/source/games/whaven/src/wh1names.h b/source/games/whaven/src/wh1names.h index b93d7b173..5de64317f 100644 --- a/source/games/whaven/src/wh1names.h +++ b/source/games/whaven/src/wh1names.h @@ -1,266 +1,258 @@ -#pragma once -BEGIN_WH_NS - -enum WH1Names { - - SKY8 = 179, - SKY9 = 180, - SKY10 = 181, - FIREBALL = 314, - LFIRE = 345, - SFIRE = 353, - WATERSPLASH = 438, - LASTWATERSPLASH = 446, - GLOW = 451, - COMPASS = 499, - MACEWITHSPIKES = 540, - MACE = 541, - KNIFE = 542, - SWORD1 = 543, - SWORD2 = 544, - GYSER = 680, - FATWITCH = 821, - FATWITCHATTACK = 841, - FATWITCHDIE = 846, - FATWITCHDEAD = 852, - SWAPCHILL = 853, - SWAMPSTAND = 859, - SWAMPTHING = 860, - SWAMPATTACK = 862, - FREDSTAND = 866, - FRED = 871, - FREDATTACK = 891, - FREDPAIN = 906, - FREDDIE = 911, - FREDDEAD = 916, - GOBLINSTAND = 917, - GOBLIN = 922, - GOBLINCHILL = 942, - GOBLINSURPRISE = 946, - GOBLINATTACK = 952, - GOBLINPAIN = 963, - GOBLINDIE = 968, - GOBLINDEAD = 977, - SKULLY = 1028, - SKULLYATTACK = 1048, - SKULLYDIE = 1059, - SKULLYDEAD = 1069, - SPIDER = 1070, - SPIDERDIE = 1110, - SPIDERDEAD = 1117, - JUDYSIT = 1118, - JUDYSTAND = 1119, - JUDY = 1123, - JUDYATTACK1 = 1143, - JUDYATTACK2 = 1150, - JUDYDIE = 1159, - JUDYDEAD = 1163, - DRAGONATTACK = 1164, - DRAGONDIE = 1187, - DRAGONDEAD = 1200, - DRAGON = 1201, - DRAGONATTACK2 = 1207, - DOG = 1213, - TILES005_START = 1221, - SVGAMENU2 = 1990, - SVGAMENU = 1991, - GASCLOUD = 2021, - POISONICON = 2373, - SKULLYCHAR = 2433, - DEVILCHAR = 2438, - DRAGONCHAR = 2443, - FATWITCHCHAR = 2448, - GOBLINCHAR = 2453, - JUDYCHAR = 2458, - KOBOLDCHAR = 2463, - MINOTAURCHAR = 2468, - SKELETONCHAR = 2473, - GRONCHAR = 2483, - GUARDIANCHAR = 2498, - BETAPAGE = 2691, - STONEHENGE = 2698, - SVGAVICTORYA1 = 2699, - SVGAVICTORYA2 = 2700, - VICTORYA = 2703, - VICTORYB = 2704, - SVGAVICTORYB1 = 2705, - SVGAVICTORYB2 = 2706, - SVB1 = 2707, - SVB2 = 2708, - SVBR1 = 2709, - SVBR2 = 2710, - VICTORYC = 2714, - SVP1 = 2715, - SVP2 = 2716, - SVR1 = 2717, - SVR2 = 2718, +x(SKY8, 179) +x(SKY9, 180) +x(SKY10, 181) +x(FIREBALL, 314) +x(LFIRE, 345) +x(SFIRE, 353) +x(WATERSPLASH, 438) +x(LASTWATERSPLASH, 446) +x(GLOW, 451) +x(COMPASS, 499) +x(MACEWITHSPIKES, 540) +x(MACE, 541) +x(KNIFE, 542) +x(SWORD1, 543) +x(SWORD2, 544) +x(GYSER, 680) +x(FATWITCH, 821) +x(FATWITCHATTACK, 841) +x(FATWITCHDIE, 846) +x(FATWITCHDEAD, 852) +x(SWAPCHILL, 853) +x(SWAMPSTAND, 859) +x(SWAMPTHING, 860) +x(SWAMPATTACK, 862) +x(FREDSTAND, 866) +x(FRED, 871) +x(FREDATTACK, 891) +x(FREDPAIN, 906) +x(FREDDIE, 911) +x(FREDDEAD, 916) +x(GOBLINSTAND, 917) +x(GOBLIN, 922) +x(GOBLINCHILL, 942) +x(GOBLINSURPRISE, 946) +x(GOBLINATTACK, 952) +x(GOBLINPAIN, 963) +x(GOBLINDIE, 968) +x(GOBLINDEAD, 977) +x(SKULLY, 1028) +x(SKULLYATTACK, 1048) +x(SKULLYDIE, 1059) +x(SKULLYDEAD, 1069) +x(SPIDER, 1070) +x(SPIDERDIE, 1110) +x(SPIDERDEAD, 1117) +x(JUDYSIT, 1118) +x(JUDYSTAND, 1119) +x(JUDY, 1123) +x(JUDYATTACK1, 1143) +x(JUDYATTACK2, 1150) +x(JUDYDIE, 1159) +x(JUDYDEAD, 1163) +x(DRAGONATTACK, 1164) +x(DRAGONDIE, 1187) +x(DRAGONDEAD, 1200) +x(DRAGON, 1201) +x(DRAGONATTACK2, 1207) +x(DOG, 1213) +x(TILES005_START, 1221) +x(SVGAMENU2, 1990) +x(SVGAMENU, 1991) +x(GASCLOUD, 2021) +x(POISONICON, 2373) +x(SKULLYCHAR, 2433) +x(DEVILCHAR, 2438) +x(DRAGONCHAR, 2443) +x(FATWITCHCHAR, 2448) +x(GOBLINCHAR, 2453) +x(JUDYCHAR, 2458) +x(KOBOLDCHAR, 2463) +x(MINOTAURCHAR, 2468) +x(SKELETONCHAR, 2473) +x(GRONCHAR, 2483) +x(GUARDIANCHAR, 2498) +x(BETAPAGE, 2691) +x(STONEHENGE, 2698) +x(SVGAVICTORYA1, 2699) +x(SVGAVICTORYA2, 2700) +x(VICTORYA, 2703) +x(VICTORYB, 2704) +x(SVGAVICTORYB1, 2705) +x(SVGAVICTORYB2, 2706) +x(SVB1, 2707) +x(SVB2, 2708) +x(SVBR1, 2709) +x(SVBR2, 2710) +x(VICTORYC, 2714) +x(SVP1, 2715) +x(SVP2, 2716) +x(SVR1, 2717) +x(SVR2, 2718) - WH1KNIFEREADY = 1249, - WH1KNIFEATTACK = 1261, - WH1RFIST = 1268, - WH1SWORDATTACK = 1291, - WH1MORNINGSTAR = 1306, - WH1BOWREADY = 1313, - WH1BOWREADYEND = 1319, - WH1BOWWALK = 1323, - WH1KNIFEATTACK2 = 1329, - WH1SWORDPULL = 1333, - WH1SWORDATTACK2 = 1340, - WH1MORNINGATTACK2 = 1348, - WH1MUMEDUSA = 1353, - WH1MUTWOHANDS = 1363, - WH1BMUTWOHANDS = 1378, - WH1GOBSWORDPULL = 1390, - WH1GOBSWORDATTACK = 1397, - WH1GOBSWORDATTACK2 = 1404, - WH1BIGAXEATTACK = 1411, - WH1BIGAXEATTACK2 = 1421, - WH1BIGAXEDRAW = 1429, - WH1HALBERDATTACK1 = 1438, - WH1HALBERDATTACK2 = 1443, - WH1HALBERDDRAW = 1447, - WH1PIKEDRAW = 1451, - WH1PIKEATTACK1 = 1457, - WH1EXCALATTACK1 = 1463, - WH1EXCALATTACK2 = 1473, - WH1EXCALDRAW = 1481, - WH1BIGAXEDRAW9 = 1494, - WH1BIGAXEDRAW10 = 1495, - WH1GEARS2START = 1498, - WH1HORNEDSKULL = 1503, - WH1THEFONT = 1511, - WH1CRYSTALSTAFF = 1551, - WH1TORCH = 1554, - WH1WEAPON1 = 1567, - WH1WEAPON1A = 1571, - WH1AMULETOFTHEMIST = 1575, - WH1WEAPON2 = 1583, - WH1BRASSKEY = 1624, - WH1BLACKKEY = 1632, - WH1GLASSKEY = 1640, - WH1IVORYKEY = 1648, - WH1NEWCHUNK = 1664, - WH1BOWLOFFIRE = 1705, - WH1SPAWNFIREBALL = 1718, - WH1PENTAGRAM = 1760, - WH1THEHORN = 1768, - WH1BOW = 1776, - WH1SWINGGATE3 = 1789, - WH1PLATEARMOR = 1794, - WH1HELMET = 1802, - WH1CHAINMAIL = 1810, - WH1SCROLLSCARE = 1818, - WH1SCROLLNUKE = 1826, - WH1SCROLLFLY = 1834, - WH1SCROLLFIREBALL = 1842, - WH1SCROLLFREEZE = 1850, - WH1SCROLLNIGHT = 1858, - WH1SCROLLMAGIC = 1866, - WH1SCROLLOPEN = 1874, - WH1LEATHERARMOR = 1882, - WH1QUIVER = 1890, - WH1SWINGGATE4 = 1898, - WH1SWINGGATE5 = 1899, - WH1SMOKEFX = 1904, - WH1STANDINTORCH = 1908, - WH1PENTADOOR3 = 1927, - WH1PENTADOOR4 = 1928, - WH1PENTADOOR5 = 1929, - WH1PENTADOOR6 = 1930, - WH1PENTADOOR7 = 1931, - WH1SCARY = 1933, - WH1FISH = 1945, - WH1LEVERUP = 1947, - WH1LEVERDOWN = 1949, - WH1SPAWNJAVLIN = 1958, - WH1RAT = 1962, - WH1GUARDIAN = 1994, - WH1GUARDIANATTACK = 2002, - WH1DART = 2010, - WH1WEAPON4 = 2027, - WH1WEAPON6 = 2039, - WH1WEAPON5 = 2047, - WH1WEAPON5B = 2055, - WH1THROWHALBERD = 2066, - WH1WEAPON7 = 2067, - WH1THROWPIKE = 2071, - WH1EXPLO2 = 2096, - WH1SHATTERVASE = 2124, - WH1SHATTERVASE2 = 2131, - WH1SHATTERVASE3 = 2138, - WH1HANGMAN = 2145, - WH1SKELETON = 2156, - WH1SKELETONATTACK = 2181, - WH1SKELETONSKULL = 2186, - WH1SKELETONUP = 2191, - WH1SKELETONDIE = 2192, - WH1SKELETONDEAD = 2198, - WH1BONECHUNK1 = 2199, - WH1BONECHUNKEND = 2208, - WH1PIKEATTACK2 = 2209, - WH1GOBWEAPON = 2218, - WH1SFLASKBLUE = 2240, - WH1SFLASKGREEN = 2241, - WH1SFLASKOCHRE = 2242, - WH1SFLASKRED = 2243, - WH1SFLASKTAN = 2244, - WH1SFLASKBLACK = 2245, - WH1SHEALTHFONT = 2246, - WH1SSCOREFONT = 2256, - WH1SPOTIONFONT = 2266, - WH1SPOTIONBACKPIC = 2280, - WH1SPOTIONARROW = 2281, - WH1SSPELLBOOKBLANK = 2286, - WH1SSPELLBOOK2 = 2294, - WH1SSPELLBOOK3 = 2302, - WH1SSPELLBOOK4 = 2310, - WH1SSPELLBOOK5 = 2317, - WH1SSPELLBOOK6 = 2324, - WH1SSPELLBOOK7 = 2332, - WH1SSPELLBOOK8 = 2340, - WH1SARROWS = 2348, - WH1SPLAYERLVL = 2349, - WH1SSTATUSBAR = 2358, - WH1SKEYBLANK = 2359, - WH1SKEYBRASS = 2360, - WH1SKEYBLACK = 2361, - WH1SKEYGLASS = 2362, - WH1SKEYIVORY = 2363, - WH1SHEALTHBACK = 2365, - WH1SSCOREBACKPIC = 2368, - WH1SNDEFFECT = 2369, - WH1SNDLOOP = 2370, - WH1SNDLOOPOFF = 2371, - WH1BROWNCHUNKSTART = 2387, - WH1GREYCHUNKSTART = 2395, - WH1REDCHUNKSTART = 2403, - WH1GREENCHUNKSTART = 2411, - WH1TANCHUNKSTART = 2419, - WH1WILLOW = 2427, - WH1SPIKES = 2488, - WH1STHEFLAG = 2491, - WH1GRONHALATTACK = 2504, - WH1GRONHALATTACKEND = 2508, - WH1GROLHALREADY = 2509, - WH1GRONHALREADYEND = 2510, - WH1GRONHAL = 2539, - WH1GRONHALPAIN = 2559, - WH1GRONHALDIE = 2560, - WH1GRONSWATTACK = 2561, - WH1GRONSW = 2581, - WH1GRONSWPAIN = 2601, - WH1GRONSWDIE = 2602, - WH1GRONMUATTACK = 2603, - WH1GRONDIE = 2633, - WH1GRONDEAD = 2639, - WH1GRONMU = 2640, - WH1GRONMUPAIN = 2660, - WH1GRONMUDIE = 2661, - WH1GRONSHIELD = 2680, - WH1SHIELD = 2684, +y(KNIFEREADY, 1249) +y(KNIFEATTACK, 1261) +y(RFIST, 1268) +y(SWORDATTACK, 1291) +y(MORNINGSTAR, 1306) +y(BOWREADY, 1313) +y(BOWREADYEND, 1319) +y(BOWWALK, 1323) +y(KNIFEATTACK2, 1329) +y(SWORDPULL, 1333) +y(SWORDATTACK2, 1340) +y(MORNINGATTACK2, 1348) +y(MUMEDUSA, 1353) +y(MUTWOHANDS, 1363) +y(BMUTWOHANDS, 1378) +y(GOBSWORDPULL, 1390) +y(GOBSWORDATTACK, 1397) +y(GOBSWORDATTACK2, 1404) +y(BIGAXEATTACK, 1411) +y(BIGAXEATTACK2, 1421) +y(BIGAXEDRAW, 1429) +y(HALBERDATTACK1, 1438) +y(HALBERDATTACK2, 1443) +y(HALBERDDRAW, 1447) +y(PIKEDRAW, 1451) +y(PIKEATTACK1, 1457) +y(EXCALATTACK1, 1463) +y(EXCALATTACK2, 1473) +y(EXCALDRAW, 1481) +y(BIGAXEDRAW9, 1494) +y(BIGAXEDRAW10, 1495) +y(GEARS2START, 1498) +y(HORNEDSKULL, 1503) +y(THEFONT, 1511) +y(CRYSTALSTAFF, 1551) +y(TORCH, 1554) +y(WEAPON1, 1567) +y(WEAPON1A, 1571) +y(AMULETOFTHEMIST, 1575) +y(WEAPON2, 1583) +y(BRASSKEY, 1624) +y(BLACKKEY, 1632) +y(GLASSKEY, 1640) +y(IVORYKEY, 1648) +y(NEWCHUNK, 1664) +y(BOWLOFFIRE, 1705) +y(SPAWNFIREBALL, 1718) +y(PENTAGRAM, 1760) +y(THEHORN, 1768) +y(BOW, 1776) +y(SWINGGATE3, 1789) +y(PLATEARMOR, 1794) +y(HELMET, 1802) +y(CHAINMAIL, 1810) +y(SCROLLSCARE, 1818) +y(SCROLLNUKE, 1826) +y(SCROLLFLY, 1834) +y(SCROLLFIREBALL, 1842) +y(SCROLLFREEZE, 1850) +y(SCROLLNIGHT, 1858) +y(SCROLLMAGIC, 1866) +y(SCROLLOPEN, 1874) +y(LEATHERARMOR, 1882) +y(QUIVER, 1890) +y(SWINGGATE4, 1898) +y(SWINGGATE5, 1899) +y(SMOKEFX, 1904) +y(STANDINTORCH, 1908) +y(PENTADOOR3, 1927) +y(PENTADOOR4, 1928) +y(PENTADOOR5, 1929) +y(PENTADOOR6, 1930) +y(PENTADOOR7, 1931) +y(SCARY, 1933) +y(FISH, 1945) +y(LEVERUP, 1947) +y(LEVERDOWN, 1949) +y(SPAWNJAVLIN, 1958) +y(RAT, 1962) +y(GUARDIAN, 1994) +y(GUARDIANATTACK, 2002) +y(DART, 2010) +y(WEAPON4, 2027) +y(WEAPON6, 2039) +y(WEAPON5, 2047) +y(WEAPON5B, 2055) +y(THROWHALBERD, 2066) +y(WEAPON7, 2067) +y(THROWPIKE, 2071) +y(EXPLO2, 2096) +y(SHATTERVASE, 2124) +y(SHATTERVASE2, 2131) +y(SHATTERVASE3, 2138) +y(HANGMAN, 2145) +y(SKELETON, 2156) +y(SKELETONATTACK, 2181) +y(SKELETONSKULL, 2186) +y(SKELETONUP, 2191) +y(SKELETONDIE, 2192) +y(SKELETONDEAD, 2198) +y(BONECHUNK1, 2199) +y(BONECHUNKEND, 2208) +y(PIKEATTACK2, 2209) +y(GOBWEAPON, 2218) +y(SFLASKBLUE, 2240) +y(SFLASKGREEN, 2241) +y(SFLASKOCHRE, 2242) +y(SFLASKRED, 2243) +y(SFLASKTAN, 2244) +y(SFLASKBLACK, 2245) +y(SHEALTHFONT, 2246) +y(SSCOREFONT, 2256) +y(SPOTIONFONT, 2266) +y(SPOTIONBACKPIC, 2280) +y(SPOTIONARROW, 2281) +y(SSPELLBOOKBLANK, 2286) +y(SSPELLBOOK2, 2294) +y(SSPELLBOOK3, 2302) +y(SSPELLBOOK4, 2310) +y(SSPELLBOOK5, 2317) +y(SSPELLBOOK6, 2324) +y(SSPELLBOOK7, 2332) +y(SSPELLBOOK8, 2340) +y(SARROWS, 2348) +y(SPLAYERLVL, 2349) +y(SSTATUSBAR, 2358) +y(SKEYBLANK, 2359) +y(SKEYBRASS, 2360) +y(SKEYBLACK, 2361) +y(SKEYGLASS, 2362) +y(SKEYIVORY, 2363) +y(SHEALTHBACK, 2365) +y(SSCOREBACKPIC, 2368) +y(SNDEFFECT, 2369) +y(SNDLOOP, 2370) +y(SNDLOOPOFF, 2371) +y(BROWNCHUNKSTART, 2387) +y(GREYCHUNKSTART, 2395) +y(REDCHUNKSTART, 2403) +y(GREENCHUNKSTART, 2411) +y(TANCHUNKSTART, 2419) +y(WILLOW, 2427) +y(SPIKES, 2488) +y(STHEFLAG, 2491) +y(GRONHALATTACK, 2504) +y(GRONHALATTACKEND, 2508) +y(GROLHALREADY, 2509) +y(GRONHALREADYEND, 2510) +y(GRONHAL, 2539) +y(GRONHALPAIN, 2559) +y(GRONHALDIE, 2560) +y(GRONSWATTACK, 2561) +y(GRONSW, 2581) +y(GRONSWPAIN, 2601) +y(GRONSWDIE, 2602) +y(GRONMUATTACK, 2603) +y(GRONDIE, 2633) +y(GRONDEAD, 2639) +y(GRONMU, 2640) +y(GRONMUPAIN, 2660) +y(GRONMUDIE, 2661) +y(GRONSHIELD, 2680) +y(SHIELD, 2684) -}; - -END_WH_NS diff --git a/source/games/whaven/src/wh2names.h b/source/games/whaven/src/wh2names.h index 82d1e1582..141b0d36b 100644 --- a/source/games/whaven/src/wh2names.h +++ b/source/games/whaven/src/wh2names.h @@ -1,389 +1,380 @@ -#pragma once - -BEGIN_WH_NS - -enum WH2Names { - - STAINQ = 180, - FLOORMIRROR = 182, - STARMAP = 208, - BLOODSPLAT1 = 212, - BLOODSPLAT1END = 222, - BLOODSPLAT2 = 223, - BLOODSPLAT2END = 228, - WEAPON8 = 229, - SILVERBAG = 234, - GOLDBAG = 235, - GOLDBAG2 = 236, - GOLDCOINS = 237, - GOLDCOINS2 = 238, - SILVERCOINS = 239, - WALLPIKE = 356, - WALLSWORD = 357, - WALLBOW = 358, - WALLAXE = 359, - STAINTRIANGLE = 410, - STAINFLOWER = 411, - STAINTHIN = 412, - PATROLPOINT = 447, - CONE = 449, - STAINCIRCLE = 451, - STAINCIRCLEBREAK = 452, - STAINCIRCLEEND = 457, - STAINHEAD = 498, - STAINSNAKE = 499, - SKULLPULLCHAIN1 = 539, - GONZOSHIELD = 540, - SKULLPULLCHAIN3 = 541, - SPARKBALL = 602, - WEAPON3A = 670, - SLIMESPLASH = 821, - LASTSLIMESPLASH = 827, - DAFONT = 864, - ZFIRE = 905, - IMP = 922, - IMPATTACK = 952, - IMPDIE = 958, - IMPPAIN = 959, - IMPDEAD = 967, - THEMAINMENU = 1028, - THEMAINMENUWITH = 1029, - THENEWGAME = 1030, - THELOADSAVE = 1031, - THEOPTIONS = 1032, - THEHELP = 1033, - THEQUIT = 1034, - ZCREDITS = 1035, - ZWEAPON = 1036, - ZSPELL = 1037, - ZKEN = 1038, - ZCREDITS2 = 1039, - ZMOVE = 1040, - ZMOVE2 = 1041, - ZPOTION = 1042, - ZCREDITS3 = 1043, - ZARTIST = 1044, - ZSAVE = 1045, - ZLOAD = 1046, - ZGOREPG = 1047, - VMAINBLANK = 1048, - VMAIN = 1049, - VNEW = 1050, - VCREDIT1 = 1055, - DALOAD = 1065, - DASAVE = 1066, - ZLOADSAVE = 1067, - ZSURE = 1068, - THEORDER = 1069, - STHEORDER = 1070, - ZOPS = 1072, - DASOUND = 1073, - DAGAMEPLAY = 1074, - DACONTROLS = 1075, - DASLIDER = 1076, - ZCDPLAYER = 1077, - STAINGLASS1 = 1079, - STAINGLASS2 = 1086, - STAINGLASS3 = 1093, - STAINGLASS4 = 1100, - STAINGLASS5 = 1107, - STAINGLASS6 = 1114, - STAINGLASS7 = 1121, - STAINGLASS8 = 1128, - STAINGLASS9 = 1135, - CDMUVOL = 1142, - REDSHUFFLE = 1164, - ZZGORE = 1182, - ZZBLOOD = 1183, - ZZDIFFICULTY = 1184, - ZCONTROLS = 1185, - ZZSLIDER = 1198, - ZZON = 1199, - ZZOFF = 1200, - ZZONLITE = 1201, - ZZOFFLITE = 1202, - EXPLOSTART = 1203, - EXPLOEND = 1215, - ARROWFLAME = 1216, - STAINSCENE = 1658, - STAINSKULL = 1660, - STAINGARGO = 1661, - STAINMU = 1662, - SHARD = 1687, - DEMON = 1935, - GONZOBSHIELD = 2432, - GONZOCSHIELD = 2439, - GONZOGSHIELD = 2446, - STONEGONZOCHM = 2483, - STONEGONZOGSH = 2484, - STONEGRONDOVAL = 2485, - STONEGONZOBSW = 2486, - STONEGONZOBSH = 2497, - STONEGONZOBSW2 = 2498, - SBLUEKNIGHTS1 = 2705, - SBLUEKNIGHTS2 = 2706, - SBROWNKNIGHTS1 = 2707, - SBROWNKNIGHTS2 = 2708, - SPURPLEKNIGHTS1 = 2713, - SPURPLEKNIGHTS2 = 2714, - SREDKNIGHTS1 = 2715, - SREDKNIGHTS2 = 2716, - NEWGUYBOW = 2750, - NEWGUYPUNCH = 2780, - GONZOBSHPAIN = 3006, - GONZOBSHDEAD = 3016, - GONZOCSW = 3017, - GONZOCSWAT = 3047, - GONZOCSWPAIN = 3077, - GONZOCSWDEAD = 3089, - KURTSTAND = 3090, - KURTKNEE = 3095, - KURTJUMP = 3100, - KURTAT = 3110, - GONZOCHMAT = 3120, - KURTPUNCH = 3140, - KURTREADY = 3160, - NEWGUY = 3170, - NEWGUYMACE = 3200, - NEWGUYDIE = 3230, - NEWGUYDEAD = 3239, - NEWGUYSTAND = 3243, - NEWGUYKNEE = 3248, - GONZOCSHPAIN = 3268, - GONZOCSHDEAD = 3278, - GONZOGSW = 3279, - GONZOGSWAT = 3309, - GONZOGSWPAIN = 3339, - GONZOGSWDEAD = 3351, - GONZOGHM = 3352, - GONZOGHMAT = 3382, - GONZOGHMPAIN = 3412, - GONZOGHMDEAD = 3425, - GONZOGSH = 3426, - GONZOGSHAT = 3474, - GONZOGSHPAIN = 3530, - GONZOGSHDEAD = 3540, - KATIE = 3541, - KATIEASS = 3561, - KATIEAT = 3566, - KATIEPAIN = 3583, - KATIEDEAD = 3591, - NEWGUYMACEMU = 3592, - NEWGUYCAST = 3602, - NEWGUYPAIN = 3612, - GONZOHMJUMP = 3630, - GONZOHMJUMPEND = 3635, - GONZOSHJUMP = 3636, - GONZOSHJUMPEND = 3641, - ZFLASHER1 = 3650, - ZFLASHER2 = 3662, - SFLASH1 = 3680, - SFLASH2 = 3692, - SFLASH4 = 3704, - SFLASH3 = 3707, - VLOAD = 3711, - VSAVE = 3712, - VSOUNDA = 3713, - VSOUNDB = 3714, - VGOREA = 3715, - VGOREB = 3716, - ZPIKEREADY = 3743, - ZPIKE = 3748, - ZPIKEATTACK = 3752, - ZPIKEATTACK2 = 3758, - ZBOWREADY = 3767, - ZBOWREADYEND = 3774, - ZBOWCOCK = 3775, - ZBOWWALK = 3776, - ZBOWATTACK = 3781, - ZKNIFEREADY = 3786, - ZKNIFEATTACK = 3798, - ZKNIFEATTACK2 = 3804, - ZAXEREADY = 3808, - ZAXEATTACK = 3817, - ZAXEATTACK2 = 3832, - ZFREEZE = 3840, - ZFIREBALL = 3855, - ZLIGHT = 3865, - ZSTARATTACK = 3875, - ZSTARATTACK2 = 3884, - ZTWOHANDREADY = 3888, - ZTWOHANDATTACK = 3900, - ZTWOHANDATTACK2 = 3915, - ZSHORTREADY = 3922, - ZSHORTATTACK = 3929, - ZSHORTATTACKONE = 3933, - ZSHORTATTACK2 = 3939, - ZHALBERDREADY = 3946, - ZHALBERDATTACK = 3948, - ZHALBERDATTACK2 = 3957, - ROUNDSHIELD = 3961, +x(STAINQ, 180) +x(FLOORMIRROR, 182) +x(STARMAP, 208) +x(BLOODSPLAT1, 212) +x(BLOODSPLAT1END, 222) +x(BLOODSPLAT2, 223) +x(BLOODSPLAT2END, 228) +x(WEAPON8, 229) +x(SILVERBAG, 234) +x(GOLDBAG, 235) +x(GOLDBAG2, 236) +x(GOLDCOINS, 237) +x(GOLDCOINS2, 238) +x(SILVERCOINS, 239) +x(WALLPIKE, 356) +x(WALLSWORD, 357) +x(WALLBOW, 358) +x(WALLAXE, 359) +x(STAINTRIANGLE, 410) +x(STAINFLOWER, 411) +x(STAINTHIN, 412) +x(PATROLPOINT, 447) +x(CONE, 449) +x(STAINCIRCLE, 451) +x(STAINCIRCLEBREAK, 452) +x(STAINCIRCLEEND, 457) +x(STAINHEAD, 498) +x(STAINSNAKE, 499) +x(SKULLPULLCHAIN1, 539) +x(GONZOSHIELD, 540) +x(SKULLPULLCHAIN3, 541) +x(SPARKBALL, 602) +x(WEAPON3A, 670) +x(SLIMESPLASH, 821) +x(LASTSLIMESPLASH, 827) +x(DAFONT, 864) +x(ZFIRE, 905) +x(IMP, 922) +x(IMPATTACK, 952) +x(IMPDIE, 958) +x(IMPPAIN, 959) +x(IMPDEAD, 967) +x(THEMAINMENU, 1028) +x(THEMAINMENUWITH, 1029) +x(THENEWGAME, 1030) +x(THELOADSAVE, 1031) +x(THEOPTIONS, 1032) +x(THEHELP, 1033) +x(THEQUIT, 1034) +x(ZCREDITS, 1035) +x(ZWEAPON, 1036) +x(ZSPELL, 1037) +x(ZKEN, 1038) +x(ZCREDITS2, 1039) +x(ZMOVE, 1040) +x(ZMOVE2, 1041) +x(ZPOTION, 1042) +x(ZCREDITS3, 1043) +x(ZARTIST, 1044) +x(ZSAVE, 1045) +x(ZLOAD, 1046) +x(ZGOREPG, 1047) +x(VMAINBLANK, 1048) +x(VMAIN, 1049) +x(VNEW, 1050) +x(VCREDIT1, 1055) +x(DALOAD, 1065) +x(DASAVE, 1066) +x(ZLOADSAVE, 1067) +x(ZSURE, 1068) +x(THEORDER, 1069) +x(STHEORDER, 1070) +x(ZOPS, 1072) +x(DASOUND, 1073) +x(DAGAMEPLAY, 1074) +x(DACONTROLS, 1075) +x(DASLIDER, 1076) +x(ZCDPLAYER, 1077) +x(STAINGLASS1, 1079) +x(STAINGLASS2, 1086) +x(STAINGLASS3, 1093) +x(STAINGLASS4, 1100) +x(STAINGLASS5, 1107) +x(STAINGLASS6, 1114) +x(STAINGLASS7, 1121) +x(STAINGLASS8, 1128) +x(STAINGLASS9, 1135) +x(CDMUVOL, 1142) +x(REDSHUFFLE, 1164) +x(ZZGORE, 1182) +x(ZZBLOOD, 1183) +x(ZZDIFFICULTY, 1184) +x(ZCONTROLS, 1185) +x(ZZSLIDER, 1198) +x(ZZON, 1199) +x(ZZOFF, 1200) +x(ZZONLITE, 1201) +x(ZZOFFLITE, 1202) +x(EXPLOSTART, 1203) +x(EXPLOEND, 1215) +x(ARROWFLAME, 1216) +x(STAINSCENE, 1658) +x(STAINSKULL, 1660) +x(STAINGARGO, 1661) +x(STAINMU, 1662) +x(SHARD, 1687) +x(DEMON, 1935) +x(GONZOBSHIELD, 2432) +x(GONZOCSHIELD, 2439) +x(GONZOGSHIELD, 2446) +x(STONEGONZOCHM, 2483) +x(STONEGONZOGSH, 2484) +x(STONEGRONDOVAL, 2485) +x(STONEGONZOBSW, 2486) +x(STONEGONZOBSH, 2497) +x(STONEGONZOBSW2, 2498) +x(SBLUEKNIGHTS1, 2705) +x(SBLUEKNIGHTS2, 2706) +x(SBROWNKNIGHTS1, 2707) +x(SBROWNKNIGHTS2, 2708) +x(SPURPLEKNIGHTS1, 2713) +x(SPURPLEKNIGHTS2, 2714) +x(SREDKNIGHTS1, 2715) +x(SREDKNIGHTS2, 2716) +x(NEWGUYBOW, 2750) +x(NEWGUYPUNCH, 2780) +x(GONZOBSHPAIN, 3006) +x(GONZOBSHDEAD, 3016) +x(GONZOCSW, 3017) +x(GONZOCSWAT, 3047) +x(GONZOCSWPAIN, 3077) +x(GONZOCSWDEAD, 3089) +x(KURTSTAND, 3090) +x(KURTKNEE, 3095) +x(KURTJUMP, 3100) +x(KURTAT, 3110) +x(GONZOCHMAT, 3120) +x(KURTPUNCH, 3140) +x(KURTREADY, 3160) +x(NEWGUY, 3170) +x(NEWGUYMACE, 3200) +x(NEWGUYDIE, 3230) +x(NEWGUYDEAD, 3239) +x(NEWGUYSTAND, 3243) +x(NEWGUYKNEE, 3248) +x(GONZOCSHPAIN, 3268) +x(GONZOCSHDEAD, 3278) +x(GONZOGSW, 3279) +x(GONZOGSWAT, 3309) +x(GONZOGSWPAIN, 3339) +x(GONZOGSWDEAD, 3351) +x(GONZOGHM, 3352) +x(GONZOGHMAT, 3382) +x(GONZOGHMPAIN, 3412) +x(GONZOGHMDEAD, 3425) +x(GONZOGSH, 3426) +x(GONZOGSHAT, 3474) +x(GONZOGSHPAIN, 3530) +x(GONZOGSHDEAD, 3540) +x(KATIE, 3541) +x(KATIEASS, 3561) +x(KATIEAT, 3566) +x(KATIEPAIN, 3583) +x(KATIEDEAD, 3591) +x(NEWGUYMACEMU, 3592) +x(NEWGUYCAST, 3602) +x(NEWGUYPAIN, 3612) +x(GONZOHMJUMP, 3630) +x(GONZOHMJUMPEND, 3635) +x(GONZOSHJUMP, 3636) +x(GONZOSHJUMPEND, 3641) +x(ZFLASHER1, 3650) +x(ZFLASHER2, 3662) +x(SFLASH1, 3680) +x(SFLASH2, 3692) +x(SFLASH4, 3704) +x(SFLASH3, 3707) +x(VLOAD, 3711) +x(VSAVE, 3712) +x(VSOUNDA, 3713) +x(VSOUNDB, 3714) +x(VGOREA, 3715) +x(VGOREB, 3716) +x(ZPIKEREADY, 3743) +x(ZPIKE, 3748) +x(ZPIKEATTACK, 3752) +x(ZPIKEATTACK2, 3758) +x(ZBOWREADY, 3767) +x(ZBOWREADYEND, 3774) +x(ZBOWCOCK, 3775) +x(ZBOWWALK, 3776) +x(ZBOWATTACK, 3781) +x(ZKNIFEREADY, 3786) +x(ZKNIFEATTACK, 3798) +x(ZKNIFEATTACK2, 3804) +x(ZAXEREADY, 3808) +x(ZAXEATTACK, 3817) +x(ZAXEATTACK2, 3832) +x(ZFREEZE, 3840) +x(ZFIREBALL, 3855) +x(ZLIGHT, 3865) +x(ZSTARATTACK, 3875) +x(ZSTARATTACK2, 3884) +x(ZTWOHANDREADY, 3888) +x(ZTWOHANDATTACK, 3900) +x(ZTWOHANDATTACK2, 3915) +x(ZSHORTREADY, 3922) +x(ZSHORTATTACK, 3929) +x(ZSHORTATTACKONE, 3933) +x(ZSHORTATTACK2, 3939) +x(ZHALBERDREADY, 3946) +x(ZHALBERDATTACK, 3948) +x(ZHALBERDATTACK2, 3957) +x(ROUNDSHIELD, 3961) - WH2KNIFEREADY = 1248, - WH2KNIFEATTACK = 1260, - WH2RFIST = 1267, - WH2SWORDATTACK = 1290, - WH2MORNINGSTAR = 1305, - WH2BOWREADY = 1312, - WH2BOWREADYEND = 1318, - WH2BOWWALK = 1322, - WH2KNIFEATTACK2 = 1328, - WH2SWORDPULL = 1332, - WH2SWORDATTACK2 = 1339, - WH2MORNINGATTACK2 = 1347, - WH2MUMEDUSA = 1352, - WH2MUTWOHANDS = 1362, - WH2BMUTWOHANDS = 1377, - WH2GOBSWORDPULL = 1389, - WH2GOBSWORDATTACK = 1396, - WH2GOBSWORDATTACK2 = 1403, - WH2BIGAXEATTACK = 1410, - WH2BIGAXEATTACK2 = 1420, - WH2BIGAXEDRAW = 1428, - WH2HALBERDATTACK1 = 1437, - WH2HALBERDATTACK2 = 1442, - WH2HALBERDDRAW = 1446, - WH2PIKEDRAW = 1450, - WH2PIKEATTACK1 = 1456, - WH2EXCALATTACK1 = 1462, - WH2EXCALATTACK2 = 1472, - WH2EXCALDRAW = 1480, - WH2BIGAXEDRAW9 = 1493, - WH2BIGAXEDRAW10 = 1494, - WH2GEARS2START = 1497, - WH2HORNEDSKULL = 1502, - WH2THEFONT = 1510, - WH2CRYSTALSTAFF = 1550, - WH2TORCH = 1553, - WH2WEAPON1 = 1566, - WH2WEAPON1A = 1570, - WH2AMULETOFTHEMIST = 1574, - WH2WEAPON2 = 1582, - WH2BRASSKEY = 1623, - WH2BLACKKEY = 1631, - WH2GLASSKEY = 1639, - WH2IVORYKEY = 1647, - WH2NEWCHUNK = 1663, - WH2BOWLOFFIRE = 1704, - WH2SPAWNFIREBALL = 1717, - WH2PENTAGRAM = 1759, - WH2THEHORN = 1767, - WH2BOW = 1775, - WH2SWINGGATE3 = 1788, - WH2PLATEARMOR = 1793, - WH2HELMET = 1801, - WH2CHAINMAIL = 1809, - WH2SCROLLSCARE = 1817, - WH2SCROLLNUKE = 1825, - WH2SCROLLFLY = 1833, - WH2SCROLLFIREBALL = 1841, - WH2SCROLLFREEZE = 1849, - WH2SCROLLNIGHT = 1857, - WH2SCROLLMAGIC = 1865, - WH2SCROLLOPEN = 1873, - WH2LEATHERARMOR = 1881, - WH2QUIVER = 1889, - WH2SWINGGATE4 = 1897, - WH2SWINGGATE5 = 1898, - WH2SMOKEFX = 1903, - WH2STANDINTORCH = 1907, - WH2PENTADOOR3 = 1926, - WH2PENTADOOR4 = 1927, - WH2PENTADOOR5 = 1928, - WH2PENTADOOR6 = 1929, - WH2PENTADOOR7 = 1930, - WH2SCARY = 1932, - WH2FISH = 1944, - WH2LEVERUP = 1946, - WH2LEVERDOWN = 1948, - WH2SPAWNJAVLIN = 1957, - WH2RAT = 1961, - WH2GUARDIAN = 1993, - WH2GUARDIANATTACK = 2001, - WH2DART = 2009, - WH2WEAPON4 = 2026, - WH2WEAPON6 = 2038, - WH2WEAPON5 = 2046, - WH2WEAPON5B = 2054, - WH2THROWHALBERD = 2065, - WH2WEAPON7 = 2066, - WH2THROWPIKE = 2070, - WH2EXPLO2 = 2095, - WH2SHATTERVASE = 2123, - WH2SHATTERVASE2 = 2130, - WH2SHATTERVASE3 = 2137, - WH2HANGMAN = 2144, - WH2SKELETON = 2155, - WH2SKELETONATTACK = 2180, - WH2SKELETONSKULL = 2185, - WH2SKELETONUP = 2190, - WH2SKELETONDIE = 2191, - WH2SKELETONDEAD = 2197, - WH2BONECHUNK1 = 2198, - WH2BONECHUNKEND = 2207, - WH2PIKEATTACK2 = 2208, - WH2GOBWEAPON = 2217, - WH2SFLASKBLUE = 2239, - WH2SFLASKGREEN = 2240, - WH2SFLASKOCHRE = 2241, - WH2SFLASKRED = 2242, - WH2SFLASKTAN = 2243, - WH2SFLASKBLACK = 2244, - WH2SHEALTHFONT = 2245, - WH2SSCOREFONT = 2255, - WH2SPOTIONFONT = 2265, - WH2SPOTIONBACKPIC = 2279, - WH2SPOTIONARROW = 2280, - WH2SSPELLBOOKBLANK = 2285, - WH2SSPELLBOOK2 = 2293, - WH2SSPELLBOOK3 = 2301, - WH2SSPELLBOOK4 = 2309, - WH2SSPELLBOOK5 = 2316, - WH2SSPELLBOOK6 = 2323, - WH2SSPELLBOOK7 = 2331, - WH2SSPELLBOOK8 = 2339, - WH2SARROWS = 2347, - WH2SPLAYERLVL = 2348, - WH2SSTATUSBAR = 2357, - WH2SKEYBLANK = 2358, - WH2SKEYBRASS = 2359, - WH2SKEYBLACK = 2360, - WH2SKEYGLASS = 2361, - WH2SKEYIVORY = 2362, - WH2SHEALTHBACK = 2364, - WH2SSCOREBACKPIC = 2367, - WH2SNDEFFECT = 2368, - WH2SNDLOOP = 2369, - WH2SNDLOOPOFF = 2370, - WH2BROWNCHUNKSTART = 2386, - WH2GREYCHUNKSTART = 2394, - WH2REDCHUNKSTART = 2402, - WH2GREENCHUNKSTART = 2410, - WH2TANCHUNKSTART = 2418, - WH2WILLOW = 2426, - WH2SPIKES = 2487, - WH2STHEFLAG = 2490, - WH2GRONHALATTACK = 2502, - WH2GRONHALATTACKEND = 2506, - WH2GROLHALREADY = 2507, - WH2GRONHALREADYEND = 2508, - WH2GRONHAL = 2537, - WH2GRONHALPAIN = 2557, - WH2GRONHALDIE = 2558, - WH2GRONSWATTACK = 2559, - WH2GRONSW = 2579, - WH2GRONSWPAIN = 2599, - WH2GRONSWDIE = 2600, - WH2GRONMUATTACK = 2601, - WH2GRONDIE = 2631, - WH2GRONDEAD = 2637, - WH2GRONMU = 2638, - WH2GRONMUPAIN = 2658, - WH2GRONMUDIE = 2659, - WH2GRONSHIELD = 2678, - WH2SHIELD = 2682, -}; - -END_WH_NS +y(KNIFEREADY, 1248) +y(KNIFEATTACK, 1260) +y(RFIST, 1267) +y(SWORDATTACK, 1290) +y(MORNINGSTAR, 1305) +y(BOWREADY, 1312) +y(BOWREADYEND, 1318) +y(BOWWALK, 1322) +y(KNIFEATTACK2, 1328) +y(SWORDPULL, 1332) +y(SWORDATTACK2, 1339) +y(MORNINGATTACK2, 1347) +y(MUMEDUSA, 1352) +y(MUTWOHANDS, 1362) +y(BMUTWOHANDS, 1377) +y(GOBSWORDPULL, 1389) +y(GOBSWORDATTACK, 1396) +y(GOBSWORDATTACK2, 1403) +y(BIGAXEATTACK, 1410) +y(BIGAXEATTACK2, 1420) +y(BIGAXEDRAW, 1428) +y(HALBERDATTACK1, 1437) +y(HALBERDATTACK2, 1442) +y(HALBERDDRAW, 1446) +y(PIKEDRAW, 1450) +y(PIKEATTACK1, 1456) +y(EXCALATTACK1, 1462) +y(EXCALATTACK2, 1472) +y(EXCALDRAW, 1480) +y(BIGAXEDRAW9, 1493) +y(BIGAXEDRAW10, 1494) +y(GEARS2START, 1497) +y(HORNEDSKULL, 1502) +y(THEFONT, 1510) +y(CRYSTALSTAFF, 1550) +y(TORCH, 1553) +y(WEAPON1, 1566) +y(WEAPON1A, 1570) +y(AMULETOFTHEMIST, 1574) +y(WEAPON2, 1582) +y(BRASSKEY, 1623) +y(BLACKKEY, 1631) +y(GLASSKEY, 1639) +y(IVORYKEY, 1647) +y(NEWCHUNK, 1663) +y(BOWLOFFIRE, 1704) +y(SPAWNFIREBALL, 1717) +y(PENTAGRAM, 1759) +y(THEHORN, 1767) +y(BOW, 1775) +y(SWINGGATE3, 1788) +y(PLATEARMOR, 1793) +y(HELMET, 1801) +y(CHAINMAIL, 1809) +y(SCROLLSCARE, 1817) +y(SCROLLNUKE, 1825) +y(SCROLLFLY, 1833) +y(SCROLLFIREBALL, 1841) +y(SCROLLFREEZE, 1849) +y(SCROLLNIGHT, 1857) +y(SCROLLMAGIC, 1865) +y(SCROLLOPEN, 1873) +y(LEATHERARMOR, 1881) +y(QUIVER, 1889) +y(SWINGGATE4, 1897) +y(SWINGGATE5, 1898) +y(SMOKEFX, 1903) +y(STANDINTORCH, 1907) +y(PENTADOOR3, 1926) +y(PENTADOOR4, 1927) +y(PENTADOOR5, 1928) +y(PENTADOOR6, 1929) +y(PENTADOOR7, 1930) +y(SCARY, 1932) +y(FISH, 1944) +y(LEVERUP, 1946) +y(LEVERDOWN, 1948) +y(SPAWNJAVLIN, 1957) +y(RAT, 1961) +y(GUARDIAN, 1993) +y(GUARDIANATTACK, 2001) +y(DART, 2009) +y(WEAPON4, 2026) +y(WEAPON6, 2038) +y(WEAPON5, 2046) +y(WEAPON5B, 2054) +y(THROWHALBERD, 2065) +y(WEAPON7, 2066) +y(THROWPIKE, 2070) +y(EXPLO2, 2095) +y(SHATTERVASE, 2123) +y(SHATTERVASE2, 2130) +y(SHATTERVASE3, 2137) +y(HANGMAN, 2144) +y(SKELETON, 2155) +y(SKELETONATTACK, 2180) +y(SKELETONSKULL, 2185) +y(SKELETONUP, 2190) +y(SKELETONDIE, 2191) +y(SKELETONDEAD, 2197) +y(BONECHUNK1, 2198) +y(BONECHUNKEND, 2207) +y(PIKEATTACK2, 2208) +y(GOBWEAPON, 2217) +y(SFLASKBLUE, 2239) +y(SFLASKGREEN, 2240) +y(SFLASKOCHRE, 2241) +y(SFLASKRED, 2242) +y(SFLASKTAN, 2243) +y(SFLASKBLACK, 2244) +y(SHEALTHFONT, 2245) +y(SSCOREFONT, 2255) +y(SPOTIONFONT, 2265) +y(SPOTIONBACKPIC, 2279) +y(SPOTIONARROW, 2280) +y(SSPELLBOOKBLANK, 2285) +y(SSPELLBOOK2, 2293) +y(SSPELLBOOK3, 2301) +y(SSPELLBOOK4, 2309) +y(SSPELLBOOK5, 2316) +y(SSPELLBOOK6, 2323) +y(SSPELLBOOK7, 2331) +y(SSPELLBOOK8, 2339) +y(SARROWS, 2347) +y(SPLAYERLVL, 2348) +y(SSTATUSBAR, 2357) +y(SKEYBLANK, 2358) +y(SKEYBRASS, 2359) +y(SKEYBLACK, 2360) +y(SKEYGLASS, 2361) +y(SKEYIVORY, 2362) +y(SHEALTHBACK, 2364) +y(SSCOREBACKPIC, 2367) +y(SNDEFFECT, 2368) +y(SNDLOOP, 2369) +y(SNDLOOPOFF, 2370) +y(BROWNCHUNKSTART, 2386) +y(GREYCHUNKSTART, 2394) +y(REDCHUNKSTART, 2402) +y(GREENCHUNKSTART, 2410) +y(TANCHUNKSTART, 2418) +y(WILLOW, 2426) +y(SPIKES, 2487) +y(STHEFLAG, 2490) +y(GRONHALATTACK, 2502) +y(GRONHALATTACKEND, 2506) +y(GROLHALREADY, 2507) +y(GRONHALREADYEND, 2508) +y(GRONHAL, 2537) +y(GRONHALPAIN, 2557) +y(GRONHALDIE, 2558) +y(GRONSWATTACK, 2559) +y(GRONSW, 2579) +y(GRONSWPAIN, 2599) +y(GRONSWDIE, 2600) +y(GRONMUATTACK, 2601) +y(GRONDIE, 2631) +y(GRONDEAD, 2637) +y(GRONMU, 2638) +y(GRONMUPAIN, 2658) +y(GRONMUDIE, 2659) +y(GRONSHIELD, 2678) +y(SHIELD, 2682) diff --git a/wadsrc/static/zscript.txt b/wadsrc/static/zscript.txt index cbd3ffd4f..05ce577de 100644 --- a/wadsrc/static/zscript.txt +++ b/wadsrc/static/zscript.txt @@ -29,18 +29,24 @@ version "4.3" #include "zscript/constants.zs" #include "zscript/razebase.zs" #include "zscript/screenjob.zs" + #include "zscript/games/duke/dukegame.zs" #include "zscript/games/duke/ui/screens.zs" #include "zscript/games/duke/ui/cutscenes.zs" #include "zscript/games/duke/ui/menu.zs" + #include "zscript/games/blood/bloodgame.zs" #include "zscript/games/blood/ui/menu.zs" #include "zscript/games/blood/ui/screens.zs" + #include "zscript/games/sw/swgame.zs" #include "zscript/games/sw/ui/menu.zs" #include "zscript/games/sw/ui/screens.zs" + #include "zscript/games/exhumed/exhumedgame.zs" #include "zscript/games/exhumed/ui/menu.zs" +#include "zscript/games/exhumed/ui/screens.zs" + +#include "zscript/games/wh/whgame.zs" #include "zscript/games/wh/ui/menu_wh1.zs" #include "zscript/games/wh/ui/menu_wh2.zs" -#include "zscript/games/exhumed/ui/screens.zs" diff --git a/wadsrc/static/zscript/games/wh/ui/screens.zs b/wadsrc/static/zscript/games/wh/ui/screens.zs new file mode 100644 index 000000000..047b2f2bb --- /dev/null +++ b/wadsrc/static/zscript/games/wh/ui/screens.zs @@ -0,0 +1,158 @@ + +class WHSummaryScreen : SkippableScreenJob +{ + ScreenJob Init(MapRecord mr, SummaryInfo info) + { + Super.Init(fadein|fadeout); + SetParameters(mr, info); + + //plr.score += bonus; + } + + void drawText(int x, int y, String text) + { + Screen.DrawText(SmallFont, Font.CR_UNTRANSLATED, x, y, text, DTA_FullscreenScale, FSMode_Fit320x200); + } + + override void Start() + { + Witchaven.PlaySound(WhSnd.S_CHAINDOOR1); + } + + override void Draw() + { + static const String ratings[] = { "$txtw_poor", "$txtw_average", "$txtw_good", "$txtw_perfect" }; + + Screen.DrawTexture(TexMan.CheckForTexture("VMAINBLANK", TexMan.Type_Any), 0, 0, DTA_Fullscreen, FSMode_ScaleToFit43); + + drawText(10, 13, currentLevel.DisplayName()); + drawText(10, 31, "$Level conquered"); + + drawText(10, 64, "$Enemies killed"); + drawText(160 + 48 + 14, 64, String.Format("%d %s %d", stats.Kills, StringTable.Localize("$TXT_OF"), stats.MaxKills)); + + drawText(10, 64 + 18, "$Treasures found"); + drawText(160 + 48 + 14, 64 + 18, String.Format("%d %s %d", stats.Secrets, "$TXT_OF", stats.MaxSecrets)); + + drawText(10, 64 + 2 * 18, GStrings("$Experience gained")); + drawText(160 + 48 + 14, 64 + 2 * 18, String.Format("%d", stats.score)); + + drawText(10, 64 + 3 * 18, "$Rating"); + drawText(160 + 48 + 14, 64 + 3 * 18, ratings[stats.Supersecrets]); + + drawText(10, 64 + 4 * 18, "$TXT_Bonus"); + drawText(160 + 48 + 14, 64 + 4 * 18, String.Format("%d", bonus)); + } +} + +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + +class WHLoadScreen : ScreenJob +{ + MapRecord rec; + + ScreenJob Init(MapRecord maprec) + { + Super.Init(fadein); + rec = maprec; + return self; + } + + override void OnTick() + { + if (fadestate == visible) jobstate = finished; + } + + void drawText(int x, int y, const char* text) + { + Screen.DrawText(SmallFont, Font.CR_UNTRANSLATED, x - SmallFont->StringWidth(text)/2, y, text, DTA_FullscreenScale, FSMode_Fit320x200); + } + + override void Draw() + { + Screen.DrawTexture(TexMan.CheckForTexture("MAINMENU", TexMan.Type_Any), 0, 0, DTA_Fullscreen, FSMode_ScaleToFit43); + drawText(160, 100, "$TXT_LOADING"); + drawText(160, 114, "$TXTB_PLSWAIT"); + return 0; + } +} + + +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + +class VictoryScreen : ImageScreen +{ + int sound; + + ScreenJob Init(String tex, int snd) + { + sound = snd; + Super.InitNamed(tex, fadein | fadeout, 0x7fffffff, 0); + return self; + } + + override void Start() + { + if (sound > 0) Witchaven.PlaySound(sound); + } +} + +//--------------------------------------------------------------------------- +// +// +// +//--------------------------------------------------------------------------- + +class WHCutscenes +{ + + //--------------------------------------------------------------------------- + // + // + // + //--------------------------------------------------------------------------- + + static void BuildIntro(ScreenJobRunner runner) + { + Mus_Stop(); + FX_StopAllSounds(); + + if (!userConfig.nologo) + { + runner.Append(MoviePlayerJob.Create(gameinfo.gameType & GAMEFLAG_WH2? "smk/intro.smk" : "intro.smk", 0)); + } + } + + static void BuildWH2Ending(ScreenJobRunner runner) + { + Mus_Stop(); + FX_StopAllSounds(); + + if (!userConfig.nologo) + { + runner.Append(MoviePlayerJob.Create(g"smk/ending1.smk", 0)); + runner.Append(MoviePlayerJob.Create(g"smk/ending2.smk", 0)); + runner.Append(MoviePlayerJob.Create(g"smk/ending3.smk", 0)); + } + } + + static void BuildVictoryScreen(ScreenJobRunner runner) + { + runner.Append(new("VictoryScreen").Init("VICTORYA", -1)); + runner.Append(new("VictoryScreen").Init("VICTORYB", WhSnd.S_DROPFLAG)); + runner.Append(new("VictoryScreen").Init("VICTORYC", WhSnd.S_WISP2)); + } + + static void BuildLoading(ScreenJobRunner runner, MapRecord map) + { + runner.Append(new("WhLoadScreen").Init(map)); + } +} \ No newline at end of file diff --git a/wadsrc/static/zscript/games/wh/whgame.zs b/wadsrc/static/zscript/games/wh/whgame.zs new file mode 100644 index 000000000..8d0f0a425 --- /dev/null +++ b/wadsrc/static/zscript/games/wh/whgame.zs @@ -0,0 +1,10 @@ + +struct Witchaven native +{ + native void PlaySound(int s); +} + +class WhSnd +{ + // This is a container for natively defined constants. +} \ No newline at end of file diff --git a/wadsrc/static/zscript/razebase.zs b/wadsrc/static/zscript/razebase.zs index 26cec2a63..59580144f 100644 --- a/wadsrc/static/zscript/razebase.zs +++ b/wadsrc/static/zscript/razebase.zs @@ -106,6 +106,8 @@ struct SummaryInfo native native readonly int supersecrets; native readonly int time; native readonly int playercount; + native readonly int score; + native readonly int bonus; native readonly bool cheated; native readonly bool endofgame; }