Commit graph

8190 commits

Author SHA1 Message Date
Fabian Greffrath
478c1b3cda do not install manpages for generic config files anymore
Some checks failed
cpp-linter / cpp-linter (clang) (push) Has been cancelled
cppcheck / cppcheck (push) Has been cancelled
Continuous Integration / macOS Clang (push) Has been cancelled
Continuous Integration / MSYS2 MINGW32 (push) Has been cancelled
Continuous Integration / MSYS2 UCRT64 (push) Has been cancelled
Continuous Integration / Linux GCC (push) Has been cancelled
update wiki / update-wiki (push) Has been cancelled
Fixes #1190
2024-03-30 17:08:10 +01:00
Julia Nechaevskaya
860f9504a3
Raven: allow multiple jumps over menu items with same first letters (#1182)
* Allow multiple jumps over menu items with same first letters

* Small correction
2024-03-05 20:03:15 +03:00
Julia Nechaevskaya
4d30f1a48b
Hexen: interpolate sky scrolling (#1181) 2024-03-02 10:50:23 +03:00
Julia Nechaevskaya
82c4cbbdab
Hexen: apply brightmaps to few fire objects (#1180) 2024-03-01 21:40:02 +03:00
Julia Nechaevskaya
b977db389a
Heretic & Hexen: keep cursor position after deleting a save game (#1179) 2024-03-01 19:47:40 +03:00
Julia Nechaevskaya
168cba550b
Hexen: improve line drawing in automap overlay mode (#1178) 2024-03-01 19:16:21 +03:00
Fabian Greffrath
580096dd8c Merge branch 'master' of github.com:chocolate-doom/chocolate-doom 2024-02-26 22:09:23 +01:00
kitchen-ace
d80f4a110b
Merge pull request #1172 from kitchen-ace/raven_menu
Heretic & Hexen: any key opens the menu when not in a demo
2024-02-22 07:32:10 +00:00
kitchen-ace
2ec5e461eb Heretic & Hexen: any key opens the menu when not in a demo
Fixes minor regression in #1151
Thanks @mikeday0
2024-02-22 00:48:25 -05:00
NY00123
f254d2151f hexen/strife: Reduce scope of variable "i" in function InitGameVersion
Note that this cannot be done for Doom.
2024-02-21 16:00:03 +02:00
NY00123
31a49f4089 doom/hexen/strife: Make gameversions structs const 2024-02-21 16:00:03 +02:00
NY00123
d5a20276ea d_main.c: Remove trailing whitespace found while using code for Hexen 2024-02-21 16:00:03 +02:00
Julia Nechaevskaya
c181fa76b2
Heretic: check if backsector is NULL (#1670)
* Heretic: check if backsector is NULL

* NULL pointer, not assumed random bytes

* More correct comment

* More actual comment

Co-Authored-By: Turo Lamminen <turol@users.noreply.github.com>

---------

Co-authored-by: Turo Lamminen <turol@users.noreply.github.com>
2024-02-20 21:04:36 +01:00
Fabian Greffrath
8d663901c4
Merge pull request #1394 from NY00123/hexen_1_1
Hexen: Support two variations of v1.1 with -gameversion
2024-02-20 13:49:42 +01:00
Fabian Greffrath
8f0360a6ac
Merge pull request #1666 from mikeday0/ravenaddjoybinds
Add more gamepad binds to Heretic and Hexen
2024-02-20 13:49:12 +01:00
Fabian Greffrath
1e38cc37d7
Merge pull request #1669 from mikeday0/hexendesync
hexen: Fix P_LookForPlayers desync
2024-02-20 13:42:32 +01:00
Michael Day
82f4fee5f1 hexen/strife: Fix P_LookForPlayers infinite loop
Fix potential lock-up that can occur when there are more than four
players.
2024-02-19 13:48:33 -05:00
SoDOOManiac
0f7d128ff8
Merge pull request #1168 from fabiangreffrath/aspect-ratio-wording
Aspect ratio wording for Doom
2024-02-19 21:34:46 +03:00
Roman Fomin
6969f6d8f0
Fix ASAN report about use after free (#1667)
`GetTargetForAddr` can invalidate pointers because of the use of `realloc`. Get
element from the `targets` array again.
2024-02-19 11:40:00 +01:00
Julia Nechaevskaya
386580757c
Heretic: use safe function for puff spawning (#1170) 2024-02-17 23:18:43 +01:00
SoDOOManiac
9866075afb Changed Aspect Ratio menu item wording in Doom like it was changed for Heretic, Hexen and Strife 2024-02-17 21:01:54 +03:00
Michael Day
93fd43794a Revert "Fix lockups in Hexen and Strife when playing with more than four"
This reverts commit d6693cc9e1.
2024-02-16 08:02:21 -05:00
Julia Nechaevskaya
8040cdea23
Hexen: remove redundant r_angle initialization (#1165) 2024-02-13 19:38:57 +03:00
Roman Fomin
9e79ead135
Enable "update" for MSYS2 CI workflow (#1668) 2024-02-13 10:57:27 +01:00
Michael Day
e01e04c075
Get full output from libsamplerate by default (#1164) 2024-02-11 10:13:58 -05:00
Fabian Greffrath
17dd307232 fix saving Hexen game overrides first slot name
Fixes #1160
2024-02-09 18:09:00 +01:00
Julia Nechaevskaya
95d88556ac
Hexen: don't interpolate mobjs that pass through teleporters (#1159)
Co-authored-by: Lexi Mayfield <23563+alexmax@users.noreply.github.com>
2024-02-09 12:07:10 +03:00
Michael Day
4d81e42091 setup: Add "More controls" for new gamepad binds 2024-02-08 09:22:04 -05:00
Michael Day
f6956e2832 raven: Add flying joystick binds 2024-02-08 09:21:53 -05:00
Julia Nechaevskaya
fe07f5ac8a
Hexen: fix incorrect colormap indexes while active Torch artifact (#1156)
Co-Authored-By: kitchen-ace <47063032+kitchen-ace@users.noreply.github.com>
2024-02-08 12:19:40 +03:00
kitchen-ace
5f752b1b7c
Merge pull request #1155 from kitchen-ace/serptorch
Heretic: custom brightmap for serpent torch
2024-02-07 13:07:13 +00:00
kitchen-ace
c19590a49a Heretic: custom brightmap for serpent torch
The stem of the torch uses a colour included in the 'flame' brightmap
on a few pixels, and it looks funny in the dark. The head of the
torch uses this colour too but it still doesn't look too bad when
it's excluded from the brightmap.
2024-02-06 11:30:39 -05:00
Michael Day
28109d47dc raven: Add artifact joystick binds 2024-02-06 09:49:25 -05:00
Julia Nechaevskaya
923ae92469
Hexen: fix possible overflows on walls rendering (#1154) 2024-02-04 17:21:45 +03:00
Michael Day
51e8a5cd73
raven: Fix medusa effect (#1152)
This is largely Lee Killough's original fix taken from MBF. There are
some extra improvements that Fabian added to Doom that are not present
here. In particular this implementation does not composite single patch
textures, because doing so breaks the Heretic and Hexen skies.
2024-02-02 15:58:36 -05:00
Julia Nechaevskaya
7c1cef4dfa
Update truecolor code (#1153)
* Doom & Heretic: generate HSV tables only once at startup

* Doom & Heretic: generate pal_color[] array from original palette

* Doom: replace truecolor-only occurences of colormaps[] with pal_color[]

* Heretic: replace truecolor-only occurences of colormaps[] with pal_color[]

* Hexen: replace truecolor-only occurences of colormaps[] with pal_color[]

* Add comment(s) for introduced pal_color[] array
2024-02-02 22:08:30 +03:00
Julia Nechaevskaya
66633a2229
Hexen: add true color support (#1145)
* Initials

* Vissprite blending function

* Minimal support for foggy maps and gamma-correction

* Implement ice and Wraithverge palettes

* Implement Bloodscourge palettes

Also fine-tune Wraithverge a little bit.

* Implement poison palettes

This is exactly what happens when the vanilla bug with the missing first palette plays on our side, because index 13 uses a different colouring!

* Fine-tune color panes for better representation of paletted render

Still not 100% identical to vanilla, but very close. Probably it will not be possible to see the difference without comparing frame by frame.

* Fine-tune colors even more using DoomWiki values

Good to know I was very close to them! 👩🏻‍🎨

Co-Authored-By: kitchen-ace <47063032+kitchen-ace@users.noreply.github.com>

* Refactor foggy colormaps handling

First of all, reduce diff and get rid of "actual_colormap" external variable as we always know exactly which colormap should be used.

Next, since things are gettig more complicated in true color, it might be a good idea to do not alter original R_InitColormaps function and use our own instead. Original one doesn't need any incoming parameters after all.

Colour translations and string tables are now generated only once at startup, we don't need to regenerate them every level change and every gamma-correction change (worth to follow this suite for other games in other PR).

Finally, foggy maps now have decent fog, but this seems to be the last nail in the coffin of "support for modified colormaps"...

* Do not forget to release PLAYPAL lump name

It's locked at the start of R_InitTrueColormaps and must be released in the end, since commonly it is loaded into PU_CACHE!

* implement "Alt" tinttab blending

* Review and slightly simplify Raven patch drawing functions

In this commit:

- V_DrawShadowedPatch: shadows now uses proper values for paletted render and more accurate opacity for true colour (that's why they were not intense enough).
- V_DrawAltTLPatch: now uses proper translucency levels for paletted and true colour renders (drawalttinttab).
- There is no need of arrays for Raven translucent patches, as they will never be coloured (dp_translation) or have different translucencies (dp_translucent), let's just use straight and simple declarations.

* Implement true color fading for finale screens

* Fix accidental delete

* Handle vanilla bug with incorrect 255th COLORMAP color

And provide reasonable support for custom COLORMAP lump: do not replace black with white if custom COLORMAP is loaded.

Co-Authored-By: Fabian Greffrath <fabian@greffrath.com>

* Translucensy for Cleric's Icon of the Defender effects

This is where difference between common and "alt" blending functions is very notable.

* bring (non-)truecolor colormaps in line with Vanilla Hexen

* truecolor Hexen: draw patches directly with palette colors

* Remove no longer used code, macrocize BLENDSTEP

* Guard alt tinttab sprite blending with "else"

---------

Co-authored-by: kitchen-ace <47063032+kitchen-ace@users.noreply.github.com>
Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2024-02-02 12:55:03 +03:00
Roman Fomin
3ce50352e5
Update workflow actions versions to fix GitHub warnings (#1664)
* Update actions/upload-artifact version to fix GitHub warnings

* Update actions/checkout version, don't install libsdl2-image-dev
2024-02-02 03:50:58 +01:00
Roman Fomin
0b6b6f7b78
Add release step to CI workflow (#1643)
* Add release step to CI workflow

* Add RELEASE_NOTES.md

* Add 64-bit suffix for Windows packages
2024-01-31 19:50:15 +01:00
kitchen-ace
cbd56ecdba
Heretic & Hexen: demo playback fixes (#1151)
* Heretic/Hexen: enable demo fast-forwarding
The button was already assignable, it just didn't do anything.
Additionally, don't pop up the menu during a demo, unless the user
presses the menu key, as in Crispy Doom.

* Hexen: fix usergame being disabled when not in a demo
2024-01-31 10:47:13 +00:00
Michael Day
b40436fcf7
Improve Hexen polyobject interpolation (#1148)
* hexen: Use "rendering-only" coords and angle

* hexen: Update polyobject interpolation

Polyobject interpolation only changes rendering coordinates and
rendering angles.
2024-01-28 21:51:56 -05:00
kitchen-ace
27f72ece43
Merge pull request #1143 from kitchen-ace/htic_scrollers
Heretic: improve flat scrolling animations
2024-01-28 08:57:26 +00:00
kitchen-ace
464f38026e Heretic: improve flat scrolling animations
Crispy already has x and y offsets on flats for interpolated scrolling.
Using these for drawing all scrolling flats means any flat can scroll,
and in any direction, without visual errors.
2024-01-28 03:21:54 -05:00
Turo Lamminen
7c4f352a0c Bump cppcheck action to run on Ubuntu 22.04 2024-01-27 17:34:21 +02:00
Turo Lamminen
57c127b861 strife: Add error checking in G_NextWeapon to silence cppcheck warning 2024-01-27 17:34:21 +02:00
Turo Lamminen
15c406a443 heretic: Add error checking in G_NextWeapon to silence cppcheck warning 2024-01-27 17:34:21 +02:00
Turo Lamminen
61d285e851 doom: Add error checking in G_NextWeapon to silence cppcheck warning 2024-01-27 17:34:21 +02:00
Turo Lamminen
1ad03f0a89 heretic: Fix cppcheck signedness warning in A_GauntletAttack 2024-01-27 17:34:21 +02:00
Michael Day
2eadcbe3df
Minor sideloading improvements (#1141)
* doom: Sideloading renames lumps in autoloaded wads

Lumps in autoloaded wads pulled in by sideloading are now subject to the
same renaming as the original sideloaded wad.

* doom: Rename sideloaded Master Levels *PIC lumps

* doom: Master Levels has its own intermission pic

* doom: Allow autoload for aggregated Master Levels

Autoload from the MASTERLEVELS.WAD folder when using the loose Master
Levels wads.
2024-01-25 09:11:43 -05:00
Michael Day
08cf38e30f
Make extra cfg man pages refer to correct game (#1660) 2024-01-23 19:47:26 +01:00