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

More cleanups

parent 38902ef0
...@@ -14,8 +14,6 @@ loaded into the data segment ...@@ -14,8 +14,6 @@ loaded into the data segment
#include "id_heads.h" #include "id_heads.h"
#define THREEBYTEGRSTARTS
/* /*
============================================================================= =============================================================================
...@@ -46,15 +44,15 @@ typedef struct ...@@ -46,15 +44,15 @@ typedef struct
============================================================================= =============================================================================
*/ */
byte _seg *tinf; byte *tinf;
int mapon; int mapon;
unsigned _seg *mapsegs[MAPPLANES]; unsigned *mapsegs[MAPPLANES];
maptype _seg *mapheaderseg[NUMMAPS]; maptype *mapheaderseg[NUMMAPS];
byte _seg *audiosegs[NUMSNDCHUNKS]; byte *audiosegs[NUMSNDCHUNKS];
void _seg *grsegs[NUMCHUNKS]; void *grsegs[NUMCHUNKS];
byte far grneeded[NUMCHUNKS]; byte grneeded[NUMCHUNKS];
byte ca_levelbit,ca_levelnum; byte ca_levelbit,ca_levelnum;
int profilehandle,debughandle; int profilehandle,debughandle;
...@@ -90,8 +88,8 @@ char extension[5], // Need a string, not constant to change cache files ...@@ -90,8 +88,8 @@ char extension[5], // Need a string, not constant to change cache files
void CA_CannotOpen(char *string); void CA_CannotOpen(char *string);
long _seg *grstarts; // array of offsets in egagraph, -1 for sparse long *grstarts; // array of offsets in vgagraph, -1 for sparse
long _seg *audiostarts; // array of offsets in audio / audiot long *audiostarts; // array of offsets in audio / audiot
huffnode grhuffman[255]; huffnode grhuffman[255];
...@@ -105,15 +103,13 @@ long chunkcomplen, chunkexplen; ...@@ -105,15 +103,13 @@ long chunkcomplen, chunkexplen;
SDMode oldsoundmode; SDMode oldsoundmode;
void CAL_CarmackExpand (unsigned far *source, unsigned far *dest, void CAL_CarmackExpand (unsigned far *source, unsigned far *dest,
unsigned length); unsigned length);
#ifdef THREEBYTEGRSTARTS
#define FILEPOSSIZE 3 #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 GRFILEPOS(int c)
{ {
long value; long value;
...@@ -121,7 +117,7 @@ long GRFILEPOS(int c) ...@@ -121,7 +117,7 @@ long GRFILEPOS(int c)
offset = c*3; offset = c*3;
value = *(long far *)(((byte far *)grstarts)+offset); value = *(long *)(((byte *)grstarts)+offset);
value &= 0x00ffffffl; value &= 0x00ffffffl;
...@@ -130,10 +126,6 @@ long GRFILEPOS(int c) ...@@ -130,10 +126,6 @@ long GRFILEPOS(int c)
return value; return value;
}; };
#else
#define FILEPOSSIZE 4
#define GRFILEPOS(c) (grstarts[c])
#endif
/* /*
============================================================================= =============================================================================
...@@ -143,29 +135,6 @@ long GRFILEPOS(int c) ...@@ -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) ...@@ -937,7 +906,7 @@ void CAL_SetupMapFile (void)
close(handle); close(handle);
#else #else
tinf = (byte _seg *)FP_SEG(&maphead); tinf = (byte *)FP_SEG(&maphead);
#endif #endif
...@@ -965,7 +934,7 @@ void CAL_SetupMapFile (void) ...@@ -965,7 +934,7 @@ void CAL_SetupMapFile (void)
// //
for (i=0;i<NUMMAPS;i++) 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 if (pos<0) // $FFFFFFFF start is a sparse map
continue; continue;
...@@ -1247,7 +1216,7 @@ void CA_CacheGrChunk (int chunk) ...@@ -1247,7 +1216,7 @@ void CA_CacheGrChunk (int chunk)
{ {
long pos,compressed; long pos,compressed;
memptr bigbufferseg; memptr bigbufferseg;
byte far *source; byte *source;
int next; int next;
grneeded[chunk] |= ca_levelbit; // make sure it doesn't get removed grneeded[chunk] |= ca_levelbit; // make sure it doesn't get removed
...@@ -1402,7 +1371,7 @@ void CA_CacheMap (int mapnum) ...@@ -1402,7 +1371,7 @@ void CA_CacheMap (int mapnum)
MM_GetPtr (&buffer2seg,expanded); MM_GetPtr (&buffer2seg,expanded);
CAL_CarmackExpand (source, (unsigned far *)buffer2seg,expanded); CAL_CarmackExpand (source, (unsigned far *)buffer2seg,expanded);
CA_RLEWexpand (((unsigned far *)buffer2seg)+1,*dest,size, CA_RLEWexpand (((unsigned far *)buffer2seg)+1,*dest,size,
((mapfiletype _seg *)tinf)->RLEWtag); ((mapfiletype *)tinf)->RLEWtag);
MM_FreePtr (&buffer2seg); MM_FreePtr (&buffer2seg);
#else #else
...@@ -1410,7 +1379,7 @@ void CA_CacheMap (int mapnum) ...@@ -1410,7 +1379,7 @@ void CA_CacheMap (int mapnum)
// unRLEW, skipping expanded length // unRLEW, skipping expanded length
// //
CA_RLEWexpand (source+1, *dest,size, CA_RLEWexpand (source+1, *dest,size,
((mapfiletype _seg *)tinf)->RLEWtag); ((mapfiletype *)tinf)->RLEWtag);
#endif #endif
if (compressed>BUFFERSIZE) if (compressed>BUFFERSIZE)
...@@ -1631,7 +1600,7 @@ void CA_CacheMarks (void) ...@@ -1631,7 +1600,7 @@ void CA_CacheMarks (void)
&& bufferend>= endpos) && bufferend>= endpos)
{ {
// data is allready in buffer // data is allready in buffer
source = (byte _seg *)bufferseg+(pos-bufferstart); source = (byte *)bufferseg+(pos-bufferstart);
} }
else else
{ {
......
...@@ -20,15 +20,15 @@ typedef struct ...@@ -20,15 +20,15 @@ typedef struct
extern char audioname[13]; extern char audioname[13];
extern byte _seg *tinf; extern byte *tinf;
extern int mapon; extern int mapon;
extern unsigned _seg *mapsegs[MAPPLANES]; extern unsigned *mapsegs[MAPPLANES];
extern maptype _seg *mapheaderseg[NUMMAPS]; extern maptype *mapheaderseg[NUMMAPS];
extern byte _seg *audiosegs[NUMSNDCHUNKS]; extern byte *audiosegs[NUMSNDCHUNKS];
extern void _seg *grsegs[NUMCHUNKS]; extern void *grsegs[NUMCHUNKS];
extern byte far grneeded[NUMCHUNKS]; extern byte grneeded[NUMCHUNKS];
extern byte ca_levelbit,ca_levelnum; extern byte ca_levelbit,ca_levelnum;
extern char *titleptr[8]; extern char *titleptr[8];
...@@ -44,31 +44,16 @@ extern char extension[5], ...@@ -44,31 +44,16 @@ extern char extension[5],
aheadname[10], aheadname[10],
afilename[10]; afilename[10];
extern long _seg *grstarts; // array of offsets in egagraph, -1 for sparse extern long *grstarts; // array of offsets in egagraph, -1 for sparse
extern long _seg *audiostarts; // array of offsets in audio / audiot extern long *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);
//=========================================================================== //===========================================================================
// just for the score box reshifting boolean CA_FarRead (int handle, byte *dest, long length);
boolean CA_FarWrite (int handle, byte *source, long length);
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_ReadFile (char *filename, memptr *ptr); boolean CA_ReadFile (char *filename, memptr *ptr);
boolean CA_LoadFile (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, long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,
unsigned rlewtag); unsigned rlewtag);
......
...@@ -8,10 +8,6 @@ ...@@ -8,10 +8,6 @@
#ifndef __ID_IN__ #ifndef __ID_IN__
#define __ID_IN__ #define __ID_IN__
#ifdef __DEBUG__
#define __DEBUG_InputMgr__
#endif
#define MaxPlayers 4 #define MaxPlayers 4
#define MaxKbds 2 #define MaxKbds 2
#define MaxJoys 2 #define MaxJoys 2
...@@ -164,12 +160,12 @@ extern JoystickDef JoyDefs[]; ...@@ -164,12 +160,12 @@ extern JoystickDef JoyDefs[];
extern ControlType Controls[MaxPlayers]; extern ControlType Controls[MaxPlayers];
extern Demo DemoMode; extern Demo DemoMode;
extern byte _seg *DemoBuffer; extern byte *DemoBuffer;
extern word DemoOffset,DemoSize; extern word DemoOffset,DemoSize;
// Function prototypes // Function prototypes
#define IN_KeyDown(code) (Keyboard[(code)]) #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;} if (code == LastScan) LastScan = sc_None;}
// DEBUG - put names in prototypes // DEBUG - put names in prototypes
......
// ID_MM.H
#ifndef __ID_CA__
#define __ID_CA__
#define SAVENEARHEAP 0x400 // space to leave in data segment #define SAVENEARHEAP 0x400 // space to leave in data segment
#define SAVEFARHEAP 0 // space to leave in far heap #define SAVEFARHEAP 0 // space to leave in far heap
...@@ -55,7 +50,7 @@ ...@@ -55,7 +50,7 @@
//========================================================================== //==========================================================================
typedef void _seg * memptr; typedef void * memptr;
typedef struct typedef struct
{ {
...@@ -93,4 +88,3 @@ void MM_BombOnError (boolean bomb); ...@@ -93,4 +88,3 @@ void MM_BombOnError (boolean bomb);
void MML_UseSpace (unsigned segstart, unsigned seglength); void MML_UseSpace (unsigned segstart, unsigned seglength);
#endif
\ No newline at end of file
...@@ -57,7 +57,7 @@ extern word XMSPagesAvail,EMSPagesAvail; ...@@ -57,7 +57,7 @@ extern word XMSPagesAvail,EMSPagesAvail;
extern word ChunksInFile, extern word ChunksInFile,
PMSpriteStart,PMSoundStart; PMSpriteStart,PMSoundStart;
extern PageListStruct far *PMPages; extern PageListStruct *PMPages;
#define PM_GetSoundPage(v) PM_GetPage(PMSoundStart + (v)) #define PM_GetSoundPage(v) PM_GetPage(PMSoundStart + (v))
#define PM_GetSpritePage(v) PM_GetPage(PMSpriteStart + (v)) #define PM_GetSpritePage(v) PM_GetPage(PMSpriteStart + (v))
......
...@@ -10,10 +10,6 @@ ...@@ -10,10 +10,6 @@
void alOut(byte n,byte b); 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 #define TickBase 70 // 70Hz per tick - used as a base for timer 0
typedef enum { typedef enum {
...@@ -170,12 +166,12 @@ typedef struct ...@@ -170,12 +166,12 @@ typedef struct
typedef struct typedef struct
{ {
/* This part needs to be set up by the user */ /* 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 */ /* The rest is set up by the code */
Instrument inst; Instrument inst;
boolean percussive; boolean percussive;
word far *seq; word *seq;
longword nextevent; longword nextevent;
} ActiveTrack; } ActiveTrack;
...@@ -210,7 +206,7 @@ extern void SD_SetPosition(int leftvol,int rightvol), ...@@ -210,7 +206,7 @@ extern void SD_SetPosition(int leftvol,int rightvol),
SD_StopSound(void), SD_StopSound(void),
SD_WaitSoundDone(void), SD_WaitSoundDone(void),
SD_StartMusic(MusicGroup far *music), SD_StartMusic(MusicGroup *music),
SD_MusicOn(void), SD_MusicOn(void),
SD_MusicOff(void), SD_MusicOff(void),
SD_FadeOutMusic(void), SD_FadeOutMusic(void),
......
...@@ -8,10 +8,6 @@ ...@@ -8,10 +8,6 @@
#ifndef __ID_US__ #ifndef __ID_US__
#define __ID_US__ #define __ID_US__
#ifdef __DEBUG__
#define __DEBUG_UserMgr__
#endif
//#define HELPTEXTLINKED //#define HELPTEXTLINKED
#define MaxX 320 #define MaxX 320
...@@ -73,8 +69,8 @@ extern boolean Button0,Button1, ...@@ -73,8 +69,8 @@ extern boolean Button0,Button1,
CursorBad; CursorBad;
extern int CursorX,CursorY; extern int CursorX,CursorY;
extern void (*USL_MeasureString)(char far *,word *,word *), extern void (*USL_MeasureString)(char *,word *,word *),
(*USL_DrawString)(char far *); (*USL_DrawString)(char *);
extern boolean (*USL_SaveGame)(int),(*USL_LoadGame)(int); extern boolean (*USL_SaveGame)(int),(*USL_LoadGame)(int);
extern void (*USL_ResetGame)(void); extern void (*USL_ResetGame)(void);
...@@ -98,12 +94,12 @@ extern void US_Startup(void), ...@@ -98,12 +94,12 @@ extern void US_Startup(void),
US_SaveWindow(WindowRec *win), US_SaveWindow(WindowRec *win),
US_RestoreWindow(WindowRec *win), US_RestoreWindow(WindowRec *win),
US_ClearWindow(void), US_ClearWindow(void),
US_SetPrintRoutines(void (*measure)(char far *,word *,word *), US_SetPrintRoutines(void (*measure)(char *,word *,word *),
void (*print)(char far *)), void (*print)(char *)),
US_PrintCentered(char far *s), US_PrintCentered(char *s),
US_CPrint(char far *s), US_CPrint(char *s),
US_CPrintLine(char far *s), US_CPrintLine(char *s),
US_Print(char far *s), US_Print(char *s),
US_PrintUnsigned(longword n), US_PrintUnsigned(longword n),
US_PrintSigned(long n), US_PrintSigned(long n),
US_StartCursor(void), US_StartCursor(void),
...@@ -116,6 +112,6 @@ extern boolean US_UpdateCursor(void), ...@@ -116,6 +112,6 @@ extern boolean US_UpdateCursor(void),
extern int US_CheckParm(char *parm,char **strings), extern int US_CheckParm(char *parm,char **strings),
US_RndT(void); US_RndT(void);
void USL_PrintInCenter(char far *s,Rect r); void USL_PrintInCenter(char *s,Rect r);
char *USL_GiveSaveName(word game); char *USL_GiveSaveName(word game);
#endif #endif
...@@ -19,7 +19,6 @@ unsigned linewidth; ...@@ -19,7 +19,6 @@ unsigned linewidth;
unsigned ylookup[MAXSCANLINES]; unsigned ylookup[MAXSCANLINES];
boolean screenfaded; boolean screenfaded;
unsigned bordercolor;
boolean fastpalette; // if true, use outsb to set 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_INDEX 0x3C4
#define SC_RESET 0 #define SC_RESET 0
...@@ -70,7 +68,6 @@ ...@@ -70,7 +68,6 @@
#define SCREENWIDTH 80 // default screen width in bytes #define SCREENWIDTH 80 // default screen width in bytes
#define MAXSCANLINES 200 // size of ylookup table #define MAXSCANLINES 200 // size of ylookup table
#define CHARWIDTH 2
#define TILEWIDTH 4 #define TILEWIDTH 4
//=========================================================================== //===========================================================================
...@@ -84,7 +81,6 @@ extern unsigned linewidth; ...@@ -84,7 +81,6 @@ extern unsigned linewidth;
extern unsigned ylookup[MAXSCANLINES]; extern unsigned ylookup[MAXSCANLINES];
extern boolean screenfaded; extern boolean screenfaded;
extern unsigned bordercolor;
//=========================================================================== //===========================================================================
...@@ -127,10 +123,10 @@ void VL_SetScreen (int crtc, int pelpan); ...@@ -127,10 +123,10 @@ void VL_SetScreen (int crtc, int pelpan);
void VL_FillPalette (int red, int green, int blue); void VL_FillPalette (int red, int green, int blue);
void VL_SetColor (int color, 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_GetColor (int color, int *red, int *green, int *blue);
void VL_SetPalette (byte far *palette); void VL_SetPalette (byte *palette);
void VL_GetPalette (byte far *palette); void VL_GetPalette (byte *palette);
void VL_FadeOut (int start, int end, int red, int green, int blue, int steps); 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_ColorBorder (int color);
void VL_Plot (int x, int y, 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); ...@@ -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_Vlin (int x, int y, int height, int color);
void VL_Bar (int x, int y, int width, 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_MungePic (byte *source, unsigned width, unsigned height);
void VL_DrawPicBare (int x, int y, byte far *pic, int width, int height); void VL_DrawPicBare (int x, int y, byte *pic, int width, int height);
void VL_MemToLatch (byte far *source, int width, int height, unsigned dest); void VL_MemToLatch (byte *source, int width, int height, unsigned dest);
void VL_ScreenToScreen (unsigned source, unsigned dest,int width, int height); 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_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); 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 @@ ...@@ -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 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 ABS(x) ((int)(x)>0?(x):-(x))
#define LABS(x) ((long)(x)>0?(x):-(x)) #define LABS(x) ((long)(x)>0?(x):-(x))
...@@ -66,20 +60,10 @@ ...@@ -66,20 +60,10 @@
#define EXTRAPOINTS 40000 #define EXTRAPOINTS 40000
#define PLAYERSPEED 3000
#define RUNSPEED 6000 #define RUNSPEED 6000
#define SCREENSEG 0xa000
#define SCREENBWIDE 80 #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 PLAYERSIZE MINDIST // player radius
#define MINACTORDIST 0x10000l // minimum dist from player center #define MINACTORDIST 0x10000l // minimum dist from player center
// to any actor center // to any actor center
...@@ -87,21 +71,12 @@ ...@@ -87,21 +71,12 @@
#define GLOBAL1 (1l<<16) #define GLOBAL1 (1l<<16)
#define TILEGLOBAL GLOBAL1 #define TILEGLOBAL GLOBAL1
#define PIXGLOBAL (GLOBAL1/64)
#define TILESHIFT 16l #define TILESHIFT 16l
#define UNSIGNEDSHIFT 8 #define UNSIGNEDSHIFT 8
#define ANGLES 360 // must be divisable by 4 #define ANGLES 360 // must be divisable by 4
#define ANGLEQUAD (ANGLES/4) #define ANGLEQUAD (ANGLES/4)
#define FINEANGLES 3600 #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) #define MINDIST (0x5800l)
...@@ -111,11 +86,6 @@ ...@@ -111,11 +86,6 @@
#define MAXVIEWWIDTH 320 #define MAXVIEWWIDTH 320
#define MAPSIZE 64 // maps are 64*64 max #define MAPSIZE 64 // maps are 64*64 max
#define NORTH 0
#define EAST 1
#define SOUTH 2
#define WEST 3
#define STATUSLINES 40 #define STATUSLINES 40
...@@ -125,12 +95,8 @@ ...@@ -125,12 +95,8 @@
#define PAGE3START (SCREENSIZE*2u) #define PAGE3START (SCREENSIZE*2u)
#define FREESTART (SCREENSIZE*3u) #define FREESTART (SCREENSIZE*3u)
#define PIXRADIUS 512
#define STARTAMMO 8 #define STARTAMMO 8
// object flag values // object flag values
#define FL_SHOOTABLE 1 #define FL_SHOOTABLE 1
...@@ -142,7 +108,6 @@ ...@@ -142,7 +108,6 @@
#define FL_AMBUSH 64 #define FL_AMBUSH 64
#define FL_NONMARK 128 #define FL_NONMARK 128
// //
// sprite constants // sprite constants
// //
...@@ -593,7 +558,7 @@ typedef enum { ...@@ -593,7 +558,7 @@ typedef enum {
typedef struct statestruct typedef struct statestruct
{ {
boolean rotate; 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; int tictime;
void (*think) (),(*action) (); void (*think) (),(*action) ();
struct statestruct *next; struct statestruct *next;
...@@ -615,7 +580,6 @@ typedef struct statstruct ...@@ -615,7 +580,6 @@ typedef struct statstruct
byte itemnumber; byte itemnumber;
} statobj_t; } statobj_t;
//--------------------- //---------------------
// //
// door actor structure // door actor structure
...@@ -631,7 +595,6 @@ typedef struct doorstruct ...@@ -631,7 +595,6 @@ typedef struct doorstruct
int ticcount; int ticcount;
} doorobj_t; } doorobj_t;
//-------------------- //--------------------
// //
// thinking actor structure // thinking actor structure
...@@ -747,15 +710,11 @@ typedef enum { ...@@ -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 char str[80],str2[20];
extern int tedlevelnum; extern int tedlevelnum;
extern boolean tedlevel; extern boolean tedlevel;
extern boolean nospr;
extern boolean IsA386;
extern byte far *scalermemory;
extern fixed focallength; extern fixed focallength;
extern unsigned viewangles; extern unsigned viewangles;
...@@ -773,20 +732,18 @@ extern int mouseadjustment; ...@@ -773,20 +732,18 @@ extern int mouseadjustment;
// math tables // math tables
// //
extern int pixelangle[MAXVIEWWIDTH]; extern int pixelangle[MAXVIEWWIDTH];
extern long far finetangent[FINEANGLES/4]; extern long finetangent[FINEANGLES/4];
extern fixed far sintable[],far *costable; extern fixed sintable[], *costable;
// //
// derived constants // derived constants
// //
extern fixed scale,maxslope; extern fixed scale, maxslope;
extern long heightnumerator; extern long heightnumerator;
extern int minheightdiv; extern int minheightdiv;
extern char configname[13]; extern char configname[13];
void HelpScreens (void); void HelpScreens (void);
void OrderingInfo (void); void OrderingInfo (void);
void CalcProjection (long focal); void CalcProjection (long focal);
...@@ -833,8 +790,6 @@ void DrawAllPlayBorder (void); ...@@ -833,8 +790,6 @@ void DrawAllPlayBorder (void);
void DrawHighScores(void); void DrawHighScores(void);
void DrawAllPlayBorderSides (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 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) #define PlaySoundLocActor(s,ob) PlaySoundLocGlobal(s,(ob)->x,(ob)->y)
void PlaySoundLocGlobal(word s,fixed gx,fixed gy); void PlaySoundLocGlobal(word s,fixed gx,fixed gy);
...@@ -896,7 +851,7 @@ extern int controlx,controly; // range from -100 to 100 ...@@ -896,7 +851,7 @@ extern int controlx,controly; // range from -100 to 100
extern boolean buttonstate[NUMBUTTONS]; extern boolean buttonstate[NUMBUTTONS];
extern boolean demorecord,demoplayback; extern boolean demorecord,demoplayback;
extern char far *demoptr, far *lastdemoptr; extern char *demoptr, *lastdemoptr;
extern memptr demobuffer; extern memptr demobuffer;
...@@ -967,8 +922,8 @@ extern fixed mindist; ...@@ -967,8 +922,8 @@ extern fixed mindist;
// math tables // math tables
// //
extern int pixelangle[MAXVIEWWIDTH]; extern int pixelangle[MAXVIEWWIDTH];
extern long far finetangent[FINEANGLES/4]; extern long finetangent[FINEANGLES/4];
extern fixed far sintable[],far *costable; extern fixed sintable[], *costable;
// //
// derived constants // derived constants
...@@ -1064,7 +1019,7 @@ typedef struct ...@@ -1064,7 +1019,7 @@ typedef struct
} t_compshape; } t_compshape;
extern t_compscale _seg *scaledirectory[MAXSCALEHEIGHT+1]; extern t_compscale *scaledirectory[MAXSCALEHEIGHT+1];
extern long fullscalefarcall[MAXSCALEHEIGHT+1]; extern long fullscalefarcall[MAXSCALEHEIGHT+1];
extern byte bitmasks1[8][8]; extern byte bitmasks1[8][8];
...@@ -1134,7 +1089,7 @@ extern int doornum; ...@@ -1134,7 +1089,7 @@ extern int doornum;
extern unsigned doorposition[MAXDOORS],pwallstate; extern unsigned doorposition[MAXDOORS],pwallstate;
extern byte far areaconnect[NUMAREAS][NUMAREAS]; extern byte areaconnect[NUMAREAS][NUMAREAS];
extern boolean areabyplayer[NUMAREAS]; extern boolean areabyplayer[NUMAREAS];
......
// WL_GAME.C /* wl_game.c */
#include "WL_DEF.H"
#pragma hdrstop
#ifdef MYPROFILE
#include <TIME.H>
#endif
#include "wl_def.h"
/* /*
============================================================================= =============================================================================
...@@ -163,8 +157,6 @@ SetSoundLoc(fixed gx,fixed gy) ...@@ -163,8 +157,6 @@ SetSoundLoc(fixed gx,fixed gy)
= values are then passed to the Sound Manager so that they'll be used for = values are then passed to the Sound Manager so that they'll be used for
= the next sound played (if possible). = the next sound played (if possible).
= =
= JAB
=
========================== ==========================
*/ */
void PlaySoundLocGlobal(word s,fixed gx,fixed gy) void PlaySoundLocGlobal(word s,fixed gx,fixed gy)
...@@ -187,11 +179,6 @@ void UpdateSoundLoc(void) ...@@ -187,11 +179,6 @@ void UpdateSoundLoc(void)
} }
} }
/*
** JAB End
*/
/* /*
========================== ==========================
= =
...@@ -238,7 +225,7 @@ void ScanInfoPlane (void) ...@@ -238,7 +225,7 @@ void ScanInfoPlane (void)
case 20: case 20:
case 21: case 21:
case 22: case 22:
SpawnPlayer(x,y,NORTH+tile-19); SpawnPlayer(x, y, tile-19);
break; break;
case 23: case 23:
...@@ -1240,9 +1227,6 @@ void GameLoop (void) ...@@ -1240,9 +1227,6 @@ void GameLoop (void)
int i,xl,yl,xh,yh; int i,xl,yl,xh,yh;
char num[20]; char num[20];
boolean died; boolean died;
#ifdef MYPROFILE
clock_t start,end;
#endif
restartgame: restartgame:
ClearMemory (); ClearMemory ();
...@@ -1368,12 +1352,10 @@ startplayloop: ...@@ -1368,12 +1352,10 @@ startplayloop:
CheckHighScore (gamestate.score,gamestate.mapon+1); CheckHighScore (gamestate.score,gamestate.mapon+1);
#pragma warn -sus
#ifndef JAPAN #ifndef JAPAN
_fstrcpy(MainMenu[viewscores].string,STR_VS); strcpy(MainMenu[viewscores].string,STR_VS);
#endif #endif
MainMenu[viewscores].routine = CP_ViewScores; MainMenu[viewscores].routine = CP_ViewScores;
#pragma warn +sus
return; return;
} }
......
...@@ -39,8 +39,6 @@ ...@@ -39,8 +39,6 @@
char str[80],str2[20]; char str[80],str2[20];
int tedlevelnum; int tedlevelnum;
boolean tedlevel; boolean tedlevel;
boolean nospr;
boolean IsA386;
int dirangle[9] = {0,ANGLES/8,2*ANGLES/8,3*ANGLES/8,4*ANGLES/8, 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}; 5*ANGLES/8,6*ANGLES/8,7*ANGLES/8,ANGLES};
......
...@@ -104,7 +104,7 @@ typedef struct { ...@@ -104,7 +104,7 @@ typedef struct {
int allowed[4]; int allowed[4];
} CustomCtrls; } CustomCtrls;
extern CP_itemtype far MainMenu[],far NewEMenu[]; extern CP_itemtype MainMenu[], NewEMenu[];
extern CP_iteminfo MainItems; extern CP_iteminfo MainItems;
// //
...@@ -113,9 +113,9 @@ extern CP_iteminfo MainItems; ...@@ -113,9 +113,9 @@ extern CP_iteminfo MainItems;
void SetupControlPanel(void); void SetupControlPanel(void);
void CleanupControlPanel(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, int HandleMenu(CP_iteminfo *item_i,
CP_itemtype far *items, CP_itemtype *items,
void (*routine)(int w)); void (*routine)(int w));
void ClearMScreen(void); void ClearMScreen(void);
void DrawWindow(int x,int y,int w,int h,int wcolor); void DrawWindow(int x,int y,int w,int h,int wcolor);
...@@ -126,17 +126,17 @@ void TicDelay(int count); ...@@ -126,17 +126,17 @@ void TicDelay(int count);
void CacheLump(int lumpstart,int lumpend); void CacheLump(int lumpstart,int lumpend);
void UnCacheLump(int lumpstart,int lumpend); void UnCacheLump(int lumpstart,int lumpend);
void StartCPMusic(int song); void StartCPMusic(int song);
int Confirm(char far *string); int Confirm(char *string);
void Message(char far *string); void Message(char *string);
void CheckPause(void); void CheckPause(void);
void ShootSnd(void); void ShootSnd(void);
void CheckSecretMissions(void); void CheckSecretMissions(void);
void BossKey(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 DrawHalfStep(int x,int y);
void EraseGun(CP_iteminfo *item_i,CP_itemtype far *items,int x,int y,int which); void EraseGun(CP_iteminfo *item_i,CP_itemtype *items,int x,int y,int which);
void SetTextColor(CP_itemtype far *items,int hlight); void SetTextColor(CP_itemtype *items,int hlight);
void DrawMenuGun(CP_iteminfo *iteminfo); void DrawMenuGun(CP_iteminfo *iteminfo);
void DrawStripes(int y); 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