Commit graph

12022 commits

Author SHA1 Message Date
Christoph Oelckers
41a2a63efd - moved the VP8 decoding loop into the movie player class and got rid of animvpx.
This allowed significant simplification of code data and many of the error checks could also be simplified because this player doesn't really need it all.
Also use nanoseconds to count frame delays, not milliseconds, as milliseconds can cause timing anomalies with common frame rates very easily.
2020-09-10 17:54:27 +02:00
Christoph Oelckers
ef5ac2319e - migrated SW's info script parser to sc_man. 2020-09-10 17:46:54 +02:00
Christoph Oelckers
83eba019b8 - added support for Megaton's widescreen assets.
Fixes #386
2020-09-10 00:05:10 +02:00
Christoph Oelckers
0c55c61b17 - SW load screen setup. 2020-09-09 23:10:18 +02:00
Christoph Oelckers
b52a2b0d9a - set up the loadscreen code.
This isn't active, though, because load times are so short these days that all this results in is an irritating screen flash before the level starts.
It may be activated later when hires assets are in use.

Fixes #10 (or not...? ;) )
2020-09-09 22:42:01 +02:00
Christoph Oelckers
093d991bff - fixed quicksave rotation count in menu
Fixes #382
2020-09-09 20:57:15 +02:00
Mitchell Richters
6570366a97 - Duke: Fix camera interpolations following uplift in 9615308fb3. 2020-09-09 20:46:17 +02:00
Christoph Oelckers
d6c6561309 - that was for testing only. 2020-09-09 00:01:14 +02:00
Christoph Oelckers
9615308fb3 - Duke: fixed camera views glitching when changing their targets.
A nearly typical problem of this code. Not all relevant properties of the camera target were changed at once - there was a two frame discrepancy in which the camera pointed in some undefined direction after the change.

Fixes #15
2020-09-08 23:47:30 +02:00
Christoph Oelckers
cef1f8275b - fixed backing off of monitor screens.
Although this is a blocking condition, it must not neutralize movement because it is needed to move away from the screen and end the camera view.
2020-09-08 23:09:40 +02:00
Christoph Oelckers
2fc058e487 - don't autosave just after starting a new game. 2020-09-08 23:00:31 +02:00
Christoph Oelckers
f15657cc6d - fixed missing widescreen sprite for shrinker/grower and bad light level for the incinerator.
Fixes #380
2020-09-08 22:50:38 +02:00
Christoph Oelckers
d011a16c5b - added a menu option for WT's music switch.
Fixes #370
2020-09-08 22:37:21 +02:00
Christoph Oelckers
5490be4f71 - draw a player sprite on Exhumed's automap.
Not particularly convincing yet, I first need to find out the specific sprites of the walk animation.
2020-09-08 21:41:02 +02:00
Christoph Oelckers
4ce6f42932 - new fullscreen HUD for Exhumed. Except for the ammo icons this should be complete.
Fixes #374
2020-09-08 21:00:47 +02:00
Christoph Oelckers
5d7a51df9d - use a local bit array in Blood's precacher. 2020-09-08 19:18:11 +02:00
Christoph Oelckers
298949ceb8 - more compat.h cleanup
Its elimination is getting closer. :)
2020-09-08 18:48:18 +02:00
Christoph Oelckers
ec1c42b04a - got rid of common.h
All still relevant content was moved to places closer to its use.
2020-09-08 18:39:47 +02:00
Christoph Oelckers
5524d8eab7 - credits updated to the current state of things. 2020-09-08 18:36:47 +02:00
Christoph Oelckers
5d01be8258 - fixed incorrect panning setup for WASD 2020-09-08 18:35:21 +02:00
Christoph Oelckers
8d2d36457f - consolidated the map name display on startup
Fixes #275
2020-09-08 18:28:41 +02:00
Christoph Oelckers
378846c7bd - Exhumed: Replaced all checks for multiplayer levels with a single bool
This should make refactoring easier later.
2020-09-08 18:07:52 +02:00
Christoph Oelckers
dbcbdf2bc6 - moved RR's pee key binding to the proper menu 2020-09-08 18:07:06 +02:00
Christoph Oelckers
d1f1bf2ae1 - fixed icorrect validation of give ccmd
Fixes #379
2020-09-08 16:18:17 +02:00
Christoph Oelckers
29d990991b - dug out Dynamo's BigFont for Exhumed from the forum.
This is not the font from GDX, it was a separate creation. The only character in here from GDX is the question mark because it was missing.
2020-09-08 01:12:23 +02:00
Christoph Oelckers
bf761af9aa - added missing terminator to Base64 encoder. 2020-09-07 23:32:58 +02:00
Christoph Oelckers
1b46a6fd9a - removed bogus assert in buffer code.
An empty buffer is a perfectly valid construct that may not be asserted upon. The 3D scene does not use indices so the buffer receives no data and remains empty.
This made the softpoly renderer fail in debug builds. Performance issues aside it works fine now.

Fixes #314
2020-09-07 23:17:06 +02:00
Christoph Oelckers
cd5443484a - fixed the cutscenes in Exhumed by cleaning up the definition data.
Fixes  #351
2020-09-07 23:03:18 +02:00
Christoph Oelckers
04ec21d6b6 - fixed key alignment on Exhumed's status bar.
Fixes #281
2020-09-07 22:19:37 +02:00
Christoph Oelckers
a2e3bb5725 - fixed WT's incinerator and a few other minor things I found while comparing Raze's WT support code with BuildGDX's.
Fixes #357
2020-09-07 21:38:17 +02:00
Christoph Oelckers
703b142bad - added a CVAR to disable WT's ogg music and a fallback for when it cannot be found.
Fixes #354
2020-09-07 21:26:07 +02:00
Christoph Oelckers
775c4a3b51 - fixed explosions in World Tour.
A classic result of trying to add new stuff to Duke's spaghetti code, shit like this would not happen if this code wasn't this poorly structured.
Fixes #360 and most of #357
2020-09-07 21:00:27 +02:00
Christoph Oelckers
e4fa695b57 - fixed the movement factor for automap panning.
Fixes #363
2020-09-07 20:39:07 +02:00
Christoph Oelckers
de7da0d4d7 - fixed: The summary screen in Duke and RR was blocking without explicit user input.
It must check for the actual sound that was played, because at least in Duke the looping music is still playing.
Fixes #367
2020-09-07 20:09:53 +02:00
Christoph Oelckers
9bb99e5c05 - fixed 361 - togglerotate CCMD still had some bugs. 2020-09-07 19:56:28 +02:00
Christoph Oelckers
6b89bf97fe fixed #362 - misnamed CVAR in MENUDEF. 2020-09-07 19:45:20 +02:00
Christoph Oelckers
fc435565af - always use the narrow status bar for overlay mode. 2020-09-07 19:43:46 +02:00
Christoph Oelckers
bd183ad682 - fixed World Tour weapon display and property parsing, resulting in incorrect ammo count for the flamethrower.
Fixes #356
2020-09-07 00:45:11 +02:00
Christoph Oelckers
0c60b28ea1 - fixed positioning of World Tour status bar
Fixes #355.
2020-09-06 23:54:40 +02:00
Christoph Oelckers
57db150ed3 - SW: Fix player sprite on the automap.
Now where did that wrong number come from? I have no idea.
2020-09-06 23:30:19 +02:00
Christoph Oelckers
cbbbe2a09b - Duke+RR: Don't quit the level summary screen through timeout when a sound is still playing.
Fixes #359
2020-09-06 23:23:17 +02:00
Christoph Oelckers
38cd38f0eb Merge branch 'automap' into back_to_basics2 2020-09-06 23:13:36 +02:00
Christoph Oelckers
e63e134195 - fixed automap follow mode and added some menu entries for the new options and key bindings. 2020-09-06 23:12:47 +02:00
Christoph Oelckers
1060d74e08 - SW's automap sprite drawer. 2020-09-06 21:50:02 +02:00
Christoph Oelckers
2d547a4ef1 - re-added the sprite drawer for Duke's automap. 2020-09-06 21:31:05 +02:00
Mitchell Richters
613c32e6a2 - SW: Ensure player's fvel/svel is calculated using q16ang, and not camq16ang.
Fixes #328, again.
2020-09-07 05:19:49 +10:00
Christoph Oelckers
9d39f770d4 - reimplemented player sprite display on Blood's automap. 2020-09-06 21:15:59 +02:00
Christoph Oelckers
18b39fd952 - first stage of generic automap code.
Lines and textures get rendered, not all colors are correct - sprites yet to do...
2020-09-06 20:49:43 +02:00
Christoph Oelckers
2395749192 - restored the automap texture drawer in the backend.
While ultimately this needs to be tossed into the deepest bowels of hell for being one gargantuan piece of bad code, it is still needed and does not really work when placed in a separate source file, due to its endless list of global dependencies.
2020-09-06 17:35:08 +02:00
Christoph Oelckers
e8452a79e8 - implemented the automap serializer.
Also optimized the base64 encoder to avoid creating endless memory copies, thanks to using std::string which is a really poor container for this kind of stuff when workig with larger blocks of data.
2020-09-06 13:39:57 +02:00