Commit graph

7503 commits

Author SHA1 Message Date
Christoph Oelckers
01f93f4cca - several smaller texture (un)definition commands. 2021-04-20 20:05:35 +02:00
Christoph Oelckers
8c5a9c23c3 - tileimportfromtexture and copytile. 2021-04-20 20:04:44 +02:00
Christoph Oelckers
97637e4d2d - parseArtFile. 2021-04-20 20:03:19 +02:00
Christoph Oelckers
2761ced670 - handle 2 dead .def commands. 2021-04-20 20:02:19 +02:00
Christoph Oelckers
afb2cd3b82 - fixed NoFullbrightRange.
Ever since the texture system switchover this only set a dead bit, it has to explicitly mark the texture as not having a brightmap.
2021-04-20 20:02:08 +02:00
Christoph Oelckers
588fa5ffe2 - fixed: FileSystem.CreatePathlessCopy must set the copy to not have a full path.
Otherwise it may evade special lookup rules for music and not be found
2021-04-20 20:00:47 +02:00
Christoph Oelckers
40a632a2ae - rffdefineid 2021-04-20 19:39:12 +02:00
Christoph Oelckers
643b969dff - added another weird Build specialty: no vertical sprite offset flipping for face sprites.
Just... why...? :?
2021-04-20 19:37:32 +02:00
Christoph Oelckers
be20b6a839 - fixed: wall sprites do not need NPOT emulation. 2021-04-20 16:58:18 +02:00
Christoph Oelckers
9e40e49c2c - generalized the special key handling for skipping cutscenes. 2021-04-20 15:01:26 +02:00
Christoph Oelckers
d078b511b8 - flip backwards oriented wall sprites before submitting them to the render list.
Backwards orientation will break the translucent object sorter so this needs to be sorted out beforehand.
2021-04-20 14:30:22 +02:00
Mitchell Richters
0c5729b0f6 - SW: Ensure all sprite angles are backed up in the ticker.
* Fixes #326.
2021-04-20 21:33:42 +10:00
Mitchell Richters
d34070b8ae - gameinput.h: Remove precise bool from horizsumfrac(), look_anghalf() and looking_arc() added in a4895cb270.
* It looks terrible to have low precision math versions of look_anghalf and looking_arc since we always interpolate `look_ang` now, so lets just not.
2021-04-20 21:12:17 +10:00
Mitchell Richters
321bfe86f8 - DSkippableScreenJob::OnEvent(): Ensure previously ignored keys don't cause a screenjob to skip.
* Volume up/down on the keyboard when trying to listen to a cut-scene shouldn't skip it.
2021-04-20 20:07:20 +10:00
Christoph Oelckers
ccdf9d13f1 - do not render sprites that are extremely close to the camera.
These can temorarily cover the entire screen so everything with a distance of less than 4 map units will now be skipped if it is a face sprite.
2021-04-20 00:15:11 +02:00
Christoph Oelckers
a919e526ec - SW: the intro's sound may not be paused when the menu opens. 2021-04-19 21:39:44 +02:00
Mitchell Richters
2f696e1a95 Merge branch 'master' into newrenderer 2021-04-19 20:50:37 +10:00
Mitchell Richters
de06030ea0 - gameinput.cpp: Make sethorizon(), applylook() and calcviewpitch() class functions of PlayerHorizon and PlayerAngle where appropriate. 2021-04-19 20:50:10 +10:00
Christoph Oelckers
c8e466c995 - delete the "New savegame" node before starting work on the savegame.
This caused an off-by-one issue in the displayed list.
2021-04-19 12:48:06 +02:00
Mitchell Richters
1daa346fdd - Exhumed: Make SB_CENTERVIEW work properly when cl_syncinput 1 is set. 2021-04-19 20:24:11 +10:00
Mitchell Richters
4eaf05d95e - Duke: Fix bad vehicle speed clamp change from e79c6bacd3.
- Fixes #325.
- 🤦
2021-04-19 19:33:13 +10:00
Mitchell Richters
171d541112 Merge branch 'master' into newrenderer 2021-04-18 10:05:10 +10:00
Mitchell Richters
3961fcc28a - Exhumed: When returning to center after going up/down stairs etc (slope tilting), don't use the backend's aim/look up/down return to center code as it's slower. 2021-04-18 10:04:17 +10:00
Christoph Oelckers
eb912604d2 - RFS compatibility with GDX: The outermost path component can be left out. 2021-04-17 23:59:10 +02:00
Christoph Oelckers
27ca71a6ec - allow specifying a .def file in GAMEINFO.
This will be loaded on top of the regular .def files and not replace them.
2021-04-17 23:52:45 +02:00
Christoph Oelckers
3906d5cfb0 - fixed: the fullscreen color blends did not set their command's screenFade member.
Since this remained 0, those blends lost their color.
2021-04-17 23:43:16 +02:00
Christoph Oelckers
eff7d66742 - fixed Clang compilation error. 2021-04-17 18:47:15 +02:00
Christoph Oelckers
cdf89b9175 - portal rendering fix when viewing through two-sided walls outside the actual portal area.
If there's more portal area behind such a line its range in the clipper needs to be cleared again.
2021-04-17 18:32:40 +02:00
Christoph Oelckers
82194bbf6b Merge branch 'master' into newrenderer
# Conflicts:
#	source/games/exhumed/src/2d.cpp
2021-04-17 13:22:30 +02:00
Christoph Oelckers
cd58b1d055 - made the tile size getters a bit more robust.
They should not crash on invalid sprites.
2021-04-17 12:40:23 +02:00
Christoph Oelckers
d2c9b5979d - gave key 7 a proper spawn record using the blue outline as image.
A proper definition here is needed to allow dropping this item.
The original code had a picnum of -1 here which caused crashes.
2021-04-17 12:05:37 +02:00
Christoph Oelckers
0cdb7a53ce - more char removal - mostly weapon.cpp 2021-04-17 10:34:12 +02:00
Christoph Oelckers
9828b0228e - made type of shade variables consistent.
Some were char, some signed char and the initializers needed type casts.
This wasn't serious but created a lot of casting noise.
2021-04-17 10:22:00 +02:00
Christoph Oelckers
ada28d8d04 - Blood: replaced 'unsigned char' with 'uint8_t' and 'signed char' with 'int8_t'.
Preparation for getting rid of all those excessively used plain chars which are a menace to code stability.
2021-04-17 10:14:03 +02:00
Christoph Oelckers
839547a9fc - Blood: gave FXDATA meaningful member names 2021-04-17 10:12:40 +02:00
Christoph Oelckers
42b87362ee - When keeping around a dummy sprite, make sure that the engine's utilities cannot find it anymore.
This was causing issues with the master switch sprites in Duke that have to be kept for sound purposes.
Unfortunately, both hitscan and neartag are far too dumb to analyze sprites they may hit in any way and needed some help skipping such sprites.
2021-04-17 09:37:38 +02:00
Christoph Oelckers
962e313eb2 - fixed screen job fadeout. 2021-04-17 00:16:18 +02:00
Christoph Oelckers
091a9b7fef - fixed Exhumed laptop cutscene. 2021-04-17 00:01:28 +02:00
Christoph Oelckers
2b9a527aba - added a 'Start' method to DScreenJob.
Since the menu pauses the ticker this is needed to perform initial setup before the first frame.
2021-04-16 23:29:53 +02:00
Christoph Oelckers
49e07a47c6 - now that everything is fixed, the map in Exhumed can be initiated from the console. 2021-04-16 22:40:21 +02:00
Christoph Oelckers
584e4bfb4a - explicitly check for opening the console when running a screen job. 2021-04-16 22:39:48 +02:00
Christoph Oelckers
3910146740 - skip the fade-in of the screen job if it starts while the game is paused.
While this works with the current code it simply does not look good.
2021-04-16 22:21:57 +02:00
Christoph Oelckers
03d517c509 - removed debug assert. 2021-04-16 22:16:21 +02:00
Christoph Oelckers
f28aa8f06c - properly pause streaming soundtracks of movies as well.
This is not relevant for any of the stock movies as they use separate sound files, we need to be aware of mods using the streaming sound capabilities of MVE and SMK.
2021-04-16 22:14:11 +02:00
Christoph Oelckers
1852c0b802 - properly pause the screen job player if the menu is open.
Still needs a bit of work for movies with embedded streaming sound.
2021-04-16 22:03:01 +02:00
Christoph Oelckers
2942e011bf - cleaned up the screen job's fade handling, now that the jobs no longer depend on an external timer. 2021-04-16 21:27:54 +02:00
Christoph Oelckers
e580407d7d - the remaining Exhumed screens.
These are not tested yet, a bit more work is needed to allow this.
2021-04-16 20:48:40 +02:00
Christoph Oelckers
a43259c40c - Exhumed's map. 2021-04-16 20:10:46 +02:00
Christoph Oelckers
fed15a79e4 - Exhumed's intro screens. 2021-04-16 20:08:20 +02:00
Christoph Oelckers
4950b556c9 - handled SW's screens. 2021-04-16 18:43:59 +02:00
Christoph Oelckers
9dff494e6c - handle all of RR's screens. 2021-04-16 17:38:05 +02:00
Christoph Oelckers
f4b089b776 - fixed bad sound checkin Duke's intermission. 2021-04-16 17:37:08 +02:00
Christoph Oelckers
7895d67b18 - ported the Duke intermission screen.
This also got its timing code thoroughly cleaned up.
2021-04-16 17:24:59 +02:00
Christoph Oelckers
a78af92959 - migrated the Duke end of episode animations. 2021-04-16 17:24:59 +02:00
Christoph Oelckers
2a2c85c082 - migrated Duke's intro images and the first episode's ending animation. 2021-04-16 17:24:59 +02:00
Christoph Oelckers
6ed1d5e678 - DBlackScreen and DImageScreen migrated to event-based handling. 2021-04-16 17:24:58 +02:00
Christoph Oelckers
aad6158288 - cleanup of movie player code, migration to event interface. 2021-04-16 17:24:58 +02:00
Christoph Oelckers
dbd3e1de44 - Screen Job refactoring WIP.
Framework to let them handle proper input events.
Not used yet.
2021-04-16 17:24:58 +02:00
Mitchell Richters
be4fbbf9ec - Exhumed: Hide player panning code behind cl_slopetilting.
* Fixes #303. again.
2021-04-16 23:37:05 +10:00
Christoph Oelckers
6cb84dc554 - split out the movie player into its own file. 2021-04-15 23:55:29 +02:00
Christoph Oelckers
9c5f3f3673 - Exhumed: Skip the map when changing levels from the console.
The current screen job implementation does not coexist well with UI elements.
More like a hotfix, the screen job framework needs to be redone for properly handling input.
2021-04-15 23:04:14 +02:00
Christoph Oelckers
dc8b72b2ce Merge branch 'master' into newrenderer2
# Conflicts:
#	source/games/duke/src/actors.cpp
#	source/games/duke/src/hudweapon_d.cpp
#	source/games/duke/src/hudweapon_r.cpp
#	source/games/duke/src/render.cpp
2021-04-15 19:34:03 +02:00
Christoph Oelckers
96d78ab9e6 - made DukeActor::s a pointer.
As a reference we would never be able to export this to scripting
2021-04-15 19:21:43 +02:00
Christoph Oelckers
61a6321cd6 - Exhumed: Change map command to start the level directly without going through the scrolling map. 2021-04-15 18:55:54 +02:00
Mitchell Richters
e79c6bacd3 - Duke: Clamp RRRA vehicle input in processVehicleInput(). 2021-04-15 18:59:07 +10:00
Mitchell Richters
2176435831 - Duke: Replace sprite z pos numeric values with correct enum values for each game. 2021-04-15 18:02:16 +10:00
Mitchell Richters
6cebd7fca2 Merge branch 'master' into newrenderer2 2021-04-15 18:01:26 +10:00
Mitchell Richters
aeb16e390c - Duke: Add resurrected flag to handle resurrection via cheating or when pissing in RR. 2021-04-15 18:00:58 +10:00
Mitchell Richters
d5b14a8de3 - Duke: Remove some direct array accesses in lieu of player_struct pointer. 2021-04-15 16:34:24 +10:00
Mitchell Richters
242f958c41 - Duke: Clean up some duplicated code in hudweapon_*.cpp files. 2021-04-15 15:49:36 +10:00
Mitchell Richters
a4895cb270 - All Games: Allow for HUD interpolation to be disabled.
* Requested by users, really don't know why...
* Interpolation values are guarded by the CVAR.
* For Blood, integer truncation is employed just like original game.
* For all games where more precise sine/cosine math has been utilised, no changes have been made.
2021-04-15 13:35:53 +10:00
Mitchell Richters
92d1d7fbde - Fix potential overflow issue in binangle::tosigned() and getincanglebam(). 2021-04-15 08:25:08 +10:00
Christoph Oelckers
9a58299bee Merge branch 'master' into newrenderer2 2021-04-14 22:37:59 +02:00
Christoph Oelckers
f6c4c19b02 - added a filter to the directory loader to remove EDuke32's texture cache files.
These cause problems with the texture manager.
2021-04-14 22:12:15 +02:00
Christoph Oelckers
f83e678ea0 - use the smooth ratio from the game logic in the renderer instead of calling I_GetTimeFrac again.
Unlike the higher level code this does not check for game over conditions.
2021-04-14 21:17:32 +02:00
Christoph Oelckers
2b1072eb91 - fixed bad sector addressing in flat sprites drawer. 2021-04-14 19:17:40 +02:00
Christoph Oelckers
5c306c61d6 - better fix for shadow rendering. 2021-04-14 14:46:15 +02:00
Christoph Oelckers
bc007d75de - make map art work. 2021-04-14 14:16:09 +02:00
Christoph Oelckers
f4ec9a1921 - 4 more .def commands ported 2021-04-13 18:14:46 +02:00
Christoph Oelckers
b5dbc3cf29 - allow specifying startup .con files via GAMEINFO. 2021-04-13 18:08:55 +02:00
Christoph Oelckers
4fe3c50c7c - used the newly added game ID as reference for GAMEINFO to autoselect which game to start a mod with.
While in GZDoom this uses the IWAD name, the same approach is a lot more problematic here because of name duplications with far more incompatible content.
So this allows targeting a group of base games instead of one specific version.
2021-04-13 18:08:55 +02:00
Christoph Oelckers
6ad3ac8ef9 - added GameID field to GrpInfo.
This is for allowing new features easier referencing of the various records.
2021-04-13 18:08:55 +02:00
Christoph Oelckers
230312e7f3 - re-fixed Blood skill selection. 2021-04-13 18:08:55 +02:00
Mitchell Richters
7b57df3c8f - Exhumed: Redo player panning code.
* Initial implementation from d32dcd5f8e was not working properly and already had some workarounds for when the player was underwater, etc.
* Re-read implementation in GDX and rebased off of it.
* Fixes #303.
2021-04-13 21:56:01 +10:00
Christoph Oelckers
eaebcfcd7d - Exhumed: hotfix for moving on sloped floors 2021-04-13 00:31:50 +02:00
Christoph Oelckers
88fb2185fa - Blood: default skill is 2, not 3. 2021-04-13 00:31:49 +02:00
Christoph Oelckers
92cdec077d - fixed some bogus range checks in automap code. 2021-04-12 20:54:12 +02:00
Christoph Oelckers
798cf2f973 Merge branch 'newrenderer2' of https://github.com/coelckers/Raze-private into newrenderer2 2021-04-12 20:25:56 +02:00
Christoph Oelckers
9598b626c9 Merge branch 'master' into newrenderer2 2021-04-12 20:03:50 +02:00
Christoph Oelckers
1e40e93da4 - fixed the vertical offsets of the World Tour skies.
They were rendered too low.
2021-04-12 19:47:16 +02:00
Christoph Oelckers
aed7e8166e - fixed setup of startup title. 2021-04-12 19:39:42 +02:00
Christoph Oelckers
89be30b720 - handle fullbright sprite hackery using negative shade values. 2021-04-12 18:57:10 +02:00
Christoph Oelckers
efe76a6647 - Blood: fixed crash with badly defined drop objects.
Got -1 for picnum there, this was causing crashes.
2021-04-12 16:32:42 +02:00
Christoph Oelckers
bf019ac028 - Build must draw the sky for completely closed sectors as well. 2021-04-12 16:31:44 +02:00
Christoph Oelckers
3cc05e5532 - fixed handling of single-tile skies with palette translation. 2021-04-12 16:00:00 +02:00
Christoph Oelckers
26d737c279 - fixed double-add of xoffset for wall sprites. 2021-04-12 15:50:52 +02:00
Christoph Oelckers
10d0de8dbf Merge branch 'master' into newrenderer2 2021-04-12 15:06:12 +02:00
Christoph Oelckers
a15ac43722 - enable embedding of blood.rff and sounds.rff in mod archives when playing Blood
Some mods provide pregenerated resources, this allows loading them without picking them apart first.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
f87e40131f - Blood: add a dummy sound entry at index 0.
Parts of the sound system treat entry 0 as "no sound" so nothing placed there would play.
This made the one custom sound in "The Way of Ira" not play because as the last sound being defined it ended up in the first, invalid slot.
2021-04-12 00:31:36 +02:00
Christoph Oelckers
d25838fe15 - Blood: fixed issue with INI detection when having content added by RFS files. 2021-04-12 00:31:36 +02:00