Commit 5c51619e authored by Steven Fuller's avatar Steven Fuller

More cleanups

parent 38902ef0
......@@ -14,8 +14,6 @@ loaded into the data segment
#include "id_heads.h"
#define THREEBYTEGRSTARTS
/*
=============================================================================
......@@ -46,15 +44,15 @@ typedef struct
=============================================================================
*/
byte _seg *tinf;
byte *tinf;
int mapon;
unsigned _seg *mapsegs[MAPPLANES];
maptype _seg *mapheaderseg[NUMMAPS];
byte _seg *audiosegs[NUMSNDCHUNKS];
void _seg *grsegs[NUMCHUNKS];
unsigned *mapsegs[MAPPLANES];
maptype *mapheaderseg[NUMMAPS];
byte *audiosegs[NUMSNDCHUNKS];
void *grsegs[NUMCHUNKS];
byte far grneeded[NUMCHUNKS];
byte grneeded[NUMCHUNKS];
byte ca_levelbit,ca_levelnum;
int profilehandle,debughandle;
......@@ -90,8 +88,8 @@ char extension[5], // Need a string, not constant to change cache files
void CA_CannotOpen(char *string);
long _seg *grstarts; // array of offsets in egagraph, -1 for sparse
long _seg *audiostarts; // array of offsets in audio / audiot
long *grstarts; // array of offsets in vgagraph, -1 for sparse
long *audiostarts; // array of offsets in audio / audiot
huffnode grhuffman[255];
......@@ -105,15 +103,13 @@ long chunkcomplen, chunkexplen;
SDMode oldsoundmode;
void CAL_CarmackExpand (unsigned far *source, unsigned far *dest,
unsigned length);
#ifdef THREEBYTEGRSTARTS
#define FILEPOSSIZE 3
//#define GRFILEPOS(c) (*(long far *)(((byte far *)grstarts)+(c)*3)&0xffffff)
//#define GRFILEPOS(c) (*(long *)(((byte *)grstarts)+(c)*3)&0xffffff)
long GRFILEPOS(int c)
{
long value;
......@@ -121,7 +117,7 @@ long GRFILEPOS(int c)
offset = c*3;
value = *(long far *)(((byte far *)grstarts)+offset);
value = *(long *)(((byte *)grstarts)+offset);
value &= 0x00ffffffl;
......@@ -130,10 +126,6 @@ long GRFILEPOS(int c)
return value;
};
#else
#define FILEPOSSIZE 4
#define GRFILEPOS(c) (grstarts[c])
#endif
/*
=============================================================================
......@@ -143,29 +135,6 @@ long GRFILEPOS(int c)
=============================================================================
*/
/*
============================
=
= CA_OpenDebug / CA_CloseDebug
=
= Opens a binary file with the handle "debughandle"
=
============================
*/
void CA_OpenDebug (void)
{
unlink ("DEBUG.TXT");
debughandle = open("DEBUG.TXT", O_CREAT | O_WRONLY | O_TEXT);
}
void CA_CloseDebug (void)
{
close (debughandle);
}
/*
============================
=
......@@ -937,7 +906,7 @@ void CAL_SetupMapFile (void)
close(handle);
#else
tinf = (byte _seg *)FP_SEG(&maphead);
tinf = (byte *)FP_SEG(&maphead);
#endif
......@@ -965,7 +934,7 @@ void CAL_SetupMapFile (void)
//
for (i=0;i<NUMMAPS;i++)
{
pos = ((mapfiletype _seg *)tinf)->headeroffsets[i];
pos = ((mapfiletype *)tinf)->headeroffsets[i];
if (pos<0) // $FFFFFFFF start is a sparse map
continue;
......@@ -1247,7 +1216,7 @@ void CA_CacheGrChunk (int chunk)
{
long pos,compressed;
memptr bigbufferseg;
byte far *source;
byte *source;
int next;
grneeded[chunk] |= ca_levelbit; // make sure it doesn't get removed
......@@ -1402,7 +1371,7 @@ void CA_CacheMap (int mapnum)
MM_GetPtr (&buffer2seg,expanded);
CAL_CarmackExpand (source, (unsigned far *)buffer2seg,expanded);
CA_RLEWexpand (((unsigned far *)buffer2seg)+1,*dest,size,
((mapfiletype _seg *)tinf)->RLEWtag);
((mapfiletype *)tinf)->RLEWtag);
MM_FreePtr (&buffer2seg);
#else
......@@ -1410,7 +1379,7 @@ void CA_CacheMap (int mapnum)
// unRLEW, skipping expanded length
//
CA_RLEWexpand (source+1, *dest,size,
((mapfiletype _seg *)tinf)->RLEWtag);
((mapfiletype *)tinf)->RLEWtag);
#endif
if (compressed>BUFFERSIZE)
......@@ -1631,7 +1600,7 @@ void CA_CacheMarks (void)
&& bufferend>= endpos)
{
// data is allready in buffer
source = (byte _seg *)bufferseg+(pos-bufferstart);
source = (byte *)bufferseg+(pos-bufferstart);
}
else
{
......
......@@ -20,15 +20,15 @@ typedef struct
extern char audioname[13];
extern byte _seg *tinf;
extern byte *tinf;
extern int mapon;
extern unsigned _seg *mapsegs[MAPPLANES];
extern maptype _seg *mapheaderseg[NUMMAPS];
extern byte _seg *audiosegs[NUMSNDCHUNKS];
extern void _seg *grsegs[NUMCHUNKS];
extern unsigned *mapsegs[MAPPLANES];
extern maptype *mapheaderseg[NUMMAPS];
extern byte *audiosegs[NUMSNDCHUNKS];
extern void *grsegs[NUMCHUNKS];
extern byte far grneeded[NUMCHUNKS];
extern byte grneeded[NUMCHUNKS];
extern byte ca_levelbit,ca_levelnum;
extern char *titleptr[8];
......@@ -44,31 +44,16 @@ extern char extension[5],
aheadname[10],
afilename[10];
extern long _seg *grstarts; // array of offsets in egagraph, -1 for sparse
extern long _seg *audiostarts; // array of offsets in audio / audiot
//
// hooks for custom cache dialogs
//
extern void (*drawcachebox) (char *title, unsigned numcache);
extern void (*updatecachebox) (void);
extern void (*finishcachebox) (void);
extern long *grstarts; // array of offsets in egagraph, -1 for sparse
extern long *audiostarts; // array of offsets in audio / audiot
//===========================================================================
// just for the score box reshifting
void CAL_ShiftSprite (unsigned segment,unsigned source,unsigned dest,
unsigned width, unsigned height, unsigned pixshift);
//===========================================================================
void CA_OpenDebug (void);
void CA_CloseDebug (void);
boolean CA_FarRead (int handle, byte far *dest, long length);
boolean CA_FarWrite (int handle, byte far *source, long length);
boolean CA_FarRead (int handle, byte *dest, long length);
boolean CA_FarWrite (int handle, byte *source, long length);
boolean CA_ReadFile (char *filename, memptr *ptr);
boolean CA_LoadFile (char *filename, memptr *ptr);
boolean CA_WriteFile (char *filename, void far *ptr, long length);
boolean CA_WriteFile (char *filename, void *ptr, long length);
long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,
unsigned rlewtag);
......
......@@ -8,10 +8,6 @@
#ifndef __ID_IN__
#define __ID_IN__
#ifdef __DEBUG__
#define __DEBUG_InputMgr__
#endif
#define MaxPlayers 4
#define MaxKbds 2
#define MaxJoys 2
......@@ -164,12 +160,12 @@ extern JoystickDef JoyDefs[];
extern ControlType Controls[MaxPlayers];
extern Demo DemoMode;
extern byte _seg *DemoBuffer;
extern byte *DemoBuffer;
extern word DemoOffset,DemoSize;
// Function prototypes
#define IN_KeyDown(code) (Keyboard[(code)])
#define IN_ClearKey(code) {Keyboard[code] = false;\
#define IN_ClearKey(code) {Keyboard[code] = false; \
if (code == LastScan) LastScan = sc_None;}
// DEBUG - put names in prototypes
......
// ID_MM.H
#ifndef __ID_CA__
#define __ID_CA__
#define SAVENEARHEAP 0x400 // space to leave in data segment
#define SAVEFARHEAP 0 // space to leave in far heap
......@@ -55,7 +50,7 @@
//==========================================================================
typedef void _seg * memptr;
typedef void * memptr;
typedef struct
{
......@@ -93,4 +88,3 @@ void MM_BombOnError (boolean bomb);
void MML_UseSpace (unsigned segstart, unsigned seglength);
#endif
\ No newline at end of file
......@@ -57,7 +57,7 @@ extern word XMSPagesAvail,EMSPagesAvail;
extern word ChunksInFile,
PMSpriteStart,PMSoundStart;
extern PageListStruct far *PMPages;
extern PageListStruct *PMPages;
#define PM_GetSoundPage(v) PM_GetPage(PMSoundStart + (v))
#define PM_GetSpritePage(v) PM_GetPage(PMSpriteStart + (v))
......
......@@ -10,10 +10,6 @@
void alOut(byte n,byte b);
#ifdef __DEBUG__
#define __DEBUG_SoundMgr__
#endif
#define TickBase 70 // 70Hz per tick - used as a base for timer 0
typedef enum {
......@@ -170,12 +166,12 @@ typedef struct
typedef struct
{
/* This part needs to be set up by the user */
word mood,far *moods[sqMaxMoods];
word mood, *moods[sqMaxMoods];
/* The rest is set up by the code */
Instrument inst;
boolean percussive;
word far *seq;
word *seq;
longword nextevent;
} ActiveTrack;
......@@ -210,7 +206,7 @@ extern void SD_SetPosition(int leftvol,int rightvol),
SD_StopSound(void),
SD_WaitSoundDone(void),
SD_StartMusic(MusicGroup far *music),
SD_StartMusic(MusicGroup *music),
SD_MusicOn(void),
SD_MusicOff(void),
SD_FadeOutMusic(void),
......
......@@ -8,10 +8,6 @@
#ifndef __ID_US__
#define __ID_US__
#ifdef __DEBUG__
#define __DEBUG_UserMgr__
#endif
//#define HELPTEXTLINKED
#define MaxX 320
......@@ -73,8 +69,8 @@ extern boolean Button0,Button1,
CursorBad;
extern int CursorX,CursorY;
extern void (*USL_MeasureString)(char far *,word *,word *),
(*USL_DrawString)(char far *);
extern void (*USL_MeasureString)(char *,word *,word *),
(*USL_DrawString)(char *);
extern boolean (*USL_SaveGame)(int),(*USL_LoadGame)(int);
extern void (*USL_ResetGame)(void);
......@@ -98,12 +94,12 @@ extern void US_Startup(void),
US_SaveWindow(WindowRec *win),
US_RestoreWindow(WindowRec *win),
US_ClearWindow(void),
US_SetPrintRoutines(void (*measure)(char far *,word *,word *),
void (*print)(char far *)),
US_PrintCentered(char far *s),
US_CPrint(char far *s),
US_CPrintLine(char far *s),
US_Print(char far *s),
US_SetPrintRoutines(void (*measure)(char *,word *,word *),
void (*print)(char *)),
US_PrintCentered(char *s),
US_CPrint(char *s),
US_CPrintLine(char *s),
US_Print(char *s),
US_PrintUnsigned(longword n),
US_PrintSigned(long n),
US_StartCursor(void),
......@@ -116,6 +112,6 @@ extern boolean US_UpdateCursor(void),
extern int US_CheckParm(char *parm,char **strings),
US_RndT(void);
void USL_PrintInCenter(char far *s,Rect r);
void USL_PrintInCenter(char *s,Rect r);
char *USL_GiveSaveName(word game);
#endif
......@@ -19,7 +19,6 @@ unsigned linewidth;
unsigned ylookup[MAXSCANLINES];
boolean screenfaded;
unsigned bordercolor;
boolean fastpalette; // if true, use outsb to set
......
// ID_VL.H
//===========================================================================
#ifndef __ID_VL_H__
#define __ID_VL_H__
#define SC_INDEX 0x3C4
#define SC_RESET 0
......@@ -70,7 +68,6 @@
#define SCREENWIDTH 80 // default screen width in bytes
#define MAXSCANLINES 200 // size of ylookup table
#define CHARWIDTH 2
#define TILEWIDTH 4
//===========================================================================
......@@ -84,7 +81,6 @@ extern unsigned linewidth;
extern unsigned ylookup[MAXSCANLINES];
extern boolean screenfaded;
extern unsigned bordercolor;
//===========================================================================
......@@ -127,10 +123,10 @@ void VL_SetScreen (int crtc, int pelpan);
void VL_FillPalette (int red, int green, int blue);
void VL_SetColor (int color, int red, int green, int blue);
void VL_GetColor (int color, int *red, int *green, int *blue);
void VL_SetPalette (byte far *palette);
void VL_GetPalette (byte far *palette);
void VL_SetPalette (byte *palette);
void VL_GetPalette (byte *palette);
void VL_FadeOut (int start, int end, int red, int green, int blue, int steps);
void VL_FadeIn (int start, int end, byte far *palette, int steps);
void VL_FadeIn (int start, int end, byte *palette, int steps);
void VL_ColorBorder (int color);
void VL_Plot (int x, int y, int color);
......@@ -138,14 +134,17 @@ void VL_Hlin (unsigned x, unsigned y, unsigned width, unsigned color);
void VL_Vlin (int x, int y, int height, int color);
void VL_Bar (int x, int y, int width, int height, int color);
void VL_MungePic (byte far *source, unsigned width, unsigned height);
void VL_DrawPicBare (int x, int y, byte far *pic, int width, int height);
void VL_MemToLatch (byte far *source, int width, int height, unsigned dest);
void VL_MungePic (byte *source, unsigned width, unsigned height);
void VL_DrawPicBare (int x, int y, byte *pic, int width, int height);
void VL_MemToLatch (byte *source, int width, int height, unsigned dest);
void VL_ScreenToScreen (unsigned source, unsigned dest,int width, int height);
void VL_MemToScreen (byte far *source, int width, int height, int x, int y);
void VL_MemToScreen (byte *source, int width, int height, int x, int y);
void VL_DrawPropString (char *str, unsigned tile8ptr, int printx, int printy);
void VL_SizePropString (char *str, int *width, int *height, char far *font);
void VL_SizePropString (char *str, int *width, int *height, char *font);
void VL_TestPaletteSet (void);
#elif
#error "fix me: TODO"
#endif
; WOLFHACK.ASM
.386C
IDEAL
MODEL MEDIUM,C
;============================================================================
DATASEG
EXTRN mr_rowofs:WORD
EXTRN mr_count:WORD
EXTRN mr_xstep:WORD
EXTRN mr_ystep:WORD
EXTRN mr_xfrac:WORD
EXTRN mr_yfrac:WORD
EXTRN mr_dest:WORD
FARDATA
planepics db 8192 dup(?) ; // 4k of ceiling, 4k of floor
PUBLIC planepics
;============================================================================
CODESEG
;============================
;
; MapRow
;
;
;============================
PROC MapRow
PUBLIC MapRow
push esi
push edi
push ebp
push ds
mov bp,[mr_rowofs]
mov cx,[mr_count]
mov dx,[mr_ystep]
shl edx,16
mov dx,[mr_xstep]
mov si,[mr_yfrac]
shl esi,16
mov si,[mr_xfrac]
mov di,[mr_dest]
mov ax,SEG planepics
mov ds,ax
mov ax,0a000h
mov es,ax
mov ax,1111111111110b
; eax color lookup
; ebx scratch offset and pixel values
; ecx loop counter
; edx packed x / y step values
; esi packed x / y fractional values
; edi write pointer
; ebp toprow to bottomrow delta
; es: screenseg
; ds: pictures
; mov al,[esi]
; mov al,[eax]
; mov [edi],al
; mov ax,[_variable+ebx+2]
pixelloop:
shld ebx,esi,22 ; shift y units in
shld ebx,esi,7 ; shift x units in and one extra bit
and bx,63*65*2 ; mask off extra top bits and 0 low bit
add esi,edx ; position += step
mov al,[bx]
mov al,[eax]
mov [es:di],al ; write ceiling pixel
mov al,[bx+1]
mov al,[eax]
mov [es:di+bp],al ; write floor pixel
inc di
loop pixelloop
pop ds
pop ebp
pop edi
pop esi
retf
ENDP
END
......@@ -22,14 +22,8 @@
=============================================================================
*/
#define COLORBORDER(color) asm{mov dx,STATUS_REGISTER_1;in al,dx;\
mov dx,ATR_INDEX;mov al,ATR_OVERSCAN;out dx,al;mov al,color;out dx,al;\
mov al,32;out dx,al};
#define MAPSPOT(x,y,plane) (*(mapsegs[plane]+farmapylookup[y]+x))
#define SIGN(x) ((x)>0?1:-1)
#define ABS(x) ((int)(x)>0?(x):-(x))
#define LABS(x) ((long)(x)>0?(x):-(x))
......@@ -66,20 +60,10 @@
#define EXTRAPOINTS 40000
#define PLAYERSPEED 3000
#define RUNSPEED 6000
#define SCREENSEG 0xa000
#define SCREENBWIDE 80
#define HEIGHTRATIO 0.50 // also defined in id_mm.c
#define BORDERCOLOR 3
#define FLASHCOLOR 5
#define FLASHTICS 4
#define PLAYERSIZE MINDIST // player radius
#define MINACTORDIST 0x10000l // minimum dist from player center
// to any actor center
......@@ -87,21 +71,12 @@
#define GLOBAL1 (1l<<16)
#define TILEGLOBAL GLOBAL1
#define PIXGLOBAL (GLOBAL1/64)
#define TILESHIFT 16l
#define UNSIGNEDSHIFT 8
#define ANGLES 360 // must be divisable by 4
#define ANGLEQUAD (ANGLES/4)
#define FINEANGLES 3600
#define ANG90 (FINEANGLES/4)
#define ANG180 (ANG90*2)
#define ANG270 (ANG90*3)
#define ANG360 (ANG90*4)
#define VANG90 (ANGLES/4)
#define VANG180 (VANG90*2)
#define VANG270 (VANG90*3)
#define VANG360 (VANG90*4)
#define MINDIST (0x5800l)
......@@ -111,11 +86,6 @@
#define MAXVIEWWIDTH 320
#define MAPSIZE 64 // maps are 64*64 max
#define NORTH 0
#define EAST 1
#define SOUTH 2
#define WEST 3
#define STATUSLINES 40
......@@ -125,12 +95,8 @@
#define PAGE3START (SCREENSIZE*2u)
#define FREESTART (SCREENSIZE*3u)
#define PIXRADIUS 512
#define STARTAMMO 8
// object flag values
#define FL_SHOOTABLE 1
......@@ -142,7 +108,6 @@
#define FL_AMBUSH 64
#define FL_NONMARK 128
//
// sprite constants
//
......@@ -590,13 +555,13 @@ typedef enum {
} enemy_t;
typedef struct statestruct
typedef struct statestruct
{
boolean rotate;
int shapenum; // a shapenum of -1 means get from ob->temp1
int shapenum; /* a shapenum of -1 means get from ob->temp1 */
int tictime;
void (*think) (),(*action) ();
struct statestruct *next;
struct statestruct *next;
} statetype;
......@@ -615,7 +580,6 @@ typedef struct statstruct
byte itemnumber;
} statobj_t;
//---------------------
//
// door actor structure
......@@ -631,7 +595,6 @@ typedef struct doorstruct
int ticcount;
} doorobj_t;
//--------------------
//
// thinking actor structure
......@@ -747,15 +710,11 @@ typedef enum {
=============================================================================
*/
extern boolean MS_CheckParm (char far *string);
extern boolean MS_CheckParm (char *string);
extern char str[80],str2[20];
extern int tedlevelnum;
extern boolean tedlevel;
extern boolean nospr;
extern boolean IsA386;
extern byte far *scalermemory;
extern fixed focallength;
extern unsigned viewangles;
......@@ -772,21 +731,19 @@ extern int mouseadjustment;
//
// math tables
//
extern int pixelangle[MAXVIEWWIDTH];
extern long far finetangent[FINEANGLES/4];
extern fixed far sintable[],far *costable;
extern int pixelangle[MAXVIEWWIDTH];
extern long finetangent[FINEANGLES/4];
extern fixed sintable[], *costable;
//
// derived constants
//
extern fixed scale,maxslope;
extern fixed scale, maxslope;
extern long heightnumerator;
extern int minheightdiv;
extern char configname[13];
void HelpScreens (void);
void OrderingInfo (void);
void CalcProjection (long focal);
......@@ -833,8 +790,6 @@ void DrawAllPlayBorder (void);
void DrawHighScores(void);
void DrawAllPlayBorderSides (void);
// JAB
#define PlaySoundLocTile(s,tx,ty) PlaySoundLocGlobal(s,(((long)(tx) << TILESHIFT) + (1L << (TILESHIFT - 1))),(((long)ty << TILESHIFT) + (1L << (TILESHIFT - 1))))
#define PlaySoundLocActor(s,ob) PlaySoundLocGlobal(s,(ob)->x,(ob)->y)
void PlaySoundLocGlobal(word s,fixed gx,fixed gy);
......@@ -896,7 +851,7 @@ extern int controlx,controly; // range from -100 to 100
extern boolean buttonstate[NUMBUTTONS];
extern boolean demorecord,demoplayback;
extern char far *demoptr, far *lastdemoptr;
extern char *demoptr, *lastdemoptr;
extern memptr demobuffer;
......@@ -967,8 +922,8 @@ extern fixed mindist;
// math tables
//
extern int pixelangle[MAXVIEWWIDTH];
extern long far finetangent[FINEANGLES/4];
extern fixed far sintable[],far *costable;
extern long finetangent[FINEANGLES/4];
extern fixed sintable[], *costable;
//
// derived constants
......@@ -1064,7 +1019,7 @@ typedef struct
} t_compshape;
extern t_compscale _seg *scaledirectory[MAXSCALEHEIGHT+1];
extern t_compscale *scaledirectory[MAXSCALEHEIGHT+1];
extern long fullscalefarcall[MAXSCALEHEIGHT+1];
extern byte bitmasks1[8][8];
......@@ -1134,7 +1089,7 @@ extern int doornum;
extern unsigned doorposition[MAXDOORS],pwallstate;
extern byte far areaconnect[NUMAREAS][NUMAREAS];
extern byte areaconnect[NUMAREAS][NUMAREAS];
extern boolean areabyplayer[NUMAREAS];
......
// WL_GAME.C
#include "WL_DEF.H"
#pragma hdrstop
#ifdef MYPROFILE
#include <TIME.H>
#endif
/* wl_game.c */
#include "wl_def.h"
/*
=============================================================================
......@@ -163,8 +157,6 @@ SetSoundLoc(fixed gx,fixed gy)
= values are then passed to the Sound Manager so that they'll be used for
= the next sound played (if possible).
=
= JAB
=
==========================
*/
void PlaySoundLocGlobal(word s,fixed gx,fixed gy)
......@@ -187,11 +179,6 @@ void UpdateSoundLoc(void)
}
}
/*
** JAB End
*/
/*
==========================
=
......@@ -238,7 +225,7 @@ void ScanInfoPlane (void)
case 20:
case 21:
case 22:
SpawnPlayer(x,y,NORTH+tile-19);
SpawnPlayer(x, y, tile-19);
break;
case 23:
......@@ -1240,9 +1227,6 @@ void GameLoop (void)
int i,xl,yl,xh,yh;
char num[20];
boolean died;
#ifdef MYPROFILE
clock_t start,end;
#endif
restartgame:
ClearMemory ();
......@@ -1368,12 +1352,10 @@ startplayloop:
CheckHighScore (gamestate.score,gamestate.mapon+1);
#pragma warn -sus
#ifndef JAPAN
_fstrcpy(MainMenu[viewscores].string,STR_VS);
strcpy(MainMenu[viewscores].string,STR_VS);
#endif
MainMenu[viewscores].routine = CP_ViewScores;
#pragma warn +sus
return;
}
......
......@@ -39,8 +39,6 @@
char str[80],str2[20];
int tedlevelnum;
boolean tedlevel;
boolean nospr;
boolean IsA386;
int dirangle[9] = {0,ANGLES/8,2*ANGLES/8,3*ANGLES/8,4*ANGLES/8,
5*ANGLES/8,6*ANGLES/8,7*ANGLES/8,ANGLES};
......
......@@ -104,7 +104,7 @@ typedef struct {
int allowed[4];
} CustomCtrls;
extern CP_itemtype far MainMenu[],far NewEMenu[];
extern CP_itemtype MainMenu[], NewEMenu[];
extern CP_iteminfo MainItems;
//
......@@ -113,9 +113,9 @@ extern CP_iteminfo MainItems;
void SetupControlPanel(void);
void CleanupControlPanel(void);
void DrawMenu(CP_iteminfo *item_i,CP_itemtype far *items);
void DrawMenu(CP_iteminfo *item_i,CP_itemtype *items);
int HandleMenu(CP_iteminfo *item_i,
CP_itemtype far *items,
CP_itemtype *items,
void (*routine)(int w));
void ClearMScreen(void);
void DrawWindow(int x,int y,int w,int h,int wcolor);
......@@ -126,17 +126,17 @@ void TicDelay(int count);
void CacheLump(int lumpstart,int lumpend);
void UnCacheLump(int lumpstart,int lumpend);
void StartCPMusic(int song);
int Confirm(char far *string);
void Message(char far *string);
int Confirm(char *string);
void Message(char *string);
void CheckPause(void);
void ShootSnd(void);
void CheckSecretMissions(void);
void BossKey(void);
void DrawGun(CP_iteminfo *item_i,CP_itemtype far *items,int x,int *y,int which,int basey,void (*routine)(int w));
void DrawGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int *y,int which,int basey,void (*routine)(int w));
void DrawHalfStep(int x,int y);
void EraseGun(CP_iteminfo *item_i,CP_itemtype far *items,int x,int y,int which);
void SetTextColor(CP_itemtype far *items,int hlight);
void EraseGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int y,int which);
void SetTextColor(CP_itemtype *items,int hlight);
void DrawMenuGun(CP_iteminfo *iteminfo);
void DrawStripes(int y);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment