From 32ec9ff369dd09b754670524827fae3c4fa4f15d Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 5 Sep 2020 13:57:26 +0200 Subject: [PATCH] - consolidated crosshair drawing and added ZDoom's crosshair code. For Exhumed this is the default, for the other games it is an option. Fixes #269. --- source/blood/src/hudsprites.cpp | 9 +- source/core/gamecontrol.cpp | 164 ++++++++++++++++++++++++++++ source/core/gamecontrol.h | 2 + source/core/menu/menudef.cpp | 4 +- source/core/statusbar.cpp | 15 --- source/core/statusbar.h | 1 - source/exhumed/src/status.cpp | 1 + source/games/duke/src/game_misc.cpp | 14 +-- source/sw/src/draw.cpp | 12 +- wadsrc/static/engine/menudef.txt | 15 +++ wadsrc/static/graphics/xhairb1.imgz | Bin 0 -> 90 bytes wadsrc/static/graphics/xhairb2.png | Bin 0 -> 128 bytes wadsrc/static/graphics/xhairb3.imgz | Bin 0 -> 116 bytes wadsrc/static/graphics/xhairb4.imgz | Bin 0 -> 82 bytes wadsrc/static/graphics/xhairb5.imgz | Bin 0 -> 50 bytes wadsrc/static/graphics/xhairb6.imgz | Bin 0 -> 72 bytes wadsrc/static/graphics/xhairb7.imgz | Bin 0 -> 33 bytes wadsrc/static/graphics/xhairs1.imgz | Bin 0 -> 49 bytes wadsrc/static/language.csv | 81 +++++++------- wadsrc/static/xhairs.txt | 8 ++ 20 files changed, 241 insertions(+), 85 deletions(-) create mode 100644 wadsrc/static/graphics/xhairb1.imgz create mode 100644 wadsrc/static/graphics/xhairb2.png create mode 100644 wadsrc/static/graphics/xhairb3.imgz create mode 100644 wadsrc/static/graphics/xhairb4.imgz create mode 100644 wadsrc/static/graphics/xhairb5.imgz create mode 100644 wadsrc/static/graphics/xhairb6.imgz create mode 100644 wadsrc/static/graphics/xhairb7.imgz create mode 100644 wadsrc/static/graphics/xhairs1.imgz create mode 100644 wadsrc/static/xhairs.txt diff --git a/source/blood/src/hudsprites.cpp b/source/blood/src/hudsprites.cpp index 378afd8f2..8ba2330a7 100644 --- a/source/blood/src/hudsprites.cpp +++ b/source/blood/src/hudsprites.cpp @@ -101,13 +101,8 @@ void hudDraw(PLAYER *gView, int nSectnum, int defaultHoriz, double bobx, double { if (gViewPos == 0) { - if (cl_crosshair) - { - double crosshair_scale = cl_crosshairscale * .02; - DrawTexture(twod, tileGetTexture(kCrosshairTile), 160, defaultHoriz, - DTA_FullscreenScale, FSMode_Fit320x200, DTA_ScaleX, crosshair_scale, DTA_ScaleY, crosshair_scale, DTA_CenterOffsetRel, true, - DTA_ViewportX, windowxy1.x, DTA_ViewportY, windowxy1.y, DTA_ViewportWidth, windowxy2.x - windowxy1.x + 1, DTA_ViewportHeight, windowxy2.y - windowxy1.y + 1, TAG_DONE); - } + DrawCrosshair(kCrosshairTile, gView->pXSprite->health >> 4, 0, 2); + double cX = 160; double cY = 220; if (cl_weaponsway) diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index 65c5563b7..ba3f37b43 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -1253,3 +1253,167 @@ CCMD(am_zoom) am_zoomdir = (float)atof(argv[1]); } } + +//--------------------------------------------------------------------------- +// +// Load crosshair definitions +// +//--------------------------------------------------------------------------- + +FGameTexture* CrosshairImage; +int CrosshairNum; + +CVAR(Int, crosshair, 0, CVAR_ARCHIVE) +CVAR(Color, crosshaircolor, 0xff0000, CVAR_ARCHIVE); +CVAR(Int, crosshairhealth, 2, CVAR_ARCHIVE); + +void ST_LoadCrosshair(int num, bool alwaysload) +{ + char name[16], size; + + if (!alwaysload && CrosshairNum == num && CrosshairImage != NULL) + { // No change. + return; + } + + if (num == 0) + { + CrosshairNum = 0; + CrosshairImage = NULL; + return; + } + if (num < 0) + { + num = -num; + } + + mysnprintf(name, countof(name), "XHAIRB%d", num); + FTextureID texid = TexMan.CheckForTexture(name, ETextureType::MiscPatch, FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_ShortNameOnly); + if (!texid.isValid()) + { + mysnprintf(name, countof(name), "XHAIRB1"); + texid = TexMan.CheckForTexture(name, ETextureType::MiscPatch, FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_ShortNameOnly); + if (!texid.isValid()) + { + texid = TexMan.CheckForTexture("XHAIRS1", ETextureType::MiscPatch, FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_ShortNameOnly); + } + } + CrosshairNum = num; + CrosshairImage = TexMan.GetGameTexture(texid); +} + +//--------------------------------------------------------------------------- +// +// DrawCrosshair +// +//--------------------------------------------------------------------------- + +void DrawGenericCrosshair(int num, int phealth, double xdelta) +{ + uint32_t color; + double size; + int w, h; + + ST_LoadCrosshair(num, false); + + // Don't draw the crosshair if there is none + if (CrosshairImage == NULL) + { + return; + } + + float crosshairscale = cl_crosshairscale * 0.005; + if (crosshairscale > 0.0f) + { + size = twod->GetHeight() * crosshairscale / 200.; + } + else + { + size = 1.; + } + + w = int(CrosshairImage->GetDisplayWidth() * size); + h = int(CrosshairImage->GetDisplayHeight() * size); + + if (crosshairhealth == 1) + { + // "Standard" crosshair health (green-red) + int health = phealth; + + if (health >= 85) + { + color = 0x00ff00; + } + else + { + int red, green; + health -= 25; + if (health < 0) + { + health = 0; + } + if (health < 30) + { + red = 255; + green = health * 255 / 30; + } + else + { + red = (60 - health) * 255 / 30; + green = 255; + } + color = (red << 16) | (green << 8); + } + } + else if (crosshairhealth == 2) + { + // "Enhanced" crosshair health (blue-green-yellow-red) + int health = clamp(phealth, 0, 200); + float rr, gg, bb; + + float saturation = health < 150 ? 1.f : 1.f - (health - 150) / 100.f; + + HSVtoRGB(&rr, &gg, &bb, health * 1.2f, saturation, 1); + int red = int(rr * 255); + int green = int(gg * 255); + int blue = int(bb * 255); + + color = (red << 16) | (green << 8) | blue; + } + else + { + color = crosshaircolor; + } + + DrawTexture(twod, CrosshairImage, + (windowxy1.x + windowxy2.x) / 2 + xdelta * (windowxy2.y - windowxy1.y) / 240., + (windowxy1.y + windowxy2.y) / 2, + DTA_DestWidth, w, + DTA_DestHeight, h, + DTA_AlphaChannel, true, + DTA_FillColor, color & 0xFFFFFF, + TAG_DONE); +} + + +void DrawCrosshair(int deftile, int health, double xdelta, double scale, PalEntry color) +{ + int type = -1; + if (automapMode == am_off && cl_crosshair) + { + if (deftile < MAXTILES && crosshair == 0) + { + auto tile = tileGetTexture(deftile); + if (tile) + { + double crosshair_scale = cl_crosshairscale * .01 * scale; + DrawTexture(twod, tile, 160 + xdelta, 100, DTA_Color, color, + DTA_FullscreenScale, FSMode_Fit320x200, DTA_ScaleX, crosshair_scale, DTA_ScaleY, crosshair_scale, DTA_CenterOffsetRel, true, + DTA_ViewportX, windowxy1.x, DTA_ViewportY, windowxy1.y, DTA_ViewportWidth, windowxy2.x - windowxy1.x + 1, DTA_ViewportHeight, windowxy2.y - windowxy1.y + 1, TAG_DONE); + + return; + } + } + DrawGenericCrosshair(crosshair == 0 ? 2 : *crosshair, health, xdelta); + } +} \ No newline at end of file diff --git a/source/core/gamecontrol.h b/source/core/gamecontrol.h index c2f333508..91d97baf2 100644 --- a/source/core/gamecontrol.h +++ b/source/core/gamecontrol.h @@ -10,6 +10,7 @@ #include "memarena.h" #include "stats.h" #include "i_time.h" +#include "palentry.h" extern FString currentGame; extern FString LumpFilter; @@ -56,6 +57,7 @@ void CONFIG_ReadCombatMacros(); int GameMain(); void startmainmenu(); int GetAutomapZoom(int gZoom); +void DrawCrosshair(int deftile, int health, double xdelta, double scale, PalEntry color = 0xffffffff); void updatePauseStatus(); void DeferedStartGame(MapRecord* map, int skill); void ChangeLevel(MapRecord* map, int skill); diff --git a/source/core/menu/menudef.cpp b/source/core/menu/menudef.cpp index c03319ff0..092472966 100644 --- a/source/core/menu/menudef.cpp +++ b/source/core/menu/menudef.cpp @@ -1406,7 +1406,6 @@ static void BuildEpisodeMenu() static void InitCrosshairsList() { -#if 0 int lastlump, lump; lastlump = 0; @@ -1421,7 +1420,7 @@ static void InitCrosshairsList() pair->Value = 0; pair->Text = "None"; - while ((lump = Wads.FindLump("XHAIRS", &lastlump)) != -1) + while ((lump = fileSystem.FindLump("XHAIRS", &lastlump)) != -1) { FScanner sc(lump); while (sc.GetNumber()) @@ -1452,7 +1451,6 @@ static void InitCrosshairsList() } } } -#endif } //============================================================================= diff --git a/source/core/statusbar.cpp b/source/core/statusbar.cpp index 92b85cb1f..f159a9cf7 100644 --- a/source/core/statusbar.cpp +++ b/source/core/statusbar.cpp @@ -83,23 +83,10 @@ DBaseStatusBar *StatusBar; extern int setblocks; -FGameTexture *CrosshairImage; -static int CrosshairNum; - - -CVAR (Bool, crosshairon, true, CVAR_ARCHIVE); -CVAR (Int, crosshair, 0, CVAR_ARCHIVE) -CVAR (Bool, crosshairforce, false, CVAR_ARCHIVE) -CVAR (Color, crosshaircolor, 0xff0000, CVAR_ARCHIVE); -CVAR (Int, crosshairhealth, 1, CVAR_ARCHIVE); -CVAR (Float, crosshairscale, 1.0, CVAR_ARCHIVE); -CVAR (Bool, crosshairgrow, false, CVAR_ARCHIVE); - CVAR (Bool, idmypos, false, 0); //--------------------------------------------------------------------------- -// // ST_Clear // //--------------------------------------------------------------------------- @@ -111,8 +98,6 @@ void ST_Clear() delete StatusBar; StatusBar = NULL; } - CrosshairImage = NULL; - CrosshairNum = 0; } //--------------------------------------------------------------------------- diff --git a/source/core/statusbar.h b/source/core/statusbar.h index 650194838..df201309c 100644 --- a/source/core/statusbar.h +++ b/source/core/statusbar.h @@ -252,7 +252,6 @@ DBaseStatusBar *CreateCustomStatusBar(int script=0); // Crosshair stuff ---------------------------------------------------------- -void ST_LoadCrosshair(bool alwaysload=false); void ST_Clear(); void ST_CreateStatusBar(bool bTitleLevel); extern FGameTexture *CrosshairImage; diff --git a/source/exhumed/src/status.cpp b/source/exhumed/src/status.cpp index febe2925d..432c15db0 100644 --- a/source/exhumed/src/status.cpp +++ b/source/exhumed/src/status.cpp @@ -850,6 +850,7 @@ void DrawStatusBar() } DExhumedStatusBar sbar; sbar.Draw(); + DrawCrosshair(MAXTILES, PlayerList[nLocalPlayer].nHealth >> 3, 0, 1); } diff --git a/source/games/duke/src/game_misc.cpp b/source/games/duke/src/game_misc.cpp index f9102a946..9ffcec33a 100644 --- a/source/games/duke/src/game_misc.cpp +++ b/source/games/duke/src/game_misc.cpp @@ -334,19 +334,9 @@ void drawoverlays(double smoothratio) if (isRR()) drawstatusbar_r(screenpeek); else drawstatusbar_d(screenpeek); - if (ps[myconnectindex].newowner == -1 && automapMode == am_off && cl_crosshair && ud.camerasprite == -1) + if (ps[myconnectindex].newowner == -1 && ud.camerasprite == -1) { - int32_t a = TILE_CROSSHAIR; - - if ((unsigned)a < MAXTILES) - { - double crosshair_scale = cl_crosshairscale * .01; - if (isRR()) crosshair_scale *= .5; - - DrawTexture(twod, tileGetTexture(a), 160 - getHalfLookAng(screenpeek, cl_syncinput, smoothratio), 100, - DTA_FullscreenScale, FSMode_Fit320x200, DTA_ScaleX, crosshair_scale, DTA_ScaleY, crosshair_scale, DTA_CenterOffsetRel, true, - DTA_ViewportX, windowxy1.x, DTA_ViewportY, windowxy1.y, DTA_ViewportWidth, windowxy2.x - windowxy1.x + 1, DTA_ViewportHeight, windowxy2.y - windowxy1.y + 1, TAG_DONE); - } + DrawCrosshair(TILE_CROSSHAIR, ps[screenpeek].last_extra, -getHalfLookAng(screenpeek, cl_syncinput, smoothratio), isRR() ? 0.5 : 1); } if (paused == 2) diff --git a/source/sw/src/draw.cpp b/source/sw/src/draw.cpp index d347b1b0e..c12464e40 100644 --- a/source/sw/src/draw.cpp +++ b/source/sw/src/draw.cpp @@ -1258,16 +1258,10 @@ void DrawCrosshair(PLAYERp pp) { extern SWBOOL CameraTestMode; - if (cl_crosshair && !(CameraTestMode) && !TEST(pp->Flags, PF_VIEW_FROM_OUTSIDE) && automapMode == am_off) + if (!(CameraTestMode) && !TEST(pp->Flags, PF_VIEW_FROM_OUTSIDE)) { - int32_t a = 2326; - - double crosshair_scale = cl_crosshairscale * .02; - if (isRR()) crosshair_scale *= .5; - - DrawTexture(twod, tileGetTexture(a), 160, 100, DTA_Color, shadeToLight(10), - DTA_FullscreenScale, FSMode_Fit320x200, DTA_ScaleX, crosshair_scale, DTA_ScaleY, crosshair_scale, DTA_CenterOffsetRel, true, - DTA_ViewportX, windowxy1.x, DTA_ViewportY, windowxy1.y, DTA_ViewportWidth, windowxy2.x - windowxy1.x + 1, DTA_ViewportHeight, windowxy2.y - windowxy1.y + 1, TAG_DONE); + USERp u = User[pp->PlayerSprite]; + ::DrawCrosshair(2326, u->Health, 0, 2, shadeToLight(10)); } } diff --git a/wadsrc/static/engine/menudef.txt b/wadsrc/static/engine/menudef.txt index 26e09de13..65c9a1b8c 100644 --- a/wadsrc/static/engine/menudef.txt +++ b/wadsrc/static/engine/menudef.txt @@ -1007,6 +1007,18 @@ OptionValue "HUDMessageStyle" 1, "$OPTVAL_ADVANCED" } +OptionValue Crosshairs +{ + // will be filled in from the XHAIRS lump +} + +OptionValue CrosshairHealthTypes +{ + 0.0, "$TXT_NO" + 1.0, "$OPTVAL_YES_STANDARD" + 2.0, "$OPTVAL_YES_ENHANCED" +} + OptionMenu "HUDOptions" //protected { Title "$OPTMNU_HUD" @@ -1032,6 +1044,9 @@ OptionMenu "HUDOptions" //protected StaticText "" Option "$DSPLYMNU_CROSSHAIR", "cl_crosshair", OnOff Slider "$DSPLYMNU_CROSSHAIRSCALE", "cl_crosshairscale", 50, 100, 10, 1 + Option "$HUDMNU_CROSSHAIR", "crosshair", "Crosshairs" + //ColorPicker "$HUDMNU_CROSSHAIRCOLOR", "crosshaircolor" fixme: Does not exist yet in Raze. + Option "$HUDMNU_CROSSHAIRHEALTH", "crosshairhealth", "CrosshairHealthTypes" } diff --git a/wadsrc/static/graphics/xhairb1.imgz b/wadsrc/static/graphics/xhairb1.imgz new file mode 100644 index 0000000000000000000000000000000000000000..7dc9001c848d9654d7314f7ffaf340af761b5a1b GIT binary patch literal 90 ycmebDb&uj?;ACI{LPiDz_{YGMa3J9y13LXTf#Ja4gue$E9R31n5F1?uj1K^sqagJF literal 0 HcmV?d00001 diff --git a/wadsrc/static/graphics/xhairb2.png b/wadsrc/static/graphics/xhairb2.png new file mode 100644 index 0000000000000000000000000000000000000000..003a746dfa5cb1b655892eed04e4633b7215a3a2 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^f*{NRBpBq_B-DTuM|zQC5{L%jJ>u)80%?ZCoPZ3e zgC{{ubx#+^kcwN$4NWb~oB?9It_F@w5)7FZpBW?!R4fk6oRMX~U|Y+`Fv&*sV8o%X PMj$<&u6{1-oD!Meji{s@F#)sK*C=JGy(wdPYsj+ literal 0 HcmV?d00001 diff --git a/wadsrc/static/graphics/xhairb6.imgz b/wadsrc/static/graphics/xhairb6.imgz new file mode 100644 index 0000000000000000000000000000000000000000..f730863e0e2ee68fd9c2c9e7b6b9fcc492657aba GIT binary patch literal 72 zcmebDb&uj_U}IosU|?VbVi@?tz;b}Wf#JX(hQAE|5Bvk-zYHMq4}=FKe*y7-pz<#V J7#Kbs007wC8`%H= literal 0 HcmV?d00001 diff --git a/wadsrc/static/graphics/xhairb7.imgz b/wadsrc/static/graphics/xhairb7.imgz new file mode 100644 index 0000000000000000000000000000000000000000..f059aa31862f1162fb8457b41c336ec48db478be GIT binary patch literal 33 acmebDb&q0ZU}j(hLKJX-;lKePW&i*==LG-& literal 0 HcmV?d00001 diff --git a/wadsrc/static/graphics/xhairs1.imgz b/wadsrc/static/graphics/xhairs1.imgz new file mode 100644 index 0000000000000000000000000000000000000000..00aa6541194afc4d6cfae0fec5f63494617dbb0a GIT binary patch literal 49 hcmebDb&q0YU}azeLR4@7#03%u4mcbDQ9vGu0050=2ZjIu literal 0 HcmV?d00001 diff --git a/wadsrc/static/language.csv b/wadsrc/static/language.csv index 681e26a52..a7bcc598a 100644 --- a/wadsrc/static/language.csv +++ b/wadsrc/static/language.csv @@ -287,47 +287,47 @@ Action,CNTRLMNU_ACTION,,,,Akce,Aktion,,Ago,Acción,,Toiminta,,Akció,Azione,ア Customize Action Controls,CNTRLMNU_ACTION_TITLE,,,,Nastavit ovládání akcí,Aktions-Steuerung einstellen,,Agordi Agajn Regilojn,Controles de Acción,,Toimintaohjausasetukset,Changer Contrôles Action,Akció beállítások testreszabása,Personalizza i controlli di azione,アクション操作設定,사용자 지정 동작 컨트롤,Aanpassen van de actiecontroles,Ustaw Klawisze Akcji,Configurar Comandos de Ação,Configurar Controlos de Ação,Personalizare schemă acțiuni,Основные клавиши управления,Контроле радње Chat,CNTRLMNU_CHAT,,,,Chat,Chat,,Babilo,Chat,,Keskustelu,Chat,Chat,Chat,チャット,채팅,Chat,Czat,Chat,Conversar,Conversație,Чат,Ћаскање Say,CNTRLMNU_SAY,,,,Říct,Reden,,Diro,Hablar,,Sano,Parler,Üzenet ,Parla,発言,채팅하기,Zeg,Powiedz,Fala,Falar,Vorbește,Сообщение,Пиши -Customize Chat Controls,CNTRLMNU_CHAT_TITLE,,,,Nastavit ovládání chatu,Chat-Steuerung einstellen,,Agordi Babiladajn Regilojn,Controles de Chat,,Keskusteluohjausasetukset,Changer Contrôles Chat,Chat beállítások testreszabása,Personalizza i controlli della chat,チャット操作設定,사용자 지정 채팅 컨트롤,Chat-controles aanpassen aan uw wensen,Ustaw Klawisze Czatu,Configurar Comandos de Chat,Configurar Controlos de Chat,,Клавиши управления чатом,Контроле ћаскања -Customize Weapon Controls,CNTRLMNU_WEAPONS_TITLE,,,,Nastavit ovládání zbraní,Waffen-Steuerung einstellen,,Agordi Armilojn Regilojn,Controles de Armas,,Aseohjausasetukset,Changer Contrôles Armes,Fegyver beállítások testreszabása,Personalizza i controlli delle armi,武器操作設定,사용자 지정 무기 컨트롤,Wapencontroles aanpassen aan uw eigen wensen,Ustaw Klawisze Broni,Configurar Comandos de Arma,Configurar Controlos de Armas,,Клавиши управления оружием,Контроле оружја -Customize Inventory Controls,CNTRLMNU_INVENTORY_TITLE,,,,Nastavit ovládání inventáře,Inventar-Steuerung einstellen,,Agordi Inventarajn Regilojn,Controles de Inventario,,Varusteohjausasetukset,Changer Contrôles Inventaires,Eszköztár beállítások testreszabása,Personalizza i controlli dell'inventario,インベントリ操作設定,사용자 지정 인벤토리 컨트롤,Inventariscontroles aanpassen aan uw wensen,Ustaw Klawisze Ekwipunku,Configurar Comandos de Inventário,Configurar Controlos de Inventário,,Клавиши управления инвентарём,Контроле складишта -Customize Other Controls,CNTRLMNU_OTHER_TITLE,,,,Nastavit ostatní ovládání,Sonstige Steuerung einstellen,,Agordi Ekstrajn Regilojn,Otros Controles,,Muut ohjausasetukset,Changer Autres Contrôles,Egyéb irányítás testreszabása,Personalizza altri controlli,その他の操作設定,사용자 지정 그 외 컨트롤,Andere bedieningselementen aanpassen,Ustaw Inne Klawisze,Configurar Outros Comandos,Configurar Outros Controlos,,Прочие клавиши,Друге контроле -Weapons,CNTRLMNU_WEAPONS,,,,Zbraně,Waffen,,Armiloj,Armas,,Aseet,Armes,Fegyverek,Armi,武器,무기,Wapens,Bronie,Armas,,,Оружие,Оружје -Next weapon,CNTRLMNU_NEXTWEAPON,,,,Další zbraň,Nächste Waffe,,Proksima armilo,Arma siguiente,,Seuraava ase,Arme Suivante,Következő fegyver,Arma successiva,次の武器,다음 무기,Volgende wapen,Następna broń,Próxima arma,,,Следующее оружие,Следеће оружје -Previous weapon,CNTRLMNU_PREVIOUSWEAPON,,,,Předchozí zbraň,Vorherige Waffe,,Antaŭa armilo,Arma anterior,,Edellinen ase,Arme Précédente,Előző fegyver,Arma precedente,前の武器,이전 무기,Vorige wapen,Poprzednia broń,Arma anterior,,,Предыдущее оружие,Претходно оружје -Weapon 1,CNTRLMNU_SLOT1,Todo - make game specific,,,Slot zbraně 1,Waffe 1,,Armingo 1,Ranura de Arma 1,,Aselokero 1,Emplacement D'Arme 1,1. Fegyver,Slot arma 1,武器スロット 1,무기 슬롯 1,Wapenslot 1,Broń 1,Arma 1,,,Оружие 1,Оружје 1 +Customize Chat Controls,CNTRLMNU_CHAT_TITLE,,,,Nastavit ovládání chatu,Chat-Steuerung einstellen,,Agordi Babiladajn Regilojn,Controles de Chat,,Keskusteluohjausasetukset,Changer Contrôles Chat,Chat beállítások testreszabása,Personalizza i controlli della chat,チャット操作設定,사용자 지정 채팅 컨트롤,Chat-controles aanpassen aan uw wensen,Ustaw Klawisze Czatu,Configurar Comandos de Chat,Configurar Controlos de Chat,Personalizare control scriere,Клавиши управления чатом,Контроле ћаскања +Customize Weapon Controls,CNTRLMNU_WEAPONS_TITLE,,,,Nastavit ovládání zbraní,Waffen-Steuerung einstellen,,Agordi Armilojn Regilojn,Controles de Armas,,Aseohjausasetukset,Changer Contrôles Armes,Fegyver beállítások testreszabása,Personalizza i controlli delle armi,武器操作設定,사용자 지정 무기 컨트롤,Wapencontroles aanpassen aan uw eigen wensen,Ustaw Klawisze Broni,Configurar Comandos de Arma,Configurar Controlos de Armas,Personalizare control arme,Клавиши управления оружием,Контроле оружја +Customize Inventory Controls,CNTRLMNU_INVENTORY_TITLE,,,,Nastavit ovládání inventáře,Inventar-Steuerung einstellen,,Agordi Inventarajn Regilojn,Controles de Inventario,,Varusteohjausasetukset,Changer Contrôles Inventaires,Eszköztár beállítások testreszabása,Personalizza i controlli dell'inventario,インベントリ操作設定,사용자 지정 인벤토리 컨트롤,Inventariscontroles aanpassen aan uw wensen,Ustaw Klawisze Ekwipunku,Configurar Comandos de Inventário,Configurar Controlos de Inventário,Personalizare control inventar,Клавиши управления инвентарём,Контроле складишта +Customize Other Controls,CNTRLMNU_OTHER_TITLE,,,,Nastavit ostatní ovládání,Sonstige Steuerung einstellen,,Agordi Ekstrajn Regilojn,Otros Controles,,Muut ohjausasetukset,Changer Autres Contrôles,Egyéb irányítás testreszabása,Personalizza altri controlli,その他の操作設定,사용자 지정 그 외 컨트롤,Andere bedieningselementen aanpassen,Ustaw Inne Klawisze,Configurar Outros Comandos,Configurar Outros Controlos,Personalizare scheme de control diverse,Прочие клавиши,Друге контроле +Weapons,CNTRLMNU_WEAPONS,,,,Zbraně,Waffen,,Armiloj,Armas,,Aseet,Armes,Fegyverek,Armi,武器,무기,Wapens,Bronie,Armas,,Arme,Оружие,Оружје +Next weapon,CNTRLMNU_NEXTWEAPON,,,,Další zbraň,Nächste Waffe,,Proksima armilo,Arma siguiente,,Seuraava ase,Arme Suivante,Következő fegyver,Arma successiva,次の武器,다음 무기,Volgende wapen,Następna broń,Próxima arma,,Arma următoare,Следующее оружие,Следеће оружје +Previous weapon,CNTRLMNU_PREVIOUSWEAPON,,,,Předchozí zbraň,Vorherige Waffe,,Antaŭa armilo,Arma anterior,,Edellinen ase,Arme Précédente,Előző fegyver,Arma precedente,前の武器,이전 무기,Vorige wapen,Poprzednia broń,Arma anterior,,Arma anterioară,Предыдущее оружие,Претходно оружје +Weapon 1,CNTRLMNU_SLOT1,Todo - make game specific,,,Slot zbraně 1,Waffe 1,,Armingo 1,Ranura de Arma 1,,Aselokero 1,Emplacement D'Arme 1,1. Fegyver,Slot arma 1,武器スロット 1,무기 슬롯 1,Wapenslot 1,Broń 1,Arma 1,,Arma 1,Оружие 1,Оружје 1 Weapon 2,CNTRLMNU_SLOT2,"only show appropriate slots per game -",,,Slot zbraně 2,Waffe 2,,Armingo 2,Ranura de Arma 2,,Aselokero 2,Emplacement D'Arme 2,2. Fegyver,Slot arma 2,武器スロット 2,무기 슬롯 2,Wapenslot 2,Broń 2,Arma 2,,,Оружие 2,Оружје 2 -Weapon 3,CNTRLMNU_SLOT3,,,,Slot zbraně 3,Waffe 3,,Armingo 3,Ranura de Arma 3,,Aselokero 3,Emplacement D'Arme 3,3. Fegyver,Slot arma 3,武器スロット 3,무기 슬롯 3,Wapenslot 3,Broń 3,Arma 3,,,Оружие 3,Оружје 3 -Weapon 4,CNTRLMNU_SLOT4,,,,Slot zbraně 4,Waffe 4,,Armingo 4,Ranura de Arma 4,,Aselokero 4,Emplacement D'Arme 4,4. Fegyver,Slot arma 4,武器スロット 4,무기 슬롯 4,Wapenslot 4,Broń 4,Arma 4,,,Оружие 4,Оружје 4 -Weapon 5,CNTRLMNU_SLOT5,,,,Slot zbraně 5,Waffe 5,,Armingo 5,Ranura de Arma 5,,Aselokero 5,Emplacement D'Arme 5,5. Fegyver,Slot arma 5,武器スロット 5,무기 슬롯 5,Wapenslot 5,Broń 5,Arma 5,,,Оружие 5,Оружје 5 -Weapon 6,CNTRLMNU_SLOT6,,,,Slot zbraně 6,Waffe 6,,Armingo 6,Ranura de Arma 6,,Aselokero 6,Emplacement D'Arme 6,6. Fegyver,Slot arma 6,武器スロット 6,무기 슬롯 6,Wapenslot 6,Broń 6,Arma 6,,,Оружие 6,Оружје 6 -Weapon 7,CNTRLMNU_SLOT7,,,,Slot zbraně 7,Waffe 7,,Armingo 7,Ranura de Arma 7,,Aselokero 7,Emplacement D'Arme 7,7. Fegyver,Slot arma 7,武器スロット 7,무기 슬롯 7,Wapenslot 7,Broń 7,Arma 7,,,Оружие 7,Оружје 7 -Weapon 8,CNTRLMNU_SLOT8,,,,Slot zbraně 8,Waffe 8,,Armingo 8,Ranura de Arma 8,,Aselokero 8,Emplacement D'Arme 8,8. Fegyver,Slot arma 8,武器スロット 8,무기 슬롯 8,Wapenslot 8,Broń 8,Arma 8,,,Оружие 8,Оружје 8 -Weapon 9,CNTRLMNU_SLOT9,,,,Slot zbraně 9,Waffe 9,,Armingo 9,Ranura de Arma 9,,Aselokero 9,Emplacement D'Arme 9,9. Fegyver,Slot arma 9,武器スロット 9,무기 슬롯 9,Wapenslot 9,Broń 9,Arma 9,,,Оружие 9,Оружје 9 -Weapon 10,CNTRLMNU_SLOT0,,,,Slot zbraně 10,Waffe 10,,Armingo 0,Ranura de Arma 0,,Aselokero 0,Emplacement D'Arme 0,0. Fegyver,Slot arma 0,武器スロット 0,무기 슬롯 0,Wapenslot 0,Broń 10,Arma 0,,,Оружие 0,Оружје 0 -Inventory,CNTRLMNU_INVENTORY,,,,Inventář,Inventar,,Inventaro,Inventario,,Varusteet,Inventaire,Eszköztár beállítások testreszabása,Inventario,所持品,인벤토리,Inventaris,Ekwipunek,Inventário,,,Инвентарь,Инвентар -Activate item,CNTRLMNU_USEITEM,,,,Aktivovat předmět,Gegenstand aktivieren,,Aktivigi aĵon,Activar objeto,,Aktivoi varuste,Activer objet,Eszköz használata,Attiva oggetto,アイテムを使用,선택한 아이템 사용,Item activeren,Użyj przedmiot,Ativar item,,,Использовать предмет,Активирај предмет -Activate all items,CNTRLMNU_USEALLITEMS,,,,Aktivovat všechny předměty,Alle Gegenstände aktivieren,,Aktivigi ĉiuj aĵojn,Activar todos los objetos,,Aktivoi kaikki varusteet,Activer tous les objets,Minden eszköz használata,Attiva tutti gli oggetti,全てのアイテムを使用,모든 아이템 사용,Activeer alle items,Użyj wszystkie przedmioty,Ativar todos os itens,,,Использовать все предметы,Активирај све предмете -Next item,CNTRLMNU_NEXTITEM,,,,Další předmět,Nächster Gegenstand,,Proksima aĵo,Objeto siguiente,,Seuraava varuste,Objet suivant,Következő eszköz,Oggetto successivo,次のアイテム,다음 아이템,Volgende item,Następny przedmiot,Próximo item,,,Следующий предмет,Следећи предмет -Previous item,CNTRLMNU_PREVIOUSITEM,,,,Předchozí předmět,Vorheriger Gegenstand,,Antaŭa aĵo,Objeto anterior,,Edellinen varuste,Objet précédent,Előző eszköz,Oggetto precedente,前のアイテム,이전 아이템,Vorige item,Poprzedni przedmiot,Item anterior,,,Предыдущий предмет,Претходни предмет -Holster Weapon,CNTRLMNU_HOLSTER,,,,,Waffe wegstecken,,,,,,,,,,,,,,,,, -Quick Kick,CNTRLMNU_QUICKKICK,,,,,Schneller Tritt,,,,,,,,,,,,,,,,, -Pee,CNTRLMNU_PEE,,,,,Pinkeln,,,,,,,,,,,,,,,,, -Proximity Bomb,CNTRLMNU_PROXIMITYBOMBS,,,,,,,,,,,,,,,,,,,,,, -Remote Bomb,CNTRLMNU_REMOTEBOMBS,,,,,,,,,,,,,,,,,,,,,, -Smoke Bomb,CNTRLMNU_SMOKEBOMB,,,,,Rauchbombe,,,,,,,,,,,,,,,,, -Gas Bomb,CNTRLMNU_GASBOMB,,,,,Gasgranate,,,,,,,,,,,,,,,,, -Flash Bomb,CNTRLMNU_FLASHBOMB,,,,,Blendgranate,,,,,,,,,,,,,,,,, -Caltrops,CNTRLMNU_CALTROPS,,,,,Krähenfüße,,,,,,,,,,,,,,,,, -Holo Duke,CNTRLMNU_HOLODUKE,,,,,,,,,,,,,,,,,,,,,, +",,,Slot zbraně 2,Waffe 2,,Armingo 2,Ranura de Arma 2,,Aselokero 2,Emplacement D'Arme 2,2. Fegyver,Slot arma 2,武器スロット 2,무기 슬롯 2,Wapenslot 2,Broń 2,Arma 2,,Arma 2,Оружие 2,Оружје 2 +Weapon 3,CNTRLMNU_SLOT3,,,,Slot zbraně 3,Waffe 3,,Armingo 3,Ranura de Arma 3,,Aselokero 3,Emplacement D'Arme 3,3. Fegyver,Slot arma 3,武器スロット 3,무기 슬롯 3,Wapenslot 3,Broń 3,Arma 3,,Arma 3,Оружие 3,Оружје 3 +Weapon 4,CNTRLMNU_SLOT4,,,,Slot zbraně 4,Waffe 4,,Armingo 4,Ranura de Arma 4,,Aselokero 4,Emplacement D'Arme 4,4. Fegyver,Slot arma 4,武器スロット 4,무기 슬롯 4,Wapenslot 4,Broń 4,Arma 4,,Arma 4,Оружие 4,Оружје 4 +Weapon 5,CNTRLMNU_SLOT5,,,,Slot zbraně 5,Waffe 5,,Armingo 5,Ranura de Arma 5,,Aselokero 5,Emplacement D'Arme 5,5. Fegyver,Slot arma 5,武器スロット 5,무기 슬롯 5,Wapenslot 5,Broń 5,Arma 5,,Arma 5,Оружие 5,Оружје 5 +Weapon 6,CNTRLMNU_SLOT6,,,,Slot zbraně 6,Waffe 6,,Armingo 6,Ranura de Arma 6,,Aselokero 6,Emplacement D'Arme 6,6. Fegyver,Slot arma 6,武器スロット 6,무기 슬롯 6,Wapenslot 6,Broń 6,Arma 6,,Arma 6,Оружие 6,Оружје 6 +Weapon 7,CNTRLMNU_SLOT7,,,,Slot zbraně 7,Waffe 7,,Armingo 7,Ranura de Arma 7,,Aselokero 7,Emplacement D'Arme 7,7. Fegyver,Slot arma 7,武器スロット 7,무기 슬롯 7,Wapenslot 7,Broń 7,Arma 7,,Arma 7,Оружие 7,Оружје 7 +Weapon 8,CNTRLMNU_SLOT8,,,,Slot zbraně 8,Waffe 8,,Armingo 8,Ranura de Arma 8,,Aselokero 8,Emplacement D'Arme 8,8. Fegyver,Slot arma 8,武器スロット 8,무기 슬롯 8,Wapenslot 8,Broń 8,Arma 8,,Arma 8,Оружие 8,Оружје 8 +Weapon 9,CNTRLMNU_SLOT9,,,,Slot zbraně 9,Waffe 9,,Armingo 9,Ranura de Arma 9,,Aselokero 9,Emplacement D'Arme 9,9. Fegyver,Slot arma 9,武器スロット 9,무기 슬롯 9,Wapenslot 9,Broń 9,Arma 9,,Arma 9,Оружие 9,Оружје 9 +Weapon 10,CNTRLMNU_SLOT0,,,,Slot zbraně 10,Waffe 10,,Armingo 0,Ranura de Arma 0,,Aselokero 0,Emplacement D'Arme 0,0. Fegyver,Slot arma 0,武器スロット 0,무기 슬롯 0,Wapenslot 0,Broń 10,Arma 0,,Arma 0,Оружие 0,Оружје 0 +Inventory,CNTRLMNU_INVENTORY,,,,Inventář,Inventar,,Inventaro,Inventario,,Varusteet,Inventaire,Eszköztár beállítások testreszabása,Inventario,所持品,인벤토리,Inventaris,Ekwipunek,Inventário,,Inventar,Инвентарь,Инвентар +Activate item,CNTRLMNU_USEITEM,,,,Aktivovat předmět,Gegenstand aktivieren,,Aktivigi aĵon,Activar objeto,,Aktivoi varuste,Activer objet,Eszköz használata,Attiva oggetto,アイテムを使用,선택한 아이템 사용,Item activeren,Użyj przedmiot,Ativar item,,Activează obiectul,Использовать предмет,Активирај предмет +Activate all items,CNTRLMNU_USEALLITEMS,,,,Aktivovat všechny předměty,Alle Gegenstände aktivieren,,Aktivigi ĉiuj aĵojn,Activar todos los objetos,,Aktivoi kaikki varusteet,Activer tous les objets,Minden eszköz használata,Attiva tutti gli oggetti,全てのアイテムを使用,모든 아이템 사용,Activeer alle items,Użyj wszystkie przedmioty,Ativar todos os itens,,Activează tot inventarul,Использовать все предметы,Активирај све предмете +Next item,CNTRLMNU_NEXTITEM,,,,Další předmět,Nächster Gegenstand,,Proksima aĵo,Objeto siguiente,,Seuraava varuste,Objet suivant,Következő eszköz,Oggetto successivo,次のアイテム,다음 아이템,Volgende item,Następny przedmiot,Próximo item,,Următorul obiect,Следующий предмет,Следећи предмет +Previous item,CNTRLMNU_PREVIOUSITEM,,,,Předchozí předmět,Vorheriger Gegenstand,,Antaŭa aĵo,Objeto anterior,,Edellinen varuste,Objet précédent,Előző eszköz,Oggetto precedente,前のアイテム,이전 아이템,Vorige item,Poprzedni przedmiot,Item anterior,,Obiect anterior,Предыдущий предмет,Претходни предмет +Holster Weapon,CNTRLMNU_HOLSTER,,,,,Waffe wegstecken,,,,,,,,,,,,,,,Coboară arma,, +Quick Kick,CNTRLMNU_QUICKKICK,,,,,Schneller Tritt,,,,,,,,,,,,,,,Șut rapid,, +Pee,CNTRLMNU_PEE,,,,,Pinkeln,,,,,,,,,,,,,,,Urinează,, +Proximity Bomb,CNTRLMNU_PROXIMITYBOMBS,,,,,,,,,,,,,,,,,,,,Bombă de proximitate,, +Remote Bomb,CNTRLMNU_REMOTEBOMBS,,,,,,,,,,,,,,,,,,,,Bombă cu detonator,, +Smoke Bomb,CNTRLMNU_SMOKEBOMB,,,,,Rauchbombe,,,,,,,,,,,,,,,Bombă fumigenă,, +Gas Bomb,CNTRLMNU_GASBOMB,,,,,Gasgranate,,,,,,,,,,,,,,,Bombă cu gaz,, +Flash Bomb,CNTRLMNU_FLASHBOMB,,,,,Blendgranate,,,,,,,,,,,,,,,Bombă orbitoare,, +Caltrops,CNTRLMNU_CALTROPS,,,,,Krähenfüße,,,,,,,,,,,,,,,Ciulini de fier,, +Holo Duke,CNTRLMNU_HOLODUKE,,,,,,,,,,,,,,,,,,,,Duke Holografic,, Jetpack,CNTRLMNU_JETPACK,,,,,,,,,,,,,,,,,,,,,, -Night Vision,CNTRLMNU_NIGHTVISION,,,,,Nachtsichtgerät,,,,,,,,,,,,,,,,, -Medkit,CNTRLMNU_MEDKIT,,,,,,,,,,,,,,,,,,,,,, -Steroids,CNTRLMNU_STEROIDS,,,,,Steroide,,,,,,,,,,,,,,,,, -Holo Soldier,CNTRLMNU_HOLOSOLDIER,,,,,Holosoldat,,,,,,,,,,,,,,,,, +Night Vision,CNTRLMNU_NIGHTVISION,,,,,Nachtsichtgerät,,,,,,,,,,,,,,,Vedere infraroșie,, +Medkit,CNTRLMNU_MEDKIT,,,,,,,,,,,,,,,,,,,,Kit medical,, +Steroids,CNTRLMNU_STEROIDS,,,,,Steroide,,,,,,,,,,,,,,,Steroizi,, +Holo Soldier,CNTRLMNU_HOLOSOLDIER,,,,,Holosoldat,,,,,,,,,,,,,,,Soldat Holografic,, Huey,CNTRLMNU_HUEY,,,,,,,,,,,,,,,,,,,,,, -Beer,CNTRLMNU_BEER,,,,,Bier,,,,,,,,,,,,,,,,, -Cow Pie,CNTRLMNU_COWPIE,not translatable,,,,,,,,,,,,,,,,,,,,, +Beer,CNTRLMNU_BEER,,,,,Bier,,,,,,,,,,,,,,,Bere,, +Cow Pie,CNTRLMNU_COWPIE,not translatable,,,,,,,,,,,,,,,,,,,Plăcintă de vacă,, Yeehaa,CNTRLMNU_YEEHAA,not translatable,,,,,,,,,,,,,,,,,,,,, Whiskey,CNTRLMNU_WHISKEY,,,,,Whisky,,,,,,,,,,,,,,,,, Moonshine,CNTRLMNU_MOONSHINE,,,,,Schwarzgebrannter,,,,,,,,,,,,,,,,, @@ -520,6 +520,11 @@ Show Map Name,DSPLYMNU_SHOWMAPNAME,,,,,"Levelnamen anzeigen ",,,,,,,,,,,,,,,,, FOV,DSPLYMNU_FOV,,,,,Gesichtsfeld,,,,,,,,,,,,,,,,, Crosshair,DSPLYMNU_CROSSHAIR,,,,Křížek,Fadenkreuz,,Reteto,Retícula,,Tähtäin,Viseur,,Mirino,クロスヘア,조준점,Draadkruis,Celownik,Mira,,,Прицел,Нишан +Default Crosshair,HUDMNU_CROSSHAIR,,,,Výchozí zaměřovač,Standard-Fadenkreuz,,Defaŭlta Translinio,Retícula por defecto,,Oletustähtäin,Viseur par défaut,Alapcélkereszt,Mirino di default,デフォルトの照準,기본 조준점,Standaard dradenkruis,Domyślny celownik,Mira padrão,,Țintă implicită,Тип прицела,Уобичајени нишан +Crosshair color,HUDMNU_CROSSHAIRCOLOR,,,Crosshair colour,Barva zaměřovače,Fadenkreuzfarbe,,Translinikoloro,Color de la retícula,,Tähtäimen väri,Couleur Viseur,Célkereszt színe,Colore mirino,照準色,조준점 색깔,Dradenkruis kleur,Kolor celownika,Cor da mira,,Culoare țintă,Цвет прицела,Боја нишана +Crosshair shows health,HUDMNU_CROSSHAIRHEALTH,,,,Zaměřovač zobrazuje zdraví,Fadenkreuz zeigt Gesundheit,,Translinio montri sanon,Mostrar salud en retícula,,Tähtäin näyttää terveyden,Couleur Viseur selon santé,Életerő jelzése a célkereszten,Il mirino mostra la salute,照準のヘルス表示,조준점과 체력 연동,Draadenkruis toont gezondheid,Celownik pokazuje zdrowie,Mostrar saúde na mira,Mostra vida na mira,Ținta afișează starea sănătății,Цвет прицела по состоянию здоровья,Нишан приказује здравље +Standard,OPTVAL_YES_STANDARD,copied from elsewhere,,,Standardní,,Πρότυπο,Norma,Estándar,,Normaali,,,,標準,기본,Standaard,Standard,Padrão,,,Стандартный,Стандардни +Enhanced,OPTVAL_YES_ENHANCED,,,,Vylepšené,Verbessert,Ενισχυομένο,Bonigita,Mejorado,,Paranneltu,Amélioré,,Migliorata,強調,고급,Verbeterd,Ulepszone,Melhorado,,Îmbunătățit(ă),Улучшенный,Побољшани HUD Options,OPTMNU_HUD,,,,Nastavení HUD,HUD Einstellungen,,Agordoj de HUD,Opciones del HUD,,Tilanäytön asetukset,Options de l'ATH,HUD beállítások,Opzioni HUD,HUD オプション,HUD 설정,HUD opties,Opcje Paska HUD,Opções de HUD,,,HUD,HUD Polymost Options,OPTMNU_POLYMOST,,,,,Polymost Einstellungen,,,,,,,,,,,,,,,,, Texture Filter mode,GLTEXMNU_TEXFILTER,,,,Režim filtrování textur,Texturfiltermodus,,Reĝimo por Teksturfiltrado,Modo de filtro de texturas,,Pintakuviointien suodatustapa,Mode de Filtrage Texture,,Modalità filtro texture,テクスチャーフィルター モード,텍스쳐 필터 모드,Textuur Filter mode,Tryb Filtrowania Tekstur,Modo de filtragem de textura,,,Фильтрация текстур,Текстурни филтер мод diff --git a/wadsrc/static/xhairs.txt b/wadsrc/static/xhairs.txt new file mode 100644 index 000000000..571a74542 --- /dev/null +++ b/wadsrc/static/xhairs.txt @@ -0,0 +1,8 @@ +0 "$OPTVAL_YES_STANDARD" +1 "Cross 1" +2 "Cross 2" +3 "X" +4 "Circle" +5 "Angle" +6 "Triangle" +7 "Dot"