mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
- completion of controls menu
- some message printing cleanup in SW frontend. This still has its native console that needs to be removed.
This commit is contained in:
parent
79ced02d36
commit
65ae00fb74
19 changed files with 265 additions and 467 deletions
|
@ -831,282 +831,6 @@ vec2_t G_ScreenTextShadow(int32_t sx, int32_t sy,
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
void G_PrintGameText(int32_t tile, int32_t x, int32_t y, const char *t,
|
|
||||||
int32_t s, int32_t p, int32_t o,
|
|
||||||
int32_t x1, int32_t y1, int32_t x2, int32_t y2,
|
|
||||||
int32_t z, int32_t a)
|
|
||||||
{
|
|
||||||
int32_t f = TEXT_GAMETEXTNUMHACK;
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!(o & ROTATESPRITE_FULL16))
|
|
||||||
{
|
|
||||||
x <<= 16;
|
|
||||||
y <<= 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (x == (160<<16))
|
|
||||||
f |= TEXT_XCENTER;
|
|
||||||
|
|
||||||
G_ScreenText(tile, x, y, z, 0, 0, t, s, p, 2|o|ROTATESPRITE_FULL16, a, MF_Bluefont.emptychar.x, MF_Bluefont.emptychar.y, MF_Bluefont.between.x, MF_Bluefont.between.y, MF_Bluefont.textflags|f, x1, y1, x2, y2);
|
|
||||||
}
|
|
||||||
|
|
||||||
vec2_t gametext_(int32_t x, int32_t y, const char *t, int32_t s, int32_t p, int32_t o, int32_t a, int32_t f)
|
|
||||||
{
|
|
||||||
return G_ScreenText(MF_Bluefont.tilenum, x, y, MF_Bluefont.zoom, 0, 0, t, s, p, o|2|8|16|ROTATESPRITE_FULL16, a, MF_Bluefont.emptychar.x, MF_Bluefont.emptychar.y, MF_Bluefont.between.x, MF_Bluefont.between.y, MF_Bluefont.textflags|f, 0, 0, xdim-1, ydim-1);
|
|
||||||
}
|
|
||||||
void gametext_simple(int32_t x, int32_t y, const char *t)
|
|
||||||
{
|
|
||||||
G_ScreenText(MF_Bluefont.tilenum, x, y, MF_Bluefont.zoom, 0, 0, t, 0, MF_Bluefont.pal, 2|8|16|ROTATESPRITE_FULL16, 0, MF_Bluefont.emptychar.x, MF_Bluefont.emptychar.y, MF_Bluefont.between.x, MF_Bluefont.between.y, MF_Bluefont.textflags, 0, 0, xdim-1, ydim-1);
|
|
||||||
}
|
|
||||||
vec2_t mpgametext(int32_t x, int32_t y, const char *t, int32_t s, int32_t o, int32_t a, int32_t f)
|
|
||||||
{
|
|
||||||
return G_ScreenText(MF_Bluefont.tilenum, x, y, textsc(MF_Bluefont.zoom), 0, 0, t, s, MF_Bluefont.pal, o|2|8|16|ROTATESPRITE_FULL16, a, MF_Bluefont.emptychar.x, MF_Bluefont.emptychar.y, MF_Bluefont.between.x, MF_Bluefont.between.y, MF_Bluefont.textflags|f, 0, 0, xdim-1, ydim-1);
|
|
||||||
}
|
|
||||||
vec2_t mpgametextsize(const char *t, int32_t f)
|
|
||||||
{
|
|
||||||
return G_ScreenTextSize(MF_Bluefont.tilenum, 0, 0, textsc(MF_Bluefont.zoom), 0, t, 2|8|16|ROTATESPRITE_FULL16, MF_Bluefont.emptychar.x, MF_Bluefont.emptychar.y, MF_Bluefont.between.x, MF_Bluefont.between.y, MF_Bluefont.textflags|f, 0, 0, xdim-1, ydim-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// minitext_yofs: in hud_scale-independent, (<<16)-scaled, 0-200-normalized y coords,
|
|
||||||
// (sb&ROTATESPRITE_MAX) only.
|
|
||||||
int32_t minitext_yofs = 0;
|
|
||||||
int32_t minitext_lowercase = 0;
|
|
||||||
int32_t minitext_(int32_t x, int32_t y, const char *t, int32_t s, int32_t p, int32_t sb)
|
|
||||||
{
|
|
||||||
vec2_t dim;
|
|
||||||
int32_t z = MF_Minifont.zoom;
|
|
||||||
|
|
||||||
if (t == NULL)
|
|
||||||
{
|
|
||||||
OSD_Printf("minitext: NULL text!\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(sb & ROTATESPRITE_FULL16))
|
|
||||||
{
|
|
||||||
x<<=16;
|
|
||||||
y<<=16;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sb & ROTATESPRITE_MAX)
|
|
||||||
{
|
|
||||||
x = sbarx16(x);
|
|
||||||
y = minitext_yofs+sbary16(y);
|
|
||||||
z = sbarsc(z);
|
|
||||||
}
|
|
||||||
|
|
||||||
sb &= (ROTATESPRITE_MAX-1)|RS_CENTERORIGIN;
|
|
||||||
|
|
||||||
dim = G_ScreenText(MF_Minifont.tilenum, x, y, z, 0, 0, t, s, p, sb|ROTATESPRITE_FULL16, 0, MF_Minifont.emptychar.x, MF_Minifont.emptychar.y, MF_Minifont.between.x, MF_Minifont.between.y, MF_Minifont.textflags, 0, 0, xdim-1, ydim-1);
|
|
||||||
|
|
||||||
x += dim.x;
|
|
||||||
|
|
||||||
if (!(sb & ROTATESPRITE_FULL16))
|
|
||||||
x >>= 16;
|
|
||||||
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
void menutext_(int32_t x, int32_t y, int32_t s, char const *t, int32_t o, int32_t f)
|
|
||||||
{
|
|
||||||
G_ScreenText(MF_Redfont.tilenum, x, y - (12<<16), MF_Redfont.zoom, 0, 0, t, s, MF_Redfont.pal, o|ROTATESPRITE_FULL16, 0, MF_Redfont.emptychar.x, MF_Redfont.emptychar.y, MF_Redfont.between.x, MF_Redfont.between.y, f|MF_Redfont.textflags|TEXT_LITERALESCAPE, 0, 0, xdim-1, ydim-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void captionmenutext(int32_t x, int32_t y, char const *t)
|
|
||||||
{
|
|
||||||
G_ScreenText(MF_Redfont.tilenum, x, y - (12<<16), MF_Redfont.zoom, 0, 0, t, 0, ud.menutitle_pal, 2|8|16|ROTATESPRITE_FULL16, 0, MF_Redfont.emptychar.x, MF_Redfont.emptychar.y, MF_Redfont.between.x, MF_Redfont.between.y, MF_Redfont.textflags|TEXT_LITERALESCAPE|TEXT_XCENTER|TEXT_YCENTER, 0, 0, xdim-1, ydim-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int32_t user_quote_time[MAXUSERQUOTES];
|
|
||||||
static char user_quote[MAXUSERQUOTES][178];
|
|
||||||
|
|
||||||
void G_AddUserQuote(const char *daquote)
|
|
||||||
{
|
|
||||||
int32_t i;
|
|
||||||
|
|
||||||
for (i=MAXUSERQUOTES-1; i>0; i--)
|
|
||||||
{
|
|
||||||
Bstrcpy(user_quote[i], user_quote[i-1]);
|
|
||||||
user_quote_time[i] = user_quote_time[i-1];
|
|
||||||
}
|
|
||||||
Bstrcpy(user_quote[0], daquote);
|
|
||||||
OSD_Printf("%s\n", daquote);
|
|
||||||
|
|
||||||
user_quote_time[0] = hud_messagetime;
|
|
||||||
pub = NUMPAGES;
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t textsc(int32_t sc)
|
|
||||||
{
|
|
||||||
return scale(sc, hud_textscale, 400);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#define FTAOPAQUETIME 30
|
|
||||||
|
|
||||||
// alpha increments of 8 --> 256 / 8 = 32 --> round up to power of 2 --> 32 --> divide by 2 --> 16 alphatabs required
|
|
||||||
static inline int32_t textsh(uint32_t t)
|
|
||||||
{
|
|
||||||
return (hud_glowingquotes && ((videoGetRenderMode() == REND_CLASSIC && numalphatabs < 15) || t >= FTAOPAQUETIME))
|
|
||||||
? sintable[(t << 7) & 2047] >> 11
|
|
||||||
: (sintable[(FTAOPAQUETIME << 7) & 2047] >> 11);
|
|
||||||
}
|
|
||||||
|
|
||||||
// orientation flags depending on time that a quote has still to be displayed
|
|
||||||
static inline int32_t texto(int32_t t)
|
|
||||||
{
|
|
||||||
if (videoGetRenderMode() != REND_CLASSIC || numalphatabs >= 15 || t > 4)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (t > 2)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
return 1|32;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int32_t texta(int32_t t)
|
|
||||||
{
|
|
||||||
if (videoGetRenderMode() == REND_CLASSIC && numalphatabs < 15)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return 255 - clamp(t<<3, 0, 255);
|
|
||||||
}
|
|
||||||
|
|
||||||
static FORCE_INLINE int32_t text_ypos(void)
|
|
||||||
{
|
|
||||||
if (hud_position == 1 && ud.screen_size == 4 && ud.althud == 1)
|
|
||||||
return 32<<16;
|
|
||||||
|
|
||||||
#ifdef GEKKO
|
|
||||||
return 16<<16;
|
|
||||||
#elif defined EDUKE32_TOUCH_DEVICES
|
|
||||||
return 24<<16;
|
|
||||||
#else
|
|
||||||
return 1<<16;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// this handles both multiplayer and item pickup message type text
|
|
||||||
// both are passed on to gametext
|
|
||||||
void G_PrintGameQuotes(int32_t snum)
|
|
||||||
{
|
|
||||||
auto const ps = g_player[snum].ps;
|
|
||||||
const int32_t reserved_quote = (ps->ftq >= QUOTE_RESERVED && ps->ftq <= QUOTE_RESERVED3);
|
|
||||||
// NOTE: QUOTE_RESERVED4 is not included.
|
|
||||||
|
|
||||||
int32_t const ybase = (fragbarheight()<<16) + text_ypos();
|
|
||||||
int32_t height = 0;
|
|
||||||
int32_t k = ps->fta;
|
|
||||||
|
|
||||||
|
|
||||||
// primary quote
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (k <= 1)
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(apStrings[ps->ftq] == NULL))
|
|
||||||
{
|
|
||||||
OSD_Printf(OSD_ERROR "%s %d null quote %d\n", "screentext:", __LINE__, ps->ftq);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t y = ybase;
|
|
||||||
if (reserved_quote)
|
|
||||||
{
|
|
||||||
#ifdef SPLITSCREEN_MOD_HACKS
|
|
||||||
if (!g_fakeMultiMode)
|
|
||||||
y = 140<<16;
|
|
||||||
else
|
|
||||||
y = 70<<16;
|
|
||||||
#else
|
|
||||||
y = 140<<16;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int32_t pal = 0;
|
|
||||||
int32_t x = 160<<16;
|
|
||||||
|
|
||||||
#ifdef SPLITSCREEN_MOD_HACKS
|
|
||||||
if (g_fakeMultiMode)
|
|
||||||
{
|
|
||||||
pal = g_player[snum].pcolor;
|
|
||||||
const int32_t sidebyside = ud.screen_size != 0;
|
|
||||||
|
|
||||||
if (sidebyside)
|
|
||||||
x = snum == 1 ? 240<<16 : 80<<16;
|
|
||||||
else if (snum == 1)
|
|
||||||
y += 100<<16;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
height = gametext_(x, y, apStrings[ps->ftq], textsh(k), pal, texto(k), texta(k), TEXT_XCENTER).y + (1<<16);
|
|
||||||
}
|
|
||||||
while (0);
|
|
||||||
|
|
||||||
|
|
||||||
// userquotes
|
|
||||||
|
|
||||||
int32_t y = ybase;
|
|
||||||
|
|
||||||
if (k > 1 && !reserved_quote)
|
|
||||||
y += k <= 8 ? (height * (k-1))>>3 : height;
|
|
||||||
|
|
||||||
for (int i = 0; i < MAXUSERQUOTES; i++)
|
|
||||||
{
|
|
||||||
k = user_quote_time[i];
|
|
||||||
|
|
||||||
if (k <= 0)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// int32_t const sh = hud_glowingquotes ? sintable[((totalclock+(i<<2))<<5)&2047]>>11 : 0;
|
|
||||||
|
|
||||||
height = mpgametext(mpgametext_x, y, user_quote[i], textsh(k), texto(k), texta(k), TEXT_LINEWRAP).y + textsc(1<<16);
|
|
||||||
y += k <= 4 ? (height * (k-1))>>2 : height;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void P_DoQuote(int32_t q, DukePlayer_t *p)
|
|
||||||
{
|
|
||||||
int32_t cq = 0;
|
|
||||||
|
|
||||||
if (hud_messages == 0 || q < 0 || !(p->gm & MODE_GAME))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (q & MAXQUOTES)
|
|
||||||
{
|
|
||||||
cq = 1;
|
|
||||||
q &= ~MAXQUOTES;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(apStrings[q] == NULL))
|
|
||||||
{
|
|
||||||
OSD_Printf(OSD_ERROR "%s %d null quote %d\n", "screentext:", __LINE__, q);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p->fta > 0 && q != QUOTE_RESERVED && q != QUOTE_RESERVED2)
|
|
||||||
if (p->ftq == QUOTE_RESERVED || p->ftq == QUOTE_RESERVED2) return;
|
|
||||||
|
|
||||||
p->fta = 100;
|
|
||||||
|
|
||||||
if (p->ftq != q)
|
|
||||||
{
|
|
||||||
if (p == g_player[screenpeek].ps && apStrings[q][0] != '\0')
|
|
||||||
OSD_Printf(cq ? OSDTEXT_DEFAULT "%s\n" : "%s\n", apStrings[q]);
|
|
||||||
|
|
||||||
p->ftq = q;
|
|
||||||
}
|
|
||||||
|
|
||||||
pub = NUMPAGES;
|
|
||||||
pus = NUMPAGES;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
END_BLD_NS
|
END_BLD_NS
|
||||||
|
|
||||||
|
|
|
@ -67,14 +67,11 @@ enum GameFunction_t
|
||||||
gamefunc_Quick_Kick,
|
gamefunc_Quick_Kick,
|
||||||
gamefunc_Next_Weapon,
|
gamefunc_Next_Weapon,
|
||||||
gamefunc_Previous_Weapon,
|
gamefunc_Previous_Weapon,
|
||||||
gamefunc_Unused1, // was gamefunc_Console. Cannot be deleted thanks to CON usuing numeric indiced for addressing this list.
|
|
||||||
gamefunc_Show_DukeMatch_Scores,
|
gamefunc_Show_DukeMatch_Scores,
|
||||||
gamefunc_Dpad_Select,
|
gamefunc_Dpad_Select,
|
||||||
gamefunc_Dpad_Aiming,
|
gamefunc_Dpad_Aiming,
|
||||||
gamefunc_AutoRun,
|
gamefunc_AutoRun,
|
||||||
gamefunc_Last_Weapon,
|
gamefunc_Last_Weapon,
|
||||||
gamefunc_Unused2, // was quickload/quicksave
|
|
||||||
gamefunc_Unused3,
|
|
||||||
gamefunc_Alt_Weapon,
|
gamefunc_Alt_Weapon,
|
||||||
gamefunc_Third_Person_View,
|
gamefunc_Third_Person_View,
|
||||||
gamefunc_See_Chase_View = gamefunc_Third_Person_View,
|
gamefunc_See_Chase_View = gamefunc_Third_Person_View,
|
||||||
|
|
|
@ -47,6 +47,8 @@
|
||||||
#include "rts.h"
|
#include "rts.h"
|
||||||
#include "stats.h"
|
#include "stats.h"
|
||||||
#include "z_music.h"
|
#include "z_music.h"
|
||||||
|
#include "c_dispatch.h"
|
||||||
|
#include "gstrings.h"
|
||||||
|
|
||||||
/* Notes
|
/* Notes
|
||||||
|
|
||||||
|
@ -240,7 +242,32 @@ CVARD(Bool, hud_position, false, CVAR_ARCHIVE, "aligns the status bar to the bot
|
||||||
CVARD(Bool, hud_bgstretch, false, CVAR_ARCHIVE|CVAR_FRONTEND_DUKELIKE, "enable/disable background image stretching in wide resolutions")
|
CVARD(Bool, hud_bgstretch, false, CVAR_ARCHIVE|CVAR_FRONTEND_DUKELIKE, "enable/disable background image stretching in wide resolutions")
|
||||||
CVARD(Int, hud_messagetime, 120, CVAR_ARCHIVE|CVAR_FRONTEND_DUKELIKE, "length of time to display multiplayer chat messages")
|
CVARD(Int, hud_messagetime, 120, CVAR_ARCHIVE|CVAR_FRONTEND_DUKELIKE, "length of time to display multiplayer chat messages")
|
||||||
// Should be available to all games - the message handling should also be consolidated into a game independent feature.
|
// Should be available to all games - the message handling should also be consolidated into a game independent feature.
|
||||||
/*CUSTOM_*/CVARD(Bool, hud_messages, true, CVAR_ARCHIVE | CVAR_FRONTEND_BLOOD|CVAR_FRONTEND_SHADOWWARRIOR, "enable/disable showing messages")
|
/*CUSTOM_*/CVARD(Bool, hud_messages, true, CVAR_ARCHIVE, "enable/disable showing messages")
|
||||||
|
CVAR(Bool, hud_messagenative, true, CVAR_ARCHIVE)
|
||||||
|
|
||||||
|
CCMD (togglemessages)
|
||||||
|
{
|
||||||
|
// Fixme: Needs to redirect to the frontend specific routine to handle on-screen messages.
|
||||||
|
// Ideally as an option to use the ZDoom-style notification.
|
||||||
|
// P_DoQuote(fta ? QUOTE_MESSAGES_ON : QUOTE_MESSAGES_OFF, &myplayer); (Duke/Redneck - beware of crappy implementation!!!
|
||||||
|
// void viewSetMessage(const char *pMessage, const int pal, const MESSAGE_PRIORITY priority) Blood
|
||||||
|
// void viewSetSystemMessage(const char* pMessage, ...) alternative
|
||||||
|
// void PutStringInfo(PLAYERp pp, const char *string) SW
|
||||||
|
|
||||||
|
if (hud_messages)
|
||||||
|
{
|
||||||
|
Printf (128, "%s\n", GStrings("MSGOFF"));
|
||||||
|
hud_messages = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Printf (128, "%s\n", GStrings("MSGON"));
|
||||||
|
hud_messages = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//{
|
//{
|
||||||
//Blood::gGameMessageMgr.SetState(self); // this is for terminaing an active message. Cannot be done like this because CVARs are global.
|
//Blood::gGameMessageMgr.SetState(self); // this is for terminaing an active message. Cannot be done like this because CVARs are global.
|
||||||
//}
|
//}
|
||||||
|
@ -487,6 +514,20 @@ CUSTOM_CVARD(Float, vid_brightness, 0.f, CVAR_ARCHIVE | CVAR_GLOBALCONFIG, "adju
|
||||||
// todo: tell the system to update
|
// todo: tell the system to update
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CCMD (bumpgamma)
|
||||||
|
{
|
||||||
|
// [RH] Gamma correction tables are now generated on the fly for *any* gamma level
|
||||||
|
// Q: What are reasonable limits to use here?
|
||||||
|
|
||||||
|
float newgamma = vid_gamma + 0.1f;
|
||||||
|
|
||||||
|
if (newgamma > 3.0)
|
||||||
|
newgamma = 1.0;
|
||||||
|
|
||||||
|
vid_gamma = newgamma;
|
||||||
|
Printf ("Gamma correction level %g\n", newgamma);
|
||||||
|
}
|
||||||
|
|
||||||
//{ "vid_contrast","adjusts contrast component of gamma ramp",(void *) &vid_contrast, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 },
|
//{ "vid_contrast","adjusts contrast component of gamma ramp",(void *) &vid_contrast, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 },
|
||||||
//{ "vid_brightness","adjusts brightness component of gamma ramp",(void *) &vid_brightness, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 },
|
//{ "vid_brightness","adjusts brightness component of gamma ramp",(void *) &vid_brightness, CVAR_FLOAT|CVAR_FUNCPTR, 0, 10 },
|
||||||
|
|
||||||
|
|
|
@ -491,6 +491,16 @@ bool M_SetMenu(FName menu, int param, FName caller)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
case NAME_QuitMenu:
|
||||||
|
// The separate menu class no longer exists but the name still needs support for existing mods.
|
||||||
|
C_DoCommand("menu_quit");
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case NAME_EndgameMenu:
|
||||||
|
// The separate menu class no longer exists but the name still needs support for existing mods.
|
||||||
|
C_DoCommand("memnu_endgame");
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// End of special checks
|
// End of special checks
|
||||||
|
|
|
@ -377,3 +377,89 @@ DMenu* CreateMessageBoxMenu(DMenu* parent, const char* message, int messagemode,
|
||||||
return newmenu;
|
return newmenu;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
void ActivateEndGameMenu()
|
||||||
|
{
|
||||||
|
FString tempstring = GStrings(netgame ? "NETEND" : "ENDGAME");
|
||||||
|
DMenu *newmenu = CreateMessageBoxMenu(CurrentMenu, tempstring, 0, false, NAME_None, []()
|
||||||
|
{
|
||||||
|
M_ClearMenus();
|
||||||
|
if (!netgame)
|
||||||
|
{
|
||||||
|
if (demorecording)
|
||||||
|
G_CheckDemoStatus();
|
||||||
|
D_StartTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
M_ActivateMenu(newmenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD (menu_endgame)
|
||||||
|
{ // F7
|
||||||
|
if (!usergame)
|
||||||
|
{
|
||||||
|
S_Sound (CHAN_VOICE | CHAN_UI, "menu/invalid", snd_menuvolume, ATTN_NONE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//M_StartControlPanel (true);
|
||||||
|
S_Sound (CHAN_VOICE | CHAN_UI, "menu/activate", snd_menuvolume, ATTN_NONE);
|
||||||
|
|
||||||
|
ActivateEndGameMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
CCMD (menu_quit)
|
||||||
|
{ // F10
|
||||||
|
if (m_quickexit)
|
||||||
|
{
|
||||||
|
ST_Endoom();
|
||||||
|
}
|
||||||
|
|
||||||
|
M_StartControlPanel (true);
|
||||||
|
|
||||||
|
const size_t messageindex = static_cast<size_t>(gametic) % gameinfo.quitmessages.Size();
|
||||||
|
FString EndString;
|
||||||
|
const char *msg = gameinfo.quitmessages[messageindex];
|
||||||
|
if (msg[0] == '$')
|
||||||
|
{
|
||||||
|
if (msg[1] == '*')
|
||||||
|
{
|
||||||
|
EndString = GStrings(msg + 2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
EndString.Format("%s\n\n%s", GStrings(msg + 1), GStrings("DOSY"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else EndString = gameinfo.quitmessages[messageindex];
|
||||||
|
|
||||||
|
DMenu *newmenu = CreateMessageBoxMenu(CurrentMenu, EndString, 0, false, NAME_None, []()
|
||||||
|
{
|
||||||
|
if (!netgame)
|
||||||
|
{
|
||||||
|
if (gameinfo.quitSound.IsNotEmpty())
|
||||||
|
{
|
||||||
|
S_Sound(CHAN_VOICE | CHAN_UI, gameinfo.quitSound, snd_menuvolume, ATTN_NONE);
|
||||||
|
I_WaitVBL(105);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ST_Endoom();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
M_ActivateMenu(newmenu);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -38,3 +38,5 @@ xx(CustomSubMenu7)
|
||||||
xx(UsermapMenu)
|
xx(UsermapMenu)
|
||||||
xx(StartGame)
|
xx(StartGame)
|
||||||
xx(ImageScroller)
|
xx(ImageScroller)
|
||||||
|
xx(QuitMenu)
|
||||||
|
xx(EndgameMenu)
|
||||||
|
|
|
@ -39,6 +39,9 @@ enum
|
||||||
|
|
||||||
void I_Error(const char *fmt, ...) ATTRIBUTE((format(printf,1,2)));
|
void I_Error(const char *fmt, ...) ATTRIBUTE((format(printf,1,2)));
|
||||||
|
|
||||||
|
// This really could need some cleanup - the main problem is that it'd create
|
||||||
|
// lots of potential for merge conflicts.
|
||||||
|
|
||||||
int PrintString (int iprintlevel, const char *outline);
|
int PrintString (int iprintlevel, const char *outline);
|
||||||
int Printf (int printlevel, const char *format, ...) ATTRIBUTE((format(printf,2,3)));
|
int Printf (int printlevel, const char *format, ...) ATTRIBUTE((format(printf,2,3)));
|
||||||
int Printf (const char *format, ...) ATTRIBUTE((format(printf,1,2)));
|
int Printf (const char *format, ...) ATTRIBUTE((format(printf,1,2)));
|
||||||
|
@ -48,26 +51,28 @@ int DPrintf (int level, const char *format, ...) ATTRIBUTE((format(printf,2,3)))
|
||||||
void OSD_Printf(const char *format, ...) ATTRIBUTE((format(printf,1,2)));
|
void OSD_Printf(const char *format, ...) ATTRIBUTE((format(printf,1,2)));
|
||||||
|
|
||||||
template<class... Args>
|
template<class... Args>
|
||||||
inline void initprintf(const char *format, Args&&... args) ATTRIBUTE((format(printf,1,2)))
|
inline void initprintf(const char *format, Args&&... args) //ATTRIBUTE((format(printf,1,2)))
|
||||||
{
|
{
|
||||||
OSD_Printf(format, std::forward<Args>(args)...);
|
OSD_Printf(format, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
// This was a define before - which should be avoided. Used by Shadow Warrior
|
// This was a define before - which should be avoided. Used by Shadow Warrior
|
||||||
template<class... Args>
|
template<class... Args>
|
||||||
inline void buildprintf(const char *format, Args&&... args) ATTRIBUTE((format(printf,1,2)))
|
inline void buildprintf(const char *format, Args&&... args) //ATTRIBUTE((format(printf,1,2)))
|
||||||
{
|
{
|
||||||
OSD_Printf(format, std::forward<Args>(args)...);
|
OSD_Printf(format, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inline void initputs(const char *s)
|
inline void initputs(const char *s)
|
||||||
{
|
{
|
||||||
PrintString(PRINT_HIGH, s);
|
PrintString(PRINT_HIGH|PRINT_NONOTIFY, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void buildputs(const char *s)
|
inline void buildputs(const char *s)
|
||||||
{
|
{
|
||||||
PrintString(PRINT_HIGH, s);
|
PrintString(PRINT_HIGH|PRINT_NONOTIFY, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void debugprintf(const char* f, ...); // Prints to the debugger's log.
|
void debugprintf(const char* f, ...); // Prints to the debugger's log.
|
||||||
|
|
|
@ -4700,16 +4700,6 @@ void G_HandleLocalKeys(void)
|
||||||
P_DoQuote(QUOTE_VIEW_MODE_OFF + myplayer.over_shoulder_on, &myplayer);
|
P_DoQuote(QUOTE_VIEW_MODE_OFF + myplayer.over_shoulder_on, &myplayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inputState.UnboundKeyPressed(sc_F8))
|
|
||||||
{
|
|
||||||
inputState.ClearKeyStatus(sc_F8);
|
|
||||||
|
|
||||||
int const fta = !hud_messages;
|
|
||||||
hud_messages = 1;
|
|
||||||
P_DoQuote(fta ? QUOTE_MESSAGES_ON : QUOTE_MESSAGES_OFF, &myplayer);
|
|
||||||
hud_messages = fta;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (ud.overhead_on != 0)
|
if (ud.overhead_on != 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6247,16 +6247,6 @@ void G_HandleLocalKeys(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inputState.UnboundKeyPressed(sc_F8))
|
|
||||||
{
|
|
||||||
inputState.ClearKeyStatus(sc_F8);
|
|
||||||
|
|
||||||
int const fta = !hud_messages;
|
|
||||||
hud_messages = 1;
|
|
||||||
P_DoQuote(fta ? QUOTE_MESSAGES_ON : QUOTE_MESSAGES_OFF, g_player[myconnectindex].ps);
|
|
||||||
hud_messages = fta;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ud.overhead_on != 0)
|
if (ud.overhead_on != 0)
|
||||||
{
|
{
|
||||||
int const timerOffset = ((int) totalclock - nonsharedtimer);
|
int const timerOffset = ((int) totalclock - nonsharedtimer);
|
||||||
|
|
|
@ -250,38 +250,6 @@ SWBOOL IsCommand(const char *str)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Sends a message to the user quote array
|
|
||||||
//
|
|
||||||
|
|
||||||
void CON_Message(const char *message, ...)
|
|
||||||
{
|
|
||||||
va_list argptr;
|
|
||||||
|
|
||||||
va_start(argptr,message);
|
|
||||||
vsprintf(&con_message[0],message,argptr);
|
|
||||||
va_end(argptr);
|
|
||||||
|
|
||||||
// Send message to user quote array for immediate display
|
|
||||||
adduserquote(&con_message[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Sends a message to the console quote array
|
|
||||||
//
|
|
||||||
|
|
||||||
void CON_ConMessage(const char *message, ...)
|
|
||||||
{
|
|
||||||
va_list argptr;
|
|
||||||
|
|
||||||
va_start(argptr,message);
|
|
||||||
vsprintf(&con_message[0],message,argptr);
|
|
||||||
va_end(argptr);
|
|
||||||
|
|
||||||
// Send message to user quote array for immediate display
|
|
||||||
addconquote(&con_message[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Stores user arguments passed in on the command line for later inspection
|
// Stores user arguments passed in on the command line for later inspection
|
||||||
//
|
//
|
||||||
|
@ -389,7 +357,7 @@ void CON_ProcessUserCommand(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ConPanel)
|
if (ConPanel)
|
||||||
CON_ConMessage("Syntax Error or Command not enabled!");
|
OSD_Printf("Syntax Error or Command not enabled!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -437,7 +405,7 @@ SWBOOL CheckValidSprite(short SpriteNum)
|
||||||
{
|
{
|
||||||
if (SpriteNum < 0 || SpriteNum > 6144)
|
if (SpriteNum < 0 || SpriteNum > 6144)
|
||||||
{
|
{
|
||||||
CON_ConMessage("ERROR: Sprite %d is out of range.",SpriteNum);
|
OSD_Printf("ERROR: Sprite %d is out of range.",SpriteNum);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -452,7 +420,7 @@ void CON_GetHelp(void)
|
||||||
|
|
||||||
if (sscanf(MessageInputString,"%s %s",base,command) < 2)
|
if (sscanf(MessageInputString,"%s %s",base,command) < 2)
|
||||||
{
|
{
|
||||||
CON_ConMessage("Usage: help [keyword]");
|
OSD_Printf("Usage: help [keyword]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -460,25 +428,25 @@ void CON_GetHelp(void)
|
||||||
|
|
||||||
if (!strcmp(command, "xrepeat"))
|
if (!strcmp(command, "xrepeat"))
|
||||||
{
|
{
|
||||||
CON_ConMessage("Usage: xrepeat [repeat value 0-255],");
|
OSD_Printf("Usage: xrepeat [repeat value 0-255],");
|
||||||
CON_ConMessage(" [User ID (-1 for all ID's)], [SpriteNum (-1 for all of type ID)]");
|
OSD_Printf(" [User ID (-1 for all ID's)], [SpriteNum (-1 for all of type ID)]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (!strcmp(command, "yrepeat"))
|
else if (!strcmp(command, "yrepeat"))
|
||||||
{
|
{
|
||||||
CON_ConMessage("Usage: yrepeat [repeat value 0-255],");
|
OSD_Printf("Usage: yrepeat [repeat value 0-255],");
|
||||||
CON_ConMessage(" [User ID (-1 for all ID's)], [SpriteNum (-1 for all of type ID)]");
|
OSD_Printf(" [User ID (-1 for all ID's)], [SpriteNum (-1 for all of type ID)]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (!strcmp(command, "translucent"))
|
else if (!strcmp(command, "translucent"))
|
||||||
{
|
{
|
||||||
CON_ConMessage("Usage: translucent [OFF/ON 0-1],");
|
OSD_Printf("Usage: translucent [OFF/ON 0-1],");
|
||||||
CON_ConMessage(" [User ID (-1 for all ID's)], [SpriteNum (-1 for all of type ID)]");
|
OSD_Printf(" [User ID (-1 for all ID's)], [SpriteNum (-1 for all of type ID)]");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CON_ConMessage("No help was located on that subject.");
|
OSD_Printf("No help was located on that subject.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -513,9 +481,9 @@ void CON_ModXrepeat(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (op2 == -1)
|
if (op2 == -1)
|
||||||
CON_ConMessage("Xrepeat set to %d for all u->ID's for all sprites.",op1);
|
OSD_Printf("Xrepeat set to %d for all u->ID's for all sprites.",op1);
|
||||||
else
|
else
|
||||||
CON_ConMessage("Xrepeat set to %d for u->ID = %d for all sprites.",op1,op2);
|
OSD_Printf("Xrepeat set to %d for u->ID = %d for all sprites.",op1,op2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -526,7 +494,7 @@ void CON_ModXrepeat(void)
|
||||||
if (!CheckValidSprite(op3)) return;
|
if (!CheckValidSprite(op3)) return;
|
||||||
|
|
||||||
sp->xrepeat = op1;
|
sp->xrepeat = op1;
|
||||||
CON_ConMessage("Xrepeat set to %d for sprite %d.",op1,op3);
|
OSD_Printf("Xrepeat set to %d for sprite %d.",op1,op3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -562,9 +530,9 @@ void CON_ModYrepeat(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (op2 == -1)
|
if (op2 == -1)
|
||||||
CON_ConMessage("Yrepeat set to %d for all u->ID's for all sprites.",op1);
|
OSD_Printf("Yrepeat set to %d for all u->ID's for all sprites.",op1);
|
||||||
else
|
else
|
||||||
CON_ConMessage("Yrepeat set to %d for u->ID = %d for all sprites.",op1,op2);
|
OSD_Printf("Yrepeat set to %d for u->ID = %d for all sprites.",op1,op2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -575,7 +543,7 @@ void CON_ModYrepeat(void)
|
||||||
if (!CheckValidSprite(op3)) return;
|
if (!CheckValidSprite(op3)) return;
|
||||||
|
|
||||||
sp->yrepeat = op1;
|
sp->yrepeat = op1;
|
||||||
CON_ConMessage("Yrepeat set to %d for sprite %d.",op1,op3);
|
OSD_Printf("Yrepeat set to %d for sprite %d.",op1,op3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -602,12 +570,12 @@ void CON_ModTranslucent(void)
|
||||||
if (TEST(sp->cstat,CSTAT_SPRITE_TRANSLUCENT))
|
if (TEST(sp->cstat,CSTAT_SPRITE_TRANSLUCENT))
|
||||||
{
|
{
|
||||||
RESET(sp->cstat,CSTAT_SPRITE_TRANSLUCENT);
|
RESET(sp->cstat,CSTAT_SPRITE_TRANSLUCENT);
|
||||||
CON_ConMessage("Translucence RESET for sprite %d.",op1);
|
OSD_Printf("Translucence RESET for sprite %d.",op1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SET(sp->cstat,CSTAT_SPRITE_TRANSLUCENT);
|
SET(sp->cstat,CSTAT_SPRITE_TRANSLUCENT);
|
||||||
CON_ConMessage("Translucence SET for sprite %d.",op1);
|
OSD_Printf("Translucence SET for sprite %d.",op1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,7 +596,7 @@ void CON_SoundTest(void)
|
||||||
|
|
||||||
if (op1 < 0 || op1 >= DIGI_MAX)
|
if (op1 < 0 || op1 >= DIGI_MAX)
|
||||||
{
|
{
|
||||||
CON_ConMessage("Sound number out of range.");
|
OSD_Printf("Sound number out of range.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -650,7 +618,7 @@ void CON_Reverb(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CON_ConMessage("Reverb is now set to %d.",op1);
|
OSD_Printf("Reverb is now set to %d.",op1);
|
||||||
COVER_SetReverb(op1);
|
COVER_SetReverb(op1);
|
||||||
pp->Reverb = op1;
|
pp->Reverb = op1;
|
||||||
}
|
}
|
||||||
|
@ -664,10 +632,10 @@ void CON_Heap(void)
|
||||||
void *testheap;
|
void *testheap;
|
||||||
|
|
||||||
totalmemory = Z_AvailHeap();
|
totalmemory = Z_AvailHeap();
|
||||||
CON_ConMessage("Total heap at game startup = %d", TotalMemory);
|
OSD_Printf("Total heap at game startup = %d", TotalMemory);
|
||||||
CON_ConMessage("ActualHeap reserved for non-cache use = %d", ActualHeap);
|
OSD_Printf("ActualHeap reserved for non-cache use = %d", ActualHeap);
|
||||||
CON_ConMessage("Total unallocated blocks in bytes minus reserved heap = %d", totalmemory);
|
OSD_Printf("Total unallocated blocks in bytes minus reserved heap = %d", totalmemory);
|
||||||
CON_ConMessage("NOTE: Allocation exceeding ActualHeap will result in out of memory");
|
OSD_Printf("NOTE: Allocation exceeding ActualHeap will result in out of memory");
|
||||||
// Find remaining heap space unused
|
// Find remaining heap space unused
|
||||||
i = ActualHeap;
|
i = ActualHeap;
|
||||||
while(i>0)
|
while(i>0)
|
||||||
|
@ -677,10 +645,10 @@ void CON_Heap(void)
|
||||||
i-=1024L; // Decrease in 1k increments
|
i-=1024L; // Decrease in 1k increments
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CON_ConMessage("Heap test result (+ or - 1k):");
|
OSD_Printf("Heap test result (+ or - 1k):");
|
||||||
CON_ConMessage("=============================");
|
OSD_Printf("=============================");
|
||||||
CON_ConMessage("Unallocated heap space remaining = %d",i);
|
OSD_Printf("Unallocated heap space remaining = %d",i);
|
||||||
CON_ConMessage("Unallocated heap space used = %d",ActualHeap - i);
|
OSD_Printf("Unallocated heap space used = %d",ActualHeap - i);
|
||||||
FreeMem(testheap);
|
FreeMem(testheap);
|
||||||
i=0; // Beam us out of here Scotty!
|
i=0; // Beam us out of here Scotty!
|
||||||
}
|
}
|
||||||
|
@ -688,7 +656,7 @@ void CON_Heap(void)
|
||||||
|
|
||||||
if(ActualHeap < 50000L)
|
if(ActualHeap < 50000L)
|
||||||
{
|
{
|
||||||
CON_ConMessage("ALERT: Memory is critically low!");
|
OSD_Printf("ALERT: Memory is critically low!");
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
@ -997,14 +965,14 @@ void CON_Cache(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CON_ConMessage("/////////////////////////////////////////////");
|
OSD_Printf("/////////////////////////////////////////////");
|
||||||
CON_ConMessage("Current Memory Consumption:");
|
OSD_Printf("Current Memory Consumption:");
|
||||||
CON_ConMessage("Total Tiles = %d",tottiles);
|
OSD_Printf("Total Tiles = %d",tottiles);
|
||||||
CON_ConMessage("Total Sprites = %d",totsprites);
|
OSD_Printf("Total Sprites = %d",totsprites);
|
||||||
CON_ConMessage("Total Actors = %d",totactors);
|
OSD_Printf("Total Actors = %d",totactors);
|
||||||
CON_ConMessage("Total Memory = %d",(tottiles+totsprites+totactors));
|
OSD_Printf("Total Memory = %d",(tottiles+totsprites+totactors));
|
||||||
CON_ConMessage("Total with LoWang = %d",(tottiles+totsprites+totactors+TileRangeMem(1024)));
|
OSD_Printf("Total with LoWang = %d",(tottiles+totsprites+totactors+TileRangeMem(1024)));
|
||||||
CON_ConMessage("/////////////////////////////////////////////");
|
OSD_Printf("/////////////////////////////////////////////");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1014,11 +982,11 @@ void CON_SpriteInfo(void)
|
||||||
if (SpriteInfo > 2) SpriteInfo = 0;
|
if (SpriteInfo > 2) SpriteInfo = 0;
|
||||||
|
|
||||||
if (SpriteInfo == 0)
|
if (SpriteInfo == 0)
|
||||||
CON_ConMessage("Sprite information is OFF.");
|
OSD_Printf("Sprite information is OFF.");
|
||||||
else if (SpriteInfo == 1)
|
else if (SpriteInfo == 1)
|
||||||
CON_ConMessage("Sprite information is ON (Brief Mode).");
|
OSD_Printf("Sprite information is ON (Brief Mode).");
|
||||||
else
|
else
|
||||||
CON_ConMessage("Sprite information is ON (Verbose Mode).");
|
OSD_Printf("Sprite information is ON (Verbose Mode).");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CON_KillSprite(void)
|
void CON_KillSprite(void)
|
||||||
|
@ -1045,14 +1013,14 @@ void CON_KillSprite(void)
|
||||||
if (!u->PlayerP)
|
if (!u->PlayerP)
|
||||||
SetSuicide(i);
|
SetSuicide(i);
|
||||||
}
|
}
|
||||||
CON_ConMessage("Killed all sprites except Players.");
|
OSD_Printf("Killed all sprites except Players.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!CheckValidSprite(op1)) return;
|
if (!CheckValidSprite(op1)) return;
|
||||||
|
|
||||||
SetSuicide(op1);
|
SetSuicide(op1);
|
||||||
CON_ConMessage("Killed sprite %d.",op1);
|
OSD_Printf("Killed sprite %d.",op1);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1074,15 +1042,15 @@ void CON_SpriteDetail(void)
|
||||||
if (!CheckValidSprite(op1)) return;
|
if (!CheckValidSprite(op1)) return;
|
||||||
auto const sp = (uspritetype const *)&sprite[op1];
|
auto const sp = (uspritetype const *)&sprite[op1];
|
||||||
|
|
||||||
CON_ConMessage("x = %d, y = %d, z = %d",sp->x,sp->y,sp->z);
|
OSD_Printf("x = %d, y = %d, z = %d",sp->x,sp->y,sp->z);
|
||||||
CON_ConMessage("cstat = %d, picnum = %d",sp->cstat,sp->picnum);
|
OSD_Printf("cstat = %d, picnum = %d",sp->cstat,sp->picnum);
|
||||||
CON_ConMessage("shade = %d, pal = %d, clipdist = %d",sp->shade,sp->pal,sp->clipdist);
|
OSD_Printf("shade = %d, pal = %d, clipdist = %d",sp->shade,sp->pal,sp->clipdist);
|
||||||
CON_ConMessage("xrepeat = %d, yrepeat = %d",sp->xrepeat, sp->yrepeat);
|
OSD_Printf("xrepeat = %d, yrepeat = %d",sp->xrepeat, sp->yrepeat);
|
||||||
CON_ConMessage("xoffset = %d, yoffset = %d",sp->xoffset, sp->yoffset);
|
OSD_Printf("xoffset = %d, yoffset = %d",sp->xoffset, sp->yoffset);
|
||||||
CON_ConMessage("sectnum = %d, statnum = %d",sp->sectnum, sp->statnum);
|
OSD_Printf("sectnum = %d, statnum = %d",sp->sectnum, sp->statnum);
|
||||||
CON_ConMessage("ang = %d, owner = %d",sp->ang,sp->owner);
|
OSD_Printf("ang = %d, owner = %d",sp->ang,sp->owner);
|
||||||
CON_ConMessage("xvel = %d, yvel = %d, zvel = %d",sp->xvel,sp->yvel,sp->zvel);
|
OSD_Printf("xvel = %d, yvel = %d, zvel = %d",sp->xvel,sp->yvel,sp->zvel);
|
||||||
CON_ConMessage("lotag = %d, hitag = %d, extra = %d",sp->lotag,sp->hitag,sp->extra);
|
OSD_Printf("lotag = %d, hitag = %d, extra = %d",sp->lotag,sp->hitag,sp->extra);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CON_UserDetail(void)
|
void CON_UserDetail(void)
|
||||||
|
@ -1107,19 +1075,19 @@ void CON_UserDetail(void)
|
||||||
|
|
||||||
if (!u) return;
|
if (!u) return;
|
||||||
|
|
||||||
CON_ConMessage("State = %p, Rot = %p",u->State,u->Rot);
|
OSD_Printf("State = %p, Rot = %p",u->State,u->Rot);
|
||||||
CON_ConMessage("StateStart = %p, StateEnd = %p",u->StateStart,u->StateEnd);
|
OSD_Printf("StateStart = %p, StateEnd = %p",u->StateStart,u->StateEnd);
|
||||||
CON_ConMessage("ActorActionFunc = %p",u->ActorActionFunc);
|
OSD_Printf("ActorActionFunc = %p",u->ActorActionFunc);
|
||||||
CON_ConMessage("ActorActionSet = %p",u->ActorActionSet);
|
OSD_Printf("ActorActionSet = %p",u->ActorActionSet);
|
||||||
CON_ConMessage("Personality = %p",u->Personality);
|
OSD_Printf("Personality = %p",u->Personality);
|
||||||
CON_ConMessage("Attrib = %p",u->Attrib);
|
OSD_Printf("Attrib = %p",u->Attrib);
|
||||||
CON_ConMessage("Flags = %d, Flags2 = %d, Tics = %d",u->Flags,u->Flags2,u->Tics);
|
OSD_Printf("Flags = %d, Flags2 = %d, Tics = %d",u->Flags,u->Flags2,u->Tics);
|
||||||
CON_ConMessage("RotNum = %d, ID = %d",u->RotNum,u->ID);
|
OSD_Printf("RotNum = %d, ID = %d",u->RotNum,u->ID);
|
||||||
CON_ConMessage("Health = %d, MaxHealth = %d",u->Health,u->MaxHealth);
|
OSD_Printf("Health = %d, MaxHealth = %d",u->Health,u->MaxHealth);
|
||||||
CON_ConMessage("LastDamage = %d, PainThreshold = %d",u->LastDamage,u->PainThreshold);
|
OSD_Printf("LastDamage = %d, PainThreshold = %d",u->LastDamage,u->PainThreshold);
|
||||||
CON_ConMessage("jump_speed = %d, jump_grav = %d",u->jump_speed,u->jump_grav);
|
OSD_Printf("jump_speed = %d, jump_grav = %d",u->jump_speed,u->jump_grav);
|
||||||
CON_ConMessage("xchange = %d, ychange = %d, zchange = %d",u->xchange,u->ychange,u->zchange);
|
OSD_Printf("xchange = %d, ychange = %d, zchange = %d",u->xchange,u->ychange,u->zchange);
|
||||||
CON_ConMessage("ret = %d, WaitTics = %d, spal = %d",u->ret,u->WaitTics,u->spal);
|
OSD_Printf("ret = %d, WaitTics = %d, spal = %d",u->ret,u->WaitTics,u->spal);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CON_Quit(void)
|
void CON_Quit(void)
|
||||||
|
@ -1143,7 +1111,7 @@ void CON_MultiNameChange(void)
|
||||||
|
|
||||||
void CON_LoadSetup(void)
|
void CON_LoadSetup(void)
|
||||||
{
|
{
|
||||||
CON_ConMessage("JonoF: Maybe later");
|
OSD_Printf("JonoF: Maybe later");
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *damagename[] =
|
const char *damagename[] =
|
||||||
|
@ -1191,34 +1159,34 @@ void CON_DamageData(void)
|
||||||
|
|
||||||
if (op1 < -1 || op1 > 46)
|
if (op1 < -1 || op1 > 46)
|
||||||
{
|
{
|
||||||
CON_ConMessage("Damage Data index is out of range.");
|
OSD_Printf("Damage Data index is out of range.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(field,"damage_lo"))
|
if (!strcmp(field,"damage_lo"))
|
||||||
{
|
{
|
||||||
DamageData[op1].damage_lo = op2;
|
DamageData[op1].damage_lo = op2;
|
||||||
CON_ConMessage("DamageData[%s].damage_lo = %d",damagename[op1],op2);
|
OSD_Printf("DamageData[%s].damage_lo = %d",damagename[op1],op2);
|
||||||
}
|
}
|
||||||
else if (!strcmp(field,"damage_hi"))
|
else if (!strcmp(field,"damage_hi"))
|
||||||
{
|
{
|
||||||
DamageData[op1].damage_hi = op2;
|
DamageData[op1].damage_hi = op2;
|
||||||
CON_ConMessage("DamageData[%s].damage_hi = %d",damagename[op1],op2);
|
OSD_Printf("DamageData[%s].damage_hi = %d",damagename[op1],op2);
|
||||||
}
|
}
|
||||||
else if (!strcmp(field,"radius"))
|
else if (!strcmp(field,"radius"))
|
||||||
{
|
{
|
||||||
DamageData[op1].radius = op2;
|
DamageData[op1].radius = op2;
|
||||||
CON_ConMessage("DamageData[%s].radius = %d",damagename[op1],op2);
|
OSD_Printf("DamageData[%s].radius = %d",damagename[op1],op2);
|
||||||
}
|
}
|
||||||
else if (!strcmp(field,"max_ammo"))
|
else if (!strcmp(field,"max_ammo"))
|
||||||
{
|
{
|
||||||
DamageData[op1].max_ammo = op2;
|
DamageData[op1].max_ammo = op2;
|
||||||
CON_ConMessage("DamageData[%s].max_ammo = %d",damagename[op1],op2);
|
OSD_Printf("DamageData[%s].max_ammo = %d",damagename[op1],op2);
|
||||||
}
|
}
|
||||||
else if (!strcmp(field,"min_ammo"))
|
else if (!strcmp(field,"min_ammo"))
|
||||||
{
|
{
|
||||||
DamageData[op1].min_ammo = op2;
|
DamageData[op1].min_ammo = op2;
|
||||||
CON_ConMessage("DamageData[%s].min_ammo = %d",damagename[op1],op2);
|
OSD_Printf("DamageData[%s].min_ammo = %d",damagename[op1],op2);
|
||||||
}
|
}
|
||||||
if (!strcmp(field,"show"))
|
if (!strcmp(field,"show"))
|
||||||
{
|
{
|
||||||
|
@ -1227,17 +1195,17 @@ void CON_DamageData(void)
|
||||||
for (i=op2; i<=op2+10; i+=2)
|
for (i=op2; i<=op2+10; i+=2)
|
||||||
{
|
{
|
||||||
if (i<47)
|
if (i<47)
|
||||||
CON_ConMessage("[%d] = %s [%d] = %s",i,damagename[i],i+1,damagename[i+1]);
|
OSD_Printf("[%d] = %s [%d] = %s",i,damagename[i],i+1,damagename[i+1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CON_ConMessage(" ");
|
OSD_Printf(" ");
|
||||||
CON_ConMessage("Item = %s:",damagename[op1]);
|
OSD_Printf("Item = %s:",damagename[op1]);
|
||||||
CON_ConMessage("damage_lo = %d, damag_hi = %d",DamageData[op1].damage_lo,DamageData[op1].damage_hi);
|
OSD_Printf("damage_lo = %d, damag_hi = %d",DamageData[op1].damage_lo,DamageData[op1].damage_hi);
|
||||||
CON_ConMessage("radius = %u",DamageData[op1].radius);
|
OSD_Printf("radius = %u",DamageData[op1].radius);
|
||||||
CON_ConMessage("min_ammo = %d, max_ammo = %d",DamageData[op1].min_ammo,DamageData[op1].max_ammo);
|
OSD_Printf("min_ammo = %d, max_ammo = %d",DamageData[op1].min_ammo,DamageData[op1].max_ammo);
|
||||||
CON_ConMessage(" ");
|
OSD_Printf(" ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1279,13 +1247,13 @@ void CON_Tweak(void)
|
||||||
{
|
{
|
||||||
extern short ADJUST;
|
extern short ADJUST;
|
||||||
ADJUST = op1;
|
ADJUST = op1;
|
||||||
CON_ConMessage("Zvelocity ADJUST set to %d.",op1);
|
OSD_Printf("Zvelocity ADJUST set to %d.",op1);
|
||||||
}
|
}
|
||||||
else if (!strcmp(command,"adjustv"))
|
else if (!strcmp(command,"adjustv"))
|
||||||
{
|
{
|
||||||
extern int ADJUSTV;
|
extern int ADJUSTV;
|
||||||
ADJUSTV = op1;
|
ADJUSTV = op1;
|
||||||
CON_ConMessage("Zvelocity ADJUSTV set to %d.",op1);
|
OSD_Printf("Zvelocity ADJUSTV set to %d.",op1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1309,20 +1277,20 @@ void CON_CheckHeap(void)
|
||||||
switch( _heapchk() )
|
switch( _heapchk() )
|
||||||
{
|
{
|
||||||
case _HEAPOK:
|
case _HEAPOK:
|
||||||
CON_ConMessage( "OK - heap is good\n" );
|
OSD_Printf( "OK - heap is good\n" );
|
||||||
break;
|
break;
|
||||||
case _HEAPEMPTY:
|
case _HEAPEMPTY:
|
||||||
CON_ConMessage( "OK - heap is empty\n" );
|
OSD_Printf( "OK - heap is empty\n" );
|
||||||
break;
|
break;
|
||||||
case _HEAPBADBEGIN:
|
case _HEAPBADBEGIN:
|
||||||
CON_ConMessage( "ERROR - heap is damaged\n" );
|
OSD_Printf( "ERROR - heap is damaged\n" );
|
||||||
break;
|
break;
|
||||||
case _HEAPBADNODE:
|
case _HEAPBADNODE:
|
||||||
CON_ConMessage( "ERROR - bad node in heap\n" );
|
OSD_Printf( "ERROR - bad node in heap\n" );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
CON_ConMessage("JonoF: Not now");
|
OSD_Printf("JonoF: Not now");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1364,7 +1332,7 @@ void heap_dump( void )
|
||||||
void CON_DumpHeap(void)
|
void CON_DumpHeap(void)
|
||||||
{
|
{
|
||||||
//heap_dump(); // Dump it.
|
//heap_dump(); // Dump it.
|
||||||
CON_ConMessage("JonoF: Not now");
|
OSD_Printf("JonoF: Not now");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CON_ShowMirror(void)
|
void CON_ShowMirror(void)
|
||||||
|
@ -1382,21 +1350,21 @@ void CON_ShowMirror(void)
|
||||||
|
|
||||||
if (op1 < 0 || op1 > 9)
|
if (op1 < 0 || op1 > 9)
|
||||||
{
|
{
|
||||||
CON_ConMessage("Mirror number is out of range!");
|
OSD_Printf("Mirror number is out of range!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CON_ConMessage("camera is the ST1 sprite used as the view spot");
|
OSD_Printf("camera is the ST1 sprite used as the view spot");
|
||||||
CON_ConMessage("camspite is the SpriteNum of the drawtotile tile in editart");
|
OSD_Printf("camspite is the SpriteNum of the drawtotile tile in editart");
|
||||||
CON_ConMessage("camspic is the tile number of the drawtotile in editart");
|
OSD_Printf("camspic is the tile number of the drawtotile in editart");
|
||||||
CON_ConMessage("iscamera is whether or not this mirror is a camera type");
|
OSD_Printf("iscamera is whether or not this mirror is a camera type");
|
||||||
CON_ConMessage(" ");
|
OSD_Printf(" ");
|
||||||
CON_ConMessage("mirror[%d].mirrorwall = %d",op1,mirror[op1].mirrorwall);
|
OSD_Printf("mirror[%d].mirrorwall = %d",op1,mirror[op1].mirrorwall);
|
||||||
CON_ConMessage("mirror[%d].mirrorsector = %d",op1,mirror[op1].mirrorsector);
|
OSD_Printf("mirror[%d].mirrorsector = %d",op1,mirror[op1].mirrorsector);
|
||||||
CON_ConMessage("mirror[%d].camera = %d",op1,mirror[op1].camera);
|
OSD_Printf("mirror[%d].camera = %d",op1,mirror[op1].camera);
|
||||||
CON_ConMessage("mirror[%d].camsprite = %d",op1,mirror[op1].camsprite);
|
OSD_Printf("mirror[%d].camsprite = %d",op1,mirror[op1].camsprite);
|
||||||
CON_ConMessage("mirror[%d].campic = %d",op1,mirror[op1].campic);
|
OSD_Printf("mirror[%d].campic = %d",op1,mirror[op1].campic);
|
||||||
CON_ConMessage("mirror[%d].iscamera = %d",op1,mirror[op1].ismagic);
|
OSD_Printf("mirror[%d].iscamera = %d",op1,mirror[op1].ismagic);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CON_DumpSoundList(void)
|
void CON_DumpSoundList(void)
|
||||||
|
@ -1404,7 +1372,7 @@ void CON_DumpSoundList(void)
|
||||||
extern void DumpSounds(void);
|
extern void DumpSounds(void);
|
||||||
|
|
||||||
DumpSounds();
|
DumpSounds();
|
||||||
CON_Message("Sounds dumped to dbg.foo");
|
OSD_Printf("Sounds dumped to dbg.foo");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -694,7 +694,7 @@ analyzesprites(int viewx, int viewy, int viewz, SWBOOL mirror)
|
||||||
tu = User[SpriteNum];
|
tu = User[SpriteNum];
|
||||||
|
|
||||||
//if(tsp->statnum == STAT_GENERIC_QUEUE)
|
//if(tsp->statnum == STAT_GENERIC_QUEUE)
|
||||||
// CON_ConMessage("tsp->pal = %d",tsp->pal);
|
// OSD_Printf("tsp->pal = %d",tsp->pal);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
// Brighten up the sprite if set somewhere else to do so
|
// Brighten up the sprite if set somewhere else to do so
|
||||||
|
|
|
@ -78,13 +78,14 @@ void dsprintf(char *, char *, ...);
|
||||||
|
|
||||||
void PokeStringMono(uint8_t Attr, uint8_t* String);
|
void PokeStringMono(uint8_t Attr, uint8_t* String);
|
||||||
|
|
||||||
#if 1 // !JIM! Frank, I redirect this for me you'll want to set this back for you
|
#if 1
|
||||||
|
// !JIM! Frank, I redirect this for me you'll want to set this back for you
|
||||||
extern int DispMono;
|
extern int DispMono;
|
||||||
#define MONO_PRINT(str) if (DispMono) PokeStringMono(/*MDA_NORMAL*/ 0, str)
|
#define MONO_PRINT(str) if (DispMono) PokeStringMono(/*MDA_NORMAL*/ 0, str)
|
||||||
#else
|
#else
|
||||||
void adduserquote(const char *daquote);
|
void adduserquote(const char *daquote);
|
||||||
extern int DispMono;
|
extern int DispMono;
|
||||||
#define MONO_PRINT(str) if (DispMono) CON_ConMessage(str); // Put it in my userquote stuff!
|
#define MONO_PRINT(str) if (DispMono) OSD_Printf(str); // Put it in my userquote stuff!
|
||||||
//#define MONO_PRINT(str) if (DispMono) printf(str);
|
//#define MONO_PRINT(str) if (DispMono) printf(str);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -857,8 +858,6 @@ void addconquote(const char *daquote);
|
||||||
// Console
|
// Console
|
||||||
//
|
//
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
void CON_Message(const char *message, ...) PRINTF_FORMAT(1, 2);
|
|
||||||
void CON_ConMessage(const char *message, ...) PRINTF_FORMAT(1, 2);
|
|
||||||
void CON_StoreArg(const char *userarg);
|
void CON_StoreArg(const char *userarg);
|
||||||
SWBOOL CON_CheckParm(const char *userarg);
|
SWBOOL CON_CheckParm(const char *userarg);
|
||||||
void CON_CommandHistory(signed char dir);
|
void CON_CommandHistory(signed char dir);
|
||||||
|
|
|
@ -423,7 +423,7 @@ void SetFadeAmt(PLAYERp pp, short damage, unsigned char startcolor)
|
||||||
short fadedamage = 0;
|
short fadedamage = 0;
|
||||||
RGB_color color;
|
RGB_color color;
|
||||||
|
|
||||||
//CON_ConMessage("SetAmt: fadeamt = %d, startcolor = %d, pp = %d",pp->FadeAmt,startcolor,pp->StartColor);
|
//OSD_Printf("SetAmt: fadeamt = %d, startcolor = %d, pp = %d",pp->FadeAmt,startcolor,pp->StartColor);
|
||||||
|
|
||||||
if (abs(pp->FadeAmt) > 0 && startcolor == pp->StartColor)
|
if (abs(pp->FadeAmt) > 0 && startcolor == pp->StartColor)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -838,7 +838,7 @@ int PachinkoCheckWin(short SpriteNum)
|
||||||
|
|
||||||
u->WaitTics = 0; // Can operate it again now
|
u->WaitTics = 0; // Can operate it again now
|
||||||
|
|
||||||
//CON_ConMessage("bool1 = %d",TEST_BOOL1(sp));
|
//OSD_Printf("bool1 = %d",TEST_BOOL1(sp));
|
||||||
// You already won, no more from this machine!
|
// You already won, no more from this machine!
|
||||||
if (TEST_BOOL1(sp)) return 0;
|
if (TEST_BOOL1(sp)) return 0;
|
||||||
|
|
||||||
|
|
|
@ -746,7 +746,7 @@ SWBOOL CacheSound(int num, int type)
|
||||||
if (!OpenSound(vp, handle, &length))
|
if (!OpenSound(vp, handle, &length))
|
||||||
{
|
{
|
||||||
sprintf(ds,"Could not open sound %s, num %d, priority %d\n",vp->name,num,vp->priority);
|
sprintf(ds,"Could not open sound %s, num %d, priority %d\n",vp->name,num,vp->priority);
|
||||||
CON_ConMessage("%s", ds);
|
OSD_Printf("%s", ds);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5798,7 +5798,7 @@ KeyMain:
|
||||||
sprintf(ds,"Fortune Say: %s\n",ReadFortune[STD_RANDOM_RANGE(10)]);
|
sprintf(ds,"Fortune Say: %s\n",ReadFortune[STD_RANDOM_RANGE(10)]);
|
||||||
else
|
else
|
||||||
sprintf(ds,"Fortune Say: %s\n",ReadFortune[STD_RANDOM_RANGE(MAX_FORTUNES)]);
|
sprintf(ds,"Fortune Say: %s\n",ReadFortune[STD_RANDOM_RANGE(MAX_FORTUNES)]);
|
||||||
CON_Message("%s", ds);
|
OSD_Printf("%s", ds);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup
|
SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup
|
||||||
|
|
|
@ -447,7 +447,7 @@ void PutStringInfo(PLAYERp pp, const char *string)
|
||||||
if (!hud_messages)
|
if (!hud_messages)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CON_ConMessage("%s", string); // Put it in the console too
|
OSD_Printf("%s", string); // Put it in the console too
|
||||||
PutStringInfoLine(pp, string);
|
PutStringInfoLine(pp, string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,13 @@ F1 "openhelpmenu"
|
||||||
F2 "opensavemenu"
|
F2 "opensavemenu"
|
||||||
F3 "openloadmenu"
|
F3 "openloadmenu"
|
||||||
F4 "openmenu SoundOptions"
|
F4 "openmenu SoundOptions"
|
||||||
F5 "openmeun OptionMenu" //this key performs some fuckery with the music in Duke Nukem,so the default here is Blood's.
|
F5 "openmenu OptionMenu" //this key performs some fuckery with the music in Duke Nukem,so the default here is Blood's.
|
||||||
F6 "+Quick_Save"
|
F6 "quicksave"
|
||||||
F7 "+Third_Person_View"
|
F7 "+Third_Person_View"
|
||||||
//F8 "toggle hud_messages" // this one needs a means to print the status to the quote display.
|
F8 "togglemessages"
|
||||||
F9 "+Quick_Load"
|
F9 "quickload"
|
||||||
F10 "openmenu QuitIngame"
|
F10 "menu_endgame"
|
||||||
F11 "openmenu ColorCorrection"
|
F11 "bumpgamma"
|
||||||
F12 "screenshot"
|
F12 "screenshot"
|
||||||
1 "+Weapon_1"
|
1 "+Weapon_1"
|
||||||
2 "+Weapon_2"
|
2 "+Weapon_2"
|
||||||
|
@ -63,17 +63,3 @@ K "+See_Coop_View"
|
||||||
Mouse1 "+Fire"
|
Mouse1 "+Fire"
|
||||||
MWheelUp "+Previous_Weapon"
|
MWheelUp "+Previous_Weapon"
|
||||||
MWheelDown "+Next_Weapon"
|
MWheelDown "+Next_Weapon"
|
||||||
|
|
||||||
Pad_A "+Fire"
|
|
||||||
Pad_B "+Toggle_Crouch" // fixme: not yet supported by all games
|
|
||||||
Pad_Back "+Map"
|
|
||||||
LTrigger "+Run"
|
|
||||||
RTrigger "+Quick_Kick"
|
|
||||||
LShoulder "+Crouch"
|
|
||||||
RShoulder "+Jump"
|
|
||||||
DPadUp "+Previous_Weapon"
|
|
||||||
DPadDown "+Next_Weapon"
|
|
||||||
Pad_X "+Open"
|
|
||||||
Pad_Y "+Inventory"
|
|
||||||
DPadLeft "+Inventory_Left"
|
|
||||||
DPadRight "+Inventory_Right"
|
|
||||||
|
|
|
@ -865,8 +865,8 @@ OptionMenu "OtherControlsMenu"// protected
|
||||||
Control "$CNTRLMNU_PAUSE" , "pause"
|
Control "$CNTRLMNU_PAUSE" , "pause"
|
||||||
|
|
||||||
StaticText ""
|
StaticText ""
|
||||||
Control "$CNTRLMNU_DISPLAY_INC" , "sizeup"
|
Control "$CNTRLMNU_DISPLAY_INC" , "+enlarge_Screen"
|
||||||
Control "$CNTRLMNU_DISPLAY_DEC" , "sizedown"
|
Control "$CNTRLMNU_DISPLAY_DEC" , "+shrink_screen"
|
||||||
Control "$CNTRLMNU_TOGGLE_MESSAGES" , "togglemessages"
|
Control "$CNTRLMNU_TOGGLE_MESSAGES" , "togglemessages"
|
||||||
Control "$CNTRLMNU_ADJUST_GAMMA" , "bumpgamma"
|
Control "$CNTRLMNU_ADJUST_GAMMA" , "bumpgamma"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue