Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
wolf3d
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
wolf3d
Commits
5c51619e
Commit
5c51619e
authored
Apr 17, 2000
by
Steven Fuller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More cleanups
parent
38902ef0
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
82 additions
and
313 deletions
+82
-313
id_ca.c
src/id_ca.c
+17
-48
id_ca.h
src/id_ca.h
+11
-26
id_in.h
src/id_in.h
+2
-6
id_mm.h
src/id_mm.h
+1
-7
id_pm.h
src/id_pm.h
+1
-1
id_sd.h
src/id_sd.h
+3
-7
id_us.h
src/id_us.h
+9
-13
id_vl.c
src/id_vl.c
+0
-1
id_vl.h
src/id_vl.h
+13
-14
whack_a.asm
src/whack_a.asm
+0
-100
wl_def.h
src/wl_def.h
+13
-58
wl_game.c
src/wl_game.c
+4
-22
wl_main.c
src/wl_main.c
+0
-2
wl_menu.h
src/wl_menu.h
+8
-8
No files found.
src/id_ca.c
View file @
5c51619e
...
@@ -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 e
gagraph, -1 for sparse
long
*
grstarts
;
// array of offsets in v
gagraph, -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
{
{
...
...
src/id_ca.h
View file @
5c51619e
...
@@ -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
);
...
...
src/id_in.h
View file @
5c51619e
...
@@ -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
...
...
src/id_mm.h
View file @
5c51619e
// 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
src/id_pm.h
View file @
5c51619e
...
@@ -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))
...
...
src/id_sd.h
View file @
5c51619e
...
@@ -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
),
...
...
src/id_us.h
View file @
5c51619e
...
@@ -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
src/id_vl.c
View file @
5c51619e
...
@@ -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
...
...
src/id_vl.h
View file @
5c51619e
// 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
src/whack_a.asm
deleted
100644 → 0
View file @
38902ef0
; WOLFHACK.ASM
.
386
C
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
,
0
a000h
mov
es
,
ax
mov
ax
,
1111111111110
b
; 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
src/wl_def.h
View file @
5c51619e
...
@@ -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
f
ar
f
inetangent
[
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
];
...
...
src/wl_game.c
View file @
5c51619e
// 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
_f
strcpy
(
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
;
}
}
...
...
src/wl_main.c
View file @
5c51619e
...
@@ -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
};
...
...
src/wl_menu.h
View file @
5c51619e
...
@@ -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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment