Commit 6a1f2df7 authored by Fabian Greffrath's avatar Fabian Greffrath

Update upstream source from tag 'upstream/5.4'

Update to upstream version '5.4'
with Debian dir 79cdc7b6beda63599747b17208b0ed216a712741
parents 063edee4 8d0ac9b2
...@@ -26,5 +26,3 @@ script: ./.travis.sh ...@@ -26,5 +26,3 @@ script: ./.travis.sh
branches: branches:
only: only:
- master - master
- sdl2-branch
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
cmake_minimum_required(VERSION 3.7.2) cmake_minimum_required(VERSION 3.7.2)
project("Chocolate Doom" VERSION 3.0.0 LANGUAGES C) project("Crispy Doom" VERSION 5.4.0 LANGUAGES C)
# Autotools variables # Autotools variables
set(top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) set(top_srcdir ${CMAKE_CURRENT_SOURCE_DIR})
...@@ -9,10 +9,10 @@ set(top_builddir ${CMAKE_CURRENT_BINARY_DIR}) ...@@ -9,10 +9,10 @@ set(top_builddir ${CMAKE_CURRENT_BINARY_DIR})
# AC_INIT variables # AC_INIT variables
set(PACKAGE_NAME "${PROJECT_NAME}") set(PACKAGE_NAME "${PROJECT_NAME}")
set(PACKAGE_TARNAME "chocolate-doom") set(PACKAGE_TARNAME "crispy-doom")
set(PACKAGE_VERSION "${PROJECT_VERSION}") set(PACKAGE_VERSION "${PROJECT_VERSION}")
set(PACKAGE_STRING "${PROJECT_NAME} ${PROJECT_VERSION}") set(PACKAGE_STRING "${PROJECT_NAME} ${PROJECT_VERSION}")
set(PACKAGE_BUGREPORT "chocolate-doom-dev-list@chocolate-doom.org") set(PACKAGE_BUGREPORT "https://github.com/fabiangreffrath/crispy-doom/issues")
string(REGEX REPLACE " Doom$" "" PACKAGE_SHORTNAME "${PACKAGE_NAME}") string(REGEX REPLACE " Doom$" "" PACKAGE_SHORTNAME "${PACKAGE_NAME}")
set(PACKAGE_COPYRIGHT "Copyright (C) 1993-2017") set(PACKAGE_COPYRIGHT "Copyright (C) 1993-2017")
...@@ -47,8 +47,10 @@ endif() ...@@ -47,8 +47,10 @@ endif()
find_package(m) find_package(m)
include(CheckSymbolExists) include(CheckSymbolExists)
include(CheckIncludeFile)
check_symbol_exists(strcasecmp "strings.h" HAVE_DECL_STRCASECMP) check_symbol_exists(strcasecmp "strings.h" HAVE_DECL_STRCASECMP)
check_symbol_exists(strncasecmp "strings.h" HAVE_DECL_STRNCASECMP) check_symbol_exists(strncasecmp "strings.h" HAVE_DECL_STRNCASECMP)
check_include_file("dirent.h" HAVE_DIRENT_H)
string(CONCAT WINDOWS_RC_VERSION "${PROJECT_VERSION_MAJOR}, " string(CONCAT WINDOWS_RC_VERSION "${PROJECT_VERSION_MAJOR}, "
"${PROJECT_VERSION_MINOR}, ${PROJECT_VERSION_PATCH}, 0") "${PROJECT_VERSION_MINOR}, ${PROJECT_VERSION_PATCH}, 0")
......
This diff is collapsed.
This diff is collapsed.
codeblocks/config.h
codeblocks/game-res.rc
codeblocks/server.cbp
codeblocks/setup-res.rc
codeblocks/setup.cbp
configure.ac
data/doom.png
data/setup.png
src/doom/Makefile.am
src/doom/d_main.c
src/doom/f_finale.c
src/doom/m_menu.c
src/doom/p_switch.c
src/doom/r_draw.c
src/doom/st_stuff.c
src/i_system.c
src/i_video.c
src/i_video.h
src/icon.c
src/setup/display.c
src/setup/mainmenu.c
src/setup/setup_icon.c
src/v_video.c
src/v_video.h
...@@ -6,5 +6,6 @@ ...@@ -6,5 +6,6 @@
#cmakedefine HAVE_LIBSAMPLERATE #cmakedefine HAVE_LIBSAMPLERATE
#cmakedefine HAVE_LIBPNG #cmakedefine HAVE_LIBPNG
#cmakedefine HAVE_DIRENT_H
#cmakedefine01 HAVE_DECL_STRCASECMP #cmakedefine01 HAVE_DECL_STRCASECMP
#cmakedefine01 HAVE_DECL_STRNCASECMP #cmakedefine01 HAVE_DECL_STRNCASECMP
AC_INIT(Crispy Doom, 5.2, AC_INIT(Crispy Doom, 5.4,
fabian@greffrath.com, crispy-doom) fabian@greffrath.com, crispy-doom)
PACKAGE_SHORTNAME=${PACKAGE_NAME% Doom} PACKAGE_SHORTNAME=${PACKAGE_NAME% Doom}
...@@ -15,6 +15,7 @@ AC_CANONICAL_HOST ...@@ -15,6 +15,7 @@ AC_CANONICAL_HOST
orig_CFLAGS="$CFLAGS" orig_CFLAGS="$CFLAGS"
AM_PROG_AR
AC_PROG_CC AC_PROG_CC
AC_PROG_RANLIB AC_PROG_RANLIB
AC_CHECK_PROG(HAVE_PYTHON, python, true, false) AC_CHECK_PROG(HAVE_PYTHON, python, true, false)
...@@ -97,7 +98,7 @@ AC_CHECK_LIB(m, log) ...@@ -97,7 +98,7 @@ AC_CHECK_LIB(m, log)
# [crispy] use stdlib's qsort() function for sorting the vissprites[] array # [crispy] use stdlib's qsort() function for sorting the vissprites[] array
AC_CHECK_FUNCS(qsort) AC_CHECK_FUNCS(qsort)
AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h]) AC_CHECK_HEADERS([dirent.h linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h])
AC_CHECK_FUNCS(mmap ioperm) AC_CHECK_FUNCS(mmap ioperm)
AC_CHECK_DECLS([strcasecmp, strncasecmp], [], [], [[#include <strings.h>]]) AC_CHECK_DECLS([strcasecmp, strncasecmp], [], [], [[#include <strings.h>]])
......
CMDLINE.doom CMDLINE.doom
CMDLINE.doom.md
CMDLINE.heretic CMDLINE.heretic
CMDLINE.heretic.md
CMDLINE.hexen CMDLINE.hexen
CMDLINE.hexen.md
CMDLINE.strife CMDLINE.strife
CMDLINE.strife.md
INSTALL.doom INSTALL.doom
INSTALL.heretic INSTALL.heretic
INSTALL.hexen INSTALL.hexen
......
# Command line parameters
This is a full list of the supported command line parameters. A number of
additional parameters are supported in addition to those present in the DOS
version.
@content
This diff is collapsed.
...@@ -17,12 +17,6 @@ strifedocsdir = ${docdir}/../${PROGRAM_PREFIX}strife ...@@ -17,12 +17,6 @@ strifedocsdir = ${docdir}/../${PROGRAM_PREFIX}strife
if HAVE_PYTHON if HAVE_PYTHON
if HAVE_WINDRES
WIN32=-D_WIN32
endif
GENERATED_MAN_PAGES = \ GENERATED_MAN_PAGES = \
@PROGRAM_PREFIX@doom.6 \ @PROGRAM_PREFIX@doom.6 \
default.cfg.5 \ default.cfg.5 \
...@@ -52,6 +46,17 @@ doomdocs_DATA = INSTALL.doom CMDLINE.doom ...@@ -52,6 +46,17 @@ doomdocs_DATA = INSTALL.doom CMDLINE.doom
#hexendocs_DATA = INSTALL.hexen CMDLINE.hexen #hexendocs_DATA = INSTALL.hexen CMDLINE.hexen
#strifedocs_DATA = INSTALL.strife CMDLINE.strife #strifedocs_DATA = INSTALL.strife CMDLINE.strife
if HAVE_WINDRES
WIN32=-D_WIN32
doomdocs_DATA += CMDLINE.doom.md
#hereticdocs_DATA += CMDLINE.heretic.md
#hexendocs_DATA += CMDLINE.hexen.md
#strifedocs_DATA += CMDLINE.strife.md
endif
CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \ CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \
$(doomdocs_DATA) $(hereticdocs_DATA) \ $(doomdocs_DATA) $(hereticdocs_DATA) \
$(hexendocs_DATA) $(strifedocs_DATA) $(hexendocs_DATA) $(strifedocs_DATA)
...@@ -78,6 +83,11 @@ CMDLINE.doom : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/doom ...@@ -78,6 +83,11 @@ CMDLINE.doom : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/doom
-p $(srcdir)/CMDLINE.template \ -p $(srcdir)/CMDLINE.template \
$(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@ $(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@
CMDLINE.doom.md : CMDLINE.template.md $(top_srcdir)/src $(top_srcdir)/src/doom
$(DOCGEN) $(DOCGEN_COMMON_ARGS) \
-M $(srcdir)/CMDLINE.template.md \
$(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@
CMDLINE.doom.wikitext : $(top_srcdir)/src $(top_srcdir)/src/doom CMDLINE.doom.wikitext : $(top_srcdir)/src $(top_srcdir)/src/doom
$(DOCGEN) $(DOCGEN_COMMON_ARGS) \ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \
-w $(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@ -w $(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@
...@@ -108,6 +118,11 @@ CMDLINE.heretic : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/heretic ...@@ -108,6 +118,11 @@ CMDLINE.heretic : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/heretic
-p $(srcdir)/CMDLINE.template \ -p $(srcdir)/CMDLINE.template \
$(top_srcdir)/src/ $(top_srcdir)/src/heretic/ > $@ $(top_srcdir)/src/ $(top_srcdir)/src/heretic/ > $@
CMDLINE.heretic.md : CMDLINE.template.md $(top_srcdir)/src $(top_srcdir)/src/heretic
$(DOCGEN) $(DOCGEN_COMMON_ARGS) \
-M $(srcdir)/CMDLINE.template.md \
$(top_srcdir)/src/ $(top_srcdir)/src/heretic/ > $@
INSTALL.heretic: INSTALL.template INSTALL.heretic: INSTALL.template
$(srcdir)/simplecpp -DHERETIC $(WIN32) \ $(srcdir)/simplecpp -DHERETIC $(WIN32) \
-DLONG_GAME_NAME="@PACKAGE_SHORTNAME@ Heretic" \ -DLONG_GAME_NAME="@PACKAGE_SHORTNAME@ Heretic" \
...@@ -135,6 +150,11 @@ CMDLINE.hexen : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/hexen ...@@ -135,6 +150,11 @@ CMDLINE.hexen : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/hexen
-p $(srcdir)/CMDLINE.template \ -p $(srcdir)/CMDLINE.template \
$(top_srcdir)/src/ $(top_srcdir)/src/hexen/ > $@ $(top_srcdir)/src/ $(top_srcdir)/src/hexen/ > $@
CMDLINE.hexen.md : CMDLINE.template.md $(top_srcdir)/src $(top_srcdir)/src/hexen
$(DOCGEN) $(DOCGEN_COMMON_ARGS) \
-M $(srcdir)/CMDLINE.template.md \
$(top_srcdir)/src/ $(top_srcdir)/src/hexen/ > $@
INSTALL.hexen: INSTALL.template INSTALL.hexen: INSTALL.template
$(srcdir)/simplecpp -DHEXEN $(WIN32) \ $(srcdir)/simplecpp -DHEXEN $(WIN32) \
-DLONG_GAME_NAME="@PACKAGE_SHORTNAME@ Hexen" \ -DLONG_GAME_NAME="@PACKAGE_SHORTNAME@ Hexen" \
...@@ -172,6 +192,11 @@ CMDLINE.strife : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/strife ...@@ -172,6 +192,11 @@ CMDLINE.strife : CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/strife
-p $(srcdir)/CMDLINE.template \ -p $(srcdir)/CMDLINE.template \
$(top_srcdir)/src/ $(top_srcdir)/src/strife/ > $@ $(top_srcdir)/src/ $(top_srcdir)/src/strife/ > $@
CMDLINE.strife.md : CMDLINE.template.md $(top_srcdir)/src $(top_srcdir)/src/strife
$(DOCGEN) $(DOCGEN_COMMON_ARGS) \
-M $(srcdir)/CMDLINE.template.md \
$(top_srcdir)/src/ $(top_srcdir)/src/strife/ > $@
INSTALL.strife: INSTALL.template INSTALL.strife: INSTALL.template
$(srcdir)/simplecpp -DSTRIFE $(WIN32) \ $(srcdir)/simplecpp -DSTRIFE $(WIN32) \
-DLONG_EXE_NAME="@PROGRAM_PREFIX@strife" \ -DLONG_EXE_NAME="@PROGRAM_PREFIX@strife" \
...@@ -190,6 +215,7 @@ endif ...@@ -190,6 +215,7 @@ endif
EXTRA_DIST = $(man_MANS) $(MANPAGE_GEN_FILES) \ EXTRA_DIST = $(man_MANS) $(MANPAGE_GEN_FILES) \
wikipages \ wikipages \
CMDLINE.template \ CMDLINE.template \
CMDLINE.template.md \
INSTALL.template \ INSTALL.template \
simplecpp simplecpp
...@@ -116,6 +116,19 @@ class Category: ...@@ -116,6 +116,19 @@ class Category:
return result return result
def markdown_output(self):
result = "## %s\n\n| Parameter | Description |\n| - | - |\n" % self.description
self.params.sort()
for p in self.params:
if p.should_show():
result += p.markdown_output()
result = result.rstrip() + "\n"
return result
def completion_output(self): def completion_output(self):
result = "" result = ""
...@@ -262,6 +275,28 @@ class Parameter: ...@@ -262,6 +275,28 @@ class Parameter:
return result return result
def markdown_output(self):
if self.args:
name = "%s %s" % (self.name, self.args)
else:
name = "%s" % self.name
name = name.replace("|", "\\|")
text = self.text
if self.platform:
text += " (%s only)" % self.platform
text = text.replace("|", "\\|")
result = "| %s | %s |\n" % (name, text)
# html escape
result = result.replace("<", "&lt;")
result = result.replace(">", "&gt;")
return result
def plaintext_output(self, indent): def plaintext_output(self, indent):
# Build the first line, with the argument on # Build the first line, with the argument on
start = " " + self.name start = " " + self.name
...@@ -468,6 +503,14 @@ def wiki_output(targets, _, template): ...@@ -468,6 +503,14 @@ def wiki_output(targets, _, template):
for t in targets: for t in targets:
stdout(t.wiki_output().encode('UTF-8') + b'\n') stdout(t.wiki_output().encode('UTF-8') + b'\n')
def markdown_output(targets, substs, template_file):
content = ""
for t in targets:
content += t.markdown_output() + "\n"
print_template(template_file, substs, content)
def plaintext_output(targets, substs, template_file): def plaintext_output(targets, substs, template_file):
content = "" content = ""
...@@ -487,13 +530,14 @@ def completion_output(targets, substs, template_file): ...@@ -487,13 +530,14 @@ def completion_output(targets, substs, template_file):
print_template(template_file, substs, content) print_template(template_file, substs, content)
def usage(): def usage():
print("Usage: %s [-V] [-c tag] [-g game] -n program_name -s package_name [ -z shortname ] ( -m | -w | -p ) <dir>..." \ print("Usage: %s [-V] [-c tag] [-g game] -n program_name -s package_name [ -z shortname ] ( -M | -m | -w | -p ) <dir>..." \
% sys.argv[0]) % sys.argv[0])
print(" -c : Provide documentation for the specified configuration file") print(" -c : Provide documentation for the specified configuration file")
print(" (matches the given tag name in the source file)") print(" (matches the given tag name in the source file)")
print(" -s : Package name, e.g. Chocolate Doom (for substitution)") print(" -s : Package name, e.g. Chocolate Doom (for substitution)")
print(" -z : Package short-name, e.g. Chocolate (for substitution)") print(" -z : Package short-name, e.g. Chocolate (for substitution)")
print(" -n : Program name, e.g. chocolate (for substitution)") print(" -n : Program name, e.g. chocolate (for substitution)")
print(" -M : Markdown output")
print(" -m : Manpage output") print(" -m : Manpage output")
print(" -w : Wikitext output") print(" -w : Wikitext output")
print(" -p : Plaintext output") print(" -p : Plaintext output")
...@@ -504,7 +548,7 @@ def usage(): ...@@ -504,7 +548,7 @@ def usage():
# Parse command line # Parse command line
opts, args = getopt.getopt(sys.argv[1:], "n:s:z:m:wp:b:c:g:V") opts, args = getopt.getopt(sys.argv[1:], "n:s:z:M:m:wp:b:c:g:V")
output_function = None output_function = None
template = None template = None
...@@ -522,6 +566,9 @@ for opt in opts: ...@@ -522,6 +566,9 @@ for opt in opts:
if opt[0] == "-m": if opt[0] == "-m":
output_function = manpage_output output_function = manpage_output
template = opt[1] template = opt[1]
elif opt[0] == "-M":
output_function = markdown_output
template = opt[1]
elif opt[0] == "-w": elif opt[0] == "-w":
output_function = wiki_output output_function = wiki_output
elif opt[0] == "-p": elif opt[0] == "-p":
......
...@@ -75,7 +75,7 @@ static int opl_opl3mode; ...@@ -75,7 +75,7 @@ static int opl_opl3mode;
// Temporary mixing buffer used by the mixing callback. // Temporary mixing buffer used by the mixing callback.
static int32_t *mix_buffer = NULL; static uint8_t *mix_buffer = NULL;
// Register number that was written. // Register number that was written.
...@@ -155,36 +155,32 @@ static void AdvanceTime(unsigned int nsamples) ...@@ -155,36 +155,32 @@ static void AdvanceTime(unsigned int nsamples)
// Call the OPL emulator code to fill the specified buffer. // Call the OPL emulator code to fill the specified buffer.
static void FillBuffer(int16_t *buffer, unsigned int nsamples) static void FillBuffer(uint8_t *buffer, unsigned int nsamples)
{ {
// This seems like a reasonable assumption. mix_buffer is // This seems like a reasonable assumption. mix_buffer is
// 1 second long, which should always be much longer than the // 1 second long, which should always be much longer than the
// SDL mix buffer. // SDL mix buffer.
assert(nsamples < mixing_freq); assert(nsamples < mixing_freq);
OPL3_GenerateStream(&opl_chip, buffer, nsamples); // OPL output is generated into temporary buffer and then mixed
// (to avoid overflows etc.)
OPL3_GenerateStream(&opl_chip, (Bit16s *) mix_buffer, nsamples);
SDL_MixAudioFormat(buffer, mix_buffer, AUDIO_S16SYS, nsamples * 4,
SDL_MIX_MAXVOLUME);
} }
// Callback function to fill a new sound buffer: // Callback function to fill a new sound buffer:
static void OPL_Mix_Callback(void *udata, static void OPL_Mix_Callback(void *udata, Uint8 *buffer, int len)
Uint8 *byte_buffer,
int buffer_bytes)
{ {
int16_t *buffer; unsigned int filled, buffer_samples;
unsigned int buffer_len;
unsigned int filled = 0;
// Buffer length in samples (quadrupled, because of 16-bit and stereo)
buffer = (int16_t *) byte_buffer;
buffer_len = buffer_bytes / 4;
// Repeatedly call the OPL emulator update function until the buffer is // Repeatedly call the OPL emulator update function until the buffer is
// full. // full.
filled = 0;
buffer_samples = len / 4;
while (filled < buffer_len) while (filled < buffer_samples)
{ {
uint64_t next_callback_time; uint64_t next_callback_time;
uint64_t nsamples; uint64_t nsamples;
...@@ -197,7 +193,7 @@ static void OPL_Mix_Callback(void *udata, ...@@ -197,7 +193,7 @@ static void OPL_Mix_Callback(void *udata,
if (opl_sdl_paused || OPL_Queue_IsEmpty(callback_queue)) if (opl_sdl_paused || OPL_Queue_IsEmpty(callback_queue))
{ {
nsamples = buffer_len - filled; nsamples = buffer_samples - filled;
} }
else else
{ {
...@@ -206,9 +202,9 @@ static void OPL_Mix_Callback(void *udata, ...@@ -206,9 +202,9 @@ static void OPL_Mix_Callback(void *udata,
nsamples = (next_callback_time - current_time) * mixing_freq; nsamples = (next_callback_time - current_time) * mixing_freq;
nsamples = (nsamples + OPL_SECOND - 1) / OPL_SECOND; nsamples = (nsamples + OPL_SECOND - 1) / OPL_SECOND;
if (nsamples > buffer_len - filled) if (nsamples > buffer_samples - filled)
{ {
nsamples = buffer_len - filled; nsamples = buffer_samples - filled;
} }
} }
...@@ -216,7 +212,7 @@ static void OPL_Mix_Callback(void *udata, ...@@ -216,7 +212,7 @@ static void OPL_Mix_Callback(void *udata,
// Add emulator output to buffer. // Add emulator output to buffer.
FillBuffer(buffer + filled * 2, nsamples); FillBuffer(buffer + filled * 4, nsamples);
filled += nsamples; filled += nsamples;
// Invoke callbacks for this point in time. // Invoke callbacks for this point in time.
...@@ -340,9 +336,8 @@ static int OPL_SDL_Init(unsigned int port_base) ...@@ -340,9 +336,8 @@ static int OPL_SDL_Init(unsigned int port_base)
return 0; return 0;
} }
// Mix buffer: // Mix buffer: four bytes per sample (16 bits * 2 channels):
mix_buffer = malloc(mixing_freq * 4);
mix_buffer = malloc(mixing_freq * sizeof(uint32_t) * 2);
// Create the emulator structure: // Create the emulator structure:
...@@ -352,8 +347,10 @@ static int OPL_SDL_Init(unsigned int port_base) ...@@ -352,8 +347,10 @@ static int OPL_SDL_Init(unsigned int port_base)
callback_mutex = SDL_CreateMutex(); callback_mutex = SDL_CreateMutex();
callback_queue_mutex = SDL_CreateMutex(); callback_queue_mutex = SDL_CreateMutex();
// TODO: This should be music callback? or-? // Set postmix that adds the OPL music. This is deliberately done
Mix_HookMusic(OPL_Mix_Callback, NULL); // as a postmix and not using Mix_HookMusic() as the latter disables
// normal SDL_mixer music mixing.
Mix_SetPostMix(OPL_Mix_Callback, NULL);
return 1; return 1;
} }
......
...@@ -16,7 +16,6 @@ DLL_FILES=$(TOPLEVEL)/src/SDL.dll \ ...@@ -16,7 +16,6 @@ DLL_FILES=$(TOPLEVEL)/src/SDL.dll \
all: $(ZIPS) all: $(ZIPS)
$(ZIPS): $(ZIPS):
unix2dos --add-bom $</*.txt
zip -j -r $@ $</* zip -j -r $@ $</*
$(DOOM_ZIP): staging-doom hook-doom $(DOOM_ZIP): staging-doom hook-doom
...@@ -27,12 +26,12 @@ $(STRIFE_ZIP): staging-strife hook-strife ...@@ -27,12 +26,12 @@ $(STRIFE_ZIP): staging-strife hook-strife
# Special hooks to custom modify files for particular games. # Special hooks to custom modify files for particular games.
hook-doom: staging-doom hook-doom: staging-doom
cp $(TOPLEVEL)/NOT-BUGS.md $</NOT-BUGS.txt -pandoc -f gfm -s -o $</NOT-BUGS.html $(TOPLEVEL)/NOT-BUGS.md
# Chocolate Strife has its own custom README file: # Chocolate Strife has its own custom README file:
hook-strife: staging-strife hook-strife: staging-strife
cp $(TOPLEVEL)/README.Strife.md $</README.txt -pandoc -f gfm -s -o $</README.html $(TOPLEVEL)/README.Strife.md
# Build up a staging dir for a particular game. # Build up a staging dir for a particular game.
...@@ -49,11 +48,12 @@ staging-%: ...@@ -49,11 +48,12 @@ staging-%:
$(STRIP) $@/*.exe $@/*.dll $(STRIP) $@/*.exe $@/*.dll
for f in $(DOC_FILES); do \ -for f in $(DOC_FILES); do \
cp $(TOPLEVEL)/$$f $@/$$(basename $$f .md).txt; \ pandoc -f gfm -o $@/$$(basename $$f .md).html \
-s $(TOPLEVEL)/$$f; \
done done
cp $(TOPLEVEL)/man/CMDLINE.$* $@/CMDLINE.txt -pandoc -f gfm -s -o $@/CMDLINE.html $(TOPLEVEL)/man/CMDLINE.$*.md
cp $(TOPLEVEL)/man/INSTALL.$* $@/INSTALL.txt -pandoc -f gfm -s -o $@/INSTALL.html $(TOPLEVEL)/man/INSTALL.$*
clean: clean:
rm -f $(ZIPS) rm -f $(ZIPS)
......
...@@ -5,6 +5,7 @@ endforeach() ...@@ -5,6 +5,7 @@ endforeach()
# Common source files used by absolutely everything: # Common source files used by absolutely everything:
set(COMMON_SOURCE_FILES set(COMMON_SOURCE_FILES
crispy.c crispy.h
i_main.c i_main.c
i_system.c i_system.h i_system.c i_system.h
m_argv.c m_argv.h m_argv.c m_argv.h
...@@ -46,10 +47,12 @@ set(GAME_SOURCE_FILES ...@@ -46,10 +47,12 @@ set(GAME_SOURCE_FILES
gusconf.c gusconf.h gusconf.c gusconf.h
i_cdmus.c i_cdmus.h i_cdmus.c i_cdmus.h
i_endoom.c i_endoom.h i_endoom.c i_endoom.h
i_glob.c i_glob.h
i_input.c i_input.h i_input.c i_input.h
i_joystick.c i_joystick.h i_joystick.c i_joystick.h
i_swap.h i_swap.h
i_midipipe.c i_midipipe.h i_midipipe.c i_midipipe.h
i_musicpack.c
i_oplmusic.c i_oplmusic.c
i_pcsound.c i_pcsound.c
i_sdlmusic.c i_sdlmusic.c
...@@ -83,6 +86,7 @@ set(GAME_SOURCE_FILES ...@@ -83,6 +86,7 @@ set(GAME_SOURCE_FILES
v_diskicon.c v_diskicon.h v_diskicon.c v_diskicon.h
v_video.c v_video.h v_video.c v_video.h
v_patch.h v_patch.h
v_trans.c v_trans.h
w_checksum.c w_checksum.h w_checksum.c w_checksum.h
w_main.c w_main.h w_main.c w_main.h
w_wad.c w_wad.h w_wad.c w_wad.h
...@@ -93,6 +97,11 @@ set(GAME_SOURCE_FILES ...@@ -93,6 +97,11 @@ set(GAME_SOURCE_FILES
w_merge.c w_merge.h w_merge.c w_merge.h
z_zone.c z_zone.h) z_zone.c z_zone.h)
if(MSVC)
list(APPEND GAME_SOURCE_FILES
"../win32/win_opendir.c" "../win32/win_opendir.h")
endif()
set(DEHACKED_SOURCE_FILES set(DEHACKED_SOURCE_FILES
deh_defs.h deh_defs.h
deh_io.c deh_io.h deh_io.c deh_io.h
......
...@@ -66,10 +66,12 @@ deh_str.c deh_str.h \ ...@@ -66,10 +66,12 @@ deh_str.c deh_str.h \
gusconf.c gusconf.h \ gusconf.c gusconf.h \
i_cdmus.c i_cdmus.h \ i_cdmus.c i_cdmus.h \
i_endoom.c i_endoom.h \ i_endoom.c i_endoom.h \
i_glob.c i_glob.h \
i_input.c i_input.h \ i_input.c i_input.h \
i_joystick.c i_joystick.h \ i_joystick.c i_joystick.h \
i_swap.h \ i_swap.h \
i_midipipe.c i_midipipe.h \