1
0
Fork 0
forked from len0rd/rockbox

Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11738 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2006-12-13 04:44:17 +00:00
parent 314f3b58f1
commit 7e6f74e429
17 changed files with 260 additions and 427 deletions

View file

@ -3,7 +3,10 @@
# $Id$ # $Id$
# #
# $Log$ # $Log$
# Revision 1.10 2006/10/27 21:47:55 amiconn # Revision 1.11 2006/12/13 04:44:17 kkurbjun
# Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet).
#
# Revision 1.10 2006-10-27 21:47:55 amiconn
# Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less. # Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
# #
# Revision 1.9 2006-10-23 22:33:36 amiconn # Revision 1.9 2006-10-23 22:33:36 amiconn
@ -39,16 +42,20 @@ INCLUDES = -I$(APPSDIR) -I.. -I. $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)
-I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(OUTDIR) -I$(BUILDDIR) -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(OUTDIR) -I$(BUILDDIR)
CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(EXTRA_DEFINES) \ CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET) $(EXTRA_DEFINES) \
-DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN \ -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DPLUGIN \
-Wno-strict-prototypes -O2 $(PROFILE_OPTS) -Wno-strict-prototypes $(PROFILE_OPTS)
ifdef APPEXTRA ifdef APPEXTRA
INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA))) INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
endif endif
ifneq (,$(strip $(foreach tgt,IPOD_NANO IPOD_COLOR IPOD_VIDEO,$(findstring $(tgt),$(TARGET))))) # The arm code compiles too large for the plugin buffer when set to optimize for speed
ifeq ($(CC), arm-elf-gcc)
CFLAGS += -Os
ifndef SIMVER ifndef SIMVER
CFLAGS += -mstructure-size-boundary=8 CFLAGS += -mstructure-size-boundary=8
endif endif
else
CFLAGS += -O2
endif endif
LINKFILE := $(OBJDIR)/link.lds LINKFILE := $(OBJDIR)/link.lds
@ -62,8 +69,10 @@ SRC = info.c doomdef.c doomstat.c dstrings.c tables.c \
r_plane.c r_segs.c r_sky.c r_things.c wi_stuff.c v_video.c st_lib.c \ r_plane.c r_segs.c r_sky.c r_things.c wi_stuff.c v_video.c st_lib.c \
st_stuff.c hu_stuff.c hu_lib.c s_sound.c z_zone.c z_bmalloc.c sounds.c \ st_stuff.c hu_stuff.c hu_lib.c s_sound.c z_zone.c z_bmalloc.c sounds.c \
d_main.c m_misc.c m_bbox.c i_system.c i_sound.c i_video.c \ d_main.c m_misc.c m_bbox.c i_system.c i_sound.c i_video.c \
w_wad.c rockdoom.c w_wad.c rockdoom.c d_deh.c ../../../firmware/common/sscanf.c
# fixmath2.S
# sscanf isn't built into the core right now - should remove from here if that
# changes
SOURCES = $(SRC) SOURCES = $(SRC)
OBJS := $(SRC:%.c=$(OBJDIR)/%.o) OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
@ -73,13 +82,8 @@ DIRS = .
ifndef SIMVER ifndef SIMVER
ifneq (,$(findstring RECORDER,$(TARGET))) ## Archos recorder targets
LDS := archos.lds
OUTPUT = $(OUTDIR)/doom.ovl
else ## iRiver target
LDS := ../plugin.lds LDS := ../plugin.lds
OUTPUT = $(OUTDIR)/doom.rock OUTPUT = $(OUTDIR)/doom.rock
endif
else ## simulators else ## simulators
OUTPUT = $(OUTDIR)/doom.rock OUTPUT = $(OUTDIR)/doom.rock
endif endif

View file

@ -41,7 +41,7 @@
#include "p_spec.h" #include "p_spec.h"
#include "am_map.h" #include "am_map.h"
#include "dstrings.h" #include "dstrings.h"
//#include "d_deh.h" // Ty 03/27/98 - externalizations #include "d_deh.h" // Ty 03/27/98 - externalizations
#include "g_game.h" #include "g_game.h"
#include "rockmacros.h" #include "rockmacros.h"
@ -72,7 +72,7 @@ int mapcolor_sngl; // single player arrow color
int mapcolor_plyr[4] = { 112, 88, 64, 176 }; // colors for player arrows in multiplayer int mapcolor_plyr[4] = { 112, 88, 64, 176 }; // colors for player arrows in multiplayer
//jff 3/9/98 add option to not show secret sectors until entered //jff 3/9/98 add option to not show secret sectors until entered
int map_secret_after=0; int map_secret_after;
//jff 4/3/98 add symbols for "no-color" for disable and "black color" for black //jff 4/3/98 add symbols for "no-color" for disable and "black color" for black
#define NC 0 #define NC 0
#define BC 247 #define BC 247
@ -702,33 +702,33 @@ boolean AM_Responder
automapmode ^= am_follow; // CPhipps - put all automap mode stuff into one enum automapmode ^= am_follow; // CPhipps - put all automap mode stuff into one enum
f_oldloc.x = INT_MAX; f_oldloc.x = INT_MAX;
// Ty 03/27/98 - externalized // Ty 03/27/98 - externalized
plr->message = (automapmode & am_follow) ? AMSTR_FOLLOWON : AMSTR_FOLLOWOFF; plr->message = (automapmode & am_follow) ? s_AMSTR_FOLLOWON : s_AMSTR_FOLLOWOFF;
} }
else if (ch == key_map_grid) else if (ch == key_map_grid)
{ {
automapmode ^= am_grid; // CPhipps automapmode ^= am_grid; // CPhipps
// Ty 03/27/98 - *not* externalized // Ty 03/27/98 - *not* externalized
plr->message = (automapmode & am_grid) ? AMSTR_GRIDON : AMSTR_GRIDOFF; plr->message = (automapmode & am_grid) ? s_AMSTR_GRIDON : s_AMSTR_GRIDOFF;
} }
else if (ch == key_map_mark) else if (ch == key_map_mark)
{ {
// Ty 03/27/98 - *not* externalized // Ty 03/27/98 - *not* externalized
snprintf(buffer, sizeof(buffer), "%s %d", AMSTR_MARKEDSPOT, markpointnum); snprintf(buffer, sizeof(buffer), "%s %d", s_AMSTR_MARKEDSPOT, markpointnum);
plr->message = buffer; plr->message = buffer;
AM_addMark(); AM_addMark();
} }
else if (ch == key_map_clear) else if (ch == key_map_clear)
{ {
AM_clearMarks(); // Ty 03/27/98 - *not* externalized AM_clearMarks(); // Ty 03/27/98 - *not* externalized
plr->message = AMSTR_MARKSCLEARED; // ^ plr->message = s_AMSTR_MARKSCLEARED; // ^
} // | } // |
else if (ch == key_map_rotate) { else if (ch == key_map_rotate) {
automapmode ^= am_rotate; automapmode ^= am_rotate;
plr->message = (automapmode & am_rotate) ? AMSTR_ROTATEON : AMSTR_ROTATEOFF; plr->message = (automapmode & am_rotate) ? s_AMSTR_ROTATEON : s_AMSTR_ROTATEOFF;
} }
else if (ch == key_map_overlay) { else if (ch == key_map_overlay) {
automapmode ^= am_overlay; automapmode ^= am_overlay;
plr->message = (automapmode & am_overlay) ? AMSTR_OVERLAYON : AMSTR_OVERLAYOFF; plr->message = (automapmode & am_overlay) ? s_AMSTR_OVERLAYON : s_AMSTR_OVERLAYOFF;
} }
else // phares else // phares
{ {

View file

@ -62,9 +62,13 @@
#include "r_draw.h" #include "r_draw.h"
#include "r_main.h" #include "r_main.h"
#include "d_main.h" #include "d_main.h"
#include "d_deh.h" // Ty 04/08/98 - Externalizations
#include "am_map.h" #include "am_map.h"
#include "m_swap.h" #include "m_swap.h"
// DEHacked support - Ty 03/09/97 // CPhipps - const char*'s
void ProcessDehFile(const char *filename, const char *outfilename, int lumpnum);
// CPhipps - removed wadfiles[] stuff // CPhipps - removed wadfiles[] stuff
boolean devparm; // started game with -devparm boolean devparm; // started game with -devparm
@ -78,6 +82,7 @@ boolean clfastparm; // checkparm of -fast
boolean nomonsters; // working -nomonsters boolean nomonsters; // working -nomonsters
boolean respawnparm; // working -respawn boolean respawnparm; // working -respawn
boolean fastparm; // working -fast boolean fastparm; // working -fast
boolean dehout=false;
boolean singletics = false; // debug flag to cancel adaptiveness boolean singletics = false; // debug flag to cancel adaptiveness
@ -725,6 +730,9 @@ void D_DoomMainSetup(void)
printf ("W_Init: Init WADfiles.\n"); printf ("W_Init: Init WADfiles.\n");
W_Init(); W_Init();
if ((p = W_CheckNumForName("DEHACKED")) != -1) // cph - add dehacked-in-a-wad support
ProcessDehFile(NULL, dehout ? NULL : "/dehlog.txt", p);
V_InitColorTranslation(); //jff 4/24/98 load color translation lumps V_InitColorTranslation(); //jff 4/24/98 load color translation lumps
// Check for -file in shareware // Check for -file in shareware

View file

@ -32,13 +32,12 @@
#include "doomstat.h" #include "doomstat.h"
#include "d_event.h" #include "d_event.h"
#include "d_englsh.h"
#include "m_swap.h" #include "m_swap.h"
#include "v_video.h" #include "v_video.h"
#include "w_wad.h" #include "w_wad.h"
#include "s_sound.h" #include "s_sound.h"
#include "sounds.h" #include "sounds.h"
//#include "d_deh.h" // Ty 03/22/98 - externalizations #include "d_deh.h" // Ty 03/22/98 - externalizations
#include "f_finale.h" // CPhipps - hmm... #include "f_finale.h" // CPhipps - hmm...
#include "rockmacros.h" #include "rockmacros.h"
@ -98,20 +97,20 @@ void F_StartFinale (void)
switch (gameepisode) switch (gameepisode)
{ {
case 1: case 1:
finaleflat = "FLOOR4_8"; finaleflat = bgflatE1; // Ty 03/30/98 - new externalized bg flats
finaletext = E1TEXT; finaletext = s_E1TEXT; // Ty 03/23/98 - Was e1text variable.
break; break;
case 2: case 2:
finaleflat = "SFLR6_1"; finaleflat = bgflatE2;
finaletext = E2TEXT; finaletext = s_E2TEXT; // Ty 03/23/98 - Same stuff for each
break; break;
case 3: case 3:
finaleflat = "MFLR8_4"; finaleflat = bgflatE3;
finaletext = E3TEXT; finaletext = s_E3TEXT;
break; break;
case 4: case 4:
finaleflat = "MFLR8_3"; finaleflat = bgflatE4;
finaletext = E4TEXT; finaletext = s_E4TEXT;
break; break;
default: default:
// Ouch. // Ouch.
@ -129,48 +128,48 @@ void F_StartFinale (void)
switch (gamemap) switch (gamemap)
{ {
case 6: case 6:
finaleflat = "SLIME16"; finaleflat = bgflat06;
finaletext = (gamemission==pack_tnt) ? T1TEXT : finaletext = (gamemission==pack_tnt) ? s_T1TEXT :
(gamemission==pack_plut) ? P1TEXT : C1TEXT; (gamemission==pack_plut) ? s_P1TEXT : s_C1TEXT;
break; break;
case 11: case 11:
finaleflat = "RROCK14"; finaleflat = bgflat11;
finaletext = (gamemission==pack_tnt) ? T2TEXT : finaletext = (gamemission==pack_tnt) ? s_T2TEXT :
(gamemission==pack_plut) ? P2TEXT : C2TEXT; (gamemission==pack_plut) ? s_P2TEXT : s_C2TEXT;
break; break;
case 20: case 20:
finaleflat = "RROCK07"; finaleflat = bgflat20;
finaletext = (gamemission==pack_tnt) ? T3TEXT : finaletext = (gamemission==pack_tnt) ? s_T3TEXT :
(gamemission==pack_plut) ? P3TEXT : C3TEXT; (gamemission==pack_plut) ? s_P3TEXT : s_C3TEXT;
break; break;
case 30: case 30:
finaleflat = "RROCK17"; finaleflat = bgflat30;
finaletext = (gamemission==pack_tnt) ? T4TEXT : finaletext = (gamemission==pack_tnt) ? s_T4TEXT :
(gamemission==pack_plut) ? P4TEXT : C4TEXT; (gamemission==pack_plut) ? s_P4TEXT : s_C4TEXT;
break; break;
case 15: case 15:
finaleflat = "RROCK13"; finaleflat = bgflat15;
finaletext = (gamemission==pack_tnt) ? T5TEXT : finaletext = (gamemission==pack_tnt) ? s_T5TEXT :
(gamemission==pack_plut) ? P5TEXT : C5TEXT; (gamemission==pack_plut) ? s_P5TEXT : s_C5TEXT;
break; break;
case 31: case 31:
finaleflat = "RROCK19"; finaleflat = bgflat31;
finaletext = (gamemission==pack_tnt) ? T6TEXT : finaletext = (gamemission==pack_tnt) ? s_T6TEXT :
(gamemission==pack_plut) ? P6TEXT : C6TEXT; (gamemission==pack_plut) ? s_P6TEXT : s_C6TEXT;
break; break;
default: default:
// Ouch. // Ouch.
break; break;
} }
break; break;
// Ty 08/27/98 - end gamemission logic
} }
// Indeterminate. // Indeterminate.
default: default: // Ty 03/30/98 - not externalized
S_ChangeMusic(mus_read_m, true); S_ChangeMusic(mus_read_m, true);
finaleflat = "F_SKY1"; // Not used anywhere else. finaleflat = "F_SKY1"; // Not used anywhere else.
finaletext = C1TEXT; // FIXME - other text, music? finaletext = s_C1TEXT; // FIXME - other text, music?
break; break;
} }
@ -320,29 +319,29 @@ void F_TextWrite (void)
// //
typedef struct typedef struct
{ {
const char *name; // CPhipps - const** const char **name; // CPhipps - const**
mobjtype_t type; mobjtype_t type;
} castinfo_t; } castinfo_t;
#define MAX_CASTORDER 18 /* Ty - hard coded for now */ #define MAX_CASTORDER 18 /* Ty - hard coded for now */
static const castinfo_t castorder[] = { // CPhipps - static const, initialised here static const castinfo_t castorder[] = { // CPhipps - static const, initialised here
{ CC_ZOMBIE, MT_POSSESSED }, { &s_CC_ZOMBIE, MT_POSSESSED },
{ CC_SHOTGUN, MT_SHOTGUY }, { &s_CC_SHOTGUN, MT_SHOTGUY },
{ CC_HEAVY, MT_CHAINGUY }, { &s_CC_HEAVY, MT_CHAINGUY },
{ CC_IMP, MT_TROOP }, { &s_CC_IMP, MT_TROOP },
{ CC_DEMON, MT_SERGEANT }, { &s_CC_DEMON, MT_SERGEANT },
{ CC_LOST, MT_SKULL }, { &s_CC_LOST, MT_SKULL },
{ CC_CACO, MT_HEAD }, { &s_CC_CACO, MT_HEAD },
{ CC_HELL, MT_KNIGHT }, { &s_CC_HELL, MT_KNIGHT },
{ CC_BARON, MT_BRUISER }, { &s_CC_BARON, MT_BRUISER },
{ CC_ARACH, MT_BABY }, { &s_CC_ARACH, MT_BABY },
{ CC_PAIN, MT_PAIN }, { &s_CC_PAIN, MT_PAIN },
{ CC_REVEN, MT_UNDEAD }, { &s_CC_REVEN, MT_UNDEAD },
{ CC_MANCU, MT_FATSO }, { &s_CC_MANCU, MT_FATSO },
{ CC_ARCH, MT_VILE }, { &s_CC_ARCH, MT_VILE },
{ CC_SPIDER, MT_SPIDER }, { &s_CC_SPIDER, MT_SPIDER },
{ CC_CYBER, MT_CYBORG }, { &s_CC_CYBER, MT_CYBORG },
{ CC_HERO, MT_PLAYER }, { &s_CC_HERO, MT_PLAYER },
{ NULL, 0} { NULL, 0}
}; };
@ -560,7 +559,6 @@ static void F_CastPrint (const char* text) // CPhipps - static, const char*
// //
// F_CastDrawer // F_CastDrawer
// //
void V_DrawPatchFlipped (int x, int y, int scrn, patch_t *patch);
void F_CastDrawer (void) void F_CastDrawer (void)
{ {
@ -570,9 +568,10 @@ void F_CastDrawer (void)
boolean flip; boolean flip;
// erase the entire screen to a background // erase the entire screen to a background
V_DrawNamePatch(0,0,0, "BOSSBACK", CR_DEFAULT, VPT_STRETCH); // Ty 03/30/98 bg texture extern // CPhipps - patch drawing updated
V_DrawNamePatch(0,0,0, bgcastcall, CR_DEFAULT, VPT_STRETCH); // Ty 03/30/98 bg texture extern
F_CastPrint (castorder[castnum].name); F_CastPrint (*(castorder[castnum].name));
// draw the current frame in the middle of the screen // draw the current frame in the middle of the screen
sprdef = &sprites[caststate->sprite]; sprdef = &sprites[caststate->sprite];

View file

@ -2771,7 +2771,7 @@ boolean G_CheckDemoStatus (void)
// killough -- added fps information and made it work for longer demos: // killough -- added fps information and made it work for longer demos:
unsigned realtics = endtime-starttime; unsigned realtics = endtime-starttime;
int fd=open("/games/doom/timedemo.txt",O_WRONLY | O_CREAT); int fd=open("/games/doom/timedemo.txt",O_WRONLY | O_CREAT);
fprintf (fd,"Timed %d gametics in %d realtics = %d frames per second", fdprintf (fd,"Timed %d gametics in %d realtics = %d frames per second",
(unsigned) gametic, realtics, (unsigned) gametic, realtics,
(unsigned) gametic * (double) TICRATE / realtics); (unsigned) gametic * (double) TICRATE / realtics);
close(fd); close(fd);

View file

@ -56,10 +56,10 @@ int hud_graph_keys=1; //jff 3/7/98 display HUD keys as graphics
// //
// Ty 03/28/98 - // Ty 03/28/98 -
// These four shortcuts modifed to reflect char ** of mapnamesx[] // These four shortcuts modifed to reflect char ** of mapnamesx[]
#define HU_TITLE (mapnames[(gameepisode-1)*9+gamemap-1]) #define HU_TITLE (*mapnames[(gameepisode-1)*9+gamemap-1])
#define HU_TITLE2 (mapnames2[gamemap-1]) #define HU_TITLE2 (*mapnames2[gamemap-1])
#define HU_TITLEP (mapnamesp[gamemap-1]) #define HU_TITLEP (*mapnamesp[gamemap-1])
#define HU_TITLET (mapnamest[gamemap-1]) #define HU_TITLET (*mapnamest[gamemap-1])
#define HU_TITLEHEIGHT 1 #define HU_TITLEHEIGHT 1
#define HU_TITLEX 0 #define HU_TITLEX 0
//jff 2/16/98 change 167 to ST_Y-1 //jff 2/16/98 change 167 to ST_Y-1
@ -131,16 +131,16 @@ const char* chat_macros[] =
// Ty 03/27/98 - *not* externalized // Ty 03/27/98 - *not* externalized
// CPhipps - const char* // CPhipps - const char*
{ {
HUSTR_CHATMACRO0,
HUSTR_CHATMACRO1, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO2, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO3, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO4, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO5, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO6, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO7, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO8, HUSTR_CHATMACRO1,
HUSTR_CHATMACRO9 HUSTR_CHATMACRO1,
HUSTR_CHATMACRO1
}; };
const char* player_names[] = const char* player_names[] =
@ -206,16 +206,16 @@ int hudcolor_list; // list of messages color
int hud_list_bgon; // enable for solid window background for message list int hud_list_bgon; // enable for solid window background for message list
//jff 2/16/98 initialization strings for ammo, health, armor widgets //jff 2/16/98 initialization strings for ammo, health, armor widgets
static char hud_coordstrx[32]; static char *hud_coordstrx;
static char hud_coordstry[32]; static char *hud_coordstry;
static char hud_coordstrz[32]; static char *hud_coordstrz;
static char hud_ammostr[80]; static char *hud_ammostr;
static char hud_healthstr[80]; static char *hud_healthstr;
static char hud_armorstr[80]; static char *hud_armorstr;
static char hud_weapstr[80]; static char *hud_weapstr;
static char hud_keysstr[80]; static char *hud_keysstr;
static char hud_gkeysstr[80]; //jff 3/7/98 add support for graphic key display static char *hud_gkeysstr; //jff 3/7/98 add support for graphic key display
static char hud_monsecstr[80]; static char *hud_monsecstr;
//jff 2/16/98 declaration of color switch points //jff 2/16/98 declaration of color switch points
extern int ammo_red; extern int ammo_red;
@ -234,175 +234,10 @@ extern int armor_green;
// Ty 03/27/98 - externalized map name arrays - now in d_deh.c // Ty 03/27/98 - externalized map name arrays - now in d_deh.c
// and converted to arrays of pointers to char * // and converted to arrays of pointers to char *
// See modified HUTITLEx macros // See modified HUTITLEx macros
char* mapnames[] = // DOOM shareware/registered/retail (Ultimate) names. extern char **mapnames[];
{ extern char **mapnames2[];
extern char **mapnamesp[];
HUSTR_E1M1, extern char **mapnamest[];
HUSTR_E1M2,
HUSTR_E1M3,
HUSTR_E1M4,
HUSTR_E1M5,
HUSTR_E1M6,
HUSTR_E1M7,
HUSTR_E1M8,
HUSTR_E1M9,
HUSTR_E2M1,
HUSTR_E2M2,
HUSTR_E2M3,
HUSTR_E2M4,
HUSTR_E2M5,
HUSTR_E2M6,
HUSTR_E2M7,
HUSTR_E2M8,
HUSTR_E2M9,
HUSTR_E3M1,
HUSTR_E3M2,
HUSTR_E3M3,
HUSTR_E3M4,
HUSTR_E3M5,
HUSTR_E3M6,
HUSTR_E3M7,
HUSTR_E3M8,
HUSTR_E3M9,
HUSTR_E4M1,
HUSTR_E4M2,
HUSTR_E4M3,
HUSTR_E4M4,
HUSTR_E4M5,
HUSTR_E4M6,
HUSTR_E4M7,
HUSTR_E4M8,
HUSTR_E4M9,
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL",
"NEWLEVEL"
};
char* mapnames2[] = // DOOM 2 map names.
{
HUSTR_1,
HUSTR_2,
HUSTR_3,
HUSTR_4,
HUSTR_5,
HUSTR_6,
HUSTR_7,
HUSTR_8,
HUSTR_9,
HUSTR_10,
HUSTR_11,
HUSTR_12,
HUSTR_13,
HUSTR_14,
HUSTR_15,
HUSTR_16,
HUSTR_17,
HUSTR_18,
HUSTR_19,
HUSTR_20,
HUSTR_21,
HUSTR_22,
HUSTR_23,
HUSTR_24,
HUSTR_25,
HUSTR_26,
HUSTR_27,
HUSTR_28,
HUSTR_29,
HUSTR_30,
HUSTR_31,
HUSTR_32
};
char* mapnamesp[] = // Plutonia WAD map names.
{
PHUSTR_1,
PHUSTR_2,
PHUSTR_3,
PHUSTR_4,
PHUSTR_5,
PHUSTR_6,
PHUSTR_7,
PHUSTR_8,
PHUSTR_9,
PHUSTR_10,
PHUSTR_11,
PHUSTR_12,
PHUSTR_13,
PHUSTR_14,
PHUSTR_15,
PHUSTR_16,
PHUSTR_17,
PHUSTR_18,
PHUSTR_19,
PHUSTR_20,
PHUSTR_21,
PHUSTR_22,
PHUSTR_23,
PHUSTR_24,
PHUSTR_25,
PHUSTR_26,
PHUSTR_27,
PHUSTR_28,
PHUSTR_29,
PHUSTR_30,
PHUSTR_31,
PHUSTR_32
};
char *mapnamest[] = // TNT WAD map names.
{
THUSTR_1,
THUSTR_2,
THUSTR_3,
THUSTR_4,
THUSTR_5,
THUSTR_6,
THUSTR_7,
THUSTR_8,
THUSTR_9,
THUSTR_10,
THUSTR_11,
THUSTR_12,
THUSTR_13,
THUSTR_14,
THUSTR_15,
THUSTR_16,
THUSTR_17,
THUSTR_18,
THUSTR_19,
THUSTR_20,
THUSTR_21,
THUSTR_22,
THUSTR_23,
THUSTR_24,
THUSTR_25,
THUSTR_26,
THUSTR_27,
THUSTR_28,
THUSTR_29,
THUSTR_30,
THUSTR_31,
THUSTR_32
};
// key tables // key tables
// jff 5/10/98 french support removed, // jff 5/10/98 french support removed,
@ -466,6 +301,18 @@ void HU_Init(void)
shiftxform = english_shiftxform; shiftxform = english_shiftxform;
// malloc all the strings, trying to get size down
hud_ammostr=malloc(80*sizeof(char));
hud_healthstr=malloc(80*sizeof(char));
hud_armorstr=malloc(80*sizeof(char));
hud_weapstr=malloc(80*sizeof(char));
hud_keysstr=malloc(80*sizeof(char));
hud_gkeysstr=malloc(80*sizeof(char));
hud_monsecstr=malloc(80*sizeof(char));
hud_coordstrx=malloc(32*sizeof(char));
hud_coordstry=malloc(32*sizeof(char));
hud_coordstrz=malloc(32*sizeof(char));
// load the heads-up font // load the heads-up font
j = HU_FONTSTART; j = HU_FONTSTART;
for (i=0;i<HU_FONTSIZE;i++,j++) for (i=0;i<HU_FONTSIZE;i++,j++)
@ -768,15 +615,15 @@ void HU_Start(void)
// initialize the automaps coordinate widget // initialize the automaps coordinate widget
//jff 3/3/98 split coordstr widget into 3 parts //jff 3/3/98 split coordstr widget into 3 parts
snprintf(hud_coordstrx,sizeof(hud_coordstrx),"X: %d",0); //jff 2/22/98 added z snprintf(hud_coordstrx,32*sizeof(char),"X: %d",0); //jff 2/22/98 added z
s = hud_coordstrx; s = hud_coordstrx;
while (*s) while (*s)
HUlib_addCharToTextLine(&w_coordx, *(s++)); HUlib_addCharToTextLine(&w_coordx, *(s++));
snprintf(hud_coordstry,sizeof(hud_coordstry),"Y: %d",0); //jff 3/3/98 split x,y,z snprintf(hud_coordstry,32*sizeof(char),"Y: %d",0); //jff 3/3/98 split x,y,z
s = hud_coordstry; s = hud_coordstry;
while (*s) while (*s)
HUlib_addCharToTextLine(&w_coordy, *(s++)); HUlib_addCharToTextLine(&w_coordy, *(s++));
snprintf(hud_coordstrz,sizeof(hud_coordstrz),"Z: %d",0); //jff 3/3/98 split x,y,z snprintf(hud_coordstrz,32*sizeof(char),"Z: %d",0); //jff 3/3/98 split x,y,z
s = hud_coordstrz; s = hud_coordstrz;
while (*s) while (*s)
HUlib_addCharToTextLine(&w_coordz, *(s++)); HUlib_addCharToTextLine(&w_coordz, *(s++));
@ -915,7 +762,7 @@ void HU_Drawer(void)
//jff 2/16/98 output new coord display //jff 2/16/98 output new coord display
// x-coord // x-coord
snprintf(hud_coordstrx,sizeof(hud_coordstrx),"X: %d", (plr->mo->x)>>FRACBITS); snprintf(hud_coordstrx,32*sizeof(char),"X: %d", (plr->mo->x)>>FRACBITS);
HUlib_clearTextLine(&w_coordx); HUlib_clearTextLine(&w_coordx);
s = hud_coordstrx; s = hud_coordstrx;
while (*s) while (*s)
@ -924,7 +771,7 @@ void HU_Drawer(void)
//jff 3/3/98 split coord display into x,y,z lines //jff 3/3/98 split coord display into x,y,z lines
// y-coord // y-coord
snprintf(hud_coordstry,sizeof(hud_coordstry),"Y: %d", (plr->mo->y)>>FRACBITS); snprintf(hud_coordstry,32*sizeof(char),"Y: %d", (plr->mo->y)>>FRACBITS);
HUlib_clearTextLine(&w_coordy); HUlib_clearTextLine(&w_coordy);
s = hud_coordstry; s = hud_coordstry;
while (*s) while (*s)
@ -934,7 +781,7 @@ void HU_Drawer(void)
//jff 3/3/98 split coord display into x,y,z lines //jff 3/3/98 split coord display into x,y,z lines
//jff 2/22/98 added z //jff 2/22/98 added z
// z-coord // z-coord
snprintf(hud_coordstrz,sizeof(hud_coordstrz),"Z: %d", (plr->mo->z)>>FRACBITS); snprintf(hud_coordstrz,32*sizeof(char),"Z: %d", (plr->mo->z)>>FRACBITS);
HUlib_clearTextLine(&w_coordz); HUlib_clearTextLine(&w_coordz);
s = hud_coordstrz; s = hud_coordstrz;
while (*s) while (*s)
@ -1399,7 +1246,7 @@ void HU_Drawer(void)
// build the init string with fixed colors // build the init string with fixed colors
snprintf snprintf
( (
hud_monsecstr,sizeof(hud_monsecstr), hud_monsecstr,80*sizeof(char),
"STS \x1b\x36K \x1b\x33%d \x1b\x36M \x1b\x33%d \x1b\x37I \x1b\x33%d/%d \x1b\x35S \x1b\x33%d/%d", "STS \x1b\x36K \x1b\x33%d \x1b\x36M \x1b\x33%d \x1b\x37I \x1b\x33%d/%d \x1b\x35S \x1b\x33%d/%d",
plr->killcount,totallive, plr->killcount,totallive,
plr->itemcount,totalitems, plr->itemcount,totalitems,

View file

@ -84,9 +84,9 @@ extern int hud_displayed; /* hud is displayed */
extern int hud_active; /* hud mode 0=off, 1=small, 2=full */ extern int hud_active; /* hud mode 0=off, 1=small, 2=full */
extern int hud_nosecrets; /* status does not list secrets/items/kills */ extern int hud_nosecrets; /* status does not list secrets/items/kills */
extern char* mapnames[]; extern char **mapnames[];
extern char* mapnames2[]; extern char **mapnames2[];
extern char* mapnamesp[]; extern char **mapnamesp[];
extern char* mapnamest[]; extern char **mapnamest[];
#endif #endif

View file

@ -50,7 +50,7 @@
// Needed for calling the actual sound output. // Needed for calling the actual sound output.
#define SAMPLECOUNT 512 #define SAMPLECOUNT 512
#define NUM_CHANNELS 16 #define NUM_CHANNELS 24
// It is 2 for 16bit, and 2 for two channels. // It is 2 for 16bit, and 2 for two channels.
#define BUFMUL 2 #define BUFMUL 2
#define MIXBUFFERSIZE (SAMPLECOUNT*BUFMUL) #define MIXBUFFERSIZE (SAMPLECOUNT*BUFMUL)
@ -66,7 +66,7 @@
// Basically, samples from all active internal channels // Basically, samples from all active internal channels
// are modifed and added, and stored in the buffer // are modifed and added, and stored in the buffer
// that is submitted to the audio device. // that is submitted to the audio device.
signed short mixbuffer[MIXBUFFERSIZE]; signed short *mixbuffer;
/* Don't place this in IRAM! /* Don't place this in IRAM!
* Sound playback uses DMA, and not all IRAM is DMA capable on coldfire. */ * Sound playback uses DMA, and not all IRAM is DMA capable on coldfire. */
@ -97,7 +97,7 @@ channel_info_t channelinfo[NUM_CHANNELS] IBSS_ATTR;
int *vol_lookup; // Volume lookups. int *vol_lookup; // Volume lookups.
int steptable[256]; // Pitch to stepping lookup. (Not setup properly right now) int *steptable; // Pitch to stepping lookup. (Not setup properly right now)
// //
// This function loads the sound data from the WAD lump for single sound. // This function loads the sound data from the WAD lump for single sound.
@ -501,6 +501,9 @@ void I_InitSound()
vol_lookup=malloc(128*256*sizeof(int)); vol_lookup=malloc(128*256*sizeof(int));
mixbuffer=malloc(MIXBUFFERSIZE*sizeof(short));
steptable=malloc(256*sizeof(int));
for (i=1 ; i<NUMSFX ; i++) for (i=1 ; i<NUMSFX ; i++)
{ {
if (!S_sfx[i].link) // Alias? Example is the chaingun sound linked to pistol. if (!S_sfx[i].link) // Alias? Example is the chaingun sound linked to pistol.

View file

@ -16,7 +16,10 @@
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* $Log$ * $Log$
* Revision 1.25 2006/10/26 13:38:04 barrywardell * Revision 1.26 2006/12/13 04:44:17 kkurbjun
* Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet).
*
* Revision 1.25 2006-10-26 13:38:04 barrywardell
* Allow the Sansa e200 UI simulator to be built. Thanks to Andre Smith for the nice image of the Sansa. Lots more to be done including testing and tweaking the keymaps and modifying the plugins for the Sansa's 176x220 LCD. * Allow the Sansa e200 UI simulator to be built. Thanks to Andre Smith for the nice image of the Sansa. Lots more to be done including testing and tweaking the keymaps and modifying the plugins for the Sansa's 176x220 LCD.
* *
* Revision 1.24 2006-09-05 00:23:06 barrywardell * Revision 1.24 2006-09-05 00:23:06 barrywardell
@ -418,45 +421,45 @@ void I_FinishUpdate (void)
#if (CONFIG_LCD == LCD_H300) && !defined(SIMULATOR) #if (CONFIG_LCD == LCD_H300) && !defined(SIMULATOR)
#if 1 #if 1
/* ASM screen update (drops 600 tics (100 asm)) */ /* ASM screen update (drops 200 tics (100 asm)) */
asm ( asm (
"move.w #33,(%[LCD]) \n" /* Setup the LCD controller */ "move.w #33,(%[LCD]) \n" /* Setup the LCD controller */
"clr.w (%[LCD2]) \n" "clr.w (%[LCD2]) \n"
"move.w #34,(%[LCD]) \n" /* End LCD controller setup */ "move.w #34,(%[LCD]) \n" /* End LCD controller setup */
"move.l #220,%%d0 \n" "clr.l %%d1 \n"
"move.l #176,%%d1 \n" "clr.l %%d0 \n"
"clr.l %%d3 \n"
"clr.l %%d2 \n"
"widthloop: \n" "widthloop: \n"
"move.l (%[screenptr])+, %%d2 \n" "move.l (%[screenptr])+, %%d0 \n"
"swap.w %%d2 \n" "swap.w %%d0 \n"
"move.w %%d2, %%d3 \n" "move.w %%d0, %%d1 \n"
"lsr.l #8,%%d3 \n" "lsr.l #8,%%d1 \n"
"move.w (%[palette], %%d3.l:2), (%[LCD2]) \n" "move.w (%[palette], %%d1.l:2), (%[LCD2]) \n"
"move.b %%d2,%%d3 \n" "move.b %%d0,%%d1 \n"
"move.w (%[palette], %%d3.l:2), (%[LCD2]) \n" "move.w (%[palette], %%d1.l:2), (%[LCD2]) \n"
"swap.w %%d2 \n" "swap.w %%d0 \n"
"move.w %%d2, %%d3 \n" "move.w %%d0, %%d1 \n"
"lsr.l #8,%%d3 \n" "lsr.l #8,%%d1 \n"
"move.w (%[palette], %%d3.l:2), (%[LCD2]) \n" "move.w (%[palette], %%d1.l:2), (%[LCD2]) \n"
"move.b %%d2,%%d3 \n" "move.b %%d0,%%d1 \n"
"move.w (%[palette], %%d3.l:2), (%[LCD2]) \n" "move.w (%[palette], %%d1.l:2), (%[LCD2]) \n"
"subq.l #4,%%d0 \n" "subq.l #4,%[WIDTH] \n"
"bne widthloop \n" "bne widthloop \n"
"move.w #220,%%d0 \n" "move.w #220,%[WIDTH] \n"
"subq.l #1,%%d1 \n" "subq.l #1,%[HEIGHT] \n"
"bne widthloop \n" "bne widthloop \n"
: /* outputs */ : /* outputs */
: /* inputs */ : /* inputs */
[screenptr] "a" (d_screens[0]), [screenptr] "a" (d_screens[0]),
[palette] "a" (palette), [palette] "a" (palette),
[LCD] "a" (0xf0000000), [LCD] "a" (0xf0000000),
[LCD2] "a" (0xf0000002) [LCD2] "a" (0xf0000002),
[WIDTH] "d" (220),
[HEIGHT] "d" (176)
: /* clobbers */ : /* clobbers */
"d0", "d1", "d2", "d3" "d0", "d1"
); );
#else #else
/* C version of above (drops 500 tics) */ /* C version of above (drops 100 tics) */
// Start the write // Start the write
*(volatile unsigned short *) 0xf0000000 = 0x21; // register *(volatile unsigned short *) 0xf0000000 = 0x21; // register
@ -464,37 +467,29 @@ void I_FinishUpdate (void)
*(volatile unsigned short *) 0xf0000000 = 0x22; // GRAM *(volatile unsigned short *) 0xf0000000 = 0x22; // GRAM
unsigned char *screenptr=d_screens[0]; unsigned char *screenptr=d_screens[0];
int wcnt=0, hcnt=0; int hcnt=LCD_HEIGHT*LCD_WIDTH;
while(hcnt<LCD_HEIGHT) while(hcnt--)
{
while(wcnt<LCD_WIDTH)
{ {
*(volatile unsigned short *)0xf0000002 = palette[*screenptr]; *(volatile unsigned short *)0xf0000002 = palette[*screenptr];
screenptr++; screenptr++;
wcnt++;
}
wcnt=0;
hcnt++;
} }
#endif #endif
#else #else
unsigned char paletteIndex; unsigned char paletteIndex;
int x, y; int y;
#ifdef HAVE_LCD_COLOR #ifdef HAVE_LCD_COLOR
for (y = 0; y < LCD_HEIGHT; y++)
for (y = 0; y < LCD_HEIGHT*LCD_WIDTH; y++)
{ {
for (x = 0; x < LCD_WIDTH; x++) paletteIndex = d_screens[0][y];
{ rb->lcd_framebuffer[y] = palette[paletteIndex];
paletteIndex = d_screens[0][y*SCREENWIDTH + x];
rb->lcd_framebuffer[y * LCD_WIDTH + x] = palette[paletteIndex];
}
} }
rb->lcd_update(); rb->lcd_update();
#else /* !HAVE_LCD_COLOR */ #else /* !HAVE_LCD_COLOR */
int yd = 0; int x, yd = 0;
for (y = 0; y < LCD_HEIGHT; y++) for (y = 0; y < LCD_HEIGHT; y++)
{ {

View file

@ -16,7 +16,10 @@
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// $Log$ // $Log$
// Revision 1.6 2006/04/16 23:14:04 kkurbjun // Revision 1.7 2006/12/13 04:44:17 kkurbjun
// Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet).
//
// Revision 1.6 2006-04-16 23:14:04 kkurbjun
// Fix run so that it stays enabled across level loads. Removed some unused code and added some back in for hopeful future use. // Fix run so that it stays enabled across level loads. Removed some unused code and added some back in for hopeful future use.
// //
// Revision 1.5 2006-04-04 23:58:37 kkurbjun // Revision 1.5 2006-04-04 23:58:37 kkurbjun
@ -53,7 +56,7 @@
#include "w_wad.h" #include "w_wad.h"
#include "r_main.h" #include "r_main.h"
#include "d_deh.h"
#include "hu_stuff.h" #include "hu_stuff.h"
#include "g_game.h" #include "g_game.h"
@ -96,7 +99,7 @@ int quickSaveSlot;
// 1 = message to be printed // 1 = message to be printed
int messageToPrint; int messageToPrint;
// ...and here is the message string! // ...and here is the message string!
char* messageString; const char* messageString;
// message x & y // message x & y
int messx; int messx;
@ -110,15 +113,6 @@ void (*messageRoutine)(int response);
#define SAVESTRINGSIZE 24 #define SAVESTRINGSIZE 24
char gammamsg[5][26] =
{
GAMMALVL0,
GAMMALVL1,
GAMMALVL2,
GAMMALVL3,
GAMMALVL4
};
// we are going to be entering a savegame string // we are going to be entering a savegame string
int saveStringEnter; int saveStringEnter;
int saveSlot; // which slot to save in int saveSlot; // which slot to save in
@ -233,7 +227,7 @@ void M_WriteText(int x, int y, char *string);
int M_StringWidth(const char* string); int M_StringWidth(const char* string);
int M_StringHeight(const char* string); int M_StringHeight(const char* string);
void M_StartControlPanel(void); void M_StartControlPanel(void);
void M_StartMessage(char *string,void *routine,boolean input); void M_StartMessage(const char *string,void *routine,boolean input);
void M_StopMessage(void); void M_StopMessage(void);
void M_ClearMenus (void); void M_ClearMenus (void);
@ -657,11 +651,11 @@ void M_SaveSelect(int choice)
saveSlot = choice; saveSlot = choice;
snprintf(savegamestrings[choice], sizeof(savegamestrings[choice]), snprintf(savegamestrings[choice], sizeof(savegamestrings[choice]),
(gamemode==shareware||gamemode==registered||gamemode==retail) ? (gamemode==shareware||gamemode==registered||gamemode==retail) ?
mapnames[(gameepisode-1)*9+gamemap-1] : (gamemission==doom2) ? *mapnames[(gameepisode-1)*9+gamemap-1] : (gamemission==doom2) ?
mapnames2[gamemap-1] : (gamemission==pack_plut) ? *mapnames2[gamemap-1] : (gamemission==pack_plut) ?
mapnamesp[gamemap-1] : (gamemission==pack_tnt) ? *mapnamesp[gamemap-1] : (gamemission==pack_tnt) ?
mapnamest[gamemap-1] : "Unknown Location", choice); *mapnamest[gamemap-1] : "Unknown Location", choice);
if (!strcmp(savegamestrings[choice],EMPTYSTRING)) if (!strcmp(savegamestrings[choice],s_EMPTYSTRING))
savegamestrings[choice][0] = 0; savegamestrings[choice][0] = 0;
saveCharIndex = strlen(savegamestrings[choice]); saveCharIndex = strlen(savegamestrings[choice]);
} }
@ -674,7 +668,7 @@ void M_SaveGame (int choice)
(void)choice; (void)choice;
if (!usergame) if (!usergame)
{ {
M_StartMessage(SAVEDEAD,NULL,false); M_StartMessage(s_SAVEDEAD,NULL,false);
return; return;
} }
@ -722,7 +716,7 @@ void M_QuickSave(void)
quickSaveSlot = -2; // means to pick a slot now quickSaveSlot = -2; // means to pick a slot now
return; return;
} }
snprintf(tempstring,sizeof(tempstring),QSPROMPT,savegamestrings[quickSaveSlot]); snprintf(tempstring,sizeof(tempstring),s_QSPROMPT,savegamestrings[quickSaveSlot]);
M_StartMessage(tempstring,M_QuickSaveResponse,true); M_StartMessage(tempstring,M_QuickSaveResponse,true);
} }
@ -917,7 +911,7 @@ void M_NewGame(int choice)
(void) choice; (void) choice;
if (netgame && !demoplayback) if (netgame && !demoplayback)
{ {
M_StartMessage(NEWGAME,NULL,false); M_StartMessage(s_NEWGAME,NULL,false);
return; return;
} }
@ -952,7 +946,7 @@ void M_ChooseSkill(int choice)
{ {
if (choice == nightmare) if (choice == nightmare)
{ {
M_StartMessage(NIGHTMARE,M_VerifyNightmare,true); M_StartMessage(s_NIGHTMARE,M_VerifyNightmare,true);
return; return;
} }
@ -969,7 +963,7 @@ void M_Episode(int choice)
if ( (gamemode == shareware) if ( (gamemode == shareware)
&& choice) && choice)
{ {
M_StartMessage(SWSTRING,NULL,false); M_StartMessage(s_SWSTRING,NULL,false); // Ty 03/27/98 - externalized
M_SetupNextMenu(&ReadDef1); M_SetupNextMenu(&ReadDef1);
return; return;
} }
@ -1030,9 +1024,9 @@ void M_ChangeMessages(int choice)
showMessages = 1 - showMessages; showMessages = 1 - showMessages;
if (!showMessages) if (!showMessages)
players[consoleplayer].message = MSGOFF; players[consoleplayer].message = s_MSGOFF;
else else
players[consoleplayer].message = MSGON ; players[consoleplayer].message = s_MSGON ;
message_dontfuckwithme = true; message_dontfuckwithme = true;
} }
@ -1066,11 +1060,11 @@ void M_EndGame(int choice)
if (netgame) if (netgame)
{ {
M_StartMessage(NETEND,NULL,false); M_StartMessage(s_NETEND,NULL,false);
return; return;
} }
M_StartMessage(ENDGAME,M_EndGameResponse,true); M_StartMessage(s_ENDGAME,M_EndGameResponse,true);
} }
@ -1153,9 +1147,9 @@ void M_QuitDOOM(int choice)
// We pick index 0 which is language sensitive, // We pick index 0 which is language sensitive,
// or one at random, between 1 and maximum number. // or one at random, between 1 and maximum number.
if (language != english ) if (language != english )
snprintf(endstring,sizeof(endstring),"%s\n\n"DOSY, endmsg[0] ); snprintf(endstring,sizeof(endstring),"%s\n\n%s",s_DOSY, endmsg[0] );
else else
snprintf(endstring,sizeof(endstring),"%s\n\n%s", endmsg[gametic%(NUM_QUITMESSAGES-1)+1], DOSY); snprintf(endstring,sizeof(endstring),"%s\n\n%s", endmsg[gametic%(NUM_QUITMESSAGES-1)+1], s_DOSY);
M_StartMessage(endstring,M_QuitResponse,true); M_StartMessage(endstring,M_QuitResponse,true);
} }
@ -1256,7 +1250,7 @@ M_DrawSelCell
void void
M_StartMessage M_StartMessage
( char* string, ( const char* string,
void* routine, void* routine,
boolean input ) boolean input )
{ {

View file

@ -36,7 +36,7 @@
#include "sounds.h" #include "sounds.h"
#include "r_main.h" #include "r_main.h"
#include "dstrings.h" #include "dstrings.h"
//#include "d_deh.h" // Ty 03/27/98 - externalized #include "d_deh.h" // Ty 03/27/98 - externalized
#include "rockmacros.h" #include "rockmacros.h"
@ -295,7 +295,7 @@ int EV_DoLockedDoor
case 133: case 133:
if (!p->cards[it_bluecard] && !p->cards[it_blueskull]) if (!p->cards[it_bluecard] && !p->cards[it_blueskull])
{ {
p->message = PD_BLUEO; // Ty 03/27/98 - externalized p->message = s_PD_BLUEO; // Ty 03/27/98 - externalized
S_StartSound(p->mo,sfx_oof); // killough 3/20/98 S_StartSound(p->mo,sfx_oof); // killough 3/20/98
return 0; return 0;
} }
@ -305,7 +305,7 @@ int EV_DoLockedDoor
case 135: case 135:
if (!p->cards[it_redcard] && !p->cards[it_redskull]) if (!p->cards[it_redcard] && !p->cards[it_redskull])
{ {
p->message = PD_REDO; // Ty 03/27/98 - externalized p->message = s_PD_REDO; // Ty 03/27/98 - externalized
S_StartSound(p->mo,sfx_oof); // killough 3/20/98 S_StartSound(p->mo,sfx_oof); // killough 3/20/98
return 0; return 0;
} }
@ -315,7 +315,7 @@ int EV_DoLockedDoor
case 137: case 137:
if (!p->cards[it_yellowcard] && !p->cards[it_yellowskull]) if (!p->cards[it_yellowcard] && !p->cards[it_yellowskull])
{ {
p->message = PD_YELLOWO; // Ty 03/27/98 - externalized p->message = s_PD_YELLOWO; // Ty 03/27/98 - externalized
S_StartSound(p->mo,sfx_oof); // killough 3/20/98 S_StartSound(p->mo,sfx_oof); // killough 3/20/98
return 0; return 0;
} }
@ -449,7 +449,7 @@ int EV_VerticalDoor
return 0; return 0;
if (!player->cards[it_bluecard] && !player->cards[it_blueskull]) if (!player->cards[it_bluecard] && !player->cards[it_blueskull])
{ {
player->message = PD_BLUEK; // Ty 03/27/98 - externalized player->message = s_PD_BLUEK; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return 0; return 0;
} }
@ -461,7 +461,7 @@ int EV_VerticalDoor
return 0; return 0;
if (!player->cards[it_yellowcard] && !player->cards[it_yellowskull]) if (!player->cards[it_yellowcard] && !player->cards[it_yellowskull])
{ {
player->message = PD_YELLOWK; // Ty 03/27/98 - externalized player->message = s_PD_YELLOWK; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return 0; return 0;
} }
@ -473,7 +473,7 @@ int EV_VerticalDoor
return 0; return 0;
if (!player->cards[it_redcard] && !player->cards[it_redskull]) if (!player->cards[it_redcard] && !player->cards[it_redskull])
{ {
player->message = PD_REDK; // Ty 03/27/98 - externalized player->message = s_PD_REDK; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return 0; return 0;
} }

View file

@ -36,9 +36,10 @@
#include "r_main.h" #include "r_main.h"
#include "s_sound.h" #include "s_sound.h"
#include "sounds.h" #include "sounds.h"
//#include "d_deh.h" // Ty 03/22/98 - externalized strings #include "d_deh.h" // Ty 03/22/98 - externalized strings
#include "p_tick.h" #include "p_tick.h"
#include "i_system.h" #include "i_system.h"
#include "p_inter.h" #include "p_inter.h"
#include "p_enemy.h" #include "p_enemy.h"
@ -315,13 +316,13 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_ARM1: case SPR_ARM1:
if (!P_GiveArmor (player, green_armor_class)) if (!P_GiveArmor (player, green_armor_class))
return; return;
player->message = GOTARMOR; // Ty 03/22/98 - externalized player->message = s_GOTARMOR; // Ty 03/22/98 - externalized
break; break;
case SPR_ARM2: case SPR_ARM2:
if (!P_GiveArmor (player, blue_armor_class)) if (!P_GiveArmor (player, blue_armor_class))
return; return;
player->message = GOTMEGA; // Ty 03/22/98 - externalized player->message = s_GOTMEGA; // Ty 03/22/98 - externalized
break; break;
// bonus items // bonus items
@ -330,7 +331,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
if (player->health > (maxhealth * 2)) if (player->health > (maxhealth * 2))
player->health = (maxhealth * 2); player->health = (maxhealth * 2);
player->mo->health = player->health; player->mo->health = player->health;
player->message = GOTHTHBONUS; // Ty 03/22/98 - externalized player->message = s_GOTHTHBONUS; // Ty 03/22/98 - externalized
break; break;
case SPR_BON2: case SPR_BON2:
@ -339,7 +340,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
player->armorpoints = max_armor; player->armorpoints = max_armor;
if (!player->armortype) if (!player->armortype)
player->armortype = green_armor_class; player->armortype = green_armor_class;
player->message = GOTARMBONUS; // Ty 03/22/98 - externalized player->message = s_GOTARMBONUS; // Ty 03/22/98 - externalized
break; break;
case SPR_SOUL: case SPR_SOUL:
@ -347,7 +348,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
if (player->health > max_soul) if (player->health > max_soul)
player->health = max_soul; player->health = max_soul;
player->mo->health = player->health; player->mo->health = player->health;
player->message = GOTSUPER; // Ty 03/22/98 - externalized player->message = s_GOTSUPER; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
@ -357,7 +358,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
player->health = mega_health; player->health = mega_health;
player->mo->health = player->health; player->mo->health = player->health;
P_GiveArmor (player,blue_armor_class); P_GiveArmor (player,blue_armor_class);
player->message = GOTMSPHERE; // Ty 03/22/98 - externalized player->message = s_GOTMSPHERE; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
@ -365,7 +366,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
// leave cards for everyone // leave cards for everyone
case SPR_BKEY: case SPR_BKEY:
if (!player->cards[it_bluecard]) if (!player->cards[it_bluecard])
player->message = GOTBLUECARD; // Ty 03/22/98 - externalized player->message = s_GOTBLUECARD; // Ty 03/22/98 - externalized
P_GiveCard (player, it_bluecard); P_GiveCard (player, it_bluecard);
if (!netgame) if (!netgame)
break; break;
@ -373,7 +374,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_YKEY: case SPR_YKEY:
if (!player->cards[it_yellowcard]) if (!player->cards[it_yellowcard])
player->message = GOTYELWCARD; // Ty 03/22/98 - externalized player->message = s_GOTYELWCARD; // Ty 03/22/98 - externalized
P_GiveCard (player, it_yellowcard); P_GiveCard (player, it_yellowcard);
if (!netgame) if (!netgame)
break; break;
@ -381,7 +382,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_RKEY: case SPR_RKEY:
if (!player->cards[it_redcard]) if (!player->cards[it_redcard])
player->message = GOTREDCARD; // Ty 03/22/98 - externalized player->message = s_GOTREDCARD; // Ty 03/22/98 - externalized
P_GiveCard (player, it_redcard); P_GiveCard (player, it_redcard);
if (!netgame) if (!netgame)
break; break;
@ -389,7 +390,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_BSKU: case SPR_BSKU:
if (!player->cards[it_blueskull]) if (!player->cards[it_blueskull])
player->message = GOTBLUESKUL; // Ty 03/22/98 - externalized player->message = s_GOTBLUESKUL; // Ty 03/22/98 - externalized
P_GiveCard (player, it_blueskull); P_GiveCard (player, it_blueskull);
if (!netgame) if (!netgame)
break; break;
@ -397,7 +398,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_YSKU: case SPR_YSKU:
if (!player->cards[it_yellowskull]) if (!player->cards[it_yellowskull])
player->message = GOTYELWSKUL; // Ty 03/22/98 - externalized player->message = s_GOTYELWSKUL; // Ty 03/22/98 - externalized
P_GiveCard (player, it_yellowskull); P_GiveCard (player, it_yellowskull);
if (!netgame) if (!netgame)
break; break;
@ -405,7 +406,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_RSKU: case SPR_RSKU:
if (!player->cards[it_redskull]) if (!player->cards[it_redskull])
player->message = GOTREDSKULL; // Ty 03/22/98 - externalized player->message = s_GOTREDSKULL; // Ty 03/22/98 - externalized
P_GiveCard (player, it_redskull); P_GiveCard (player, it_redskull);
if (!netgame) if (!netgame)
break; break;
@ -415,7 +416,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_STIM: case SPR_STIM:
if (!P_GiveBody (player, 10)) if (!P_GiveBody (player, 10))
return; return;
player->message = GOTSTIM; // Ty 03/22/98 - externalized player->message = s_GOTSTIM; // Ty 03/22/98 - externalized
break; break;
case SPR_MEDI: case SPR_MEDI:
@ -423,9 +424,9 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
return; return;
if (player->health < 50) // cph - 25 + the 25 just added, thanks to Quasar for reporting this bug if (player->health < 50) // cph - 25 + the 25 just added, thanks to Quasar for reporting this bug
player->message = GOTMEDINEED; // Ty 03/22/98 - externalized player->message = s_GOTMEDINEED; // Ty 03/22/98 - externalized
else else
player->message = GOTMEDIKIT; // Ty 03/22/98 - externalized player->message = s_GOTMEDIKIT; // Ty 03/22/98 - externalized
break; break;
@ -433,14 +434,14 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_PINV: case SPR_PINV:
if (!P_GivePower (player, pw_invulnerability)) if (!P_GivePower (player, pw_invulnerability))
return; return;
player->message = GOTINVUL; // Ty 03/22/98 - externalized player->message = s_GOTINVUL; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
case SPR_PSTR: case SPR_PSTR:
if (!P_GivePower (player, pw_strength)) if (!P_GivePower (player, pw_strength))
return; return;
player->message = GOTBERSERK; // Ty 03/22/98 - externalized player->message = s_GOTBERSERK; // Ty 03/22/98 - externalized
if (player->readyweapon != wp_fist) if (player->readyweapon != wp_fist)
player->pendingweapon = wp_fist; player->pendingweapon = wp_fist;
sound = sfx_getpow; sound = sfx_getpow;
@ -449,28 +450,28 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
case SPR_PINS: case SPR_PINS:
if (!P_GivePower (player, pw_invisibility)) if (!P_GivePower (player, pw_invisibility))
return; return;
player->message = GOTINVIS; // Ty 03/22/98 - externalized player->message = s_GOTINVIS; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
case SPR_SUIT: case SPR_SUIT:
if (!P_GivePower (player, pw_ironfeet)) if (!P_GivePower (player, pw_ironfeet))
return; return;
player->message = GOTSUIT; // Ty 03/22/98 - externalized player->message = s_GOTSUIT; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
case SPR_PMAP: case SPR_PMAP:
if (!P_GivePower (player, pw_allmap)) if (!P_GivePower (player, pw_allmap))
return; return;
player->message = GOTMAP; // Ty 03/22/98 - externalized player->message = s_GOTMAP; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
case SPR_PVIS: case SPR_PVIS:
if (!P_GivePower (player, pw_infrared)) if (!P_GivePower (player, pw_infrared))
return; return;
player->message = GOTVISOR; // Ty 03/22/98 - externalized player->message = s_GOTVISOR; // Ty 03/22/98 - externalized
sound = sfx_getpow; sound = sfx_getpow;
break; break;
@ -486,49 +487,49 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
if (!P_GiveAmmo (player,am_clip,1)) if (!P_GiveAmmo (player,am_clip,1))
return; return;
} }
player->message = GOTCLIP; // Ty 03/22/98 - externalized player->message = s_GOTCLIP; // Ty 03/22/98 - externalized
break; break;
case SPR_AMMO: case SPR_AMMO:
if (!P_GiveAmmo (player, am_clip,5)) if (!P_GiveAmmo (player, am_clip,5))
return; return;
player->message = GOTCLIPBOX; // Ty 03/22/98 - externalized player->message = s_GOTCLIPBOX; // Ty 03/22/98 - externalized
break; break;
case SPR_ROCK: case SPR_ROCK:
if (!P_GiveAmmo (player, am_misl,1)) if (!P_GiveAmmo (player, am_misl,1))
return; return;
player->message = GOTROCKET; // Ty 03/22/98 - externalized player->message = s_GOTROCKET; // Ty 03/22/98 - externalized
break; break;
case SPR_BROK: case SPR_BROK:
if (!P_GiveAmmo (player, am_misl,5)) if (!P_GiveAmmo (player, am_misl,5))
return; return;
player->message = GOTROCKBOX; // Ty 03/22/98 - externalized player->message = s_GOTROCKBOX; // Ty 03/22/98 - externalized
break; break;
case SPR_CELL: case SPR_CELL:
if (!P_GiveAmmo (player, am_cell,1)) if (!P_GiveAmmo (player, am_cell,1))
return; return;
player->message = GOTCELL; // Ty 03/22/98 - externalized player->message = s_GOTCELL; // Ty 03/22/98 - externalized
break; break;
case SPR_CELP: case SPR_CELP:
if (!P_GiveAmmo (player, am_cell,5)) if (!P_GiveAmmo (player, am_cell,5))
return; return;
player->message = GOTCELLBOX; // Ty 03/22/98 - externalized player->message = s_GOTCELLBOX; // Ty 03/22/98 - externalized
break; break;
case SPR_SHEL: case SPR_SHEL:
if (!P_GiveAmmo (player, am_shell,1)) if (!P_GiveAmmo (player, am_shell,1))
return; return;
player->message = GOTSHELLS; // Ty 03/22/98 - externalized player->message = s_GOTSHELLS; // Ty 03/22/98 - externalized
break; break;
case SPR_SBOX: case SPR_SBOX:
if (!P_GiveAmmo (player, am_shell,5)) if (!P_GiveAmmo (player, am_shell,5))
return; return;
player->message = GOTSHELLBOX; // Ty 03/22/98 - externalized player->message = s_GOTSHELLBOX; // Ty 03/22/98 - externalized
break; break;
case SPR_BPAK: case SPR_BPAK:
@ -540,56 +541,56 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
} }
for (i=0 ; i<NUMAMMO ; i++) for (i=0 ; i<NUMAMMO ; i++)
P_GiveAmmo (player, i, 1); P_GiveAmmo (player, i, 1);
player->message = GOTBACKPACK; // Ty 03/22/98 - externalized player->message = s_GOTBACKPACK; // Ty 03/22/98 - externalized
break; break;
// weapons // weapons
case SPR_BFUG: case SPR_BFUG:
if (!P_GiveWeapon (player, wp_bfg, false) ) if (!P_GiveWeapon (player, wp_bfg, false) )
return; return;
player->message = GOTBFG9000; // Ty 03/22/98 - externalized player->message = s_GOTBFG9000; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;
case SPR_MGUN: case SPR_MGUN:
if (!P_GiveWeapon (player, wp_chaingun, (special->flags&MF_DROPPED)!=0) ) if (!P_GiveWeapon (player, wp_chaingun, (special->flags&MF_DROPPED)!=0) )
return; return;
player->message = GOTCHAINGUN; // Ty 03/22/98 - externalized player->message = s_GOTCHAINGUN; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;
case SPR_CSAW: case SPR_CSAW:
if (!P_GiveWeapon (player, wp_chainsaw, false) ) if (!P_GiveWeapon (player, wp_chainsaw, false) )
return; return;
player->message = GOTCHAINSAW; // Ty 03/22/98 - externalized player->message = s_GOTCHAINSAW; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;
case SPR_LAUN: case SPR_LAUN:
if (!P_GiveWeapon (player, wp_missile, false) ) if (!P_GiveWeapon (player, wp_missile, false) )
return; return;
player->message = GOTLAUNCHER; // Ty 03/22/98 - externalized player->message = s_GOTLAUNCHER; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;
case SPR_PLAS: case SPR_PLAS:
if (!P_GiveWeapon (player, wp_plasma, false) ) if (!P_GiveWeapon (player, wp_plasma, false) )
return; return;
player->message = GOTPLASMA; // Ty 03/22/98 - externalized player->message = s_GOTPLASMA; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;
case SPR_SHOT: case SPR_SHOT:
if (!P_GiveWeapon (player, wp_shotgun, (special->flags&MF_DROPPED)!=0 ) ) if (!P_GiveWeapon (player, wp_shotgun, (special->flags&MF_DROPPED)!=0 ) )
return; return;
player->message = GOTSHOTGUN; // Ty 03/22/98 - externalized player->message = s_GOTSHOTGUN; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;
case SPR_SGN2: case SPR_SGN2:
if (!P_GiveWeapon(player, wp_supershotgun, (special->flags&MF_DROPPED)!=0)) if (!P_GiveWeapon(player, wp_supershotgun, (special->flags&MF_DROPPED)!=0))
return; return;
player->message = GOTSHOTGUN2; // Ty 03/22/98 - externalized player->message = s_GOTSHOTGUN2; // Ty 03/22/98 - externalized
sound = sfx_wpnup; sound = sfx_wpnup;
break; break;

View file

@ -46,9 +46,7 @@
#define WEAPONBOTTOM (FRACUNIT*128) #define WEAPONBOTTOM (FRACUNIT*128)
#define WEAPONTOP (FRACUNIT*32) #define WEAPONTOP (FRACUNIT*32)
// plasma cells for a bfg attack #define BFGCELLS bfgcells /* Ty 03/09/98 externalized in p_inter.c */
#define BFGCELLS 40
//#define BFGCELLS bfgcells /* Ty 03/09/98 externalized in p_inter.c */
extern void P_Thrust(player_t *, angle_t, fixed_t); extern void P_Thrust(player_t *, angle_t, fixed_t);

View file

@ -54,7 +54,7 @@
#include "s_sound.h" #include "s_sound.h"
#include "sounds.h" #include "sounds.h"
#include "m_bbox.h" // phares 3/20/98 #include "m_bbox.h" // phares 3/20/98
//#include "d_deh.h" #include "d_deh.h"
#include "r_plane.h" #include "r_plane.h"
#include "i_system.h" #include "i_system.h"
#include "rockmacros.h" #include "rockmacros.h"
@ -818,7 +818,7 @@ boolean P_CanUnlockGenDoor
!player->cards[it_yellowskull] !player->cards[it_yellowskull]
) )
{ {
player->message = PD_ANY; // Ty 03/27/98 - externalized player->message = s_PD_ANY; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -830,7 +830,7 @@ boolean P_CanUnlockGenDoor
(!skulliscard || !player->cards[it_redskull]) (!skulliscard || !player->cards[it_redskull])
) )
{ {
player->message = skulliscard? PD_REDK : PD_REDC; // Ty 03/27/98 - externalized player->message = skulliscard? s_PD_REDK : s_PD_REDC; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -842,7 +842,7 @@ boolean P_CanUnlockGenDoor
(!skulliscard || !player->cards[it_blueskull]) (!skulliscard || !player->cards[it_blueskull])
) )
{ {
player->message = skulliscard? PD_BLUEK : PD_BLUEC; // Ty 03/27/98 - externalized player->message = skulliscard? s_PD_BLUEK : s_PD_BLUEC; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -854,7 +854,7 @@ boolean P_CanUnlockGenDoor
(!skulliscard || !player->cards[it_yellowskull]) (!skulliscard || !player->cards[it_yellowskull])
) )
{ {
player->message = skulliscard? PD_YELLOWK : PD_YELLOWC; // Ty 03/27/98 - externalized player->message = skulliscard? s_PD_YELLOWK : s_PD_YELLOWC; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -866,7 +866,7 @@ boolean P_CanUnlockGenDoor
(!skulliscard || !player->cards[it_redcard]) (!skulliscard || !player->cards[it_redcard])
) )
{ {
player->message = skulliscard? PD_REDK : PD_REDS; // Ty 03/27/98 - externalized player->message = skulliscard? s_PD_REDK : s_PD_REDS; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -878,7 +878,7 @@ boolean P_CanUnlockGenDoor
(!skulliscard || !player->cards[it_bluecard]) (!skulliscard || !player->cards[it_bluecard])
) )
{ {
player->message = skulliscard? PD_BLUEK : PD_BLUES; // Ty 03/27/98 - externalized player->message = skulliscard? s_PD_BLUEK : s_PD_BLUES; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -890,7 +890,7 @@ boolean P_CanUnlockGenDoor
(!skulliscard || !player->cards[it_yellowcard]) (!skulliscard || !player->cards[it_yellowcard])
) )
{ {
player->message = skulliscard? PD_YELLOWK : PD_YELLOWS; // Ty 03/27/98 - externalized player->message = skulliscard? s_PD_YELLOWK : s_PD_YELLOWS; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -909,7 +909,7 @@ boolean P_CanUnlockGenDoor
) )
) )
{ {
player->message = PD_ALL6; // Ty 03/27/98 - externalized player->message = s_PD_ALL6; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }
@ -926,7 +926,7 @@ boolean P_CanUnlockGenDoor
) )
) )
{ {
player->message = PD_ALL3; // Ty 03/27/98 - externalized player->message = s_PD_ALL3; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98 S_StartSound(player->mo,sfx_oof); // killough 3/20/98
return false; return false;
} }

View file

@ -782,14 +782,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
rb->lcd_setfont(0); rb->lcd_setfont(0);
#ifdef FANCY_MENU
/* TO FIX: Don't use load_main_backdrop() - use lcd_set_backdrop() */
if(rb->load_main_backdrop(GAMEBASE"backdrop.bmp"))
rb->lcd_set_foreground(LCD_RGBPACK(85,208,56));
rb->lcd_clear_display();
#endif
// We're using doom's memory management since it implements a proper free (and re-uses the memory) // We're using doom's memory management since it implements a proper free (and re-uses the memory)
// and now with prboom's code: realloc and calloc // and now with prboom's code: realloc and calloc
printf ("Z_Init: Init zone memory allocation daemon.\n"); printf ("Z_Init: Init zone memory allocation daemon.\n");
@ -798,15 +790,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
printf ("M_LoadDefaults: Load system defaults.\n"); printf ("M_LoadDefaults: Load system defaults.\n");
M_LoadDefaults (); // load before initing other systems M_LoadDefaults (); // load before initing other systems
#ifdef FANCY_MENU
rb->lcd_setfont(FONT_UI);
rb->lcd_putsxy(5,LCD_HEIGHT-20, "Welcome to RockDoom");
rb->lcd_update();
rb->sleep(HZ*2);
rb->lcd_setfont(0);
#else
rb->splash(HZ*2, true, "Welcome to RockDoom"); rb->splash(HZ*2, true, "Welcome to RockDoom");
#endif
myargv =0; myargv =0;
myargc=0; myargc=0;

View file

@ -35,7 +35,7 @@ int my_open(const char *file, int flags);
int my_close(int id); int my_close(int id);
char *my_strtok( char * s, const char * delim ); char *my_strtok( char * s, const char * delim );
#define alloca __builtin_alloca #define alloca __builtin_alloca
#define fprintf(...) rb->fdprintf(__VA_ARGS__) #define fdprintf(...) rb->fdprintf(__VA_ARGS__)
#define vsnprintf(...) rb->vsnprintf(__VA_ARGS__) #define vsnprintf(...) rb->vsnprintf(__VA_ARGS__)
#ifdef SIMULATOR #ifdef SIMULATOR
@ -61,6 +61,7 @@ char *my_strtok( char * s, const char * delim );
#define lseek(a,b,c) rb->lseek((a),(b),(c)) #define lseek(a,b,c) rb->lseek((a),(b),(c))
#endif /* !SIMULATOR */ #endif /* !SIMULATOR */
#define strtok(a,b) my_strtok((a),(b))
#define strcat(a,b) rb->strcat((a),(b)) #define strcat(a,b) rb->strcat((a),(b))
#define read(a,b,c) rb->read((a),(b),(c)) #define read(a,b,c) rb->read((a),(b),(c))
#define write(a,b,c) rb->write((a),(b),(c)) #define write(a,b,c) rb->write((a),(b),(c))
@ -91,7 +92,6 @@ inline void* memcpy(void* dst, const void* src, size_t size);
//#define SIMPLECHECKS //#define SIMPLECHECKS
#define NO_PREDEFINED_LUMPS #define NO_PREDEFINED_LUMPS
#define TABLES_AS_LUMPS // This frees up alot of space in the plugin buffer #define TABLES_AS_LUMPS // This frees up alot of space in the plugin buffer
//#define FANCY_MENU // This is a call to allow load_main_backdrop to run in doom
#define MAKE_FOURCC(a,b,c,d) (uint32_t)((((a)<<24)|((b)<<16)|((c)<<8)|(d))) #define MAKE_FOURCC(a,b,c,d) (uint32_t)((((a)<<24)|((b)<<16)|((c)<<8)|(d)))