- more Shadow Warrior cleanup.

This commit is contained in:
Christoph Oelckers 2019-12-07 20:48:16 +01:00
parent 0157446ad1
commit 8f90cc8324
14 changed files with 68 additions and 3759 deletions

View File

@ -238,6 +238,7 @@ struct GameInterface
}
virtual void DrawPlayerSprite(const DVector2& origin, bool onteam) {}
virtual void QuitToTitle() {}
virtual void SetAmbience(bool on) {}
};

View File

@ -144,7 +144,10 @@ CVARD(Bool, demoplay_showsync, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enable/dis
// Sound
CVARD(Bool, snd_ambience, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enables/disables ambient sounds") // Not implemented for Blood
CUSTOM_CVARD(Bool, snd_ambience, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG, "enables/disables ambient sounds") // Not implemented for Blood
{
gi->SetAmbience(self);
}
CVARD(Bool, snd_enabled, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enables/disables sound effects")
CVARD(Bool, snd_tryformats, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enables/disables automatic discovery of replacement sounds and music in .flac and .ogg formats")
CVARD(Bool, snd_doppler, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enable/disable 3d sound")

View File

@ -57,6 +57,7 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
#include "sector.h"
#include "config.h"
#include "menu/menu.h"
#include "swcvar.h"
BEGIN_SW_NS
@ -766,7 +767,7 @@ analyzesprites(int viewx, int viewy, int viewz, SWBOOL mirror)
//#define DART_REPEAT 6
//#define DART_PIC 2233
if (gs.Darts)
if (sw_darts)
if (tu->ID == 1793 || tsp->picnum == 1793)
{
tsp->picnum = 2519;
@ -778,7 +779,7 @@ analyzesprites(int viewx, int viewy, int viewz, SWBOOL mirror)
#define DART_REPEAT 16
if (tu->ID == STAR1)
{
if (gs.Darts)
if (sw_darts)
{
tsp->picnum = DART_PIC;
tsp->ang = NORM_ANGLE(tsp->ang - 512 - 24);
@ -842,7 +843,7 @@ analyzesprites(int viewx, int viewy, int viewz, SWBOOL mirror)
}
}
if (gs.Darts)
if (sw_darts)
if (tsp->statnum == STAT_STAR_QUEUE)
{
tsp->picnum = DART_PIC;

View File

@ -212,9 +212,6 @@ const GAME_SET gs_defaults =
0, // Time Limit
0, // Color
TRUE, // nuke
"Track??", // waveform track name
FALSE,
TRUE,
};
GAME_SET gs;

View File

@ -2388,6 +2388,7 @@ struct GameInterface : ::GameInterface
bool LoadGame(FSaveGameNode* sv) override;
bool SaveGame(FSaveGameNode* sv) override;
void DoPrintMessage(int prio, const char* text) override;
void SetAmbience(bool on) override { if (on) StartAmbientSound(); else StopAmbientSound(); }
};

File diff suppressed because it is too large Load Diff

View File

@ -45,6 +45,7 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
#include "weapon.h"
#include "fx_man.h"
#include "menu/menu.h"
#include "swcvar.h"
BEGIN_SW_NS
@ -1822,7 +1823,7 @@ InitWeaponStar(PLAYERp pp)
PlaySound(DIGI_PULL, &pp->posx, &pp->posy, &pp->posz, v3df_follow|v3df_dontpan);
if (STD_RANDOM_RANGE(1000) > 900 && pp == Player+myconnectindex)
{
if (!gs.Darts)
if (!sw_darts)
PlayerSound(DIGI_ILIKESHURIKEN,&pp->posx,&pp->posy,&pp->posz,v3df_follow|v3df_dontpan,pp);
}
@ -7388,7 +7389,7 @@ pDisplaySprites(PLAYERp pp)
picnum = psp->picndx;
// UK panzies have to have darts instead of shurikens.
if (gs.Darts)
if (sw_darts)
switch (picnum)
{
case STAR_REST:
@ -7452,7 +7453,7 @@ pDisplaySprites(PLAYERp pp)
case STAR_REST:
case 2510:
if (!gs.Darts)
if (!sw_darts)
picnum = 2138;
else
picnum = 2518; // Bloody Dart Hand

View File

@ -44,10 +44,6 @@ typedef struct
uint8_t NetTimeLimit; // Limit time of game
uint8_t NetColor; // Chosen color for player
SWBOOL NetNuke;
//SWBOOL PlayCD; // Not implemented and no idea how to support it without the music assets.
char WaveformTrackName[MAXWAVEFORMTRACKLENGTH];
SWBOOL Darts;
SWBOOL WeaponAutoSwitch;
} GAME_SET, *GAME_SETp;
extern const GAME_SET gs_defaults;

View File

@ -47,6 +47,7 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
#include "text.h"
#include "slidor.h"
#include "player.h"
#include "swcvar.h"
BEGIN_SW_NS
@ -5959,7 +5960,7 @@ KeyMain:
if (pp->WpnAmmo[WPN_STAR] >= DamageData[WPN_STAR].max_ammo)
break;
sprintf(ds, gs.Darts ? "Darts" : "Shurikens");
sprintf(ds, sw_darts ? "Darts" : "Shurikens");
PutStringInfo(Player+pnum, DamageData[WPN_STAR].weapon_name);
PlayerUpdateAmmo(pp, WPN_STAR, DamageData[WPN_STAR].weapon_pickup);
SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup
@ -5970,7 +5971,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_STAR));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum <= WPN_STAR && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -5998,7 +5999,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_MINE));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_MINE && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -6041,7 +6042,7 @@ KeyMain:
ChoosePlayerGetSound(pp);
}
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_UZI && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
@ -6084,7 +6085,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_MICRO));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_MICRO && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -6155,7 +6156,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_GRENADE));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_GRENADE && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -6184,7 +6185,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_ROCKET));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
InitWeaponRocket(pp);
break;
@ -6231,7 +6232,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_RAIL));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_RAIL && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -6273,7 +6274,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_SHOTGUN));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_SHOTGUN && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -6342,7 +6343,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_NAPALM) | BIT(WPN_RING) | BIT(WPN_HOTHEAD));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_HOTHEAD && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)
break;
@ -6388,7 +6389,7 @@ KeyMain:
break;
SET(pp->WpnFlags, BIT(WPN_HEART));
if (!gs.WeaponAutoSwitch)
if (!cl_weaponswitch)
break;
if (User[pp->PlayerSprite]->WeaponNum > WPN_HEART && User[pp->PlayerSprite]->WeaponNum != WPN_SWORD)

View File

@ -1,4 +1,4 @@
#include "swcvar.h"
CVAR(Bool, sw_ninjahack, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR(Bool, sw_usedarts, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR(Bool, sw_darts, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG);

View File

@ -2,4 +2,4 @@
EXTERN_CVAR(Bool, sw_ninjahack)
EXTERN_CVAR(Bool, sw_usedarts)
EXTERN_CVAR(Bool, sw_darts)

View File

@ -7493,7 +7493,7 @@ const char *DeathString(short SpriteNum)
case 5011:
return "blade";
case STAR1:
if (gs.Darts) return "dart";
if (sw_darts) return "dart";
else return "shuriken";
case CROSSBOLT:
return "crossbow bolt";

View File

@ -423,6 +423,8 @@ Brown,TXT_COLOR_BROWN,,,,Hnědá,Braun,,Bruna,Marrón,,Ruskea,Brun,Barna,Marrone
Dark Blue,TXT_COLOR_DARKBLUE,,,,Tmavě modrá,Dunkelblau,,Malhelblua,Azul oscuro,,Tummansininen,Bleu sombre,Sötétkék,Blu scuro,,,Donkerblauw,,Azul escuro,,,Тёмно-Синий,Тамна Плава
Light Red,TXT_COLOR_LIGHTRED,,,,Světle červená,Hellrot,,Ruĝeta,Rojo claro,,Vaaleanpunainen,Rouge clair,,Rosso chiaro,丹,옅은 적색,Licht Rood,Jasnoczerwony,Vermelho claro,,,Светло-красный,Светло црвена
Yellow,TXT_COLOR_YELLOW,,,,Žlutá,Gelb,,Flava,Amarillo,,Keltainen,Jaune,Sárga,Giallo,黄,노란색,Geel,Żółty,Amarelo,,,Жёлтый,Жута
Purple,TXT_COLOR_PURPLE,,,,Fialová,Violett,,Purpura,Morado,,Purppura,Violet,Lila,Viola,紫,보라색,Paars,Fioletowy,Roxo,,,Фиолетовый,Љубичаста
Olive,TXT_COLOR_DULLGREEN,,,,Bledě zelená,Blassgrün,,Gris-Verda,Verde pálido,,Haaleanvihreä,Vert pâle,,Verde pallido,苔,암녹색,Saaie groen,Matowa Zieleń,Verde pálido,,,Мутно-зелёный,Тупа зелена
Auto,OPTVAL_AUTO,,,,,,,Aŭtomata,Automático,,Automaattinen,,,Automatico,自動,자동,,Automatycznie,Automático,,,Авто,Аутоматски
Name,PLYRMNU_NAME,,,,Jméno,,,Nomo,Nombre,,Nimi,Nom,Név,Nome,名前,이름,Naam,Imię,Nome,,,Имя,Надимак
Team,PLYRMNU_TEAM,,,,Tým,,,Teamo,Equipo,,Joukkue,Equipe,Csapat,Squadra,チーム,팀,Team,Drużyna,Equipe,Equipa,,Команда,Тим
@ -691,6 +693,8 @@ Scripts Only,OPTVAL_SCRIPTSONLY,,,,Pouze skripty,Nur Skripte,,Skriptoj Sole,Sól
Disable keyboard cheats,MISCMNU_NOCHEATS,,,,,Tastatur-Cheats deaktivieren,,Malaktivigi klavaran trumpon,Desactivar trucos por teclado,,,,,,キーボードからのチート無効,,Schakel cheats uit,,Desabilitar trapaças de teclado,,,,
Quicksave rotation,MISCMNU_QUICKSAVEROTATION,,,,Rotace rychle uložených her,Schnellspeicherrotation,,Rapidkonservado-rotacio,Rotación de Salvado Rápido,,Pikatallennuskierto,Rotation Sauvegardes Rapides,,Rotazione rapide della quicksave,クイックセーブ間隔,빠른 저장 간격,Roteer quicksaves,Rotacja szybkich zapisów,Rotação de quicksave,,,Чередовать слоты для быстрых сохранений,Окретање брзих чувања
Number of quicksaves in rotation,MISCMNU_QUICKSAVECOUNT,,,,Počet rychle uložených her v rotaci,Anzahl Schnellspeicherplätze,,Nombro da rapidkonservitaj ludoj en rotaciado,Número de Salvados Rápidos en Rotación,,Pikatallennusten määrä kierrossa,Nombre de sauvegardes en rotation,,Numero di quicksaves in rotazione,間隔クイックセーブの数,빠른 저장 간격의 수,Aantal roterende quicksaves,Ilość szybkich zapisów w rotacji,Número de quicksaves em rotação,,,Кол-во слотов для быстрых сохранений,Број брзих чувања у окретању
Ninja Slice Animation,MISCMNU_NINJA,,,,,,,,,,,,,,,,,,,,,,
Use Darts instead of Shurikens,MISCMNU_DARTS,,,,,,,,,,,,,,,,,,,,,,
,Miscellaneous,,,,,,,,,,,,,,,,,,,,,,
"You are playing the shareware
version of Duke Nukem 3D. While

1 default Identifier Remarks Filter eng enc ena enz eni ens enj enb enl ent enw cs de el eo es esm esn esg esc esa esd esv eso esr ess esf esl esy esz esb ese esh esi esu fi fr hu it jp ko nl pl pt ptg ro ru sr
423 Volume ramping Master volume MODMNU_VOLUMERAMPING MODMNU_MASTERVOLUME Křivka hlasitosti Celková hlasitost Lautstärkeverhalten Grundlautstärke Volumeno-pligrandigado Ĉefvolumeno Aumento gradual de Volumen Volumen maestro Äänenvoimakkuuden kertyminen Yleisäänenvoimakkuus Rampe du volume Volume maître Ramping volume Volume master 音量ランピング 全体音量 볼륨 램핑 마스터 볼륨 Volume-aanvulling Hoofdvolume Zwiększenie głośności Całkowita głośność Rampa de volume Volume master Наращивание громкости Общая громкость Појачавање звука Глацни звук
424 Chip-o-matic Quality MODMNU_CHIPOMATIC MODMNU_QUALITY Kvalita Qualität Kvaliteco Calidad Laatu Qualité Qualità チップ オー マチック クオリティ 칩-오-매틱 품질 Kwaliteit Jakość Qualidade Качество Квалитет
425 Global Volume ramping ADVSNDMNU_GLOBAL MODMNU_VOLUMERAMPING Globální Křivka hlasitosti Lautstärkeverhalten Malloka Volumeno-pligrandigado Global Aumento gradual de Volumen Yleinen Äänenvoimakkuuden kertyminen Rampe du volume Globale Ramping volume グローバル 音量ランピング 전반적 볼륨 램핑 Globaal Volume-aanvulling Globalne Zwiększenie głośności Rampa de volume Общие Наращивание громкости Глобално Појачавање звука
426 Chip-o-matic MODMNU_CHIPOMATIC チップ オー マチック 칩-오-매틱
427 Global ADVSNDMNU_GLOBAL Globální Malloka Global Yleinen Globale グローバル 전반적 Globaal Globalne Общие Глобално
428 Freeverb ADVSNDMNU_FREEVERB フリーバーブ 프리버브
429 Global Freeverb ADVSNDMNU_GLOBAL_FREEVERB Globální Freeverb Globales Freeverb Malloka Freeverb Freeverb Global Yleinen Freeverb Freeverb Global Freeverb globale グローバル フリーバーブ 전반적 프리버브 Globale Freeverb Globalny Freeverb Freeverb Global Глобальный Freeverb Глобални Freeverb
430 FluidSynth ADVSNDMNU_FLUIDSYNTH
693 Denied DENIED Alterations from Duke Caribbean: Life's a Beach
694 Sandles Crate Of Bananas SANDLES CRATE OF BANANAS
695 Approved Denied APPROVED DENIED
696 Sandles SANDLES
697 Approved APPROVED
698 Used Hot Sauce USED HOT SAUCE
699 Ammo For Conchanator AMMO FOR CONCHANATOR
700 Pearl Health! PEARL HEALTH!

View File

@ -1005,7 +1005,19 @@ OptionValue "PlayerColors"
7, "$TXT_COLOR_BROWN"
8, "$TXT_COLOR_DARKBLUE"
9, "$TXT_COLOR_LIGHTRED"
//10, "TXT_COLOR_YELLOW"
//10, "$TXT_COLOR_YELLOW"
}
OptionValie "PlayerColorsSW"
{
0, "$TXT_COLOR_BROWN"
1, "$TXT_COLOR_GRAY"
2, "$TXT_COLOR_PURPLE"
3, "$TXT_COLOR_RED"
4, "$TXT_COLOR_YELLOW"
5, "$TXT_COLOR_DULLGREEN"
6, "$TXT_COLOR_GREEN"
7, "$TXT_COLOR_BLUE"
}
OptionValue "PlayerTeam"
@ -1029,7 +1041,15 @@ OptionMenu "NewPlayerMenu" //protected
{
Title "$MNU_PLAYERSETUP"
TextField "$PLYRMNU_NAME", playername
ifgame(Duke, Nam, WW2GI, Fury, Redneck, RedneckRides)
{
Option "$PLYRMNU_PLAYERCOLOR", "playercolor", "PlayerColors"
}
ifgame(ShadowWarrior)
{
// This curently does not get applied to the single player game.
Option "$PLYRMNU_PLAYERCOLOR", "playercolor", "PlayerColorsSW"
}
Option "$PLYRMNU_PLAYERGENDER", "playergender", "Gender"
Option "$PLYRMNU_TEAM", "playerteam", "PlayerTeam"
Submenu "$PLRMNU_TAUNTS", "TauntsMenu"
@ -1084,7 +1104,14 @@ OptionMenu GameplayOptions //protected
Option "$PLRMNU_AUTOAIM", "cl_autoaim", "AimMode"
Option "$PLRMNU_ALWAYSRUN", "cl_autorun", "OnOff"
Option "$PLRMNU_RUNMODE", "cl_runmode", "RunMode"
ifgame(ShadowWarrior)
{
Option "$PLRMNU_EQUIP", "cl_weaponswitch", "OnOff" // does not have the 'preferred' option.
}
else
{
Option "$PLRMNU_EQUIP", "cl_weaponswitch", "WeapSwitch"
}
Option "$PLRMNU_PLOCK", "adult_lockout", "OnOff" // I won't bother password protecting this piece of window dressing
// StaticText ""
// Option "Record Demo", "m_recstat", "OnOff"
@ -1603,6 +1630,11 @@ OptionMenu "MiscOptions" //protected
//Option "$MISCMNU_QUICKSAVEROTATION", "quicksaverotation", "OnOff"
Slider "$MISCMNU_QUICKSAVECOUNT", "quicksaverotationcount", 1, 20, 1, 0
Option "$MISCMNU_INTERSCROLL", "nointerscrollabort", "OffOn"
ifgame(shadowwarrior)
{
Option "$MISCMNU_DARTS", "sw_darts", "OnOff"
Option "$MISCMNU_NINJA", "sw_ninjahack", "OnOff"
}
//StaticText " "
//Option "$OPTMNU_LANGUAGE", "language", "LanguageOptions" - not ready yet