2332 Commits

Author SHA1 Message Date
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
Fabian Greffrath
0513ad2b77 add a -nodehlump parameter to avoid loading DEHACKED lumps embedded into WAD files 2020-01-16 15:55:59 +01:00
Fabian Greffrath
2a91c5f6bc fix misguided cppcheck fix for FixedDiv()
Replace with the corresponding implementation from Chocolate Doom,
to get back to the same demo compatibility as the original WinMBF.
2020-01-16 11:40:44 +01:00
Fabian Greffrath
ea731b0409 set all compiler flags in the same paragaph in configure.ac 2020-01-16 11:32:20 +01:00
Fabian Greffrath
cf6a7595cd fix possible NULL-pointer dereference in deh_procStringSub() 2020-01-16 11:31:30 +01:00
Fabian Greffrath
6039293aca replace the useless -statcopy parameter with -statdump from Chocolate Doom
Fixes #36
2020-01-16 10:31:11 +01:00
Fabian Greffrath
51b138b026 remove length check from ExtractFileBase()
This allows us to load demos with filenames longer than 8 characters.
2020-01-16 10:30:30 +01:00
Fabian Greffrath
6be3ec2d9e make flashing disk icon a bit less aggressive
We now only draw the disk icon if more than 20kb of WAD data have been read
during a tic, thanks @fragglet for noticing.
2020-01-16 08:55:58 +01:00
Fabian Greffrath
8bdbefcff5 cast pointers instead of silencing warnings
This will fix some strange behaviour which overrides some config
variables default values when resetting from the menu.

Fixes #34, thanks @JNechaevsky.
2020-01-15 08:54:24 +01:00
Fabian Greffrath
13715cd5f9 include config.h in doomdef.h 2020-01-14 16:19:59 +01:00
Fabian Greffrath
1f41cbee4b
bring back the flashing disk icon (#35)
* bring back the flashing disk icon (Fixes #13)

* further refinements to the disk icon code

* get away with only one static variable

* add a non hires-scaling variant of V_DrawBlock()

* add a comment to the new function prototype
2020-01-14 08:57:46 +01:00
Fabian Greffrath
de664b2669 build with -DRANGECHECK 2020-01-13 23:17:32 +01:00
Fabian Greffrath
9a53d72c21 turn error message into a full sentence 2020-01-13 23:09:55 +01:00
Fabian Greffrath
6fa9663ae8 add back the documentation
This adds back most relevant documentation from the WinMBF
binary and source code releases, file names converted to
lower case. Fixes #32.
2020-01-13 15:29:26 +01:00
Fabian Greffrath
2f9ea0128b actually check for the precense of the dlopen() function
and not merely for the presence of a library containing it.
2020-01-13 12:59:38 +01:00
Fabian Greffrath
0cba0cd83b fix building if dlopen() is no t available 2020-01-13 12:14:00 +01:00
Fabian Greffrath
317202c05f bring back the original Spectre/Invisibility fuzz effect
Apply the original fix found in @fragglet's repository from Lee's
why_i_left_doom.html. Fixes #33
2020-01-13 12:08:11 +01:00
Fabian Greffrath
3cd2ffdde5 dynamically load SDL_Image at runtime for PNG screenshots
Fixes #31
2020-01-13 12:03:15 +01:00
Fabian Greffrath
37767f4858 fix TRANMAP caching
When reading a TRANMAP lump in from a file, only the first 256 bytes
of the current palette are compared to the palette for which the
TRANMAP was created. An entire palette, though, consists of 256 RGB
tripel and is thus 3*256 bytes long. Thus, only the first third of
both palettes are compared and if these happen to match, translucency
will look glitched.

Fix this by comparing and writing out the entire palette to the cache
file.
2020-01-13 08:28:17 +01:00
Fabian Greffrath
37a15253dd fix crash when attack sound is missing 2020-01-11 12:46:00 +01:00
Fabian Greffrath
f8aaa2bfab ignore too short demo lumps
not only empty ones
2020-01-11 11:34:13 +01:00
Fabian Greffrath
00e17c0e1f pad the REJECT table when the lump is too small
This reverts the previous commit which only handled the case of an
absent REJECT table. No attempts are made to simulate REJECT buffer
overflows in Vanilla Doom, because MBF is a different EXE anyway.
2020-01-10 15:36:56 +01:00