mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 01:11:44 +00:00
Newer tile selector from Mapfun and some other stuff
git-svn-id: https://svn.eduke32.com/eduke32@534 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
2440ab75b9
commit
62ae233489
7 changed files with 1413 additions and 94 deletions
|
@ -55,7 +55,7 @@ void OSD_ResizeDisplay(int w,int h);
|
|||
void OSD_CaptureInput(int cap);
|
||||
|
||||
// sets the console version string
|
||||
void OSD_SetVersionString(const char *version);
|
||||
void OSD_SetVersionString(const char *version, int shade, int pal);
|
||||
|
||||
// shows or hides the onscreen display
|
||||
void OSD_ShowDisplay(int onf);
|
||||
|
|
|
@ -90,8 +90,8 @@ short brightness = 0;
|
|||
long zlock = 0x7fffffff, zmode = 0, whitecol, kensplayerheight = 32;
|
||||
short defaultspritecstat = 0;
|
||||
|
||||
static short localartfreq[MAXTILES];
|
||||
static short localartlookup[MAXTILES], localartlookupnum;
|
||||
short localartfreq[MAXTILES];
|
||||
short localartlookup[MAXTILES], localartlookupnum;
|
||||
|
||||
char tempbuf[4096];
|
||||
|
||||
|
|
|
@ -44,6 +44,8 @@ static void _internal_onshowosd(int);
|
|||
static char osdtext[TEXTSIZE];
|
||||
static char osdversionstring[32];
|
||||
static int osdversionstringlen;
|
||||
static int osdversionstringshade;
|
||||
static int osdversionstringpal;
|
||||
static int osdpos=0; // position next character will be written at
|
||||
static int osdlines=1; // # lines of text in the buffer
|
||||
static int osdrows=20; // # lines of the buffer that are visible
|
||||
|
@ -773,7 +775,7 @@ void OSD_Draw(void)
|
|||
clearbackground(osdcols,osdrowscur+1);
|
||||
|
||||
if (osdversionstring[0])
|
||||
drawosdstr(osdcols-osdversionstringlen,osdrowscur,osdversionstring,osdversionstringlen,0,2);
|
||||
drawosdstr(osdcols-osdversionstringlen,osdrowscur,osdversionstring,osdversionstringlen,osdversionstringshade,osdversionstringpal);
|
||||
|
||||
for (; lines>0; lines--, row--) {
|
||||
drawosdstr(0,row,osdtext+topoffs,osdcols,osdtextshade,osdtextpal);
|
||||
|
@ -1051,12 +1053,14 @@ int OSD_RegisterFunction(const char *name, const char *help, int (*func)(const o
|
|||
//
|
||||
// OSD_SetVersionString()
|
||||
//
|
||||
void OSD_SetVersionString(const char *version)
|
||||
void OSD_SetVersionString(const char *version, int shade, int pal)
|
||||
{
|
||||
if (!osdinited) OSD_Init();
|
||||
|
||||
strcpy(osdversionstring,version);
|
||||
osdversionstringlen = strlen(osdversionstring);
|
||||
Bstrcpy(osdversionstring,version);
|
||||
osdversionstringlen = Bstrlen(osdversionstring);
|
||||
osdversionstringshade = shade;
|
||||
osdversionstringpal = pal;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -102,7 +102,7 @@ extern int32 numlumps;
|
|||
static FILE *frecfilep = (FILE *)NULL;
|
||||
|
||||
int restorepalette,screencapt;
|
||||
static int nomorelogohack;
|
||||
static int nomorelogohack, nologo = 0;
|
||||
static int sendmessagecommand = -1;
|
||||
|
||||
char defaultduke3dgrp[BMAX_PATH] = "duke3d.grp";
|
||||
|
@ -8715,6 +8715,12 @@ static void checkcommandline(int argc,char **argv)
|
|||
i++;
|
||||
continue;
|
||||
}
|
||||
if (!Bstrcasecmp(c+1,"nologo"))
|
||||
{
|
||||
nologo = 1;
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
#if !defined(_WIN32)
|
||||
if (!Bstrcasecmp(c+1,"usecwd"))
|
||||
{
|
||||
|
@ -9022,7 +9028,7 @@ static void Logo(void)
|
|||
MUSIC_StopSong();
|
||||
FX_StopAllSounds(); // JBF 20031228
|
||||
clearsoundlocks(); // JBF 20031228
|
||||
if (ud.multimode < 2 && (logoflags & LOGO_FLAG_ENABLED))
|
||||
if (ud.multimode < 2 && (logoflags & LOGO_FLAG_ENABLED) && !nologo)
|
||||
{
|
||||
if (VOLUMEALL && (logoflags & LOGO_FLAG_PLAYANIM))
|
||||
{
|
||||
|
@ -10064,7 +10070,7 @@ while (findfiles) { Bsprintf(tempbuf,"autoload/%s",findfiles->name); initprintf(
|
|||
}
|
||||
|
||||
if (quitevent) return;
|
||||
if (!loaddefinitionsfile(duke3ddef)) initprintf("Definitions file loaded.\n");
|
||||
if (!loaddefinitionsfile(duke3ddef)) initprintf("Definitions file '%s' loaded.\n",duke3ddef);
|
||||
|
||||
// initprintf("numplayers=%i\n",numplayers);
|
||||
|
||||
|
@ -10119,7 +10125,7 @@ while (findfiles) { Bsprintf(tempbuf,"autoload/%s",findfiles->name); initprintf(
|
|||
GAME_onshowosd
|
||||
);
|
||||
OSD_SetParameters(0,2, 0,0, 4,0);
|
||||
OSD_SetVersionString(HEAD2);
|
||||
OSD_SetVersionString(HEAD2,0,2);
|
||||
registerosdcommands();
|
||||
|
||||
if (setgamemode(ScreenMode,ScreenWidth,ScreenHeight,ScreenBPP) < 0)
|
||||
|
|
|
@ -28,6 +28,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
extern int g_i,g_p;
|
||||
|
||||
static void ResetPointerVars(void);
|
||||
|
||||
static void FreeGameVars(void)
|
||||
{
|
||||
// call this function as many times as needed.
|
||||
|
@ -129,6 +131,8 @@ int ReadGameVars(long fil)
|
|||
// else nothing 'extra...'
|
||||
}
|
||||
|
||||
ResetPointerVars();
|
||||
|
||||
// Bsprintf(g_szBuf,"CP:%s %d",__FILE__,__LINE__);
|
||||
// AddLog(g_szBuf);
|
||||
if (kdfread(apScriptGameEvent,sizeof(apScriptGameEvent),1,fil) != 1) goto corrupt;
|
||||
|
@ -1256,3 +1260,75 @@ void InitGameVarPointers(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void ResetPointerVars(void)
|
||||
{
|
||||
aGameVars[GetGameID("RESPAWN_MONSTERS")].lValue = (long)&ud.respawn_monsters;
|
||||
aGameVars[GetGameID("RESPAWN_ITEMS")].lValue = (long)&ud.respawn_items;
|
||||
aGameVars[GetGameID("RESPAWN_INVENTORY")].lValue = (long)&ud.respawn_inventory;
|
||||
aGameVars[GetGameID("MONSTERS_OFF")].lValue = (long)&ud.monsters_off;
|
||||
aGameVars[GetGameID("MARKER")].lValue = (long)&ud.marker;
|
||||
aGameVars[GetGameID("FFIRE")].lValue = (long)&ud.ffire;
|
||||
aGameVars[GetGameID("LEVEL")].lValue = (long)&ud.level_number;
|
||||
aGameVars[GetGameID("VOLUME")].lValue = (long)&ud.volume_number;
|
||||
|
||||
aGameVars[GetGameID("COOP")].lValue = (long)&ud.coop;
|
||||
aGameVars[GetGameID("MULTIMODE")].lValue = (long)&ud.multimode;
|
||||
|
||||
aGameVars[GetGameID("myconnectindex")].lValue = (long)&myconnectindex;
|
||||
aGameVars[GetGameID("screenpeek")].lValue = (long)&screenpeek;
|
||||
aGameVars[GetGameID("currentweapon")].lValue = (long)&g_currentweapon;
|
||||
aGameVars[GetGameID("gs")].lValue = (long)&g_gs;
|
||||
aGameVars[GetGameID("looking_arc")].lValue = (long)&g_looking_arc;
|
||||
aGameVars[GetGameID("gun_pos")].lValue = (long)&g_gun_pos;
|
||||
aGameVars[GetGameID("weapon_xoffset")].lValue = (long)&g_weapon_xoffset;
|
||||
aGameVars[GetGameID("weaponcount")].lValue = (long)&g_kb;
|
||||
aGameVars[GetGameID("looking_angSR1")].lValue = (long)&g_looking_angSR1;
|
||||
aGameVars[GetGameID("xdim")].lValue = (long)&xdim;
|
||||
aGameVars[GetGameID("ydim")].lValue = (long)&ydim;
|
||||
aGameVars[GetGameID("windowx1")].lValue = (long)&windowx1;
|
||||
aGameVars[GetGameID("windowx2")].lValue = (long)&windowx2;
|
||||
aGameVars[GetGameID("windowy1")].lValue = (long)&windowy1;
|
||||
aGameVars[GetGameID("windowy2")].lValue = (long)&windowy2;
|
||||
aGameVars[GetGameID("totalclock")].lValue = (long)&totalclock;
|
||||
aGameVars[GetGameID("lastvisinc")].lValue = (long)&lastvisinc;
|
||||
aGameVars[GetGameID("numsectors")].lValue = (long)&numsectors;
|
||||
aGameVars[GetGameID("numplayers")].lValue = (long)&numplayers;
|
||||
aGameVars[GetGameID("viewingrange")].lValue = (long)&viewingrange;
|
||||
aGameVars[GetGameID("yxaspect")].lValue = (long)&yxaspect;
|
||||
aGameVars[GetGameID("gravitationalconstant")].lValue = (long)&gc;
|
||||
aGameVars[GetGameID("gametype_flags")].lValue = (long)&gametype_flags[ud.coop];
|
||||
aGameVars[GetGameID("framerate")].lValue = (long)&framerate;
|
||||
|
||||
aGameVars[GetGameID("camerax")].lValue = (long)&ud.camerax;
|
||||
aGameVars[GetGameID("cameray")].lValue = (long)&ud.cameray;
|
||||
aGameVars[GetGameID("cameraz")].lValue = (long)&ud.cameraz;
|
||||
aGameVars[GetGameID("cameraang")].lValue = (long)&ud.cameraang;
|
||||
aGameVars[GetGameID("camerahoriz")].lValue = (long)&ud.camerahoriz;
|
||||
aGameVars[GetGameID("camerasect")].lValue = (long)&ud.camerasect;
|
||||
|
||||
aGameVars[GetGameID("myx")].lValue = (long)&myx;
|
||||
aGameVars[GetGameID("myy")].lValue = (long)&myy;
|
||||
aGameVars[GetGameID("myz")].lValue = (long)&myz;
|
||||
aGameVars[GetGameID("omyx")].lValue = (long)&omyx;
|
||||
aGameVars[GetGameID("omyy")].lValue = (long)&omyy;
|
||||
aGameVars[GetGameID("omyz")].lValue = (long)&omyz;
|
||||
aGameVars[GetGameID("myxvel")].lValue = (long)&myxvel;
|
||||
aGameVars[GetGameID("myyvel")].lValue = (long)&myyvel;
|
||||
aGameVars[GetGameID("myzvel")].lValue = (long)&myzvel;
|
||||
|
||||
aGameVars[GetGameID("myhoriz")].lValue = (long)&myhoriz;
|
||||
aGameVars[GetGameID("myhorizoff")].lValue = (long)&myhorizoff;
|
||||
aGameVars[GetGameID("omyhoriz")].lValue = (long)&omyhoriz;
|
||||
aGameVars[GetGameID("omyhorizoff")].lValue = (long)&omyhorizoff;
|
||||
aGameVars[GetGameID("myang")].lValue = (long)&myang;
|
||||
aGameVars[GetGameID("omyang")].lValue = (long)&omyang;
|
||||
aGameVars[GetGameID("mycursectnum")].lValue = (long)&mycursectnum;
|
||||
aGameVars[GetGameID("myjumpingcounter")].lValue = (long)&myjumpingcounter;
|
||||
|
||||
aGameVars[GetGameID("myjumpingtoggle")].lValue = (long)&myjumpingtoggle;
|
||||
aGameVars[GetGameID("myonground")].lValue = (long)&myonground;
|
||||
aGameVars[GetGameID("myhardlanding")].lValue = (long)&myhardlanding;
|
||||
aGameVars[GetGameID("myreturntocenter")].lValue = (long)&myreturntocenter;
|
||||
|
||||
aGameVars[GetGameID("display_mirror")].lValue = (long)&display_mirror;
|
||||
}
|
||||
|
|
|
@ -156,3 +156,188 @@ void ResetKeys();
|
|||
|
||||
extern void fixspritesectors(void);
|
||||
#define KEY_PRESSED(sc) KB_KeyPressed((sc))
|
||||
|
||||
// REM : This file should be included in file BUILD.C _ONLY_
|
||||
|
||||
#include "names.h"
|
||||
|
||||
|
||||
|
||||
// This table defines the various zoom levels, the numbers being the pixel width
|
||||
// and height of the sprite when plotted on the screen. Probably zooms in too far
|
||||
// for some, but I'm a blind old git :-(
|
||||
|
||||
#define FUCKING_GOOD_EYESIGHT 16
|
||||
|
||||
static const long ZoomToThumbSize[] =
|
||||
{
|
||||
FUCKING_GOOD_EYESIGHT, 32, 64, 128, 192, 256, 384, 512
|
||||
} ;
|
||||
|
||||
#define NUM_ZOOMS (sizeof(ZoomToThumbSize)/sizeof(ZoomToThumbSize[0]))
|
||||
|
||||
#define INITIAL_ZOOM 2
|
||||
|
||||
|
||||
// If I wasn't a lazy sod I'd have made these loadable from external config files.
|
||||
|
||||
///////////////////
|
||||
// ACTOR SPRITES //
|
||||
///////////////////
|
||||
|
||||
static const long s_idActors[] =
|
||||
{
|
||||
LIZTROOP, LIZTROOPRUNNING, LIZTROOPSTAYPUT, LIZTROOPSHOOT, LIZTROOPJETPACK,
|
||||
LIZTROOPONTOILET, LIZTROOPJUSTSIT, LIZTROOPDUCKING,
|
||||
PIGCOP, PIGCOPSTAYPUT, PIGCOPDIVE,
|
||||
LIZMAN, LIZMANSTAYPUT, LIZMANSPITTING, LIZMANFEEDING, LIZMANJUMP,
|
||||
COMMANDER, COMMANDERSTAYPUT,
|
||||
OCTABRAIN, OCTABRAINSTAYPUT,
|
||||
ORGANTIC,
|
||||
NEWBEAST, NEWBEASTSTAYPUT, NEWBEASTJUMP,
|
||||
EGG, GREENSLIME, ROTATEGUN, RECON, TANK, BOUNCEMINE,
|
||||
FLOORFLAME,
|
||||
// FEMS
|
||||
FEM1, FEM2, FEM3, FEM4, FEM5, FEM6, FEM7, FEM8, FEM9, FEM10, NAKED1,
|
||||
// Lil' critters
|
||||
SHARK,
|
||||
// BIG critters
|
||||
BOSS1, BOSS1STAYPUT, BOSS1SHOOT, BOSS1LOB,
|
||||
BOSS2,
|
||||
BOSS3,
|
||||
BOSS4, BOSS4STAYPUT
|
||||
} ;
|
||||
|
||||
#define NUM_ACTORS (sizeof(s_idActors)/sizeof(s_idActors[0]))
|
||||
|
||||
/////////////////
|
||||
// DOOR TILES ///
|
||||
/////////////////
|
||||
|
||||
// Not all of these are tuely door tiles but are useable as such
|
||||
|
||||
static const long s_idDoors[] =
|
||||
{
|
||||
DOORTILE1, DOORTILE2, DOORTILE3, DOORTILE4, DOORTILE5,
|
||||
DOORTILE6, DOORTILE7, DOORTILE8, DOORTILE9, DOORTILE10,
|
||||
312, 313, 314, 345,
|
||||
DOORTILE22, DOORTILE18, DOORTILE19, DOORTILE20,
|
||||
450, 455, 457, 458, 459, 469, 470, 477,
|
||||
DOORTILE14,
|
||||
719, 735, 771,
|
||||
DOORTILE16,
|
||||
843, 858, 883,
|
||||
DOORTILE15, DOORTILE21,
|
||||
1173,
|
||||
DOORTILE11,DOORTILE12,
|
||||
353, 355,
|
||||
// Related items
|
||||
DOORSHOCK, ACCESSCARD
|
||||
};
|
||||
|
||||
#define NUM_DOORS (sizeof(s_idDoors)/sizeof(s_idDoors[0]))
|
||||
|
||||
//////////////////
|
||||
// SWITCH TILES //
|
||||
//////////////////
|
||||
|
||||
static const long s_idSwitches[] =
|
||||
{
|
||||
ACCESSSWITCH,ACCESSSWITCH2, SLOTDOOR, LIGHTSWITCH, SPACEDOORSWITCH, SPACELIGHTSWITCH,
|
||||
FRANKENSTINESWITCH, MULTISWITCH,
|
||||
DIPSWITCH, DIPSWITCH2, DIPSWITCH3, TECHSWITCH,
|
||||
LIGHTSWITCH2, LIGHTSWITCH2+1,
|
||||
POWERSWITCH1, LOCKSWITCH1, POWERSWITCH2, HANDSWITCH, PULLSWITCH,
|
||||
ALIENSWITCH, HANDPRINTSWITCH, NUKEBUTTON,
|
||||
TARGET,
|
||||
4083, 4954 // Busted switches (Atomic)
|
||||
} ;
|
||||
|
||||
#define NUM_SWITCHES (sizeof(s_idSwitches)/sizeof(s_idSwitches[0]))
|
||||
|
||||
///////////////////
|
||||
// GOODIES TILES //
|
||||
///////////////////
|
||||
|
||||
static const long s_idGoodies[] =
|
||||
{
|
||||
// Ammo
|
||||
AMMO,SHOTGUNAMMO, BATTERYAMMO, RPGAMMO, HEAVYHBOMB, FREEZEAMMO, GROWAMMO, CRYSTALAMMO,
|
||||
DEVISTATORAMMO, HBOMBAMMO,
|
||||
|
||||
// Items (health,etc)
|
||||
COLA, SIXPAK, FIRSTAID, SHIELD, STEROIDS, AIRTANK, JETPACK, HEATSENSOR, ACCESSCARD,
|
||||
BOOTS, ATOMICHEALTH,
|
||||
|
||||
// Weapons
|
||||
FIRSTGUNSPRITE, CHAINGUNSPRITE, RPGSPRITE, FREEZESPRITE, SHRINKERSPRITE,
|
||||
TRIPBOMBSPRITE, SHOTGUNSPRITE, DEVISTATORSPRITE
|
||||
|
||||
} ;
|
||||
|
||||
#define NUM_GOODIES (sizeof(s_idGoodies)/sizeof(s_idGoodies[0]))
|
||||
|
||||
////////////////////////
|
||||
// ITEMS THAT RESPAWN //
|
||||
////////////////////////
|
||||
|
||||
// Thought there were more than just these :-(
|
||||
|
||||
static const long s_idRespawns[] =
|
||||
{
|
||||
CANWITHSOMETHING, CANWITHSOMETHING2, CANWITHSOMETHING3, CANWITHSOMETHING4,
|
||||
// FEMS
|
||||
FEM1, FEM2, FEM3, FEM4, FEM5, FEM6, FEM7, FEM8, FEM9, FEM10, NAKED1,
|
||||
} ;
|
||||
|
||||
#define NUM_RESPAWNS (sizeof(s_idRespawns)/sizeof(s_idRespawns[0]))
|
||||
|
||||
////////////////////////
|
||||
// EXPLOSION AND FIRE //
|
||||
////////////////////////
|
||||
|
||||
static const long s_idExplosions[] =
|
||||
{
|
||||
CRACK1, CRACK2, CRACK3, CRACK4,
|
||||
FIREEXT, SEENINE, OOZFILTER,
|
||||
EXPLODINGBARREL, EXPLODINGBARREL2, FIREBARREL, GUNPOWDERBARREL,
|
||||
REACTOR2SPARK, BOLT1, SIDEBOLT1,
|
||||
CEILINGSTEAM,
|
||||
FIREVASE, 2066, BURNING, FIRE, BURNING2, FIRE2
|
||||
} ;
|
||||
|
||||
#define NUM_EXPLOSIONS (sizeof(s_idExplosions)/sizeof(s_idExplosions[0]))
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
// BUILD STRUCTURE USED IN SELECTING ONE OF ABOVE LTILE LISTS //
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
const struct
|
||||
{
|
||||
const long *pIds ; // ptr to list of tile Ids
|
||||
long nIds ; // num of tile ids
|
||||
char key1 ; // key1 and key2 are two alternative keypresses used to
|
||||
char key2 ; // select tile set. Bodge to do eary upper/lower case handling
|
||||
char *szText ; // description to present to user.
|
||||
} s_TileGroups[] =
|
||||
{
|
||||
{ s_idActors, NUM_ACTORS, 'A', 'a', "(A) Actor group" },
|
||||
{ s_idDoors, NUM_DOORS, 'D', 'd', "(D) Door group" },
|
||||
{ s_idGoodies, NUM_GOODIES, 'G', 'g', "(G) Goodies (ammo, weapons, etc)" },
|
||||
{ s_idRespawns, NUM_RESPAWNS, 'R', 'r', "(R) Respawning Items" },
|
||||
{ s_idSwitches, NUM_SWITCHES, 'S', 's', "(S) Switch group" },
|
||||
{ s_idExplosions, NUM_EXPLOSIONS, 'X', 'x', "(X) eXplosions, fire, sparks, etc" }
|
||||
} ;
|
||||
|
||||
#define NUM_TILE_GROUPS (sizeof(s_TileGroups)/sizeof(s_TileGroups[0]))
|
||||
|
||||
|
||||
#define FIRST_USER_ART_TILE 3584
|
||||
// Some atomic tiles are sprinkled in the V1.3d's area but
|
||||
// this is where the main atomic tiles start :-
|
||||
#define FIRST_ATOMIC_TILE 4096
|
||||
|
||||
extern short localartfreq[MAXTILES];
|
||||
extern short localartlookup[MAXTILES], localartlookupnum;
|
||||
extern long lockclock;
|
||||
extern void clearkeys(void);
|
||||
|
|
Loading…
Reference in a new issue