2003 Commits

Author SHA1 Message Date
Fabian Greffrath
b1016a0f7c take account of the most recent changes 2020-02-03 12:50:36 +01:00
Fabian Greffrath
5e2c0f65bd
document updates to the build system 2020-02-03 12:16:12 +01:00
Alex Mayfield
b13b8fc415
CMake Build System (#48)
* First stab at CMake

It builds on Linux, and cross-compiles to Windows as well using the
provided toolchain files.  convert-icon is also fixed up with argument
count checking and modern format strings, along with all flake8 warnings
fixed.

* Fix Visual Studio compilation

* Add a newline to gitignore

* Build system updates

- Add documentation.
- Add options for defines.
- Automatically copy DLL files to binary directory.
- Add preliminary CPack support which packages the binary plus docs and
  DLL files.

* Fix SDL2_FILES conditional

* Build Windows and Linux packages

We use our own Python script instead of unix2dos.  Also, a few other
random fixes came along for the ride.

* Fix up warnings and defines on MSVC

* Update Travis to use CMake

* Remove automake and autoconf files

* Yet more build system updates

- Add docs, examples, and desktop stuff to binary packages.
- Get rid of HAVE_CONFIG_H.
- Change HAVE_DLOPEN to something more CMake-like.
- Add optional targets for most of the tools.

* Ignore files for source package

* Add to README file

* Get rid of BETA, DOGS, and fix another Automake straggler

* Prevent in-tree builds

Fixes #21
2020-02-03 12:11:31 +01:00
Fabian Greffrath
b66f8b89f7 fix the (hopefully) last remaining misguided pointers in the menu code 2020-02-01 00:29:59 +01:00
Fabian Greffrath
e5458b62e6 fix some oversights in the legalese paragraph 2020-01-31 12:27:31 +01:00
Fabian Greffrath
719336d57b update license information in README.md in debian/copyright style 2020-01-31 11:40:18 +01:00
Fabian Greffrath
ce4e04cccc unconditionally enable support for helper dogs and beta emulation
No reason anymore to disable them at all, now that we have free replacement
sprites and sounds available.
2020-01-31 11:14:39 +01:00
Fabian Greffrath
1b1f190ae4
remove or replace all non-free embedded lumps (#59)
This commit removes all embedded lumps that are suspected to be based on unlicensed artwork and thus might impose copyright infringement.

Menu graphics lumps that are composed of Doom's own IWAD font are removed. Now, the more complex menus are rendered in the HU font if at least one menu graphics lump is missing.

Additional lumps that were included for Doom v1.1 compatibility were also removed.

The dogs sprites and sounds were replaced with the versions found in GZDoom's repository.

For the dogs sprites (`Source/dogs.c:dogs*[]`) the following applies:

```
// German Shepherd Dog Sprite
//
// Modeled from scratch and rendered in Blender by Nash Muhandes.
//
// Copyright © 2017 Nash Muhandes. All Rights Reserved.
//
// Forum thread - https://forum.zdoom.org/viewtopic.php?f=59&t=58035
//
// Released under CC-BY - https://creativecommons.org/licenses/by/3.0/
```

For the dogs sounds (`Source/dogs.c:dsdg*[]`) the following applies:

For `dsdgact[]` and `dsdgatk[]`:

```
// Edited from "Mr Dog_01.wav" by apolloaiello
// http://freesound.org/people/apolloaiello/sounds/276267/
// http://creativecommons.org/publicdomain/zero/1.0/
```

For `dsdgdth[]`, `dsdgpain[]` and `dsdgsit[]`:

```
// Edited from "DogYelp.wav" by TobiasKosmos
// http://freesound.org/people/TobiasKosmos/sounds/163280/
// https://creativecommons.org/licenses/by/3.0/
```

The plasma ball sprites were replaced with sprites found in the FreeDoom project.

For the plasma ball sprites (`Source/beta.c:pls[12]*[]`) the following applies:

```
// Copyright © 2001-2019
// Contributors to the Freedoom project. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of the Freedoom project nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS
// IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// For a list of contributors to the Freedoom project, see the file
// CREDITS.
```

Fixes #54 .
2020-01-31 08:50:49 +01:00
Fabian Greffrath
ff1a64514a fix compilation on MacOS
Fixes https://github.com/fragglet/DietBoom/issues/3
Thanks @fragglet.
2020-01-29 08:41:57 +01:00
Fabian Greffrath
cf1d1ea24d now fix cppcheck warnings in toolsrc code, yay! 2020-01-28 15:00:40 +01:00
Fabian Greffrath
05030c76f3 include toolsrc in cppcheck CI 2020-01-28 14:50:52 +01:00
Fabian Greffrath
f23229cb2c fix compiler warnings in toolsrc code 2020-01-28 14:45:51 +01:00
Fabian Greffrath
2637885d90 name the static data array after the file name in bin2c 2020-01-28 14:29:09 +01:00
Fabian Greffrath
562f2e58e3 build but do not install the tools in the toolsrc directory 2020-01-28 14:18:10 +01:00
Fabian Greffrath
04736c0555 Fix memory leak when iwad not found 2020-01-28 08:49:03 +01:00
Fabian Greffrath
681a6ee1a6 search for betagrph.wad in the standard search directories 2020-01-27 12:27:33 +01:00
Fabian Greffrath
240db982ac add plain HOME directory to the IWAD search path 2020-01-27 11:31:40 +01:00
Fabian Greffrath
b6e3c5382d search for PWADs by their filename
Search in all search directories, including DOOMWADDIR and
DOOMWADPATH, thanks maxmanium for the suggestion.
2020-01-27 10:35:04 +01:00
Fabian Greffrath
2250d95b7f print a blinking "arrow" next to the currently highlighted menu item
Thanks again Redneckerz.
2020-01-27 09:50:12 +01:00
Fabian Greffrath
7667b1c017 fix HOM when ceilingplane and floorplane are the same visplane
This fixes the visual glitches in Eviternity MAP30, thanks Redneckerz.

Code taken from PrBoom+, slightly adapted.
2020-01-27 08:47:40 +01:00
Fabian Greffrath
b94f7b5abd repair savegame loading
This was accidently destroyed during the compiler warning clean-up.
2020-01-26 13:41:11 +01:00
Mike Swanson
27f21eddf5 automake: go down into the data directory (#56)
Should make both `make dist` and `make install` include these files
properly.
2020-01-24 16:35:54 +01:00
Mike Swanson
dff3d81a09 Include docs and examples directories in win32 packages (#55)
* Convert all DOS-format text files to Unix-format

* pkg/win32: fix clean target to remove staging directory

* pkg/win32: Include docs and examples directories
2020-01-24 12:57:36 +01:00
Fabian Greffrath
2921c7e513 add some more fixed bugs to README.md 2020-01-23 08:52:12 +01:00
Fabian Greffrath
b5f2786d73 Merge branch 'master' of https://github.com/fabiangreffrath/woof 2020-01-22 13:31:46 +01:00
Fabian Greffrath
d15548b1a4 improvements to the README.md document 2020-01-22 13:31:31 +01:00
Mike Swanson
775594c469 pkg: get needed ldflags and copy woof.exe to staging (#53)
* pkg: get needed ldflags and copy woof.exe to staging

Repairs actual operation of the win32 packaging script

* Include the pkg subdirectory so it gets included in `make dist`
2020-01-22 12:45:10 +01:00
Mike Swanson
452970d0b2 configure: stop using AC_FUNC_MALLOC/REALLOC (#52)
These are apparently mostly useless and worse, break
cross-compilation.  See:
https://sourceforge.net/p/mingw-w64/mailman/message/36424004/

Really resolves #50
2020-01-22 12:44:26 +01:00
Fabian Greffrath
81c920c96c review code changes, add or adapt comments where appropriate
Fixes #41.
2020-01-22 12:42:33 +01:00
Fabian Greffrath
92d8eeb7a8 include z_zone.h before config.h in doomdef.h
Gosh, there is even a comment for this. Fixes #50, thanks @chungy.
2020-01-22 10:47:38 +01:00
Fabian Greffrath
76ff38f022 remove exclamation mark from package name
Turns out this was a bit too special and leads to weird replacement strings
and file names. Fixes #51, thanks @chungy.
2020-01-22 08:50:02 +01:00
Mike Swanson
822f09ea79 Add pkg/win32 support to create self-supporting Windows zips (#49) 2020-01-22 08:43:21 +01:00
Fabian Greffrath
ffef698040 fix shameless self-credit /o\ woof_0.9.0 2020-01-21 12:54:21 +01:00
Fabian Greffrath
c9ee3c4844 make data/convert-icon executable 2020-01-21 12:44:07 +01:00
Fabian Greffrath
909c725325
This is Woof! (#47)
* This is Woof!

* shamelessly add myself to the Credits page

* add a stub README.md

Fixes #7
2020-01-21 12:37:35 +01:00
Fabian Greffrath
03d007afd3 improvements to the statdump implementation 2020-01-21 11:54:10 +01:00
Fabian Greffrath
c71b6d4755
apply two more demofixes to EV_VerticalDoor() and EV_BuildStairs() (#46)
After this commit, it seems I am as close to Vanilla Doom compatibility
as I can get without implementing overflow emulation for REJECT, SPECHITS,
INTERCEPTS, etc. Not sure if I want to go this way at all.

Fixes #39.
2020-01-20 21:41:46 +01:00
Fabian Greffrath
58f4445380 fix typo in EV_Teleport() demo compat bug fix 2020-01-20 18:04:17 +01:00
Fabian Greffrath
457ca505f5
make "3-key doors work with only 2 keys" bug optional (#45)
* make "3-key doors work with only 2 keys" bug optional, fixes #38

 * Introduce a compatibility flag for MBF's most famous bug and add it
   to the second menu page in the Doom Compatibility section.

* reverse comp[] logic

* add (config_t *) pointer casts

* improve menu item description

* rename 3keydoors to 3keydoor, matching the menu item

* comments
2020-01-20 11:32:27 +01:00
Fabian Greffrath
10195043fd
apply Vanilla demo fixes (#44)
* apply Vanilla demo fixes

This applies all the fixes found on
http://prboom.sourceforge.net/mbf-bugs.html

Of the demos used for regression checking in Chocolate Doom's
quickcheck directory, the AV and D2TWID demos now pass. The others
still desync sooner or later. :(

* add compatibility changes for EV_VerticalDoor() and EV_BuildStairs()

This time directly taken from PrBoom+.

* cosmetics

* revert major changes to EV_VerticalDoor() and EV_BuildStairs()

I'll probably just inject Vanilla code in there. I somehow prefer
this approach over PrBoom+'s if-the-else hell.

* unifying comments
2020-01-20 11:11:40 +01:00
Fabian Greffrath
171cfc9241 remove the D_MAXSHORT definition
It isn't used anywhere anymore.
2020-01-20 10:38:14 +01:00
Fabian Greffrath
5f957facd1
upgrade the renderer to use 32-bit integer math (#43)
* upgrade renderer to use 32-bit integer math

* extensive commenting
2020-01-20 10:31:17 +01:00
Fabian Greffrath
4d3826b6f0 get rid of the MY_SDL_VER definition
We depend on SDL for more than just a handful of additional variables.
2020-01-18 22:36:25 +01:00
Fabian Greffrath
413cc81009 add the mbf-bugs.html document from the PrBoom homepage
Save it here, in case it gets lost. Sourceforge was down this morning...
2020-01-18 22:25:46 +01:00
Fabian Greffrath
7e6ff37fdb add game version specific differences
This implements the subtle differences found in the three variants
of DOOM.EXE version 1.9. The code was taken from PrBoom+ and
Chocolate Doom, respectively. I decided to go without the original
comments, the code has been commented well enough in other source
ports. @fragglet Do you think these are all the relevant differences?
2020-01-18 15:29:53 +01:00
Fabian Greffrath
5ce7ef8211 adapt Chocolate Doom's gameversion concept
This will be helpful to fix some Final or Ultimate only demo
desyncing issues.
2020-01-17 15:45:38 +01:00
Fabian Greffrath
e6910bf07d support Chocolate Doom's -mb parameter
in addition to WinMBF's own -heapsize parameter
2020-01-17 15:29:30 +01:00
Fabian Greffrath
8e979e383e disable VSync for both timedemo and fastdemo 2020-01-17 12:21:32 +01:00
Fabian Greffrath
f192571251 fix two new compiler warnings introduced by the new joystick buttons 2020-01-16 21:18:42 +01:00
Fabian Greffrath
aacebe1d40
Joystick2 add joystick buttons for automap and main men (#40)
* add joystick buttons for automap and main menu

Fixes #27

* joystick button triggers either escape or menu_escape

* get away with only one GetButtons() function

* rename MAX_JB to MAX_JSB

Joystick buttons are called JSB in the key binding menu,
so we stay consistent with this.

* print PREV and NEXT on separate lines in the weapon key binbing screen

Thanks @JNechaevsky for noticing, fixes #37.
2020-01-16 21:15:45 +01:00