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
0c6a347e
Commit
0c6a347e
authored
Apr 25, 2000
by
Steven Fuller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented PlayDemoFromFile
parent
6b84adb4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
47 additions
and
23 deletions
+47
-23
TODO
src/TODO
+7
-2
id_us.c
src/id_us.c
+3
-0
wl_def.h
src/wl_def.h
+3
-2
wl_game.c
src/wl_game.c
+10
-5
wl_main.c
src/wl_main.c
+24
-14
No files found.
src/TODO
View file @
0c6a347e
...
@@ -23,8 +23,8 @@ two screens for nostalga
...
@@ -23,8 +23,8 @@ two screens for nostalga
work the same, let the input handler do it all instead
work the same, let the input handler do it all instead
* when viewsize is around 20, sprites end up being drawn over the border.
* when viewsize is around 20, sprites end up being drawn over the border.
maybe there are clipping bugs that will cause it to fill over the top, left,
maybe there are clipping bugs that will cause it to fill over the top, left,
and right
and right
(happens at any view basically, except this version of source does
* remove DEMOEXTERN, and add ability to play demos from commandline
not leave any artifacts after a few screen redraws)
* remove GOODTIMES (the piracy message is somewhat worthless)
* remove GOODTIMES (the piracy message is somewhat worthless)
* then consider removing the SOD manual check
* then consider removing the SOD manual check
* Use either US_CheckParm or MS_CheckParm.
* Use either US_CheckParm or MS_CheckParm.
...
@@ -63,6 +63,11 @@ update once per frame or such.. hm
...
@@ -63,6 +63,11 @@ update once per frame or such.. hm
and where is that greenpixel coming from (when using end game with largest
and where is that greenpixel coming from (when using end game with largest
window size)
window size)
* merge id_vl.c and id_in.c to get id_svga.c
* merge id_vl.c and id_in.c to get id_svga.c
* change id_sd to sd_oss, sd_win, sd_dos, sd_oal, etc
idea is that different <outputs> can share some drivers, unlike video
* check filehandling (ex, file missing, bad file type, and such)
PlayDemoFromFile specifically
* make sure all infinite loops are found (looping around Keyboard)
Specific:
Specific:
* memory/sound intro screen goes
* memory/sound intro screen goes
...
...
src/id_us.c
View file @
0c6a347e
...
@@ -142,6 +142,9 @@ void US_Print(char *str)
...
@@ -142,6 +142,9 @@ void US_Print(char *str)
PrintX
+=
w
;
PrintX
+=
w
;
}
}
px
=
PrintX
;
py
=
PrintY
;
free
(
sz
);
free
(
sz
);
}
}
...
...
src/wl_def.h
View file @
0c6a347e
...
@@ -702,7 +702,7 @@ typedef enum {
...
@@ -702,7 +702,7 @@ typedef enum {
=============================================================================
=============================================================================
*/
*/
extern
boolean
MS_CheckParm
(
char
*
string
);
int
MS_CheckParm
(
char
*
string
);
extern
char
str
[
80
],
str2
[
20
];
extern
char
str
[
80
],
str2
[
20
];
...
@@ -771,7 +771,8 @@ void DrawPlayScreen (void);
...
@@ -771,7 +771,8 @@ void DrawPlayScreen (void);
void
FizzleOut
(
void
);
void
FizzleOut
(
void
);
void
GameLoop
(
void
);
void
GameLoop
(
void
);
void
ClearMemory
(
void
);
void
ClearMemory
(
void
);
void
PlayDemo
(
int
demonumber
);
void
PlayDemo
(
int
demonumber
);
int
PlayDemoFromFile
(
char
*
demoname
);
void
RecordDemo
(
void
);
void
RecordDemo
(
void
);
void
DrawAllPlayBorder
(
void
);
void
DrawAllPlayBorder
(
void
);
void
DrawHighScores
(
void
);
void
DrawHighScores
(
void
);
...
...
src/wl_game.c
View file @
0c6a347e
...
@@ -895,6 +895,7 @@ void FinishDemoRecord (void)
...
@@ -895,6 +895,7 @@ void FinishDemoRecord (void)
CenterWindow
(
24
,
3
);
CenterWindow
(
24
,
3
);
PrintY
+=
6
;
PrintY
+=
6
;
VW_FadeIn
();
US_Print
(
" Demo number (0-9):"
);
US_Print
(
" Demo number (0-9):"
);
VW_UpdateScreen
();
VW_UpdateScreen
();
...
@@ -1037,11 +1038,16 @@ void PlayDemo(int demonumber)
...
@@ -1037,11 +1038,16 @@ void PlayDemo(int demonumber)
ClearMemory
();
ClearMemory
();
}
}
void
PlayDemoFromFile
(
char
*
demoname
)
int
PlayDemoFromFile
(
char
*
demoname
)
{
{
int
length
;
int
length
;
CA_LoadFile
(
demoname
,
&
demobuffer
);
CA_LoadFile
(
demoname
,
&
demobuffer
);
if
(
demobuffer
==
NULL
)
{
fprintf
(
stderr
,
"Unable to load demo: %s
\n
"
,
demoname
);
return
0
;
}
MM_SetLock
(
&
demobuffer
,
true
);
MM_SetLock
(
&
demobuffer
,
true
);
demoptr
=
(
char
*
)
demobuffer
;
demoptr
=
(
char
*
)
demobuffer
;
...
@@ -1074,10 +1080,9 @@ void PlayDemoFromFile(char *demoname)
...
@@ -1074,10 +1080,9 @@ void PlayDemoFromFile(char *demoname)
demoplayback
=
false
;
demoplayback
=
false
;
StopMusic
();
StopMusic
();
VW_FadeOut
();
ClearMemory
();
ClearMemory
();
return
1
;
IN_Ack
();
}
}
//==========================================================================
//==========================================================================
...
...
src/wl_main.c
View file @
0c6a347e
...
@@ -698,7 +698,7 @@ void FinishSignon (void)
...
@@ -698,7 +698,7 @@ void FinishSignon (void)
=================
=================
*/
*/
boolean
MS_CheckParm
(
char
*
check
)
int
MS_CheckParm
(
char
*
check
)
{
{
int
i
;
int
i
;
char
*
parm
;
char
*
parm
;
...
@@ -712,10 +712,10 @@ boolean MS_CheckParm(char *check)
...
@@ -712,10 +712,10 @@ boolean MS_CheckParm(char *check)
break
;
// hit end of string without an alphanum
break
;
// hit end of string without an alphanum
if
(
!
strcasecmp
(
check
,
parm
)
)
if
(
!
strcasecmp
(
check
,
parm
)
)
return
true
;
return
i
;
}
}
return
false
;
return
0
;
}
}
//===========================================================================
//===========================================================================
...
@@ -1154,7 +1154,7 @@ void Quit(char *error)
...
@@ -1154,7 +1154,7 @@ void Quit(char *error)
{
{
memptr
screen
=
NULL
;
memptr
screen
=
NULL
;
if
(
error
&&
!*
error
)
{
if
(
!
error
||
!*
error
)
{
CA_CacheGrChunk
(
ORDERSCREEN
);
CA_CacheGrChunk
(
ORDERSCREEN
);
screen
=
grsegs
[
ORDERSCREEN
];
screen
=
grsegs
[
ORDERSCREEN
];
WriteConfig
();
WriteConfig
();
...
@@ -1166,13 +1166,13 @@ void Quit(char *error)
...
@@ -1166,13 +1166,13 @@ void Quit(char *error)
ShutdownId
();
ShutdownId
();
if
(
screen
)
{
if
(
screen
)
{
/* blah blah */
printf
(
"TODO: spiffy ansi screen goes here..
\n
"
);
}
}
if
(
error
&&
*
error
)
{
if
(
error
&&
*
error
)
{
printf
(
"Quit: %s
\n
"
,
error
);
printf
(
"Quit: %s
\n
"
,
error
);
exit
(
EXIT_FAILURE
);
exit
(
EXIT_FAILURE
);
}
}
exit
(
EXIT_SUCCESS
);
exit
(
EXIT_SUCCESS
);
}
}
...
@@ -1192,22 +1192,31 @@ void Quit(char *error)
...
@@ -1192,22 +1192,31 @@ void Quit(char *error)
void
DemoLoop
(
void
)
void
DemoLoop
(
void
)
{
{
static
int
LastDemo
;
static
int
LastDemo
;
int
i
;
//
//
// main game cycle
// main game cycle
//
//
#ifndef UPLOAD
#if !defined(GOODTIMES) && defined(SPEAR) && !defined(SPEARDEMO)
#if !defined(GOODTIMES) && defined(SPEAR) && !defined(SPEARDEMO)
CopyProtection
();
CopyProtection
();
#endif
#endif
#endif
StartCPMusic
(
INTROSONG
);
StartCPMusic
(
INTROSONG
);
if
(
!
NoWait
)
if
(
!
NoWait
)
PG13
();
PG13
();
i
=
MS_CheckParm
(
"playdemo"
);
if
(
i
&&
(
(
i
+
1
)
<
_argc
)
)
{
i
++
;
for
(;
i
<
_argc
;
i
++
)
{
IN_ClearKeysDown
();
if
(
PlayDemoFromFile
(
_argv
[
i
]))
IN_UserInput
(
3
*
70
);
}
VW_FadeOut
();
}
while
(
1
)
while
(
1
)
{
{
while
(
!
NoWait
)
while
(
!
NoWait
)
...
@@ -1273,11 +1282,7 @@ void DemoLoop (void)
...
@@ -1273,11 +1282,7 @@ void DemoLoop (void)
VW_FadeOut
();
VW_FadeOut
();
#ifndef SPEAR
if
(
Keyboard
[
sc_Tab
]
&&
MS_CheckParm
(
"goobers"
))
#else
if
(
Keyboard
[
sc_Tab
]
&&
MS_CheckParm
(
"debugmode"
))
if
(
Keyboard
[
sc_Tab
]
&&
MS_CheckParm
(
"debugmode"
))
#endif
RecordDemo
();
RecordDemo
();
else
else
US_ControlPanel
(
0
);
US_ControlPanel
(
0
);
...
@@ -1303,7 +1308,7 @@ void DemoLoop (void)
...
@@ -1303,7 +1308,7 @@ void DemoLoop (void)
==========================
==========================
*/
*/
int
m
ain
(
int
argc
,
char
*
argv
[])
int
WolfM
ain
(
int
argc
,
char
*
argv
[])
{
{
int
i
;
int
i
;
...
@@ -1321,3 +1326,8 @@ int main(int argc, char *argv[])
...
@@ -1321,3 +1326,8 @@ int main(int argc, char *argv[])
return
0
;
return
0
;
}
}
int
main
(
int
argc
,
char
*
argv
[])
{
return
WolfMain
(
argc
,
argv
);
}
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