Placing FindArg calls to seperated function, putting variables to a struct - frist step, not finished, yet; Large code cleanup
This commit is contained in:
parent
78103fddce
commit
38cde9ec87
|
@ -3,6 +3,7 @@ D1X-Rebirth Changelog
|
||||||
20070714
|
20070714
|
||||||
--------
|
--------
|
||||||
SConstruct, main/game.c, main/inferno.c: removed old CD-Play code
|
SConstruct, main/game.c, main/inferno.c: removed old CD-Play code
|
||||||
|
SConstruct, d1x.ini, arch/sdl/init.c, arch/sdl/joy.c, main/args.c, main/args.h, main/config.c, main/game.c, main/game.h, main/gauges.c, main/hud.c, main/inferno.c, main/kconfig.c, main/kmatrix.c, main/laser.c, main/menu.c, main/multi.c, main/newdemo.c, main/newdemo.h, main/piggy.c, main/titles.c: Placing FindArg calls to seperated function, putting variables to a struct - frist step, not finished, yet; Large code cleanup
|
||||||
|
|
||||||
20070629
|
20070629
|
||||||
--------
|
--------
|
||||||
|
|
|
@ -112,7 +112,6 @@ common_sources = [
|
||||||
'main/hash.c',
|
'main/hash.c',
|
||||||
'main/hostage.c',
|
'main/hostage.c',
|
||||||
'main/hud.c',
|
'main/hud.c',
|
||||||
'main/hudlog.c',
|
|
||||||
'main/ignore.c',
|
'main/ignore.c',
|
||||||
'main/inferno.c',
|
'main/inferno.c',
|
||||||
'main/ip_base.cpp',
|
'main/ip_base.cpp',
|
||||||
|
@ -246,7 +245,6 @@ editor_sources = [
|
||||||
# for linux
|
# for linux
|
||||||
arch_linux_sources = [
|
arch_linux_sources = [
|
||||||
'arch/linux/arch_ip.cpp',
|
'arch/linux/arch_ip.cpp',
|
||||||
'arch/linux/init.c',
|
|
||||||
'arch/linux/ipx_bsd.c',
|
'arch/linux/ipx_bsd.c',
|
||||||
'arch/linux/ipx_kali.c',
|
'arch/linux/ipx_kali.c',
|
||||||
'arch/linux/linuxnet.c',
|
'arch/linux/linuxnet.c',
|
||||||
|
@ -269,7 +267,6 @@ else:
|
||||||
arch_win32_sources = [
|
arch_win32_sources = [
|
||||||
'arch/win32/arch_ip.cpp',
|
'arch/win32/arch_ip.cpp',
|
||||||
'arch/win32/hmpfile.c',
|
'arch/win32/hmpfile.c',
|
||||||
'arch/win32/init.c',
|
|
||||||
'arch/win32/ipx_win.c',
|
'arch/win32/ipx_win.c',
|
||||||
'arch/win32/midi.c',
|
'arch/win32/midi.c',
|
||||||
'arch/win32/mono.c',
|
'arch/win32/mono.c',
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
// linux init.c - added Matt Mueller 9/6/98
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "text.h"
|
|
||||||
#include "event.h"
|
|
||||||
#include "error.h"
|
|
||||||
#include "joy.h"
|
|
||||||
#include "args.h"
|
|
||||||
|
|
||||||
extern int Inferno_verbose;
|
|
||||||
extern void arch_sdl_init();
|
|
||||||
extern void arch_svgalib_init();
|
|
||||||
extern void key_init();
|
|
||||||
|
|
||||||
void arch_init_start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void arch_init()
|
|
||||||
{
|
|
||||||
// Initialise the library
|
|
||||||
#ifdef __SDL__
|
|
||||||
arch_sdl_init();
|
|
||||||
#endif
|
|
||||||
#ifdef __SVGALIB__
|
|
||||||
arch_svgalib_init();
|
|
||||||
#endif
|
|
||||||
if (!FindArg( "-nojoystick" )) {
|
|
||||||
if (Inferno_verbose) printf( "\n%s", TXT_VERBOSE_6);
|
|
||||||
joy_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
key_init();
|
|
||||||
}
|
|
|
@ -6,6 +6,8 @@
|
||||||
#include "event.h"
|
#include "event.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "args.h"
|
#include "args.h"
|
||||||
|
#include "key.h"
|
||||||
|
#include "joy.h"
|
||||||
|
|
||||||
extern void d_mouse_init();
|
extern void d_mouse_init();
|
||||||
|
|
||||||
|
@ -16,21 +18,14 @@ void sdl_close()
|
||||||
|
|
||||||
void arch_sdl_init()
|
void arch_sdl_init()
|
||||||
{
|
{
|
||||||
// Initialise the library
|
if (SDL_Init(SDL_INIT_VIDEO)<0)
|
||||||
//edited on 01/03/99 by Matt Mueller - if we use SDL_INIT_EVERYTHING, cdrom is initialized even if -nocdaudio is used
|
Error("SDL library initialisation failed: %s.",SDL_GetError());
|
||||||
if (SDL_Init(
|
|
||||||
#if SDL_VIDEO || SDL_GL
|
|
||||||
SDL_INIT_VIDEO
|
|
||||||
#else
|
|
||||||
0
|
|
||||||
#endif
|
|
||||||
)<0) {
|
|
||||||
//end edit -MM
|
|
||||||
Error("SDL library initialisation failed: %s.",SDL_GetError());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!FindArg("-nomouse"))
|
key_init();
|
||||||
d_mouse_init();
|
joy_init();
|
||||||
|
|
||||||
atexit(sdl_close);
|
if (!FindArg("-nomouse"))
|
||||||
|
d_mouse_init();
|
||||||
|
|
||||||
|
atexit(sdl_close);
|
||||||
}
|
}
|
||||||
|
|
|
@ -429,10 +429,6 @@ int joy_get_scaled_reading( int raw, int axis_num )
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void joy_set_slow_reading( int flag )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct Button_info {
|
typedef struct Button_info {
|
||||||
ubyte ignore;
|
ubyte ignore;
|
||||||
ubyte state;
|
ubyte state;
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
/*
|
|
||||||
*
|
|
||||||
* mingw_init.c - Basically same as linux init.c
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <conf.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "types.h"
|
|
||||||
#include "console.h"
|
|
||||||
#include "text.h"
|
|
||||||
#include "event.h"
|
|
||||||
#include "error.h"
|
|
||||||
#include "joy.h"
|
|
||||||
#include "args.h"
|
|
||||||
|
|
||||||
extern void arch_sdl_init();
|
|
||||||
extern void key_init();
|
|
||||||
|
|
||||||
void arch_init_start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void arch_init()
|
|
||||||
{
|
|
||||||
// Initialise the library
|
|
||||||
arch_sdl_init();
|
|
||||||
|
|
||||||
if (!FindArg( "-nojoystick" )) {
|
|
||||||
if (Inferno_verbose) printf( "\n%s", TXT_VERBOSE_6);
|
|
||||||
joy_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
key_init();
|
|
||||||
}
|
|
19
d1x.ini
19
d1x.ini
|
@ -4,23 +4,20 @@
|
||||||
;-nonicefps Disable CPU cycle freeing. Higher CPU load, but game may be smoother
|
;-nonicefps Disable CPU cycle freeing. Higher CPU load, but game may be smoother
|
||||||
;-maxfps <n> Set maximum framerate (1-80)
|
;-maxfps <n> Set maximum framerate (1-80)
|
||||||
;-missiondir <d> Set alternate mission dir to <d> instead of missions/
|
;-missiondir <d> Set alternate mission dir to <d> instead of missions/
|
||||||
;-hudlog Start hudlog immediately
|
|
||||||
;-lowmem Lowers animation detail for better performance with low memory
|
;-lowmem Lowers animation detail for better performance with low memory
|
||||||
;-legacyhomers Activate original homing missiles (FPS and physics dependent)
|
;-legacyhomers Activate original homing missiles (FPS and physics dependent)
|
||||||
|
;-pilot <pilot> Select this pilot-file automatically
|
||||||
|
;-autodemo Start in demo mode
|
||||||
|
|
||||||
Controls:
|
Controls:
|
||||||
|
|
||||||
;-NoJoystick Disables joystick support
|
|
||||||
;-mouselook Activate mouselook. Works in singleplayer only
|
;-mouselook Activate mouselook. Works in singleplayer only
|
||||||
;-grabmouse Keeps the mouse from wandering out of the window
|
;-grabmouse Keeps the mouse from wandering out of the window
|
||||||
|
|
||||||
Sound:
|
Sound:
|
||||||
|
|
||||||
;-Volume <v> Sets sound volume to v, where v is between 0 and 100
|
;-nosound Disables sound drivers
|
||||||
;-NoSound Disables sound drivers
|
;-nomusic Disables music; sound effects remain enabled
|
||||||
;-NoMusic Disables music; sound effects remain enabled
|
|
||||||
;-music_ext <e> Use alternate external music files with extension <e> (requires SDL_mixer)
|
|
||||||
;-jukebox <d> Use jukebox for in-game music, load MP3/OGG files from directory <d> (requires SDL_mixer)
|
|
||||||
|
|
||||||
Graphics:
|
Graphics:
|
||||||
|
|
||||||
|
@ -43,13 +40,6 @@
|
||||||
;-gl_voodoo Force fullscreen mode only
|
;-gl_voodoo Force fullscreen mode only
|
||||||
;-fixedfont Do not scale fonts to current resolution
|
;-fixedfont Do not scale fonts to current resolution
|
||||||
|
|
||||||
Quickstart:
|
|
||||||
|
|
||||||
;-ini <file> Option file (alternate to command line), defaults to d1x.ini
|
|
||||||
;-notitles Do not show titlescreens on startup
|
|
||||||
;-pilot <pilot> Select this pilot-file automatically
|
|
||||||
;-autodemo Start in demo mode
|
|
||||||
|
|
||||||
Multiplayer:
|
Multiplayer:
|
||||||
|
|
||||||
;-mprofile <f> Use multi game profile <f>
|
;-mprofile <f> Use multi game profile <f>
|
||||||
|
@ -61,7 +51,6 @@
|
||||||
;-noredundancy Do not send messages when picking up redundant items in multiplayer
|
;-noredundancy Do not send messages when picking up redundant items in multiplayer
|
||||||
;-playermessages View only messages from other players in multi - overrides -noredundancy
|
;-playermessages View only messages from other players in multi - overrides -noredundancy
|
||||||
;-handicap <n> Start game with <n> shields. Must be < 100 for multi
|
;-handicap <n> Start game with <n> shields. Must be < 100 for multi
|
||||||
;-hudlog_multi Start hudlog upon entering multiplayer games
|
|
||||||
;-msgcolorlevel <c> To set message colorization level
|
;-msgcolorlevel <c> To set message colorization level
|
||||||
; 0=none(old style) 1=color names in talk messages only(default)
|
; 0=none(old style) 1=color names in talk messages only(default)
|
||||||
; 2=also color names in kill/join/etc messages
|
; 2=also color names in kill/join/etc messages
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
// architecture specific things
|
|
||||||
#ifndef _ARCH_H
|
|
||||||
#define _ARCH_H
|
|
||||||
|
|
||||||
// called before anything else
|
|
||||||
void arch_init_start();
|
|
||||||
|
|
||||||
// called during startup
|
|
||||||
void arch_init();
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -11,38 +11,9 @@ AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||||
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* $Source: /cvsroot/dxx-rebirth/d1x-rebirth/include/args.h,v $
|
*
|
||||||
* $Revision: 1.1.1.1 $
|
|
||||||
* $Author: zicodxx $
|
|
||||||
* $Date: 2006/03/17 19:46:29 $
|
|
||||||
*
|
|
||||||
* Prototypes for accessing arguments.
|
* Prototypes for accessing arguments.
|
||||||
*
|
|
||||||
* $Log: args.h,v $
|
|
||||||
* Revision 1.1.1.1 2006/03/17 19:46:29 zicodxx
|
|
||||||
* initial import
|
|
||||||
*
|
*
|
||||||
* Revision 1.1.1.1 1999/06/14 22:02:08 donut
|
|
||||||
* Import of d1x 1.37 source.
|
|
||||||
*
|
|
||||||
* Revision 2.0 1995/02/27 11:33:09 john
|
|
||||||
* New version 2.0, which has no anonymous unions, builds with
|
|
||||||
* Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
|
|
||||||
*
|
|
||||||
* Revision 1.4 1994/07/11 16:27:28 matt
|
|
||||||
* Took out prototypes for netipx funcs
|
|
||||||
*
|
|
||||||
* Revision 1.3 1994/05/11 19:45:34 john
|
|
||||||
* *** empty log message ***
|
|
||||||
*
|
|
||||||
* Revision 1.2 1994/05/09 17:02:55 john
|
|
||||||
* Split command line parameters into arg.c and arg.h.
|
|
||||||
* Also added /dma, /port, /irq to digi.c
|
|
||||||
*
|
|
||||||
* Revision 1.1 1994/05/09 16:47:49 john
|
|
||||||
* Initial revision
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,15 +21,35 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
#ifndef _ARGS_H
|
#ifndef _ARGS_H
|
||||||
#define _ARGS_H
|
#define _ARGS_H
|
||||||
|
|
||||||
extern int Num_args;
|
extern int Num_args;
|
||||||
extern char * Args[];
|
extern char * Args[];
|
||||||
extern int FindArg( char * s );
|
extern int FindArg( char * s );
|
||||||
extern int FindResArg(char *prefix, int *sw, int *sh);
|
extern int FindResArg(char *prefix, int *sw, int *sh);
|
||||||
//added/edited on 1/11/99 by dph
|
|
||||||
extern void InitArgs( int argc, char **argv );
|
extern void InitArgs( int argc, char **argv );
|
||||||
//end this section addition/change -dph
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
extern int Inferno_verbose;
|
extern int Inferno_verbose;
|
||||||
//end addition -MM
|
|
||||||
|
// Struct that keeps all variables used by FindArg
|
||||||
|
// Sys - System Options
|
||||||
|
// Ctl - Control Options
|
||||||
|
// Snd - Sound Options
|
||||||
|
// Gfx - Graphics Options
|
||||||
|
// Ogl - OpenGL Options
|
||||||
|
// Mpl - Multiplayer Options
|
||||||
|
// Dbg - Debugging/Undocumented Options
|
||||||
|
typedef struct Arg
|
||||||
|
{
|
||||||
|
int SysFPSIndicator;
|
||||||
|
int SysUseNiceFPS;
|
||||||
|
int SysMaxFPS;
|
||||||
|
char *SysMissionDir;
|
||||||
|
int SysLowMem;
|
||||||
|
int SysLegacyHomers;
|
||||||
|
char *SysPilot;
|
||||||
|
int SysAutoDemo;
|
||||||
|
int CtlMouselook;
|
||||||
|
int CtlGrabMouse;
|
||||||
|
} __attribute__ ((packed)) Arg;
|
||||||
|
|
||||||
|
extern struct Arg GameArg;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
159
main/args.c
159
main/args.c
|
@ -11,85 +11,31 @@ AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||||
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* $Source: /cvsroot/dxx-rebirth/d1x-rebirth/main/args.c,v $
|
*
|
||||||
* $Revision: 1.1.1.1 $
|
|
||||||
* $Author: zicodxx $
|
|
||||||
* $Date: 2006/03/17 19:42:49 $
|
|
||||||
*
|
|
||||||
* Functions for accessing arguments.
|
* Functions for accessing arguments.
|
||||||
*
|
|
||||||
* $Log: args.c,v $
|
|
||||||
* Revision 1.1.1.1 2006/03/17 19:42:49 zicodxx
|
|
||||||
* initial import
|
|
||||||
*
|
*
|
||||||
* Revision 1.3 1999/08/05 22:53:41 sekmu
|
|
||||||
*
|
|
||||||
* D3D patch(es) from ADB
|
|
||||||
*
|
|
||||||
* Revision 1.2 1999/06/14 23:44:11 donut
|
|
||||||
* Orulz' svgalib/ggi/noerror patches.
|
|
||||||
*
|
|
||||||
* Revision 1.1.1.1 1999/06/14 22:05:15 donut
|
|
||||||
* Import of d1x 1.37 source.
|
|
||||||
*
|
|
||||||
* Revision 2.0 1995/02/27 11:31:22 john
|
|
||||||
* New version 2.0, which has no anonymous unions, builds with
|
|
||||||
* Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
|
|
||||||
*
|
|
||||||
* Revision 1.9 1994/11/29 01:07:57 john
|
|
||||||
* Took out some unused vars.
|
|
||||||
*
|
|
||||||
* Revision 1.8 1994/11/29 01:04:30 john
|
|
||||||
* Took out descent.ini stuff.
|
|
||||||
*
|
|
||||||
* Revision 1.7 1994/09/20 19:29:15 matt
|
|
||||||
* Made args require exact (not substring), though still case insensitive.
|
|
||||||
*
|
|
||||||
* Revision 1.6 1994/07/25 12:33:11 john
|
|
||||||
* Network "pinging" in.
|
|
||||||
*
|
|
||||||
* Revision 1.5 1994/06/17 18:07:50 matt
|
|
||||||
* Took out printf
|
|
||||||
*
|
|
||||||
* Revision 1.4 1994/05/11 19:45:33 john
|
|
||||||
* *** empty log message ***
|
|
||||||
*
|
|
||||||
* Revision 1.3 1994/05/11 18:42:11 john
|
|
||||||
* Added Descent.ini config file.
|
|
||||||
*
|
|
||||||
* Revision 1.2 1994/05/09 17:03:30 john
|
|
||||||
* Split command line parameters into arg.c and arg.h.
|
|
||||||
* Also added /dma, /port, /irq to digi.c
|
|
||||||
*
|
|
||||||
* Revision 1.1 1994/05/09 16:49:11 john
|
|
||||||
* Initial revision
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef RCS
|
|
||||||
static char rcsid[] = "$Id: args.c,v 1.1.1.1 2006/03/17 19:42:49 zicodxx Exp $";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "u_mem.h"
|
#include "u_mem.h"
|
||||||
#include "strio.h"
|
#include "strio.h"
|
||||||
//added 6/15/99 - Owen Evans
|
|
||||||
#include "strutil.h"
|
#include "strutil.h"
|
||||||
//end added - OE
|
#include "args.h"
|
||||||
|
#include "game.h"
|
||||||
|
|
||||||
#define MAX_ARGS 200
|
#define MAX_ARGS 200
|
||||||
int Num_args=0;
|
int Num_args=0;
|
||||||
char * Args[MAX_ARGS];
|
char * Args[MAX_ARGS];
|
||||||
|
|
||||||
|
struct Arg GameArg;
|
||||||
|
|
||||||
int FindArg( char * s ) {
|
int FindArg( char * s ) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
printf("FindArg call: %s\n",s);
|
printf("FindArg: %s\n",s);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (i=0; i<Num_args; i++ )
|
for (i=0; i<Num_args; i++ )
|
||||||
|
@ -126,23 +72,12 @@ int FindResArg(char *prefix, int *sw, int *sh)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void args_exit(void)
|
void AppendIniArgs(void)
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for (i=0; i< Num_args; i++ )
|
|
||||||
free(Args[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AppendArgs(void)
|
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char *line,*word;
|
char *line,*word;
|
||||||
int i;
|
|
||||||
|
f=fopen("d1x.ini","rt");
|
||||||
if((i=FindArg("-ini")))
|
|
||||||
f=fopen(Args[i+1],"rt");
|
|
||||||
else
|
|
||||||
f=fopen("d1x.ini","rt");
|
|
||||||
|
|
||||||
if(f) {
|
if(f) {
|
||||||
while(!feof(f) && Num_args < MAX_ARGS)
|
while(!feof(f) && Num_args < MAX_ARGS)
|
||||||
|
@ -161,6 +96,78 @@ void AppendArgs(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// All FindArg calls should be here to keep the code clean
|
||||||
|
void ReadCmdArgs(void)
|
||||||
|
{
|
||||||
|
int t;
|
||||||
|
|
||||||
|
// System Options
|
||||||
|
|
||||||
|
if (FindArg("-fps"))
|
||||||
|
GameArg.SysFPSIndicator = 1;
|
||||||
|
else
|
||||||
|
GameArg.SysFPSIndicator = 0;
|
||||||
|
|
||||||
|
if (FindArg("-nonicefps"))
|
||||||
|
GameArg.SysUseNiceFPS = 0;
|
||||||
|
else
|
||||||
|
GameArg.SysUseNiceFPS = 1;
|
||||||
|
|
||||||
|
if ((t = FindArg("-maxfps"))) {
|
||||||
|
t=atoi(Args[t+1]);
|
||||||
|
if (t>0&&t<=80)
|
||||||
|
GameArg.SysMaxFPS=t;
|
||||||
|
else
|
||||||
|
GameArg.SysMaxFPS=80;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
GameArg.SysMaxFPS=80;
|
||||||
|
|
||||||
|
if ((t = FindArg("-missiondir")))
|
||||||
|
GameArg.SysMissionDir = Args[t+1];
|
||||||
|
else
|
||||||
|
GameArg.SysMissionDir = DESCENT_DATA_PATH "missions/";
|
||||||
|
|
||||||
|
if (FindArg("-lowmem"))
|
||||||
|
GameArg.SysLowMem = 1;
|
||||||
|
else
|
||||||
|
GameArg.SysLowMem = 0;
|
||||||
|
|
||||||
|
if (FindArg("-legacyhomers"))
|
||||||
|
GameArg.SysLegacyHomers = 1;
|
||||||
|
else
|
||||||
|
GameArg.SysLegacyHomers = 0;
|
||||||
|
|
||||||
|
if ((t = FindArg("-pilot")))
|
||||||
|
GameArg.SysPilot = Args[t+1];
|
||||||
|
else
|
||||||
|
GameArg.SysPilot = NULL;
|
||||||
|
|
||||||
|
if (FindArg("-autodemo"))
|
||||||
|
GameArg.SysAutoDemo = 1;
|
||||||
|
else
|
||||||
|
GameArg.SysAutoDemo = 0;
|
||||||
|
|
||||||
|
// Control Options
|
||||||
|
|
||||||
|
if (FindArg("-mouselook"))
|
||||||
|
GameArg.CtlMouselook = 1;
|
||||||
|
else
|
||||||
|
GameArg.CtlMouselook = 0;
|
||||||
|
|
||||||
|
if (FindArg("-grabmouse"))
|
||||||
|
GameArg.CtlGrabMouse = 1;
|
||||||
|
else
|
||||||
|
GameArg.CtlGrabMouse = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void args_exit(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i=0; i< Num_args; i++ )
|
||||||
|
free(Args[i]);
|
||||||
|
}
|
||||||
|
|
||||||
void InitArgs( int argc,char **argv )
|
void InitArgs( int argc,char **argv )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -174,7 +181,9 @@ void InitArgs( int argc,char **argv )
|
||||||
if ( Args[i][0] == '-' )
|
if ( Args[i][0] == '-' )
|
||||||
strlwr( Args[i] ); // Convert all args to lowercase
|
strlwr( Args[i] ); // Convert all args to lowercase
|
||||||
}
|
}
|
||||||
AppendArgs();
|
|
||||||
|
AppendIniArgs();
|
||||||
|
ReadCmdArgs();
|
||||||
|
|
||||||
atexit(args_exit);
|
atexit(args_exit);
|
||||||
}
|
}
|
||||||
|
|
216
main/cdplay.c
216
main/cdplay.c
|
@ -1,216 +0,0 @@
|
||||||
/* cdplay.c by Victor Rachels for better management of cd player */
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
#include "bcd.h"
|
|
||||||
//edited on 01/03/99 by Matt Mueller - should be ifdef'd for SDL, since SDL isn't linux specific
|
|
||||||
//I changed all the other ones too, but didn't feel like commenting them all
|
|
||||||
#elif defined __SDL__
|
|
||||||
//end edit -MM
|
|
||||||
#include <SDL/SDL.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "args.h"
|
|
||||||
|
|
||||||
#define MAX_TRACKS 20
|
|
||||||
|
|
||||||
int playlist[MAX_TRACKS];
|
|
||||||
int cd_currenttrack = 1;
|
|
||||||
int cd_playing = 0;
|
|
||||||
int cd_used = 0;
|
|
||||||
int tracks_used = MAX_TRACKS;
|
|
||||||
#ifdef __SDL__
|
|
||||||
SDL_CD *cdrom;
|
|
||||||
#endif
|
|
||||||
int nocdaudio=0;
|
|
||||||
|
|
||||||
int cd_playtrack(int trackno)
|
|
||||||
{
|
|
||||||
int track;
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return 0;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
if(trackno > MAX_TRACKS || trackno < 0)
|
|
||||||
return 0;
|
|
||||||
track = playlist[trackno];
|
|
||||||
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
if(bcd_play_track(&track))
|
|
||||||
#elif defined __SDL__
|
|
||||||
if(CD_INDRIVE(SDL_CDStatus(cdrom)) && !SDL_CDPlayTracks(cdrom,track,0,1,0))
|
|
||||||
#else
|
|
||||||
if(0)
|
|
||||||
#endif
|
|
||||||
cd_playing = 1;
|
|
||||||
else
|
|
||||||
cd_playing = 0;
|
|
||||||
|
|
||||||
cd_used = 1;
|
|
||||||
return cd_playing;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_stop()
|
|
||||||
{
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
bcd_stop();
|
|
||||||
#elif defined __SDL__
|
|
||||||
SDL_CDStop(cdrom);
|
|
||||||
#endif
|
|
||||||
cd_playing = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int cd_resume()
|
|
||||||
{
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return 0;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
if(bcd_resume())
|
|
||||||
#elif defined __SDL__
|
|
||||||
if(CD_INDRIVE(SDL_CDStatus(cdrom)) && !SDL_CDResume(cdrom))
|
|
||||||
#else
|
|
||||||
if(0)
|
|
||||||
#endif
|
|
||||||
cd_playing = 1;
|
|
||||||
else
|
|
||||||
cd_playing = 0;
|
|
||||||
|
|
||||||
cd_used = 1;
|
|
||||||
return cd_playing;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_playprev()
|
|
||||||
{
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
cd_currenttrack--;
|
|
||||||
if(cd_currenttrack < 0)
|
|
||||||
cd_currenttrack = tracks_used-1;
|
|
||||||
cd_playtrack(cd_currenttrack);
|
|
||||||
cd_used = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_playnext()
|
|
||||||
{
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
cd_currenttrack++;
|
|
||||||
if(cd_currenttrack >= tracks_used)
|
|
||||||
cd_currenttrack = 0;
|
|
||||||
cd_playtrack(cd_currenttrack);
|
|
||||||
cd_used = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_playtoggle()
|
|
||||||
{
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
if(bcd_now_playing())
|
|
||||||
#elif defined __SDL__
|
|
||||||
if(SDL_CDStatus(cdrom)==CD_PLAYING)
|
|
||||||
#else
|
|
||||||
if(0)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
cd_stop();
|
|
||||||
cd_playing=0;
|
|
||||||
}
|
|
||||||
else if(!cd_used)
|
|
||||||
{
|
|
||||||
cd_currenttrack = 0;
|
|
||||||
cd_playtrack(cd_currenttrack);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cd_resume();
|
|
||||||
}
|
|
||||||
cd_used = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_cycle()
|
|
||||||
{
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
if(cd_playing && !bcd_now_playing())
|
|
||||||
#elif defined __SDL__
|
|
||||||
if(cd_playing && SDL_CDStatus(cdrom)!=CD_PLAYING)
|
|
||||||
#else
|
|
||||||
if(cd_playing && 0)
|
|
||||||
#endif
|
|
||||||
cd_playnext();
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_playlist_reset()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
tracks_used = bcd_get_audio_info();
|
|
||||||
#elif defined __SDL__
|
|
||||||
if(SDL_CDStatus(cdrom)>-1)
|
|
||||||
tracks_used = cdrom->numtracks;
|
|
||||||
else
|
|
||||||
tracks_used = 0;
|
|
||||||
#endif
|
|
||||||
for(i=0;i<tracks_used;i++)
|
|
||||||
playlist[i]=i+1;
|
|
||||||
for(i=tracks_used;i<MAX_TRACKS;i++)
|
|
||||||
playlist[i]=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_playlist_set(char *newlist)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
char *p=newlist;
|
|
||||||
|
|
||||||
//added on 01/03/99 by Matt Mueller
|
|
||||||
if (nocdaudio) return;
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
while((p==newlist || p-1) && i < MAX_TRACKS)
|
|
||||||
{
|
|
||||||
playlist[i++]=atoi(p);
|
|
||||||
p=strchr(p,' ')+1;
|
|
||||||
}
|
|
||||||
tracks_used = i;
|
|
||||||
}
|
|
||||||
|
|
||||||
void cd_init()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
if ((nocdaudio=FindArg("-nocdaudio"))) {
|
|
||||||
if (Inferno_verbose) printf( "cd audio disabled.\n");
|
|
||||||
} else {
|
|
||||||
#ifdef __DJGPP__
|
|
||||||
bcd_open();
|
|
||||||
#elif defined __SDL__
|
|
||||||
if( SDL_Init(SDL_INIT_CDROM) >= 0 )
|
|
||||||
{
|
|
||||||
atexit(SDL_Quit);
|
|
||||||
cdrom=SDL_CDOpen(0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
cd_playlist_reset();
|
|
||||||
if((i=FindArg("-cdplaylist")))
|
|
||||||
cd_playlist_set(Args[i+1]);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
/* cdplay.h by Victor Rachels for better management of cd player */
|
|
||||||
|
|
||||||
#ifndef _CDLIST_H
|
|
||||||
#define _CDLIST_H
|
|
||||||
|
|
||||||
int cd_playtrack(int trackno);
|
|
||||||
int cd_resume();
|
|
||||||
|
|
||||||
void cd_playprev();
|
|
||||||
void cd_playnext();
|
|
||||||
void cd_playtoggle();
|
|
||||||
|
|
||||||
void cd_stop();
|
|
||||||
void cd_cycle();
|
|
||||||
|
|
||||||
void cd_playlist_reset();
|
|
||||||
void cd_playlist_set(char *newlist);
|
|
||||||
|
|
||||||
void cd_init();
|
|
||||||
#endif
|
|
|
@ -241,7 +241,6 @@ int ReadConfigFile()
|
||||||
int joy_axis_min[JOY_NUM_AXES];
|
int joy_axis_min[JOY_NUM_AXES];
|
||||||
int joy_axis_center[JOY_NUM_AXES];
|
int joy_axis_center[JOY_NUM_AXES];
|
||||||
int joy_axis_max[JOY_NUM_AXES];
|
int joy_axis_max[JOY_NUM_AXES];
|
||||||
int i;
|
|
||||||
|
|
||||||
strcpy( config_last_player, "" );
|
strcpy( config_last_player, "" );
|
||||||
|
|
||||||
|
@ -381,16 +380,6 @@ int ReadConfigFile()
|
||||||
digi_midi_type = 1;
|
digi_midi_type = 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
i = FindArg( "-volume" );
|
|
||||||
|
|
||||||
if ( i > 0 ) {
|
|
||||||
i = atoi( Args[i+1] );
|
|
||||||
if ( i < 0 ) i = 0;
|
|
||||||
if ( i > 100 ) i = 100;
|
|
||||||
Config_digi_volume = (i*8)/100;
|
|
||||||
Config_midi_volume = (i*8)/100;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( Config_digi_volume > 8 ) Config_digi_volume = 8;
|
if ( Config_digi_volume > 8 ) Config_digi_volume = 8;
|
||||||
|
|
||||||
if ( Config_midi_volume > 8 ) Config_midi_volume = 8;
|
if ( Config_midi_volume > 8 ) Config_midi_volume = 8;
|
||||||
|
|
40
main/game.c
40
main/game.c
|
@ -103,8 +103,6 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
#include "reorder.h"
|
#include "reorder.h"
|
||||||
#include "hudmsg.h"
|
#include "hudmsg.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
#include "cdplay.h"
|
|
||||||
#include "hudlog.h"
|
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
#include "mlticntl.h"
|
#include "mlticntl.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -184,7 +182,6 @@ int Debug_pause=0; //John's debugging pause system
|
||||||
int Cockpit_mode=CM_FULL_COCKPIT; //set game.h for values
|
int Cockpit_mode=CM_FULL_COCKPIT; //set game.h for values
|
||||||
int old_cockpit_mode=-1;
|
int old_cockpit_mode=-1;
|
||||||
int force_cockpit_redraw=0;
|
int force_cockpit_redraw=0;
|
||||||
int framerate_on=0;
|
|
||||||
int netplayerinfo_on=0;
|
int netplayerinfo_on=0;
|
||||||
int PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd;
|
int PaletteRedAdd, PaletteGreenAdd, PaletteBlueAdd;
|
||||||
int Dummy_var;
|
int Dummy_var;
|
||||||
|
@ -214,9 +211,6 @@ grs_bitmap background_bitmap;
|
||||||
int Game_aborted;
|
int Game_aborted;
|
||||||
void update_cockpits(int force_redraw);
|
void update_cockpits(int force_redraw);
|
||||||
extern void newdemo_strip_frames(char *, int);
|
extern void newdemo_strip_frames(char *, int);
|
||||||
#ifndef RELEASE
|
|
||||||
int invulnerability=0;
|
|
||||||
#endif
|
|
||||||
extern int HUD_nmessages;
|
extern int HUD_nmessages;
|
||||||
|
|
||||||
#define BACKGROUND_NAME "statback.pcx"
|
#define BACKGROUND_NAME "statback.pcx"
|
||||||
|
@ -556,7 +550,7 @@ int set_screen_mode(int sm)
|
||||||
switch( Screen_mode ) {
|
switch( Screen_mode ) {
|
||||||
case SCREEN_MENU:
|
case SCREEN_MENU:
|
||||||
/* give control back to the WM */
|
/* give control back to the WM */
|
||||||
if (FindArg("-grabmouse"))
|
if (GameArg.CtlGrabMouse)
|
||||||
SDL_WM_GrabInput(SDL_GRAB_OFF);
|
SDL_WM_GrabInput(SDL_GRAB_OFF);
|
||||||
|
|
||||||
if (grd_curscreen->sc_mode != MENU_SCREEN_MODE) {
|
if (grd_curscreen->sc_mode != MENU_SCREEN_MODE) {
|
||||||
|
@ -566,7 +560,7 @@ int set_screen_mode(int sm)
|
||||||
break;
|
break;
|
||||||
case SCREEN_GAME:
|
case SCREEN_GAME:
|
||||||
/* keep the mouse from wandering in SDL */
|
/* keep the mouse from wandering in SDL */
|
||||||
if (FindArg("-grabmouse") && (Newdemo_state != ND_STATE_PLAYBACK))
|
if (GameArg.CtlGrabMouse && (Newdemo_state != ND_STATE_PLAYBACK))
|
||||||
SDL_WM_GrabInput(SDL_GRAB_ON);
|
SDL_WM_GrabInput(SDL_GRAB_ON);
|
||||||
|
|
||||||
if (grd_curscreen->sc_mode != Game_screen_mode)
|
if (grd_curscreen->sc_mode != Game_screen_mode)
|
||||||
|
@ -578,7 +572,7 @@ int set_screen_mode(int sm)
|
||||||
#ifdef EDITOR
|
#ifdef EDITOR
|
||||||
case SCREEN_EDITOR:
|
case SCREEN_EDITOR:
|
||||||
/* give control back to the WM */
|
/* give control back to the WM */
|
||||||
if (FindArg("-grabmouse"))
|
if (GameArg.CtlGrabMouse)
|
||||||
SDL_WM_GrabInput(SDL_GRAB_OFF);
|
SDL_WM_GrabInput(SDL_GRAB_OFF);
|
||||||
|
|
||||||
if (grd_curscreen->sc_mode != SM(800,600)) {
|
if (grd_curscreen->sc_mode != SM(800,600)) {
|
||||||
|
@ -773,7 +767,6 @@ void reset_time()
|
||||||
}
|
}
|
||||||
|
|
||||||
int maxfps=80;
|
int maxfps=80;
|
||||||
int use_nice_fps=1;
|
|
||||||
|
|
||||||
void calc_frame_time()
|
void calc_frame_time()
|
||||||
{
|
{
|
||||||
|
@ -788,7 +781,7 @@ void calc_frame_time()
|
||||||
|
|
||||||
while (FrameTime < f1_0 / maxfps)
|
while (FrameTime < f1_0 / maxfps)
|
||||||
{
|
{
|
||||||
if (use_nice_fps)
|
if (GameArg.SysUseNiceFPS)
|
||||||
timer_delay(f1_0 / maxfps - FrameTime);
|
timer_delay(f1_0 / maxfps - FrameTime);
|
||||||
timer_value = timer_get_fixed_seconds();
|
timer_value = timer_get_fixed_seconds();
|
||||||
FrameTime = timer_value - last_timer_value;
|
FrameTime = timer_value - last_timer_value;
|
||||||
|
@ -1070,7 +1063,7 @@ void game_draw_hud_stuff()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (framerate_on)
|
if (GameArg.SysFPSIndicator)
|
||||||
show_framerate();
|
show_framerate();
|
||||||
|
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
|
@ -1835,14 +1828,14 @@ void game()
|
||||||
game_flush_inputs();
|
game_flush_inputs();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (Function_mode != FMODE_GAME) && Auto_demo && (Newdemo_state != ND_STATE_NORMAL) ) {
|
if ( (Function_mode != FMODE_GAME) && GameArg.SysAutoDemo && (Newdemo_state != ND_STATE_NORMAL) ) {
|
||||||
int choice, fmode;
|
int choice, fmode;
|
||||||
fmode = Function_mode;
|
fmode = Function_mode;
|
||||||
Function_mode = FMODE_GAME;
|
Function_mode = FMODE_GAME;
|
||||||
choice=nm_messagebox( NULL, 2, TXT_YES, TXT_NO, TXT_ABORT_AUTODEMO );
|
choice=nm_messagebox( NULL, 2, TXT_YES, TXT_NO, TXT_ABORT_AUTODEMO );
|
||||||
Function_mode = fmode;
|
Function_mode = fmode;
|
||||||
if (choice==0) {
|
if (choice==0) {
|
||||||
Auto_demo = -1;
|
GameArg.SysAutoDemo = 0;
|
||||||
newdemo_stop_playback();
|
newdemo_stop_playback();
|
||||||
Function_mode = FMODE_MENU;
|
Function_mode = FMODE_MENU;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1917,8 +1910,6 @@ extern void john_cheat_func_4(int);
|
||||||
//called at the end of the program
|
//called at the end of the program
|
||||||
void close_game()
|
void close_game()
|
||||||
{
|
{
|
||||||
close_hud_log();
|
|
||||||
|
|
||||||
if (VR_offscreen_buffer) {
|
if (VR_offscreen_buffer) {
|
||||||
gr_free_canvas(VR_offscreen_buffer);
|
gr_free_canvas(VR_offscreen_buffer);
|
||||||
VR_offscreen_buffer = NULL;
|
VR_offscreen_buffer = NULL;
|
||||||
|
@ -2226,11 +2217,6 @@ void HandleGameKey(int key)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case KEY_ALTED+KEY_F8:
|
|
||||||
#ifdef NETWORK
|
|
||||||
mekh_hud_recall_msgs();
|
|
||||||
#endif
|
|
||||||
break;
|
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
case KEY_SHIFTED+KEY_F8:
|
case KEY_SHIFTED+KEY_F8:
|
||||||
mekh_resend_last();
|
mekh_resend_last();
|
||||||
|
@ -2266,9 +2252,6 @@ void HandleGameKey(int key)
|
||||||
case KEYS_GR_TOGGLE_FULLSCREEN:
|
case KEYS_GR_TOGGLE_FULLSCREEN:
|
||||||
gr_toggle_fullscreen_game();
|
gr_toggle_fullscreen_game();
|
||||||
break;
|
break;
|
||||||
case KEY_CTRLED+KEY_ALTED+KEY_LAPOSTRO:
|
|
||||||
toggle_hud_log();
|
|
||||||
break;
|
|
||||||
case KEY_SHIFTED + KEY_ESC: //quick exit
|
case KEY_SHIFTED + KEY_ESC: //quick exit
|
||||||
#ifdef EDITOR
|
#ifdef EDITOR
|
||||||
if (! SafetyCheck()) break;
|
if (! SafetyCheck()) break;
|
||||||
|
@ -2408,7 +2391,7 @@ void HandleGameKey(int key)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case KEY_DEBUGGED+KEY_F:
|
case KEY_DEBUGGED+KEY_F:
|
||||||
framerate_on = !framerate_on;
|
GameArg.SysFPSIndicator = !GameArg.SysFPSIndicator;
|
||||||
break;
|
break;
|
||||||
case KEY_DEBUGGED+KEY_SPACEBAR: // Toggle physics flying
|
case KEY_DEBUGGED+KEY_SPACEBAR: // Toggle physics flying
|
||||||
slew_stop();
|
slew_stop();
|
||||||
|
@ -2665,7 +2648,7 @@ void ReadControls()
|
||||||
john_cheat_func_2(key);
|
john_cheat_func_2(key);
|
||||||
|
|
||||||
#ifdef FINAL_CHEATS
|
#ifdef FINAL_CHEATS
|
||||||
IMPLEMENT_CHEAT(frametime,framerate_on = !framerate_on;);
|
IMPLEMENT_CHEAT(frametime,GameArg.SysFPSIndicator = !GameArg.SysFPSIndicator;);
|
||||||
IMPLEMENT_CHEAT(renderstats,gr_renderstats = !gr_renderstats;);
|
IMPLEMENT_CHEAT(renderstats,gr_renderstats = !gr_renderstats;);
|
||||||
if (Cheats_enabled) {
|
if (Cheats_enabled) {
|
||||||
if (!(Game_mode&GM_MULTI) && key == cheat_wowie[cheat_wowie_index]) {
|
if (!(Game_mode&GM_MULTI) && key == cheat_wowie[cheat_wowie_index]) {
|
||||||
|
@ -2944,11 +2927,6 @@ void GameLoop(int RenderFlag, int ReadControlsFlag )
|
||||||
Error ("Loading overlay -- error number: %d\n", (int)desc_id_exit_num);
|
Error ("Loading overlay -- error number: %d\n", (int)desc_id_exit_num);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RELEASE
|
|
||||||
if (invulnerability)
|
|
||||||
Players[Player_num].flags |= PLAYER_FLAGS_INVULNERABLE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
update_player_stats();
|
update_player_stats();
|
||||||
diminish_palette_towards_normal(); // Should leave palette effect up for as long as possible by putting right before render.
|
diminish_palette_towards_normal(); // Should leave palette effect up for as long as possible by putting right before render.
|
||||||
do_cloak_stuff();
|
do_cloak_stuff();
|
||||||
|
|
|
@ -236,11 +236,10 @@ extern grs_canvas VR_screen_sub_pages[2]; // Two sub pages of VRAM if paging is
|
||||||
extern grs_canvas *VR_offscreen_menu; // The offscreen data buffer for menus
|
extern grs_canvas *VR_offscreen_menu; // The offscreen data buffer for menus
|
||||||
|
|
||||||
void game_init_render_buffers (int render_max_w, int render_max_h, int render_method);
|
void game_init_render_buffers (int render_max_w, int render_max_h, int render_method);
|
||||||
extern int maxfps;
|
|
||||||
extern int use_nice_fps;
|
|
||||||
extern int Allow_primary_cycle;
|
extern int Allow_primary_cycle;
|
||||||
extern int Allow_secondary_cycle;
|
extern int Allow_secondary_cycle;
|
||||||
|
|
||||||
void vr_reset_display();
|
void vr_reset_display();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1661,8 +1661,6 @@ rgb player_rgb[] = { {15,15,23},
|
||||||
{14,21,12},
|
{14,21,12},
|
||||||
{29,29,0}, };
|
{29,29,0}, };
|
||||||
|
|
||||||
extern int hud_display_all;
|
|
||||||
|
|
||||||
//draw the reticle
|
//draw the reticle
|
||||||
void show_reticle(int force_big_one)
|
void show_reticle(int force_big_one)
|
||||||
{
|
{
|
||||||
|
@ -1670,10 +1668,6 @@ void show_reticle(int force_big_one)
|
||||||
int laser_ready,missile_ready,laser_ammo,missile_ammo;
|
int laser_ready,missile_ready,laser_ammo,missile_ammo;
|
||||||
int cross_bm_num,primary_bm_num,secondary_bm_num;
|
int cross_bm_num,primary_bm_num,secondary_bm_num;
|
||||||
|
|
||||||
|
|
||||||
if (hud_display_all)
|
|
||||||
return;
|
|
||||||
|
|
||||||
x = grd_curcanv->cv_w/2;
|
x = grd_curcanv->cv_w/2;
|
||||||
y = grd_curcanv->cv_h/2;
|
y = grd_curcanv->cv_h/2;
|
||||||
|
|
||||||
|
|
241
main/hud.c
241
main/hud.c
|
@ -25,8 +25,8 @@ static char rcsid[] = "$Id: hud.c,v 1.1.1.1 2006/03/17 19:42:04 zicodxx Exp $";
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#include "hudlog.h"
|
|
||||||
#include "hudmsg.h"
|
#include "hudmsg.h"
|
||||||
#include "inferno.h"
|
#include "inferno.h"
|
||||||
#include "game.h"
|
#include "game.h"
|
||||||
|
@ -44,117 +44,154 @@ static char rcsid[] = "$Id: hud.c,v 1.1.1.1 2006/03/17 19:42:04 zicodxx Exp $";
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include "args.h"
|
#include "args.h"
|
||||||
|
#include "strutil.h"
|
||||||
|
|
||||||
int hud_first = 0;
|
int hud_first = 0;
|
||||||
int hud_last = 0;
|
int hud_last = 0;
|
||||||
int HUD_max_num_disp = 4; //max to display normally
|
int HUD_max_num_disp = 3; //max to display normally
|
||||||
int hudlog_first = 0;
|
int HUD_nmessages = 0;
|
||||||
int hudlog_num = 0;
|
fix HUD_message_timer = 0; // Time, relative to Players[Player_num].time (int.frac seconds.frac), at which to erase gauge message
|
||||||
int hud_display_all = 0;
|
char HUD_messages[HUD_MAX_NUM][HUD_MESSAGE_LENGTH+5];
|
||||||
int HUD_nmessages = 0;
|
|
||||||
fix HUD_message_timer = 0; // Time, relative to Players[Player_num].time (int.frac seconds.frac), at which to erase gauge message
|
|
||||||
char HUD_messages[HUD_MAX_NUM][HUD_MESSAGE_LENGTH+5];
|
|
||||||
char Displayed_background_message[HUD_MESSAGE_LENGTH] = "";
|
char Displayed_background_message[HUD_MESSAGE_LENGTH] = "";
|
||||||
int Last_msg_ycrd = -1;
|
int Last_msg_ycrd = -1;
|
||||||
int Last_msg_height = 6;
|
int Last_msg_height = 6;
|
||||||
int HUD_color = -1;
|
int HUD_color = -1;
|
||||||
|
|
||||||
int MSG_Playermessages = 0;
|
int MSG_Playermessages = 0;
|
||||||
int MSG_Noredundancy = 0;
|
int MSG_Noredundancy = 0;
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
int Modex_hud_msg_count;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
void clear_background_messages(void)
|
void clear_background_messages(void)
|
||||||
{
|
{
|
||||||
if ((Cockpit_mode == CM_STATUS_BAR) && (Last_msg_ycrd != -1) && (Screen_3d_window.cv_bitmap.bm_y >= 6)) {
|
if (((Cockpit_mode == CM_STATUS_BAR) || (Cockpit_mode == CM_FULL_SCREEN)) && (Last_msg_ycrd != -1) && (Screen_3d_window.cv_bitmap.bm_y >= 6)) {
|
||||||
grs_canvas *canv_save = grd_curcanv;
|
grs_canvas *canv_save = grd_curcanv;
|
||||||
|
|
||||||
gr_set_current_canvas(NULL);
|
gr_set_current_canvas(NULL);
|
||||||
|
|
||||||
gr_set_current_canvas(canv_save);
|
gr_set_current_canvas(canv_save);
|
||||||
Displayed_background_message[0] = 0;
|
|
||||||
Last_msg_ycrd = -1;
|
Last_msg_ycrd = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Displayed_background_message[0] = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HUD_clear_messages()
|
void HUD_clear_messages()
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
HUD_nmessages = 0;
|
HUD_nmessages = 0;
|
||||||
hud_first = hud_last;
|
hud_first = hud_last = 0;
|
||||||
HUD_message_timer = 0;
|
HUD_message_timer = 0;
|
||||||
clear_background_messages();
|
clear_background_messages();
|
||||||
|
for (i = 0; i < HUD_MAX_NUM; i++)
|
||||||
|
sprintf(HUD_messages[i], "SlagelSlagel!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern int max_window_h;
|
||||||
|
|
||||||
|
extern grs_canvas *print_to_canvas(char *s,grs_font *font, int fc, int bc, int double_flag);
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
// print to buffer, double heights, and blit bitmap to screen
|
||||||
|
void modex_hud_message(int x, int y, char *s, grs_font *font, int color)
|
||||||
|
{
|
||||||
|
grs_canvas *temp_canv;
|
||||||
|
|
||||||
|
temp_canv = print_to_canvas(s, font, color, -1, 1);
|
||||||
|
|
||||||
|
gr_bitmapm(x,y,&temp_canv->cv_bitmap);
|
||||||
|
|
||||||
|
gr_free_canvas(temp_canv);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern int max_window_w;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
// Writes a message on the HUD and checks its timer.
|
// Writes a message on the HUD and checks its timer.
|
||||||
void HUD_render_message_frame()
|
void HUD_render_message_frame()
|
||||||
{
|
{
|
||||||
int i, y,n;
|
int i, y,n;
|
||||||
int h,w,aw;
|
int h,w,aw;
|
||||||
int first,num;
|
|
||||||
if (hud_display_all){
|
|
||||||
first=hudlog_first;
|
|
||||||
num=hudlog_num;
|
|
||||||
}else{
|
|
||||||
first=hud_first;
|
|
||||||
num=HUD_nmessages;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (( HUD_nmessages < 0 ) || (HUD_nmessages > HUD_MAX_NUM))
|
if (( HUD_nmessages < 0 ) || (HUD_nmessages > HUD_MAX_NUM))
|
||||||
Int3(); // Get Rob!
|
Int3(); // Get Rob!
|
||||||
|
|
||||||
if ( num < 1 ) return;
|
if ( (HUD_nmessages < 1 ) && (Modex_hud_msg_count == 0))
|
||||||
|
return;
|
||||||
|
|
||||||
if (HUD_nmessages > 0 ) {
|
HUD_message_timer -= FrameTime;
|
||||||
HUD_message_timer -= FrameTime;
|
|
||||||
|
|
||||||
if ( HUD_message_timer < 0 ) {
|
if ( HUD_message_timer < 0 ) {
|
||||||
// Timer expired... get rid of oldest message...
|
// Timer expired... get rid of oldest message...
|
||||||
if (hud_last!=hud_first) {
|
if (hud_last!=hud_first) {
|
||||||
hud_first = (hud_first+1) % HUD_MAX_NUM;
|
int temp;
|
||||||
HUD_message_timer = F1_0*2;
|
|
||||||
HUD_nmessages--;
|
//&HUD_messages[hud_first][0] is deing deleted...;
|
||||||
clear_background_messages(); // If in status bar mode and no messages, then erase.
|
hud_first = (hud_first+1) % HUD_MAX_NUM;
|
||||||
}
|
HUD_message_timer = F1_0*2;
|
||||||
|
HUD_nmessages--;
|
||||||
|
if (HUD_nmessages == 0)
|
||||||
|
Modex_hud_msg_count = 2;
|
||||||
|
temp = Last_msg_ycrd;
|
||||||
|
clear_background_messages(); // If in status bar mode and no messages, then erase.
|
||||||
|
if (Modex_hud_msg_count)
|
||||||
|
Last_msg_ycrd = temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num > 0 ) {
|
if (HUD_nmessages > 0 ) {
|
||||||
|
|
||||||
gr_set_curfont( GAME_FONT );
|
|
||||||
if (HUD_color == -1)
|
if (HUD_color == -1)
|
||||||
HUD_color = BM_XRGB(0,28,0);
|
HUD_color = BM_XRGB(0,28,0);
|
||||||
|
|
||||||
y = 3;
|
gr_set_curfont( GAME_FONT );
|
||||||
gr_get_string_size("0", &w, &h, &aw );
|
|
||||||
i= num - (grd_curcanv->cv_bitmap.bm_h-y)/(h+1);//fit as many as possible
|
if ( (Cockpit_mode == CM_FULL_SCREEN) || (Cockpit_mode == CM_LETTERBOX) ) {
|
||||||
if (i<0) i=0;
|
y = GAME_FONT->ft_h/2;
|
||||||
for (; i<num; i++ ) {
|
} else
|
||||||
n = (first+i) % HUD_MAX_NUM;
|
y = GAME_FONT->ft_h/2;
|
||||||
|
|
||||||
|
for (i=0; i<HUD_nmessages; i++ ) {
|
||||||
|
n = (hud_first+i) % HUD_MAX_NUM;
|
||||||
if ((n < 0) || (n >= HUD_MAX_NUM))
|
if ((n < 0) || (n >= HUD_MAX_NUM))
|
||||||
Int3(); // Get Rob!!
|
Int3(); // Get Rob!!
|
||||||
if (!strcmp(HUD_messages[n], "This is a bug."))
|
if (!strcmp(HUD_messages[n], "This is a bug."))
|
||||||
Int3(); // Get Rob!!
|
Int3(); // Get Rob!!
|
||||||
gr_get_string_size(HUD_messages[n], &w, &h, &aw );
|
gr_get_string_size(&HUD_messages[n][0], &w, &h, &aw );
|
||||||
gr_set_fontcolor( HUD_color, -1);
|
gr_set_fontcolor( HUD_color, -1);
|
||||||
gr_printf((grd_curcanv->cv_bitmap.bm_w-w)/2,y, HUD_messages[n] );
|
|
||||||
|
gr_string((grd_curcanv->cv_bitmap.bm_w-w)/2,y, &HUD_messages[n][0] );
|
||||||
y += h+FONTSCALE_Y(1);
|
y += h+FONTSCALE_Y(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gr_set_curfont( GAME_FONT );
|
||||||
}
|
}
|
||||||
|
|
||||||
void mekh_hud_recall_msgs()
|
int PlayerMessage=1;
|
||||||
{
|
|
||||||
hud_display_all = !hud_display_all;
|
|
||||||
}
|
|
||||||
|
|
||||||
void HUD_init_message(char * format, va_list args)
|
// Call to flash a message on the HUD. Returns true if message drawn.
|
||||||
|
// (message might not be drawn if previous message was same)
|
||||||
|
int HUD_init_message_va(char * format, va_list args)
|
||||||
{
|
{
|
||||||
int temp, i;
|
int temp, i;
|
||||||
char *message = NULL;
|
char *message = NULL;
|
||||||
char *last_message=NULL;
|
char *last_message=NULL;
|
||||||
|
time_t t;
|
||||||
|
struct tm *lt;
|
||||||
|
|
||||||
|
Modex_hud_msg_count = 2;
|
||||||
|
|
||||||
if ( (hud_last < 0) || (hud_last >= HUD_MAX_NUM))
|
if ( (hud_last < 0) || (hud_last >= HUD_MAX_NUM))
|
||||||
Int3(); // Get Rob!!
|
Int3(); // Get Rob!!
|
||||||
|
|
||||||
message = HUD_messages[hud_last];
|
// -- mprintf((0, "message timer: %7.3f\n", f2fl(HUD_message_timer)));
|
||||||
|
message = &HUD_messages[hud_last][0];
|
||||||
vsprintf(message,format,args);
|
vsprintf(message,format,args);
|
||||||
|
|
||||||
// clean message if necessary.
|
// clean message if necessary.
|
||||||
|
@ -164,17 +201,26 @@ void HUD_init_message(char * format, va_list args)
|
||||||
if (message[i] == '%')
|
if (message[i] == '%')
|
||||||
message [i] = ' ';
|
message [i] = ' ';
|
||||||
|
|
||||||
|
// Added by Leighton
|
||||||
|
|
||||||
|
if ((Game_mode & GM_MULTI) && FindArg("-noredundancy"))
|
||||||
|
if (!strnicmp ("You already",message,11))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if ((Game_mode & GM_MULTI) && FindArg("-PlayerMessages") && PlayerMessage==0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (HUD_nmessages > 0) {
|
if (HUD_nmessages > 0) {
|
||||||
if (hud_last==0)
|
if (hud_last==0)
|
||||||
last_message = HUD_messages[HUD_MAX_NUM-1];
|
last_message = &HUD_messages[HUD_MAX_NUM-1][0];
|
||||||
else
|
else
|
||||||
last_message = HUD_messages[hud_last-1];
|
last_message = &HUD_messages[hud_last-1][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
temp = (hud_last+1) % HUD_MAX_NUM;
|
temp = (hud_last+1) % HUD_MAX_NUM;
|
||||||
if ( temp==hudlog_first ) {
|
if ( temp==hud_first ) {
|
||||||
hudlog_first= (hudlog_first+1) % HUD_MAX_NUM;
|
hud_first= (hud_first+1) % HUD_MAX_NUM;
|
||||||
hudlog_num--;
|
hud_last--;
|
||||||
}
|
}
|
||||||
if ( HUD_nmessages>=HUD_max_num_disp){
|
if ( HUD_nmessages>=HUD_max_num_disp){
|
||||||
// If too many messages, remove oldest message to make room
|
// If too many messages, remove oldest message to make room
|
||||||
|
@ -184,7 +230,14 @@ void HUD_init_message(char * format, va_list args)
|
||||||
|
|
||||||
if (last_message && (!strcmp(last_message, message))) {
|
if (last_message && (!strcmp(last_message, message))) {
|
||||||
HUD_message_timer = F1_0*3; // 1 second per 5 characters
|
HUD_message_timer = F1_0*3; // 1 second per 5 characters
|
||||||
return; // ignore since it is the same as the last one
|
return 0; // ignore since it is the same as the last one
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strnicmp ("you",message,3)) { // block hudlog output messages beginning with you ("your ... maxed out", "you already have ...")
|
||||||
|
t=time(NULL);
|
||||||
|
lt=localtime(&t);
|
||||||
|
|
||||||
|
printf("%02i:%02i:%02i %s\n",lt->tm_hour,lt->tm_min,lt->tm_sec,message);
|
||||||
}
|
}
|
||||||
|
|
||||||
hud_last = temp;
|
hud_last = temp;
|
||||||
|
@ -197,45 +250,59 @@ void HUD_init_message(char * format, va_list args)
|
||||||
#endif
|
#endif
|
||||||
HUD_message_timer = F1_0*3; // 1 second per 5 characters
|
HUD_message_timer = F1_0*3; // 1 second per 5 characters
|
||||||
HUD_nmessages++;
|
HUD_nmessages++;
|
||||||
hudlog_num++;
|
|
||||||
|
|
||||||
hud_log_message(message);
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int HUD_init_message(char * format, ... )
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start(args, format);
|
||||||
|
ret = HUD_init_message_va(format, args);
|
||||||
|
va_end(args);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
void player_dead_message(void)
|
void player_dead_message(void)
|
||||||
{
|
{
|
||||||
if (Player_exploded) {
|
if (Player_exploded) {
|
||||||
if ( Players[Player_num].lives < 2 ) {
|
if ( Players[Player_num].lives < 2 ) {
|
||||||
int x, y, w, h, aw;
|
int x, y, w, h, aw;
|
||||||
gr_set_curfont(Gamefonts[GFONT_BIG_1]);
|
gr_set_curfont( Gamefonts[GFONT_BIG_1] );
|
||||||
gr_get_string_size( TXT_GAME_OVER, &w, &h, &aw );
|
gr_get_string_size( TXT_GAME_OVER, &w, &h, &aw );
|
||||||
w += 20;
|
w += 20;
|
||||||
h += 8;
|
h += 8;
|
||||||
x = (GWIDTH - w ) / 2;
|
x = (GWIDTH - w ) / 2;
|
||||||
y = (GHEIGHT - h ) / 2;
|
y = (GHEIGHT - h ) / 2;
|
||||||
Gr_scanline_darkening_level = 2*7;
|
|
||||||
gr_setcolor( BM_XRGB(0,0,0) );
|
Gr_scanline_darkening_level = 2*7;
|
||||||
gr_rect( x, y, x+w, y+h );
|
gr_setcolor( BM_XRGB(0,0,0) );
|
||||||
Gr_scanline_darkening_level = GR_FADE_LEVELS;
|
gr_rect( x, y, x+w, y+h );
|
||||||
|
Gr_scanline_darkening_level = GR_FADE_LEVELS;
|
||||||
gr_string(0x8000, (GHEIGHT - FONTSCALE_Y(grd_curcanv->cv_font->ft_h))/2 + h/8, TXT_GAME_OVER );
|
|
||||||
}
|
gr_string(0x8000, (GHEIGHT - FONTSCALE_Y(grd_curcanv->cv_font->ft_h))/2 + h/8, TXT_GAME_OVER );
|
||||||
gr_set_curfont( GAME_FONT );
|
|
||||||
if (HUD_color == -1)
|
}
|
||||||
HUD_color = BM_XRGB(0,28,0);
|
gr_set_curfont( GAME_FONT );
|
||||||
gr_set_fontcolor( HUD_color, -1);
|
if (HUD_color == -1)
|
||||||
gr_string(0x8000, GHEIGHT-FONTSCALE_Y(grd_curcanv->cv_font->ft_h+3)*((Newdemo_state == ND_STATE_RECORDING)?2:1), TXT_PRESS_ANY_KEY);
|
HUD_color = BM_XRGB(0,28,0);
|
||||||
}
|
gr_set_fontcolor( HUD_color, -1);
|
||||||
|
gr_string(0x8000, GHEIGHT-FONTSCALE_Y(grd_curcanv->cv_font->ft_h+3)*((Newdemo_state == ND_STATE_RECORDING)?2:1), TXT_PRESS_ANY_KEY);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hud_message(int class, char *format, ...)
|
void hud_message(int class, char *format, ...)
|
||||||
{
|
{
|
||||||
va_list vp;
|
va_list vp;
|
||||||
va_start(vp, format);
|
|
||||||
if ((!MSG_Noredundancy || (class & MSGC_NOREDUNDANCY)) &&
|
va_start(vp, format);
|
||||||
(!MSG_Playermessages || !(Game_mode & GM_MULTI) ||
|
if ((!MSG_Noredundancy || (class & MSGC_NOREDUNDANCY)) &&
|
||||||
(class & MSGC_PLAYERMESSAGES)))
|
(!MSG_Playermessages || !(Game_mode & GM_MULTI) ||
|
||||||
HUD_init_message(format, vp);
|
(class & MSGC_PLAYERMESSAGES)))
|
||||||
va_end(vp);
|
HUD_init_message_va(format, vp);
|
||||||
|
va_end(vp);
|
||||||
}
|
}
|
||||||
|
|
202
main/hudlog.c
202
main/hudlog.c
|
@ -1,202 +0,0 @@
|
||||||
//hudlog.c added 11/01/98 Matthew Mueller - log messages and score grid to files.
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#ifndef _MSC_VER
|
|
||||||
#include <unistd.h>
|
|
||||||
#else
|
|
||||||
#include <io.h>
|
|
||||||
#define access(a,b) _access(a,b)
|
|
||||||
#endif
|
|
||||||
#include "hudmsg.h"
|
|
||||||
#include "multi.h"
|
|
||||||
#include "hudlog.h"
|
|
||||||
#include "strutil.h"
|
|
||||||
|
|
||||||
//added on 9/5/99 by Victor Rachels for \ or / usage
|
|
||||||
#include "d_slash.h"
|
|
||||||
//end this section addition -VR
|
|
||||||
|
|
||||||
int HUD_log_multi_autostart = 0;
|
|
||||||
int HUD_log_autostart = 0;
|
|
||||||
int fhudmulti = 0;
|
|
||||||
FILE *fhudlog=NULL;
|
|
||||||
char hudlogname[143];
|
|
||||||
|
|
||||||
void hud_log_check_multi_start(void){
|
|
||||||
#ifdef NETWORK
|
|
||||||
if ((Game_mode & GM_MULTI) && HUD_log_multi_autostart){
|
|
||||||
if (!fhudlog || !fhudmulti)
|
|
||||||
open_hud_log();//don't reopen the log file (for example, when changing levels in a multi player game)
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
void hud_log_check_multi_stop(void){
|
|
||||||
#ifdef NETWORK
|
|
||||||
if (HUD_log_multi_autostart && fhudmulti){
|
|
||||||
close_hud_log();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void open_hud_log(void){
|
|
||||||
static int num=0;
|
|
||||||
//edited 02/06/99 Matthew Mueller - changed filename to include date
|
|
||||||
time_t t;
|
|
||||||
struct tm *lt;
|
|
||||||
|
|
||||||
if (fhudlog)close_hud_log();
|
|
||||||
|
|
||||||
#ifdef NETWORK
|
|
||||||
fhudmulti = Game_mode & GM_MULTI;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
t=time(NULL);
|
|
||||||
lt=localtime(&t);
|
|
||||||
|
|
||||||
do{
|
|
||||||
// sprintf(hudlogname,"%shud%05d.log",hudlogdir,num++);
|
|
||||||
//edited 03/22/99 Matthew Mueller - tm_mon is 0 based.
|
|
||||||
sprintf(hudlogname,"%04d%02d%02d.%03d",lt->tm_year+1900,lt->tm_mon+1,lt->tm_mday,num++);
|
|
||||||
//end edit -MM
|
|
||||||
//end edit -MM
|
|
||||||
}while (!access(hudlogname,0));
|
|
||||||
if (!(fhudlog=fopen(hudlogname,"w"))){
|
|
||||||
hud_message(MSGC_GAME_FEEDBACK,"error opening %s",hudlogname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
hud_message(MSGC_GAME_FEEDBACK,"logging messages to %s",hudlogname);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int recurse_flag=0;
|
|
||||||
void close_hud_log(void){
|
|
||||||
if (fhudlog){
|
|
||||||
++recurse_flag;
|
|
||||||
kmatrix_log(1);
|
|
||||||
hud_message(MSGC_GAME_FEEDBACK,"closing hud log file");
|
|
||||||
fclose(fhudlog);
|
|
||||||
fhudlog=NULL;
|
|
||||||
--recurse_flag;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void toggle_hud_log(void){
|
|
||||||
if (fhudlog)close_hud_log();
|
|
||||||
else open_hud_log();
|
|
||||||
}
|
|
||||||
void hud_log_message(char * message){
|
|
||||||
// printf("hud_log_message %i %i %i %p: %s\n",recurse_flag,HUD_log_autostart,HUD_log_multi_autostart,fhudlog,message);
|
|
||||||
if (++recurse_flag==1){//avoid infinite loop. doh.
|
|
||||||
if (fhudlog){
|
|
||||||
#ifdef NETWORK
|
|
||||||
if (HUD_log_multi_autostart && ((Game_mode & GM_MULTI) != fhudmulti))
|
|
||||||
close_hud_log();//if we are using -hudlog_multi, presumably we would want multiplayer games in seperate log files than single player, so close the log file and let a new one be reopened if needed.
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
if (!fhudlog){
|
|
||||||
if (HUD_log_autostart)
|
|
||||||
open_hud_log();
|
|
||||||
#ifdef NETWORK
|
|
||||||
else if ((Game_mode & GM_MULTI) && HUD_log_multi_autostart){
|
|
||||||
open_hud_log();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--recurse_flag;
|
|
||||||
|
|
||||||
if (strnicmp ("you",message,3)) { // block hudlog output messages beginning with you ("your ... maxed out", "you already have ...")
|
|
||||||
time_t t;
|
|
||||||
struct tm *lt;
|
|
||||||
t=time(NULL);
|
|
||||||
lt=localtime(&t);
|
|
||||||
//02/06/99 Matthew Mueller - added zero padding to hour
|
|
||||||
printf("%02i:%02i:%02i ",lt->tm_hour,lt->tm_min,lt->tm_sec);
|
|
||||||
if (fhudlog)
|
|
||||||
fprintf(fhudlog,"%02i:%02i:%02i ",lt->tm_hour,lt->tm_min,lt->tm_sec);
|
|
||||||
while (*message){
|
|
||||||
if (*message>=0x01 && *message<=0x03){//filter out color codes
|
|
||||||
message++;
|
|
||||||
if (!*message)break;
|
|
||||||
}else if (*message>=0x04 && *message<=0x06){//filter out color reset code
|
|
||||||
}else{
|
|
||||||
printf("%c",*message);
|
|
||||||
if (fhudlog)
|
|
||||||
fprintf(fhudlog,"%c",*message);
|
|
||||||
}
|
|
||||||
message++;
|
|
||||||
}
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
if (fhudlog){
|
|
||||||
fprintf(fhudlog,"\n");
|
|
||||||
//added 05/17/99 Matt Mueller - flush file to make sure it all gets out there
|
|
||||||
fflush(fhudlog);
|
|
||||||
//end addition -MM
|
|
||||||
}
|
|
||||||
//end edit -MM
|
|
||||||
}
|
|
||||||
|
|
||||||
void kmatrix_print(FILE* out,int *sorted){
|
|
||||||
#ifdef NETWORK
|
|
||||||
int i,j;
|
|
||||||
time_t t;
|
|
||||||
struct tm *lt;
|
|
||||||
t=time(NULL);
|
|
||||||
lt=localtime(&t);
|
|
||||||
//added 05/19/99 Matt Mueller - print mission name
|
|
||||||
fprintf(out,"Mission: ");
|
|
||||||
#ifndef SHAREWARE
|
|
||||||
if(!Netgame.mission_name)
|
|
||||||
#endif
|
|
||||||
fprintf(out,"Descent: First Strike\n");
|
|
||||||
#ifndef SHAREWARE
|
|
||||||
else
|
|
||||||
fprintf(out,"%s\n",Netgame.mission_name);
|
|
||||||
#endif
|
|
||||||
//end addition -MM
|
|
||||||
fprintf(out,"%2i:%02i:%02i ",lt->tm_hour,lt->tm_min,lt->tm_sec);
|
|
||||||
for (j=0; j<N_players; j++)
|
|
||||||
fprintf(out,"%9s",Players[sorted[j]].callsign);
|
|
||||||
fprintf(out,"%9s\n","kills");
|
|
||||||
|
|
||||||
for (i=0; i<N_players; i++){
|
|
||||||
fprintf(out,"%9s",Players[sorted[i]].callsign);
|
|
||||||
for (j=0; j<N_players; j++){
|
|
||||||
if (sorted[i]==sorted[j]) {
|
|
||||||
if (kill_matrix[sorted[i]][sorted[j]] == 0)
|
|
||||||
fprintf(out,"%9d",kill_matrix[sorted[i]][sorted[j]]);
|
|
||||||
else
|
|
||||||
fprintf(out,"%9d",-kill_matrix[sorted[i]][sorted[j]]);
|
|
||||||
}else{
|
|
||||||
fprintf(out,"%9d",kill_matrix[sorted[i]][sorted[j]]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fprintf(out,"%9d\n",Players[sorted[i]].net_kills_total);
|
|
||||||
}
|
|
||||||
fprintf(out,"%9s","deaths:");
|
|
||||||
for (j=0; j<N_players; j++)
|
|
||||||
fprintf(out,"%9d",Players[sorted[j]].net_killed_total);
|
|
||||||
fprintf(out,"\n");
|
|
||||||
//added 05/19/99 Matt Mueller - flush file to make sure it all gets out there
|
|
||||||
fflush(out);
|
|
||||||
//end addition -MM
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void kmatrix_log(int fhudonly){
|
|
||||||
#ifdef NETWORK
|
|
||||||
int sorted[MAX_NUM_NET_PLAYERS];
|
|
||||||
|
|
||||||
if (!(Game_mode & GM_MULTI)) return;
|
|
||||||
|
|
||||||
multi_sort_kill_list();
|
|
||||||
|
|
||||||
multi_get_kill_list(sorted);
|
|
||||||
|
|
||||||
if (fhudlog)
|
|
||||||
kmatrix_print(fhudlog,sorted);
|
|
||||||
if (!fhudonly)
|
|
||||||
kmatrix_print(stdout,sorted);
|
|
||||||
#endif
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
//hudlog.h added 11/01/98 Matthew Mueller - log messages and score grid to files.
|
|
||||||
void hud_log_check_multi_start(void);
|
|
||||||
void open_hud_log(void);
|
|
||||||
void close_hud_log(void);
|
|
||||||
void toggle_hud_log(void);
|
|
||||||
void kmatrix_log(int fhudonly);
|
|
||||||
void hud_log_message(char * message);
|
|
||||||
|
|
||||||
extern int HUD_log_multi_autostart;
|
|
||||||
extern int HUD_log_autostart;
|
|
||||||
|
|
||||||
|
|
144
main/inferno.c
144
main/inferno.c
|
@ -10,29 +10,13 @@ CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
|
||||||
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||||
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
*/
|
*/
|
||||||
/* $Source: /cvsroot/dxx-rebirth/d1x-rebirth/main/inferno.c,v $
|
|
||||||
* $Revision: 1.3 $
|
/*
|
||||||
* $Author: michaelstather $
|
|
||||||
* $Date: 2006/03/19 14:41:26 $
|
|
||||||
*
|
*
|
||||||
* main() for Inferno
|
* main() for Inferno
|
||||||
*
|
*
|
||||||
* $Log: inferno.c,v $
|
|
||||||
* Revision 1.3 2006/03/19 14:41:26 michaelstather
|
|
||||||
* Cleaned up command line arguments
|
|
||||||
* Reformatting
|
|
||||||
*
|
|
||||||
* Revision 1.2 2006/03/18 23:08:13 michaelstather
|
|
||||||
* New build system by KyroMaster
|
|
||||||
*
|
|
||||||
* Revision 1.1.1.1 2006/03/17 19:44:36 zicodxx
|
|
||||||
* initial import
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef RCS
|
|
||||||
static char rcsid[] = "$Id: inferno.c,v 1.3 2006/03/19 14:41:26 michaelstather Exp $";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
static char copyright[] = "DESCENT COPYRIGHT (C) 1994,1995 PARALLAX SOFTWARE CORPORATION";
|
static char copyright[] = "DESCENT COPYRIGHT (C) 1994,1995 PARALLAX SOFTWARE CORPORATION";
|
||||||
static char *__reference[2]={copyright,(char *)__reference};
|
static char *__reference[2]={copyright,(char *)__reference};
|
||||||
|
@ -112,19 +96,15 @@ static char *__reference[2]={copyright,(char *)__reference};
|
||||||
#include "cfile.h"
|
#include "cfile.h"
|
||||||
#include "gameseq.h"
|
#include "gameseq.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
#include "joy.h"
|
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
#include "mono.h"
|
#include "mono.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
#include "bm.h"
|
#include "bm.h"
|
||||||
#include "screens.h"
|
#include "screens.h"
|
||||||
#include "arch.h"
|
|
||||||
#include "hudmsg.h"
|
#include "hudmsg.h"
|
||||||
#include "playsave.h"
|
#include "playsave.h"
|
||||||
#include "d_io.h"
|
#include "d_io.h"
|
||||||
#include "automap.h"
|
#include "automap.h"
|
||||||
#include "hudlog.h"
|
|
||||||
#include "cdplay.h"
|
|
||||||
#include "ban.h"
|
#include "ban.h"
|
||||||
#include "gauges.h"
|
#include "gauges.h"
|
||||||
#include "pingstat.h"
|
#include "pingstat.h"
|
||||||
|
@ -136,7 +116,7 @@ static char *__reference[2]={copyright,(char *)__reference};
|
||||||
#include "collide.h"
|
#include "collide.h"
|
||||||
#include "newdemo.h"
|
#include "newdemo.h"
|
||||||
|
|
||||||
void show_order_form();
|
extern void arch_sdl_init(void);
|
||||||
|
|
||||||
static const char desc_id_checksum_str[] = DESC_ID_CHKSUM;
|
static const char desc_id_checksum_str[] = DESC_ID_CHKSUM;
|
||||||
char desc_id_exit_num = 0;
|
char desc_id_exit_num = 0;
|
||||||
|
@ -216,19 +196,18 @@ void show_commandline_help()
|
||||||
printf( " -nonicefps %s\n", "Disable CPU cycle freeing. Higher CPU load, but game may be smoother");
|
printf( " -nonicefps %s\n", "Disable CPU cycle freeing. Higher CPU load, but game may be smoother");
|
||||||
printf( " -maxfps <n> %s\n", "Set maximum framerate (1-80)");
|
printf( " -maxfps <n> %s\n", "Set maximum framerate (1-80)");
|
||||||
printf( " -missiondir <d> %s\n", "Set alternate mission dir to <d> instead of missions/");
|
printf( " -missiondir <d> %s\n", "Set alternate mission dir to <d> instead of missions/");
|
||||||
printf( " -hudlog %s\n", "Start hudlog immediately");
|
|
||||||
printf( " -lowmem %s\n", "Lowers animation detail for better performance with low memory");
|
printf( " -lowmem %s\n", "Lowers animation detail for better performance with low memory");
|
||||||
printf( " -legacyhomers %s\n", "Activate original homing missiles (FPS and physics dependent)");
|
printf( " -legacyhomers %s\n", "Activate original homing missiles (FPS and physics dependent)");
|
||||||
|
printf( " -pilot <pilot> %s\n", "Select this pilot-file automatically");
|
||||||
|
printf( " -autodemo %s\n", "Start in demo mode");
|
||||||
|
|
||||||
printf( "\n Controls:\n\n");
|
printf( "\n Controls:\n\n");
|
||||||
printf( " -NoJoystick %s\n", "Disables joystick support");
|
|
||||||
printf( " -mouselook %s\n", "Activate mouselook. Works in singleplayer only");
|
printf( " -mouselook %s\n", "Activate mouselook. Works in singleplayer only");
|
||||||
printf( " -grabmouse %s\n", "Keeps the mouse from wandering out of the window");
|
printf( " -grabmouse %s\n", "Keeps the mouse from wandering out of the window");
|
||||||
|
|
||||||
printf( "\n Sound:\n\n");
|
printf( "\n Sound:\n\n");
|
||||||
printf( " -Volume <v> %s\n", "Sets sound volume to v, where v is between 0 and 100");
|
printf( " -nosound %s\n", "Disables sound drivers");
|
||||||
printf( " -NoSound %s\n", "Disables sound drivers");
|
printf( " -nomusic %s\n", "Disables music; sound effects remain enabled");
|
||||||
printf( " -NoMusic %s\n", "Disables music; sound effects remain enabled");
|
|
||||||
|
|
||||||
printf( "\n Graphics:\n\n");
|
printf( "\n Graphics:\n\n");
|
||||||
printf( " -menu<X>x<Y> %s\n", "Set menu-resolution to <X> by <Y> instead of game-resolution");
|
printf( " -menu<X>x<Y> %s\n", "Set menu-resolution to <X> by <Y> instead of game-resolution");
|
||||||
|
@ -253,12 +232,6 @@ void show_commandline_help()
|
||||||
printf( " -fixedfont %s\n", "Do not scale fonts to current resolution");
|
printf( " -fixedfont %s\n", "Do not scale fonts to current resolution");
|
||||||
#endif // OGL
|
#endif // OGL
|
||||||
|
|
||||||
printf( "\n Quickstart:\n\n");
|
|
||||||
printf( " -ini <file> %s\n", "Option file (alternate to command line), defaults to d1x.ini");
|
|
||||||
printf( " -notitles %s\n", "Do not show titlescreens on startup");
|
|
||||||
printf( " -pilot <pilot> %s\n", "Select this pilot-file automatically");
|
|
||||||
printf( " -autodemo %s\n", "Start in demo mode");
|
|
||||||
|
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
printf( "\n Multiplayer:\n\n");
|
printf( "\n Multiplayer:\n\n");
|
||||||
printf( " -mprofile <f> %s\n", "Use multi game profile <f>");
|
printf( " -mprofile <f> %s\n", "Use multi game profile <f>");
|
||||||
|
@ -270,7 +243,6 @@ void show_commandline_help()
|
||||||
printf( " -noredundancy %s\n", "Do not send messages when picking up redundant items in multiplayer");
|
printf( " -noredundancy %s\n", "Do not send messages when picking up redundant items in multiplayer");
|
||||||
printf( " -playermessages %s\n", "View only messages from other players in multi - overrides -noredundancy");
|
printf( " -playermessages %s\n", "View only messages from other players in multi - overrides -noredundancy");
|
||||||
printf( " -handicap <n> %s\n", "Start game with <n> shields. Must be < 100 for multi");
|
printf( " -handicap <n> %s\n", "Start game with <n> shields. Must be < 100 for multi");
|
||||||
printf( " -hudlog_multi %s\n", "Start hudlog upon entering multiplayer games");
|
|
||||||
printf( " -msgcolorlevel <c> %s\n", "Level of colorization for hud messages\n\t\t\t0=none(old style)\n\t\t\t1=color names in talk messages only(default)\n\t\t\t2=also color names in kill/join/etc messages\n\t\t\t3=talk messages are fully colored, not just names");
|
printf( " -msgcolorlevel <c> %s\n", "Level of colorization for hud messages\n\t\t\t0=none(old style)\n\t\t\t1=color names in talk messages only(default)\n\t\t\t2=also color names in kill/join/etc messages\n\t\t\t3=talk messages are fully colored, not just names");
|
||||||
#ifdef SUPPORTS_NET_IP
|
#ifdef SUPPORTS_NET_IP
|
||||||
printf( " -ip_nogetmyaddr %s\n", "Prevent autodetection of local ip address");
|
printf( " -ip_nogetmyaddr %s\n", "Prevent autodetection of local ip address");
|
||||||
|
@ -317,20 +289,14 @@ void show_commandline_help()
|
||||||
}
|
}
|
||||||
|
|
||||||
extern fix fixed_frametime;
|
extern fix fixed_frametime;
|
||||||
extern int framerate_on;
|
|
||||||
extern void vfx_set_palette_sub(ubyte *);
|
extern void vfx_set_palette_sub(ubyte *);
|
||||||
extern int mouselook;
|
|
||||||
extern int newhomers;
|
|
||||||
#ifndef RELEASE
|
|
||||||
extern int invulnerability;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int Inferno_verbose = 0;
|
int Inferno_verbose = 0;
|
||||||
int start_net_immediately = 0;
|
int start_net_immediately = 0;
|
||||||
|
|
||||||
int main(int argc,char **argv)
|
int main(int argc,char **argv)
|
||||||
{
|
{
|
||||||
int i,t;
|
int t;
|
||||||
u_int32_t screen_mode = SM(640,480);
|
u_int32_t screen_mode = SM(640,480);
|
||||||
|
|
||||||
error_init(NULL);
|
error_init(NULL);
|
||||||
|
@ -344,9 +310,6 @@ int main(int argc,char **argv)
|
||||||
if ( FindArg( "-verbose" ) )
|
if ( FindArg( "-verbose" ) )
|
||||||
Inferno_verbose = 1;
|
Inferno_verbose = 1;
|
||||||
|
|
||||||
// Things to initialize before anything else
|
|
||||||
arch_init_start();
|
|
||||||
|
|
||||||
if (!cfexist(DESCENT_DATA_PATH "descent.hog") || !cfexist(DESCENT_DATA_PATH "descent.pig"))
|
if (!cfexist(DESCENT_DATA_PATH "descent.hog") || !cfexist(DESCENT_DATA_PATH "descent.pig"))
|
||||||
Error("Could not find valid descent.hog and/or descent.pig in\n"
|
Error("Could not find valid descent.hog and/or descent.pig in\n"
|
||||||
#ifdef __unix__
|
#ifdef __unix__
|
||||||
|
@ -372,10 +335,7 @@ int main(int argc,char **argv)
|
||||||
|
|
||||||
printf("\nType 'd1x-rebirth-gl/sdl -help' for a list of command-line options.\n");
|
printf("\nType 'd1x-rebirth-gl/sdl -help' for a list of command-line options.\n");
|
||||||
|
|
||||||
if ((t = FindArg( "-missiondir" )))
|
cfile_use_alternate_hogdir(GameArg.SysMissionDir);
|
||||||
cfile_use_alternate_hogdir(Args[t+1]);
|
|
||||||
else
|
|
||||||
cfile_use_alternate_hogdir(DESCENT_DATA_PATH "missions/");
|
|
||||||
|
|
||||||
if ((t=FindArg("-tmap")))
|
if ((t=FindArg("-tmap")))
|
||||||
select_tmap(Args[t+1]);
|
select_tmap(Args[t+1]);
|
||||||
|
@ -406,12 +366,6 @@ int main(int argc,char **argv)
|
||||||
HUD_max_num_disp = t;
|
HUD_max_num_disp = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FindArg("-hudlog_multi"))
|
|
||||||
HUD_log_multi_autostart = 1;
|
|
||||||
|
|
||||||
if (FindArg("-hudlog"))
|
|
||||||
HUD_log_autostart = 1;
|
|
||||||
|
|
||||||
if (FindArg("-noredundancy"))
|
if (FindArg("-noredundancy"))
|
||||||
MSG_Noredundancy = 1;
|
MSG_Noredundancy = 1;
|
||||||
|
|
||||||
|
@ -427,12 +381,6 @@ int main(int argc,char **argv)
|
||||||
handicap=t;
|
handicap=t;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((t = FindArg( "-maxfps" ))) {
|
|
||||||
t=atoi(Args[t+1]);
|
|
||||||
if (t>0&&t<=80)
|
|
||||||
maxfps=t;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef NETWORK
|
#ifdef NETWORK
|
||||||
if(FindArg( "-startnetgame" ))
|
if(FindArg( "-startnetgame" ))
|
||||||
start_net_immediately = 1;
|
start_net_immediately = 1;
|
||||||
|
@ -449,38 +397,13 @@ int main(int argc,char **argv)
|
||||||
if(FindArg( "-fastext" ))
|
if(FindArg( "-fastext" ))
|
||||||
extfaster=1;
|
extfaster=1;
|
||||||
|
|
||||||
if (FindArg("-mouselook"))
|
|
||||||
mouselook=1;
|
|
||||||
else
|
|
||||||
mouselook=0;
|
|
||||||
|
|
||||||
if (FindArg("-legacyhomers"))
|
|
||||||
newhomers = 0;
|
|
||||||
|
|
||||||
if (FindArg("-persistentdebris"))
|
if (FindArg("-persistentdebris"))
|
||||||
persistent_debris=1;
|
persistent_debris=1;
|
||||||
|
|
||||||
if ( FindArg( "-fps" ))
|
|
||||||
framerate_on = 1;
|
|
||||||
|
|
||||||
if ( FindArg( "-nonicefps" ))
|
|
||||||
use_nice_fps = 0;
|
|
||||||
|
|
||||||
if ( FindArg( "-autodemo" ))
|
|
||||||
Auto_demo = 1;
|
|
||||||
|
|
||||||
#ifndef RELEASE
|
|
||||||
if ( FindArg( "-noscreens" ) )
|
|
||||||
Skip_briefing_screens = 1;
|
|
||||||
|
|
||||||
if ( FindArg( "-invulnerability") )
|
|
||||||
invulnerability = 1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (Inferno_verbose)
|
if (Inferno_verbose)
|
||||||
printf ("%s", TXT_VERBOSE_1);
|
printf ("%s", TXT_VERBOSE_1);
|
||||||
|
|
||||||
arch_init();
|
arch_sdl_init();
|
||||||
|
|
||||||
if (init_graphics()) return 1;
|
if (init_graphics()) return 1;
|
||||||
|
|
||||||
|
@ -542,16 +465,8 @@ int main(int argc,char **argv)
|
||||||
gamefont_init(); // must load after palette data loaded.
|
gamefont_init(); // must load after palette data loaded.
|
||||||
songs_play_song( SONG_TITLE, 1 );
|
songs_play_song( SONG_TITLE, 1 );
|
||||||
|
|
||||||
#ifndef QUICKSTART
|
show_title_screen( "iplogo1.pcx", 1 );
|
||||||
#ifndef SHAREWARE
|
show_title_screen( "logo.pcx", 1 );
|
||||||
if ( !FindArg( "-notitles" ) )
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
show_title_screen( "iplogo1.pcx", 1 );
|
|
||||||
show_title_screen( "logo.pcx", 1 );
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
show_title_screen( "descent.pcx", 2 );
|
show_title_screen( "descent.pcx", 2 );
|
||||||
|
|
||||||
#ifdef SHAREWARE
|
#ifdef SHAREWARE
|
||||||
|
@ -573,10 +488,8 @@ int main(int argc,char **argv)
|
||||||
mprintf( (0, "\nInitializing 3d system..." ));
|
mprintf( (0, "\nInitializing 3d system..." ));
|
||||||
g3_init();
|
g3_init();
|
||||||
mprintf( (0, "\nInitializing texture caching system..." ));
|
mprintf( (0, "\nInitializing texture caching system..." ));
|
||||||
if (FindArg( "-lowmem" ))
|
texmerge_init( 10 ); // 10 cache bitmaps
|
||||||
texmerge_init( 10 ); // if we are low on mem, only use 10 cache bitmaps
|
|
||||||
else
|
|
||||||
texmerge_init( 9999 ); // otherwise, use as much as possible (its still limited by the #define in texmerge.c, so it won't actually use 9999) -MM
|
|
||||||
mprintf( (0, "\nRunning game...\n" ));
|
mprintf( (0, "\nRunning game...\n" ));
|
||||||
#ifdef SCRIPT
|
#ifdef SCRIPT
|
||||||
script_init();
|
script_init();
|
||||||
|
@ -589,17 +502,12 @@ int main(int argc,char **argv)
|
||||||
Players[Player_num].callsign[0] = '\0';
|
Players[Player_num].callsign[0] = '\0';
|
||||||
|
|
||||||
key_flush();
|
key_flush();
|
||||||
#ifdef QUICKSTART
|
|
||||||
strcpy(Players[Player_num].callsign, config_last_player);
|
if(GameArg.SysPilot)
|
||||||
read_player_file();
|
|
||||||
Auto_leveling_on = Default_leveling_on;
|
|
||||||
write_player_file();
|
|
||||||
#else
|
|
||||||
if((i=FindArg("-pilot")))
|
|
||||||
{
|
{
|
||||||
char filename[15];
|
char filename[15];
|
||||||
int j;
|
int j;
|
||||||
snprintf(filename, 12, Args[i+1]);
|
snprintf(filename, 12, GameArg.SysPilot);
|
||||||
for (j=0; filename[j] != '\0'; j++) {
|
for (j=0; filename[j] != '\0'; j++) {
|
||||||
switch (filename[j]) {
|
switch (filename[j]) {
|
||||||
case ' ':
|
case ' ':
|
||||||
|
@ -624,7 +532,6 @@ int main(int argc,char **argv)
|
||||||
else
|
else
|
||||||
if(!RegisterPlayer())
|
if(!RegisterPlayer())
|
||||||
Function_mode = FMODE_EXIT;
|
Function_mode = FMODE_EXIT;
|
||||||
#endif
|
|
||||||
|
|
||||||
gr_palette_fade_out( NULL, 32, 0 );
|
gr_palette_fade_out( NULL, 32, 0 );
|
||||||
|
|
||||||
|
@ -634,23 +541,6 @@ int main(int argc,char **argv)
|
||||||
t = build_mission_list(0); // This also loads mission 0.
|
t = build_mission_list(0); // This also loads mission 0.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef QUICKSTART
|
|
||||||
Difficulty_level = Player_default_difficulty;
|
|
||||||
Skip_briefing_screens = 1;
|
|
||||||
|
|
||||||
{
|
|
||||||
int default_mission = 0;
|
|
||||||
for (i=0;i<t;i++) {
|
|
||||||
if ( !strcasecmp( Mission_list[i].mission_name, config_last_mission ) )
|
|
||||||
default_mission = i;
|
|
||||||
}
|
|
||||||
load_mission(default_mission);
|
|
||||||
}
|
|
||||||
Function_mode = FMODE_GAME;
|
|
||||||
StartNewGame(1);
|
|
||||||
game();
|
|
||||||
#endif
|
|
||||||
while (Function_mode != FMODE_EXIT)
|
while (Function_mode != FMODE_EXIT)
|
||||||
{
|
{
|
||||||
switch( Function_mode ) {
|
switch( Function_mode ) {
|
||||||
|
|
|
@ -96,7 +96,6 @@ fix Cruise_speed=0;
|
||||||
|
|
||||||
int Allow_primary_cycle=1;
|
int Allow_primary_cycle=1;
|
||||||
int Allow_secondary_cycle=1;
|
int Allow_secondary_cycle=1;
|
||||||
int mouselook=0;
|
|
||||||
extern int Automap_flag;
|
extern int Automap_flag;
|
||||||
|
|
||||||
#define LHX(x) ((x)*(hiresfont && SWIDTH>=640 && SHEIGHT>=480?FONTSCALE_X(2):FONTSCALE_X(1)))
|
#define LHX(x) ((x)*(hiresfont && SWIDTH>=640 && SHEIGHT>=480?FONTSCALE_X(2):FONTSCALE_X(1)))
|
||||||
|
@ -2098,7 +2097,7 @@ void controls_read_all()
|
||||||
mprintf( (1, "Bogus frame time of %.2f seconds\n", f2fl(FrameTime) ));
|
mprintf( (1, "Bogus frame time of %.2f seconds\n", f2fl(FrameTime) ));
|
||||||
|
|
||||||
// ZICO - remove clamp for pitch and heading if mouselook on and no multiplayer game
|
// ZICO - remove clamp for pitch and heading if mouselook on and no multiplayer game
|
||||||
if ((Config_control_type != 5) || !mouselook || (Game_mode & GM_MULTI) ) {
|
if ((Config_control_type != 5) || !GameArg.CtlMouselook || (Game_mode & GM_MULTI) ) {
|
||||||
if (Controls.pitch_time > FrameTime/2 ) Controls.pitch_time = FrameTime/2;
|
if (Controls.pitch_time > FrameTime/2 ) Controls.pitch_time = FrameTime/2;
|
||||||
if (Controls.heading_time > FrameTime ) Controls.heading_time = FrameTime;
|
if (Controls.heading_time > FrameTime ) Controls.heading_time = FrameTime;
|
||||||
if (Controls.pitch_time < -FrameTime/2 ) Controls.pitch_time = -FrameTime/2;
|
if (Controls.pitch_time < -FrameTime/2 ) Controls.pitch_time = -FrameTime/2;
|
||||||
|
|
|
@ -116,6 +116,7 @@ static char rcsid[] = "$Id: kmatrix.c,v 1.1.1.1 2006/03/17 19:44:38 zicodxx Exp
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
@ -140,7 +141,6 @@ static char rcsid[] = "$Id: kmatrix.c,v 1.1.1.1 2006/03/17 19:44:38 zicodxx Exp
|
||||||
#include "gauges.h"
|
#include "gauges.h"
|
||||||
#include "pcx.h"
|
#include "pcx.h"
|
||||||
#include "network.h"
|
#include "network.h"
|
||||||
#include "hudlog.h"
|
|
||||||
|
|
||||||
#ifdef OGL
|
#ifdef OGL
|
||||||
#include "ogl_init.h"
|
#include "ogl_init.h"
|
||||||
|
@ -358,7 +358,5 @@ void kmatrix_view(int network)
|
||||||
gr_palette_fade_out( gr_palette, 32, 0 );
|
gr_palette_fade_out( gr_palette, 32, 0 );
|
||||||
|
|
||||||
game_flush_inputs();
|
game_flush_inputs();
|
||||||
|
|
||||||
kmatrix_log(0);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -68,8 +68,6 @@ int Laser_rapid_fire = 0;
|
||||||
|
|
||||||
int Laser_drop_vulcan_ammo = 0;
|
int Laser_drop_vulcan_ammo = 0;
|
||||||
|
|
||||||
int newhomers = 1;
|
|
||||||
|
|
||||||
int find_homing_object_complete(vms_vector *curpos, object *tracker, int track_obj_type1, int track_obj_type2);
|
int find_homing_object_complete(vms_vector *curpos, object *tracker, int track_obj_type1, int track_obj_type2);
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
|
@ -1088,7 +1086,7 @@ void Laser_do_weapon_sequence(object *obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (track_goal != -1) {
|
if (track_goal != -1) {
|
||||||
if (newhomers)
|
if (!GameArg.SysLegacyHomers)
|
||||||
{
|
{
|
||||||
fix turn_radius;
|
fix turn_radius;
|
||||||
|
|
||||||
|
|
|
@ -165,8 +165,7 @@ void autodemo_menu_check(int nitems, newmenu_item * items, int *last_key, int ci
|
||||||
|
|
||||||
if ( do_auto_demo ) {
|
if ( do_auto_demo ) {
|
||||||
curtime = timer_get_approx_seconds();
|
curtime = timer_get_approx_seconds();
|
||||||
//if ( ((keyd_time_when_last_pressed+i2f(20)) < curtime) && ((last_joy_time+i2f(20)) < curtime) && (!speedtest_on) ) {
|
if ( (((keyd_time_when_last_pressed+i2f(45)) < curtime) && (!speedtest_on)) || GameArg.SysAutoDemo == 1 ) {
|
||||||
if ( (((keyd_time_when_last_pressed+i2f(45)) < curtime) && (!speedtest_on)) || Auto_demo == 1 ) {
|
|
||||||
keyd_time_when_last_pressed = curtime; // Reset timer so that disk won't thrash if no demos.
|
keyd_time_when_last_pressed = curtime; // Reset timer so that disk won't thrash if no demos.
|
||||||
newdemo_start_playback(NULL); // Randomly pick a file
|
newdemo_start_playback(NULL); // Randomly pick a file
|
||||||
if (Newdemo_state == ND_STATE_PLAYBACK) {
|
if (Newdemo_state == ND_STATE_PLAYBACK) {
|
||||||
|
|
|
@ -77,10 +77,6 @@ static char rcsid[] = "$Id: multi.c,v 1.1.1.1 2006/03/17 19:43:22 zicodxx Exp $"
|
||||||
#include "ignore.h"
|
#include "ignore.h"
|
||||||
//End addition by GRiM FisH
|
//End addition by GRiM FisH
|
||||||
|
|
||||||
//added 11/01/98 Matt Mueller
|
|
||||||
#include "hudlog.h"
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
//added 11/01/98 Matt Mueller
|
//added 11/01/98 Matt Mueller
|
||||||
#include "pingstat.h"
|
#include "pingstat.h"
|
||||||
//end addition -MM
|
//end addition -MM
|
||||||
|
@ -1015,10 +1011,6 @@ multi_leave_game(void)
|
||||||
if (!(Game_mode & GM_MULTI))
|
if (!(Game_mode & GM_MULTI))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//added 11/01/98 by Matthew Mueller
|
|
||||||
kmatrix_log(0);
|
|
||||||
//end addition -MM
|
|
||||||
|
|
||||||
if (Game_mode & GM_NETWORK)
|
if (Game_mode & GM_NETWORK)
|
||||||
{
|
{
|
||||||
mprintf((0, "Sending explosion message.\n"));
|
mprintf((0, "Sending explosion message.\n"));
|
||||||
|
|
|
@ -11,11 +11,6 @@ AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||||
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef RCS
|
|
||||||
static char rcsid[] = "$Id: newdemo.c,v 1.1.1.1 2006/03/17 19:44:19 zicodxx Exp $";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h> // for memset
|
#include <string.h> // for memset
|
||||||
|
@ -87,8 +82,6 @@ static char rcsid[] = "$Id: newdemo.c,v 1.1.1.1 2006/03/17 19:44:19 zicodxx Exp
|
||||||
#include "editor/editor.h"
|
#include "editor/editor.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Does demo start automatically?
|
|
||||||
int Auto_demo = 0;
|
|
||||||
void DoJasonInterpolate (fix recorded_time);
|
void DoJasonInterpolate (fix recorded_time);
|
||||||
|
|
||||||
#define ND_EVENT_EOF 0 // EOF
|
#define ND_EVENT_EOF 0 // EOF
|
||||||
|
|
159
main/newdemo.h
159
main/newdemo.h
|
@ -11,165 +11,11 @@ AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||||
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* $Source: /cvsroot/dxx-rebirth/d1x-rebirth/main/newdemo.h,v $
|
*
|
||||||
* $Revision: 1.1.1.1 $
|
|
||||||
* $Author: zicodxx $
|
|
||||||
* $Date: 2006/03/17 19:44:19 $
|
|
||||||
*
|
|
||||||
* .
|
* .
|
||||||
*
|
|
||||||
* $Log: newdemo.h,v $
|
|
||||||
* Revision 1.1.1.1 2006/03/17 19:44:19 zicodxx
|
|
||||||
* initial import
|
|
||||||
*
|
*
|
||||||
* Revision 1.1.1.1 1999/06/14 22:12:47 donut
|
|
||||||
* Import of d1x 1.37 source.
|
|
||||||
*
|
|
||||||
* Revision 2.0 1995/02/27 11:27:18 john
|
|
||||||
* New version 2.0, which has no anonymous unions, builds with
|
|
||||||
* Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
|
|
||||||
*
|
|
||||||
* Revision 1.43 1995/01/19 09:41:43 allender
|
|
||||||
* prototype for laser level recording
|
|
||||||
*
|
|
||||||
* Revision 1.42 1995/01/18 18:48:49 allender
|
|
||||||
* added function prototype for door_open
|
|
||||||
*
|
|
||||||
* Revision 1.41 1995/01/17 17:42:31 allender
|
|
||||||
* new prototypes for ammo counts
|
|
||||||
*
|
|
||||||
* Revision 1.40 1995/01/04 15:04:27 allender
|
|
||||||
* added some different prototypes for registered
|
|
||||||
*
|
|
||||||
* Revision 1.39 1995/01/03 11:45:11 allender
|
|
||||||
* extern function definition
|
|
||||||
*
|
|
||||||
* Revision 1.38 1994/12/29 16:43:31 allender
|
|
||||||
* new function prototype
|
|
||||||
*
|
|
||||||
* Revision 1.37 1994/12/28 14:15:27 allender
|
|
||||||
* new function prototypes
|
|
||||||
*
|
|
||||||
* Revision 1.36 1994/12/21 12:46:41 allender
|
|
||||||
* new functions for multiplayer deaths and kills
|
|
||||||
*
|
|
||||||
* Revision 1.35 1994/12/12 11:32:55 allender
|
|
||||||
* added new record function to restore after in rearview mode
|
|
||||||
*
|
|
||||||
* Revision 1.34 1994/12/08 21:03:15 allender
|
|
||||||
* added new param to record_player_flags
|
|
||||||
*
|
|
||||||
* Revision 1.33 1994/12/08 13:47:01 allender
|
|
||||||
* removed function call to record_rearview
|
|
||||||
*
|
|
||||||
* Revision 1.32 1994/12/06 12:57:10 allender
|
|
||||||
* added new prototype for multi decloaking
|
|
||||||
*
|
|
||||||
* Revision 1.31 1994/12/01 11:46:34 allender
|
|
||||||
* added recording prototype for multi player cloak
|
|
||||||
*
|
|
||||||
* Revision 1.30 1994/11/27 23:04:22 allender
|
|
||||||
* function prototype for recording new levels
|
|
||||||
*
|
|
||||||
* Revision 1.29 1994/11/07 08:47:43 john
|
|
||||||
* Made wall state record.
|
|
||||||
*
|
|
||||||
* Revision 1.28 1994/11/05 17:22:53 john
|
|
||||||
* Fixed lots of sequencing problems with newdemo stuff.
|
|
||||||
*
|
|
||||||
* Revision 1.27 1994/11/04 16:48:49 allender
|
|
||||||
* extern Newdemo_do_interpolate variable
|
|
||||||
*
|
|
||||||
* Revision 1.26 1994/11/02 14:08:53 allender
|
|
||||||
* record rearview
|
|
||||||
*
|
|
||||||
* Revision 1.25 1994/10/31 13:35:04 allender
|
|
||||||
* added two record functions to save and restore cockpit state on
|
|
||||||
* death sequence
|
|
||||||
*
|
|
||||||
* Revision 1.24 1994/10/29 16:01:11 allender
|
|
||||||
* added ND_STATE_NODEMOS to indicate that there are no demos currently
|
|
||||||
* available for playback
|
|
||||||
*
|
|
||||||
* Revision 1.23 1994/10/28 12:41:58 allender
|
|
||||||
* add homing distance recording event
|
|
||||||
*
|
|
||||||
* Revision 1.22 1994/10/27 16:57:32 allender
|
|
||||||
* removed VCR_MODE stuff, and added monitor blowup effects
|
|
||||||
*
|
|
||||||
* Revision 1.21 1994/10/26 14:44:48 allender
|
|
||||||
* completed hacked in vcr type demo playback states
|
|
||||||
*
|
|
||||||
* Revision 1.20 1994/10/26 13:40:38 allender
|
|
||||||
* more vcr demo playback defines
|
|
||||||
*
|
|
||||||
* Revision 1.19 1994/10/26 08:51:26 allender
|
|
||||||
* record player weapon change
|
|
||||||
*
|
|
||||||
* Revision 1.18 1994/10/25 16:25:31 allender
|
|
||||||
* prototypes for shield, energy and flags
|
|
||||||
*
|
|
||||||
* Revision 1.17 1994/08/15 18:05:30 john
|
|
||||||
* *** empty log message ***
|
|
||||||
*
|
|
||||||
* Revision 1.16 1994/07/21 13:11:26 matt
|
|
||||||
* Ripped out remants of old demo system, and added demo only system that
|
|
||||||
* disables object movement and game options from menu.
|
|
||||||
*
|
|
||||||
* Revision 1.15 1994/07/05 12:49:02 john
|
|
||||||
* Put functionality of New Hostage spec into code.
|
|
||||||
*
|
|
||||||
* Revision 1.14 1994/06/27 15:53:12 john
|
|
||||||
* #define'd out the newdemo stuff
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Revision 1.13 1994/06/24 17:01:25 john
|
|
||||||
* Add VFX support; Took Game Sequencing, like EndGame and stuff and
|
|
||||||
* took it out of game.c and into gameseq.c
|
|
||||||
*
|
|
||||||
* Revision 1.12 1994/06/21 19:46:05 john
|
|
||||||
* Added palette effects to demo recording.
|
|
||||||
*
|
|
||||||
* Revision 1.11 1994/06/21 14:19:58 john
|
|
||||||
* Put in hooks to record HUD messages.
|
|
||||||
*
|
|
||||||
* Revision 1.10 1994/06/20 11:50:42 john
|
|
||||||
* Made demo record flash effect, and control center triggers.
|
|
||||||
*
|
|
||||||
* Revision 1.9 1994/06/17 18:01:29 john
|
|
||||||
* A bunch of new stuff by John
|
|
||||||
*
|
|
||||||
* Revision 1.8 1994/06/17 12:13:34 john
|
|
||||||
* More newdemo stuff; made editor->game transition start in slew mode.
|
|
||||||
*
|
|
||||||
* Revision 1.7 1994/06/16 13:02:02 john
|
|
||||||
* Added morph hooks.
|
|
||||||
*
|
|
||||||
* Revision 1.6 1994/06/15 19:01:42 john
|
|
||||||
* Added the capability to make 3d sounds play just once for the
|
|
||||||
* laser hit wall effects.
|
|
||||||
*
|
|
||||||
* Revision 1.5 1994/06/15 14:57:11 john
|
|
||||||
* Added triggers to demo recording.
|
|
||||||
*
|
|
||||||
* Revision 1.4 1994/06/14 20:42:19 john
|
|
||||||
* Made robot matztn cntr not work until no robots or player are
|
|
||||||
* in the segment.
|
|
||||||
*
|
|
||||||
* Revision 1.3 1994/06/14 14:43:52 john
|
|
||||||
* Made doors work with newdemo system.
|
|
||||||
*
|
|
||||||
* Revision 1.2 1994/06/13 21:02:44 john
|
|
||||||
* Initial version of new demo recording system.
|
|
||||||
*
|
|
||||||
* Revision 1.1 1994/06/13 15:51:09 john
|
|
||||||
* Initial revision
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _NEWDEMO_H
|
#ifndef _NEWDEMO_H
|
||||||
#define _NEWDEMO_H
|
#define _NEWDEMO_H
|
||||||
|
|
||||||
|
@ -195,9 +41,6 @@ extern int Newdemo_game_mode;
|
||||||
extern int Newdemo_vcr_state;
|
extern int Newdemo_vcr_state;
|
||||||
extern sbyte Newdemo_do_interpolate;
|
extern sbyte Newdemo_do_interpolate;
|
||||||
|
|
||||||
//Does demo start automatically?
|
|
||||||
extern int Auto_demo;
|
|
||||||
|
|
||||||
// Functions called during recording process...
|
// Functions called during recording process...
|
||||||
extern void newdemo_record_start_demo();
|
extern void newdemo_record_start_demo();
|
||||||
extern void newdemo_record_start_frame(int frame_number, fix frame_time );
|
extern void newdemo_record_start_frame(int frame_number, fix frame_time );
|
||||||
|
|
14
main/piggy.c
14
main/piggy.c
|
@ -435,8 +435,6 @@ int Num_sound_files_new = 0;
|
||||||
static BitmapFile AllBitmaps[ MAX_BITMAP_FILES ];
|
static BitmapFile AllBitmaps[ MAX_BITMAP_FILES ];
|
||||||
static SoundFile AllSounds[ MAX_SOUND_FILES ];
|
static SoundFile AllSounds[ MAX_SOUND_FILES ];
|
||||||
|
|
||||||
int piggy_low_memory = 0;
|
|
||||||
|
|
||||||
#define DBM_FLAG_LARGE 128 // Flags added onto the flags struct in b
|
#define DBM_FLAG_LARGE 128 // Flags added onto the flags struct in b
|
||||||
#define DBM_FLAG_ABM 64
|
#define DBM_FLAG_ABM 64
|
||||||
|
|
||||||
|
@ -726,13 +724,7 @@ int piggy_init()
|
||||||
if ( FindArg( "-bigpig" ))
|
if ( FindArg( "-bigpig" ))
|
||||||
BigPig = 1;
|
BigPig = 1;
|
||||||
|
|
||||||
if ( FindArg( "-lowmem" ))
|
if (GameArg.SysLowMem)
|
||||||
piggy_low_memory = 1;
|
|
||||||
|
|
||||||
if ( FindArg( "-nolowmem" ))
|
|
||||||
piggy_low_memory = 0;
|
|
||||||
|
|
||||||
if (piggy_low_memory)
|
|
||||||
digi_lomem = 1;
|
digi_lomem = 1;
|
||||||
|
|
||||||
if ( (i=FindArg( "-piggy" )) ) {
|
if ( (i=FindArg( "-piggy" )) ) {
|
||||||
|
@ -968,7 +960,7 @@ void piggy_bitmap_page_in( bitmap_index bitmap )
|
||||||
|
|
||||||
if ( GameBitmapOffset[i] == 0 ) return; // A read-from-disk bitmap!!!
|
if ( GameBitmapOffset[i] == 0 ) return; // A read-from-disk bitmap!!!
|
||||||
|
|
||||||
if ( piggy_low_memory ) {
|
if ( GameArg.SysLowMem ) {
|
||||||
org_i = i;
|
org_i = i;
|
||||||
i = GameBitmapXlat[i]; // Xlat for low-memory settings!
|
i = GameBitmapXlat[i]; // Xlat for low-memory settings!
|
||||||
}
|
}
|
||||||
|
@ -1036,7 +1028,7 @@ void piggy_bitmap_page_in( bitmap_index bitmap )
|
||||||
start_time();
|
start_time();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( piggy_low_memory ) {
|
if ( GameArg.SysLowMem ) {
|
||||||
if ( org_i != i )
|
if ( org_i != i )
|
||||||
GameBitmaps[org_i] = GameBitmaps[i];
|
GameBitmaps[org_i] = GameBitmaps[i];
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,8 +68,6 @@ char Briefing_text_filename[13] = "briefing.tex";
|
||||||
|
|
||||||
#define SHAREWARE_ENDING_FILENAME "ending.tex"
|
#define SHAREWARE_ENDING_FILENAME "ending.tex"
|
||||||
|
|
||||||
// Can be set by -noscreens command line option. Causes bypassing of all briefing screens.
|
|
||||||
int Skip_briefing_screens=0;
|
|
||||||
int Briefing_foreground_colors[MAX_BRIEFING_COLORS], Briefing_background_colors[MAX_BRIEFING_COLORS];
|
int Briefing_foreground_colors[MAX_BRIEFING_COLORS], Briefing_background_colors[MAX_BRIEFING_COLORS];
|
||||||
int Current_color = 0;
|
int Current_color = 0;
|
||||||
int Erase_color;
|
int Erase_color;
|
||||||
|
@ -1085,11 +1083,6 @@ int show_briefing_screen( int screen_num, int allow_keys)
|
||||||
|
|
||||||
New_pal_254_bash = 0;
|
New_pal_254_bash = 0;
|
||||||
|
|
||||||
if (Skip_briefing_screens) {
|
|
||||||
mprintf((0, "Skipping briefing screen [%s]\n", &Briefing_screens[screen_num].bs_name));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
gr_init_bitmap_data (&briefing_bm);
|
gr_init_bitmap_data (&briefing_bm);
|
||||||
|
|
||||||
if ((pcx_error=pcx_read_bitmap( Briefing_screens_LH[screen_num].bs_name, &briefing_bm, BM_LINEAR, New_pal ))!=PCX_ERROR_NONE) {
|
if ((pcx_error=pcx_read_bitmap( Briefing_screens_LH[screen_num].bs_name, &briefing_bm, BM_LINEAR, New_pal ))!=PCX_ERROR_NONE) {
|
||||||
|
@ -1130,11 +1123,6 @@ void do_briefing_screens(int level_num)
|
||||||
int abort_briefing_screens = 0;
|
int abort_briefing_screens = 0;
|
||||||
int cur_briefing_screen = 0;
|
int cur_briefing_screen = 0;
|
||||||
|
|
||||||
if (Skip_briefing_screens) {
|
|
||||||
mprintf((0, "Skipping all briefing screens.\n"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Briefing_text_filename[0]) //no filename?
|
if (!Briefing_text_filename[0]) //no filename?
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue