645 Commits

Author SHA1 Message Date
Fabian Greffrath
36972fde3c Merge branch 'master' of https://github.com/fabiangreffrath/woof 2021-12-01 09:37:30 +01:00
Fabian Greffrath
6a061fb0ee update to SDL 2.0.18 2021-12-01 09:37:21 +01:00
Roman Fomin
385dfc44f7
fix scaled time interpolation (#363)
* fix scaled time interpolation

* remove float
2021-11-30 08:52:46 +01:00
Roman Fomin
03b0409584
bring implementation of -timedemo in line with Chocolate Doom (#362) 2021-11-28 20:24:01 +01:00
Roman Fomin
1f2c476af1
fix -timedemo (#361) 2021-11-28 16:05:36 +01:00
Roman Fomin
9d2a8aff4a
fix -fastdemo (#360)
* fix -fastdemo

* fix -speed parameter

* don't use config variable

* fix demowarp and demoskip

* fix formatting

* remove check, alter GetAdjustedTime istead

* remove redundant changes

* offsetms can be negative
2021-11-28 10:43:41 +01:00
Roman Fomin
a85d97cdb6 win midi: fix gcc warning 2021-11-28 11:38:26 +07:00
Roman Fomin
e707e7dc45
win midi: non-linear volume control (#359)
* win midi: non-linear volume control

* add const
2021-11-26 21:06:38 +01:00
Roman Fomin
9babb1647f win midi: fix memory leak 2021-11-27 02:09:34 +07:00
Roman Fomin
2c2eff19d2
integration of Chocolate Doom network code (#280)
* initial import

* code integration

* fix consistancy type

* comment out unused code

* fix out of bounds index

* remove redundant declaration

* fix NET_Log declaration

* fix format errors

* sync Boom/MBF options

* remove game.h include from net_defs.h

* actually write/read Boom/MBF options

* wait for 2 players by default

* TryRunTics is never called in sigletics mode

* fix freeing client name

* remove check for -timer and -avg from P_SpawnSpecials

* remove sha1

* remove sha1.c sha1.h from CMakeLists.txt

* change pet names

* fix gcc warning

* return string duplicate

* add const
2021-11-26 17:50:40 +01:00
Fabian Greffrath
c439e0698a Merge branch 'master' of https://github.com/fabiangreffrath/woof woof_8.1.0 2021-11-26 08:22:24 +01:00
Fabian Greffrath
9b1bb6ab29 release Woof! 8.1.0 2021-11-26 08:18:06 +01:00
Roman Fomin
c06a477a8b fix comp_soul option for boom/mbf complevel 2021-11-23 14:43:17 +07:00
Roman Fomin
87e9b8d2e4
bring implementation of soul bounce fix inline with PrBoom+ (#358)
* add new line

* bring implementation of soul bounce fix inline with PrBoom+

* use P_SetTarget

* add comments
2021-11-22 13:06:11 +01:00
Fabian Greffrath
7dc92387dd header addendum 2021-11-22 11:59:45 +01:00
Fabian Greffrath
a36744b516 let max screenwidth correspond to 21:9 width in hires mode
Also, account for the fact that I_GetScreenDimensions() works
entirely in the lores regime and adapt SCREENWIDTH calculation
accordingly.
2021-11-22 11:58:54 +01:00
Fabian Greffrath
88c93e2fe6 add Crispy comment 2021-11-22 11:41:53 +01:00
Fabian Greffrath
dac878f0d9 only compose etxtures of patches that are in the range of known patches
Fixes a crash at startup with t-drought_RC2.wad
2021-11-22 11:38:31 +01:00
Fabian Greffrath
a23722bf4b only check for double-clicks from second click on (cosmetic change) 2021-11-21 00:13:14 +01:00
Fabian Greffrath
e04346a551 fix double-click acts as "use" for subsequent clicks
Fixes #357
2021-11-20 21:49:25 +01:00
Fabian Greffrath
d613d99b7f add -noload and -noautoload parameters which prevent autoloading of WADs and DEHs 2021-11-20 21:31:42 +01:00
Fabian Greffrath
ff6a3aed44
report current and next level when typing IDCLEV (#354) 2021-11-19 10:33:07 +01:00
Roman Fomin
1ae0dc9462
support for any map (#352)
* support for any map

* fix dprintf name

* simplify VANILLAMAP, reformating

* WRAP music indices around (from PrBoom+)

* integrate old check

* add lnames check

* more paranoid checks for accessing the lnames[] array

* do IDCLEV sanity checks only if map is unavailable

* skip episode sanitizing in G_InitNew() if map is available

* Vanilla maps must be > 0

* remove redundant check

* don't draw blood splats for map > 9

* fix E99M99

* UMAPINFO: fix next/nextsecret may cross episode

* fix gcc warning

* another attempt to fix gcc warning

* change sprintf->snprintf

* change snprintf format

* increase buffer size

Co-authored-by: Fabian Greffrath <fabian@greffrath.com>
2021-11-19 08:25:37 +01:00
Fabian Greffrath
a8bd6cc1cf release Woof! 8.0.0 woof_8.0.0 2021-11-18 10:36:38 +01:00
Fabian Greffrath
74ffa3addc get rid of strlwr() 2021-11-17 21:45:13 +01:00
Fabian Greffrath
4104209912 add range-checking for Doom 2 to G_GotoNextLevel() 2021-11-15 22:06:05 +01:00
Fabian Greffrath
03304f7a50 use dprintf() for printing the autorun on/off message 2021-11-15 21:42:16 +01:00
Fabian Greffrath
b388e5ce85
add global autoload directories to search before local ones (#345)
* add global autoload directories to search before local ones

Fixes #331

* fix WOOFDATADIR path

* remove debug puts()

* use pointer progression instead of array indexing

* replace DOOMDATADIR with WOOFDATADIR

* remove obsolete check for autoload_paths being NULL

PrepareAutoloadPaths() is now only called once before any of the
functions calling GetAutoloadDir() is called.
2021-11-06 19:56:04 +01:00
Roman Fomin
43605c15ff
restore original WI_slamBackground (#348) 2021-11-06 11:12:22 +01:00
Roman Fomin
4c4e3c2e5f
umapinfo: fix enterpic showing on exit levels (#347) 2021-11-06 09:54:10 +01:00
Roman Fomin
a2cb26dbb6
umapinfo: fix enterpic (#346) 2021-11-06 09:53:25 +01:00
Roman Fomin
2cc8f19bff
fix undefined behavior in i_video.c (#344) 2021-11-04 12:32:53 +01:00
Roman Fomin
b99e33afe6
fix mouse/joy button pops up menu on title screen (#343) 2021-11-04 11:52:10 +01:00
Roman Fomin
19d3ab0ae8
add ENDOOM support (from Chocolate Doom) (#184)
* add libtextscreen

* add doomkeys.h

* fix format string warnings

* delete all files unnecessary for ENDOOM

* add ENDOOM support

* show ENDOOM screen in the same window as the game

* add PWADs only option, add comments

* change PWADs->PWAD
2021-11-04 08:54:49 +01:00
Fabian Greffrath
040ebdc133 get rid of the video_scale config variable
We already properly save window dimensions in the window_width
and window_height variables. Still allow to set a scale factor
from the command line, though.
2021-11-04 08:29:10 +01:00
Roman Fomin
e5a79d621c win midi: don't use zone memory 2021-11-04 14:01:53 +07:00
Roman Fomin
427a347f11 win midi: fix memory leak 2021-11-04 13:49:37 +07:00
Roman Fomin
a93ed31d6c
update i_winmusic.c to match Chocolate Doom version (#341)
* update i_winmusic.c to match Chocolate Doom version

* fix playing non-MIDI music
2021-11-03 09:05:06 +01:00
Roman Fomin
54d221df23
convert pusher source thing pointers into indices (#340)
* check for pusher source thing

* convert pusher source thing pointers into indices

* fix gcc build

* fix type cast

* try to simplify type cast

* update savegame version

* remove bump of savegame version

* add pusher->source check

* add pusher type check
2021-11-03 09:03:48 +01:00
Fabian Greffrath
4a4917c7df
port exclusive fullscreen over from Choco/Crispy (#342)
* port exclusive fullscreen over from Choco/Crispy

Fixes #334

* fix disabled menu item

* if fullscreen_width or fullscreen_height are set, default to fullscreen
2021-11-02 12:54:43 +01:00
Roman Fomin
c9455a7d77
fix musinfo lumpnum reset (#338) 2021-11-01 09:10:50 +01:00
Fabian Greffrath
c211d21723
save window position across fullscreen toggles (#337)
Fixes #336
2021-10-31 11:13:34 +01:00
Roman Fomin
af25a7e65c
use height of entering, not map name (#335) 2021-10-31 06:58:12 +01:00
Roman Fomin
c677b91c28
fix episode menu for chex.wad (#333)
* fix episode menu for chex.wad

* move partime to deh, fix secret exit

* remove redundant record
2021-10-30 19:19:23 +02:00
Roman Fomin
1b0e011591
add Chex Quest support (#325)
* add Chex Quest support

* more changes for Chex Quest support

* fix misleading indentation warning

* fix HUSTR_*

* fix indentation

* add more IWADs to standard_iwads[]

* don't autoload from doom-all
2021-10-28 12:37:10 +02:00
Fabian Greffrath
c5dc874e04 print a message when toggling "always run" 2021-10-28 12:34:12 +02:00
Fabian Greffrath
9e281e7643 reset column drawing function
Fixes #301

Short analysis: Usually, the colfunc() pointer is reset to
R_DrawColumn() in R_DrawVisSprite() when the player sprites are
rendered via R_DrawPSprite() in R_DrawPlayerSprites() as the last step
in R_DrawMasked().

However, if you bob your 1px wide weapon sprite out of view,
R_DrawPSprite() returns early and the weapon sprite's vissprite is
never rendered, thus the pointer is not reset. That's why the glitch
immediately disappeared when switching to a regular weapon sprite such
as the Chainsaw. This also explains why the glitch never became
apparent in widescreen mode.

Actually, removing the TRANMAP lump or forcing to regenerate it did
*not* fix the issue. It was still there but a lot less visible, since
translucent textures were drawn on translucent textures which were
drawn on the black void - the TRANMAP just helped to make the glitch
undeniable, together with the player sprite that actually triggered
it.

Apparently, the case that I attempted to fix earlier, i.e. that the
TRANMAP lump gets marked as purgeable after being used as a
translucency table for a mid-texture, is already been taken care of
in P_LoadSideDefs2().
2021-10-28 12:04:00 +02:00
Fabian Greffrath
0b7495738e update to SDL 2.0.16 2021-10-27 13:10:05 +02:00
Fabian Greffrath
2ede2ce185 make sure to never mark main_tranmap as purgeable
Fixes #301, thanks ribbiks
2021-10-25 11:49:02 +02:00
Fabian Greffrath
d99bdb6207 add a parameter to force rebuilding of the TRANMAP lump 2021-10-25 10:46:00 +02:00