1996 Commits

Author SHA1 Message Date
Fabian Greffrath
0515086c7e prepare for Woof 3.1.0 2021-01-03 22:34:36 +01:00
Fabian Greffrath
696db29f58 improved logging for level setup and game loading 2020-12-30 16:17:21 +01:00
Fabian Greffrath
f9440f8678 save total time for all completed levels 2020-12-30 15:49:48 +01:00
Fabian Greffrath
222f202110 generate a default save slot name when the user saves to an empty slot 2020-12-30 15:44:26 +01:00
Fabian Greffrath
16fc9af24d turn beta.c and dogs.c into header files 2020-12-23 15:28:52 +01:00
Fabian Greffrath
64be5172a1
Simplify empty DEHACKED lump check 2020-12-07 20:24:21 +01:00
Fabian Greffrath
610d20ff8d report compatibility mode in G_DoPlayDemo() 2020-12-07 11:29:32 +01:00
Fabian Greffrath
5b0607a3a9 Merge branch 'master' of https://github.com/fabiangreffrath/woof 2020-12-03 11:55:24 +01:00
Fabian Greffrath
e1a99fd99d turn embedded dogs and beta lumps into static const arrays 2020-12-03 11:55:06 +01:00
Fabian Greffrath
567c0c6d95 fix a copy-paste typo in the previous commit 2020-12-01 16:55:24 +01:00
Fabian Greffrath
2532c5021e enable menu items that offer a selection of choices
The code is mostly a straight port from PrBoom+.

Also, as a proof of concept, apply this to the "Weapon Attack
Alignment" feature which now offers a choice of "Off", "Centered" and
"Bobbing".
2020-12-01 09:04:55 +01:00
Fabian Greffrath
9d8c4adfcf Woof! 3.0.0 woof_3.0.0 2020-11-30 08:30:55 +01:00
Fabian Greffrath
3dca444d1b
prepare README.md for Woof! 3.0.0 2020-11-26 10:51:20 +01:00
Fabian Greffrath
a9e7d61bc4 change all [crispy] comments to [FG]
This is not meant to be Crispy MBF, so let's not raise expectations.
2020-11-24 11:18:28 +01:00
Fabian Greffrath
fc753183d9 next try 2020-11-24 11:11:46 +01:00
Fabian Greffrath
4ca7efc9e4 seriously, cppcheck? 2020-11-24 11:01:12 +01:00
Fabian Greffrath
4d86d50d1a hopefully fix cppcheck warning 2020-11-24 10:55:15 +01:00
Fabian Greffrath
685cb6b145 skip empty DEHACKED lumps
I am looking at you, ElevenZero.wad!
2020-11-24 10:18:20 +01:00
Fabian Greffrath
06f60fe31e
upgrade parts of the renderer to 64-bit integer types (#96)
* upgrade parts of the renderer to 64-bit integer types

* add comments to changed variable declarations
2020-11-24 09:41:56 +01:00
Fabian Greffrath
55b86f01d9
composite all textures, whether single-patched or not (#97)
* composite all textures, whether single-patched or not

With this commit, Crispy now composes all textures, whether they are
single-patched or not. It generates to composites per texture, one for
rendering mid-textures on 2S wall which may contain translucent areas,
and another one for rendering textures on 1S walls and the sky,
respectively.

No column is ever read directly from a patch lump anymore. This keeps
the Medusa bug fixed but also fixes graphical glitches with e.g.
single-patched textures that are shorter than the patch, etc.

* initialize opaque texture column offset earlier

* compose tall patch compliant texture columns

Once we pass the 254 pixel boundary, the topdelta value becomes relative.
2020-11-24 09:41:36 +01:00
Fabian Greffrath
59a34882b3 make seesounds uninterruptible 2020-11-04 13:53:44 +01:00
Fabian Greffrath
1bcd7a0c8c Merge branch 'master' of https://github.com/fabiangreffrath/woof 2020-11-03 15:17:24 +01:00
Fabian Greffrath
c6919c220f play sounds in full length
This is a "light" variant of the same feature in Crispy Doom, i.e.
removed map objects may finish their sounds but this does not apply to
sounds with origin == NULL, i.e. sounds that emerge "in the player's
head".
2020-11-03 15:15:27 +01:00
Fabian Greffrath
96cc370489 make player coords widget in automap optional
Fixes #95, thanks valkiriforce and @penRift412.
2020-10-23 09:08:33 +02:00
Fabian Greffrath
9c5beb9eaf Woof! 2.3.2 woof_2.3.2 2020-10-19 09:24:19 +02:00
Fabian Greffrath
c878d49914 use stdlib's free() to free a string returned by M_StringDuplicate()
This fixes a crash when the finale text screen appears a second time.
Thanks again valkiriforce.

Deja-Vu? dd8ce324e8f753b2e31efc2fe790387b1276c5b2
2020-10-14 12:45:25 +02:00
Fabian Greffrath
a4da046d99 Detect and ignore demos in PrBoom's own demo format. 2020-10-08 14:12:20 +02:00
Fabian Greffrath
f1ceadb155 Woof! 2.3.1 woof_2.3.1 2020-09-30 11:12:20 +02:00
Fabian Greffrath
ab9a301374 add line breaks to finale texts exceeding screenwidth 2020-09-28 09:25:04 +02:00
Fabian Greffrath
37a8465873 move the automap stats down a line
so the messages don't overlap the kill counter
2020-09-28 08:42:52 +02:00
Fabian Greffrath
e148d69ebb Woof! 2.3.0 woof_2.3.0 2020-09-21 07:24:48 +02:00
Fabian Greffrath
aa55585a26 show "Picked up a Medikit that you really need" message as intended 2020-09-20 21:55:11 +02:00
Fabian Greffrath
db2b974faf show "Ouch Face" as intended 2020-09-20 21:54:56 +02:00
Fabian Greffrath
583e6d2196 clarify use mouse button vs double click in the key bindings menu 2020-09-14 14:36:54 +02:00
Fabian Greffrath
11861db333 add a mouse button for "use"
add option for double click acts as "use"
2020-09-14 12:23:45 +02:00
Fabian Greffrath
4a3ac47da2 add a secret option to force integer scales 2020-09-14 12:02:30 +02:00
Fabian Greffrath
2653a44a4c set default CMake build type to RelWithDebInfo
This enables both optimizations (-O2) and debug symbols (-g), so strip
the latter during the install rule. While at it, increase verbosity
for the default build.
2020-09-11 12:06:28 +02:00
Fabian Greffrath
38a869a785 Woof! 2.2.0 woof_2.2.0 2020-09-11 10:51:03 +02:00
Fabian Greffrath
d8bfe55a52 yet another implementation, closer to Crispy this time 2020-09-10 15:32:51 +02:00
Fabian Greffrath
07371721ca check weapon sprites state, not flash sprite state 2020-09-10 14:53:43 +02:00
Fabian Greffrath
e44554d669 add one forgotten condition to weapon sprite centering 2020-09-10 14:49:24 +02:00
Fabian Greffrath
2c2a61f5ae fix check for the deh_bexptrs[i].lookup being NULL
The deh_bexptrs[i].lookup is a pointer to a char array and is never
NULL. Check for the actual code pointer being NULL instead. This fixes
a crash with Dehacked patches pointing to non-existent code pointers,
e.g. the one embedded into SihR2fix.wad.

Thanks Catpho for the report.
2020-09-10 14:35:05 +02:00
Fabian Greffrath
b00e9460b4 add option to center weapon sprite during attack 2020-09-10 12:09:40 +02:00
Fabian Greffrath
18c2167893 draw level stats and level time widgets on the Automap 2020-09-07 12:25:30 +02:00
Fabian Greffrath
01568e4b22 Woof! 2.1.1 woof_2.1.1 2020-09-03 09:00:24 +02:00
Fabian Greffrath
72dcfc98ea replace uses of Mix_OpenAudio() with Mix_OpenAudioDevice()
Presently in SDL2_Mixer, Mix_OpenAudio() will by default always open
the "best matching" channel count it can of the sound driver. Certain
headphones only report a 7.1 output to the device driver which means
it will always open 8 channels, even if you only specify 2. This may
end up causing the audio buffer to come out malformed with sounds
playing too fast and producing corruption, failing to produce
directional audio and crashing in rather obscure ways.

It is concluded by SDL2 upstream that Mix_OpenAudio() should be
considered deprecated, and that Mix_OpenAudioDevice() should be called
instead directly with the additional flag removed that adapts the
channel count that Mix_OpenAudio() always uses. Reportedly, this fixes
all the problems.

Thanks to Edward850 for pointing this issue out and proposing the
fix.
2020-09-03 08:54:07 +02:00
Fabian Greffrath
71a771e29b bump SDL2 library requirements
We are going to replace calls to the deprecated Mix_OpenAudio() API
with Mix_OpenAudioDevice() which has been added to SDL2_Mixer 2.0.2,
which in turn depends on SDL 2.0.7.

Both library versions have been released in Oct 2017.
2020-09-03 08:50:37 +02:00
Fabian Greffrath
6fda34f497 interpolate linetype 242 control sectors as well
Fixes #93, thanks @simc2.
2020-08-28 10:57:41 +02:00
Fabian Greffrath
974e602f9c Woof! 2.1.0 woof_2.1.0 2020-08-17 08:30:04 +02:00
Fabian Greffrath
24bca87c06 add key bindings to reload current level / go to next level
Thanks Aurelius for the suggestion.
2020-08-10 09:05:27 +02:00