ref: 4dfffeb54db996c6ea0e52e1707633b80a581f2e
parent: c41381ead5f96f61797e96ba302f4a09d9922a88
author: Simon Howard <[email protected]>
date: Mon Oct 3 17:39:39 EDT 2005
Dehacked text substitutions Subversion-branch: /trunk/chocolate-doom Subversion-revision: 160
--- a/src/am_map.c
+++ b/src/am_map.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: am_map.c 71 2005-09-04 18:44:23Z fraggle $
+// $Id: am_map.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -23,6 +23,9 @@
//
//
// $Log$
+// Revision 1.6 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.5 2005/09/04 18:44:22 fraggle
// shut up compiler warnings
//
@@ -43,10 +46,11 @@
//
//-----------------------------------------------------------------------------
-static const char rcsid[] = "$Id: am_map.c 71 2005-09-04 18:44:23Z fraggle $";
+static const char rcsid[] = "$Id: am_map.c 160 2005-10-03 21:39:39Z fraggle $";
#include <stdio.h>
+#include "deh_main.h"
#include "z_zone.h"
#include "doomdef.h"
@@ -701,20 +705,26 @@
case AM_FOLLOWKEY:
followplayer = !followplayer;
f_oldloc.x = INT_MAX;
- plr->message = followplayer ? AMSTR_FOLLOWON : AMSTR_FOLLOWOFF;
+ if (followplayer)
+ plr->message = DEH_String(AMSTR_FOLLOWON);
+ else
+ plr->message = DEH_String(AMSTR_FOLLOWOFF);
break;
case AM_GRIDKEY:
grid = !grid;
- plr->message = grid ? AMSTR_GRIDON : AMSTR_GRIDOFF;
+ if (grid)
+ plr->message = DEH_String(AMSTR_GRIDON);
+ else
+ plr->message = DEH_String(AMSTR_GRIDOFF);
break;
case AM_MARKKEY:
- sprintf(buffer, "%s %d", AMSTR_MARKEDSPOT, markpointnum);
+ sprintf(buffer, "%s %d", DEH_String(AMSTR_MARKEDSPOT), markpointnum);
plr->message = buffer;
AM_addMark();
break;
case AM_CLEARMARKKEY:
AM_clearMarks();
- plr->message = AMSTR_MARKSCLEARED;
+ plr->message = DEH_String(AMSTR_MARKSCLEARED);
break;
default:
cheatstate=0;
--- a/src/deh_main.h
+++ b/src/deh_main.h
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: deh_main.h 153 2005-10-02 23:49:01Z fraggle $
+// $Id: deh_main.h 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 2005 Simon Howard
//
@@ -21,6 +21,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.2 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.1 2005/10/02 23:49:01 fraggle
// The beginnings of dehacked support
//
@@ -39,6 +42,12 @@
void DEH_CheckCommandLine(void);
boolean DEH_ParseAssignment(char *line, char **variable_name, char **value);
+
+// deh_text.c:
+//
+// Used to do dehacked text substitutions throughout the program
+
+char *DEH_String(char *s);
#endif /* #ifndef DEH_MAIN_H */
--- a/src/deh_text.c
+++ b/src/deh_text.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: deh_text.c 157 2005-10-03 11:08:16Z fraggle $
+// $Id: deh_text.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 2005 Simon Howard
//
@@ -21,6 +21,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.3 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.2 2005/10/03 11:08:16 fraggle
// Replace end of section functions with NULLs as they arent currently being
// used for anything.
@@ -37,21 +40,184 @@
#include "doomdef.h"
#include "doomtype.h"
+
+#include "z_zone.h"
+
#include "deh_defs.h"
+#include "deh_io.h"
+typedef struct
+{
+ char *from_text;
+ char *to_text;
+} deh_substitution_t;
+
+static deh_substitution_t **hash_table;
+static int hash_table_entries;
+static int hash_table_length;
+
+// This is the algorithm used by glib
+
+static unsigned int strhash(char *s)
+{
+ char *p = s;
+ unsigned int h = *p;
+
+ if (h)
+ {
+ for (p += 1; *p; p++)
+ h = (h << 5) - h + *p;
+ }
+
+ return h;
+}
+
+// Look up a string to see if it has been replaced with something else
+// This will be used throughout the program to substitute text
+
+char *DEH_String(char *s)
+{
+ int entry;
+
+ entry = strhash(s) % hash_table_length;
+
+ while (hash_table[entry] != NULL)
+ {
+ if (!strcmp(hash_table[entry]->from_text, s))
+ {
+ // substitution found!
+
+ return hash_table[entry]->to_text;
+ }
+
+ entry = (entry + 1) % hash_table_length;
+ }
+
+ // no substitution found
+
+ return s;
+}
+
+static void DEH_AddToHashtable(deh_substitution_t *sub);
+
+static void IncreaseHashtable(void)
+{
+ deh_substitution_t **old_table;
+ int old_table_length;
+ int i;
+
+ // save the old table
+
+ old_table = hash_table;
+ old_table_length = hash_table_length;
+
+ // double the size
+
+ hash_table_length *= 2;
+ hash_table = Z_Malloc(sizeof(deh_substitution_t *) * hash_table_length,
+ PU_STATIC, NULL);
+ memset(hash_table, 0, sizeof(deh_substitution_t *) * hash_table_length);
+
+ // go through the old table and insert all the old entries
+
+ for (i=0; i<old_table_length; ++i)
+ {
+ if (old_table[i] != NULL)
+ {
+ DEH_AddToHashtable(old_table[i]);
+ }
+ }
+
+ // free the old table
+
+ Z_Free(old_table);
+}
+
+static void DEH_AddToHashtable(deh_substitution_t *sub)
+{
+ int entry;
+
+ // if the hash table is more than 60% full, increase its size
+
+ if ((hash_table_entries * 10) / hash_table_length > 6)
+ {
+ IncreaseHashtable();
+ }
+
+ // find where to insert it
+
+ entry = strhash(sub->from_text) % hash_table_length;
+
+ while (hash_table[entry] != NULL)
+ {
+ entry = (entry + 1) % hash_table_length;
+ }
+
+ hash_table[entry] = sub;
+ ++hash_table_entries;
+}
+
+static void DEH_TextInit(void)
+{
+ // init hash table
+
+ hash_table_entries = 0;
+ hash_table_length = 16;
+ hash_table = Z_Malloc(sizeof(deh_substitution_t *) * hash_table_length,
+ PU_STATIC, NULL);
+ memset(hash_table, 0, sizeof(deh_substitution_t *) * hash_table_length);
+}
+
static void *DEH_TextStart(deh_context_t *context, char *line)
{
+ deh_substitution_t *sub;
+ int fromlen, tolen;
+ int i;
+
+ sscanf(line, "Text %i %i", &fromlen, &tolen);
+
+ sub = Z_Malloc(sizeof(deh_substitution_t), PU_STATIC, NULL);
+ sub->from_text = Z_Malloc(fromlen + 1, PU_STATIC, NULL);
+ sub->to_text = Z_Malloc(tolen + 1, PU_STATIC, NULL);
+
+ // read in the "from" text
+
+ for (i=0; i<fromlen; ++i)
+ {
+ int c;
+
+ c = DEH_GetChar(context);
+
+ sub->from_text[i] = c;
+ }
+ sub->from_text[fromlen] = '\0';
+
+ // read in the "to" text
+
+ for (i=0; i<tolen; ++i)
+ {
+ int c;
+
+ c = DEH_GetChar(context);
+
+ sub->to_text[i] = c;
+ }
+ sub->to_text[tolen] = '\0';
+
+ DEH_AddToHashtable(sub);
+
return NULL;
}
static void DEH_TextParseLine(deh_context_t *context, char *line, void *tag)
{
+ // not used
}
deh_section_t deh_section_text =
{
"Text",
- NULL,
+ DEH_TextInit,
DEH_TextStart,
DEH_TextParseLine,
NULL,
--- a/src/f_finale.c
+++ b/src/f_finale.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: f_finale.c 149 2005-10-02 04:16:47Z fraggle $
+// $Id: f_finale.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.4 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.3 2005/10/02 04:16:47 fraggle
// Fixes for Final Doom
//
@@ -39,11 +42,12 @@
static const char
-rcsid[] = "$Id: f_finale.c 149 2005-10-02 04:16:47Z fraggle $";
+rcsid[] = "$Id: f_finale.c 160 2005-10-03 21:39:39Z fraggle $";
#include <ctype.h>
// Functions.
+#include "deh_main.h"
#include "i_system.h"
#include "m_swap.h"
#include "z_zone.h"
@@ -152,6 +156,10 @@
finaleflat = screen->background;
}
}
+
+ // Do dehacked substitutions of strings
+
+ finaletext = DEH_String(finaletext);
finalestage = 0;
finalecount = 0;
@@ -555,7 +563,7 @@
// erase the entire screen to a background
V_DrawPatch (0,0,0, W_CacheLumpName ("BOSSBACK", PU_CACHE));
- F_CastPrint (castorder[castnum].name);
+ F_CastPrint (DEH_String(castorder[castnum].name));
// draw the current frame in the middle of the screen
sprdef = &sprites[caststate->sprite];
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: g_game.c 120 2005-09-22 13:13:47Z fraggle $
+// $Id: g_game.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.12 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.11 2005/09/22 13:13:47 fraggle
// Remove external statistics driver support (-statcopy):
// nonfunctional on modern systems and never used.
@@ -71,7 +74,7 @@
static const char
-rcsid[] = "$Id: g_game.c 120 2005-09-22 13:13:47Z fraggle $";
+rcsid[] = "$Id: g_game.c 160 2005-10-03 21:39:39Z fraggle $";
#include <string.h>
#include <stdlib.h>
@@ -79,6 +82,8 @@
#include "doomdef.h"
#include "doomstat.h"
+#include "deh_main.h"
+
#include "z_zone.h"
#include "f_finale.h"
#include "m_argv.h"
@@ -1382,7 +1387,7 @@
gameaction = ga_nothing;
savedescription[0] = 0;
- players[consoleplayer].message = GGSAVED;
+ players[consoleplayer].message = DEH_String(GGSAVED);
// draw the pattern into the back screen
R_FillBackScreen ();
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: hu_stuff.c 150 2005-10-02 04:22:06Z fraggle $
+// $Id: hu_stuff.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.5 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.4 2005/10/02 04:22:06 fraggle
// Fix Final Doom automap level name display
//
@@ -40,7 +43,7 @@
//-----------------------------------------------------------------------------
static const char
-rcsid[] = "$Id: hu_stuff.c 150 2005-10-02 04:22:06Z fraggle $";
+rcsid[] = "$Id: hu_stuff.c 160 2005-10-03 21:39:39Z fraggle $";
#include <ctype.h>
@@ -48,6 +51,7 @@
#include "z_zone.h"
+#include "deh_main.h"
#include "m_swap.h"
#include "hu_stuff.h"
@@ -370,6 +374,10 @@
break;
}
+ // dehacked substitution to get modified level name
+
+ s = DEH_String(s);
+
while (*s)
HUlib_addCharToTextLine(&w_title, *(s++));
@@ -458,7 +466,7 @@
|| chat_dest[i] == HU_BROADCAST))
{
HUlib_addMessageToSText(&w_message,
- player_names[i],
+ DEH_String(player_names[i]),
w_inputbuffer[i].l.l);
message_nottobefuckedwith = true;
@@ -490,7 +498,7 @@
{
if (((head + 1) & (QUEUESIZE-1)) == tail)
{
- plr->message = HUSTR_MSGU;
+ plr->message = DEH_String(HUSTR_MSGU);
}
else
{
@@ -587,15 +595,15 @@
{
num_nobrainers++;
if (num_nobrainers < 3)
- plr->message = HUSTR_TALKTOSELF1;
+ plr->message = DEH_String(HUSTR_TALKTOSELF1);
else if (num_nobrainers < 6)
- plr->message = HUSTR_TALKTOSELF2;
+ plr->message = DEH_String(HUSTR_TALKTOSELF2);
else if (num_nobrainers < 9)
- plr->message = HUSTR_TALKTOSELF3;
+ plr->message = DEH_String(HUSTR_TALKTOSELF3);
else if (num_nobrainers < 32)
- plr->message = HUSTR_TALKTOSELF4;
+ plr->message = DEH_String(HUSTR_TALKTOSELF4);
else
- plr->message = HUSTR_TALKTOSELF5;
+ plr->message = DEH_String(HUSTR_TALKTOSELF5);
}
}
}
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: m_menu.c 110 2005-09-17 20:25:56Z fraggle $
+// $Id: m_menu.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.8 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.7 2005/09/17 20:25:56 fraggle
// Set the default values for variables in their initialisers. Remove the
// "defaultvalue" parameter and associated code from the configuration
@@ -54,7 +57,7 @@
//-----------------------------------------------------------------------------
static const char
-rcsid[] = "$Id: m_menu.c 110 2005-09-17 20:25:56Z fraggle $";
+rcsid[] = "$Id: m_menu.c 160 2005-10-03 21:39:39Z fraggle $";
#include <stdlib.h>
#include <ctype.h>
@@ -64,6 +67,7 @@
#include "dstrings.h"
#include "d_main.h"
+#include "deh_main.h"
#include "i_system.h"
#include "i_video.h"
@@ -623,7 +627,7 @@
{
if (netgame)
{
- M_StartMessage(LOADNET,NULL,false);
+ M_StartMessage(DEH_String(LOADNET),NULL,false);
return;
}
@@ -688,7 +692,7 @@
{
if (!usergame)
{
- M_StartMessage(SAVEDEAD,NULL,false);
+ M_StartMessage(DEH_String(SAVEDEAD),NULL,false);
return;
}
@@ -734,7 +738,7 @@
quickSaveSlot = -2; // means to pick a slot now
return;
}
- sprintf(tempstring,QSPROMPT,savegamestrings[quickSaveSlot]);
+ sprintf(tempstring,DEH_String(QSPROMPT),savegamestrings[quickSaveSlot]);
M_StartMessage(tempstring,M_QuickSaveResponse,true);
}
@@ -757,16 +761,16 @@
{
if (netgame)
{
- M_StartMessage(QLOADNET,NULL,false);
+ M_StartMessage(DEH_String(QLOADNET),NULL,false);
return;
}
if (quickSaveSlot < 0)
{
- M_StartMessage(QSAVESPOT,NULL,false);
+ M_StartMessage(DEH_String(QSAVESPOT),NULL,false);
return;
}
- sprintf(tempstring,QLPROMPT,savegamestrings[quickSaveSlot]);
+ sprintf(tempstring,DEH_String(QLPROMPT),savegamestrings[quickSaveSlot]);
M_StartMessage(tempstring,M_QuickLoadResponse,true);
}
@@ -902,7 +906,7 @@
{
if (netgame && !demoplayback)
{
- M_StartMessage(NEWGAME,NULL,false);
+ M_StartMessage(DEH_String(NEWGAME),NULL,false);
return;
}
@@ -936,7 +940,7 @@
{
if (choice == nightmare)
{
- M_StartMessage(NIGHTMARE,M_VerifyNightmare,true);
+ M_StartMessage(DEH_String(NIGHTMARE),M_VerifyNightmare,true);
return;
}
@@ -949,7 +953,7 @@
if ( (gamemode == shareware)
&& choice)
{
- M_StartMessage(SWSTRING,NULL,false);
+ M_StartMessage(DEH_String(SWSTRING),NULL,false);
M_SetupNextMenu(&ReadDef1);
return;
}
@@ -1010,9 +1014,9 @@
showMessages = 1 - showMessages;
if (!showMessages)
- players[consoleplayer].message = MSGOFF;
+ players[consoleplayer].message = DEH_String(MSGOFF);
else
- players[consoleplayer].message = MSGON ;
+ players[consoleplayer].message = DEH_String(MSGON);
message_dontfuckwithme = true;
}
@@ -1042,11 +1046,11 @@
if (netgame)
{
- M_StartMessage(NETEND,NULL,false);
+ M_StartMessage(DEH_String(NETEND),NULL,false);
return;
}
- M_StartMessage(ENDGAME,M_EndGameResponse,true);
+ M_StartMessage(DEH_String(ENDGAME),M_EndGameResponse,true);
}
@@ -1144,7 +1148,9 @@
void M_QuitDOOM(int choice)
{
- sprintf(endstring, "%s\n\n" DOSY, M_SelectEndMessage());
+ sprintf(endstring, "%s\n\n%s",
+ DEH_String(M_SelectEndMessage()),
+ DEH_String(DOSY));
M_StartMessage(endstring,M_QuitResponse,true);
}
@@ -1178,9 +1184,9 @@
R_SetViewSize (screenblocks, detailLevel);
if (!detailLevel)
- players[consoleplayer].message = DETAILHI;
+ players[consoleplayer].message = DEH_String(DETAILHI);
else
- players[consoleplayer].message = DETAILLO;
+ players[consoleplayer].message = DEH_String(DETAILLO);
}
@@ -1635,8 +1641,8 @@
usegamma++;
if (usegamma > 4)
usegamma = 0;
- players[consoleplayer].message = gammamsg[usegamma];
- I_SetPalette (W_CacheLumpName ("PLAYPAL",PU_CACHE));
+ players[consoleplayer].message = DEH_String(gammamsg[usegamma]);
+ I_SetPalette (W_CacheLumpName ("PLAYPAL",PU_CACHE));
return true;
}
--- a/src/p_doors.c
+++ b/src/p_doors.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: p_doors.c 8 2005-07-23 16:44:57Z fraggle $
+// $Id: p_doors.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.3 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.2 2005/07/23 16:44:56 fraggle
// Update copyright to GNU GPL
//
@@ -34,11 +37,12 @@
//-----------------------------------------------------------------------------
static const char
-rcsid[] = "$Id: p_doors.c 8 2005-07-23 16:44:57Z fraggle $";
+rcsid[] = "$Id: p_doors.c 160 2005-10-03 21:39:39Z fraggle $";
#include "z_zone.h"
#include "doomdef.h"
+#include "deh_main.h"
#include "p_local.h"
#include "s_sound.h"
@@ -237,7 +241,7 @@
return 0;
if (!p->cards[it_bluecard] && !p->cards[it_blueskull])
{
- p->message = PD_BLUEO;
+ p->message = DEH_String(PD_BLUEO);
S_StartSound(NULL,sfx_oof);
return 0;
}
@@ -249,7 +253,7 @@
return 0;
if (!p->cards[it_redcard] && !p->cards[it_redskull])
{
- p->message = PD_REDO;
+ p->message = DEH_String(PD_REDO);
S_StartSound(NULL,sfx_oof);
return 0;
}
@@ -262,7 +266,7 @@
if (!p->cards[it_yellowcard] &&
!p->cards[it_yellowskull])
{
- p->message = PD_YELLOWO;
+ p->message = DEH_String(PD_YELLOWO);
S_StartSound(NULL,sfx_oof);
return 0;
}
@@ -388,7 +392,7 @@
if (!player->cards[it_bluecard] && !player->cards[it_blueskull])
{
- player->message = PD_BLUEK;
+ player->message = DEH_String(PD_BLUEK);
S_StartSound(NULL,sfx_oof);
return;
}
@@ -402,7 +406,7 @@
if (!player->cards[it_yellowcard] &&
!player->cards[it_yellowskull])
{
- player->message = PD_YELLOWK;
+ player->message = DEH_String(PD_YELLOWK);
S_StartSound(NULL,sfx_oof);
return;
}
@@ -415,7 +419,7 @@
if (!player->cards[it_redcard] && !player->cards[it_redskull])
{
- player->message = PD_REDK;
+ player->message = DEH_String(PD_REDK);
S_StartSound(NULL,sfx_oof);
return;
}
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: p_inter.c 18 2005-07-23 18:56:07Z fraggle $
+// $Id: p_inter.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.4 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.3 2005/07/23 18:56:07 fraggle
// Remove unneccessary pragmas
//
@@ -39,7 +42,7 @@
static const char
-rcsid[] = "$Id: p_inter.c 18 2005-07-23 18:56:07Z fraggle $";
+rcsid[] = "$Id: p_inter.c 160 2005-10-03 21:39:39Z fraggle $";
// Data.
@@ -47,6 +50,7 @@
#include "dstrings.h"
#include "sounds.h"
+#include "deh_main.h"
#include "doomstat.h"
#include "m_random.h"
@@ -383,13 +387,13 @@
case SPR_ARM1:
if (!P_GiveArmor (player, 1))
return;
- player->message = GOTARMOR;
+ player->message = DEH_String(GOTARMOR);
break;
case SPR_ARM2:
if (!P_GiveArmor (player, 2))
return;
- player->message = GOTMEGA;
+ player->message = DEH_String(GOTMEGA);
break;
// bonus items
@@ -398,7 +402,7 @@
if (player->health > 200)
player->health = 200;
player->mo->health = player->health;
- player->message = GOTHTHBONUS;
+ player->message = DEH_String(GOTHTHBONUS);
break;
case SPR_BON2:
@@ -407,7 +411,7 @@
player->armorpoints = 200;
if (!player->armortype)
player->armortype = 1;
- player->message = GOTARMBONUS;
+ player->message = DEH_String(GOTARMBONUS);
break;
case SPR_SOUL:
@@ -415,7 +419,7 @@
if (player->health > 200)
player->health = 200;
player->mo->health = player->health;
- player->message = GOTSUPER;
+ player->message = DEH_String(GOTSUPER);
sound = sfx_getpow;
break;
@@ -425,7 +429,7 @@
player->health = 200;
player->mo->health = player->health;
P_GiveArmor (player,2);
- player->message = GOTMSPHERE;
+ player->message = DEH_String(GOTMSPHERE);
sound = sfx_getpow;
break;
@@ -433,7 +437,7 @@
// leave cards for everyone
case SPR_BKEY:
if (!player->cards[it_bluecard])
- player->message = GOTBLUECARD;
+ player->message = DEH_String(GOTBLUECARD);
P_GiveCard (player, it_bluecard);
if (!netgame)
break;
@@ -441,7 +445,7 @@
case SPR_YKEY:
if (!player->cards[it_yellowcard])
- player->message = GOTYELWCARD;
+ player->message = DEH_String(GOTYELWCARD);
P_GiveCard (player, it_yellowcard);
if (!netgame)
break;
@@ -449,7 +453,7 @@
case SPR_RKEY:
if (!player->cards[it_redcard])
- player->message = GOTREDCARD;
+ player->message = DEH_String(GOTREDCARD);
P_GiveCard (player, it_redcard);
if (!netgame)
break;
@@ -457,7 +461,7 @@
case SPR_BSKU:
if (!player->cards[it_blueskull])
- player->message = GOTBLUESKUL;
+ player->message = DEH_String(GOTBLUESKUL);
P_GiveCard (player, it_blueskull);
if (!netgame)
break;
@@ -465,7 +469,7 @@
case SPR_YSKU:
if (!player->cards[it_yellowskull])
- player->message = GOTYELWSKUL;
+ player->message = DEH_String(GOTYELWSKUL);
P_GiveCard (player, it_yellowskull);
if (!netgame)
break;
@@ -473,7 +477,7 @@
case SPR_RSKU:
if (!player->cards[it_redskull])
- player->message = GOTREDSKULL;
+ player->message = DEH_String(GOTREDSKULL);
P_GiveCard (player, it_redskull);
if (!netgame)
break;
@@ -483,7 +487,7 @@
case SPR_STIM:
if (!P_GiveBody (player, 10))
return;
- player->message = GOTSTIM;
+ player->message = DEH_String(GOTSTIM);
break;
case SPR_MEDI:
@@ -491,9 +495,9 @@
return;
if (player->health < 25)
- player->message = GOTMEDINEED;
+ player->message = DEH_String(GOTMEDINEED);
else
- player->message = GOTMEDIKIT;
+ player->message = DEH_String(GOTMEDIKIT);
break;
@@ -501,7 +505,7 @@
case SPR_PINV:
if (!P_GivePower (player, pw_invulnerability))
return;
- player->message = GOTINVUL;
+ player->message = DEH_String(GOTINVUL);
sound = sfx_getpow;
break;
@@ -508,7 +512,7 @@
case SPR_PSTR:
if (!P_GivePower (player, pw_strength))
return;
- player->message = GOTBERSERK;
+ player->message = DEH_String(GOTBERSERK);
if (player->readyweapon != wp_fist)
player->pendingweapon = wp_fist;
sound = sfx_getpow;
@@ -517,7 +521,7 @@
case SPR_PINS:
if (!P_GivePower (player, pw_invisibility))
return;
- player->message = GOTINVIS;
+ player->message = DEH_String(GOTINVIS);
sound = sfx_getpow;
break;
@@ -524,7 +528,7 @@
case SPR_SUIT:
if (!P_GivePower (player, pw_ironfeet))
return;
- player->message = GOTSUIT;
+ player->message = DEH_String(GOTSUIT);
sound = sfx_getpow;
break;
@@ -531,7 +535,7 @@
case SPR_PMAP:
if (!P_GivePower (player, pw_allmap))
return;
- player->message = GOTMAP;
+ player->message = DEH_String(GOTMAP);
sound = sfx_getpow;
break;
@@ -538,7 +542,7 @@
case SPR_PVIS:
if (!P_GivePower (player, pw_infrared))
return;
- player->message = GOTVISOR;
+ player->message = DEH_String(GOTVISOR);
sound = sfx_getpow;
break;
@@ -554,49 +558,49 @@
if (!P_GiveAmmo (player,am_clip,1))
return;
}
- player->message = GOTCLIP;
+ player->message = DEH_String(GOTCLIP);
break;
case SPR_AMMO:
if (!P_GiveAmmo (player, am_clip,5))
return;
- player->message = GOTCLIPBOX;
+ player->message = DEH_String(GOTCLIPBOX);
break;
case SPR_ROCK:
if (!P_GiveAmmo (player, am_misl,1))
return;
- player->message = GOTROCKET;
+ player->message = DEH_String(GOTROCKET);
break;
case SPR_BROK:
if (!P_GiveAmmo (player, am_misl,5))
return;
- player->message = GOTROCKBOX;
+ player->message = DEH_String(GOTROCKBOX);
break;
case SPR_CELL:
if (!P_GiveAmmo (player, am_cell,1))
return;
- player->message = GOTCELL;
+ player->message = DEH_String(GOTCELL);
break;
case SPR_CELP:
if (!P_GiveAmmo (player, am_cell,5))
return;
- player->message = GOTCELLBOX;
+ player->message = DEH_String(GOTCELLBOX);
break;
case SPR_SHEL:
if (!P_GiveAmmo (player, am_shell,1))
return;
- player->message = GOTSHELLS;
+ player->message = DEH_String(GOTSHELLS);
break;
case SPR_SBOX:
if (!P_GiveAmmo (player, am_shell,5))
return;
- player->message = GOTSHELLBOX;
+ player->message = DEH_String(GOTSHELLBOX);
break;
case SPR_BPAK:
@@ -608,7 +612,7 @@
}
for (i=0 ; i<NUMAMMO ; i++)
P_GiveAmmo (player, i, 1);
- player->message = GOTBACKPACK;
+ player->message = DEH_String(GOTBACKPACK);
break;
// weapons
@@ -615,7 +619,7 @@
case SPR_BFUG:
if (!P_GiveWeapon (player, wp_bfg, false) )
return;
- player->message = GOTBFG9000;
+ player->message = DEH_String(GOTBFG9000);
sound = sfx_wpnup;
break;
@@ -622,7 +626,7 @@
case SPR_MGUN:
if (!P_GiveWeapon (player, wp_chaingun, special->flags&MF_DROPPED) )
return;
- player->message = GOTCHAINGUN;
+ player->message = DEH_String(GOTCHAINGUN);
sound = sfx_wpnup;
break;
@@ -629,7 +633,7 @@
case SPR_CSAW:
if (!P_GiveWeapon (player, wp_chainsaw, false) )
return;
- player->message = GOTCHAINSAW;
+ player->message = DEH_String(GOTCHAINSAW);
sound = sfx_wpnup;
break;
@@ -636,7 +640,7 @@
case SPR_LAUN:
if (!P_GiveWeapon (player, wp_missile, false) )
return;
- player->message = GOTLAUNCHER;
+ player->message = DEH_String(GOTLAUNCHER);
sound = sfx_wpnup;
break;
@@ -643,7 +647,7 @@
case SPR_PLAS:
if (!P_GiveWeapon (player, wp_plasma, false) )
return;
- player->message = GOTPLASMA;
+ player->message = DEH_String(GOTPLASMA);
sound = sfx_wpnup;
break;
@@ -650,7 +654,7 @@
case SPR_SHOT:
if (!P_GiveWeapon (player, wp_shotgun, special->flags&MF_DROPPED ) )
return;
- player->message = GOTSHOTGUN;
+ player->message = DEH_String(GOTSHOTGUN);
sound = sfx_wpnup;
break;
@@ -657,7 +661,7 @@
case SPR_SGN2:
if (!P_GiveWeapon (player, wp_supershotgun, special->flags&MF_DROPPED ) )
return;
- player->message = GOTSHOTGUN2;
+ player->message = DEH_String(GOTSHOTGUN2);
sound = sfx_wpnup;
break;
--- a/src/st_stuff.c
+++ b/src/st_stuff.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: st_stuff.c 67 2005-09-04 14:55:53Z fraggle $
+// $Id: st_stuff.c 160 2005-10-03 21:39:39Z fraggle $
//
// Copyright(C) 1993-1996 Id Software, Inc.
// Copyright(C) 2005 Simon Howard
@@ -22,6 +22,9 @@
// 02111-1307, USA.
//
// $Log$
+// Revision 1.5 2005/10/03 21:39:39 fraggle
+// Dehacked text substitutions
+//
// Revision 1.4 2005/09/04 14:55:53 fraggle
// Doom v1.9 doesnt allow cheats in nightmare mode!
//
@@ -43,7 +46,7 @@
//-----------------------------------------------------------------------------
static const char
-rcsid[] = "$Id: st_stuff.c 67 2005-09-04 14:55:53Z fraggle $";
+rcsid[] = "$Id: st_stuff.c 160 2005-10-03 21:39:39Z fraggle $";
#include <stdio.h>
@@ -54,6 +57,7 @@
#include "m_random.h"
#include "w_wad.h"
+#include "deh_main.h"
#include "doomdef.h"
#include "g_game.h"
@@ -571,10 +575,10 @@
plyr->mo->health = 100;
plyr->health = 100;
- plyr->message = STSTR_DQDON;
+ plyr->message = DEH_String(STSTR_DQDON);
}
else
- plyr->message = STSTR_DQDOFF;
+ plyr->message = DEH_String(STSTR_DQDOFF);
}
// 'fa' cheat for killer fucking arsenal
else if (cht_CheckCheat(&cheat_ammonokey, ev->data1))
@@ -588,7 +592,7 @@
for (i=0;i<NUMAMMO;i++)
plyr->ammo[i] = plyr->maxammo[i];
- plyr->message = STSTR_FAADDED;
+ plyr->message = DEH_String(STSTR_FAADDED);
}
// 'kfa' cheat for key full ammo
else if (cht_CheckCheat(&cheat_ammo, ev->data1))
@@ -605,7 +609,7 @@
for (i=0;i<NUMCARDS;i++)
plyr->cards[i] = true;
- plyr->message = STSTR_KFAADDED;
+ plyr->message = DEH_String(STSTR_KFAADDED);
}
// 'mus' cheat for changing music
else if (cht_CheckCheat(&cheat_mus, ev->data1))
@@ -614,7 +618,7 @@
char buf[3];
int musnum;
- plyr->message = STSTR_MUS;
+ plyr->message = DEH_String(STSTR_MUS);
cht_GetParam(&cheat_mus, buf);
if (gamemode == commercial)
@@ -622,7 +626,7 @@
musnum = mus_runnin + (buf[0]-'0')*10 + buf[1]-'0' - 1;
if (((buf[0]-'0')*10 + buf[1]-'0') > 35)
- plyr->message = STSTR_NOMUS;
+ plyr->message = DEH_String(STSTR_NOMUS);
else
S_ChangeMusic(musnum, 1);
}
@@ -631,7 +635,7 @@
musnum = mus_e1m1 + (buf[0]-'1')*9 + (buf[1]-'1');
if (((buf[0]-'1')*9 + buf[1]-'1') > 31)
- plyr->message = STSTR_NOMUS;
+ plyr->message = DEH_String(STSTR_NOMUS);
else
S_ChangeMusic(musnum, 1);
}
@@ -644,9 +648,9 @@
plyr->cheats ^= CF_NOCLIP;
if (plyr->cheats & CF_NOCLIP)
- plyr->message = STSTR_NCON;
+ plyr->message = DEH_String(STSTR_NCON);
else
- plyr->message = STSTR_NCOFF;
+ plyr->message = DEH_String(STSTR_NCOFF);
}
// 'behold?' power-up cheats
for (i=0;i<6;i++)
@@ -660,7 +664,7 @@
else
plyr->powers[i] = 0;
- plyr->message = STSTR_BEHOLDX;
+ plyr->message = DEH_String(STSTR_BEHOLDX);
}
}
@@ -667,7 +671,7 @@
// 'behold' power-up menu
if (cht_CheckCheat(&cheat_powerup[6], ev->data1))
{
- plyr->message = STSTR_BEHOLD;
+ plyr->message = DEH_String(STSTR_BEHOLD);
}
// 'choppers' invulnerability & chainsaw
else if (cht_CheckCheat(&cheat_choppers, ev->data1))
@@ -674,7 +678,7 @@
{
plyr->weaponowned[wp_chainsaw] = true;
plyr->powers[pw_invulnerability] = true;
- plyr->message = STSTR_CHOPPERS;
+ plyr->message = DEH_String(STSTR_CHOPPERS);
}
// 'mypos' for player position
else if (cht_CheckCheat(&cheat_mypos, ev->data1))
@@ -733,7 +737,7 @@
return false;
// So be it.
- plyr->message = STSTR_CLEV;
+ plyr->message = DEH_String(STSTR_CLEV);
G_DeferedInitNew(gameskill, epsd, map);
}
}