- fixed stuff and cleaned out most of the old menu code.

This commit is contained in:
Christoph Oelckers 2019-12-05 19:00:40 +01:00
parent 6914408453
commit 169d68f583
22 changed files with 299 additions and 7650 deletions

View file

@ -48,7 +48,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "globals.h"
#include "levels.h"
#include "loadsave.h"
#include "menu.h"
#include "gamemenu.h"
#include "mirrors.h"
#include "music.h"
#include "network.h"

View file

@ -33,7 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "globals.h"
#include "inifile.h"
#include "levels.h"
#include "menu.h"
#include "qav.h"
#include "resource.h"
#include "view.h"

View file

@ -39,7 +39,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "gamemenu.h"
#include "globals.h"
#include "levels.h"
#include "menu.h"
#include "messages.h"
#include "misc.h"
#include "music.h"

View file

@ -33,7 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "globals.h"
#include "levels.h"
#include "loadsave.h"
#include "menu.h"
#include "gamemenu.h"
#include "network.h"
#include "player.h"
#include "sound.h"

File diff suppressed because it is too large Load diff

View file

@ -34,442 +34,4 @@ BEGIN_BLD_NS
void drawLoadingScreen(void);
void UpdateNetworkMenus(void);
#if 0
#define M_MOUSETIMEOUT 210
#define kMaxGameMenuItems 128
#define kMaxGameCycleItems 128
#define kMaxPicCycleItems 128
#define kMaxTitleLength 32
// alpha increments of 3 --> 255 / 3 = 85 --> round up to power of 2 --> 128 --> divide by 2 --> 64 alphatabs required
// use 16 anyway :P
#define MOUSEUSEALPHA (videoGetRenderMode() != REND_CLASSIC || numalphatabs >= 15)
#define MOUSEALPHA (MOUSEUSEALPHA ? clamp(((int)totalclock - gGameMenuMgr.m_mouselastactivity - 90)*3, 0, 255) : 0)
#define CURSORALPHA (MOUSEUSEALPHA ? clamp(((int)totalclock - gGameMenuMgr.m_mouselastactivity - 90)*2 + (255/3), (255/3), 255) : 255/3)
#define MOUSEACTIVECONDITION ((int)totalclock - gGameMenuMgr.m_mouselastactivity < M_MOUSETIMEOUT)
#define MOUSEACTIVECONDITIONAL(condition) (MOUSEACTIVECONDITION && (condition))
#define MOUSEINACTIVECONDITIONAL(condition) (!MOUSEACTIVECONDITION && (condition))
#define MOUSEWATCHPOINTCONDITIONAL(condition) ((condition) || gGameMenuMgr.m_mousewake_watchpoint || gGameMenuMgr.m_menuchange_watchpoint == 3)
enum {
kMenuEventNone = 0,
kMenuEventKey = 1,
kMenuEventUp = 2,
kMenuEventDown = 3,
kMenuEventLeft = 4,
kMenuEventRight = 5,
kMenuEventEnter = 6,
kMenuEventEscape = 7,
kMenuEventSpace = 8,
kMenuEventBackSpace = 9,
kMenuEventDelete = 10,
kMenuEventScrollUp = 11,
kMenuEventScrollDown = 12,
kMenuEventInit = 0x8000,
kMenuEventDeInit = 0x8001
};
enum {
kMenuSliderNone = 0,
kMenuSliderValue,
kMenuSliderPercent,
kMenuSliderQ16
};
struct CGameMenuEvent {
unsigned short at0;
char at2;
};
// NUKE-TODO:
#ifdef DrawText
#undef DrawText
#endif
class CGameMenu;
class CGameMenuItem {
public:
CGameMenu *pMenu;
const char* m_pzText;
int m_nFont;
int m_nX;
int m_nY;
int m_nWidth;
void (*pPreDrawCallback)(CGameMenuItem *pItem);
//int nFlags;
unsigned int bCanSelect : 1;
unsigned int bEnable : 1;
unsigned int bNoDraw : 1;
CGameMenuItem();
virtual ~CGameMenuItem();
virtual void Draw(void) = 0;
virtual bool Event(CGameMenuEvent &);
virtual bool MouseEvent(CGameMenuEvent &);
};
class CGameMenuItemText : public CGameMenuItem
{
public:
int at20;
CGameMenuItemText();
CGameMenuItemText(const char *, int, int, int, int);
virtual void Draw(void);
//virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemTitle : public CGameMenuItem
{
public:
int at20;
CGameMenuItemTitle();
CGameMenuItemTitle(const char *, int, int, int, int);
virtual void Draw(void);
//virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemZBool : public CGameMenuItem
{
public:
bool at20;
const char *at21;
const char *at25;
void (*at29)(CGameMenuItemZBool *);
CGameMenuItemZBool();
CGameMenuItemZBool(const char *,int,int,int,int,bool,void (*)(CGameMenuItemZBool *),const char *,const char *);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemChain : public CGameMenuItem
{
public:
int at20;
CGameMenu *at24;
int at28;
void(*at2c)(CGameMenuItemChain *);
int at30;
CGameMenuItemChain();
CGameMenuItemChain(const char *, int, int, int, int, int, CGameMenu *, int, void(*)(CGameMenuItemChain *), int);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItem7EA1C : public CGameMenuItem
{
public:
int at20; // text align
CGameMenu *at24;
int at28;
void(*at2c)(CGameMenuItem7EA1C *);
int at30;
IniFile *at34;
char at38[16];
char at48[16];
CGameMenuItem7EA1C();
CGameMenuItem7EA1C(const char *a1, int a2, int a3, int a4, int a5, const char *a6, const char *a7, int a8, int a9, void(*a10)(CGameMenuItem7EA1C *), int a11);
void Setup(void);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItem7EE34 : public CGameMenuItem
{
public:
int at20;
int at24;
CGameMenu *at28;
CGameMenu *at2c;
CGameMenuItem7EE34();
CGameMenuItem7EE34(const char *a1, int a2, int a3, int a4, int a5, int a6);
void Setup(void);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemChain7F2F0 : public CGameMenuItemChain
{
public:
int at34;
CGameMenuItemChain7F2F0();
CGameMenuItemChain7F2F0(char *a1, int a2, int a3, int a4, int a5, int a6, CGameMenu *a7, int a8, void(*a9)(CGameMenuItemChain *), int a10);
//virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemBitmap : public CGameMenuItem
{
public:
int at20;
CGameMenuItemBitmap();
CGameMenuItemBitmap(const char *, int, int, int, int);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemBitmapLS : public CGameMenuItemBitmap
{
public:
int at24;
int at28;
CGameMenuItemBitmapLS();
CGameMenuItemBitmapLS(const char *, int, int, int, int);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemKeyList : public CGameMenuItem
{
public:
void(*pCallback)(CGameMenuItemKeyList *);
int at24;
int nRows;
int nTopDelta;
int nFocus;
int nGameFuncs;
bool bScan;
CGameMenuItemKeyList();
CGameMenuItemKeyList(const char * a1, int a2, int a3, int a4, int a5, int a6, int a7, void(*a8)(CGameMenuItemKeyList *));
void Scan(void);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
virtual bool MouseEvent(CGameMenuEvent &);
};
class CGameMenuItemSlider : public CGameMenuItem
{
public:
int *pValue;
int nValue;
int nRangeLow;
int nRangeHigh;
int nStep;
void(*pCallback)(CGameMenuItemSlider *);
int nSliderTile;
int nCursorTile;
int nShowValue;
CGameMenuItemSlider();
CGameMenuItemSlider(const char *_pzText, int _nFont, int _nX, int _nY, int _nWidth, int _nValue, int _nRangeLow, int _nRangeHigh, int _nStep, void(*_pCallback)(CGameMenuItemSlider *), int _nSliderTile, int _nCursorTile, int _nShowValue = kMenuSliderNone);
CGameMenuItemSlider(const char *_pzText, int _nFont, int _nX, int _nY, int _nWidth, int *pnValue, int _nRangeLow, int _nRangeHigh, int _nStep, void(*_pCallback)(CGameMenuItemSlider *), int _nSliderTile, int _nCursorTile, int _nShowValue = kMenuSliderNone);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
virtual bool MouseEvent(CGameMenuEvent &);
};
class CGameMenuItemSliderFloat : public CGameMenuItem
{
public:
float *pValue;
float fValue;
float fRangeLow;
float fRangeHigh;
float fStep;
void(*pCallback)(CGameMenuItemSliderFloat *);
int nSliderTile;
int nCursorTile;
int nShowValue;
CGameMenuItemSliderFloat();
CGameMenuItemSliderFloat(const char *_pzText, int _nFont, int _nX, int _nY, int _nWidth, float _fValue, float _fRangeLow, float _fRangeHigh, float _fStep, void(*_pCallback)(CGameMenuItemSliderFloat *), int _nSliderTile, int _nCursorTile, int _nShowValue = kMenuSliderNone);
CGameMenuItemSliderFloat(const char *_pzText, int _nFont, int _nX, int _nY, int _nWidth, float *pnValue, float _fRangeLow, float _fRangeHigh, float _fStep, void(*_pCallback)(CGameMenuItemSliderFloat *), int _nSliderTile, int _nCursorTile, int _nShowValue = kMenuSliderNone);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemZEdit : public CGameMenuItem
{
public:
char *at20;
int at24;
int at28;
void(*at2c)(CGameMenuItemZEdit *, CGameMenuEvent *);
char at30;
char at31;
char at32;
CGameMenuItemZEdit();
CGameMenuItemZEdit(const char *, int, int, int, int, char *, int, char, void(*)(CGameMenuItemZEdit *, CGameMenuEvent *), int);
void AddChar(char);
void BackChar(void);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemZEditBitmap : public CGameMenuItem
{
public:
char *at20;
int at24;
int at28;
CGameMenuItemBitmapLS *at2c;
void(*at30)(CGameMenuItemZEditBitmap *, CGameMenuEvent *);
char bScan;
char at35;
char at36;
char at37;
CGameMenuItemZEditBitmap();
CGameMenuItemZEditBitmap(char *, int, int, int, int, char *, int, char, void(*)(CGameMenuItemZEditBitmap *, CGameMenuEvent *), int);
void AddChar(char);
void BackChar(void);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemZCycleSelect : public CGameMenuItem
{
public:
void(*m_pCallback)(CGameMenuItemZCycleSelect *);
int m_nRows;
int m_nTopDelta;
int m_nFocus;
int m_nItems;
int *m_pReturn;
const char **m_pzStrings;
CGameMenuItemZCycleSelect();
CGameMenuItemZCycleSelect(const char *pzText, int nFont, int nX, int nY, int nWidth, int nRows, int nItems, const char **pzStrings, int *pReturn, void(*pCallback)(CGameMenuItemZCycleSelect *));
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
virtual bool MouseEvent(CGameMenuEvent &);
};
class CGameMenuItemZCycle : public CGameMenuItem
{
public:
int m_nItems;
int m_nFocus;
int m_nAlign;
const char *m_pzStrings[kMaxGameCycleItems];
char m_zTitle[kMaxTitleLength];
void(*m_pCallback)(CGameMenuItemZCycle *);
void(*m_pCallbackSelect)(CGameMenuItemZCycleSelect *);
bool m_bMenu;
int m_nMenuSelectReturn;
CGameMenu *m_pMenuSelect;
CGameMenuItemTitle *m_pItemSelectTitle;
CGameMenuItemZCycleSelect *m_pItemSelect;
CGameMenuItemZCycle();
CGameMenuItemZCycle(const char *, int, int, int, int, int, void(*)(CGameMenuItemZCycle *), const char **, int, int, bool = false, void(*)(CGameMenuItemZCycleSelect*) = NULL);
~CGameMenuItemZCycle();
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
void Add(const char *, bool);
void Next(void);
void Prev(void);
void Clear(void);
void SetTextArray(const char **, int, int);
void SetTextIndex(int);
};
class CGameMenuItemYesNoQuit : public CGameMenuItem
{
public:
int at20;
int m_nRestart;
CGameMenuItemYesNoQuit();
CGameMenuItemYesNoQuit(const char *, int, int, int, int, int, int);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenuItemPicCycle : public CGameMenuItem
{
public:
int m_nItems;
int at24;
int at28;
int at2c;
int at30[kMaxPicCycleItems];
void(*atb0)(CGameMenuItemPicCycle *);
int atb4;
CGameMenuItemPicCycle();
CGameMenuItemPicCycle(int, int, void(*)(CGameMenuItemPicCycle *), int *, int, int);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
void Add(int, bool);
void Next(void);
void Prev(void);
void Clear(void);
void SetPicArray(int *, int, int);
void SetPicIndex(int);
};
class CGameMenuItemPassword : public CGameMenuItem
{
public:
char at20[9];
char at29[9];
int at32;
char at36;
int at37;
char at3b[32];
int at5b;
CGameMenuItemZBool *at5f;
CGameMenuItemPassword();
CGameMenuItemPassword(const char *, int, int, int);
virtual void Draw(void);
virtual bool Event(CGameMenuEvent &);
};
class CGameMenu
{
public:
int m_nItems;
int m_nFocus;
int at8;
char atc;
CGameMenuItem *pItemList[kMaxGameMenuItems]; // atd
CGameMenu();
CGameMenu(int);
~CGameMenu();
void InitializeItems(CGameMenuEvent &event);
void Draw(void);
bool Event(CGameMenuEvent &event);
void Add(CGameMenuItem *pItem, bool active);
void SetFocusItem(int nItem);
void SetFocusItem(CGameMenuItem *Item);
bool CanSelectItem(int nItem);
void FocusPrevItem(void);
void FocusNextItem(void);
bool IsFocusItem(CGameMenuItem *pItem);
bool MouseEvent(CGameMenuEvent &event);
};
class CGameMenuMgr
{
public:
static bool m_bInitialized;
static bool m_bActive;
static bool m_bScanning;
CGameMenu *pTempMenu;
CGameMenu *pActiveMenu;
CGameMenu *pMenuStack[8];
int nMenuPointer;
int32_t m_mouselastactivity;
int32_t m_mousewake_watchpoint, m_menuchange_watchpoint;
int32_t m_mousecaught;
vec2_t m_prevmousepos, m_mousepos, m_mousedownpos;
bool m_postPop;
CGameMenuMgr();
~CGameMenuMgr();
void InitializeMenu(void);
void DeInitializeMenu(void);
bool Push(CGameMenu *pMenu, int data);
void Pop(void);
void PostPop(void);
void Draw(void);
void Clear(void);
void Process(void);
void Deactivate(void);
bool MouseOutsideBounds(vec2_t const * const pos, const int32_t x, const int32_t y, const int32_t width, const int32_t height);
};
extern CGameMenuMgr gGameMenuMgr;
#endif
END_BLD_NS

View file

@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "globals.h"
#include "db.h"
#include "messages.h"
#include "menu.h"
#include "gamemenu.h"
#include "network.h"
#include "loadsave.h"
#include "resource.h"

File diff suppressed because it is too large Load diff

View file

@ -1,62 +0,0 @@
//-------------------------------------------------------------------------
/*
Copyright (C) 2010-2019 EDuke32 developers and contributors
Copyright (C) 2019 Nuke.YKT
This file is part of NBlood.
NBlood is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
//-------------------------------------------------------------------------
#pragma once
#include "gamemenu.h"
BEGIN_BLD_NS
#if 0
extern CGameMenu menuMain;
extern CGameMenu menuMainWithSave;
extern CGameMenu menuNetMain;
extern CGameMenu menuNetStart;
extern CGameMenu menuEpisode;
extern CGameMenu menuDifficulty;
extern CGameMenu menuOptionsOld;
extern CGameMenu menuControls;
extern CGameMenu menuMessages;
extern CGameMenu menuKeys;
extern CGameMenu menuSaveGame;
extern CGameMenu menuLoadGame;
extern CGameMenu menuLoading;
extern CGameMenu menuSounds;
extern CGameMenu menuQuit;
extern CGameMenu menuRestart;
extern CGameMenu menuCredits;
extern CGameMenu menuOrder;
extern CGameMenu menuPlayOnline;
extern CGameMenu menuParentalLock;
extern CGameMenu menuSorry;
extern CGameMenu menuSorry2;
extern CGameMenu menuOptions;
extern CGameMenu menuOptionsSound;
extern CGameMenu menuOptionsDisplayMode;
extern char strRestoreGameStrings[][16];
void drawLoadingScreen(void);
void SetupMenus(void);
#endif
END_BLD_NS

View file

@ -33,7 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "controls.h"
#include "globals.h"
#include "network.h"
#include "menu.h"
#include "gamemenu.h"
#include "player.h"
#include "seq.h"
#include "sound.h"

View file

@ -47,7 +47,6 @@ EXTERN_CVAR(Int, snd_numchannels)
EXTERN_CVAR(Int, snd_numvoices)
EXTERN_CVAR(Int, snd_speech)
EXTERN_CVAR(Int, mus_device)
extern int MusicDevice;
EXTERN_CVAR(Int, hud_layout)
EXTERN_CVAR(Int, hud_scale)

View file

@ -44,7 +44,7 @@
#include "printf.h"
#include "gamecontrol.h"
#include "cmdlib.h"
#include "c_cvars.h"
#include "optionmenuitems.h"
// Menu-relevant content that gets filled in by scripts. This will get processed after the game has loaded.
@ -872,6 +872,18 @@ static void ParseOptionMenuBody(FScanner &sc, FOptionMenuDescriptor *desc)
FOptionMenuItem *it = new FOptionMenuItemSubmenu(label, sc.String);
desc->mItems.Push(it);
}
else if (sc.Compare("LabeledSubmenu"))
{
sc.MustGetString();
FString label = sc.String;
sc.MustGetStringName(",");
sc.MustGetString();
auto cvar = FindCVar(sc.String, nullptr);
sc.MustGetStringName(",");
sc.MustGetString();
FOptionMenuItem* it = new FOptionMenuItemLabeledSubmenu(label, cvar, sc.String);
desc->mItems.Push(it);
}
else if (sc.Compare("Option"))
{
sc.MustGetString();

View file

@ -82,6 +82,7 @@ public:
class FOptionMenuItemLabeledSubmenu : public FOptionMenuItemSubmenu
{
FBaseCVar *mLabelCVar;
public:
FOptionMenuItemLabeledSubmenu(const char * label, FBaseCVar *labelcvar, FName command, int param = 0)
: FOptionMenuItemSubmenu(label, command, param)
{
@ -92,7 +93,7 @@ class FOptionMenuItemLabeledSubmenu : public FOptionMenuItemSubmenu
{
drawLabel(indent, y, selected? OptionSettings.mFontColorSelection : OptionSettings.mFontColor);
auto text = mLabelCVar->GetHumanString();
auto text = mLabelCVar? mLabelCVar->GetHumanString() : "";
if (text[0] == 0) text = GStrings("notset");
drawValue(indent, y, OptionSettings.mFontColorValue, text);
return indent;

View file

@ -53,6 +53,7 @@
#include "zmusic/zmusic.h"
EXTERN_CVAR (Float, snd_sfxvolume)
EXTERN_CVAR(Float, mus_volume)
CVAR (Int, snd_samplerate, 0, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)
CVAR (Int, snd_buffersize, 0, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)
CVAR (Int, snd_hrtf, -1, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)

View file

@ -82,7 +82,8 @@ void I_InitMusicWin32();
// let the operating system decide for us.
//
//==========================================================================
EXTERN_CVAR(Bool, cd_enabled);
EXTERN_CVAR(Bool, cd_enabled);
EXTERN_CVAR(Float, snd_mastervolume)
CUSTOM_CVAR(String, cd_drive, "", CVAR_ARCHIVE | CVAR_NOINITCALL | CVAR_GLOBALCONFIG)
{
@ -125,7 +126,7 @@ CUSTOM_CVARD(Float, mus_volume, 0.5, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "controls m
ChangeMusicSetting(ZMusic::snd_musicvolume, nullptr, self);
if (GSnd != nullptr)
{
GSnd->SetMusicVolume(clamp<float>(self * relative_volume/* * snd_mastervolume*/, 0, 1));
GSnd->SetMusicVolume(clamp<float>(self * relative_volume * snd_mastervolume, 0, 1));
}
// For music not implemented through the digital sound system,
// let them know about the change.

View file

@ -79,6 +79,7 @@ MusicAliasMap LevelMusicAliases;
bool MusicPaused;
static bool mus_blocked;
static FString lastStartedMusic;
EXTERN_CVAR(Float, mus_volume)
//==========================================================================
//

View file

@ -47,336 +47,6 @@ BEGIN_DUKE_NS
#if 0
// common positions
#define MENU_MARGIN_REGULAR 40
#define MENU_MARGIN_WIDE 32
#define MENU_MARGIN_CENTER 160
#define MENU_HEIGHT_CENTER 100
#define USERMAPENTRYLENGTH 25
/*
MenuEntry_t is passed in arrays of pointers so that the callback function
that is called when an entry is modified or activated can test equality of the current
entry pointer directly against the known ones, instead of relying on an ID number.
That way, individual menu entries can be ifdef'd out painlessly.
*/
// Zhe menu code lacks flexibility, it can either be hardwired to ints or to CVARs.
// Since CVARs are more important it means that these need to be implemented as CVARs even though they are just temporaries.
// By giving them no name we ensure that they remain outside the CVAR system.
CVAR_UNAMED(Int, newresolution)
CVAR_UNAMED(Int, newrendermode)
CVAR_UNAMED(Int, newfullscreen)
CVAR_UNAMED(Int, newvsync)
CVAR_UNAMED(Int, newborderless)
enum resflags_t {
RES_FS = 0x1,
RES_WIN = 0x2,
};
#define MAXRESOLUTIONSTRINGLENGTH 19
typedef struct resolution_t {
int32_t xdim, ydim;
int32_t flags;
int32_t bppmax;
char name[MAXRESOLUTIONSTRINGLENGTH];
} resolution_t;
resolution_t resolution[MAXVALIDMODES];
static char const *MEOSN_VIDEOSETUP_RESOLUTION[MAXVALIDMODES];
static MenuOptionSet_t MEOS_VIDEOSETUP_RESOLUTION = MAKE_MENUOPTIONSETDYN( MEOSN_VIDEOSETUP_RESOLUTION, NULL, 0, 0x0 );
static MenuOption_t MEO_VIDEOSETUP_RESOLUTION = MAKE_MENUOPTION( &MF_Redfont, &MEOS_VIDEOSETUP_RESOLUTION, &newresolution );
static MenuEntry_t ME_VIDEOSETUP_RESOLUTION = MAKE_MENUENTRY( "Resolution:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_VIDEOSETUP_RESOLUTION, Option );
#ifdef USE_OPENGL
static char const *MEOSN_VIDEOSETUP_RENDERER[] = { "Classic", "OpenGL", };
static int32_t MEOSV_VIDEOSETUP_RENDERER[] = { REND_CLASSIC, REND_POLYMOST, };
static MenuOptionSet_t MEOS_VIDEOSETUP_RENDERER = MAKE_MENUOPTIONSET( MEOSN_VIDEOSETUP_RENDERER, MEOSV_VIDEOSETUP_RENDERER, 0x2 );
static MenuOption_t MEO_VIDEOSETUP_RENDERER = MAKE_MENUOPTION( &MF_Redfont, &MEOS_VIDEOSETUP_RENDERER, &newrendermode );
static MenuEntry_t ME_VIDEOSETUP_RENDERER = MAKE_MENUENTRY( "Renderer:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_VIDEOSETUP_RENDERER, Option );
#endif
static MenuOption_t MEO_VIDEOSETUP_FULLSCREEN = MAKE_MENUOPTION( &MF_Redfont, &MEOS_YesNo, &newfullscreen );
static MenuEntry_t ME_VIDEOSETUP_FULLSCREEN = MAKE_MENUENTRY( "Windowed:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_VIDEOSETUP_FULLSCREEN, Option );
static char const *MEOSN_VIDEOSETUP_BORDERLESS [] = { "No", "Yes", "Auto", };
static int32_t MEOSV_VIDEOSETUP_BORDERLESS [] = { 0, 1, 2, };
static MenuOptionSet_t MEOS_VIDEOSETUP_BORDERLESS = MAKE_MENUOPTIONSET(MEOSN_VIDEOSETUP_BORDERLESS, MEOSV_VIDEOSETUP_BORDERLESS, 0x2);
static MenuOption_t MEO_VIDEOSETUP_BORDERLESS = MAKE_MENUOPTION(&MF_Redfont, &MEOS_VIDEOSETUP_BORDERLESS, &newborderless);
static MenuEntry_t ME_VIDEOSETUP_BORDERLESS = MAKE_MENUENTRY("Borderless:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_VIDEOSETUP_BORDERLESS, Option);
static char const *MEOSN_VIDEOSETUP_VSYNC [] = { "Adaptive", "Off", "On", };
static int32_t MEOSV_VIDEOSETUP_VSYNC [] = { -1, 0, 1, };
static MenuOptionSet_t MEOS_VIDEOSETUP_VSYNC = MAKE_MENUOPTIONSET(MEOSN_VIDEOSETUP_VSYNC, MEOSV_VIDEOSETUP_VSYNC, 0x2);
static MenuOption_t MEO_VIDEOSETUP_VSYNC = MAKE_MENUOPTION(&MF_Redfont, &MEOS_VIDEOSETUP_VSYNC, &newvsync);
static MenuEntry_t ME_VIDEOSETUP_VSYNC = MAKE_MENUENTRY("VSync:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_VIDEOSETUP_VSYNC, Option);
//static char const *MEOSN_VIDEOSETUP_FRAMELIMIT [] = { "None", "30 fps", "60 fps", "75 fps", "100 fps", "120 fps", "144 fps", "165 fps", "240 fps" };
static MenuEntry_t ME_VIDEOSETUP_APPLY = MAKE_MENUENTRY( "Apply Changes", &MF_Redfont, &MEF_BigOptions_Apply, &MEO_NULL, Link );
#ifdef USE_OPENGL
static MenuLink_t MEO_DISPLAYSETUP_ADVANCED_GL_POLYMOST = { MENU_POLYMOST, MA_Advance, };
static MenuEntry_t ME_DISPLAYSETUP_ADVANCED_GL_POLYMOST = MAKE_MENUENTRY( "Polymost setup", &MF_Redfont, &MEF_BigOptionsRt, &MEO_DISPLAYSETUP_ADVANCED_GL_POLYMOST, Link );
#endif
#ifndef EDUKE32_ANDROID_MENU
static MenuLink_t MEO_DISPLAYSETUP_VIDEOSETUP = { MENU_VIDEOSETUP, MA_Advance, };
static MenuEntry_t ME_DISPLAYSETUP_VIDEOSETUP = MAKE_MENUENTRY( "Video mode", &MF_Redfont, &MEF_BigOptionsRt, &MEO_DISPLAYSETUP_VIDEOSETUP, Link );
#endif
};
static MenuEntry_t *MEL_OPTIONS[] = {
#ifndef EDUKE32_SIMPLE_MENU
&ME_OPTIONS_GAMESETUP,
#endif
&ME_OPTIONS_DISPLAYSETUP,
&ME_OPTIONS_SOUNDSETUP,
#ifndef EDUKE32_ANDROID_MENU
#ifndef EDUKE32_SIMPLE_MENU
&ME_OPTIONS_PLAYERSETUP,
#endif
&ME_OPTIONS_CONTROLS,
#else
&ME_OPTIONS_TOUCHSETUP,
#endif
#ifdef EDUKE32_SIMPLE_MENU
&ME_GAMESETUP_SAVESETUP,
&ME_OPTIONS_CHEATS
#endif
};
static MenuEntry_t *MEL_CONTROLS[] = {
#ifndef EDUKE32_ANDROID_MENU
&ME_OPTIONS_KEYBOARDSETUP,
&ME_OPTIONS_MOUSESETUP,
&ME_OPTIONS_JOYSTICKSETUP,
#else
&ME_OPTIONS_TOUCHSETUP,
#endif
&ME_Space6_Redfont,
&ME_GAMESETUP_AIM_AUTO,
&ME_GAMESETUP_ALWAYS_RUN,
&ME_GAMESETUP_WEAPSWITCH_PICKUP,
#ifdef EDUKE32_ANDROID_MENU
&ME_GAMESETUP_QUICKSWITCH,
&ME_GAMESETUP_CROUCHLOCK,
#endif
};
static MenuEntry_t *MEL_CHEATS[ARRAY_SIZE(ME_CheatCodes)+1] = {
&ME_ENTERCHEAT,
};
static MenuEntry_t *MEL_VIDEOSETUP[] = {
&ME_VIDEOSETUP_RESOLUTION,
#ifdef USE_OPENGL
&ME_VIDEOSETUP_RENDERER,
#endif
&ME_VIDEOSETUP_FULLSCREEN,
&ME_VIDEOSETUP_BORDERLESS,
&ME_VIDEOSETUP_VSYNC,
&ME_Space4_Redfont,
&ME_VIDEOSETUP_APPLY,
};
static MenuEntry_t *MEL_DISPLAYSETUP[] = {
&ME_DISPLAYSETUP_SCREENSETUP,
&ME_DISPLAYSETUP_COLORCORR,
#ifndef EDUKE32_ANDROID_MENU
&ME_DISPLAYSETUP_VIDEOSETUP,
&ME_DISPLAYSETUP_ASPECTRATIO,
&ME_DISPLAYSETUP_VOXELS,
&ME_DISPLAYSETUP_FOV,
#endif
};
#ifdef USE_OPENGL
static MenuEntry_t *MEL_DISPLAYSETUP_GL[] = {
&ME_DISPLAYSETUP_SCREENSETUP,
&ME_DISPLAYSETUP_COLORCORR,
&ME_DISPLAYSETUP_VIDEOSETUP,
&ME_DISPLAYSETUP_ASPECTRATIO,
&ME_DISPLAYSETUP_VOXELS,
&ME_DISPLAYSETUP_FOV,
&ME_DISPLAYSETUP_TEXFILTER,
&ME_DISPLAYSETUP_ANISOTROPY,
&ME_DISPLAYSETUP_ADVANCED_GL_POLYMOST,
#endif
};
#ifdef USE_OPENGL
static MenuEntry_t *MEL_RENDERERSETUP_POLYMOST[] = {
&ME_RENDERERSETUP_HIGHTILE,
&ME_RENDERERSETUP_PRECACHE,
# ifdef USE_GLEXT
&ME_RENDERERSETUP_DETAILTEX,
&ME_RENDERERSETUP_GLOWTEX,
# endif
&ME_Space4_Bluefont,
&ME_RENDERERSETUP_MODELS,
};
#endif
#ifdef EDUKE32_ANDROID_MENU
#define MINVIS 1.f
#else
#define MINVIS 0.125f
#endif
#ifndef EDUKE32_SIMPLE_MENU
static MenuRangeFloat_t MEO_COLCORR_AMBIENT = MAKE_MENURANGE( &r_ambientlight, &MF_Bluefont, MINVIS, 4.f, 0.f, 32, 1 );
static MenuEntry_t ME_COLCORR_AMBIENT = MAKE_MENUENTRY( "Visibility:", &MF_Redfont, &MEF_ColorCorrect, &MEO_COLCORR_AMBIENT, RangeFloat );
#endif
static MenuEntry_t *MEL_COLCORR[] = {
&ME_COLCORR_GAMMA,
#ifndef EDUKE32_ANDROID_MENU
&ME_COLCORR_CONTRAST,
&ME_COLCORR_BRIGHTNESS,
#endif
#ifndef EDUKE32_SIMPLE_MENU
&ME_COLCORR_AMBIENT,
#endif
&ME_Space8_Redfont,
&ME_COLCORR_RESET,
};
static MenuEntry_t *MEL_SCREENSETUP[] = {
#ifdef EDUKE32_ANDROID_MENU
&ME_SCREENSETUP_STATUSBARONTOP,
#endif
&ME_SCREENSETUP_SCREENSIZE,
&ME_SCREENSETUP_SBARSIZE,
&ME_SCREENSETUP_CROSSHAIR,
&ME_SCREENSETUP_CROSSHAIRSIZE,
&ME_SCREENSETUP_LEVELSTATS,
&ME_SCREENSETUP_TEXTSIZE,
&ME_SCREENSETUP_SHOWPICKUPMESSAGES,
};
CVAR_UNAMED(Int, soundrate)
CVAR_UNAMED(Int, soundvoices)
CVAR_UNAMED(Int, musicdevice)
static MenuOption_t MEO_SOUND = MAKE_MENUOPTION( &MF_Redfont, &MEOS_OffOn, &snd_enabled );
static MenuEntry_t ME_SOUND = MAKE_MENUENTRY( "Sound:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND, Option );
static MenuOption_t MEO_SOUND_MUSIC = MAKE_MENUOPTION( &MF_Redfont, &MEOS_OffOn, &mus_enabled );
static MenuEntry_t ME_SOUND_MUSIC = MAKE_MENUENTRY( "Music:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND_MUSIC, Option );
static char const s_Volume[] = "Volume:";
static MenuRangeInt32_t MEO_SOUND_VOLUME_FX = MAKE_MENURANGE( &snd_fxvolume, &MF_Redfont, 0, 255, 0, 33, 2 );
static MenuEntry_t ME_SOUND_VOLUME_FX = MAKE_MENUENTRY( s_Volume, &MF_Redfont, &MEF_BigOptions_Apply, &MEO_SOUND_VOLUME_FX, RangeInt32 );
static MenuEntry_t ME_SOUND_VOLUME_MUSIC = MAKE_MENUENTRY( s_Volume, &MF_Redfont, &MEF_BigOptions_Apply, &MEO_SOUND_VOLUME_MUSIC, RangeInt32 );
#ifndef EDUKE32_STANDALONE
static MenuOption_t MEO_SOUND_DUKETALK = MAKE_MENUOPTION(&MF_Redfont, &MEOS_NoYes, NULL);
static MenuEntry_t ME_SOUND_DUKETALK = MAKE_MENUENTRY( "Duke talk:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND_DUKETALK, Option );
#else
static MenuOption_t MEO_SOUND_DUKETALK = MAKE_MENUOPTION(&MF_Redfont, &MEOS_YesNo, NULL);
static MenuEntry_t ME_SOUND_DUKETALK = MAKE_MENUENTRY("Silent protagonist:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND_DUKETALK, Option);
#endif
static char const *MEOSN_SOUND_SAMPLINGRATE[] = { "22050Hz", "44100Hz", "48000Hz", };
static int32_t MEOSV_SOUND_SAMPLINGRATE[] = { 22050, 44100, 48000, };
static MenuOptionSet_t MEOS_SOUND_SAMPLINGRATE = MAKE_MENUOPTIONSET( MEOSN_SOUND_SAMPLINGRATE, MEOSV_SOUND_SAMPLINGRATE, 0x3 );
static MenuOption_t MEO_SOUND_SAMPLINGRATE = MAKE_MENUOPTION( &MF_Redfont, &MEOS_SOUND_SAMPLINGRATE, &soundrate );
static MenuEntry_t ME_SOUND_SAMPLINGRATE = MAKE_MENUENTRY( "Sample rate:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND_SAMPLINGRATE, Option );
#ifndef EDUKE32_SIMPLE_MENU
static MenuRangeInt32_t MEO_SOUND_NUMVOICES = MAKE_MENURANGE( &soundvoices, &MF_Redfont, 16, 128, 0, 8, 1 );
static MenuEntry_t ME_SOUND_NUMVOICES = MAKE_MENUENTRY( "Voices:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND_NUMVOICES, RangeInt32 );
#endif
static char const *MEOSN_SOUND_MIDIDRIVER[] = {
"OPL3",
#ifdef _WIN32
"Windows",
#endif
};
static int32_t MEOSV_SOUND_MIDIDRIVER[] = {
ASS_OPL3,
#ifdef _WIN32
ASS_WinMM,
#endif
};
static MenuOptionSet_t MEOS_SOUND_MIDIDRIVER = MAKE_MENUOPTIONSET( MEOSN_SOUND_MIDIDRIVER, MEOSV_SOUND_MIDIDRIVER, 0x2 );
static MenuOption_t MEO_SOUND_MIDIDRIVER = MAKE_MENUOPTION( &MF_Redfont, &MEOS_SOUND_MIDIDRIVER, &musicdevice );
static MenuEntry_t ME_SOUND_MIDIDRIVER = MAKE_MENUENTRY( "MIDI driver:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SOUND_MIDIDRIVER, Option );
static MenuEntry_t ME_SOUND_RESTART = MAKE_MENUENTRY( "Apply Changes", &MF_Redfont, &MEF_BigOptions_Apply, &MEO_NULL, Link );
#ifndef EDUKE32_SIMPLE_MENU
static MenuLink_t MEO_ADVSOUND = { MENU_ADVSOUND, MA_Advance, };
static MenuEntry_t ME_SOUND_ADVSOUND = MAKE_MENUENTRY( "Advanced", &MF_Redfont, &MEF_BigOptionsRt, &MEO_ADVSOUND, Link );
#endif
static MenuEntry_t *MEL_SOUND[] = {
&ME_SOUND,
&ME_SOUND_VOLUME_FX,
&ME_SOUND_MUSIC,
&ME_SOUND_VOLUME_MUSIC,
&ME_SOUND_DUKETALK,
#ifndef EDUKE32_SIMPLE_MENU
&ME_SOUND_ADVSOUND,
#endif
};
static MenuEntry_t *MEL_ADVSOUND[] = {
&ME_SOUND_SAMPLINGRATE,
&ME_Space2_Redfont,
#ifndef EDUKE32_SIMPLE_MENU
&ME_SOUND_NUMVOICES,
&ME_Space2_Redfont,
#endif
&ME_SOUND_MIDIDRIVER,
&ME_SOUND_RESTART,
};
static MenuOption_t MEO_SAVESETUP_AUTOSAVE = MAKE_MENUOPTION( &MF_Redfont, &MEOS_OffOn, &cl_autosave );
static MenuEntry_t ME_SAVESETUP_AUTOSAVE = MAKE_MENUENTRY( "Checkpoints:", &MF_Redfont, &MEF_BigOptionsRt, &MEO_SAVESETUP_AUTOSAVE, Option );
static MenuOption_t MEO_SAVESETUP_AUTOSAVEDELETION = MAKE_MENUOPTION( &MF_Redfont, &MEOS_NoYes, &cl_autosavedeletion );
static MenuEntry_t ME_SAVESETUP_AUTOSAVEDELETION = MAKE_MENUENTRY( "Auto-Delete:", &MF_Redfont, &MEF_BigOptions_Apply, &MEO_SAVESETUP_AUTOSAVEDELETION, Option );
static MenuRangeInt32_t MEO_SAVESETUP_MAXAUTOSAVES = MAKE_MENURANGE( &cl_maxautosaves, &MF_Redfont, 1, 10, 0, 10, 1 );
static MenuEntry_t ME_SAVESETUP_MAXAUTOSAVES = MAKE_MENUENTRY( "Limit:", &MF_Redfont, &MEF_BigOptions_Apply, &MEO_SAVESETUP_MAXAUTOSAVES, RangeInt32 );
static MenuEntry_t ME_SAVESETUP_CLEANUP = MAKE_MENUENTRY( "Clean Up Saves", &MF_Redfont, &MEF_BigOptionsRt, &MEO_NULL, Link );
static MenuEntry_t *MEL_SAVESETUP[] = {
&ME_SAVESETUP_AUTOSAVE,
&ME_SAVESETUP_AUTOSAVEDELETION,
&ME_SAVESETUP_MAXAUTOSAVES,
&ME_SAVESETUP_CLEANUP,
};
void Menu_Init(void)
{
int32_t i, j, k;
@ -399,96 +69,11 @@ void Menu_Init(void)
MenuEntry_DisableOnCondition(&ME_NETOPTIONS_EPISODE, 1);
}
// prepare pre-Atomic
if (!VOLUMEALL || !PLUTOPAK)
{
// prepare credits
M_CREDITS.title = M_CREDITS2.title = M_CREDITS3.title = s_Credits;
}
MenuEntry_HideOnCondition(&ME_MAIN_HELP, G_GetLogoFlags() & LOGO_NOHELP);
#ifndef EDUKE32_SIMPLE_MENU
MenuEntry_HideOnCondition(&ME_MAIN_CREDITS, G_GetLogoFlags() & LOGO_NOCREDITS);
#endif
}
static void Menu_Pre(MenuID_t cm)
{
int32_t i;
auto ps = g_player[myconnectindex].ps;
switch (cm)
{
break;
case MENU_VIDEOSETUP:
{
Bmemset(resolution, 0, sizeof(resolution));
MEOS_VIDEOSETUP_RESOLUTION.numOptions = 0;
// prepare video setup
for (int i = 0; i < validmodecnt; ++i)
{
int j;
for (j = 0; j < MEOS_VIDEOSETUP_RESOLUTION.numOptions; ++j)
{
if (validmode[i].xdim == resolution[j].xdim && validmode[i].ydim == resolution[j].ydim)
{
resolution[j].flags |= validmode[i].fs ? RES_FS : RES_WIN;
Bsnprintf(resolution[j].name, MAXRESOLUTIONSTRINGLENGTH, "%d x %d%s", resolution[j].xdim, resolution[j].ydim, (resolution[j].flags & RES_FS) ? "" : "Win");
MEOSN_VIDEOSETUP_RESOLUTION[j] = resolution[j].name;
if (validmode[i].bpp > resolution[j].bppmax)
resolution[j].bppmax = validmode[i].bpp;
break;
}
}
if (j == MEOS_VIDEOSETUP_RESOLUTION.numOptions) // no match found
{
resolution[j].xdim = validmode[i].xdim;
resolution[j].ydim = validmode[i].ydim;
resolution[j].bppmax = validmode[i].bpp;
resolution[j].flags = validmode[i].fs ? RES_FS : RES_WIN;
Bsnprintf(resolution[j].name, MAXRESOLUTIONSTRINGLENGTH, "%d x %d%s", resolution[j].xdim, resolution[j].ydim, (resolution[j].flags & RES_FS) ? "" : "Win");
MEOSN_VIDEOSETUP_RESOLUTION[j] = resolution[j].name;
++MEOS_VIDEOSETUP_RESOLUTION.numOptions;
}
}
const int32_t nr = newresolution;
// don't allow setting fullscreen mode if it's not supported by the resolution
MenuEntry_DisableOnCondition(&ME_VIDEOSETUP_FULLSCREEN, !(resolution[nr].flags & RES_FS));
MenuEntry_DisableOnCondition(&ME_VIDEOSETUP_APPLY,
(xres == resolution[nr].xdim && yres == resolution[nr].ydim &&
videoGetRenderMode() == newrendermode && fullscreen == newfullscreen
&& vid_vsync == newvsync && r_borderless == newborderless
)
|| (newrendermode != REND_CLASSIC && resolution[nr].bppmax <= 8));
MenuEntry_DisableOnCondition(&ME_VIDEOSETUP_BORDERLESS, newfullscreen);
break;
}
case MENU_SOUND:
case MENU_SOUND_INGAME:
case MENU_ADVSOUND:
MenuEntry_DisableOnCondition(&ME_SOUND_VOLUME_FX, !snd_enabled);
MenuEntry_DisableOnCondition(&ME_SOUND_VOLUME_MUSIC, !mus_enabled);
MenuEntry_DisableOnCondition(&ME_SOUND_DUKETALK, !snd_enabled);
MenuEntry_DisableOnCondition(&ME_SOUND_SAMPLINGRATE, !snd_enabled && !mus_enabled);
#ifndef EDUKE32_SIMPLE_MENU
MenuEntry_DisableOnCondition(&ME_SOUND_NUMVOICES, !snd_enabled);
#endif
MenuEntry_DisableOnCondition(&ME_SOUND_RESTART, soundrate == snd_mixrate &&
soundvoices == snd_numvoices);
break;
}
static void Menu_DrawVerifyPrompt(int32_t x, int32_t y, const char * text, int numlines = 1)
@ -627,78 +212,6 @@ That way you can compare the new and old values and potentially block the change
*/
static void Menu_EntryLinkActivate(MenuEntry_t *entry)
{
switch (g_currentMenu)
{
break;
}
default:
break;
}
if (entry == &ME_VIDEOSETUP_APPLY)
{
resolution_t p = { xres, yres, fullscreen, bpp, 0 };
int32_t prend = videoGetRenderMode();
int32_t pvsync = vid_vsync;
int pborderless = r_borderless;
resolution_t n = { resolution[newresolution].xdim, resolution[newresolution].ydim,
(resolution[newresolution].flags & RES_FS) ? newfullscreen : 0,
(newrendermode == REND_CLASSIC) ? 8 : resolution[newresolution].bppmax, 0 };
if (r_borderless != newborderless)
videoResetMode();
r_borderless = newborderless;
if (videoSetGameMode(n.flags, n.xdim, n.ydim, n.bppmax, upscalefactor) < 0)
{
r_borderless = pborderless;
if (videoSetGameMode(p.flags, p.xdim, p.ydim, p.bppmax, upscalefactor) < 0)
{
videoSetRenderMode(prend);
G_GameExit("Failed restoring old video mode.");
}
else
{
onvideomodechange(p.bppmax > 8);
vid_vsync = videoSetVsync(pvsync);
}
}
else
{
videoSetRenderMode(newrendermode);
vid_vsync = videoSetVsync(newvsync);
onvideomodechange(n.bppmax > 8);
}
g_restorePalette = -1;
G_UpdateScreenArea();
ScreenMode = fullscreen;
ScreenWidth = xres;
ScreenHeight = yres;
ScreenBPP = bpp;
}
else if (entry == &ME_SOUND_RESTART)
{
snd_mixrate = soundrate;
snd_numvoices = soundvoices;
mus_device = musicdevice;
S_SoundShutdown();
S_SoundStartup();
FX_StopAllSounds();
S_ClearSoundLocks();
}
else if (entry == &ME_SAVESETUP_CLEANUP)
{
Menu_Change(MENU_SAVECLEANVERIFY);
}
else if (entry == &ME_NETHOST_LAUNCH)
{
// master does whatever it wants

View file

@ -140,365 +140,6 @@ enum MenuIndex_t {
};
typedef int32_t MenuID_t;
typedef enum MenuAnimationType_t
{ // Note: This enum is for logical categories, not visual types.
MA_None,
MA_Return,
MA_Advance,
} MenuAnimationType_t;
typedef enum MenuEntryType_t
{
Dummy,
Link,
Option,
Custom2Col,
RangeInt32,
RangeFloat,
#ifdef MENU_ENABLE_RANGEDOUBLE
RangeDouble,
#endif
String,
Spacer,
} MenuEntryType_t;
typedef struct MenuEntryFormat_t
{
int32_t marginBottom;
int32_t indent;
int32_t width; // 0: center, >0: width of the label column (left-aligned options), <0: -width of everything (right-aligned)
} MenuEntryFormat_t;
typedef struct MenuMenuFormat_t
{
vec2_t pos;
int32_t bottomcutoff; // >0: the bottom edge of the menu before automatic scrolling kicks in, <0: -total height for vertical justification
} MenuMenuFormat_t;
typedef struct MenuLink_t
{
// traits
MenuID_t linkID;
MenuAnimationType_t animation;
} MenuLink_t;
typedef struct MenuOptionSet_t
{
// traits
char const **optionNames;
int32_t *optionValues; // If NULL, the identity of currentOption is assumed.
// pop-up list appearance
MenuMenuFormat_t *menuFormat;
MenuEntryFormat_t *entryFormat;
MenuFont_t *font;
// traits
int32_t numOptions;
// pop-up list state
int32_t currentEntry;
int32_t scrollPos;
// appearance
uint8_t features; // bit 1 = disable left/right arrows, bit 2 = disable list
int32_t getMarginBottom() const { return mulscale16(entryFormat->marginBottom, font->zoom); }
int32_t getIndent() const { return mulscale16(entryFormat->indent, font->zoom); }
} MenuOptionSet_t;
typedef struct MenuOption_t
{
// appearance
MenuFont_t *font;
// traits
MenuOptionSet_t *options; // so that common sets such as Yes/No, On/Off can be reused
// effect
FBaseCVar *cVar;
// state
int32_t currentOption;
} MenuOption_t;
typedef struct MenuCustom2Col_t
{
int buttonindex;
// appearance
MenuFont_t *font;
// effect
size_t numvalid;
// appearance
int32_t columnWidth;
// state
int8_t screenOpen;
} MenuCustom2Col_t;
enum MenuRangeFlags_t
{
DisplayTypeInteger = 1,
DisplayTypePercent = 2,
DisplayTypeNormalizedDecimal = 3,
DisplayTypeMask = (1<<0)|(1<<1),
EnforceIntervals = 1<<7,
};
typedef struct MenuRangeInt32_t
{
// effect
FIntCVar *cVar;
// appearance
MenuFont_t *font;
// traits
int32_t min;
int32_t max;
int32_t onehundredpercent; // 0 implies max
int32_t steps;
uint8_t flags;
} MenuRangeInt32_t;
typedef struct MenuRangeFloat_t
{
// effect
FFloatCVar *cVar;
// appearance
MenuFont_t *font;
// traits
float min;
float max;
float onehundredpercent; // 0 implies 1.0
int32_t steps;
uint8_t flags;
} MenuRangeFloat_t;
#ifdef MENU_ENABLE_RANGEDOUBLE
typedef struct MenuRangeDouble_t
{
// effect
double *variable;
// appearance
MenuFont_t *font;
// traits
double min;
double max;
double onehundredpercent; // 0 implies 1.0
int32_t steps;
uint8_t flags;
} MenuRangeDouble_t;
#endif
typedef struct MenuString_t
{
// state
char* editfield;
// effect
char* variable;
// appearance
MenuFont_t *font;
// effect
int32_t bufsize;
int32_t flags;
} MenuString_t;
typedef struct MenuSpacer_t
{
int32_t height;
} MenuSpacer_t;
// For internal use only.
enum MenuEntryFlags_t
{
MEF_Disabled = 1<<0,
MEF_LookDisabled = 1<<1,
MEF_Hidden = 1<<2,
};
typedef struct MenuEntry_t
{
// traits
const char *name;
// appearance
MenuFont_t *font;
MenuEntryFormat_t *format;
void *entry;
MenuEntryType_t type;
// state
int32_t flags;
int32_t ytop, ybottom;
int32_t getMarginBottom() const { return mulscale16(format->marginBottom, font->zoom); }
int32_t getIndent() const { return mulscale16(format->indent, font->zoom); }
int32_t getHeight() const
{
return type == Spacer ? mulscale16(((MenuSpacer_t *)entry)->height, font->zoom) : font->get_yline();
}
} MenuEntry_t;
typedef enum MenuType_t
{
Menu,
Panel,
Verify,
Message,
TextForm,
FileSelect,
} MenuType_t;
typedef struct MenuMenu_t
{
const char *title;
MenuMenuFormat_t *format;
MenuEntry_t **entrylist;
int32_t numEntries;
// state
int32_t currentEntry, currentColumn;
int32_t scrollPos;
} MenuMenu_t;
typedef struct MenuPanel_t
{
const char *title;
MenuID_t previousID;
MenuAnimationType_t previousAnimation;
MenuID_t nextID;
MenuAnimationType_t nextAnimation;
} MenuPanel_t;
typedef struct MenuVerify_t
{
vec2_t cursorpos;
MenuID_t linkID;
MenuAnimationType_t animation;
} MenuVerify_t;
typedef struct MenuMessage_t
{
vec2_t cursorpos;
MenuID_t linkID;
MenuAnimationType_t animation;
} MenuMessage_t;
enum MenuTextFormFlags_t
{
MTF_Password = 1<<0,
};
typedef struct MenuTextForm_t
{
// state
char *input;
// traits
const char *instructions;
int32_t bufsize;
uint8_t flags;
} MenuTextForm_t;
typedef struct MenuFileSelect_t
{
const char *title;
// appearance
MenuMenuFormat_t *format[2];
MenuFont_t *font[2];
// traits
const char * startdir;
const char *pattern;
char *destination;
// state
//CACHE1D_FIND_REC *findhigh[2];
int32_t scrollPos[2];
// appearance
int32_t marginBottom[2];
// state
//fnlist_t fnlist;
int32_t currentList;
int32_t getMarginBottom(size_t index) const { return mulscale16(marginBottom[index], font[index]->zoom); }
} MenuFileSelect_t;
typedef struct Menu_t
{
void *object;
MenuID_t menuID;
MenuID_t parentID;
MenuAnimationType_t parentAnimation;
MenuType_t type;
} Menu_t;
typedef struct MenuAnimation_t
{
int32_t(*out)(struct MenuAnimation_t *);
int32_t(*in)(struct MenuAnimation_t *);
Menu_t *previous;
Menu_t *current;
int32_t start;
int32_t length;
} MenuAnimation_t;
extern MenuAnimation_t m_animation;
extern Menu_t *m_currentMenu;
extern int32_t g_quitDeadline;
extern int32_t voting;
int Menu_Change(MenuID_t cm);
void Menu_AnimateChange(int32_t cm, MenuAnimationType_t animtype);
int32_t Menu_IsTextInput(Menu_t *cm);
void M_DisplayMenus(void);
#define M_MOUSETIMEOUT 210
extern int32_t m_mouselastactivity;
#if defined EDUKE32_TOUCH_DEVICES
# define MOUSEALPHA 0
# define CURSORALPHA (255/3)
# define MOUSEACTIVECONDITIONAL(condition) (condition)
# define MOUSEWATCHPOINTCONDITIONAL(condition) (condition)
#else
extern int32_t m_mousewake_watchpoint, m_menuchange_watchpoint;
// alpha increments of 3 --> 255 / 3 = 85 --> round up to power of 2 --> 128 --> divide by 2 --> 64 alphatabs required
// use 16 anyway :P
# define MOUSEUSEALPHA (videoGetRenderMode() != REND_CLASSIC || numalphatabs >= 15)
# define MOUSEALPHA (MOUSEUSEALPHA ? clamp(((int32_t) totalclock - m_mouselastactivity - 90)*3, 0, 255) : 0)
# define CURSORALPHA (MOUSEUSEALPHA ? clamp(((int32_t) totalclock - m_mouselastactivity - 90)*2 + (255/3), (255/3), 255) : 255/3)
# define MOUSEACTIVECONDITION (totalclock - m_mouselastactivity < M_MOUSETIMEOUT)
# define MOUSEACTIVECONDITIONAL(condition) (MOUSEACTIVECONDITION && (condition))
# define MOUSEINACTIVECONDITIONAL(condition) ((!(g_player[myconnectindex].ps->gm & MODE_MENU) || !MOUSEACTIVECONDITION) && (condition))
# define MOUSEWATCHPOINTCONDITIONAL(condition) ((condition) || m_mousewake_watchpoint || m_menuchange_watchpoint == 3)
#endif
extern MenuEntry_t ME_NEWGAMECUSTOMENTRIES[MAXMENUGAMEPLAYENTRIES];
extern MenuEntry_t ME_NEWGAMECUSTOMSUBENTRIES[MAXMENUGAMEPLAYENTRIES][MAXMENUGAMEPLAYENTRIES];
#endif
END_DUKE_NS

File diff suppressed because it is too large Load diff

View file

@ -1169,29 +1169,7 @@ SoundShutdown(void)
void MusicStartup(void)
{
// if they chose None lets return
buildprintf("Initializing MIDI driver... ");
int status;
if ((status = MUSIC_Init(MusicDevice)) == MUSIC_Ok)
{
if (MusicDevice == ASS_AutoDetect)
MusicDevice = MIDI_GetDevice();
}
else if ((status = MUSIC_Init(ASS_AutoDetect)) == MUSIC_Ok)
{
MusicDevice = MIDI_GetDevice();
}
else
{
buildprintf("Music error: %s\n", MUSIC_ErrorString(status));
return;
}
MusicInitialized = TRUE;
MUSIC_SetVolume(mus_volume);
#if 0
auto fil = kopenFileReader("swtimbr.tmb", 0);
if (fil.isOpen())
@ -1200,6 +1178,7 @@ void MusicStartup(void)
if (tmb.Size())
AL_RegisterTimbreBank(tmb.Data());
}
#endif
}
void COVER_SetReverb(int amt)

View file

@ -235,6 +235,11 @@ Reset to defaults,OPTMNU_DEFAULTS,,,,Obnovit původní,Auf Vorgaben zurücksetze
Reset to last saved,OPTMNU_RESETTOSAVED,,,,Obnovit naposledy uložené,Auf gespeicherte Werte zurücksetzen,,Reŝanĝi al lasta konservo,Últimos Valores Guardados,,Palauta viimeksi tallennettu tila,Recharger dernière config.,Legutóbbi mentett beállítások használata,Reimposta ai valori salvati l'ultima volta,最後に保存した設定に戻す,이전 설정으로 초기화,Reset naar laatste opgeslagen,Resetuj do ostatnio zapisanych,Redefinir para última configuração salva,Redefinir para última configuração gravada,,Вернуть предыдущие настройки,Врати задње сачувано
Go to console,OPTMNU_CONSOLE,,,,Jít do konzole,Öffne Konsole,,Iri al konzolo,Ir a la consola,,Mene konsoliin,Ouvrir la console,Konzol megnyitása,Vai alla console,コンソールを開く,콘솔로 이동,Ga naar de console,Przejdź do konsoli,Abrir console,Abrir consola,,Открыть консоль,Отвори конзолу
,Controls submenu,,,,,,,,,,,,,,,,,,,,,,
Default,CTRL_DEFAULT,,,,,Standard,,,,,,,,,,,,,,,,,
Classic,CTRL_CLASSIC,,,,,"Klassisch
",,,,,,,,,,,,,,,,,
Left-handed,CTRL_LEFTHANDED,,,,,Linkshändig,,,,,,,,,,,,,,,,,
Preferred control preset,CTRL_PRESET,,,,,Bevorzugter Steuerungsstandard,,,,,,,,,,,,,,,,,
Customize Controls,CNTRLMNU_TITLE,,,,Nastavení ovládání,Steuerung einstellen,,Agordi Regilojn,Personalizar Controles ,,Ohjausasetukset,Modifier contrôles,Irányítás testreszabása,Personalizza i controlli,キー配置変更,조작 사용자 지정,Instellen van de controle,Ustaw Klawisze,Configurar Controles,Configurar Controlos,,Настройки управления,Подешавања контрола
"ENTER to change, BACKSPACE to clear",CNTRLMNU_SWITCHTEXT1,,,,"ENTER pro změnu, BACKSPACE pro smazání",ENTER: Editieren BACKSPACE: Löschen,,"ENTER klavo por ŝanĝi, BACKSPACE klavo por viŝi","ENTER para cambiar, BACKSPACE para limpiar",,"Aseta ENTERILLÄ, tyhjennä ASKELPALAUTTIMELLA","ENTREE pour changer, RET. ARRIERE pour effacer.","ENTER a változtatáshoz, BACKSPACE a törléshez","INVIO per modificare, BACKSPACE per ripulire",Enter で決定、BackSpaceで無効化,"바꿀려면 ENTER키, 지울려면 BACKSPACE키를 누르시오","ENTER om te veranderen, BACKSPACE om te wissen.","ENTER by zmienić, BACKSPACE by wyczyścić","ENTER para alterar, BACKSPACE para limpar",,,"ENTER — изменить, BACKSPACE — очистить","ENTER за промену, BACKSPACE за чишћење"
"Press new key for control, ESC to cancel",CNTRLMNU_SWITCHTEXT2,,,,"Zmáčkni novou klávesu pro nastavení, ESC pro storno",Drücke eine Taste oder ESC um abzubrechen,,"Premi novan klavon por reakiri regilon, ESC por nuligi","Presiona una tecla para el control, ESC para cancelar",,"Valitse näppäin toiminnolle, ESC peruuttaa","Appuyez sur la nouvelle touche pour l'assigner,
@ -256,6 +261,7 @@ Jump,CNTRLMNU_JUMP,,,,Skok,Springen,,Salti,Saltar,,Hyppää,Sauter,Ugrás,Salta,
Crouch,CNTRLMNU_CROUCH,,,,Kleknutí,Ducken,,Kaŭri,Agacharse,,Kyyristy,S'accroupir (tenir),Guggolás,Abbassati,屈む,숙이기,Hurken,Kucnięcie,Agachar,,,Приседание,Чучни
Crouch Toggle,CNTRLMNU_TOGGLECROUCH,,,,Zap. / Vyp. kleknutí,Ducken an/aus,,Kaŭrbaskulo,Alternar agachado,,Kyyristymisen vaihtokytkin,S'accroupir (alterner),Guggolási kapcsoló,Toggle abbassamento,屈む切替,숙이기 토글,Hurken Toggle,Włącz / Wyłącz kucnięcie,Agachar (Liga/Desliga),,,Сесть/встать,Чучни (без држања)
Mouse look,CNTRLMNU_MOUSELOOK,,,,Pohled myší,Maus-Blick,,Musilregardo,Vista con ratón,,Hiirikatselu,Vue à la souris,Egérrel való nézelődés,Modalità vista col mouse,マウス視点上下化,마우스 룩,Muis-look,Rozglądanie się myszką,Vista com o mouse,Vista com o rato,,Обзор мышью,Гледај мишем
Mouse look toggle,CNTRLMNI_MLOOKTOGGLE,,,,,Maus-Blick umschalten,,,,,,,,,,,,,,,,,
Look up,CNTRLMNU_LOOKUP,Look doesn't change the aim! It only alters the view pitch,,,Pohled vzhůru,Nach oben schauen,,Rigardi supre,Mirar arriba,,Katso ylös,Regarder en haut,Felfele nézés,Guarda sopra,視点を上げる,위로 보기,Kijk omhoog,Patrz w górę,Olhar para cima,,,Смотреть вверх,Гледај горе
Look down,CNTRLMNU_LOOKDOWN,,,,Pohled dolů,Nach unten schauen,,Rigardi malsupre,Mirar abajo,,Katso alas,Regarder en bas,Lefele nézés,Guarda sotto,視点を下げる,아래로 보기,Kijk naar beneden,Patrz w dół,Olhar para baixo,,,Смотреть вниз,Гледај доле
Aim up,CNTRLMNU_AIMUP,,,,,Nach oben zielen,,,,,,,,,,,,,,,,,
@ -330,6 +336,10 @@ Messages: OFF,MSGOFF,,,,Zprávy ZAP,Meldungen AUS,Μηνύματα ΚΛΕΙΣΤ
Messages: ON,MSGON,,,,Zprávy VYP,Meldungen AN,Μηνύματα ΑΝΟΙΧΤΑ,Mesaĝoj AKTIVA,Mensajes ACTIVADOS,,Viestit PÄÄLLÄ,Messages activés.,Üzenetek BE,Messaggi ATTIVATI,メッセージ: オン,메시지 켬,Berichten AAN,Wiadomości WŁĄCZONE,Mensagens ATIVADAS,,,Сообщения ВКЛЮЧЁНЫ,Поруке УКЉУЧЕНЕ
Writin': OFF,MSGOFF,,Redneck RedneckRides,,Zprávy ZAP,Geschreibsel: AUS,Μηνύματα ΚΛΕΙΣΤΑ,Mesaĝoj MALAKTIVA,Mensajes DESACTIVADOS,,Viestit POIS PÄÄLTÄ,Messages désactivés.,Üzenetek KI,Messaggi DISATTIVATI,メッセージ: オフ,메시지 끔,Berichten UIT,Wiadomości WYŁĄCZONE,Mensagens DESATIVADAS,,,Сообщения ОТКЛЮЧЕНЫ,Поруке ИСКЉУЧЕНЕ
Writin': ON,MSGON,,Redneck RedneckRides,,Zprávy VYP,Geschreibsel: AN,Μηνύματα ΑΝΟΙΧΤΑ,Mesaĝoj AKTIVA,Mensajes ACTIVADOS,,Viestit PÄÄLLÄ,Messages activés.,Üzenetek BE,Messaggi ATTIVATI,メッセージ: オン,메시지 켬,Berichten AAN,Wiadomości WŁĄCZONE,Mensagens ATIVADAS,,,Сообщения ВКЛЮЧЁНЫ,Поруке УКЉУЧЕНЕ
Mouse aiming ON,TXT_MOUSEAIMON,,,,,Maus-Blick AN,,,,,,,,,,,,,,,,,
Mouse aiming OFF,TXT_MOUSEAIMOFF,,,,,Maus-Blick AUS,,,,,,,,,,,,,,,,,
Rat aimin' ON,TXT_MOUSEAIMON,I don't think this translates well...,Redneck RedneckRides,,,Maus-Blick AN,,,,,,,,,,,,,,,,,
Rat aimin' OFF,TXT_MOUSEAIMOFF,,Redneck RedneckRides,,,Maus-Blick AUS,,,,,,,,,,,,,,,,,
Toggle automap,CNTRLMNU_AUTOMAP,,,,Zap. / Vyp. automapu,Automap an/aus,,Baskuligi aŭtomapo,Alternar automapa,,Kytke automaattikartta päälle/pois,Activer Carte,Térkép ki- bekapcsolása,Toggle automappa,オートマップの切替,오토맵 조정,Automap aan/uit,Włącz mapę,Ativar automapa,,,Открыть автокарту,Прикажи аутомапу
Chasecam,CNTRLMNU_CHASECAM,,,,Kamera z třetí osoby,Verfolgerkamera,,Ĉaskamerao,Cámara de Seguimiento,,Seurantakamera,Caméra 3ième personne,Külsőnézetű kamera,Telecamera di inseguimento,背後視点,3인칭 카메라,,Kamera Śledzenia,Câmera de terceira-pessoa,Câmera em terceira-pessoa,,Вид от 3-го лица (Chasecam),Чејс-кем
Screenshot,CNTRLMNU_SCREENSHOT,,,,Pořídit snímek obrazovky,,,Ekranfoto,Captura de pantalla,,Kuvakaappaus,Capture d'écran,Képernyő lefényképezése,Cattura schermo,画面キャプチャ,스크린샷,,Zrzut ekranu,Captura de tela,,,Скриншот,Усликај
@ -461,7 +471,7 @@ If New,PLRMNU_IFNEW,,,,,Wenn neu,,,,,,,,,,,,,,,,,
Equip Weapon Pickups,PLRMNU_EQUIP,,,,,Waffen sofort aktivieren,,,,,,,,,,,,,,,,,
Parental Lock,PLRMNU_PLOCK,,,,,Kindersicherung,,,,,,,,,,,,,,,,,
Only preferred,PLRMNU_PREFERRED,,,,,Nur bevorzugte,,,,,,,,,,,,,,,,,
,Display,,,,,,,,,,,,,,,,,,,,,,
,Display/HUD,,,,,,,,,,,,,,,,,,,,,,
Display Options,DSPLYMNU_TITLE,,,,Nastavení grafiky,Anzeigeoptionen,,Ekranagordoj,Opciones de visualización,,Näyttöasetukset,Options Affichage,Megjelenítés beállítások,Opzioni display,ディスプレイ オプション,디스플레이 설정,Weergaveopties,Opcje Wyświetlania,Opções de Vídeo,,,Настройки экрана,Подешавања приказа
Screen size,DSPLYMNU_SCREENSIZE,,,,Velikost obrazovky,Bildschirmgröße,,Ekrano-grandeco,Tamaño de pantalla,,Näytön koko,Taille de l'écran,Képernyő mérete,Dimensione della schermata,画面サイズ,화면 크기,Schermgrootte,Rozmiar Ekranu,Tamanho de tela,Tamanho do ecrã,,Размер экрана,Величина екрана
Vertical Sync,DSPLYMNU_VSYNC,,,,Vertikální synchronizace,Vertikale Synchronisation,,Vertikala-sinkronigo,Sincr. vertical,,Pystytahdistys,Synchronisation Verticale,Függőleges szinkronizálás,Sync verticale,垂直同期,수직 동기화,Verticale Sync,Synchronizacja Pionowa,Sincronização Vertical,,,Вертикальная синхронизация,Вертикална синхорнизација
@ -490,80 +500,253 @@ None (linear mipmap),OPTVAL_NONELINEARMIPMAP,,,,Žádné (lineární mipmapa),Au
None (trilinear),OPTVAL_NONETRILINEAR,,,,Žádné (trilineární),Aus (trilinear),,Nenio (trilinia),Ninguno (trilineal),,Ei mitään (trilineaarinen),Aucun (mipmap trilinéaire),,Nessuno (mipmap trilineare),なし(トライリニア),없음 (삼선형),Geen (trilineair),Brak (trzyliniowe),Nenhum (trilinear),,,Нет (трилинейная),Ништа (трилинеарно)
Bilinear,OPTVAL_BILINEAR,,,,Bilineární,,,Dulinia,Bilineal,,Bilineaarinen,Bilinéaire,,Bilineare,バイリニア,쌍선형,Bilineair,Dwuliniowe,,,,Билинейная,Билинеарно
Trilinear,OPTVAL_TRILINEAR,,,,Trilineární,,,Trilinia,Trilineal,,Trilineaarinen,Trilinéaire,,Trilineare,トライリニア,삼선형,Trilineair,Trzyliniowe,,,,Трилинейная,Трилинеарно
Linear,OPTVAL_LINEAR_2,,,,Lineární,,,Lineara,Lineal,,Lineaarinen,Linéaire,,Lineare,リニア,선형,Lineair,Liniowa,,,,Линейная,Линеаран
2x,OPTVAL_2X,,,,,,,2-oble,,,,,,,,,,,,,,,
4x,OPTVAL_4X,,,,,,,4-oble,,,,,,,,,,,,,,,
8x,OPTVAL_8X,,,,,,,8-oble,,,,,,,,,,,,,,,
16x,OPTVAL_16X,,,,,,,16-oble,,,,,,,,,,,,,,,
32x,OPTVAL_32X,,,,,,,32-oble,,,,,,,,,,,,,,,
,Polymost,,,,,,,,,,,,,,,,,,,,,,
True Color Textures,POLYMOST_TC,,,True Colour Textures,,True Color Texturen,,,,,,,,,,,,,,,,,
Pre-load map textures,POLYMOST_CACHE,,,,,Texturen cachen,,,,,,,,,,,,,,,,,
Detail Textures,POLYMOST_DETAIL,,,,,Detailtexturen,,,,,,,,,,,,,,,,,
Glow Textures,"POLYMOST_GLOW
",,,,,Leucht-Texturen,,,,,,,,,,,,,,,,,
3D-Models,POLYMOST_MODELS,,,,,3D Modelle,,,,,,,,,,,,,,,,,
"Polymost Options
",POLYMOST_OPTIONS,,,,,Polymost-Optionen,,,,,,,,,,,,,,,,,
Palette Emulation,POLYMOST_PALETTEEMU,,,,,Palettenemulation,,,,,,,,,,,,,,,,,
Palette Interpolation,POLYMOST_PALINTER,,,,,Paletteninterpolation,,,,,,,,,,,,,,,,,
,Sound,,,,,,,,,,,,,,,,,,,,,,
4000 Hz,OPTVAL_4000HZ,,,,,,,,,,,,,,,,,,,,,4000 Гц,
8000 Hz,OPTVAL_8000HZ,,,,,,,,,,,,,,,,,,,,,8000 Гц,
11025 Hz,OPTVAL_11025HZ,,,,,,,,,,,,,,,,,,,,,11025 Гц,
22050 Hz,OPTVAL_22050HZ,,,,,,,,,,,,,,,,,,,,,22050 Гц,
32000 Hz,OPTVAL_32000HZ,,,,,,,,,,,,,,,,,,,,,32000 Гц,
44100 Hz,OPTVAL_44100HZ,,,,,,,,,,,,,,,,,,,,,44100 Гц,
48000 Hz,OPTVAL_48000HZ,,,,,,,,,,,,,,,,,,,,,48000 Гц,
64 samples,OPTVAL_64SAMPLES,,,,64 vzorků,64 Samples,,64 specimenoj,64 Muestras,,64 näytettä,,,,,64 샘플,,64 sample,64 amostras,,,64 семпла,64 узорка
128 samples,OPTVAL_128SAMPLES,,,,128 vzorků,128 Samples,,128 specimenoj,128 Muestras,,128 näytettä,,,,,128 샘플,,128 sampli,128 amostras,,,128 семплов,128 узорка
256 samples,OPTVAL_256SAMPLES,,,,256 vzorků,256 Samples,,256 specimenoj,256 Muestras,,256 näytettä,,,,,256 샘플,,256 sampli,256 amostras,,,256 семплов,256 узорка
512 samples,OPTVAL_512SAMPLES,,,,512 vzorků,512 Samples,,512 specimenoj,512 Muestras,,512 näytettä,,,,,512 샘플,,512 sampli,512 amostras,,,512 семплов,512 узорка
1024 samples,OPTVAL_1024SAMPLES,,,,1024 vzorků,1024 Samples,,1024 specimenoj,1024 Muestras,,1024 näytettä,,,,,1024 샘플,,1024 sampli,1024 amostras,,,1024 семпла,1024 узорка
2048 samples,OPTVAL_2048SAMPLES,,,,2048 vzorků,2048 Samples,,2048 specimenoj,2048 Muestras,,2048 näytettä,,,,,2048 샘플,,2048 sampli,2048 amostras,,,2048 семплов,2048 узорка
4096 samples,OPTVAL_4096SAMPLES,,,,4096 vzorků,4096 Samples,,4096 specimenoj,4096 Muestras,,4096 näytettä,,,,,4096 샘플,,4096 sampli,4096 amostras,,,4096 семплов,4096 узорка
Auto,OPTSTR_AUTO,,,,,,,Aŭtomata,Automático,,Automaattinen,,,Automatico,自動,오토,,Automatycznie,Automático,,,Авто,Аутоматски
Mono,OPTSTR_MONO,,,,,,,1 Laŭtparolilo,,,,,,,モノラル,모노,,,,,,Моно,Монотоно
Stereo,OPTSTR_STEREO,,,,,,,2 Laŭtparoliloj,Estereo,,,Stéréo,,,ステレオ,스테레오,,,Estéreo,,,Стерео,Стереотоно
Dolby Pro Logic Decoder,OPTSTR_PROLOGIC,,,,,,,Malkodilo de Dolby Pro Logic ,,,,,,,ドルビー プロロジック デコーダー,돌비 프로 로직 디코더,,,,,,Декодер Dolby Pro Logic,
Quad,OPTSTR_QUAD,,,,,,,4 Laŭtparolilol,Cuádruple,,Dolby Pro Logic -dekooderi,,,,クァッド,쿼드,,Cztery kanały,,,,Четырёхканальный,Четвородупло
5 speakers,OPTSTR_SURROUND,,,,5 reproduktorů,5 Lautsprecher,,5 Laŭtparoliloj,5 altavoces,5 Bocinas,5 kaiutinta,5 enceintes,,,5 スピーカー,5 스피커,5 luidsprekers,Głośniki 5,5 alto falantes,,,5 динамиков,5 спикер
5.1 speakers,OPTSTR_5POINT1,,,,Reproduktory 5.1,5.1 Lautsprecher,,5.1 Laŭtparoliloj,Altavoces 5.1,Bocinas 5.1,5.1 kaiutinta,Enceintes 5.1,,,5.1 スピーカー,5.1 스피커,5.1 luidsprekers,Głośniki 5.1,Auto falantes 5.1,,,Динамики 5.1,5.1 спикер
7.1 speakers,OPTSTR_7POINT1,,,,Reproduktory 7.1,7.1 Lautsprecher,,7.1 Laůtparoliloj,Altavoces 7.1,Bocinas 7.1,7.1 kaiutinta,Enceintes 7.1,,,7.1 スピーカー,7.1스피커,7.1 luidsprekers,Głośniki 7.1,Auto falantes 7.1,,,Динамики 7.1,7.1 спикер
OpenAL Options,OPENALMNU_TITLE,,,,Nastavení OpenAL,OpenAL Optionen,,OpenAL-agordoj,Opciones de OpenAL,,OpenAL-asetukset,Options OpenAL,,Opzioni OpenAL,OpenAL オプション,오픈에이엘 설정,OpenAL opties,Opcje OpenAL,Opções de OpenAL,,,Настройки OpenAL,OpenAL подешавања
Playback device,OPENALMNU_PLAYBACKDEVICE,,,,Přehravací zařízení,Wiedergabegerät,,Ludado-aparato,Dispositivo de reproducción,,Äänitoistolaite,Sortie sonore,,Dispositivo di playback,プレイバック デバイス,재생 장치,Afspeelapparaat,Urządzenie odtwarzania,Dispositivo de reprodução,,,Устройство воспроизведения,Аудио уређај
Enable EFX,OPENALMNU_ENABLEEFX,,,,Povolit EFX,EFX aktiv,,Aktivigi EFX,Permitir EFX,,Ota käyttöön EFX,Activer EFX,,Abilita EFX,EFXを有効化,EFX 켬,EFX inschakelen,Pozwól na EFX,Habilitar EFX,,,Включить EFX,Укључи EFX
Resampler,OPENALMNU_RESAMPLER,,,,,,,Respecimenilo,,,Näytteenottotaajuusmuunnin,,,,リサンプラー,재배열 기기,,Resampler,,,,Ресэмплер,Ресемплер
Sound Options,SNDMNU_TITLE,,,,Nastavení zvuku,Soundeinstellungen,,Son-agordoj,Opciones de sonido,,Ääniasetukset,Options Sonores,Hangbeállítások,Opzioni del suono,サウンド オプション,음향 설정,Geluidsopties,Opcje Dźwięku,Opções de Áudio,,,Настройки звука,Звучна подешавања
Sounds volume,SNDMNU_SFXVOLUME,,,,Hlasitost zvuků,Effektlautstärke,,Son-laŭtec-menuo,Volumen de sonido,,Äänitehosteiden voimakkuus,Volume des Sons,Effektek hangereje,Volume suoni,効果音音量,효과음 음량,Geluidsvolume,Głośność Dźwięku,Volume de sons,,,Громкость звука,Јачина звука
Menu volume,SNDMNU_MENUVOLUME,,,,Hlasitost nabídek,Menülautstärke,,Menu-laŭteco,Volumen del menú,,Valikon äänenvoimakkuus,Volume du Menu,Menü hangereje,Volume menu,メニュー音量,메뉴 음량,Menu volume,Głośność Menu,Volume do menu,,,Громкость меню,Јачина менија
Music volume,SNDMNU_MUSICVOLUME,,,,Hlasitost hudby,Musiklautstärke,,Muzik-laŭteco,Volumen de la Música,,Musiikin äänenvoimakkuus,Volume Musique,Zene hangereje,Volume musica,音楽音量,배경음 음량,Muziekvolume,Głośność Muzyki,Volume da música,,,Громкость музыки,Јачина музике
MIDI device,SNDMNU_MIDIDEVICE,,,,MIDI zařízení,MIDI-Gerät,,MIDI-aparato,Dispositivo MIDI,,MIDI-laite,Sortie MIDI,MIDI eszköz,Dispositivo MIDI,MIDIデバイス,MIDI 장치,MIDI-apparaat,Urządzenie MIDI,Dispositivo MIDI,,,MIDI проигрыватель,MIDI уређај
Sound in Background,SNDMNU_BACKGROUND,,,,Zvuk na pozadí,Sound im Hintergrund,,Sono en Fono,Sonido en segundo plano,,Ääni taustalla,Son activé en arrière plan,Háttérhangok,Suono di sottofondo,バックグラウンドでのサウンド,배경화면에서도 소리 재생,Geluid in de achtergrond,Dźwięk w Tle,Som de Fundo,,,Звуки в фоне,Звуци у позадини
Underwater reverb,SNDMNU_UNDERWATERREVERB,,,,Ozvěna pod vodou,Unterwasserhall,,Subakva resono,Reverb. bajo el agua,,Vedenalaiskaiku,Reverbération sous l'eau,Vízalatti viszhang,Reverb sott'acqua,水中反響音,수중 울림효과,Onderwater nagalm,Pogłos pod wodą,Reverberação debaixo d'água,Reverberação debaixo de água,,Эффект под водой,Подводни одјек
Randomize pitches,SNDMNU_RANDOMIZEPITCHES,,,,Náhodné výšky tónu,Zufällige Tonhöhe,,Malcertigi son-peĉojn,Tonos aleatorios,,Satunnaista äänenkorkeuksia,Tons sonores aléatoires,Hangmagasság véletlenszerű,Rendi casuale il tono,ランダマイズ ピッチ,음높이 무작위화,Willekeurige plaatsen,Losuj tonacje,Aleatorizar tons,Tons aleatórios,,Изменять высоту,Рандомизација тонова
Sound channels,SNDMNU_CHANNELS,,,,Počet zvukových kanálů,Soundkanäle,,Son-kanaloj,Canales de sonido,,Äänikanavat,Canaux sonores,Hangcsatorna,Numero canali del suono,サウンド チャンネル,음향 채널,Geluidskanalen,Kanały dźwiękowe,Canais de som,,,Количество каналов,Звучни канали
Sound backend,SNDMNU_BACKEND,,,,Zvukový systém,Soundsystem,,Son-servilo,Sistema de sonido,,Äänijärjestelmä,Traitement Son,,Backend suono,サウンド バックエンド,음향 말미,Geluidsarme achterkant,System dźwiękowy,Sistema de som,,,Звуковая система,Звучни бекенд
OpenAL options,SNDMNU_OPENAL,,,,Nastavení OpenAL,OpenAL Optionen,,OpenAL-agordoj,Opciones de OpenAL,,OpenAL-asetukset,Options OpenAL,OpenAL beállításai,Opzioni OpenAL,OpenAL オプション,오픈에이엘 설정,OpenAL opties,Opcje OpenAL,Opções de OpenAL,,,Настройки OpenAL,OpenAL подешавања
Restart sound,SNDMNU_RESTART,,,,Restartovat zvuk,Sound neu starten,,Rekomenci sonon,Reiniciar sonido,,Käynnistä ääni uudelleen,Redémarrer moteur sonore,Hang újraindítása,Resetta il suono,サウンド再起動,음향 재시작,Herstart geluid,Zresetuj dźwięk,Reiniciar som,,,Перезапустить звук,Поново покрени звук
Advanced options,SNDMNU_ADVANCED,,,,Pokročilá nastavení,Erweiterte Optionen,,Altnivelaj agordoj,Opciones avanzadas,,Edistyneet asetukset,Options avancées,Haladó beállítások,Opzioni avanzate,高度なオプション,고급 설정,Geavanceerde opties,Zaawansowane Opcje,Opções avançadas,,,Расширенные настройки,Напредна подешавања
Module replayer options,SNDMNU_MODREPLAYER,,,,Nastavení přehrávače modulů,Modul-Spieler-Optionen,,Agordoj por modulreludilo,Opciones reproductor de módulos,,Moduulisoitinasetukset,Options lecteur de module,,Opzioni Module replayer,モジュールリプレイヤー オプション,모듈 재생 설정,Module replayer opties,Opcje Modułu Odtwarzacza,Opções de reprodutor de módulos,,,Параметры воспроизведения модулей,Подешавања модулног риплејера
Midi player options,SNDMNU_MIDIPLAYER,,,,Nastavení MIDI přehrávače,MIDI-Spieler-Optionen,,Agordoj por MIDI-ludilo,Opciones de reproductor MIDI,,MIDI-soitinasetukset,Option lecteur MIDI,,Opzioni Midi player,Midi再生のオプション,MIDI 플레이어 설정,Midi speler opties,Opcje Odtwarzacza Midi,Opções de reprodutor MIDI,,,Настройки MIDI-проигрывателя,MIDI плејер подешавања
Sound in Menus,SNDMNU_MENUSOUND,,,,,Sound in Menüs,,,,,,,,,,,,,,,,,
Advanced Sound Options,ADVSNDMNU_TITLE,,,,Pokročilá nastavení zvuku,Erweiterte Soundoptionen,,Altnivelaj Son-agordoj,Opciones avanzadas de sonido,,Edistyneet ääniasetukset,Options Sonores Avancées,,Opzioni avanzate dei suoni,高度なサウンドオプション,고급 음향 설정,Geavanceerde geluidsopties,Zaawansowane Opcje Dźwięku,Opções de Áudio Avançadas,,,Расширенные настройки,Напредна подешавања звука
Sample rate,ADVSNDMNU_SAMPLERATE,,,,Vzorkovací frekvence,Samplerate,,Specimenrapideco,Frecuencia de muestreo,,Näytteenottotaajuus,Cadence de Sampling,,,サンプルレート,샘플링레이트,Steekproeftarief,Częstotliwość próbkowania,Taxa de amostragem,,,Частота дискретизации,Фреквенција узорковања
HRTF,ADVSNDMNU_HRTF,,,,,,,,,,,,,,,머리전달함수,,HRTF,,,,,
OPL Synthesis,ADVSNDMNU_OPLSYNTHESIS,,,,Emulace OPL,OPL Synthese,,OPL-Sintezo,Síntesis OPL,,OPL-synteesi,Synthèse OPL,,,OPLシンセサイズ,OPL 합성,OPL synthese,Synteza OPL,Síntese OPL,,,Синтез OPL,OPL синтеза
Number of emulated OPL chips,ADVSNDMNU_OPLNUMCHIPS,,,,Počet emulovaných OPL čipů,Anzahl OPL Chips,,Nombro da imititaj OPL-blatoj,Número de chips OPL emulados,,Emuloitavien OPL-piirien lukumäärä,Puces OPL émulées,,Numero di chip OPL emulati,OPLチップエミュレートの番号,에뮬레이트된 OPL 칩 수,Aantal geëmuleerde OPL chips,Liczba emulowanych czipów OPL,Número de chips OPL emulados,,,Количество эмулируемых OPL чипов,Број емулираних OPL чипа
Full MIDI stereo panning,ADVSNDMNU_OPLFULLPAN,,,,Plné MIDI stereo,Echte MIDI-Stereoeffekte,,Tuta MIDI-sterepanoramado,Balance estéreo MIDI completo,,Täysi MIDI-stereopanorointi,Latéralisation complète MIDI,,,Full MIDIステレオパンニング,완전한 MIDI 스테레오 패닝,Volledige MIDI stereo panning,Pełne efekty stereo dla MIDI,Lateralidade estéreo completa para MIDI,,,Полная стереопанорама для MIDI,Пуно MIDI стерео каналисање
OPL Emulator Core,ADVSNDMNU_OPLCORES,,,,Emulační jádro OPL,OPL Emulatorkern,,OPL Imitilkerno,Núcleo de emulador OPL,,OPL-emulaattoriydin,Cœur émulateur OPL,,,OPL エミュレート コア,OPL 에뮬레이터 코어,OPL Emulator Kern,Rdzeń Emulatora OPL,Núcleo do emulador de OPL,,,Ядро эмуляции OPL,OPL језгро емулације
MIDI voices,ADVSNDMNU_MIDIVOICES,,,,Počet MIDI hlasů,MIDI Stimmen,,MIDI Voĉoj,Voces MIDI,,MIDI-äänet,Voix MIDI,,Voci MIDI,MIDI ボイス,MIDI 최대 음색 양,MIDI-stemmen,Głosy MIDI,Vozes MIDI,,,MIDI-голоса,MIDI гласови
FluidSynth,ADVSNDMNU_FLUIDSYNTH,,,,,,,,,,,,,,,,,,,,,,
Patch set,ADVSNDMNU_FLUIDPATCHSET,,,,Nástrojová sada,Patch-Set,,Flikaro,Set de parche,,Patch-asetus,Banque de Sons,,,パッチ セット,패치 세트,,Zestaw patchów,Banco de sons,,,Патч-набор,Печ сет
Gain,ADVSNDMNU_FLUIDGAIN,,,,Zesílení,Relative Lautstärke,,Akiro,Ganancia,,Vahvistus,,,,ゲイン,쌓기,Relatief volume,Wzmocnienie,Ganho,,,Усиление,Појачање
Reverb,ADVSNDMNU_REVERB,,,,Ozvěna,Hall,,Resono,Reverberación,,Kaiku,Réverbération,,,リバーブ,리버브,Nagalm,Pogłos,Reverberação,,,Реверберация,Одјек
Reverb Level,ADVSNDMNU_REVERB_LEVEL,,,,Intenzita ozvěny,Hallintensität,,Resono-nivelo,Nivel de Reverberación,,Kaiunvoimakkuus,Niveau Réverb.,,,リバーブ量,리버브 강도,Nagalm niveau,Poziom pogłosu,Nível de reverberação,,,Уровень реверберации,Ниво одјека
Chorus,ADVSNDMNU_CHORUS,,,,,,,Koruso,,,,,,,コーラス,코러스,,,,,,Хорус,Корус
Timidity++,ADVSNDMNU_TIMIDITY,,,,,,,,,,,,,,,,,,,,,,
ADLMidi,ADVSNDMNU_ADLMIDI,,,,,,,,,,,,,,,,,,,,,,
OPNMidi,ADVSNDMNU_OPNMIDI,,,,,,,,,,,,,,,,,,,,,,
Timidity config file,ADVSNDMNU_TIMIDITYCONFIG,,,,Konfigurační soubor Timidity,Timidity Konfigurationsdatei,,Agordo-arkivo por Timidity,Ruta al archivo config. Timidity,,Timidity-config-tiedosto,Fichier de config. TiMidity,,File Timidity config,Timidity コンフィグファイル,Timidity 코딩 파일,Timidity++ configuratiebestand,Plik konfiguracyjny Timidity,Arquivo de configuração do Timidity,,,Файл конфигурации Timidity,Timidity конфигурациона датотека
Relative volume,ADVSNDMNU_TIMIDITYVOLUME,,,,Relativní hlasitost,Relative Lautstärke,,Relativa volumeno,Volumen relativo,,Suhteellinen äänenvoimakkuus,Volume Relatif,,Volume relativo,相対音量,비교적인 볼륨,Relatief volume,Względna głośność,Volume relativo,,,Относительная громкость,Релативна јачина
WildMidi,ADVSNDMNU_WILDMIDI,,,,,,,,,,,,,,,,,,,,,,
WildMidi config file,ADVSNDMNU_WILDMIDICONFIG,,,,Konfigurační soubor WildMidi,WilfMidi Konfigurationsdatei,,WildMidi agordarkivo,Archivo de config. WildMidi,,WildMidi-config-tiedosto,Fichier config. WildMidi,,File WildMidi config,WildMidi コンフィグファイル,WildMidi 코딩 파일,WildMidi configuratiebestand,Plik konfiguracyjny WildMidi,Arquivo de configuração do WildMidi,,,Файл конфигурации WildMidi,WildMidi конфигурациона датотека
Select configuration,ADVSNDMNU_SELCONFIG,,,,Vybrat konfiguraci,Konfiguration wählen,,Elekti agordojn,Seleccionar configuración,,Valitse kokoonpano,Sélectionner configuration,,Seleziona la configurazione,構成選択,설정을 고르시오,Selecteer configuratie,Wybierz konfigurację,Selecionar configuração,,,Выбор конфигурации,Изабери конфигурацију
Global,ADVSNDMNU_GLOBAL,,,,Globální,,,Malloka,Global,,Yleinen,,,Globale,グローバル,전반적,Globaal,Globalne,,,,Общие,Глобално
Freeverb,ADVSNDMNU_FREEVERB,,,,,,,,,,,,,,フリーバーブ,프리버브,,,,,,,
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
Advanced Resampling,ADVSNDMNU_ADVRESAMPLING,,,,Pokročilé převzorkování,Erweitertes Resampling,,Altnivela respecimenado,Resampleo Avanzado,,Kehittynyt näytteenottotaajuuden muuntaminen,Resampling Avancé,,Resampling avanzato,高度なリサンプリング,향상된 리샘플링,Geavanceerde herbemonstering,Zaawansowane Próbkowanie,Reamostragem Avançada,,,Продвинутый ресэмплинг,Напредно ресампловање
OPL Bank,ADVSNDMNU_OPLBANK,,,,OPL sada,,,Banko por OPL,Banco OPL,,OPL-pankki,Banque OPL,,,,OPL 뱅크,,Bank OPL,Banco OPL,,,Банк OPL,OPL банка
OPL Emulator Core,ADVSNDMNU_ADLOPLCORES,,,,Emulační jádro OPL,OPL Emulatorkern,,Imitilkerno por OPL,Núcleos de Emulador OPL,,OPL-emulaattoriydin,Cœur Emulateur OPL,,,OPL エミュレートコア,OPL 에뮬레이터 코어,OPL Emulator Kern,Rdzeń Emulatora OPL,Núcleo do Emulador de OPL,,,Ядро эмуляции OPL,OPL емулационо језгро
Run emulator at PCM rate,ADVSNDMNU_RUNPCMRATE,,,,Emulátor používá PCM vzorkovací frekvenci,Emulator benutzt PCM Samplerate,,Kurigi imitilon laŭ rapido de PCM,Ejecutar emulador a velocidad PCM,,Aja emulaattoria PCM-taajuudella,Emulateur utilise cadence PCM,,Esegui l'emulatore con rate PCM,PCMレートでエミュレート実行,PCM 속도로 에뮬레이터 실행,Emulator maakt gebruik van PCM Samplerate,Uruchom emulator w częstotliwości PCM,Rodar emulador em taxa PCM,,,Использовать с частотой PCM,Покрени емулацију на PCM стопи
Number of emulated OPL chips,ADVSNDMNU_ADLNUMCHIPS,,,,Počet emulovaných OPL čipů,Anzahl OPL Chips,,Numbro da imitaj OPL-blatoj,Número de chips OPL emulados,,Emuloitavien OPL-piirien lukumäärä,Puces OPL émulées,,Numero di chip OPL emulati,OPLチップエミュレートの番号,에뮬레이트된 OPL 칩 개수,Aantal geëmuleerde OPL chips,Liczba emulowanych czipów OPL,Número de chips OPL emulados,,,Количество эмулируемых чипов OPL,Број емулираних OPL чипова
Volume model,ADVSNDMNU_VLMODEL,,,,Model hlasitosti,Lautstärkemodell,,Volumen-modelo,Modelo de Volumen,,Äänenvoimakkuusmalli,Modèle de Volume,,Modello di volume,音量モデル,모델 볼륨,Volume model,Model głośności,Modelo de volume,,,Модель громкости,Волумски модел
Aliasing,OPTVAL_ALIASING,,,,,,,Kromnomado,,,,,,,エイリアシング,에일리어싱,,,,,,Алиасинг,Преклапање
Linear,OPTVAL_LINEAR_1,This setting is duplicated threefold in order to allow for different grammatical gender endings,,,Lineární,,,Lineara,Lineal,,Lineaarinen,Linéaire,,Lineare,リニア,선형,Lineair,Liniowy,,,,Линейное,Линеаран
Linear,OPTVAL_LINEAR_2,,,,Lineární,,,Lineara,Lineal,,Lineaarinen,Linéaire,,Lineare,リニア,선형,Lineair,Liniowa,,,,Линейная,Линеаран
Linear,OPTVAL_LINEAR_3,,,,Lineární,,,Lineara,Lineal,,Lineaarinen,Linéaire,,Lineare,リニア,선형,Lineair,Liniowe,,,,Линейный,Линеаран
Nearest,OPTVAL_NEAREST,,,,Nejbližší,Nächster Nachbar,,Plej proksima,Cercano,,Lähin,Nearest,,Il più vicino,最寄り,가까이,Naast,Najbiższe,Vizinho mais próximo,,,Ближайший,Најближе
PCF (Low),OPTVAL_PCF_LOW,,,,PCF (nízké),PCF (niedrig),,PCF (Malata),PCF (Bajo),,PCF (matala),PCF (Low),,PCF (basso),PCF (低),PCF (하급),PCF (Laag),PCF (Niski),PCF (Baixo),,,PCF (низкий),PCF (ниско)
PCF (Medium),OPTVAL_PCF_MEDIUM,,,,PCF (střední),PCF (mittel),,PCF (Meza),PCF (Medio),,PCF (keskitaso),PCF (Medium),,PCF (medio),PCF (中),PCF (중급),PCF (Medium),PCF (Średni),PCF (Médio),,,PCF (средний),PCF (средње)
PCF (High),OPTVAL_PCF_HIGH,,,,PCF (vysoké),PCF (hoch),,PCF (Alta),PCF (Alto),,PCF (korkea),PCF (High),,PCF (alto),PCF (高),PCF (상급),PCF (Hoog),PCF (Wysoki),PCF (Alto),,,PCF (высокий),PCF (високо)
Cubic,OPTVAL_CUBIC,,,,Kubická,Kubisch,,Kuba,Cúbico,,Kuutio,Cubique,,Cubico,キュービック,큐빅,Kubieke,Sześcienny,Cúbico,,,Кубическое,Кубан
Band-limited step,OPTVAL_BLEP,,,,Omezené krokování,Bandbegrenzte Schritte,,Bendo-limigita paŝo,Paso limitado por banda,,Kaistarajoitettu askel,Step limité par bande,,Passo limitato dalla banda,帯域制限ステップ,제한된 단계별 밴드,Bandbeperkte stap,Krok ograniczony pasmem,Passo limitado por banda,,,Пошаговое ограничение частоты,Постепено ограничење фреквенције
Linear (Slower),OPTVAL_LINEARSLOW,,,,Lineární (pomalejší),Linear (langsamer),,Lineara (Pli malrapida),Lineal (más lento),,Lineaarinen (hitaampi),Linéaire (Lent),,Lineare (più lento),リニア(遅め),선형 (느리게),Lineair (langzamer),Liniowy (wolniejszy),Linear (Mais lento),,,Линейное (медленнее),Линеаран (спорије)
Band-limited linear,OPTVAL_BLAM,,,,Omezená lineární,Bandbegrenzt linear,,Bendo-limigita lineara,Lineal limitado por banda,,Kaistarajoitettu lineaarinen,Linéaire limité par bande,,Lineare limitato dalla banda,帯域制限リニア,밴드 제한 식 선형,Band-beperkt lineair,Liniowy ograniczony pasmem,Linear limitado por banda,,,Линейное ограничение частоты,Линеарно ограничење фреквенције
Cubic (Slower),OPTVAL_CUBICSLOW,,,,Kubická (pomalejší),Kubisch (langsamer),,Kuba (Pli malrapida),Cúbico (más lento),,Kuutio (hitaampi),Cubique (Lent),,Cubico (più lento),キュービック (遅め),큐빅 (느리게),Kubieke (langzamer),Sześcienny (wolniejszy),Cúbico (Mais lento),,,Кубическое (медленнее),Кубан (спорије)
Sinc,OPTVAL_SINC,,,,,,,,Seno cardinal,,,,,,シンク,싱크,,,,,,Кардинальный синус,Синк
Note on/off only,OPTVAL_NOTEONOFFONLY,,,,Pouze začátek/konec noty,Nur für Note an/aus ,,Nur noton aktivigi/malatkivigi,Sólo notas de Activ./Desact.,,Vain nuotti päällä/pois,Note on/off seulement,,Note solamente ON/OFF,ノート オン/オフ のみ,노트를 끄거나 켰을 때,Alleen toon aan/uit,Tylko dla włączonych/wyłączonych notatek,Somente notas lig./deslig.,,,Только при включении/отключении нот,Само током укључења/искључења ноте
Full ramping,OPTVAL_FULLRAMPING,,,,Plný náběh,,,Plena rampante,Aumento completo,,Täysi kerrytys,Rampe complète,,Ramping completo,フルランピング,최대 램핑,Volledige helling,Pełne zwiększenie,Rampa completa,,,Полное наращивание,Пуно појачање
Module Replayer Options,MODMNU_TITLE,,,,Nastavení přehrávače modulů,Modul-Spieler-Optionen,,Agordoj por Modulo-reludilo,Opciones de reproductor de módulos,,Moduulisoitinasetukset,Options Lecteur de Module,,Opzioni Module replayer,モジュールリプレイヤー オプション,모듈 재생 설정,Module Speler Opties,Opcje Odtwarzacza Modułów,Opções de Reprodutor de Módulos,,,Параметры воспроизведения модулей,Подешавања модуларног реплејера
Master volume,MODMNU_MASTERVOLUME,,,,Celková hlasitost,Grundlautstärke,,Ĉefvolumeno,Volumen maestro,,Yleisäänenvoimakkuus,Volume maître,,Volume master,全体音量,마스터 볼륨,Hoofdvolume,Całkowita głośność,Volume master,,,Общая громкость,Глацни звук
Quality,MODMNU_QUALITY,,,,Kvalita,Qualität,,Kvaliteco,Calidad,,Laatu,Qualité,,Qualità,クオリティ,품질,Kwaliteit,Jakość,Qualidade,,,Качество,Квалитет
Volume ramping,MODMNU_VOLUMERAMPING,,,,Křivka hlasitosti,Lautstärkeverhalten,,Volumeno-pligrandigado,Aumento gradual de Volumen,,Äänenvoimakkuuden kertyminen,Rampe du volume,,Ramping volume,音量ランピング,볼륨 램핑,Volume-aanvulling,Zwiększenie głośności,Rampa de volume,,,Наращивание громкости,Појачавање звука
Chip-o-matic,MODMNU_CHIPOMATIC,,,,,,,,,,,,,,チップ オー マチック,칩-오-매틱,,,,,,,
Global,ADVSNDMNU_GLOBAL,,,,Globální,,,Malloka,Global,,Yleinen,,,Globale,グローバル,전반적,Globaal,Globalne,,,,Общие,Глобално
Freeverb,ADVSNDMNU_FREEVERB,,,,,,,,,,,,,,フリーバーブ,프리버브,,,,,,,
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
FluidSynth,ADVSNDMNU_FLUIDSYNTH,,,,,,,,,,,,,,,,,,,,,,
Patch set,ADVSNDMNU_FLUIDPATCHSET,,,,Nástrojová sada,Patch-Set,,Flikaro,Set de parche,,Patch-asetus,Banque de Sons,,,パッチ セット,패치 세트,,Zestaw patchów,Banco de sons,,,Патч-набор,Печ сет
Gain,ADVSNDMNU_FLUIDGAIN,,,,Zesílení,Relative Lautstärke,,Akiro,Ganancia,,Vahvistus,,,,ゲイン,쌓기,Relatief volume,Wzmocnienie,Ganho,,,Усиление,Појачање
Reverb,ADVSNDMNU_REVERB,,,,Ozvěna,Hall,,Resono,Reverberación,,Kaiku,Réverbération,,,リバーブ,리버브,Nagalm,Pogłos,Reverberação,,,Реверберация,Одјек
Reverb Level,ADVSNDMNU_REVERB_LEVEL,,,,Intenzita ozvěny,Hallintensität,,Resono-nivelo,Nivel de Reverberación,,Kaiunvoimakkuus,Niveau Réverb.,,,リバーブ量,리버브 강도,Nagalm niveau,Poziom pogłosu,Nível de reverberação,,,Уровень реверберации,Ниво одјека
Chorus,ADVSNDMNU_CHORUS,,,,,,,Koruso,,,,,,,コーラス,코러스,,,,,,Хорус,Корус
Timidity++,ADVSNDMNU_TIMIDITY,,,,,,,,,,,,,,,,,,,,,,
Sound enabled,SNDMNU_SNDENABLED,,,,,Sound aktiv,,,,,,,,,,,,,,,,,
Music enabled,SNDMNU_MUSENABLED,,,,,Musik aktiv,,,,,,,,,,,,,,,,,
CD Music Emulation,SNDMNU_CDEMU,,,,,CD-Musik-Emulation,,,,,,,,,,,,,,,,,
Sound Ambience,SNDMNU_AMBIENCE,,,,,Umgebungsgeräusche,,,,,,,,,,,,,,,,,
"Player Speech
",SNDMNU_SPEECH,,,,,Spielerkommentare,,,,,,,,,,,,,,,,,
Flip Stereo Channels,ADVSNDMNU_FLIPSTEREO,,,,,Stereo Kanäle vertauschen,,,,,,,,,,,,,,,,,
,Video Mode,,,,,,,,,,,,,,,,,,,,,,
Scaled (Nearest),OPTVAL_SCALENEAREST,,,,Škálován (nejbližší),Skaliert (nächster Nachbar),,Skalita (Plej proksime),Escalado (Cercano),,Skaalattu (läheisin),Mis à l'échelle (Proche Voisin),,Scalato (più vicino),スケーリング (最寄り),확대 (가깝게),Geschaald (Dichtstbijzijnde),Przeskalowany (Najbliższy),Redimensionado (Vizinho mais próximo),Redimensionado (Apróximado),,Масштабировать (ближайшее),Скалиран (најближи)
Scaled (Linear),OPTVAL_SCALELINEAR,,,,Škálován (lineární),Skaliert(linear),,Skalita (Linia),Escalado (Lineal),,Skaalattu (lineaarinen),Mis à l'échelle (Linéaire),,Scalato (lineare),スケーリング (リニア),확대 (선형 식),Geschaald (Lineair),Przeskalowany (Liniowy),Redimensionado (Linear),,,Масштабировать (линейное),Скалиран (линеарно)
Letterbox,OPTVAL_LETTERBOX,,,,,,,Leterkesto,,,,,,Bande nere,レターボックス,레터박스,Brievenbus,,,,,Экранное каше,Поштанско сандуче
Stretch,OPTVAL_STRETCH,,,,Roztažený,Strecken,,Streĉi,Estrechado,Estrecho,Venytetty,Etirer,,Disteso,伸縮,늘림,Rek,Rozciągnięty,Esticado,,,Растянутый,Растегнуто
Render Mode,VIDMNU_RENDERMODE,,,,Režim renderování,Rendermodus,,Bildigo-reĝimo,Modo de Renderizado,,Hahmonnustila,Mode de Rendu,,Modalità motore grafico,レンダラー,렌더링 설정,Render Mode,Tryb Renderowania,Modo de Renderização,,,Режим рендеринга,Рендер мод
Fullscreen,VIDMNU_FULLSCREEN,,,,Přes celou obrazovku,Vollbild,,Plena ekrano,Pantalla completa,,Koko näyttö,Plein écran,,Schermata piena,全画面,전체화면,Volledig scherm,Pełen Ekran,Tela cheia,Ecrã cheio,,Полный экран,Цео екран
Retina/HiDPI support,VIDMNU_HIDPI,,,,Podpora Retiny/HiDPI,Retina/HDPI-Unterstützung,,Retino/HiDPI subteno,Soporte para Retina/HiDPI,,Retina/HiDPI-tuki,Support Retina/HiDPI ,Retina/HiDPI támogatás,Supporto Retina/HiDPi,Retina/HiDPI サポート,망막/하이DPI 활성화,Retina / HiDPI-ondersteuning,Wsparcie Retina/HiDPI,Suporte para Retina/HiDPI,,,Поддержка Retina/HiDPI,Retina/HiDPI подршка
Aspect ratio,VIDMNU_ASPECTRATIO,,,,Poměr stran,Seitenverhältnis,,Ekran-proporcio,Relación de aspecto,,Kuvasuhde,Rapport D'Aspect,Képarány,Proporzioni,アスペクト比,종횡비,Beeldverhouding,Wpółczynnik proporcji,Proporção de tela,Proporção de ecrã,,Соотношение сторон,Однос гледишта
Force aspect ratio,VIDMNU_FORCEASPECT,,,,Vynutit poměr stran,Erzwinge Seitenverhältnis,,Devigi ekran-proporcion,Forzar relación de aspecto,,Pakota kuvasuhde,Forcer Rapport,,Forza le proporzioni,アスペクト比に従う,강제 종횡비,Geforceerde beeldverhouding,Wymuś współczynnik proporcji,Forçar proporção de tela,Forçar proporcção de ecrã,,Принудительное соотношение сторон,Присили однос гледишта
Forced ratio style,VIDMNU_CROPASPECT,,,,Vynucený poměr stran,Modus für erzwungenes Seitenverhältnis,,Maniero por devigi proporcion,Relación de aspecto forzada,,Kuvasuhteen pakotustapa,Style de Ratio forcé,,Forza lo stile delle proporzioni,比率の形式,강제 비율 스타일,Gedwongen verhouding stijl,Wymuszony styl współczynnika,Forçar tipo de proporção,,,Тип принудительного соотношения сторон,Присиљен стил односа
Enable 5:4 aspect ratio,VIDMNU_5X4ASPECTRATIO,,,,Povolit poměr stran 5:4,Erlaube 5:4 Seitenverhältnis,,Aktivigi 5:4 ekran-proporcion,Activar relación de aspecto 5:4,,Ota käyttöön 5:4-kuvasuhde,Activer Rapport 5:4,5:4 képarány engedélyezése,Abilita le proporzioni 5:4,5:4アスペクト比を可能にする,5:4 비율 사용,Inschakelen 5:4 beeldverhouding,Włącz współczynnik proporcji 5:4,Habilitar proporção 5:4,,,Включить соотношение сторон 5:4,Омогући 5:4 однос гледишта
Resolution scale,VIDMNU_SCALEMODE,,,,Škálování rozlišení,Skalierung,,Distingivo-skalo,Escala de Resolución,,Resoluution skaalaus,Echelle de Résolution,,Scala di risoluzione,画面スケール,해상도 크기,Resolutie schaal,Skala rozdzielczości,Escala de resolução,,,Масштабирование,Резолуцијска скала
Scale Factor,VIDMNU_SCALEFACTOR,,,,Faktor rozlišení,Skalierungsfaktor,,Skalfaktoro,Factor de Escala,,Skaalauskerroin,Facteur d'échelle,,Fattore di scala,スケール倍率,축척 펙터,Schaalfactor,Współczynnik Skali,Fator de escala,,,Значение масштаба,Фактор скалирања
Use Linear Scaling (Fullscreen),VIDMNU_USELINEAR,,,,Použít lineární škálování (přes celou obrazovku),Lineare Skalierung (Vollbild),,Uzi Linian Skaladon (Plena ekrano),Usar Escalado Linear (Pant. Completa),,Lineaarinen skaalaus (koko näyttö),Mise à l'échelle Linéaire (Plein écran),,Usa lo scaling lineare (a schermo pieno),リニアスケールを使う(全画面),선형 스케일링 사용 (전체화면),Lineaire schaalverdeling gebruiken (volledig scherm),Użyj Liniowego Skalowania (Pełen Ekran),Usar escala linear (tela cheia),Usar escala linear (ecrã cheio),,Линейное масштабирование (полный экран),Користи линеарно скалирање (цео екран)
Custom Pixel Scaling,VIDMNU_CUSTOMRES,,,,Vlastní škálování pixelů,Benutzerdefinierte Skalierung,,Agorda bildero-skalo,Escalado de Pixel Personalizado,,Mukautettu skaalaus,Résolution Personalisée,,Scaling dei pixel personalizzato,カスタム ピクセルスケール,사용자 지정 픽셀 크기 조정,Aangepaste Pixel Schaalvergroting,Niestandardowe Skalowanie Pikseli,Escala de Pixel Personalizada,,,Масштабирование пикселов,Пиксел скалирање
Custom Width,VIDMNU_CUSTOMX,,,,Vlastní šířka,Benutzerdefinierte Breite,,Agorda larĝo,Ancho Personalizado,,Mukautettu leveys,Largeur Personalisée,Egyéni szélesség,Lunghezza,カスタム 幅,사용자 지정 너비,Aangepaste breedte,Niestandardowa Szerokość,Largura Personalizada,,,Длина,Ширина
Custom Height,VIDMNU_CUSTOMY,,,,Vlastní výška,Benutzerdefinierte Höhe,,Agorda alto,Alto Personalizado,,Mukautettu korkeus,Hauteur Personalisée,Egyéni magasság,Altezza,カスタム 高さ,사용자 지정 높이,Aangepaste hoogte,Niestandardowa Wysokość,Altura Personalizada,,,Высота,Висина
Apply Changes (Windowed),VIDMNU_APPLYW,,,,Použít změny (v okně),Änderungen anwenden (Fenster),,Apliki ŝanĝojn (Fenestrito),Aplicar Cambios (ventana),,Ota käyttöön muutokset (ikkuna),Appliquer Changements (Fenêtre),,Applica le modifiche (a finestra),変更を適用(ウィンドウ化),변경 적용 (윈도우),Wijzigingen toepassen (opgewonden),Zatwierdź Zmiany (Okno),Aplicar alterações (janela),,,Сохранить изменения (оконный режим),Примени промене (прозор)
Apply Changes (Fullscreen),VIDMNU_APPLYFS,,,,Použít změny (přes celou obrazovku),Änderungen anwenden (Vollbild),,Apliki ŝanĝojn (Plena ekrano),Aplicar Cambios (Pant. Completa),,Ota käyttöön muutokset (koko näyttö),Appliquer Changements (Plein écran),,Applica le modifiche (a schermo pieno),変更を適用(全画面化),변경 적용 (전체화면),Wijzigingen toepassen (Volledig scherm),Zatwierdź Zmiany (Pełen Ekran),Aplicar alterações (tela cheia),Aplicar alterações (ecrã cheio),,Сохранить изменения (полный экран),Примени промене (цели екран)
Choose Resolution Preset,VIDMNU_RESPRESET,,,,Vybrat přednastavené rozlišení,Auflösungsvoreinstellung,,Elekti Agordaĵon por Distingivo,Seleccionar Preset de Resolución,,Valitse ennalta määritetty resoluutio,Choisir paramètre personalisé,,Scegli preset di risoluzione,解像度プリセットを選ぶ,해상도 사전 설정 선택,Kies een vooraf ingestelde resolutie,Wybierz Zestaw Rozdzielczości,Escolher Resolução Predefinida,,,Выбор пресета разрешения,Резолуцијска подешавања
Custom Resolution Presets,VIDMNU_RESPRESETTTL,,,,Vlastní přednastavení rozlišení,Benutzerdefinierte Auflösungsvoreinstellungen,,Laŭmendaj agordaĵoj por Distingivo,Seleccionar Preset de Resoluciones,,Ennalta määritetyt mukautetut resoluutiot,Résolutions Personalisée,,Preset di risoluzione personalizzati,カスタム解像度プリセット,사용자 지정 해상도 미리 조정,Vooraf ingestelde aangepaste resolutie,Niestandardowe Zestawy Rozdzielczości,Predefinições Personalizadas,,,Пользовательские пресеты,Резолуцијска подешавања
Preset Resolution Modes,VIDMNU_RESPRESETHEAD,,,,Přednastavená rozlišení,Vordefinierte Auflösungsmodi,,Agordaĵaj Distingivreĝimoj,Modos de Preset de Resolución,,Ennalta määritetyt resoluutiotilat,Choisir mode de Résolution,,Modalità preset di risoluzione,解像度モードの調整,해상도 미리 조정 모드,Vooraf ingestelde resolutie modi,Tryby Zestawów Rozdzielczości,Modos de Resolução Predefinidas,,,Доступные разрешения,Постављени резолуцијски модови
4:3 Aspect,VIDMNU_ASPECT43,,,,Poměr stran 4:3,4:3 Seitenverhältnis,,4:3 Proporcio,Aspecto 4:3,,4:3-tilat,Rapport 4:3,,Aspetto 4:3,4:3アスペクト比,4:3 비율,,Proporcje 4:3,Proporção 4:3,,,Соотношение сторон 4:3,4:3 гледиште
5:4 Aspect,VIDMNU_ASPECT54,,,,Poměr stran 5:4,5:4 Seitenverhältnis,,5:4 Proporcio,Aspecto 5:4,,5:4-tilat,Rapport 5:4,,Aspetto 5:4,5:4アスペクト比,5:4 비율,,Proporcje 5:4,Proporção 5:4,,,Соотношение сторон 5:4,5:4 гледиште
16:9 Aspect,VIDMNU_ASPECT169,,,,Poměr stran 16:9,16:9 Seitenverhältnis,,16:9 Proporcio,Aspecto 16:9,,16:9-tilat,Rapport 16:9,,Aspetto 16:9,16:9アスペクト比,16:9 비율,,Proporcje 16:9,Proporção 16:9,,,Соотношение сторон 16:9,16:9 гледиште
16:10 Aspect,VIDMNU_ASPECT1610,,,,Poměr stran 16:10,16.10 Seitenverhältnis,,16:10 Proporcio,Aspecto 16:10,,16:10-tilat,Rapport 16:10,,Aspetto 16:10,16:10アスペクト比,16:10 비율,,Proporcje 16:10,Proporção 16:10,,,Соотношение сторон 16:10,16:10 гледиште
Max FPS,VIDMNU_MAXFPS,,,,,,,,,,,,,,,,,,,,,,
Unlimited,OPTVAL_UNLIMITED,,,,,Unlimitiert,,,,,,,,,,,,,,,,,
60 fps,OPTVAL_60FPS,,,,,,,,,,,,,,,,,,,,,,
75 fps,OPTVAL_75FPS,,,,,,,,,,,,,,,,,,,,,,
90 fps,OPTVAL_90FPS,,,,,,,,,,,,,,,,,,,,,,
120 fps,OPTVAL_120FPS,,,,,,,,,,,,,,,,,,,,,,
144 fps,OPTVAL_144FPS,,,,,,,,,,,,,,,,,,,,,,
200 fps,OPTVAL_200FPS,,,,,,,,,,,,,,,,,,,,,,
,Obituaries,,,,,,,,,,,,,,,,,,,,,,
"You are playing the shareware
version of Duke Nukem 3D. While
this version is really cool, you
are missing over 75% of the total
game, along with other great extras
which you'll get when you order
the complete version and get
the final three episodes.",BUYDUKE,,,,,,,,,,,,,,,,,,,,,,
"Are you sure you want to end the game?
",ENDGAME,,,,"Opravdu si přeješ ukončit hru?
","Willst du das Spiel wirklich beenden?
",,"Ĉu vi certas, ke vi volas fini la ludon?
","¿Estás segur@[ao_esp] que deseas cerrar el juego?
",,"Haluatko varmasti päättää pelin?
","Voulez vous mettre fin à votre partie?
","Biztos vagy benne hogy beakarod fejezni a játékot?
","Sei sicuro di voler terminare la partita?
","本当にゲームを中断するのか?
","게임을 정말로 종료하시겠습니까?
","Weet je zeker dat je het spel wilt beëindigen?
","Czy jesteś pewien że chcesz zakończyć grę?
","Tem certeza que deseja encerrar este jogo?
","Tem certeza que deseja fechar este jogo?
",,"Вы действительно хотите закончить игру?
","Јесте ли сигурни да желите завршити игру?
"
Are you sure you want to quit?,CONFIRM_QUITMSG,,,,Přeješ si odejít?,"Bist du dir sicher, dass du gehen willst?",,"Ĉu vi certas, ke vi volas ĉesi?",¿Estás segur@[ao_esp] que quieres salir?,,Haluatko varmasti lopettaa?,Êtes vous sûr de vouloir quitter ?,Biztos vagy benne hogy ki akarsz lépni?,Sei sicuro di voler abbandonare?,本当に終了するのか?,정말 종료하시겠습니까?,Weet je zeker dat je wilt stoppen?,Czy jesteś pewien że chcesz wyjść?,Tem certeza que quer sair?,Tens a certeza que queres sair?,,Вы действительно желаете выйти?,Да ли сте сигурни да желите да одустанеш?
Reset controls to defaults?,CONFIRM_CTRL1,,,,,Steuerung auf Standard zurücksetzen?,,,,,,,,,,,,,,,,,
Reset controls to classic defaults?,CONFIRM_CTRL2,,,,,Steuerung auf klassischen Standard zurücksetzen?,,,,,,,,,,,,,,,,,
Reset controls to left-handed defaults?,CONFIRM_CTRL3,,,,,Steuerung auf linkshändigen Standard zurücksetzen?,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 beat %s^02 like a cur,",TXT_OBITUARY1,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 broke %s,",TXT_OBITUARY2,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 body bagged %s,",TXT_OBITUARY3,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 boned %s^02 like a fish,",TXT_OBITUARY4,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 castrated %s,",TXT_OBITUARY5,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 creamed %s,",TXT_OBITUARY6,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 crushed %s,",TXT_OBITUARY7,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 destroyed %s,",TXT_OBITUARY8,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 diced %s,",TXT_OBITUARY9,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 disemboweled %s,",TXT_OBITUARY10,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 erased %s,",TXT_OBITUARY11,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 eviscerated %s,",TXT_OBITUARY12,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 flailed %s,",TXT_OBITUARY13,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 flattened %s,",TXT_OBITUARY14,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 gave AnAl MaDnEsS to %s,",TXT_OBITUARY15,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 gave %s^02 Anal Justice,",TXT_OBITUARY16,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 hosed %s,",TXT_OBITUARY17,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 hurt %s^02 real bad,",TXT_OBITUARY18,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 killed %s,",TXT_OBITUARY19,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 made dog meat out of %s,",TXT_OBITUARY20,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 made mincemeat out of %s,",TXT_OBITUARY21,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 manhandled %s,",TXT_OBITUARY22,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 massacred %s,",TXT_OBITUARY23,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 mutilated %s,",TXT_OBITUARY24,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 murdered %s,",TXT_OBITUARY25,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 neutered %s,",TXT_OBITUARY26,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 punted %s,",TXT_OBITUARY27,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 reamed %s,",TXT_OBITUARY28,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 ripped %s^02 a new orifice,",TXT_OBITUARY29,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 rocked %s,",TXT_OBITUARY30,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 sent %s^02 to hell,",TXT_OBITUARY31,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 shredded %s,",TXT_OBITUARY32,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 slashed %s,",TXT_OBITUARY33,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 slaughtered %s,",TXT_OBITUARY34,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 sliced %s,",TXT_OBITUARY35,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 smacked %s around,",TXT_OBITUARY36,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 smashed %s,",TXT_OBITUARY37,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 snuffed %s,",TXT_OBITUARY38,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 sodomized %s,",TXT_OBITUARY39,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 splattered %s,",TXT_OBITUARY40,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 sprayed %s,",TXT_OBITUARY41,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 squashed %s,",TXT_OBITUARY42,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 throttled %s,",TXT_OBITUARY43,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 toasted %s,",TXT_OBITUARY44,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 vented %s,",TXT_OBITUARY45,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 ventilated %s,",TXT_OBITUARY46,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 wasted %s,",TXT_OBITUARY47,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 wrecked %s,",TXT_OBITUARY48,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 is excrement,",TXT_SELFOBIT1,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 is hamburger,",TXT_SELFOBIT2,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 suffered scrotum separation,",TXT_SELFOBIT3,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 volunteered for population control,",TXT_SELFOBIT4,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 has suicided,",TXT_SELFOBIT5,,,,,,,,,,,,,,,,,,,,,,
"^02%s^02 bled out,",TXT_SELFOBIT6,,,,,,,,,,,,,,,,,,,,,,
%k boned %o like a fish,TXT_OBITUARY1,,,,%o byl@[ao_cs] vykoštěn@[ao_cs] jako ryba hráčem %k,%k hat %o zerlegt wie einen Fisch,,%k senostigis %o kiel fiŝon,%k deshuesó a %o como a un pescado,,%k perkasi %o paran kuin kalan,%k désossa %o comme un poisson,%k kifilézte %o -t mint a halat,%k ha dissossato %o come un pesce,%k は %o の骨を魚のように引っこ抜いた。,%k 은(는) %o 의 뼈를 발랐다.,%k uitgebeend %o zoals een vis,%k odfiletował@[ao_pl] %o jak rybę,%k desossou %o como um peixe,,,Игрок %k пересчитал косточки игрока %o,%k је очистио %o као рибу
%k castrated %o,TXT_OBITUARY2,,,,%o byl@[ao_cs] vykastrován@[ao_cs] hráčem %k,%k hat %o kastriert,,%k kastris %o,%k castró a %o,,%k kastroi %o paran,%k castra %o,%k kasztrálta %o -t,%k ha castrato %o,%k は %o を去勢した。,%k 은(는) %o 을(를) 거세시켰다.,%k gecastreerd %o,%k wykastrował@[ao_pl] %o,%k castrou %o,,,Игрок %k кастрировал игрока %o,%k је кастрирао %o
%k creamed %o,TXT_OBITUARY3,,,,%o byl@[ao_cs] rozšlehán@[ao_cs] hráčem %k,%k hat %o eingeseift,,%k kremigis %o,%k cremó a %o,,%k kermasi %o paran,%k a battu %o à plate couture ,%k elkente %o -t,%k ha cremato %o,%k は %o に反吐ブチ撒けさせた。,%k 은(는) %o 을(를) 양념시켰다.,%k romed %o,%k spienił@[ao_pl] %o,%k fez creme de %o,,,Игрок %k взбил игрока %o,%k је истукао %o
%k decimated %o,TXT_OBITUARY4,,,,%o byl@[ao_cs] zdecimován@[ao_cs] hráčem %k,%k hat %o dezimiert,,%k detruegis %o,%k diezmó a %o,,%k hävitti %o paran,%k a décimé %o,%k megtizedelte %o -t,%k ha decimato %o,%k は %o の居場所を間引いた。,%k 은(는) %o 을(를) 망가뜨렸다.,%k gedecimeerd %o,%k przetrzebił@[ao_pl] %o,%k decimou %o,,,Игрок %k скосил игрока %o,%k је десетковао %o
%k destroyed %o,TXT_OBITUARY5,,,,%o byl@[ao_cs] zničen@[ao_cs] hráčem %k,%k hat %o zerstört,,%k detruis %o,%k destruyó a %o,,%k tuhosi %o paran,%k a détruit %o,%k elpusztította %o -t,%k ha distrutto %o,%k は %o を完全に破壊した。,%k 은(는) %o 을(를) 파괴했다.,%k vernietigd %o,%k zniszczył@[ao_pl] %o,%k destruiu %o,,,Игрок %k уничтожил игрока %o,%k је уништио %o
%k diced %o,TXT_OBITUARY6,,,,%o byl@[ao_cs] nakrájen@[ao_cs] na kostičky hráčem %k,%k hat %o in Würfel zerteilt,,%k diskubigis %o,%k picó en cubitos a %o,,%k pilkkosi %o paran,%k a coupé en dés %o,%k felkockázta %o -t,%k ha tagliato a cubetti %o,%k は %o を賽の目に切った。,%k 은(는) %o 을(를) 잘게 잘게 썰었다.,%k in blokjes gesneden %o,%k pokroił@[ao_pl] w kostkę %o,%k fez picadinho de %o,%k cortou %o,,Игрок %k разрезал игрока %o,%k је исецкао %o
%k disembowled %o,TXT_OBITUARY7,,,,%o byl@[ao_cs] vykuchán@[ao_cs] hráčem %k,%k hat %o ausgeweidet,,%k sentripigis %o,%k destripó a %o,,%k suolisti %o paran,%k a étripé %o,%k kibelezve,%k ha smembrato %o,%k は %o の臓物を引きずり出した。,%k 은(는) %o 의 내장을 도려냈다.,%k van de ingewanden gehaald %o,%k wypatroszył@[ao_pl] %o,%k estripou %o,,,Игрок %k выпотрошил игрока %o,%k је ампутирао %o
%k flattened %o,TXT_OBITUARY8,,,,%o byl@[ao_cs] zplacatěn@[ao_cs] hráčem %k,%k hat %o dem Erdboden gleichgemacht,,%k platigis %o,%k aplanó a %o,,%k lyttäsi %o paran,%k a aplati %o,%k kilapítva,%k ha schiacciato %o,%k は %o をぶっ潰した。,%k 은(는) %o 의 코를 납작하게 만들었다.,afgevlakt %k afgevlakt %o,%k rozpłaszczył@[ao_pl] %o,%k achatou %o,%k espalmou %o,,Игрок %k сплюснул игрока %o,%k је изравнао %o
%k gave %o Anal Justice,TXT_OBITUARY9,,,,%o utržil@[ao_cs] anální spravedlnost od hráče %k,%k hat %o anale Gerechtigkeit gegeben,,%k donis %o puga ĵustico,%k le dió Justicia Anal a %o,,%k jakoi %o paralle anaalioikeutta,%k a rendu une justice anale a %o,%k %o -nak Anális Igazságot adott,%k ha dato a %o Giustizia Anale,%k は %o のケツにぶち込んだ。,%k 은(는) %o 에게 홍콩행을 보냈다.,%k gaf %o Anaalrechtvaardigheid,%k dał@[ao_pl] %o Analną Sprawiedliwość,%k deu Justiça Anal para %o,,,Игрок %k устроил Анальное Правосудие игроку %o,%k је дао %o аналну правду
%k gave AnAl MaDnEsS to %o,TXT_OBITUARY10,,,,%o utrpěl@[ao_cs] AnÁlNí ŠíLeNsTvÍ od hráče %,%k gab %o AnAlEn WaHnSiNn,,%k donis pUgAn frEnEzOn al %o,%k le dió LoCuRa AnAl a %o,,%k teki %o paran AnAaLiHuLlUkSi,%k a donné la FOLIE ANALE a %o,%k %o -nak Seggbe Durrantott,%k ha dato FoLlIa AnAle a %o,%k は %o のケツをガバガバにした。,%o 은(는) %k 의 찰진 맛을 보았다.,%k gaf AnAl MaDnEs aan %o,%k dał@[ao_pl] %o AnAlNe SzAlEńStWo ,%k deu LoUcUrA aNaL para %o,,,Игрок %k устроил АнАЛ КаРнаВаЛ игроку %o,%k је дао АнАлНо ЛуДиЛо %o
%k killed %o,TXT_OBITUARY11,,,,%o byl@[ao_cs] zabit@[ao_cs] hráčem %k,%k hat %o getötet,,%k mortigis %o,%k mató a %o,,%k tappoi %o paran,%k a tué %o,%k kicsinálta %o -t,%k ha ucciso %o,%k は %o をブッ殺した。,%k 은(는) %o 을(를) 죽였다.,%k gedood %o,%k zabił@[ao_pl] %o,%k matou %o,,,Игрок %k убил игрока %o,%k је убио %o
%k made mincemeat out of %o,TXT_OBITUARY12,,,,%o byl@[ao_cs] namelen@[ao_cs] hráčem %k,%k hat %o zu Hackfleisch verarbeitet,,%k faris mincemeat el %o,%k hizo picadillo de %o,,%k teki jauhelihaa %o parasta,%k a fait de la viande hachée de %o,%k darálthúst csinált %o -ból,%k ha triturato %o,%k は %o をミンチにした。,%o 은(는) %k 에 의해 분쇄됐다.,%k gemaakt gehakt vlees van %o,%k zrobił@[ao_pl] mięso mielone z %o,%k fez carne moída de %o,%k fez carne picada do %o,,Игрок %k сделал отбивную из игрока %o,%k је направио млевено месо од %o
%k massacred %o,TXT_OBITUARY13,,,,%o byl@[ao_cs] zmasakrován@[ao_cs] hráčem %k,%k hat %o niedergemetzelt,,%k masakris %o,%k masacró a %o,,%k verilöylytti %o parkaa,%k a massacré %o,%k lemészárolta %o -t,%k ha fatto di %o carne tritata,%k は %o を虐殺した。,%k 은(는) %o 을(를) 참살했다.,%k afgeslacht %o,%k zmasakrował@[ao_pl] %o,%k massacrou %o,,,Игрок %k устроил бойню игроку %o,%k је масакрирао %o
%k mutilated %o,TXT_OBITUARY14,,,,%o byl@[ao_cs] zmrzačen@[ao_cs] hráčem %k,%k hat %o verstümmelt,,%k mutilis %o,%k mutiló a %o,,%k silpoi %o paran,%k a mutilé %o,%k megcsonkította %o -t,%k ha massacrato %o,%k は %o をバラバラ死体にした。,%k 은(는) %o 의 팔다리를 절단했다.,%k verminkt %o,%k rozszarpał@[ao_pl] %o,%k mutilou %o,,,Игрок %k изуродовал игрока %o,%k је мутилирао %o
%k reamed %o,TXT_OBITUARY15,,,,%o byl@[ao_cs] proděravěn@[ao_cs] hráčem %k,%k hat %o aufgerieben,,%k reeldonis %o,%k escarió a %o,,%k porasi %o paran,%k a découpé en fines lamelles %o,%k seggbe rakta %o -t,%k ha squartato %o,%k は %o の穴を大きく広げた。,%k 은(는) %o 을(를) 크게 혼냈다.,%k geruimd %o,%k rozwiercił@[ao_pl] %o,%k esquartejou %o,,,Игрок %k просверлил игрока %o,%k је наоружао %o
%k ripped %o a new orifice,TXT_OBITUARY16,,,,%o má novou díru od hráče %k,%k hat %o eine neue Körperöffnung verpasst,,%k ŝiris %o novan orificion,%k le hizo a %o un nuevo orificio,,%k repi %o paralle uuden aukon,%k a ouvert un nouvel orifice a %o,,%k ha aperto a %o un altro orifizio,%k は %o を切り裂いて新しい穴を作ってあげた。,%k 은(는) %o 을(를) 죽여 뜯어서 작품을 만들었다.,%k gescheurd %o een nieuwe doorlaatopening,%k rozerwał@[ao_pl] %o nowy otwór,%k abriu um novo orifício em %o,,,Игрок %k проделал новое отверстие в игроке %o,%k је исцепао %o нови отвор
%k slaughtered %o,TXT_OBITUARY17,,,,%o byl@[ao_cs] zavražděn@[ao_cs] hráčem %k,%k hat %o geschlachtet,,%k buĉis %o,%k sacrificó a %o,,%k teurasti %o paran,%k a meurtri %o,%k lemészárolta %o -t,%k ha macellato %o,%k は %o を屠殺した。,%o 은(는) %k 에 의해 도살당했다.,%k geslacht %o,%k zarżn@[irreg_2_pl] %o,%k abateu %o,,,Игрок %k устроил резню игроку %o,%k је заклао %o
%k smashed %o,TXT_OBITUARY18,,,,%o byl@[ao_cs] zmlácen@[ao_cs] hráčem %k,%k hat %o zerklatscht,,%k frakasis %o,%k destrozó a %o,,%k murskasi %o paran,%k a enfoncé %o,%k földbe döngölte %o -t,%k ha distrutto %o,%k は %o をぶっ飛ばした。,%k 은(는) %o 을(를) 내팽개쳤다.,%k gebroken %o,%k stłukł@[ao_pl] %o,%k esmagou %o,,,Игрок %k размазал игрока %o,%k је поломио %o
%k sodomized %o,TXT_OBITUARY19,,,,Hráč %k se dopustil sodomie na hráči %o,%k hat %o sodomisiert,,%k sodomizata %o,%k sodomizó a %o,,%k anaaliraiskasi %o paran,%k y a sodomisé n %o,%k szodomizálta %o -t,%k ha sodomizzato %o,%o は %k にカマを掘られた。 ,%o 은(는) %k 을(를) 위해 등을 보였다.,%k gesodomiseerd %o,%k spenetrował@[ao_pl] %o,%k sodomizou %o,,,Игрок %k содомировал игрока %o,%k је изјебао %o
%k splattered %o,TXT_OBITUARY20,,,,%o byl@[ao_cs] rozplesknut@[ao_cs] hráčem %k,%k hat %o zerspritzt,,%k disĵetis %o,%k roció a %o,,%k roiski %o paran yltympäri,%k a explosé de %o,%k szétloccsantotta %o -t,%k ha spiaccicato %o,%k は %o にばら撒かれた。,%k 은(는) %o 을(를) 박살냈다.,%k gespat %k gespetterd %o,%k rozbryzgał@[ao_pl] %o,%k explodiu %o,,,Игрок %k разбрызгал игрока %o,%k је спљоштио %o
%k squashed %o,TXT_OBITUARY21,,,,%o byl@[ao_cs] rozmáčknut@[ao_cs] hráčem %k,%k hat %o zerquetscht,,%k premplatigis %o,%k aplastó a %o,,%k litisti %o paran,%k a écrabouillé %o,%k szétnyomta %o -t mint a csótányt,%k ha schiacciato %o,%k は %o に潰された。,%k 은(는) %o 을(를) 짓이겼다.,%k geplet %k geplet %o,%k zmiażdżył@[ao_pl] %o,%k espatifou %o,,,Игрок %k расплющил игрока %o,%k је згњечио %o
%k throttled %o,TXT_OBITUARY22,,,,%o byl@[ao_cs] zaškrcen@[ao_cs] hráčem %k,%k hat %o erdrosselt,,%k ekbruligis %o,%k aceleró a %o,,%k polki %o paran,%k a étouffé %o,,%k ha strozzato %o,%k は %o に絞られた。,%k 은(는) %o 을(를) 목 졸라 죽였다.,%k gewurgt %o,"%k udusił@[ao_pl] %o
",%k estrangulou %o,,,Игрок %k задушил игрока %o,%k је угушио %o
%k wasted %o,TXT_OBITUARY23,,,,%o byl@[ao_cs] zničen@[ao_cs] hráčem %k,%k hat %o verbraucht,,%k malŝparis %o,%k desechó a %o,,%k kulutti %o paran,%k a décharné %o,,%k ha distrutto %o,%k は %o に消された。,%k 은(는) %o 을(를) 쓰레기처럼 내다 버렸다.,%k verspild %o,%k roztrwonił@[ao_pl] %o,%k detonou %o,,,Игрок %k замочил игрока %o,%k је убио %o
%k body bagged %o,TXT_OBITUARY24,,,,Hráč %k narval %o@[psn1_cs] tělo do pytle,%k hat %o eingesackt,,%k korpo malplenigis %o,%k embolsó a %o,,%k kääri %o paran ruumispussiin,%k a placé %o dans son linceul,,%k ha mandato %o all'obitorio,%k は %o を死体袋にした。,%k 은(는) %o 의 장례식을 치렀다.,%k lichaam met zakje %o,%k spakował@[ao_pl] %o do torby na zwłoki,%k mandou %o para o necrotério,,,Игрок %k упаковал игрока %o в мешок для трупов,%k је умртвио %o
%k sent %o to Hell,TXT_OBITUARY25,,,,%o byl@[ao_cs] poslán@[ao_cs] do pekla hráčem %k,%k hat %o zur Hölle fahren lassen,,%k sendis %o al Infero,%k envió a %o al infierno,,%k lähetti %o paran helvettiin,%k a envoyé %o en enfer,,%k ha spedito %o all'Inferno,%k は %o を地獄に送った。,%o 은(는) %k 덕에 지옥으로 돌아갔다.,%k verzonden %o naar de hel,%k wysłał@[ao_pl] %o do Piekła,%k mandou %o para o Inferno,,,Игрок %k отправил в Ад игрока %o,%k је послао %o до Врага
%k toasted %o,TXT_OBITUARY26,,,,%o byl@[ao_cs] upečen@[ao_cs] hráčem %k,%k hat %o geröstet,,%k tostita %o,%k tostó a %o,,%k käristi %o paran,%k a grillé %o,%k megpirította %o -t,%k ha arrostito %o,%k は %o を焼却した。,%o 은(는) %k 덕에 맛있게 구워졌다.,%k geroosterd %o,%k stostował@[ao_pl] %o,%k tostou %o,,,Игрок %k поджарил игрока %o,%k је тостирао %o
%k snuffed %o,TXT_OBITUARY27,,,,%o byl@[ao_cs] rozsápán@[ao_cs] hráčem %k,%k hat %o vernichtet,,%k snufis %o,%k aspiró a %o,,%k sammutti %o paran,%k a crevé %o,,%k ha spento %o,%k は %o を処刑した。,%o 은(는) %k 에 의해 짓눌려졌다.,%k gesnuffeld %o,%k powąchał@[ao_pl] %o,%k apagou %o,,,Игрок %k прикончил игрока %o,%k је угасио %o
%k hosed %o,TXT_OBITUARY28,,,,%o byl@[ao_cs] odstříknut@[ao_cs] hráčem %k,%k hat %o eingetütet,,%k bagigis %o,%k se cargó a %o,,%k pesi %o paran,%k a arrosé %o,,%k l'ha fatta sopra %o,%k は %o にぶっかけた。,%k 은(는) %o 을(를) 패배로 씻겼다.,%k slang %o,%k załatwił@[ao_pl] %o,%k metralhou %o,,,Игрок %k расстрелял игрока %o,%k је упскао %o
%k sprayed %o,TXT_OBITUARY29,,,,%o byl@[ao_cs] postříkán@[ao_cs] hráčem %k,%k hat %o pulverisiert,,%k ŝprucigis %o,%k pulverizó a %o,,%k ruiskutti %o paran,%k a pulvérise %o,,%k ha vaporizzato %o,%k は %o を撒き散らした。,%o 의 피는 %k 의 물감으로 쓰였다.,%k gespoten %o,%k rozpryskał@[ao_pl] %o,%k pulverizou %o,,,Игрок %k распылил игрока %o,%k је испрскао %o
%k made dog meat out of %o,TXT_OBITUARY30,,,,%o byl@[ao_cs] hozen@[ao_cs] psům hráčem %k,%k hat Hundefutter aus %o gemacht,,%k faris hundan viandon el %o,%k hizo comida para perro de %o,,%k teki %o parasta koiranruokaa,%k a fait de la pâtée pour chien de %o,,%k ha fatto di %o polpette,%k は %o を犬の餌にした。,%k 은(는) %o 로 개밥을 만들었다.,%k gemaakt hondenvlees van %o,%k zrobił@[ao_pl] mięso dla psów z %o,%k fez almôndegas de %o,,,Игрок %k скормил псам игрока %o,%k је направио псеће месо од %o
%k beat %o like a cur,TXT_OBITUARY31,,,,%o byl@[ao_cs] zmlácen@[ao_cs] jako pes hráčem %k,%k hat %o wie einen Hund geschlagen,,%k batis %o kiel kur,%k pateó a %o como a un perro callejero,,%k huitoi %o parkaa kuin rakkia,%k a battu %o,,%k ha battuto %o come un cane,%k は %o を狂犬の様に扱った。,%o 은(는) %k 에게 똥개처럼 맞았다.,%k beat %o als een hond,%k pobił@[ao_pl] %o jak kundla,%k espancou %o como um cachorro,%k espancou %o como um cão,,Игрок %k сделал игрока %o как худую свинью,%k је превио %o ко мачку
%k body bagged %o,TXT_OBITUARY32,,,,,,,,,,,,,,,,,,,,,,
%k crushed %o,TXT_OBITUARY33,,,,,,,,,,,,,,,,,,,,,,
%k erased %o,TXT_OBITUARY34,,,,,,,,,,,,,,,,,,,,,,
%k eviscerated %o,TXT_OBITUARY35,,,,,,,,,,,,,,,,,,,,,,
%k flailed %o,TXT_OBITUARY36,,,,,,,,,,,,,,,,,,,,,,
%k hurt %o real bad,TXT_OBITUARY37,,,,,,,,,,,,,,,,,,,,,,
%k manhandled %o,TXT_OBITUARY38,,,,,,,,,,,,,,,,,,,,,,
%k murdered %o,TXT_OBITUARY39,,,,,,,,,,,,,,,,,,,,,,
%k neutered %o,TXT_OBITUARY40,,,,,,,,,,,,,,,,,,,,,,
%k punted %o,TXT_OBITUARY41,,,,,,,,,,,,,,,,,,,,,,
%k shredded %o,TXT_OBITUARY42,,,,,,,,,,,,,,,,,,,,,,
%k slashed %o,TXT_OBITUARY43,,,,,,,,,,,,,,,,,,,,,,
%k sliced %o,TXT_OBITUARY44,,,,,,,,,,,,,,,,,,,,,,
%k smacked %o around,TXT_OBITUARY45,,,,,,,,,,,,,,,,,,,,,,
%k vented %o,TXT_OBITUARY46,,,,,,,,,,,,,,,,,,,,,,
%k ventilated %o,TXT_OBITUARY47,,,,,,,,,,,,,,,,,,,,,,
%k wrecked %o,TXT_OBITUARY48,,,,,,,,,,,,,,,,,,,,,,
%o is excrement,TXT_SELFOBIT1,,,,%o je exkrement,%o wurde zu Exkrement verarbeitet,,%o estas ekskremento,%o es excremento,,%o on ulostetta,%o est une merde,,%o è un escremento,%o はもはや排泄物のようだ。,%o 은(는) 배설물이 되었다.,%o is uitwerpselen,%o został@[ao_pl] odpadkami,%o virou escremento,,,%o теперь экскремент,%o је сада измет
%o is hamburger,TXT_SELFOBIT2,,,,%o je hamburger,%o ist Hamburger,,%o estas hamburgero,%o es una hamburguesa,,%o on hakkelusta,%o est un hamburger,,%o è un hamburger,%o はハンバーガーになった。,%o 은(는) 고기 반죽이 되었다.,%o is hamburger,%o został@[ao_pl] hamburgerem,%o virou hamburguer,,,%o теперь гамбургер,%o је сада пљескавица
%o suffered scrotum separation,TXT_SELFOBIT3,,,,%o prodělal@[ao_cs] separaci šourku,%os Eier wurden gebraten,,%o suferis skrotan disigon,%o sufrió separación de escroto,,%o kärsii kivespussin erotuksesta,%o a souffert d'une séparation du scrotum,,%o ha subito la separazione dello scroto,%o の陰嚢は剥離していた。,%o 은(는) 고자가 되었다.,%o leed aan scrotumscheiding...,%o doznał@[ao_pl] oddzielenia moszny,%o sofreu separação escrotal,,,%o страдает от потери тестикул,%o му је исечена патка
%o volunteered for population control,TXT_SELFOBIT4,,,,%o se zůčastnil@[ao_cs] čistky obyvatelstva,%o hat sich freiwillig zur Bevölkerungskontrolle gemeldet,,%o volontulis por loĝantarkontrolo,%o fue voluntario para control de población,,%o ilmoittautui vapaaehtoiseksi väestönhallintaan,%o s'est proposé pour un contrôle de la population,,%o si è offerto per il controllo della popolazione,%o は人口削減政策の実験台に志願した。,%o 은(는) 자연에 의해 낙태 당했다.,%o vrijwilliger voor bevolkingscontrole,%o zgłosił@[ao_pl] się na kontrolę ludności,%o se voluntariou para o controle populacional,%o se voluntariou para o controlo populacional,,%o борется с перенаселением,%o је волунтирао за контролу популације
%o has suicided,TXT_SELFOBIT5,,,,%o spáchal@[ao_cs] sebevraždu,%o hat Selbstmord begangen,,%o sin mortigis,%o se ha suicidado,,%o on tehnyt itsemurhan,%o s'est suicidé,%o öngyilkos lett,%o si è suicidato,%o は勝手にくたばった。,%o 은(는) 한심하게 자살했다.,%o heeft zelfmoord gepleegd.,%o popełnił@[ao_pl] samobójstwo,%o se suicidou,%o suicidou-se,,Игрок %o самоубился,%o је убио самог себе
%o received the Darwin Award,TXT_SELFOBIT6,,,,%o dostal@[ao_cs] darwinovu cenu,%o hat den Darwinpreis erhalten,,%o ricevis la Darwin-Premion,%o recibió el premio Darwin,,%o sai Darwin-palkinnon,%o a recu la médaille Darwin,És a Darwin Díj nyertese : %o,%o ha ricevuto il Darwin Award,%o にはダーウィン賞が授与された。,%o 은(는) 다윈상을 받을 자격이 있다.,%o ontving de Darwin Award....,%o otrzymał@[ao_pl] Nagrodę Darwina,%o ganhou o Prêmio Darwin,,,Игрок %o получил премию Дарвина,%o је добио Дарвиново признање
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
235 Male Dark Blue OPTVAL_MALE TXT_COLOR_DARKBLUE Muž Tmavě modrá Männlich Dunkelblau Vira (Li) Malhelblua Masculino Azul oscuro Miespuolinen Tummansininen Masculin Bleu sombre Sötétkék Maschio Blu scuro 남성 Man Donkerblauw Mężczyzna Masculino Azul escuro Мужской Тёмно-Синий Мушко Тамна Плава
236 Female Light Red OPTVAL_FEMALE TXT_COLOR_LIGHTRED Žena Světle červená Weiblich Hellrot Ina (Ŝi) Ruĝeta Femenino Rojo claro Naispuolinen Vaaleanpunainen Féminin Rouge clair Femmina Rosso chiaro 여성 옅은 적색 Vrouw Licht Rood Kobieta Jasnoczerwony Feminino Vermelho claro Женский Светло-красный Женско Светло црвена
237 Neutral Yellow OPTVAL_NEUTRAL TXT_COLOR_YELLOW Neutrální Žlutá Neutral Gelb Neŭtrala (Ri) Flava Neutro Amarillo Sukupuoleton Keltainen Neutre Jaune Sárga Neutrale Giallo 中間 중성 노란색 Neutraal Geel Neutralne Żółty Neutro Amarelo Нейтральный Жёлтый Неутрално Жута
238 Auto OPTVAL_AUTO Aŭtomata Automático Automaattinen Automatico 自動 자동 Automatycznie Automático Авто Аутоматски
239 Name PLYRMNU_NAME Jméno Nomo Nombre Nimi Nom Név Nome 名前 이름 Naam Imię Nome Имя Надимак
240 Team PLYRMNU_TEAM Tým Teamo Equipo Joukkue Equipe Csapat Squadra チーム Team Drużyna Equipe Equipa Команда Тим
241 Color PLYRMNU_PLAYERCOLOR Colour Barva Farbe Koloro Väri Couleur Szín Colore 색상 Kleur Kolor Cor Цвет Боја
242 Multiplayer taunts PLRMNU_TAUNTS Mehrspieler-Spott
243 Object Gender OPTVAL_OTHER PLYRMNU_PLAYERGENDER Objekt Pohlaví Objekt Geschlecht Objekto (Ĝi) Genro Objeto Género Olio Sukupuoli Objet Genre Nem Oggetto Sesso 物体 性別 기타 성별 Doel Geslacht Obiekt Płeć Objeto Gênero Предмет Пол Предмет Пол
244 Male Multiplayer OPTVAL_MALE Muž Männlich Vira (Li) Masculino Miespuolinen Masculin Maschio 남성 Man Mężczyzna Masculino Мужской Мушко
245 Game Options Female NETMNU_OPTIONS OPTVAL_FEMALE Žena Spieleinstellungen Weiblich Ina (Ŝi) Femenino Naispuolinen Féminin Femmina 여성 Vrouw Kobieta Feminino Женский Женско
261 Monsters Team DM (Spawn) NETMNU_MONSTERS NETMNU_GAMETYPE4
262 Markers Team DM (No Spawn) NETMNU_MARKERS NETMNU_GAMETYPE5
263 Map Exits Episode NETMNU_MAPEXITS NETMNU_EPISODE
264 Level NETMNU_LEVEL
265 Friendly Fire Monsters NETMNU_FFIRE NETMNU_MONSTERS
266 Accept Markers NETMNU_ACCEPT NETMNU_MARKERS
267 Server Map Exits NETMNU_SERVER NETMNU_MAPEXITS
336 ^02%s^02 broke %s, 48000 Hz TXT_OBITUARY2 OPTVAL_48000HZ 48000 Гц
337 ^02%s^02 body bagged %s, 64 samples TXT_OBITUARY3 OPTVAL_64SAMPLES 64 vzorků 64 Samples 64 specimenoj 64 Muestras 64 näytettä 64 샘플 64 sample 64 amostras 64 семпла 64 узорка
338 ^02%s^02 boned %s^02 like a fish, 128 samples TXT_OBITUARY4 OPTVAL_128SAMPLES 128 vzorků 128 Samples 128 specimenoj 128 Muestras 128 näytettä 128 샘플 128 sampli 128 amostras 128 семплов 128 узорка
339 256 samples OPTVAL_256SAMPLES 256 vzorků 256 Samples 256 specimenoj 256 Muestras 256 näytettä 256 샘플 256 sampli 256 amostras 256 семплов 256 узорка
340 512 samples OPTVAL_512SAMPLES 512 vzorků 512 Samples 512 specimenoj 512 Muestras 512 näytettä 512 샘플 512 sampli 512 amostras 512 семплов 512 узорка
341 1024 samples OPTVAL_1024SAMPLES 1024 vzorků 1024 Samples 1024 specimenoj 1024 Muestras 1024 näytettä 1024 샘플 1024 sampli 1024 amostras 1024 семпла 1024 узорка
342 2048 samples OPTVAL_2048SAMPLES 2048 vzorků 2048 Samples 2048 specimenoj 2048 Muestras 2048 näytettä 2048 샘플 2048 sampli 2048 amostras 2048 семплов 2048 узорка
343 ^02%s^02 castrated %s, 4096 samples TXT_OBITUARY5 OPTVAL_4096SAMPLES 4096 vzorků 4096 Samples 4096 specimenoj 4096 Muestras 4096 näytettä 4096 샘플 4096 sampli 4096 amostras 4096 семплов 4096 узорка
344 ^02%s^02 creamed %s, Auto TXT_OBITUARY6 OPTSTR_AUTO Aŭtomata Automático Automaattinen Automatico 自動 오토 Automatycznie Automático Авто Аутоматски
345 ^02%s^02 crushed %s, Mono TXT_OBITUARY7 OPTSTR_MONO 1 Laŭtparolilo モノラル 모노 Моно Монотоно
471 90 fps OPTVAL_90FPS
472 120 fps OPTVAL_120FPS
473 144 fps OPTVAL_144FPS
474 200 fps OPTVAL_200FPS
475 Obituaries
476 You are playing the shareware version of Duke Nukem 3D. While this version is really cool, you are missing over 75% of the total game, along with other great extras which you'll get when you order the complete version and get the final three episodes. BUYDUKE
477 Are you sure you want to end the game? ENDGAME Opravdu si přeješ ukončit hru? Willst du das Spiel wirklich beenden? Ĉu vi certas, ke vi volas fini la ludon? ¿Estás segur@[ao_esp] que deseas cerrar el juego? Haluatko varmasti päättää pelin? Voulez vous mettre fin à votre partie? Biztos vagy benne hogy beakarod fejezni a játékot? Sei sicuro di voler terminare la partita? 本当にゲームを中断するのか? 게임을 정말로 종료하시겠습니까? Weet je zeker dat je het spel wilt beëindigen? Czy jesteś pewien że chcesz zakończyć grę? Tem certeza que deseja encerrar este jogo? Tem certeza que deseja fechar este jogo? Вы действительно хотите закончить игру? Јесте ли сигурни да желите завршити игру?
500 %k smashed %o TXT_OBITUARY18 %o byl@[ao_cs] zmlácen@[ao_cs] hráčem %k %k hat %o zerklatscht %k frakasis %o %k destrozó a %o %k murskasi %o paran %k a enfoncé %o %k földbe döngölte %o -t %k ha distrutto %o %k は %o をぶっ飛ばした。 %k 은(는) %o 을(를) 내팽개쳤다. %k gebroken %o %k stłukł@[ao_pl] %o %k esmagou %o Игрок %k размазал игрока %o %k је поломио %o
501 %k sodomized %o TXT_OBITUARY19 Hráč %k se dopustil sodomie na hráči %o %k hat %o sodomisiert %k sodomizata %o %k sodomizó a %o %k anaaliraiskasi %o paran %k y a sodomisé n %o %k szodomizálta %o -t %k ha sodomizzato %o %o は %k にカマを掘られた。 %o 은(는) %k 을(를) 위해 등을 보였다. %k gesodomiseerd %o %k spenetrował@[ao_pl] %o %k sodomizou %o Игрок %k содомировал игрока %o %k је изјебао %o
502 %k splattered %o TXT_OBITUARY20 %o byl@[ao_cs] rozplesknut@[ao_cs] hráčem %k %k hat %o zerspritzt %k disĵetis %o %k roció a %o %k roiski %o paran yltympäri %k a explosé de %o %k szétloccsantotta %o -t %k ha spiaccicato %o %k は %o にばら撒かれた。 %k 은(는) %o 을(를) 박살냈다. %k gespat %k gespetterd %o %k rozbryzgał@[ao_pl] %o %k explodiu %o Игрок %k разбрызгал игрока %o %k је спљоштио %o
503 %k squashed %o TXT_OBITUARY21 %o byl@[ao_cs] rozmáčknut@[ao_cs] hráčem %k %k hat %o zerquetscht %k premplatigis %o %k aplastó a %o %k litisti %o paran %k a écrabouillé %o %k szétnyomta %o -t mint a csótányt %k ha schiacciato %o %k は %o に潰された。 %k 은(는) %o 을(를) 짓이겼다. %k geplet %k geplet %o %k zmiażdżył@[ao_pl] %o %k espatifou %o Игрок %k расплющил игрока %o %k је згњечио %o
504 %k throttled %o TXT_OBITUARY22 %o byl@[ao_cs] zaškrcen@[ao_cs] hráčem %k %k hat %o erdrosselt %k ekbruligis %o %k aceleró a %o %k polki %o paran %k a étouffé %o %k ha strozzato %o %k は %o に絞られた。 %k 은(는) %o 을(를) 목 졸라 죽였다. %k gewurgt %o %k udusił@[ao_pl] %o %k estrangulou %o Игрок %k задушил игрока %o %k је угушио %o
505 %k wasted %o TXT_OBITUARY23 %o byl@[ao_cs] zničen@[ao_cs] hráčem %k %k hat %o verbraucht %k malŝparis %o %k desechó a %o %k kulutti %o paran %k a décharné %o %k ha distrutto %o %k は %o に消された。 %k 은(는) %o 을(를) 쓰레기처럼 내다 버렸다. %k verspild %o %k roztrwonił@[ao_pl] %o %k detonou %o Игрок %k замочил игрока %o %k је убио %o
506 %k body bagged %o TXT_OBITUARY24 Hráč %k narval %o@[psn1_cs] tělo do pytle %k hat %o eingesackt %k korpo malplenigis %o %k embolsó a %o %k kääri %o paran ruumispussiin %k a placé %o dans son linceul %k ha mandato %o all'obitorio %k は %o を死体袋にした。 %k 은(는) %o 의 장례식을 치렀다. %k lichaam met zakje %o %k spakował@[ao_pl] %o do torby na zwłoki %k mandou %o para o necrotério Игрок %k упаковал игрока %o в мешок для трупов %k је умртвио %o
507 %k sent %o to Hell TXT_OBITUARY25 %o byl@[ao_cs] poslán@[ao_cs] do pekla hráčem %k %k hat %o zur Hölle fahren lassen %k sendis %o al Infero %k envió a %o al infierno %k lähetti %o paran helvettiin %k a envoyé %o en enfer %k ha spedito %o all'Inferno %k は %o を地獄に送った。 %o 은(는) %k 덕에 지옥으로 돌아갔다. %k verzonden %o naar de hel %k wysłał@[ao_pl] %o do Piekła %k mandou %o para o Inferno Игрок %k отправил в Ад игрока %o %k је послао %o до Врага
508 %k toasted %o TXT_OBITUARY26 %o byl@[ao_cs] upečen@[ao_cs] hráčem %k %k hat %o geröstet %k tostita %o %k tostó a %o %k käristi %o paran %k a grillé %o %k megpirította %o -t %k ha arrostito %o %k は %o を焼却した。 %o 은(는) %k 덕에 맛있게 구워졌다. %k geroosterd %o %k stostował@[ao_pl] %o %k tostou %o Игрок %k поджарил игрока %o %k је тостирао %o
509 %k snuffed %o TXT_OBITUARY27 %o byl@[ao_cs] rozsápán@[ao_cs] hráčem %k %k hat %o vernichtet %k snufis %o %k aspiró a %o %k sammutti %o paran %k a crevé %o %k ha spento %o %k は %o を処刑した。 %o 은(는) %k 에 의해 짓눌려졌다. %k gesnuffeld %o %k powąchał@[ao_pl] %o %k apagou %o Игрок %k прикончил игрока %o %k је угасио %o
510 %k hosed %o TXT_OBITUARY28 %o byl@[ao_cs] odstříknut@[ao_cs] hráčem %k %k hat %o eingetütet %k bagigis %o %k se cargó a %o %k pesi %o paran %k a arrosé %o %k l'ha fatta sopra %o %k は %o にぶっかけた。 %k 은(는) %o 을(를) 패배로 씻겼다. %k slang %o %k załatwił@[ao_pl] %o %k metralhou %o Игрок %k расстрелял игрока %o %k је упскао %o
511 %k sprayed %o TXT_OBITUARY29 %o byl@[ao_cs] postříkán@[ao_cs] hráčem %k %k hat %o pulverisiert %k ŝprucigis %o %k pulverizó a %o %k ruiskutti %o paran %k a pulvérise %o %k ha vaporizzato %o %k は %o を撒き散らした。 %o 의 피는 %k 의 물감으로 쓰였다. %k gespoten %o %k rozpryskał@[ao_pl] %o %k pulverizou %o Игрок %k распылил игрока %o %k је испрскао %o
512 %k made dog meat out of %o TXT_OBITUARY30 %o byl@[ao_cs] hozen@[ao_cs] psům hráčem %k %k hat Hundefutter aus %o gemacht %k faris hundan viandon el %o %k hizo comida para perro de %o %k teki %o parasta koiranruokaa %k a fait de la pâtée pour chien de %o %k ha fatto di %o polpette %k は %o を犬の餌にした。 %k 은(는) %o 로 개밥을 만들었다. %k gemaakt hondenvlees van %o %k zrobił@[ao_pl] mięso dla psów z %o %k fez almôndegas de %o Игрок %k скормил псам игрока %o %k је направио псеће месо од %o
513 %k beat %o like a cur TXT_OBITUARY31 %o byl@[ao_cs] zmlácen@[ao_cs] jako pes hráčem %k %k hat %o wie einen Hund geschlagen %k batis %o kiel kur %k pateó a %o como a un perro callejero %k huitoi %o parkaa kuin rakkia %k a battu %o %k ha battuto %o come un cane %k は %o を狂犬の様に扱った。 %o 은(는) %k 에게 똥개처럼 맞았다. %k beat %o als een hond %k pobił@[ao_pl] %o jak kundla %k espancou %o como um cachorro %k espancou %o como um cão Игрок %k сделал игрока %o как худую свинью %k је превио %o ко мачку
514 %k body bagged %o TXT_OBITUARY32
515 %k crushed %o TXT_OBITUARY33
516 %k erased %o TXT_OBITUARY34
517 %k eviscerated %o TXT_OBITUARY35
518 %k flailed %o TXT_OBITUARY36
519 %k hurt %o real bad TXT_OBITUARY37
520 %k manhandled %o TXT_OBITUARY38
521 %k murdered %o TXT_OBITUARY39
522 %k neutered %o TXT_OBITUARY40
523 %k punted %o TXT_OBITUARY41
524 %k shredded %o TXT_OBITUARY42
525 %k slashed %o TXT_OBITUARY43
526 %k sliced %o TXT_OBITUARY44
527 %k smacked %o around TXT_OBITUARY45
528 %k vented %o TXT_OBITUARY46
529 %k ventilated %o TXT_OBITUARY47
530 %k wrecked %o TXT_OBITUARY48
531 %o is excrement TXT_SELFOBIT1 %o je exkrement %o wurde zu Exkrement verarbeitet %o estas ekskremento %o es excremento %o on ulostetta %o est une merde %o è un escremento %o はもはや排泄物のようだ。 %o 은(는) 배설물이 되었다. %o is uitwerpselen %o został@[ao_pl] odpadkami %o virou escremento %o теперь экскремент %o је сада измет
532 %o is hamburger TXT_SELFOBIT2 %o je hamburger %o ist Hamburger %o estas hamburgero %o es una hamburguesa %o on hakkelusta %o est un hamburger %o è un hamburger %o はハンバーガーになった。 %o 은(는) 고기 반죽이 되었다. %o is hamburger %o został@[ao_pl] hamburgerem %o virou hamburguer %o теперь гамбургер %o је сада пљескавица
533 %o suffered scrotum separation TXT_SELFOBIT3 %o prodělal@[ao_cs] separaci šourku %os Eier wurden gebraten %o suferis skrotan disigon %o sufrió separación de escroto %o kärsii kivespussin erotuksesta %o a souffert d'une séparation du scrotum %o ha subito la separazione dello scroto %o の陰嚢は剥離していた。 %o 은(는) 고자가 되었다. %o leed aan scrotumscheiding... %o doznał@[ao_pl] oddzielenia moszny %o sofreu separação escrotal %o страдает от потери тестикул %o му је исечена патка
534 %o volunteered for population control TXT_SELFOBIT4 %o se zůčastnil@[ao_cs] čistky obyvatelstva %o hat sich freiwillig zur Bevölkerungskontrolle gemeldet %o volontulis por loĝantarkontrolo %o fue voluntario para control de población %o ilmoittautui vapaaehtoiseksi väestönhallintaan %o s'est proposé pour un contrôle de la population %o si è offerto per il controllo della popolazione %o は人口削減政策の実験台に志願した。 %o 은(는) 자연에 의해 낙태 당했다. %o vrijwilliger voor bevolkingscontrole %o zgłosił@[ao_pl] się na kontrolę ludności %o se voluntariou para o controle populacional %o se voluntariou para o controlo populacional %o борется с перенаселением %o је волунтирао за контролу популације
535 %o has suicided TXT_SELFOBIT5 %o spáchal@[ao_cs] sebevraždu %o hat Selbstmord begangen %o sin mortigis %o se ha suicidado %o on tehnyt itsemurhan %o s'est suicidé %o öngyilkos lett %o si è suicidato %o は勝手にくたばった。 %o 은(는) 한심하게 자살했다. %o heeft zelfmoord gepleegd. %o popełnił@[ao_pl] samobójstwo %o se suicidou %o suicidou-se Игрок %o самоубился %o је убио самог себе
536 %o received the Darwin Award TXT_SELFOBIT6 %o dostal@[ao_cs] darwinovu cenu %o hat den Darwinpreis erhalten %o ricevis la Darwin-Premion %o recibió el premio Darwin %o sai Darwin-palkinnon %o a recu la médaille Darwin És a Darwin Díj nyertese : %o %o ha ricevuto il Darwin Award %o にはダーウィン賞が授与された。 %o 은(는) 다윈상을 받을 자격이 있다. %o ontving de Darwin Award.... %o otrzymał@[ao_pl] Nagrodę Darwina %o ganhou o Prêmio Darwin Игрок %o получил премию Дарвина %o је добио Дарвиново признање
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752

View file

@ -1181,7 +1181,7 @@ OptionValue SampleRates
//8000, "$OPTVAL_8000HZ"
11025, "$OPTVAL_11025HZ"
22050, "$OPTVAL_22050HZ"
/32000, "$OPTVAL_32000HZ"
32000, "$OPTVAL_32000HZ"
44100, "$OPTVAL_44100HZ"
48000, "$OPTVAL_48000HZ"
}
@ -1239,12 +1239,13 @@ OptionValue MidiDevices
OptionMenu SoundOptions //protected
{
Title "$SNDMNU_TITLE"
//Slider "$MODMNU_MASTERVOLUME", "snd_mastervolume", 0, 1, 0.05, 2
//StaticText " "
Option "$SNDMNU_SNDENABLED", "snd_enabled", "OnOff"
Slider "$MODMNU_MASTERVOLUME", "snd_mastervolume", 0, 1, 0.05, 2
StaticText " "
Option "$SNDMNU_SNDENABLED", "snd_enabled", "YesNo"
Slider "$SNDMNU_SFXVOLUME", "snd_fxvolume", 0, 255, 2, 1
//Slider "$SNDMNU_SFXVOLUME", "snd_fxvolume", 0, 1, 0.05, 2 // Todo: Change value type
Option "$SNDMNU_MUSENABLED", "mus_enabled", "OnOff" Slider "$SNDMNU_MUSICVOLUME", "mus_volume", 0, 1, 0.05, 2
//Slider "$SNDMNU_SFXVOLUME", "snd_sfxvolume", 0, 1, 0.05, 2 // Todo: Change value type
Option "$SNDMNU_MUSENABLED", "mus_enabled", "YesNo"
Slider "$SNDMNU_MUSICVOLUME", "mus_volume", 0, 1, 0.05, 2
Option "$SNDMNU_MENUSOUND", "menu_sounds", "OnOff" // placeholder until the slider can be made to work
//Slider "$SNDMNU_MENUVOLUME", "snd_menuvolume", 0, 1, 0.05, 2
StaticText " "
@ -1287,10 +1288,10 @@ OptionMenu AdvSoundOptions //protected
Title "$ADVSNDMNU_TITLE"
Option "$ADVSNDMNU_SAMPLERATE", "snd_mixrate", "SampleRates"
//Option "$ADVSNDMNU_HRTF", "snd_hrtf", "AutoOffOn"
Option "$ADVSNDMNU_FLIPSTEREO" "snd_reversestereo", "OnOff"
StaticText " "
Option "$SNDMNU_BACKGROUND", "i_soundinbackground", "OnOff"
Option "$ADVSNDMNU_FLIPSTEREO", "snd_reversestereo", "OnOff"
StaticText " "
//Option "$SNDMNU_BACKGROUND", "i_soundinbackground", "OnOff"
//StaticText " "
ifoption(openal)
{
@ -1302,16 +1303,16 @@ OptionMenu AdvSoundOptions //protected
Submenu "$SNDMNU_MIDIPLAYER", "MidiPlayerOptions"
Submenu "$SNDMNU_MODREPLAYER", "ModReplayerOptions"
StaticText " "
Command "$SNDMNU_RESTART", "snd_reset"
Command "$SNDMNU_RESTART", "restartsound"
}
OptionMenu TimidityConfigMenu protected
OptionMenu TimidityConfigMenu //protected
{
Title "$ADVSNDMNU_SELCONFIG"
}
OptionMenu FluidPatchsetMenu protected
OptionMenu FluidPatchsetMenu //protected
{
Title "$ADVSNDMNU_SELCONFIG"
}
@ -1376,9 +1377,9 @@ OptionMenu ModReplayerOptions //protected
OptionMenu MidiPlayerOptions //protected
{
Title "$SNDMNU_MIDIPLAYER"
Submenu "$ADVSNDMNU_FLUIDSYNTH", "FluidsynthOptions", 0, 1
Submenu "$ADVSNDMNU_TIMIDITY", "TimidityOptions", 0, 1
Submenu "$ADVSNDMNU_OPLSYNTHESIS", "OPLOptions", 0, 1
Submenu "$ADVSNDMNU_FLUIDSYNTH", "FluidsynthOptions"//, 0, 1
Submenu "$ADVSNDMNU_TIMIDITY", "TimidityOptions"//, 0, 1
Submenu "$ADVSNDMNU_OPLSYNTHESIS", "OPLOptions"//, 0, 1
}
OptionMenu FluidsynthOptions //protected