Commit graph

110 commits

Author SHA1 Message Date
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
terminx
2917efad7c Remove MACT mouse.c. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6018 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-18 22:22:35 +00:00
terminx
d9f3d4410c Add libxmp-lite support to Makefile.msvc.
git-svn-id: https://svn.eduke32.com/eduke32@5931 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-09 22:51:45 +00:00
terminx
466f3aca30 Support building without a startup window through the Makefile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5928 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-09 22:51:33 +00:00
terminx
0e713e698f Separate art tile related functions out from engine.c and into tiles.c
git-svn-id: https://svn.eduke32.com/eduke32@5801 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:25 +00:00
terminx
e1fc28776c Fix MSVC build
git-svn-id: https://svn.eduke32.com/eduke32@5797 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:03 +00:00
terminx
32450bdd68 Relocate maphack related code into mhk.c.
This commit also relocates clipping related code into clip.c and makes a few other minor changes, because I fucked up and merged the commits together. God damn it.

git-svn-id: https://svn.eduke32.com/eduke32@5792 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:30 +00:00
terminx
cb2382285f Separate screen capture code from engine.c into screenshot.c
git-svn-id: https://svn.eduke32.com/eduke32@5791 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:19 +00:00
terminx
3eb979f8da Split 2d mode editor stuff that remained in engine.c into 2d.c.
git-svn-id: https://svn.eduke32.com/eduke32@5790 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:14 +00:00
terminx
205a757109 Move palette related functionality from engine.c to palette.c/h.
git-svn-id: https://svn.eduke32.com/eduke32@5789 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:06 +00:00
terminx
cdcc983a22 Move hash table stuff out of engine.c and into hash.c/h.
git-svn-id: https://svn.eduke32.com/eduke32@5788 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:53 +00:00
hendricks266
3dba49a1e3 Replace uses of the HAVE_DS and HAVE_SDL preprocessor macros with MIXERTYPEWIN and MIXERTYPESDL.
git-svn-id: https://svn.eduke32.com/eduke32@5780 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:45 +00:00
hendricks266
8ef2032035 Makefile: Revamp setup of all things SDL.
Highlights:
*Building with msys2 can now take advantage of sdl-config and sdl2-config if present.
*Add a header check to error out if SDL_mixer's major version does not match SDL.
*Building with frameworks on OS X works again.

Notes:
*Those cross compiling, particularly targeting Windows, may need to invoke make with SDLCONFIG='' to avoid bringing in libs and headers from the host.

git-svn-id: https://svn.eduke32.com/eduke32@5778 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:35 +00:00
hendricks266
0434a87e3a Remove trailing whitespace from anything we don't need to rebase from an upstream.
git-svn-id: https://svn.eduke32.com/eduke32@5768 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:28 +00:00
terminx
6f6762edfa VS project and MSVC Makefile updates. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5651 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:06:45 +00:00
terminx
dbbc7b1e13 Break out screen drawing stuff from game.c into screens.c and command line processing stuff into cmdline.c
git-svn-id: https://svn.eduke32.com/eduke32@5618 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-13 21:05:57 +00:00
terminx
023bc40020 Break all of the text printing stuff out of game.c and into a separate screentext.c/h
git-svn-id: https://svn.eduke32.com/eduke32@5614 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-07 02:38:23 +00:00
terminx
5b7a4a9a78 Break out status bar code into sbar.c/h
git-svn-id: https://svn.eduke32.com/eduke32@5613 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-07 02:38:16 +00:00
terminx
51bc13a9d7 Break cheat code stuff out of game.c and into cheats.c/h. Remove unnecessary header includes from several modules (all relevant headers are already pulled in by duke3d.h).
git-svn-id: https://svn.eduke32.com/eduke32@5611 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-07 02:38:03 +00:00
hendricks266
3a8d53573c Remove actors_inline, game_inline, and sector_inline objects, and move their code into other headers, set up to be compiled into well-fitting objects if inlining them is disabled.
git-svn-id: https://svn.eduke32.com/eduke32@5529 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:35 +00:00
terminx
49bc51a56d Add colmatch object to MSVC Makefile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5386 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:14:56 +00:00
hendricks266
eed78085bc Merge compat-from-mingw-w64 into compat-to-msvc since we dropped support for mainline MinGW32, and add dll_dependency.S so we don't need to build the libs with "-fno-stack-check -fno-stack-protector -mno-stack-arg-probe".
git-svn-id: https://svn.eduke32.com/eduke32@5341 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 02:58:03 +00:00
terminx
1054a60183 Disable FLAC in MSVC builds for now until I have time to build new libraries that are compatible with VS2015. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5287 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:41 +00:00
terminx
babb9d9d61 Android and MSVC build fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5259 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-30 23:31:59 +00:00
hendricks266
b7b23310e3 Revert recent icon changes.
git-svn-id: https://svn.eduke32.com/eduke32@5253 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:46:44 +00:00
hendricks266
e9655f8469 Add SW to our build system and make relevant changes to avoid fatal build errors.
git-svn-id: https://svn.eduke32.com/eduke32@5197 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:56:03 +00:00
terminx
50c30ab790 Animation system overhaul part 1. This allows for an unlimited number of .anm/.ivf files to be defined via duke3d.def and played back at any time with the new CON commands. Syntax is currently as follows, but may change:
cutscene "somefile.anm" { delay 10 } // defines somefile.anm with a delay of 10 120Hz tics between frames. a more typical framerate method may come later, but this is how the originals worked.

Once defined, they can be played through CON with the new playback command, also called "cutscene". It works like this:

definequote 12345 somefile.anm
define ANIM_SOMEFILE 12345

...

cutscene ANIM_SOMEFILE // halts game execution and immediately plays cutscene, resuming execution when finished

...

Sounds can be played during animations (and tiles can be overlaid, etc) like this:

onevent EVENT_CUTSCENE
    ifcutscene ANIM_SOMEFILE
    {
        ifvare RETURN 12 // frame 12
            sound FLY_BY
        rotatesprite ...
    }
endevent

The value of the RETURN var at the end of EVENT_CUTSCENE determines the next frame to play. This can be used for looping, etc. Attempting to play animations backwards outright is not advised as animations only seek in one direction (so rewinding requires running it through from frame 0 again). This is will WIP and hasn't been heavily tested at all, so please try it out.

git-svn-id: https://svn.eduke32.com/eduke32@4987 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:07 +00:00
hendricks266
3f846bdde3 Reinstate MD4.
git-svn-id: https://svn.eduke32.com/eduke32@4883 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-08 15:13:28 +00:00
terminx
999f789438 Fix a couple of Makefile errors Helixhorned noticed. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4713 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:34:49 +00:00
terminx
683a4fb728 Nuke unused lzwnew.c/h
git-svn-id: https://svn.eduke32.com/eduke32@4663 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:12 +00:00
terminx
4263626f97 Misc additional optimizations, mostly to polymost/mdsprite. Also separate voxmodel into its own source file and object. This commit is pretty large because I was hitting the limit of what could realistically be carved up into smaller patches. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4639 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:18:43 +00:00
terminx
76ad1ce07e Move USE_LIBVPX definition to correct location in Makefile.msvc
git-svn-id: https://svn.eduke32.com/eduke32@4598 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:03:54 +00:00
hendricks266
b310eaef2c Fix MSVC build.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4566 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 09:00:28 +00:00
hendricks266
a7fb2721e4 Move code non-specific to Duke Nukem 3D from astub.c to a new m32common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4561 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:37 +00:00
hendricks266
5237346f5b Move code non-specific to Duke Nukem 3D from source/common.c to a new build/src/common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4559 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:46 +00:00
hendricks266
b48f3b44e3 Progress towards KenBuild Editor, part 1.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4558 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:16 +00:00
hendricks266
4e5788a32d Delete empty folders and update ignore properties.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4554 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 07:58:03 +00:00
hendricks266
e79a2fe828 MSVC build system consolidation.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4553 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 07:21:29 +00:00
hendricks266
b332189ae5 Ball-busting Makefile restructure.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4543 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 07:25:54 +00:00
terminx
330119f482 MSVC build fix
git-svn-id: https://svn.eduke32.com/eduke32@4532 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:11:11 +00:00
hendricks266
70caa24f24 MSVC: Set up support for SDL2. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4326 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-11 07:39:09 +00:00
hendricks266
8f9ffcf23f MSVC: Add support for x64 building and all synthesis libs (libpng/zlib, libvpx, libFLAC).
External ogg/vorbis are no longer required.

git-svn-id: https://svn.eduke32.com/eduke32@4320 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:59:42 +00:00
hendricks266
4297507c8f Dynamicsoundremap.
git-svn-id: https://svn.eduke32.com/eduke32@3834 1a8010ca-5511-0410-912e-c29ae57300e0
2013-06-01 06:55:30 +00:00
terminx
7e22c6d81c Read GOG.com and Steam Duke3D install paths from the registry instead of hard-coding the default paths.
git-svn-id: https://svn.eduke32.com/eduke32@3615 1a8010ca-5511-0410-912e-c29ae57300e0
2013-03-27 01:39:18 +00:00
terminx
3e4ea93b20 Directory cleanup. Move the "Apple", "Windows", and "Wii" directories to a new "platform" dir, move the contents of "psd" to "rsrc/source", move eobj* and obj* directories so that they're under the "source" dir.
git-svn-id: https://svn.eduke32.com/eduke32@3551 1a8010ca-5511-0410-912e-c29ae57300e0
2013-03-04 04:14:19 +00:00
terminx
0ae2d9ad60 Fix DirectSound in MSVC builds and remove the dependency on the DirectX SDK
git-svn-id: https://svn.eduke32.com/eduke32@3330 1a8010ca-5511-0410-912e-c29ae57300e0
2012-12-29 05:22:39 +00:00
terminx
af4ca16ddd Remove a few old references to the duke3d_w32.exe wrapper we once shipped
to facilitate compatibility with stuff like Dukester X years ago

git-svn-id: https://svn.eduke32.com/eduke32@3297 1a8010ca-5511-0410-912e-c29ae57300e0
2012-12-16 04:04:16 +00:00
terminx
ba8d1a5c1e Change a few paths in various MSVC Makefiles to better suit my current dev environment. This doesn't really affect anyone else since these paths need to be customized to fit whatever machine by anyone building with MSVC anyway.
git-svn-id: https://svn.eduke32.com/eduke32@3282 1a8010ca-5511-0410-912e-c29ae57300e0
2012-12-14 17:13:17 +00:00
hendricks266
dac94ce284 Win64 support! (Meaning it works, not that we recommend it for everyday use.)
This includes a complete Windows header and library refresh, including the addition of 64-bit compiled libs:
*libogg 1.3.0
*libvorbis 1.3.3
*zlib 1.2.7
*libpng 1.5.13
*libvpx 9a3de881c0e681ba1a79a166a86308bbc84b4acd
*SDL_mixer 1.2.12 (for RENDERTYPE=SDL)
*DirectX import libraries: dsound and dxguid (now included)

To build in 64-bit, you essentially need MinGW's MSYS (but not MinGW itself) and MinGW-w64 at the top of your PATH. The target is automatically detected using `$(CC) -dumpmachine`. The EDukeWiki will get detailed instrucitons.

All compiler and linker warnings when building in 64-bit mode have been fixed.

Remaining 64-bit to-do:
 - The ebacktrace dll does not build under 64-bit. It uses code specific to the format of 32-bit executables and will have to be ported to work with 64-bit executables. A future 64-bit version will be named ebacktrace1-64.dll.
 - RENDERTYPE=SDL crashes in SDL_mixer's Mix_Linked_Version().
 - DirectInput gives an error and does not function. This only affects joysticks, and the error never happens without any plugged in.
 - Port the classic renderer ASM to 64-bit. (Just kidding, this is way out of my league.)

This commit includes a fair bit of Makefile development spanning all platforms, including simplifying the SDLCONFIG code, fixing build on Mac OS X (thanks rhoenie!), globally factoring Apple brew/port inclusion, enforcing that all -L come before all -l, and ensuring that $(shell ) is always :='d.

In addition, I have resurrected the old GCC_MAJOR and GCC_MINOR detection using `$(CC) -dumpversion`, but I have made it failsafe in case the command fails or the version is manually specified. I have applied this new fine-grained detection where applicable, including allowing LTO, and restraining -W's to versions that support them.

git-svn-id: https://svn.eduke32.com/eduke32@3278 1a8010ca-5511-0410-912e-c29ae57300e0
2012-12-13 02:37:20 +00:00
terminx
2ab811cd9b Remove xdelta3 since it doesn't fit in with our current networking plans anymore
git-svn-id: https://svn.eduke32.com/eduke32@3193 1a8010ca-5511-0410-912e-c29ae57300e0
2012-11-16 15:40:28 +00:00