Commit graph

5621 commits

Author SHA1 Message Date
Christoph Oelckers
b804589f81 - implemented a proper cache for Blood's SEQs.
Messing around in the file system cache should be a no-go, so now it's no longer done.
This also allows reenabling the byte swapping needed for Big Endian.
2020-07-27 19:28:54 +02:00
Christoph Oelckers
bbbd7fadbb - merged several of Blood's smaller headers. 2020-07-27 19:17:13 +02:00
Christoph Oelckers
ab9854a215 - merged the 3 sound related headers in Blood. 2020-07-27 19:17:13 +02:00
Christoph Oelckers
dfda0c9cb2 - rewrote Blood's map loader to use FileReader directly instead of implementing its own wrapper around the lump cache.
Also deleting a few other unused files.
2020-07-27 19:17:00 +02:00
Christoph Oelckers
aea6467d00 - call D_ProcessEvents in Blood's main loop. 2020-07-27 19:12:49 +02:00
Christoph Oelckers
63f4d82aeb - removed the 8 pixel offset for the Scuba Gear in display modes with reduced viewport size.
I have no idea why this was originally done, it makes no sense.
Fixes  #50
2020-07-27 18:59:05 +02:00
Christoph Oelckers
94b445db26 - The bonus screen's counter is a bit broken so help it to actually play Duke's speech.
(Hopefully) fixes #44
2020-07-27 18:17:40 +02:00
Christoph Oelckers
371a808d9e - set MP taunt texts as CVAR defaults to ensure they won't get deleted by user actions. 2020-07-27 18:12:24 +02:00
Christoph Oelckers
400169ef5e - do not activate the inventory when giving all items.
Fixes #45
2020-07-27 18:02:39 +02:00
Christoph Oelckers
d177b0cd29 - fixed hud_messages 1 not sending messages to the notfy display.
Fixes #43
2020-07-27 17:56:55 +02:00
Christoph Oelckers
2d3bf87eff - ported EDuke32's trip bomb fix
Still needs to be tested.
2020-07-27 17:52:17 +02:00
Mitchell Richters
4dc161cc08 - fix hands for Duke3D while shrunken. Unsure how to trigger this code path in RR, but for Duke3D hud_draw() is only used when drawing the fists.
* Fixes #40.
2020-07-27 18:39:33 +10:00
Mitchell Richters
31b7e7fa3d - revert some inline if statement conversions when re-creating dobonus() as a ScreenJob.
* Inline if statements were applying `DrawTexture()` calls to cases where they were not being called before, affecting animation.
* Repaired issue where with high frame rates, the code behind `if (totalclock > (1000000000L) && totalclock < (1000000320L))` wasn't triggered because `totalclock` hadn't become `1000000001` yet.
* Fixes #34.
2020-07-27 17:51:36 +10:00
Christoph Oelckers
4836744d26 - language update. 2020-07-26 23:27:39 +02:00
Christoph Oelckers
c0d46f6a69 - implemented proper scaling for the status bar.
Addresses #2.
2020-07-26 23:06:27 +02:00
Christoph Oelckers
530debd24b - properly increment the instruction pointer in 'endofgame'.
This made the bosses disappear after death, fixes #38
2020-07-26 21:28:42 +02:00
Christoph Oelckers
102f473821 - clear the input state before starting a cutscene to ensure that it won't get skipped by residual input data. 2020-07-26 19:55:06 +02:00
Christoph Oelckers
8af4cfd772 - skip all 3 parts of the E4 intro together.
Fixes #39.
2020-07-26 18:39:18 +02:00
Christoph Oelckers
b120bade95 - fixed scuba gear display.
Fixes #37.
2020-07-26 18:35:47 +02:00
Christoph Oelckers
feffc7c5c2 - fixed: The level number for a secret exit is 1-based, not 0-based as the internal map data.
Fixes #35.
2020-07-26 18:13:21 +02:00
Christoph Oelckers
c8cde7fb3b - stop sound in all paths of the ANM player.
Fixes #36.
2020-07-26 18:02:24 +02:00
Christoph Oelckers
775eabcd3d - fixed incorrect 'twodonly' flag set for the base palettes.
This let the palette creator skip all translations for the water and slime palette. Fixes #28.
2020-07-26 17:56:33 +02:00
Christoph Oelckers
07a7cade70 - removed dead weaponswitch variable 2020-07-26 17:55:22 +02:00
Christoph Oelckers
f67d3270d8 - fixed a few cheat issues.
Fixes #29.
2020-07-26 17:04:02 +02:00
Christoph Oelckers
5870d3d89d - horizSkew is fixed point, dokneeattack ignored that.
fixes #14
2020-07-26 13:49:25 +02:00
Christoph Oelckers
af970b091e - set proper game state after ending the level summary screen.
Fixes #20.
2020-07-26 12:43:32 +02:00
Christoph Oelckers
b111ca5f96 - fixed the summary screen animation.
Fixes #21.
2020-07-26 12:31:20 +02:00
Christoph Oelckers
6e276545cd - fixed typo in savegame metadata reader and an issue with code execution order when exiting a level. 2020-07-26 12:15:24 +02:00
Christoph Oelckers
1207e02e5d - removed debug output. Fixes #24. 2020-07-26 11:48:08 +02:00
Christoph Oelckers
54d3d8e96d - play the camera switch sound as a UI sound to reduce problems.
Due to how sound positioning works, doing this in 3D will cause various problems with cameras too far away or random bleeps emanating from the cameras.
2020-07-26 11:44:31 +02:00
Christoph Oelckers
342b90c8f9 - fixed: With hud_messages == 1 no messages were printed. 2020-07-26 10:31:12 +02:00
Christoph Oelckers
8643459cbe - re-added EDuke32's last_quick_kick to remove flicker during the animation. Fixes #7. 2020-07-26 10:18:55 +02:00
Mitchell Richters
f67a53a7c0 - fix sound and music pausing with tweaks to updatePauseStatus(). Also removed unneeded game-side function. Fixes #11. 2020-07-26 17:20:53 +10:00
Christoph Oelckers
c7a9b5678b - reimplemented autoaim mode 2 (hitscan only) 2020-07-26 09:06:08 +02:00
Christoph Oelckers
efb73d04a0 - re-fixed the fix: Turned out that flipped offsetting is a bit more tricky.
Due to how this works it cannot be done automatically, it must be passed as a parameter because at the point where the offset gets applied, all information about how it was specified is lost.
This must be enabled as a specific parameter to DrawTexture.
2020-07-26 08:31:54 +02:00
Christoph Oelckers
2ea9811e0a - fixed offsetting for flipped 2D sprites and reverted the offset change for the trip bomb. 2020-07-26 08:08:15 +02:00
Mitchell Richters
35327ee3aa - fix pos of armor font and inventory icon.
* Inventory text color still requires discussion.
2020-07-26 07:53:14 +02:00
Mitchell Richters
c100e25578 - get Duke3D classic HUD pixel-perfect. 2020-07-26 07:53:14 +02:00
Mitchell Richters
dcf36f8f9d - fix right hand sprite when displaying trip mine HUD weapon. Fixes #13. 2020-07-26 15:03:14 +10:00
Christoph Oelckers
374a850565 - merged all of Blood's ai state headers together to reduce number of files and include clutter. 2020-07-25 17:56:39 +02:00
Christoph Oelckers
8a5427abed - fixed the cheat handler. 2020-07-25 17:25:21 +02:00
Christoph Oelckers
6df64f4ee3 - fixed RR status bar layout. 2020-07-25 16:43:03 +02:00
Christoph Oelckers
f7070f1e49 - fixed font alignment on the second fullscreen HUD variant. 2020-07-25 16:00:34 +02:00
Christoph Oelckers
654391a278 - fixed layout for classic Duke fullscreen HUD. 2020-07-25 15:41:11 +02:00
Christoph Oelckers
f9d48e1f68 - removed all the intermediate variables for the status bar size.
hud_size now gets used directly by the status bar code.
2020-07-25 13:26:56 +02:00
Christoph Oelckers
8d622f9340 - fixed wall switch check. 2020-07-25 10:54:46 +02:00
Christoph Oelckers
9043123aab - set proper engine compatibility mode. 2020-07-25 10:03:13 +02:00
Christoph Oelckers
a0cc798c9c - cleaned up the sound system interface to have consistent naming and no aliases. 2020-07-25 09:32:54 +02:00
Christoph Oelckers
30a0fcfe46 - disable rotation for hud_drawpal.
This was just a Build crutch to do x-flipping, with that being handled in the backend now the rotation angle must be 0.
2020-07-25 09:02:47 +02:00
Mitchell Richters
9fe3af370b - call renderSetRollAngle() with full precision for Duke. 2020-07-25 15:29:10 +10:00
Mitchell Richters
0d0636b0a7 - set p->TiltStatus in motoApplyTurn() to 0 if less than factor, not previous hard-coded constant.
* Backport of same fix in d0f839060e.
2020-07-25 09:51:52 +10:00
Christoph Oelckers
52cd2db4e7 - copied the flickering Coot fix from master. 2020-07-25 00:04:38 +02:00
Christoph Oelckers
bcb6c36ef2 - fixed bad parameter for EnableFog 2020-07-24 23:46:52 +02:00
Christoph Oelckers
3d36e4839f - implemented rotation for HUD sprites. 2020-07-24 23:23:19 +02:00
Christoph Oelckers
1e8b8443b0 - implemented 2D rotation and fixed offset calculation for drawing scaled sprites on the status bar. 2020-07-24 23:08:48 +02:00
Christoph Oelckers
e2de6d9dc3 - changed status bar drawer to pass the texture offsets to the low level code instead of adding them itself.
This is needed for rotating around the pivot point, if the offset is applied here the low level code cannot do the rotation properly anymore.
2020-07-24 21:08:33 +02:00
Christoph Oelckers
a4ef7596e7 - fixed screen blend. 2020-07-24 20:21:51 +02:00
Christoph Oelckers
b56f74bf32 - actually call the postAction callback for the screen job.
Fixes missing title music.
2020-07-24 20:11:50 +02:00
Christoph Oelckers
e9e4ebbfea - cleanup 2020-07-24 19:58:21 +02:00
Christoph Oelckers
d10bf41b03 - removed some obsolete stuff. 2020-07-24 19:44:05 +02:00
Christoph Oelckers
b9f0e35d4b - fixed the crosshair. 2020-07-24 19:43:33 +02:00
Christoph Oelckers
c457f1aa8c - hook up the sub-serializers. 2020-07-24 19:13:37 +02:00
Christoph Oelckers
25d383ac73 - re-enabled skipping of MVE movies which was disabled for easier debugging. 2020-07-24 19:05:34 +02:00
Mitchell Richters
93fae3e43d - fix a few remnant ang interpolation issues. 2020-07-24 22:20:04 +10:00
Mitchell Richters
d0f839060e - set p->TiltStatus in boatApplyTurn() to 0 if less than factor, not previous hard-coded constant. 2020-07-24 21:38:11 +10:00
Mitchell Richters
4bf5c3d6b5 - uplift boatApplyTurn() with changes from e0bc2c6c97.
* Handle button-mashing to provide a better experience.
* Rename `bike_turn` to `boat_turn`.
* Move application of scale to returning value within `boatApplyTurn()`.
* Use doubled return values like Rednukem (20 -> 40, 10 -> 20, 6 -> 12, 3 -> 6, 2 -> 4, 1 -> 2).
* Return `p->TiltStatus` towards 0 if `p->MotoSpeed` == 0 and `p->NotOnWater`.
* Always test if `p->TiltStatus` < `0.025`.
2020-07-24 21:27:47 +10:00
Mitchell Richters
e0bc2c6c97 - handle button-mashing in motoApplyTurn().
* If player was turning left and right, only left was returned. Now, both apply (effectively cancelling each other out.
* Move application of scale to returning value within `motoApplyTurn()`.
2020-07-24 20:46:20 +10:00
Mitchell Richters
230332338c - make RRRA motorbike turning speed consistent with varying framerates.
* Multiply returned value with scaleAdjust.
* Use doubled return values like Rednukem (20 -> 40, 10 -> 20, 3 -> 6).
2020-07-24 19:50:28 +10:00
Mitchell Richters
5bb7c7a647 - adjust elapsedInputTicks in GetInput() to be 1000.0 / REALGAMETICSPERSEC.
* 1000 / 30 = 33.333~. This ensures that if 33.333 is the minimum value, the calculation for scaleAdjust always equals 1.0 (no scaling).
2020-07-24 19:38:09 +10:00
Mitchell Richters
25ca23f2e2 - fix keyboard input fvel/svel more in line with Graf's coding style.
* Essentially reverts e41041074d and moves the use of `abs()` from keymove to fvel/svel itself.
2020-07-24 18:32:01 +10:00
Christoph Oelckers
940413524b - tweaks to synchronize video and audio with MVE. 2020-07-24 00:01:50 +02:00
Christoph Oelckers
200db367ec - fixed MVE audio by simplifying the audio buffer to a simple ring buffer of sufficient size. 2020-07-23 23:48:26 +02:00
Christoph Oelckers
75e8a71905 - some progress with sound. Still glitchy. 2020-07-23 23:22:09 +02:00
Christoph Oelckers
928a16983d - adapted the MVE player.
Video appears to work, but has quite severe artifacting  I cannot tell if it's the video or the decoder which causes it.
2020-07-23 22:26:07 +02:00
Mitchell Richters
f046c5eb6b - fix compiler warnings and actual issues with in-game horizon.
* Can't have a - operator on unsigned int in the binangle class.
* Changed fixed horiz class from unsigned to signed as in-game horizon is a signed integer.
2020-07-24 01:08:50 +10:00
Christoph Oelckers
945dbc9f7e Use type safe angle and horizon classes for the render interface
These need to be robust and not allow implicit conversions.
2020-07-23 17:03:11 +02:00
Christoph Oelckers
9742bc72aa - created a horizon class as well. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
ab8006cc40 - make binaryangle.h compile. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
be9094cb97 Silenced lots of warnings pointed out by XCode. 2020-07-23 17:02:59 +02:00
Christoph Oelckers
d16d8f0d0e - fixed issues reported by XCode 2020-07-23 17:02:59 +02:00
Mitchell Richters
eadb31f9cd - use REALGAMETICSPERSEC as maximum value for elapsedInputTicks in GetInput().
Hard-coded value of `10.0` was too low and was always being used instead of the value of `(now - lastCheck)`. This made `scaleAdjust` inaccurate and not fast enough.
2020-07-23 19:16:51 +10:00
Mitchell Richters
54d73ce9f8 - fix 'Quick Turn' for Duke. 2020-07-23 14:05:36 +10:00
Mitchell Richters
be0cbeed65 - ensure p->lookRight is reset to false in start checklook() like lookLeft is.
Repairs issue where player never returned to centre when they pressed the look right key.
2020-07-23 13:34:47 +10:00
Christoph Oelckers
253dea7610 - removed parsing_ifelse sanity check because it breaks compilation in a few case.
if there ever needed to be proof that CON is broken beyond repair this should be it, this will allow broken code to slip through the parser and apparently some scripts exploit this bug.
NAM's soldiers won't work with the 'proper' code.
2020-07-22 22:27:51 +02:00
Christoph Oelckers
7d414fcfa5 - binary angle class draft. 2020-07-22 21:16:29 +02:00
Mitchell Richters
77ff6f324c - ensure rotscrnang turns right when looking right.
Doesn't repair issue when looking right doesn't return again, will isolate and repair.
2020-07-22 20:44:16 +10:00
Mitchell Richters
e41041074d - ensure keyboard fvel/svel input never exceeds the range of keymove.
Repairs issue where keyboard input was accelerating to a value of 90 which was not possible in the original game.
2020-07-22 20:42:05 +10:00
Christoph Oelckers
368298d02d - enable the menu and console everywhere, except on the intro logos. 2020-07-22 00:42:50 +02:00
Christoph Oelckers
902fbf6f5d - got rid of MODE_TYPE since this will be handled in the backend in the future. 2020-07-21 22:59:24 +02:00
Christoph Oelckers
61f5247b71 -let's hope this will solve the pausing problem for good.
The checks for game pause were totally inconsistent, so now there is a utility function that tells whether the game is supposed to run or not.
pause can also take 3 values now - 0 for no pause, 1 for pause from opening the menu or console or 2 for hitting the pause button.
2020-07-21 22:46:26 +02:00
Christoph Oelckers
6227f9f7fd - optimizations for better savegame performance. 2020-07-21 21:32:38 +02:00
Christoph Oelckers
1869a7930e - hooked up the new savegame code.
Not tested yet.
2020-07-21 00:07:02 +02:00
Christoph Oelckers
9ace06ad81 . deleted the old savegame.h file. 2020-07-20 23:22:40 +02:00
Christoph Oelckers
7eb158bf72 - properly tabified everything. 2020-07-20 23:21:27 +02:00
Christoph Oelckers
ba7997b611 - implemented most of the savegame code and deleted the old one. 2020-07-20 23:07:44 +02:00
Christoph Oelckers
c16115d76c - first stage of new savegame code.
This also refactors the animateptr array into something serializable. This kind of pointer lookup is virtually unrestorable without creating platform locked savegames.
2020-07-20 20:40:29 +02:00
Christoph Oelckers
2d78643c4d - initial savegame work. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
06fa1391f5 - did some cleanup on the global variables. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
16efa87701 - started sorting variables in globals.h and removed player.h after cleaning it out. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
7d7ae9e463 - fixed gamestartup parser so that it can detect script versions again. 2020-07-20 18:43:50 +02:00
Christoph Oelckers
3028b3f3fd - merged game.h into global.h and game.cpp into global.cpp.
Meaning that all global declarations are in one file now.
2020-07-20 18:43:50 +02:00
Christoph Oelckers
08909f414a - merged playerdata_t into player_struct 2020-07-20 18:43:49 +02:00
Christoph Oelckers
a40343ae00 - premap.h is also gone because it didn't contain anything relevant anymore. 2020-07-20 18:43:49 +02:00
Christoph Oelckers
c3fb679992 - more header cleanup work, macros.h is gone. 2020-07-20 18:43:49 +02:00
Christoph Oelckers
2dcaf25fea - put the entire CON parser into a class to make its state local to the caller 2020-07-20 18:43:49 +02:00
Christoph Oelckers
9346b5de7e - testing stuff. 2020-07-20 18:43:48 +02:00
Christoph Oelckers
f9842fc4a8 - implemented running screen jobs from the main loop.
The entire game now has only one single place where videoNextPage gets called.
2020-07-20 18:43:48 +02:00
Christoph Oelckers
e2e9c8ad01 - fixed the timer. 2020-07-20 18:43:48 +02:00
Christoph Oelckers
31b9995406 - rewrote the ScreenJob player as a class that can be called by an asynchronous dispatcher.
Works, except for timing issues with ANMs.
2020-07-20 18:43:48 +02:00
Mitchell Richters
2ce612e8ab - remove multiplier when finalising player's angle in FinalizeInput().
Not sure how this came to be but was causing rather accelerated angle adjustments compared to the stock game.
2020-07-20 20:38:38 +10:00
Christoph Oelckers
72bf70811e - restructured exitlevel for asynchronous handling of the summary screen. 2020-07-19 00:53:13 +02:00
Christoph Oelckers
a1001c5fdd - changed startnewgame to handle the screen jobs asynchronously. 2020-07-19 00:26:36 +02:00
Christoph Oelckers
a3e9ea97a8 - merged the two main loops into one.
Yet to do: Run the screen jobs from the main loop as well.
2020-07-18 23:50:46 +02:00
Christoph Oelckers
e97e663b49 - more restructuring of asynchronously playing sequences. 2020-07-18 22:38:19 +02:00
Christoph Oelckers
c767ead84f - properly route gameexitfrommenu through the callbacks. 2020-07-18 21:28:57 +02:00
Christoph Oelckers
ded0edae0c - fixed return_to_center 2020-07-18 14:30:17 +02:00
Christoph Oelckers
d88ae50923 - moved a few global variables around so that they don't get lost for handling savegames or a global state reset. 2020-07-18 13:38:16 +02:00
Christoph Oelckers
36d61fc662 - make sure that the static time counters in the input code do not accumulate while not in use.
The one for holding the turn key needs to be reset any time there is no turning and everything needs to be cleared when the input state is cleared. And all need to check for the case where the static state is not set yet.
2020-07-18 13:27:24 +02:00
Christoph Oelckers
e70115ff5c - put the CON interpreter into a class to get rid of its global variables. 2020-07-18 12:37:35 +02:00
Christoph Oelckers
28965eefd5 - moved the main loop to gameloop.cpp. 2020-07-18 11:56:49 +02:00
Christoph Oelckers
f9e76ba178 - merged the last two functions of the input code with input.cpp. 2020-07-18 09:59:16 +02:00
Christoph Oelckers
ac3925f64d - cleanup 2020-07-18 01:40:18 +02:00
Christoph Oelckers
ba69084aa5 - consolidated the movement block check after discovering that it wasn't handling things properly for all games. 2020-07-18 01:34:13 +02:00
Christoph Oelckers
47a0b14b43 - the main input function is also free of conflicts. That leaves 3 functions with roughly 4kb of code that cannot be redone without using EDuke code. 2020-07-18 00:59:10 +02:00
Christoph Oelckers
6c2600df51 - cleanup of the main input code.
Only 8 kb code left that is clearly recognizable as coming from EDuke32.
2020-07-18 00:34:20 +02:00
Christoph Oelckers
1d685d24e9 - fixed handling of BitsToSend. 2020-07-17 22:19:22 +02:00
Christoph Oelckers
7bc2befc84 - consolidated the finalizing parts of the input code and fully merged most of the bike/boat handlers.
Turned out that the only major difference was already split off into subfunctions.
2020-07-17 22:09:01 +02:00
Christoph Oelckers
61d08f41e0 - fixed DTA_KeepRatio. 2020-07-17 21:14:58 +02:00
Christoph Oelckers
d1b4c34ff9 - re-added the hud_input call that somehow got lost. 2020-07-17 21:09:07 +02:00
Christoph Oelckers
29e107ad24 - use CCMDs for weapon and inventory selection, courtesy of ZDuke. 2020-07-17 20:56:10 +02:00
Christoph Oelckers
01d3ca870d - more consolidation between old and new input paths.
This also simplifies the one_eighty handling to be closer to the original idea.
2020-07-17 11:46:23 +02:00
Christoph Oelckers
dc9c8a0e60 - consolidation of pitch code for aim mode 0. 2020-07-17 00:32:26 +02:00
Christoph Oelckers
7ba4e4de97 - weapon selection offloaded and cleaned up. 2020-07-16 23:32:00 +02:00
Christoph Oelckers
43c4c5eb5e - consolidated some parts common to the 3 input routines. 2020-07-16 22:49:26 +02:00
Christoph Oelckers
ff9e2c3f5e - same procedure for the motorcycle - and again roughly 10% of the input code down. 2020-07-16 19:16:56 +02:00
Christoph Oelckers
fca4bdcafb - split out the main movement calculation out of P_PlayerInputBoat and used the original code for providing a replacement. 2020-07-16 18:58:31 +02:00
Christoph Oelckers
38751d19ac - changed all SYNCINPUT #defines into runtime checks so that both parts can be used and consolidated the 4 versions of the SeaSick code. 2020-07-16 17:59:25 +02:00
Christoph Oelckers
2888f29e32 - reenable the logos. 2020-07-16 15:18:27 +02:00
Christoph Oelckers
f530732c46 - adjustments for input 2020-07-16 15:03:09 +02:00
Christoph Oelckers
55feadd11c - render the weapons with the DrawTexture interface and properly handle rotatesprite's alignment modes 2020-07-16 13:23:26 +02:00
Christoph Oelckers
a066c5bc4b - make everything compile again. 2020-07-16 00:27:09 +02:00
Christoph Oelckers
39a6ab6f0e - input update - safety commit 2020-07-15 23:44:07 +02:00
Christoph Oelckers
d139720607 - cleaned up the setup code and consolidated everything in a separate file. 2020-07-15 21:11:23 +02:00
Christoph Oelckers
ea6c74d0e6 - transitioned the local input handler.
There wasn't anything EDuke32-specific in there - nearly everything mapped perfectly to JFDuke.
2020-07-15 19:48:04 +02:00
Christoph Oelckers
a0cd407632 - cleanup on pausing code. 2020-07-15 18:10:31 +02:00
Christoph Oelckers
381e15a9b2 - renamed playerdata_t::input back to sync and made it a static array again. 2020-07-15 13:10:18 +02:00
Christoph Oelckers
a9f152c1fe - added JFDuke's label type checker and did some cleanup on the CON init code.
Most importantly: Use dynamic buffers for managing the labels instead of hijacking some other storage space.
2020-07-15 12:34:42 +02:00
Christoph Oelckers
866be28da0 - clear the input state when starting a new map or loading a savegame. 2020-07-15 09:21:47 +02:00
Christoph Oelckers
99161e2e4a - made ps an array of player_struct like it originally was. 2020-07-15 00:26:58 +02:00
Christoph Oelckers
2fd2ad2212 - sky code cleanup and transitioning of Duke's. 2020-07-15 00:06:19 +02:00
Christoph Oelckers
4598cf13d7 - reverted the frags array to its original form, moved InitRRRASkies to zz_common.cpp and deleted zz_premap.cpp. 2020-07-14 21:42:46 +02:00
Christoph Oelckers
d5689d3926 - removed net.h as well. 2020-07-14 21:31:15 +02:00
Christoph Oelckers
1e9679aceb - removed faketimerhandler and the last static remains of EDuke's netcode. 2020-07-14 21:15:37 +02:00
Christoph Oelckers
af225abf80 ... 2020-07-14 21:05:26 +02:00
Christoph Oelckers
05abc262ba - removed libdivide for good and the unused C++ wrapper for fix16 along with it. 2020-07-14 20:57:42 +02:00
Christoph Oelckers
3cd475570c - fixing problems. 2020-07-14 20:39:48 +02:00
Christoph Oelckers
424716bb88 - say goodbye to libdivide! 2020-07-14 20:21:16 +02:00
Christoph Oelckers
2f3d405f8b - moved getatoken to scriptfile.cpp so common.cpp could be removed. 2020-07-14 19:51:54 +02:00
Christoph Oelckers
f9c03760a3 - removed setuptile DEF command due to the hacky implementation and general uselessness of what can be done with it. 2020-07-14 17:47:11 +02:00
Christoph Oelckers
fedeec73c7 - cleaned out some unused parts of engine.cpp 2020-07-14 17:35:19 +02:00
Christoph Oelckers
5655015691 - YAX is also gone now. 2020-07-14 16:06:14 +02:00
Christoph Oelckers
1d9d1396ac - got rid of print.h (a.k.a. 'how not do design a text formatting library'.) 2020-07-14 15:41:19 +02:00
Christoph Oelckers
117e78cb3b - removed clipshape feature as it is a feature of modern EDuke32 maps only. 2020-07-14 15:36:25 +02:00
Christoph Oelckers
19ef0cd295 - removed screentext and reverted Blood to its original text output. 2020-07-14 15:25:35 +02:00
Christoph Oelckers
1a0b388570 - removed a few tabledivide uses in the game modules 2020-07-14 14:08:59 +02:00
Christoph Oelckers
aa01adb2f1 - removed osd.h as it was merely a minimal wrapper around c_dispatch, giving some alias names.
Nothing that's needed when cutting ties to upstream.
2020-07-14 14:00:27 +02:00
Christoph Oelckers
2e05ff532b - got rid of the struct trackers.
They were only used for handling an undefined case in the renderer but the overhead and side effects were too severe.
2020-07-14 13:51:03 +02:00
Christoph Oelckers
f307b2a954 - removed the old Duke and RR subprojects.
These seriously stand in the way of backend cleanup that is needed to do a release based on the new code.
2020-07-14 13:09:34 +02:00
Christoph Oelckers
7e261425bb - time to get rid of clockticks.hpp.
Aside from its non-existent license it was also not the correct way to handle more precise view interpolation.
2020-07-14 13:00:52 +02:00
Christoph Oelckers
a93ed1e502 Merge branch 'master' into back_to_basics2
# Conflicts:
#	source/blood/src/view.cpp
#	source/core/gamecontrol.cpp
2020-07-14 12:57:38 +02:00
Christoph Oelckers
9caf1ead91 - use the common interpolation function for Blood.
This keeps the main calculation for time difference in one place.
2020-07-14 12:48:56 +02:00
Christoph Oelckers
893686709b - removed the redundant rfreq factor from CalcSmoothRatio.
I never realized it was redundant when consolidating the interpolation math into one function - originally this was done in a way that it wasn't obvious.
This also eliminates the dependency on refreshFreq which never actually made any sense.
2020-07-14 12:32:59 +02:00
Christoph Oelckers
481ac965cf - reverted ClockTicks to an integer so that interpolation can be reimplemented without it affecting the global game timer.
The entire method at use here is essentially not correct. Interpolation should be handled independently of the game timer directly based on the underlying clock, like in ZDoom.
There's interpolation bugs in the Build games that cannot be fixed if totalclock is used for it, but if we use something else we do not need a fractional totalclock.
2020-07-14 11:52:38 +02:00
Christoph Oelckers
a24034e087 - removed some demo code from savegame.cpp. 2020-07-07 23:07:03 +02:00
Christoph Oelckers
319e2e2745 - minor cleanup 2020-07-07 23:01:34 +02:00
Christoph Oelckers
ecddd8687c - newgame is clean now. 2020-07-07 22:41:31 +02:00
Christoph Oelckers
63eaec916b - fixed a few things.
Basic level progression is working, special cases still need testing, but for now it's good enough.
2020-07-07 21:38:20 +02:00
Christoph Oelckers
01fce31f43 - everything compiles again.
Still needs testing.
2020-07-07 20:27:21 +02:00
Christoph Oelckers
915b566612 - another safety commit. 2020-07-07 17:56:20 +02:00
Christoph Oelckers
6b86d7606f - safety commit - does not compile! 2020-07-07 13:19:09 +02:00
alexey.lysiuk
df2b3b6b17 - made mouse scaling in Cocoa backend match other platforms 2020-07-07 11:37:23 +03:00
Christoph Oelckers
dd45749650 - got rid of m_level_number and m_volume_number.
These were only needed so that G_NewGame_EnterLevel could be called without parameters. Ouch!
2020-07-07 10:17:02 +02:00
Christoph Oelckers
7f3c0ef16c - safety commit 2020-07-07 09:39:33 +02:00
Christoph Oelckers
34874d1a21 - migrated displayrest and took the opportunity to un-fuck the palette management. 2020-07-07 04:54:12 +02:00
Christoph Oelckers
b6f410923e - restored most of the original user_defs.
Most of the added EDuke things were gone anyway.
2020-07-07 00:16:54 +02:00
Christoph Oelckers
43ff87f47f - lightened player.h a bit more. 2020-07-06 23:50:14 +02:00
Christoph Oelckers
dca7e158bb - "po" reverted 2020-07-06 23:33:33 +02:00
Christoph Oelckers
e8ebeefaad - started consolidating the struct types.h 2020-07-06 23:24:35 +02:00
Christoph Oelckers
642ae03d90 - use player_struct from JFDuke. 2020-07-06 23:05:48 +02:00
Christoph Oelckers
631398a35a - renamed a few things. 2020-07-06 23:04:19 +02:00
Christoph Oelckers
1644c1d33a - cleanup continues. 2020-07-06 23:02:41 +02:00
Christoph Oelckers
45f51b0c4b -more header work. 2020-07-06 22:55:35 +02:00
Christoph Oelckers
0d0f6854c3 - cleaned out another header file. 2020-07-06 22:54:26 +02:00
Christoph Oelckers
83bcfcfd0c - Big cleanup. 2020-07-06 22:53:20 +02:00
Christoph Oelckers
f1babcee95 - more header cleanup. 2020-07-06 16:24:22 +02:00
Christoph Oelckers
a4879fb338 - draw all overlay elements on the game screen. 2020-07-06 15:52:09 +02:00
Christoph Oelckers
e272245537 - fixing some HUD stuff. 2020-07-06 15:48:51 +02:00
Christoph Oelckers
928620ab91 - why was this missed? 2020-07-06 13:27:56 +02:00
Christoph Oelckers
f2380f8829 - constant cleanup. 2020-07-06 13:26:26 +02:00
Christoph Oelckers
5d93e946c2 - moved all prediction code into a separate (inactive) source file. 2020-07-06 11:39:39 +02:00
Christoph Oelckers
f4e763e252 - input code cleanup.
The input queues are mostly abstracted now and some EDuke specific handling that isn't needed anymore was removed.
2020-07-06 10:34:31 +02:00
Christoph Oelckers
9300c0bdeb - stripped down the main menu loop to the minimum needed to be able to run it. 2020-07-06 08:55:56 +02:00
Christoph Oelckers
736a52f7b2 - startrts and domovethings. 2020-07-06 03:00:52 +02:00
Christoph Oelckers
827672a775 - moveclouds. 2020-07-06 02:05:31 +02:00
Christoph Oelckers
25bff01c70 - cleanup. 2020-07-06 00:54:06 +02:00
Christoph Oelckers
c6b619214f - cleanup of viewborder code.
The view border will now only be rendered in one place - inside displayrooms. None of the 2D content still depends on what it is set to.
2020-07-06 00:15:22 +02:00
Christoph Oelckers
021799573e - fixed sprite animations. 2020-07-05 23:22:35 +02:00
Christoph Oelckers
7bd2b33e39 - fixed centering of RR big text. 2020-07-05 21:40:51 +02:00
Christoph Oelckers
90d5d7ba75 . ugh. 2020-07-05 21:24:55 +02:00
Christoph Oelckers
cfe1e531c5 - activated the newly added render code and deleted the old one. 2020-07-05 21:21:39 +02:00
Christoph Oelckers
7ead48b9d9 - safety commit for displayrooms. 2020-07-05 16:49:00 +02:00
Christoph Oelckers
53f36e5c40 - fixed P_GetInput to work with the changed backend. 2020-07-05 12:26:00 +02:00
Christoph Oelckers
8a1206edbc Merge remote-tracking branch 'remotes/origin/master' into back_to_basics2 2020-07-05 11:55:41 +02:00
Christoph Oelckers
c08b8dc17b - camera display fix.
This is one fucked up mess of code.
2020-07-05 11:54:50 +02:00
Christoph Oelckers
2e78c08856 - fixed palette transparency checks 2020-07-05 10:15:55 +02:00
Mitchell Richters
dae1506182 - change std::max() to std::min() in glbackend.h. Fixes issue in coelckers/Raze#83. 2020-07-05 09:05:19 +02:00
Christoph Oelckers
2b61b44188 - remove unused variable. 2020-07-05 08:58:13 +02:00
Mitchell Richters
30300bf3b2 - allow shade in glbackend.h to accept negative values, but still at a max of numshades-1.
* This fixes some issues with distance lighting issues in Duke3D as reported at https://forum.zdoom.org/viewtopic.php?f=341&t=68838&start=75#p1158417.
2020-07-05 08:57:21 +02:00
Christoph Oelckers
2105af8096 - deleted some garbage. 2020-07-05 00:39:34 +02:00
Christoph Oelckers
390afc9490 - SE150 for RRRA.
It's the same as original SE40. What kind of mess whas done here in Eduke?
2020-07-05 00:16:59 +02:00
Christoph Oelckers
1657d90ca9 - ror.cpp 2020-07-04 23:40:54 +02:00
Christoph Oelckers
119b9f5d02 - SE40
Not testable because no working map uses it.
2020-07-04 23:40:14 +02:00
Christoph Oelckers
78f88e460e - G_DoThirdPerson replaced by the original 'view'. 2020-07-04 22:44:33 +02:00
Christoph Oelckers
2fba557a3d - fixed menu loop 2020-07-04 22:30:18 +02:00
Christoph Oelckers
2c494245ad - cheat list fixed. 2020-07-04 22:03:22 +02:00
Christoph Oelckers
7688390b2d - I hate it when MSVC doesn't recompile altered files... :( 2020-07-04 21:50:16 +02:00
Christoph Oelckers
7872b701ce - CCMD cleanup. 2020-07-04 21:36:27 +02:00
Mitchell Richters
c70cc474a0 - change mouse input from int to float and adjust games accordingly.
* Calculate game-side mousex/mousey divisions into the calculations performed in `InputState::GetMouseDelta()`.
* Fix mouse speed when `in_mousesmoothing` is true (wasn't factoring in / 3.f division used in non-true vector.
* Standard mouse forward/side movement speeds in Exhumed & SW with that of other games.
* Remove `strafeyaw` code from Duke/Exhumed/RR as it's not necessary and was leading to situations where the player would continually keep moving sideways even without input.
* Change mouse forward/side velocities to -= current value as is done with controller input and the player's angle/aim velocities.
2020-07-04 18:28:00 +02:00
Mitchell Richters
bb57590d34 - add gl_texture CVAR to glbackend à la GZDoom.
* Will be useful for further debugging of the lighting to determine whether Build actually did/does do different visibility for floor/walls/ceilings, etc.
* Idea inspired by Gez: https://forum.zdoom.org/viewtopic.php?f=341&t=68838&start=75#p1158294
2020-07-04 18:26:11 +02:00
Mitchell Richters
25c5b76f91 - make SDL mouse scaling match that of Windows for consistency. 2020-07-04 18:25:13 +02:00
Christoph Oelckers
39185300e7 - reimplemented cheats based on ZDoom's cheat parser. 2020-07-04 15:51:02 +02:00
Christoph Oelckers
dbd3202433 - simplified the generic cheat code.
This is both closer to ZDoom and more robust.
2020-07-04 10:22:20 +02:00
Christoph Oelckers
c9d3a383a4 more 2020-07-04 00:32:09 +02:00
Christoph Oelckers
f5d363d914 - cleaned out demo code. 2020-07-04 00:12:24 +02:00
Christoph Oelckers
d13b2dc130 - got rid of the dynamic tilemap.
Most tile access is in game specific code, the remaining code only accesses 51 tiles
2020-07-03 23:56:14 +02:00
Christoph Oelckers
f1a2836877 - it continues.
cameratext and the last 3 __STATICs.
2020-07-03 23:16:12 +02:00
Christoph Oelckers
d6e021a63d - statistics output 2020-07-03 21:44:57 +02:00
Christoph Oelckers
a3a8286857 - cleanup 2020-07-03 20:17:24 +02:00
Christoph Oelckers
1e24c4a22c - vscrn, aka updateviewport.
Just a temporary patch - this function won't work with the new status bar.
2020-07-03 16:59:53 +02:00
Christoph Oelckers
7f96d182b7 - palette stuff, input functions corrected. 2020-07-03 16:17:37 +02:00
Mitchell Richters
bbacc9e816 - factor in xdimenscale and viewingrangerecip when calculating renderSetVisibility().
* Changes performed in 0bd460d9e3 didn't take into account xdimenscale and viewingrangerecip like the days of old and this wasn't picked up in d80a32d379 or d80a32d379, where the applied fixes only appeared to work because they worked for me at 2560x1440p.
2020-07-03 14:42:41 +02:00
Christoph Oelckers
4fbd476b17 - refactored all text output to use DrawText.
No more screentext mess.
2020-07-03 10:53:35 +02:00
Christoph Oelckers
691643b035 - fix DTA_KeepRatio for fullscreen scaling. 2020-07-03 10:53:02 +02:00
Christoph Oelckers
5144e8c355 - ported the 'entering level' screen. 2020-07-03 09:59:24 +02:00
Christoph Oelckers
d2595582d4 - fixed coordinates. 2020-07-03 00:32:10 +02:00
Christoph Oelckers
e833360b65 - ported the level stats display to be game independent. 2020-07-02 23:56:22 +02:00
Christoph Oelckers
21da0816c5 - removed the overhead scoreboard because it's EDuke code. This should reuse the summary screen's output if redone.
- removed voting code for the same reason.
2020-07-02 21:28:09 +02:00
Christoph Oelckers
8d6278f845 - be gone, rotatesprite! 2020-07-02 21:12:02 +02:00
Christoph Oelckers
aaa8ae7306 - took care of the automap code.
This was virtually unchanged from JFDuke except for better formatting.
2020-07-02 20:58:56 +02:00
Christoph Oelckers
17c9513c98 - statusbar code cleanup.
- removed adult_lockout option because it is just a stupid relic from the 90's without any purpose. Were people even using this anymore?
2020-07-02 20:17:29 +02:00
Christoph Oelckers
6172978f13 - the menu code is clean. 2020-07-02 10:59:22 +02:00
Christoph Oelckers
68d7d57b3b - fixed menu registration. 2020-07-02 01:24:46 +02:00
Christoph Oelckers
247c9fb786 - transitioned most parts of the menu to the backend's draw functionality. 2020-07-02 01:17:45 +02:00
Christoph Oelckers
193260680f - a bit more 2020-07-01 22:55:27 +02:00
Christoph Oelckers
54c29258d8 - removed a large bunch of unused dynamic tile names. 2020-07-01 22:44:09 +02:00
Christoph Oelckers
b281c34357 - some final fixes. 2020-07-01 22:27:38 +02:00
Christoph Oelckers
c09b4896a6 - made RR summary screens work. 2020-07-01 22:14:11 +02:00
Christoph Oelckers
bb303c6469 - cleaned up the rest of the summary screen code, particularly the totally redundant second variant for RRRA. 2020-07-01 20:31:29 +02:00
Christoph Oelckers
197a35291a - added level summary screens and made the fade for the screens an engine feature.
This also hijacks one free element in the shader uniforms for the newly added factor.
2020-07-01 12:55:32 +02:00
Christoph Oelckers
4baf065370 - decrappification 2020-06-30 22:59:20 +02:00
Christoph Oelckers
2e98b2f8da - quote cleanup. 2020-06-30 22:53:15 +02:00
Christoph Oelckers
8aaadfad1b - fixed the notification display. 2020-06-30 22:01:43 +02:00
Christoph Oelckers
e0bd85935a - replaced user quotes with GZDoom's notification display entirely. 2020-06-30 20:59:24 +02:00
Christoph Oelckers
e04c5e5fad - removed some demo control code. 2020-06-30 20:07:58 +02:00
Christoph Oelckers
1cc692284b - removed remaining YAX code 2020-06-30 19:48:10 +02:00
Christoph Oelckers
a491b88074 - removed most of the demo code. 2020-06-30 19:34:58 +02:00
Christoph Oelckers
51ac1019d2 - ported RR's noise.c. 2020-06-30 17:30:48 +02:00
Christoph Oelckers
fc11447e59 - interpolations transitioned. 2020-06-30 11:55:01 +02:00
Christoph Oelckers
e92ca71fe5 - shareware screens 2020-06-30 00:15:48 +02:00
Christoph Oelckers
7253b4eb74 - added a serializer for the flamethrower's fire map. 2020-06-29 23:36:06 +02:00
Christoph Oelckers
0656beeb2b - remove a bit more code. 2020-06-29 22:07:19 +02:00
Christoph Oelckers
9f33638804 - RR multiplayer screen. 2020-06-29 22:00:38 +02:00
Christoph Oelckers
ea59efd091 - Duke's multiplayer statistics screen. 2020-06-29 20:50:18 +02:00
Christoph Oelckers
e7da8e4bcf - fixed red font for use with DrawText. 2020-06-29 13:19:36 +02:00
Christoph Oelckers
8cb8f85569 - deleted the old anim player. 2020-06-29 00:00:51 +02:00
Christoph Oelckers
726ebec9ec - RR bonus screens. 2020-06-28 22:17:27 +02:00
Christoph Oelckers
69d9a98ead - Duke end of episode animations ported 2020-06-28 21:38:25 +02:00
Christoph Oelckers
6767b383e7 - safety commit. 2020-06-28 14:42:31 +02:00
Christoph Oelckers
7b7c64fc17 - FileStream cleanup 2020-06-28 14:42:06 +02:00
Christoph Oelckers
2ddec37098 - added a texture format for single frame ANMs so that they can be handled like normal images.
The intermission code is doing weird things with them that isn't really portable.
2020-06-28 14:41:44 +02:00
Christoph Oelckers
924816ac8d - Inlined most of libsmackerdec's FileStream.
This should probably be removed altogether and use FileReader directly.
2020-06-28 10:59:11 +02:00
Christoph Oelckers
9aaf6b416d - RR intro movies. 2020-06-28 10:14:42 +02:00
Christoph Oelckers
6be1a9a9e4 - copyright 2020-06-28 09:03:31 +02:00
Christoph Oelckers
67fa7f8275 - work on Duke intro sequence.
Now without any Build drawing code, it goes directly to DrawTexture now. :)
2020-06-28 00:32:28 +02:00
Christoph Oelckers
4f6ab45e35 - screenjob start. 2020-06-27 11:48:55 +02:00
Christoph Oelckers
8a06a09d05 anm adjustment 2020-06-27 11:48:44 +02:00
Christoph Oelckers
60cb8281cd - more 2D screen adjustment 2020-06-27 11:48:32 +02:00
Christoph Oelckers
e0ad1aa0cd - cleanup of animlib.
* operate on a parameter-specified data structure instead of a global one
* moved error checks into the library code.
2020-06-27 11:47:31 +02:00
Christoph Oelckers
34c3838e62 - logo. 2020-06-26 22:49:56 +02:00
Christoph Oelckers
fc017f5868 - removed unused editwall variable. 2020-06-26 20:28:57 +02:00
Christoph Oelckers
16db8195d5 - fixed incomplete texts in inventory.
This didn't properly discover bad lowercase entries in the font.
2020-06-26 12:20:24 +02:00
Christoph Oelckers
7490d6cd18 - 2d stuff 2020-06-25 21:51:44 +02:00
Christoph Oelckers
43f899f2ce - Do not start multiple instances of the same sound on the same source in Exhumed.
From the looks of it the engine calls the sound function repeatedly while the sound plays to perform distance checks.
With the OpenAL backend these checks are totally unnecessary and shouldn't do anything.
2020-06-24 22:02:23 +02:00
Christoph Oelckers
2bd4173716 - renamed a few headers. 2020-06-24 21:21:02 +02:00
Mitchell Richters
8c723f52d1 - make controller input identical across all games.
* Convert axes in ControlInfo struct from int32_t to float as what's received from the backend.
* Remove all the scale up/down math since we don't need that with floats and replace with float constants that match old behaviour.
* Store q16mlook scaling as a constant for use with mouse and upcoming controller code.
* Add required controller code to Blood as the only game not to have working controllers.
* Fix typos in (gInput.forward > input.forward) for `ctrlGetInput()` in Blood.
* Remove use of `scaleAdjustmentToInterval()` on Exhumed and Shadow Warrior as they only process forward/side velocities within the game's ticrate.
* Repair angvel/aimvel scaling mistakes from d79a5d256d.
* Scale dyaw and dpitch by 25% for Shadow Warrior as the game runs 25% faster than the other games, leading to faster input.
2020-06-24 20:08:56 +02:00
Christoph Oelckers
28b2bcb444 - removed unused header. 2020-06-24 01:02:11 +02:00
Christoph Oelckers
e146e73345 - consolidated the 'music' parsing in Defs (pending a refactor of the MAPINFO system.)
- removed the remaining parts of the game Defs parser because we do not want anything EDuke in here.
2020-06-24 00:40:22 +02:00
Christoph Oelckers
4b743b4063 - use the original palette loader from RR. 2020-06-23 22:51:37 +02:00
Christoph Oelckers
22e4141395 - removed duplicate header. 2020-06-23 22:01:58 +02:00
Christoph Oelckers
18b272412a - command line stuff can be traced back to JFDuke. 2020-06-23 21:56:42 +02:00
Christoph Oelckers
99067f3bd6 - a small bit more is gone. 2020-06-23 21:12:15 +02:00
Mitchell Richters
291475eeb5 - simplify visibility calculation from changes performed in d80a32d379.
* Achieves the exact same result in a cleaner fashion.
2020-06-23 14:16:42 +02:00
Mitchell Richters
c05eb6dbb6 Blood: Fix issues with weapon not switching properly if cycling the weapons too quickly.
- This means that while weapons can't be changed mid-animation, they switch consistently. I feel they animate quick enough, anyway.
2020-06-23 12:19:53 +02:00
Mitchell Richters
e1e05eeaa7 - change cl_defaultconfiguration default from '2' (leftbinds) to '0' (defbinds). 2020-06-23 12:16:11 +02:00
Christoph Oelckers
73e436730d - fixed interpolation and sprite setup.
Both caused quite noticable glitches on the first WW2GI map.
2020-06-22 21:07:20 +02:00
Mitchell Richters
91cc97ced0 Change Next/Previous Weapon button handling for Shadow Warrior.
- Makes consistent with Duke 3D, RR and Blood.
2020-06-22 07:47:58 +02:00
Christoph Oelckers
1993642ce8 - fixed precacher. 2020-06-22 01:07:19 +02:00
Christoph Oelckers
e113851a39 OnMotorcycle etc. 2020-06-22 00:40:16 +02:00
Christoph Oelckers
d6f1c76c9d cleanup 2020-06-22 00:40:15 +02:00
Christoph Oelckers
92c5d73407 - removed sooundsdyn - this isn't needed because no sounds get remapped. 2020-06-22 00:40:05 +02:00
Christoph Oelckers
6a0e7c14ee - fixed compile. 2020-06-22 00:37:32 +02:00
Christoph Oelckers
72e7bde578 - deleted old version.
# Conflicts:
#	source/games/duke/src/zz_game.cpp
2020-06-22 00:27:12 +02:00
Christoph Oelckers
a343ceb5bc animatesprites 2020-06-22 00:27:12 +02:00
Christoph Oelckers
17a548fc00 - cleanup 2020-06-22 00:27:11 +02:00
Christoph Oelckers
56834dee6b - 2D animation fix. 2020-06-22 00:27:11 +02:00
Christoph Oelckers
98fad20dd2 - removed old code. 2020-06-22 00:27:11 +02:00
Christoph Oelckers
9e08d81a6b - prelevel 2020-06-22 00:27:11 +02:00
Christoph Oelckers
adaaea2951 - displayflamethrower 2020-06-22 00:16:22 +02:00
Christoph Oelckers
19b6064129 -resetpspritevars 2020-06-22 00:16:22 +02:00
Christoph Oelckers
913253bb0c next... 2020-06-22 00:07:26 +02:00
Christoph Oelckers
42bbc1e6ce resetprestat 2020-06-22 00:07:26 +02:00
Christoph Oelckers
4af227fec6 - resetinventory. 2020-06-22 00:07:25 +02:00
Christoph Oelckers
fe49d0d2d9 - resetinventory. 2020-06-22 00:07:25 +02:00
Christoph Oelckers
4c00e4cf7c - got rid of the old precaching code.
# Conflicts:
#	source/games/duke/src/zz_premap.cpp
2020-06-22 00:07:25 +02:00
Christoph Oelckers
4664d9f970 - deleted old version. 2020-06-22 00:06:52 +02:00
Christoph Oelckers
16bad04da8 - premap stuff.
# Conflicts:
#	source/glbackend/glbackend.cpp
2020-06-22 00:06:51 +02:00
Christoph Oelckers
ed9b418db7 - deleted a bit more unused code.
# Conflicts:
#	source/games/duke/src/zz_config.cpp
2020-06-22 00:06:34 +02:00
Christoph Oelckers
10976e3865 - removed unused code. 2020-06-22 00:06:28 +02:00
Christoph Oelckers
f437015350 - removed network code because whatever gets done here, this code won't be it. 2020-06-22 00:06:28 +02:00
Christoph Oelckers
603afdde87 - weapon draw code tested and old version removed.
# Conflicts:
#	source/games/duke/src/zz_player.cpp
2020-06-22 00:06:27 +02:00
Christoph Oelckers
e827e7a59b - be gone 2020-06-22 00:05:08 +02:00
Christoph Oelckers
e3153f143d hudweapon
# Conflicts:
#	source/build/src/engine.cpp
2020-06-22 00:05:07 +02:00
Christoph Oelckers
4dee181405 - still needed 2020-06-22 00:00:57 +02:00
Christoph Oelckers
df545d34eb haskeys 2020-06-21 23:46:30 +02:00
Christoph Oelckers
7ec3232a3a - removed old process input code. 2020-06-21 23:46:30 +02:00
Christoph Oelckers
a966e34caa - broken palette checks fixed - the new input routine mostly works. 2020-06-21 23:46:29 +02:00
Christoph Oelckers
ed81022d71 - RRRA weapons work again. 2020-06-21 23:46:29 +02:00
Christoph Oelckers
960e656be6 - more gone 2020-06-21 23:46:29 +02:00
Christoph Oelckers
4ecee598af - P_ProcessWeapon transitioned. 2020-06-21 23:46:29 +02:00
Christoph Oelckers
244826cfa0 processinput_r 2020-06-21 23:46:28 +02:00
Christoph Oelckers
fadbe61b9c -processinput_d 2020-06-21 23:46:28 +02:00
Christoph Oelckers
df41875aa6 - weapon code cleaned up 2020-06-21 23:46:28 +02:00
Christoph Oelckers
1c29a44d3e - use access functions to change horizon. 2020-06-21 23:46:28 +02:00
Christoph Oelckers
2085167703 - safety commit, weapon code incompletely ported. 2020-06-21 23:46:27 +02:00
Christoph Oelckers
4acc10b99e 4 more pieces 2020-06-21 23:46:27 +02:00
Christoph Oelckers
c2d9f86832 - safety commit. 2020-06-21 23:46:27 +02:00
Christoph Oelckers
dbc84798c7 - deleted old version 2020-06-21 23:46:27 +02:00
Christoph Oelckers
dbbc5e0790 - doincrements
# Conflicts:
#	source/games/duke/src/zz_sbar.cpp
2020-06-21 23:46:26 +02:00
Christoph Oelckers
cb14555ef6 - world tour weapon code added and redundancy reduction. 2020-06-21 23:46:26 +02:00
Christoph Oelckers
eb6aac4c43 - fixed compile 2020-06-21 23:46:17 +02:00
Christoph Oelckers
d49c5f7e4c - removed RRDH code due to licensing conflicts.
# Conflicts:
#	source/games/duke/src/zz_d_menu.cpp
#	source/games/duke/src/zz_rrdh.cpp
2020-06-21 23:29:33 +02:00
Christoph Oelckers
a39f6062ce - fixed new input code and delete the old one. 2020-06-21 23:28:47 +02:00
Christoph Oelckers
2e15cec17a - safety commit 2020-06-21 23:28:47 +02:00
Christoph Oelckers
985fa2a159 - cheat and chat code from ZDoom.
Not active yet because it does not integrate with the current input code, but at least it's there now.

# Conflicts:
#	source/build/include/baselayer.h
2020-06-21 23:28:45 +02:00
Christoph Oelckers
732905c3d1 - removed the old shoot function and all its subfunctions. 2020-06-21 23:24:49 +02:00
Christoph Oelckers
990cb2acb8 -'shoot' replaced.
# Conflicts:
#	source/build/src/palette.cpp
2020-06-21 23:24:49 +02:00
Christoph Oelckers
f56a8360b0 - spawnglass functions and fta_sounds. 2020-06-21 23:23:21 +02:00
Christoph Oelckers
1c4dcde743 - wall switch check turned into a flag. 2020-06-21 23:23:21 +02:00
Christoph Oelckers
8a0baf3aad - flag setter cleanup.
# Conflicts:
#	source/games/duke/src/zz_game.cpp
2020-06-21 23:23:20 +02:00
Christoph Oelckers
ebb226fdaf - be gone! 2020-06-21 23:21:11 +02:00
Christoph Oelckers
edff48ee37 EGS
.
2020-06-21 23:21:10 +02:00
Christoph Oelckers
d5e066b13f - fixed flipped parameters 2020-06-21 23:21:10 +02:00
Christoph Oelckers
26f3bc1857 - spawn function transitioned. 2020-06-21 23:21:10 +02:00
Christoph Oelckers
cd55c21a5e - removed a large bunch of Polymer code, which unfortunately is license poison. 2020-06-21 23:20:49 +02:00
Christoph Oelckers
95ba82b925 -sound cleanup 2020-06-21 23:17:51 +02:00
Christoph Oelckers
5c48d355f1 - reserved script space must be nulled. 2020-06-21 23:17:51 +02:00
Christoph Oelckers
693b15a556 - use 4 byte entries for the script.
We no longer store pointers in here.
2020-06-21 23:17:51 +02:00
Christoph Oelckers
cb1824ca25 - store script code in a dynamic array.
# Conflicts:
#	source/games/duke/src/zz_game.cpp
2020-06-21 23:17:50 +02:00
Christoph Oelckers
b2290cca3f - fixed compile 2020-06-21 23:17:39 +02:00
Christoph Oelckers
6b2fdf24fd - cleanup after removing EDukes's script code.
# Conflicts:
#	source/games/duke/src/zz_game.cpp
#	source/games/duke/src/zz_gameexec.cpp
2020-06-21 23:07:46 +02:00
Christoph Oelckers
ed6262e0bf - got rid of the old interpreter code. 2020-06-21 23:07:45 +02:00
Christoph Oelckers
b9deaba834 - all commands now get run by the original code. 2020-06-21 23:07:45 +02:00
Christoph Oelckers
1fd0c279d7 - fixed some bugs. 2020-06-21 23:07:45 +02:00
Christoph Oelckers
cba4f0616b - more 2020-06-21 23:07:45 +02:00
Christoph Oelckers
3651ab821e - fall command, also some safety work for npt deleting sprites prematurely. 2020-06-21 23:07:44 +02:00
Christoph Oelckers
1970101076 - MORE 2020-06-21 23:07:44 +02:00
Christoph Oelckers
d4b728dd88 - another block 2020-06-21 23:07:44 +02:00
Christoph Oelckers
89ae407fd5 - a few more. 2020-06-21 23:07:44 +02:00
Christoph Oelckers
ae47264c78 - fix3 2020-06-21 23:07:43 +02:00
Christoph Oelckers
53f1db9b85 - uninitialized local variable 2020-06-21 23:07:43 +02:00
Christoph Oelckers
44b8053404 - inverted logic. 2020-06-21 23:07:43 +02:00
Christoph Oelckers
5c780e5c5f - fixed mixed up tile numbers.
For consistency all shared numbers now use the TILE_ prefix.
2020-06-21 23:07:43 +02:00
Christoph Oelckers
1b135ecb0b - step 1. 2020-06-21 23:07:42 +02:00
Christoph Oelckers
18d6a8e65d - another safety commit.
# Conflicts:
#	source/games/duke/src/zz_actors.cpp
2020-06-21 23:07:42 +02:00
Christoph Oelckers
e1c76e4c26 - safety commit.
# Conflicts:
#	source/games/duke/src/zz_sbar.cpp
2020-06-21 23:07:42 +02:00
Christoph Oelckers
e007b9bceb - safety commit 2020-06-21 23:07:41 +02:00
Christoph Oelckers
15c744f3da - movement code of the VM transitioned 2020-06-21 23:07:41 +02:00
Christoph Oelckers
3c8c7acaf8 - gamevars should be working now, there was a bad case of out of bounds access in the implementation 2020-06-21 23:07:41 +02:00
Christoph Oelckers
d3652f0ed9 - fixed include 2020-06-21 23:07:30 +02:00
Christoph Oelckers
c59928c6ff - removed most of the old and very messy gamevar code.
# Conflicts:
#	source/games/duke/src/zz_gamevars.cpp
2020-06-21 22:59:22 +02:00
Christoph Oelckers
c9bb23ee42 - more gamevar cleanup. 2020-06-21 22:59:10 +02:00
Christoph Oelckers
d01d4bf44c - preparations for gamevar code replacement - thinning out of code that's to be removed 2020-06-21 22:59:09 +02:00
Christoph Oelckers
c28ea5792a - copyright 2020-06-21 22:59:09 +02:00
Christoph Oelckers
e625f94e84 - migrated fully away from EDuke's script compiler
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:59:09 +02:00
Christoph Oelckers
6d066d4b7b - cleaned out the old parser.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:50 +02:00
Christoph Oelckers
a1a19ab630 - transitioned the gamevar instructions, still with the old backend.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:42 +02:00
Christoph Oelckers
05360e14b5 - game startup, include and moving formerly global variables back to global.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:36 +02:00
Christoph Oelckers
3a95664b0b - fixing the ifelse check, consolidating the tail code for 'if' instructions. 2020-06-21 22:56:28 +02:00
Christoph Oelckers
2f9d62a40a - the last simple ones. 2020-06-21 22:56:28 +02:00
Christoph Oelckers
422faa99e1 - a lot more commands transitioned
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:56:28 +02:00
Christoph Oelckers
79c7748e90 - most 'if's.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:30 +02:00
Christoph Oelckers
72514b0a1d - more instructions, 2020-06-21 22:55:24 +02:00
Christoph Oelckers
11255cbf6a - hack for buggy scripts in production code. 2020-06-21 22:55:24 +02:00
Christoph Oelckers
248e0503d8 - safety commit 2020-06-21 22:55:24 +02:00
Christoph Oelckers
56975d3ee2 - progress
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:23 +02:00
Christoph Oelckers
49e7fa20e8 - #2 2020-06-21 22:55:17 +02:00
Christoph Oelckers
6a6bbbe71a - the first command in the parser is done. 2020-06-21 22:55:17 +02:00
Christoph Oelckers
1cedacb7f4 - removed the hash table for the labels.
Again, the old code doesn't have it and it'd complicate porting over the code.
2020-06-21 22:55:16 +02:00
Christoph Oelckers
4a5953adb4 - some more preparations on the parser code. 2020-06-21 22:55:16 +02:00
Christoph Oelckers
53e4b8bf19 - deactivated the label type checks because the original code doesn't have them and they'd get in the way of testing. 2020-06-21 22:55:16 +02:00
Christoph Oelckers
3ab19a2f0d - hooked up the original CON parser for instruction-by-instruction substitution.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:15 +02:00
Christoph Oelckers
358d1a460f - tabification of new sources and replacement of the CON instruction symbols.
# Conflicts:
#	source/games/duke/src/zz_gamedef.cpp
2020-06-21 22:55:09 +02:00
Christoph Oelckers
deef1b5936 - World Tour commentary stubs.
# Conflicts:
#	source/core/gamecontrol.cpp
2020-06-21 22:54:22 +02:00
Christoph Oelckers
0dacfb0049 - fixed compile 2020-06-21 22:53:08 +02:00
Christoph Oelckers
4c47361132 - added null check to findplayer. 2020-06-21 22:40:13 +02:00
Christoph Oelckers
577a800843 - the rest of sector.cpp, except for the input function. 2020-06-21 22:40:12 +02:00
Christoph Oelckers
92f5236b24 - more sector stuff. 2020-06-21 22:40:12 +02:00
Christoph Oelckers
c9a47d2e44 checkhitswitch
intentionally not merged because this is too messy.
2020-06-21 22:40:11 +02:00
Christoph Oelckers
536e3c886c 20% of sector.cpp
# Conflicts:
#	source/games/duke/src/zz_sector.cpp
2020-06-21 22:40:11 +02:00
Christoph Oelckers
c8cb0e4efd - the beginning of sector.cpp
The math backend functions have been moved out of Build because they originally have a good license.

# Conflicts:
#	source/build/src/mdsprite.cpp
#	source/build/src/polymost.cpp
2020-06-21 22:39:05 +02:00
Christoph Oelckers
9c3189475a - renamed unprocessed files and added missing WT firefly effect. 2020-06-21 22:38:05 +02:00
Christoph Oelckers
8cc273955d - moveeffectors, actors.c complete. 2020-06-21 22:38:04 +02:00
Christoph Oelckers
4c99eae4f6 - moveexplosions 2020-06-21 22:38:04 +02:00
Christoph Oelckers
242f78de13 - make moveactors work and RR weapon name cleanup.
# Conflicts:
#	source/games/duke/src/sbar.cpp
2020-06-21 22:38:04 +02:00
Christoph Oelckers
7b75a0683a moveactors plus backing code. 2020-06-21 22:37:29 +02:00
Christoph Oelckers
ca0af4bd7c - fixed compile. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
cfead10cc2 - movetransports. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
d396df057f - deleted old moveweapons function. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
63f45f57d8 - separated Duke and RR implementations because the more complex functions would become too messy otherwise. 2020-06-21 22:36:11 +02:00
Christoph Oelckers
bda3374f9b - reshuffling stuff. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
37b496b971 - moveweapons. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
4d89c076f3 - removed old movestandables version. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
9104fda1a0 - movestandables - old code not removed yet. Plus some World Tour handling. 2020-06-21 22:36:10 +02:00
Christoph Oelckers
8d42055dd7 - moveplayer 2020-06-21 22:36:09 +02:00
Christoph Oelckers
4b235c0771 - ifhitbyweapon and shorter game checks with inline functions. 2020-06-21 22:36:09 +02:00
Christoph Oelckers
89e555761d - guts and moves 2020-06-21 22:36:09 +02:00
Christoph Oelckers
754c8bd9c1 - lotsofstuff 2020-06-21 22:36:09 +02:00
Christoph Oelckers
c11963b41a - movesprite 2020-06-21 22:36:08 +02:00
Christoph Oelckers
68de42075e - delete the old one. 2020-06-21 22:36:08 +02:00
Christoph Oelckers
b29351f3bc - hitradius.
This one was really messy...
2020-06-21 22:36:08 +02:00
Christoph Oelckers
51d4853375 - checkavailweapon 2020-06-21 22:36:08 +02:00
Christoph Oelckers
2cc4176ed8 - addweapon. 2020-06-21 22:36:07 +02:00
Christoph Oelckers
294a7e4c9c - reinstated RR code after seeing that the weapon array can be shared without problems. 2020-06-21 22:36:07 +02:00
Christoph Oelckers
7493956613 - removed the dynamic weapon map indirection. 2020-06-21 22:36:07 +02:00
Christoph Oelckers
cb54a03d60 - wip
# Conflicts:
#	source/games/duke/src/sbar.cpp
2020-06-21 22:36:07 +02:00
Christoph Oelckers
cde100598c - two more functions reverted. 2020-06-21 22:36:06 +02:00
Christoph Oelckers
bb3d14c0c4 - original tile name definitions. 2020-06-21 22:36:06 +02:00
Christoph Oelckers
30cf62d9c2 - renamed all tile variables so that the engine can be reverted to the old constant setup instead of the mostly useless tile remapping feature.
If this is supposed to be made customizable it has to be done very differently.

# Conflicts:
#	source/games/duke/src/game.cpp
#	source/games/duke/src/sbar.cpp
2020-06-21 22:36:06 +02:00
Christoph Oelckers
27c313d74e - moved interpolation code to its own file.
Mainly to get it out of the way. This needs to be redone later in a more serialization-friendly way.
2020-06-21 22:36:05 +02:00
Christoph Oelckers
bd6047a097 - started porting functions - using a simple one as the first case. 2020-06-21 22:36:05 +02:00
Christoph Oelckers
e72869c947 - renamed file to allow getting the right thing into its place. 2020-06-21 22:36:05 +02:00
Christoph Oelckers
92c2ab50d3 - statusbar.cpp 2020-06-21 22:35:41 +02:00
Christoph Oelckers
0596078978 - prepared folder for merging. 2020-06-21 22:18:12 +02:00
Christoph Oelckers
99958342a9 - prepare the branch for adding new commits
# Conflicts:
#	source/core/gamecontrol.cpp
2020-06-21 20:59:16 +02:00
Christoph Oelckers
b8b38e075d - moving to the right place. 2020-06-21 20:59:08 +02:00
Christoph Oelckers
e9925eee0f - preparation work.
# Conflicts:
#	source/core/gamecontrol.cpp
2020-06-21 20:59:07 +02:00
Mitchell Richters
d80a32d379 - fix render visibility calculation following changes in 0bd460d9e3.
* Output from PrintVis() in 9dfd3ddd02 showed resulting global visibility as 0.078125.
* Following 0bd460d9e3, resulting global visibility shown as 0.041667.
* Scaling g_visibility by (8.f / 15.f) (0.533333) restores resulting global visibility to 0.078125.
2020-06-21 10:12:54 +02:00
Mitchell Richters
3325ef272e - make r_ambientlight work globally for all games by performing adjustment engine-side. 2020-06-21 10:12:54 +02:00
Christoph Oelckers
1bb7da173a - removed a few more dependencies on Build includes. 2020-06-20 18:17:49 +02:00
Christoph Oelckers
83a760874b - removed some Build related includes from core code. 2020-06-20 18:01:02 +02:00
Christoph Oelckers
686999381b - moved non-Build definitions out of baselayer.h. 2020-06-20 17:52:10 +02:00
Christoph Oelckers
5b805af4e7 - removed all dirty headers from third party code.
This code should be project independent and remain project independent
2020-06-20 13:03:05 +02:00
Christoph Oelckers
e4f55d4d90 - removed compat.h cruft from animlib code.
This again is code that is under a good license, so use properly licensed utilities instead.
2020-06-20 12:57:31 +02:00
Christoph Oelckers
15d869ccde -moved scancodes.h out of Build folder.
This file is from the Duke source and available under a good license so it can be moved to a better place.
2020-06-20 12:54:33 +02:00
Christoph Oelckers
83642d0510 - removed Build dependencies in libsmackerdec.
It was all just some warning blockers for old and defective compilers that required including these.
2020-06-20 12:24:11 +02:00
Christoph Oelckers
7bc8d2baff - I_msTimeF. 2020-06-20 11:55:30 +02:00
Christoph Oelckers
9687facc88 - removed dead timerUninit call 2020-06-20 11:47:21 +02:00
Christoph Oelckers
198ed45357 - clean up redundancy 2020-06-20 10:58:47 +02:00
Christoph Oelckers
76311cfcc9 - set proper minimal FPS rate for all games. 2020-06-20 10:46:51 +02:00
Christoph Oelckers
e29eb5bbed - added some ZScript basics.
This is merely the basics needed to actually implement something.
2020-06-20 09:46:41 +02:00
Christoph Oelckers
7edcd3125a - fixed music setup for Duke3D.
The parser prepends a '/' to the names which needs to be removed when looking up the music.
2020-06-20 09:38:30 +02:00
Christoph Oelckers
550576d94d - allow skipping the Exhumed logos. 2020-06-17 17:10:31 +02:00
Richard C. Gobeille
d28929c437 engine: add klabs() back into ksqrtasm_old() 2020-06-17 17:10:11 +02:00
Dino Bollinger
ba4eb3f906 Fix crash during demo playback caused by a mistake in 5132b41f 2020-06-17 17:10:11 +02:00
Dino Bollinger
a5085c3631 Expose newgamecustom menu and submenu index to CON (read-only).
New userdef struct members: ud.m_newgamecustom, ud.m_newgamecustomsub
2020-06-17 17:10:11 +02:00
Dino Bollinger
79d3a36106 Duke3D: Fix frozen players floating in mid-air 2020-06-17 17:10:11 +02:00
Richard C. Gobeille
3c6adcd10b RR: fix player still being able to look around while frozen
Replicates changes to Duke3D code from f408c5a8d4.
2020-06-17 17:10:11 +02:00
Richard C. Gobeille
815df3ed38 Duke3d: fix player still being able to look around while frozen 2020-06-17 17:10:11 +02:00
Richard C. Gobeille
e641c82cdc RR: fix issue where the player was unable to look or move under some circumstances after being "killed" with god mode enabled
Replicates changes to Duke3D code from 5e4fd35738.
2020-06-17 17:10:11 +02:00
Richard C. Gobeille
47c16e4872 RR: fix issue with player movement not being locked when crushing shrunken enemies
Replicates changes to Duke3D code from f5aa302475.
2020-06-17 17:10:11 +02:00
Richard C. Gobeille
0822195ba2 RR: fix jittery view on moving sectors
This also fixes the interpolation for gamefunc_TurnAround and stomping on enemies. Replicates changes to Duke3D code from c30b21dcdc.
2020-06-17 17:10:11 +02:00
Mitchell Richters
db5a4b49eb - Duke3D: Fix issues caused from cherry pick from upstream.
This change from a5c9a702e9 needs to be dropped due to how we're handling one_eighty_count as per 2129d3b4e7.
2020-06-17 17:10:11 +02:00
Christoph Oelckers
b9a567463c - fixed compile error. 2020-06-17 12:26:06 +02:00
Richard C. Gobeille
9a2c2d5a98 exhumed: fix overflow in feebtag() 2020-06-17 12:26:06 +02:00
nukeykt
22e0c4d9ae Rednukem: fix longstanding bug with unfrozen GREENSLIME
Backported from eduke32
2020-06-17 12:26:06 +02:00
sirlemonhead
d2806393bb PCExhumed: Add code to draw serpent cam status text on screen
# Conflicts:
#	source/exhumed/src/sound.cpp
#	source/exhumed/src/status.h
2020-06-17 12:26:06 +02:00
sirlemonhead
9df13d0dfe PCExhumed: Don't restore mid level save point if re-entering a just completed level 2020-06-17 12:26:05 +02:00
sirlemonhead
2e514e539e PCExhumed: Fix cheat messages 2020-06-17 12:26:05 +02:00
Dino Bollinger
54ce1b5c06 Fix minor memory leak in Net_Connect()
# Conflicts:
#	source/duke3d/src/network.cpp
2020-06-17 12:26:05 +02:00
Richard C. Gobeille
4128fd62c7 engine: set g_loadedMapVersion in engineLoadBoardV5V6()
# Conflicts:
#	source/build/src/engine.cpp
2020-06-17 12:26:05 +02:00
Richard C. Gobeille
4e9144dd20 Duke3d: fix GREENSLIME issue introduced by 6335a9a2e515329a159b03ba0c8a32136dc6ac42 2020-06-17 12:26:04 +02:00
Richard C. Gobeille
54d9a1a711 Duke3d: add some labels for the different GREENSLIME states 2020-06-17 12:26:04 +02:00
Richard C. Gobeille
5574f0bd74 Duke3d: add player .somethingonplayer check to GREENSLIME, and reset the player's .somethingonplayer to -1 if the player is dead 2020-06-17 12:26:04 +02:00
Richard C. Gobeille
39b1c3cee9 Duke3d: fix longstanding bug with unfrozen GREENSLIME
This fixes some undefined behavior that occurred as a result of reading far past the bounds of slimeFrames[].
2020-06-17 12:26:04 +02:00
Richard C. Gobeille
575541e32c engine: update libdivide 2020-06-17 12:26:03 +02:00
Richard C. Gobeille
1cab7b9765 engine: add divideu64()/divideu64_noinline() 2020-06-17 12:26:03 +02:00
Dino Bollinger
d3b6991846 Duke3D: This should fix players being able to superjump out of water 2020-06-17 12:26:03 +02:00
Dino Bollinger
9c2c1cc765 Fix 3D model animation depending on the number of sprites present on the map.
Fixes terminx/eduke32#64.
2020-06-17 12:26:03 +02:00
Richard C. Gobeille
28911435d9 Duke3d: fix regression with the Devastator's ability to damage sprites in sectors other than the sector the rocket hit
Fixes terminx/eduke32#62.
2020-06-17 12:26:03 +02:00
Richard C. Gobeille
a5c9a702e9 Duke3d: fix jittery view on moving sectors
This also fixes the interpolation for gamefunc_TurnAround and stomping on enemies. Fixes terminx/eduke32#60.

# Conflicts:
#	source/duke3d/src/actors.cpp
#	source/duke3d/src/game.cpp
#	source/duke3d/src/premap.cpp
2020-06-17 12:26:02 +02:00
Richard C. Gobeille
f5aa302475 Duke3d: fix issue with player movement not being locked when crushing shrunken enemies
Fixes terminx/eduke32#59.
2020-06-17 12:26:02 +02:00
Richard C. Gobeille
5e4fd35738 Duke3d: fix issue where the player was unable to look or move under some circumstances after being "killed" with god mode enabled
Fixes #56.
2020-06-17 12:26:02 +02:00
Christoph Oelckers
2c2b871083 - fixed texture validation checks. 2020-06-17 12:26:02 +02:00
Christoph Oelckers
95b4340eec - initial palette shader work. 2020-06-17 12:26:01 +02:00
Christoph Oelckers
b753ea5db7 - preparations for passing palette lookup textures through the low level texture code. 2020-06-17 12:26:01 +02:00
nukeykt
b907791558 Blood: input code improvements
Repairs interpolation issues introduced in 96c9ca657e as reported in https://forum.zdoom.org/viewtopic.php?f=340&t=69009
2020-06-17 12:22:23 +02:00
Rachael Alexanderson
6fdc11d608 - Raze is not GZDoom. Changed to something more generic. (Will do the same update to GZDoom) 2020-06-16 08:01:37 -04:00
Christoph Oelckers
2a29dbf793 - use backend independent code to render the camera textures. 2020-06-14 21:57:21 +02:00
Christoph Oelckers
d4b32bf79f - fully synchronized the backend code with GZDoom.
The camera texture code couldn't be done earlier.
2020-06-14 21:13:22 +02:00
Christoph Oelckers
5effc95ae1 - updated startup dialog and fixed multisampling not active in the 3D scene. 2020-06-14 20:59:26 +02:00
Christoph Oelckers
946da7d622 - moved the textures used for the animations into the texture manager.
This is to allow giving them a texture ID so that they can be used from ZScript which has no access to naked textures.
This also consolidates AnimTexture and VpxTexture.
2020-06-14 20:27:13 +02:00
Christoph Oelckers
edd9f1773b - added the entry point for the ZScript compiler. 2020-06-14 19:20:04 +02:00
Christoph Oelckers
d4cdb31464 - backend update to make the ZScript compiler work. 2020-06-14 18:58:30 +02:00
Mitchell Richters
7b3ad35cc2 - Duke3D & RR: Always process cheats even while paused.
* Resolves https://forum.zdoom.org/viewtopic.php?f=340&t=68961
2020-06-13 17:53:29 +02:00
Christoph Oelckers
35471ce7e2 - clear the screen for Exhumed's logos. 2020-06-13 00:08:47 +02:00
Christoph Oelckers
ee98db589f - fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer.
Made it faster than PCExhumed, though
2020-06-12 23:06:11 +02:00
Christoph Oelckers
67b1963e7c - fixed render state management.
There are effectively two states - the one in the backend and a local one in the drawer for the render list which is supposed to eliminate some of the more costly repeated calls.
This higher level state was cached globally, which did not work anymore because the real render state could be changed elsewhere without this code realizing it.
All this means that the render list drawer must create a new state cache for each call and also must apply its current pending render state before leaving to ensure that everything is properly reset.
2020-06-12 22:32:49 +02:00
Christoph Oelckers
aa67875792 - enabled r_shadows in Blood.
This was the only game not allowing to switch off the shadows.
2020-06-12 21:46:24 +02:00
Christoph Oelckers
9b03537f3a - fixed shadows in Shadow Warrior.
They use a shade of 127 which wasn't clamped to a valid range in the backend.
2020-06-12 21:40:49 +02:00
Christoph Oelckers
65ddb6cb59 - disabled the game side frame limiter.
The backend has its own one, and unlike the one on the game side, it actually suspends execution when waiting.
2020-06-12 21:08:47 +02:00
Christoph Oelckers
1311db9ac9 - changed all places clearing the screen in 2D display code to use the 2D drawer's ClearScreen method. 2020-06-12 20:52:01 +02:00
Christoph Oelckers
60b18c7ec9 - Blood: use the 2D drawer to clear the screen for 2D display. 2020-06-12 20:31:23 +02:00
Christoph Oelckers
4f0e3adfbb - removed pointless constexpr declaration on numeric constants. 2020-06-12 16:49:35 +02:00
Christoph Oelckers
3b7f494a88 Merge branch 'master' of https://github.com/coelckers/Raze 2020-06-12 16:44:14 +02:00
Mitchell Richters
d79a5d256d - fix joystick scaling for all games.
* Repairs https://forum.zdoom.org/viewtopic.php?f=340&t=67239 and https://forum.zdoom.org/viewtopic.php?f=340&t=67933
* Values that come from GZDoom backend are too low to be suitable for the Build games which were dividing by 'analogExtent'.
* Remove definition of analogExtent from all games and define in inputstate.h, then define joyaxesScale as 75% of analogExtent to provide a bit of headroom and not have a scale of 1.0 be full speed.
* Invert the returned results of GetAxes() as the returned floats are reversed for build games.
* Leverage scaleAdjustmentToInverval() on game-side code to consistently scale the input irrespective of frame rate, vsync etc.
2020-06-12 16:44:08 +02:00
Christoph Oelckers
6ececaec40 - include cleanup 2020-06-12 00:43:40 +02:00
Christoph Oelckers
a419181c36 - simplified screenshot code. 2020-06-12 00:39:06 +02:00
Christoph Oelckers
f2d075e0d0 - code cleanup. 2020-06-12 00:37:40 +02:00
Christoph Oelckers
6a9f1e9da1 - removed the old OpenGL interface. 2020-06-12 00:25:52 +02:00
Christoph Oelckers
ba397f5ca1 - always draw floors opaque 2020-06-11 23:55:23 +02:00
Christoph Oelckers
22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Mitchell Richters
76884c1e18 - fix CI build errors in vk_shader.cpp for all platforms due to missing terminator on #ifdef guarded line. 2020-06-11 13:17:12 +03:00
Christoph Oelckers
f92d775ddb - fixed bad includes. 2020-06-11 09:57:17 +02:00
Christoph Oelckers
a9141af545 - backend update. 2020-06-11 09:15:44 +02:00
Christoph Oelckers
f41e0f9f50 - copied non-x86 compile fix from GZDoom. 2020-06-09 00:13:28 +02:00
Christoph Oelckers
17e1e4175e - switched NPOT emulation to the renamed uniforms.
This was the last feature that needed to be mapped to a GZDoom compatible render state
2020-06-08 08:16:50 +02:00
Christoph Oelckers
5cbe9fc49c - added NPOT emulation to the backend.
This is #ifdef guarded because GZDoom uses the same code base but has no use for this feature.
2020-06-08 08:02:58 +02:00
Christoph Oelckers
a6545788a6 - do RR's lightning flash as a postprocessing effect. 2020-06-07 22:06:47 +02:00
Christoph Oelckers
5330964a7a - removed redundant initializers. 2020-06-07 15:07:32 +02:00
Christoph Oelckers
d7225c1965 - backend update from GZDoom 2020-06-07 15:02:54 +02:00
Christoph Oelckers
4c6abe1bb9 - pass the shade through the 2D drawer, so that palette emulation can still use it. 2020-06-07 14:50:12 +02:00
Christoph Oelckers
b6d204a88b - fixed: Weapons are part of the scene and always need to be rendered with the global base palette. 2020-06-07 13:50:41 +02:00
Christoph Oelckers
8da6b8796b - made presets work again.
Two fixes:
* fixed file system setup to mark the last main game resource.
* unbind all keys before loading a preset.
2020-06-07 13:35:23 +02:00
Christoph Oelckers
f2a637418d - moved palette.cpp out of Build folder. 2020-06-07 13:06:18 +02:00
Christoph Oelckers
3fe4dbed01 - fixed fog translation table generation. 2020-06-07 12:51:26 +02:00
Christoph Oelckers
724c8d4251 - fixed: The full dotted lump filter string was never used.
The code added all partial matches to the file system but not the full match.
2020-06-07 11:55:51 +02:00
Christoph Oelckers
f0d208bf56 - fixed compile error. 2020-06-07 10:46:35 +02:00
Christoph Oelckers
9aa2224110 - remove the remains of Lunatic from RR code. 2020-06-07 10:46:22 +02:00
NY00123
a54d408d59 Duke3D: Remove KEEPINSYNC comments referencing LUA code
# Conflicts:
#	source/duke3d/src/_functio.h
#	source/duke3d/src/duke3d.h
#	source/duke3d/src/game.h
#	source/duke3d/src/global.h
2020-06-07 10:38:55 +02:00
NY00123
ec11d22caf Use static instead of LUNATIC_EXTERN
# Conflicts:
#	source/build/include/build.h
#	source/duke3d/src/gamedef.cpp
2020-06-07 10:36:43 +02:00
NY00123
6a70389f1d Let's just use __fastcall instead of LUNATIC_FASTCALL
# Conflicts:
#	source/build/include/build.h
2020-06-07 10:36:04 +02:00
NY00123
cca922f023 Engine: Adjust krand for removal of LUNATIC
# Conflicts:
#	source/build/include/build.h
#	source/build/src/engine.cpp
2020-06-07 10:35:23 +02:00
NY00123
dba06d9601 Engine: Remove the LUNATIC-specific definitions
of engine_main_arrays_are_static, engine_v8 and Mulscale.

# Conflicts:
#	source/build/src/engine.cpp
2020-06-07 10:34:33 +02:00
NY00123
3592118e25 source/duke3d/src/actors.h: Remove last remaining mention of the
LUNATIC macro in Duke3D. AC_ACTIONTICS and AC_MOVFLAGS are still used.
2020-06-07 10:34:13 +02:00
NY00123
ea06e35025 source/duke3d/src/osdcmds.cpp:osdcmd_spawn: Remove
LUNATIC-specific code while defining the two loop vars at once.

# Conflicts:
#	source/duke3d/src/osdcmds.cpp
2020-06-07 10:34:12 +02:00
NY00123
40abf17f2f Duke3D: Remove a few more LUNATIC-specific definitions and macro references 2020-06-07 10:33:53 +02:00
NY00123
db71bb9ba7 source/duke3d/src/gamevars.cpp: Remove LUNATIC definition of ADDWEAPONVAR
# Conflicts:
#	source/duke3d/src/gamevars.cpp
2020-06-07 10:33:40 +02:00
NY00123
6a4960c774 source/duke3d/src/gamevars.cpp: Remove POSTADDWEAPONVAR, since this
is a no-op in non-LUNATIC builds, which will be the only ones to stay.
2020-06-07 10:33:18 +02:00
NY00123
fe020facf9 source/duke3d/src/player.cpp: Remove LUNATIC implementation of
G_HandlePal. In fact, let's not use a separate P_HandlePal function.
2020-06-07 10:33:17 +02:00
NY00123
a1bfbb0b21 source/duke3d/src/premap.cpp:P_ResetTintFade: Remove LUNATIC-specific
assignment, but keep the function instead of separately setting pals.f.
2020-06-07 10:33:17 +02:00
NY00123
c93ec9e405 source/duke3d/src/network.cpp: Remove LUNATIC-specific code 2020-06-07 10:33:17 +02:00
NY00123
7cf7ccfd05 source/duke3d/src: Remove almost all "#ifdef LUNATIC" blocks.
Surrounding "#if !defined LUNATIC"/"#endif" pairs are also covered.

# Conflicts:
#	source/duke3d/src/astub.cpp
#	source/duke3d/src/cmdline.cpp
#	source/duke3d/src/demo.cpp
#	source/duke3d/src/duke3d.h
#	source/duke3d/src/game.cpp
#	source/duke3d/src/game.h
#	source/duke3d/src/gamedef.cpp
#	source/duke3d/src/gamedef.h
#	source/duke3d/src/gameexec.cpp
#	source/duke3d/src/gameexec.h
#	source/duke3d/src/gamevars.cpp
#	source/duke3d/src/gamevars.h
#	source/duke3d/src/namesdyn.cpp
#	source/duke3d/src/osdcmds.cpp
#	source/duke3d/src/premap.cpp
#	source/duke3d/src/savegame.cpp
#	source/duke3d/src/savegame.h
#	source/duke3d/src/sbar.cpp
#	source/duke3d/src/screens.cpp
2020-06-07 10:33:16 +02:00
NY00123
1a1039a2d3 Fix a possible jitter upon changing the player's action
(e.g., beginning to jump, or landing on ground);
Reproduced with the input being tied to framerate
while SO interpolation is toggled on.

This involves the following modifications:
- PF2_INPUT_CAN_TURN and PF2_INPUT_CAN_AIM are now additionally set
from various DoPlayerBegin* functions, allowing the player to continue
turning/aiming as usual (right before the next call to domovethings),
even in specific instances of player action changes.
- If PF2_INPUT_CAN_TURN/PF2_INPUT_CAN_AIM was set before and
after calling pp->DoPlayerAction from domovethings altogether,
ensure that the player's oq16ang/oq16horiz is updated by
making an appropriate call to DoPlayerTurn/DoPlayerHorizon. This
is done in case a call to DoPlayerTurn/DoPlayerHorizon is missed.
This change is not applied for a dead player, though.
2020-06-07 10:19:49 +02:00
NY00123
039458d14d sw/src/draw.cpp:drawscreen: Removing the PF_DEAD test
in 1a3c9e3a15ba788607dfd96ebcc75a2198be6d69 was a mistake.
The interpolation should still apply, albeit not while
the viewing angle is changed via the player's own input.
We should also continue interpolating in coop view.
2020-06-07 10:19:48 +02:00
NY00123
ce2aee49df SW: This should hopefully be a better way of fixing the lack of
interpolation of player turning/aiming/movement, while being carried
by a sector object, without SO interpolation. This is a continuation of
73a0aa394e906a65633d61f3c749c9b9b7e66aaa and bf31bc2987a3eccd31d343622327bd4ee0f9c5a1,
aiming to fix a jitter in case the player is continuously
getting pushed by a wall (e.g., on the boat in level 5).

Basically, this moves the relevant assignments from track.cpp:MovePlayer
and MovePoints to player.cpp:DoPlayerMove. Unless a call to one of these
functions has been missed, pushwall and clipmove can be called from
player.cpp in the following instances, which should be covered:
- Via DoPlayerMove, which is the function getting the fix now.
- Via DoPlayerSlide, which is called in the beginning of DoPlayerMove.
- Via DoPlayerCurrent when called from DoPlayerCrawl/DoPlayerWade,
followed by DoPlayerMove.
- Via DoPlayerCurrent when called from DoPlayerDive,
followed by DoPlayerMove if the player doesn't stop diving.

# Conflicts:
#	source/sw/src/track.cpp
2020-06-07 10:19:48 +02:00
Richard C. Gobeille
a0876223ab Assignments
# Conflicts:
#	source/build/src/clip.cpp
2020-06-07 10:17:33 +02:00
Christoph Oelckers
9fc5f2d2e7 - some shader cleanup.
I think it's now as close to GZDoom's backend interface as it can be without disabling needed features.
2020-06-07 10:15:31 +02:00
Christoph Oelckers
09e31fd5f4 - disabled sky texture clamping because it never really worked. 2020-06-07 10:14:32 +02:00
Christoph Oelckers
60d7f4f7c2 - got rid of the RF_NPOTEmulation flag.
This can easily be controlled with the 2 main variables alone.
2020-06-07 09:30:55 +02:00
Christoph Oelckers
353e3eb1fa - fixed RRRA E2L1 fog. 2020-06-07 08:24:12 +02:00
Christoph Oelckers
3adfdfcac5 - renamed a few more things in the shader. 2020-06-07 08:16:04 +02:00
Christoph Oelckers
fc466849ce - disabled demos in blood. 2020-06-06 09:23:44 +02:00
Christoph Oelckers
70ae86aff1 - disabled Blood's demo code because recent changes broke sync to the point where trying to fix it looks like a pointless endeavour. 2020-06-06 07:56:35 +02:00
Christoph Oelckers
232b0c1bb6 - store the lighting related uniforms in a GZDoom-style LightParms vec4. 2020-06-06 00:44:57 +02:00
Christoph Oelckers
f159496f6e - moved the ShadeDiv array into the lookup table and took the numshades-2 divisor out of the stored value.
The value was changed to allow easier reuse in scenarios where the size of the shade table does not matter anymore.
2020-06-05 23:18:21 +02:00
Christoph Oelckers
0bd460d9e3 - split up the visibility factor into a scene specific and an element specific part.
The main reason here is that the scene specific part contains a projection dependent component which would be a problem when transitioning to GZDoom's code. The global viewpoint data already has a field for such a factor so now that gets used.
This also means a significant simplification of the visibility code in Polymost and the removal of several global variables.
2020-06-05 19:06:31 +02:00
Christoph Oelckers
9dfd3ddd02 - migration of texture tinting to GZDoom's version.
- start of visibility migration - removing unused globvis variable.
2020-06-05 17:02:21 +02:00
Dino Bollinger
f3ed580b82 Prevent tripbombs from being placed at extreme distances.
Technically, an overflow is still possible, but with unsigned integers
it is highly unlikely to satisfy (sum_squares < 290*290) in practice.

# Conflicts:
#	source/duke3d/src/player.cpp
2020-06-04 21:39:14 +02:00
Jordon Moss
10511c4fee Fix bad call to updatesector in G_CollectSpawnPoints that broke spawns in overlapping sectors and TROR. p->cursectnum should equal the sprite's sectnum on initial spawn. 2020-06-04 21:38:12 +02:00
Jordon Moss
dd8192ebbf Fix bad call to updatesector in G_CollectSpawnPoints that broke spawns in overlapping sectors and TROR. p->cursectnum should equal the sprite's sectnum on initial spawn. 2020-06-04 21:38:12 +02:00
Christoph Oelckers
d812c2997c - start renaming uniforms to match GZDoom.
Needed to allow using the same shader with the backend.
2020-06-04 21:34:27 +02:00
Richard C. Gobeille
d92f56f36f Duke3d: mark compiled CON_MOVE/CON_AI/CON_ACTION with a trailing value
This is so I can tell the difference between actor .t_data[] values that are actually set to something defined in CON versus bullshit arbitrary internal usage of the same variable, which I need for a future commit.
2020-06-04 20:20:30 +02:00
Richard C. Gobeille
e353d38665 Duke3d: improve WT FLAMETHROWERFLAME enemy type check
I don't expect anyone to make an EDuke32-compatible WT mod where other enemies shoot FLAMETHROWERFLAME, but if they do the behavior will at least be consistent across enemy types.
2020-06-04 20:20:30 +02:00
Richard C. Gobeille
91d9883845 Duke3d: optimize A_RadiusDamage()
This results in far fewer calls to getwalldist(), inside(), and cansee(), which should significantly lessen the performance hit from a large number of A_RadiusDamage() calls in areas with many small detail sectors.

# Conflicts:
#	source/duke3d/src/actors.cpp
2020-06-04 20:20:29 +02:00
Christoph Oelckers
b15cc31a38 - transitioned matrix setup to use the backend's uniform buffer implementation. 2020-06-04 20:14:48 +02:00
Christoph Oelckers
40f085adea - draw fullscreen blends with the 2D drawer.
Removing one special case of render setup. Now all 2D content is done by the same code.
2020-06-04 18:54:10 +02:00
Christoph Oelckers
cf6855904d - took projection and view matrix out of the render state.
This is a preparation to migrate to GZDoom's HWViewpointUniforms buffer.
2020-06-04 18:46:44 +02:00
Christoph Oelckers
8216d31568 - fixed default for 'modern' in GameStartupInfo.
It shouldn't force 1.5 compatibility but enable the CVAR.
2020-06-02 16:59:21 +02:00
Christoph Oelckers
7638ead1c8 - simplified the texture sampler setup.
DAMETH_CLAMPED was redundant and only causig problems.
2020-06-02 16:55:02 +02:00
Christoph Oelckers
1b12c08c66 - backend sync 2020-06-02 11:48:48 +02:00
Christoph Oelckers
080333311c - removed polymost_dorotatespritemodel.
Models are inoperable right now anyway so this would never get called, but it does a few things that would cause problems with refactoring the backend code.
2020-06-01 11:28:07 +02:00
Christoph Oelckers
350acd2ac3 - scale the vertex coordinates that get output to the hardware by 1024.
This is needed to get a coordinate system that is compatible with GZDoom's so that its lighting code can be reused more easily.
2020-06-01 09:55:28 +02:00
Christoph Oelckers
68c97e3c25 Merge branch 'master' of https://github.com/coelckers/Raze
# Conflicts:
#	source/core/gamecontrol.h
#	source/duke3d/src/game.cpp
#	source/exhumed/src/exhumed.cpp
#	source/rr/src/game.cpp
2020-05-31 23:30:10 +02:00
Mitchell Richters
f6068043d3 - Remove 'int paused' accidentally added to music.cpp in common back-end. 2020-05-31 23:19:54 +02:00
Mitchell Richters
daa862240d Blood: Amend how game pauses. 2020-05-31 23:19:54 +02:00
Mitchell Richters
ce48f081fc Exhumed: Amend how game pauses. 2020-05-31 23:19:54 +02:00
Mitchell Richters
33b6b85d57 SW: Amend how game pauses.
- Pausing game with Pause key now works again.
2020-05-31 23:19:54 +02:00
Mitchell Richters
b86d499e0b RR: Amend how game pauses.
- M_Active or GUICapture properly pause game using game's pause mechanisms.
- Pausing game with Pause key now works again.
- Pausing game with Pause key now properly stops all sounds as per upstream.
2020-05-31 23:19:54 +02:00
Mitchell Richters
65265594e5 Duke3D: Amend how game pauses.
- M_Active or GUICapture properly pause game using game's pause mechanisms.
- Pausing game with Pause key now works again.
- Pausing game with Pause key now properly stops all sounds as per upstream.
2020-05-31 23:19:54 +02:00
Mitchell Richters
7ed9f4fa8c Prepare back-end for updated in-game pausing. 2020-05-31 23:19:54 +02:00
Christoph Oelckers
783dff41b6 - fixed clamp mode setup. 2020-05-31 23:08:56 +02:00
Christoph Oelckers
ab2686db34 - camtex transition 2020-05-31 21:43:32 +02:00
Christoph Oelckers
c26b6cdf59 - backend sync with GZDoom. 2020-05-31 21:25:52 +02:00
Christoph Oelckers
bd0c8acd46 - replaced detail matrix with a two element scale vector because that is all that is needed. 2020-05-31 12:23:35 +02:00
Christoph Oelckers
d752e33909 - removed the unused SurfaceShader class. 2020-05-31 11:47:19 +02:00
Christoph Oelckers
9ec66bafa1 - backend update.
# Conflicts:
#	source/common/textures/animtexture.cpp

# Conflicts:
#	source/common/2d/v_2ddrawer.cpp
#	source/common/textures/multipatchtexturebuilder.cpp
2020-05-31 10:57:41 +02:00
Christoph Oelckers
611dad7f69 - added the softpoly and Vulkan backend code fron GZDoom.
Not hooked up yet.
2020-05-31 10:53:11 +02:00
Christoph Oelckers
2841154683 - moved code around, got a few more utilities from GZDoom. 2020-05-31 10:37:19 +02:00
Christoph Oelckers
1d15fe63a6 - another backend update, pulling in the sky renderer. 2020-05-31 10:32:10 +02:00
Christoph Oelckers
efa1cd3048 - moved video files to 'common'.
# Conflicts:
#	source/blood/src/screen.cpp
2020-05-31 09:19:16 +02:00
Christoph Oelckers
1e2a3da5fd - video base code unified.
# Conflicts:
#	source/core/rendering/v_video.cpp
2020-05-31 09:18:43 +02:00
Christoph Oelckers
edb2cb31ee - backend update with GZDoom model code. 2020-05-31 08:55:00 +02:00
Christoph Oelckers
7e5c3e066c - fixed compilation 2020-05-30 23:45:47 +02:00
Richard C. Gobeille
47df8ed855 Duke3d: remove extraneous call to videoNextPage() when handling savegames initiated from CON
# Conflicts:
#	source/duke3d/src/game.cpp
2020-05-30 23:39:03 +02:00
Richard C. Gobeille
94eda45df9 Duke3d: improve nextsectorneighborz() return value checks
Improves the messages printed to console when bailing out of sector effect processing due to nextsectorneighborz() returning -1. This also adds such a check to ST_21_FLOOR_DOOR, which was missing it entirely. (!!)

# Conflicts:
#	source/duke3d/src/sector.cpp
2020-05-30 23:38:08 +02:00
sirlemonhead
86f2a7a578 PCExhumed: MoveSector() updates player position variables. Fixes #366 2020-05-30 23:34:26 +02:00
nukeykt
714ed1ecdd Engine: fix sprite sorting issue that caused broken voxel rendering in polymost 2020-05-30 23:28:41 +02:00
NY00123
8a812cc329 SW: Call OSD_DisplayQueued in DemoPlayback,
so OSD commands can have an effect from here
2020-05-30 23:28:24 +02:00
NY00123
9bf5ee046e SW: Remove TitleLevel (probably dating back to 1995 prototype builds)
# Conflicts:
#	source/sw/src/game.cpp
2020-05-30 23:28:24 +02:00
NY00123
6aeb366a93 SW: Remove DemoOverride, ScenePlayBack and SceneLevel
# Conflicts:
#	source/sw/src/demo.cpp
#	source/sw/src/game.cpp
2020-05-30 23:28:04 +02:00
NY00123
6920ef8fc3 SW - interpso.cpp: Imperfect hack for jittery coolies in level 1's train
(with SO interpolation turned on). It would be nicer to have something
better structured than the given hack, but this currently seems to work,
while not breaking the sprites on the boat in the beginning of level 5.
2020-05-30 23:27:18 +02:00
NY00123
217bf454f4 sw/src/interpso.cpp:so_dointerpolations:
Move ratio calculation out of inner loop.
2020-05-30 23:27:18 +02:00
Christoph Oelckers
5728241c1c - updated backend from GZDoom. 2020-05-30 23:10:17 +02:00
Christoph Oelckers
88eea8269a - set proper palette for null translation. 2020-05-30 22:35:21 +02:00
Christoph Oelckers
ea08fa0a4e - updated common code.
Most of what got added is still unused.

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/build/src/palette.cpp

# Conflicts:
#	source/common/engine/i_interface.h
2020-05-30 22:28:24 +02:00
Christoph Oelckers
82eb807090 - activate the texture layers if needed. 2020-05-30 22:27:59 +02:00
Christoph Oelckers
00f1043047 - remember custom tile type. 2020-05-30 22:20:53 +02:00
Christoph Oelckers
58c62e071c - use FMaterial. 2020-05-30 22:20:06 +02:00
Christoph Oelckers
423f758314 - texture code restructuring. 2020-05-30 21:42:35 +02:00
Christoph Oelckers
cdcb25bc1f - use high level textures to render voxels. 2020-05-30 00:30:56 +02:00
Christoph Oelckers
cca4fc609f - texture code cleanup, mainly cppying layer data into the textures at startup to be able to use a real material system. 2020-05-29 23:33:26 +02:00
Christoph Oelckers
2c94b2bb6d - split texture selection from binding. 2020-05-29 21:53:28 +02:00
Christoph Oelckers
1bc744b77b - moved hictinting data into the lookup tables. 2020-05-29 20:15:42 +02:00
Christoph Oelckers
594ec6626c - transitioned to using GZDoom's texture creation code.
Also added support for creating indexed textures directly into CreateTexBuffer, where this functionality can be shared.
As an added plus, brightmaps are working again, this time with less hackery.
2020-05-29 19:21:18 +02:00
Christoph Oelckers
66809ca9f4 - fixed indexed display of 2D content. 2020-05-29 16:46:36 +02:00
Christoph Oelckers
87a87c155d - moved to GZDoom's gl_hwtexture.cpp. 2020-05-29 01:03:01 +02:00
Christoph Oelckers
381e53017d - some hackery to make the camera textures in DN3D work again.
They depend on a deleted texture not writing to the depth buffer, but other parts in the engine like ROR surfaces depend on them writing a proper depth buffer value, so for now there is a global variable that allows to exclude a single tile from ever getting rendered.
2020-05-29 00:44:13 +02:00
Christoph Oelckers
72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers
362be65060 - removed FHardwareTexture's mSampler member.
This was a mostly unused relic of early development, the few places using it were static sampler settings.
2020-05-28 21:45:33 +02:00
Christoph Oelckers
f6ca5fa650 - fixed writable tiles. 2020-05-28 18:42:26 +02:00
Christoph Oelckers
5e93b8f3e7 - fixed transparent color. 2020-05-28 08:31:08 +02:00
Christoph Oelckers
a3e6829817 - fixed Exhumed menu by adding a proper layout mode to the drawer instead of hacking the broken tile offsets. 2020-05-27 23:30:36 +02:00
Christoph Oelckers
4ebe67ba3d - never render the null texture.
Blood's ROR effects won't work if this is not done.
2020-05-27 22:54:39 +02:00
Christoph Oelckers
193b940eef - palette code cleanup. 2020-05-27 22:19:02 +02:00
Christoph Oelckers
d52600663d - backend sync with GZDoom to pull in a few bugfixes and formatting corrections. 2020-05-26 23:12:04 +02:00
Christoph Oelckers
143e338d9f - fixed bad console setup. 2020-05-26 21:45:33 +02:00
Christoph Oelckers
7109ce4e30 - made some changes to the font and texture system to allow late loading of the palette.
The base palette can be set via .def files so that the engine has no access to it until the entire game state is set up.
This means that font translations and PNG palette remap tables cannot be built when the owning objects are created.
For PNGs this has the added advantage that they only get done when really required and not unconditionally - most of the time the remap table isn't even needed here.

Thid fixes the slider graphics in the option menus.

# Conflicts:
#	source/core/gamecontrol.cpp

# Conflicts:
#	source/core/gamecontrol.cpp
2020-05-26 21:43:32 +02:00
Christoph Oelckers
b233cc2ea5 - cleaned out some unused code. 2020-05-26 00:10:44 +02:00
Christoph Oelckers
e0b2497a56 - backend update. 2020-05-26 00:10:21 +02:00
Christoph Oelckers
ebe936f03f - moved platform backend code to 'common'. 2020-05-26 00:09:27 +02:00
Christoph Oelckers
29db3febb8 - updated the platform code to be mostly identical with GZDoom 2020-05-26 00:08:26 +02:00
Christoph Oelckers
c4017de12f - updated to GZDoom's new texture management system. 2020-05-25 23:59:07 +02:00
Christoph Oelckers
7a1fda2cc2 - use the 2D drawer's coordinates in the console. 2020-05-25 17:13:26 +02:00
Christoph Oelckers
55a3c62b59 - use GZDoom's 2D drawer.
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers
2f672da7ba - the basics for creating font objects for the in-game bitmap fonts.
Definitions were added to RedNukem frontend for testing, not used yet.
2020-05-25 17:01:56 +02:00
Christoph Oelckers
7c3cac5721 - buildtiles.h cleaned of merge errors. 2020-05-25 16:53:35 +02:00
Christoph Oelckers
1d065085d4 - fixed some palette issues 2020-05-25 00:46:46 +02:00
Christoph Oelckers
94cb36ae53 - removed helper #ifdefs. 2020-05-25 00:33:25 +02:00
Christoph Oelckers
758e4ad7cb - stripped down the palette manager in the GL backend and let it use the data that's managed elsewhere.
This class is only needed to manage the palette textures used by the indexed render mode, all the rest is available globally.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
4178d48fb6 - re-enabled GPalette and disabled brightmaps.
In order to finish this I need the switchover, but brightmaps need an update of the texture code which requires merging a few more WIP changes before the code can be fixed.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
6bd4f77c5b - fix compilation. 2020-05-25 00:31:55 +02:00
Christoph Oelckers
72c323cf32 - disabled switch to GPalette because it's not working right yet. 2020-05-25 00:05:26 +02:00
Christoph Oelckers
531c68edfe - use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/hw_draw2d.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/gl_texture.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/build/src/palette.cpp
#	source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers
a70b7fa698 - use the texture manager to handle texture data. 2020-05-24 23:26:47 +02:00
Christoph Oelckers
7b50e2bd8a - initialize the texture manager. 2020-05-24 23:13:08 +02:00
Christoph Oelckers
7225dbd6a4 - disabled the 0<->255 color swap because no support code to handle this exists yet. 2020-05-24 23:08:45 +02:00
Christoph Oelckers
6bffdf80a1 - finally managed to merge in the original texture system commit.
Game compiles and runs but transparency doesn't work yet.

# Conflicts:
#	source/CMakeLists.txt
#	source/core/menu/menu.cpp
#	source/core/textures/buildtiles.cpp
2020-05-24 22:53:14 +02:00
Christoph Oelckers
0179029ed1 - use image sources, not textures to manage Build tiles.
The font manager and texture compositor need this - they cannot work off non-image-backed textures.
2020-05-24 22:51:26 +02:00
Christoph Oelckers
a223535f86 - header cleanup in gl_interface.cpp
# Conflicts:
#	source/common/rendering/gl_load/gl_interface.cpp
2020-05-24 22:38:22 +02:00
Christoph Oelckers
53891004a0 - fixed compilation 2020-05-24 22:37:50 +02:00
Christoph Oelckers
bfd11f9cca - give tiles a name
# Conflicts:
#	source/core/textures/buildtiles.cpp
2020-05-24 22:33:52 +02:00
Christoph Oelckers
e500db97b1 - v_text updated and moved to 'common'.
# Conflicts:
#	source/CMakeLists.txt
2020-05-24 22:32:05 +02:00
Christoph Oelckers
272d85663a - moving files... 2020-05-24 20:39:40 +02:00
Christoph Oelckers
9bb1e43c9f - picanmbackup must be initialized. 2020-05-24 20:30:02 +02:00
Christoph Oelckers
6007d5dc8f - fixed typo in offset setter. 2020-05-24 20:11:17 +02:00
Christoph Oelckers
7a84887fc4 - transitioned FTexture.
Mostly working. Note: Brightmaps must be per-translation!
2020-05-24 19:12:22 +02:00
Christoph Oelckers
71ab8c0b10 - fixed compilation. 2020-05-24 16:56:16 +02:00
Christoph Oelckers
2e8566c6eb - console code fixes from GZDoom. 2020-05-24 16:47:18 +02:00
Christoph Oelckers
4523ad5f7e - Linux compile fixes. 2020-05-24 16:47:00 +02:00
Christoph Oelckers
e828710072 - updated common/utility. 2020-05-24 16:46:31 +02:00
Christoph Oelckers
556eb44690 - moved gl_load to 'common'.
# Conflicts:
#	source/CMakeLists.txt
#	source/common/rendering/gl_load/gl_interface.cpp
2020-05-24 16:44:13 +02:00
Christoph Oelckers
6851416e6b - make stats.cpp compile. 2020-05-24 16:42:42 +02:00
Christoph Oelckers
6276001a7c - cleanup 2020-05-24 16:42:36 +02:00
Christoph Oelckers
db21b3ec35 - cleanup 2020-05-24 16:38:16 +02:00
Christoph Oelckers
83e2a342d2 - let the fonts use image sources, not textures as their base class for glyphs. 2020-05-24 16:32:52 +02:00
Christoph Oelckers
be8813f962 - hooked up a few things and re-enabled some code depending on the texture manager. 2020-05-24 16:19:44 +02:00
Christoph Oelckers
e985db3d08 - added GZDoom's texture manager.
It doesn't do anything yet, but it can now be used to manage textures.
2020-05-24 16:11:10 +02:00
Christoph Oelckers
e6b94d35ff - reorganized how BuildTiles stores its data.
Arrays of struct are better than struct of arrays.
2020-05-24 15:02:20 +02:00
Christoph Oelckers
2c5737795f - animation fix. 2020-05-24 14:23:39 +02:00
Christoph Oelckers
d6786cf0eb - final cleanup of picanm code. 2020-05-24 13:53:27 +02:00
Christoph Oelckers
266364fc2e - properly implement texture offsets 2020-05-24 13:26:45 +02:00
Christoph Oelckers
db4850a028 - added a reverse tile map so that the tile manager can retrieve special info even when a tile texture is passed by object to the render code and not by index. 2020-05-24 10:30:09 +02:00
alexey.lysiuk
804a2964a0 - fixed compilation of POSIX targets
source/common/objects/dobject.h:276:21: error: use of undeclared identifier 'malloc_size'
source/common/utility/m_alloc.h:45:22: error: ‘malloc_usable_size’ was not declared in this scope
source/common/engine/m_random.h:40:10: fatal error: SFMT/SFMTObj.h: No such file or directory
source/common/objects/__autostart.cpp:94:10: fatal error: 'doomtype.h' file not found
source/common/objects/zzautozend.cpp:58:10: fatal error: 'doomtype.h' file not found
2020-05-24 10:11:40 +03:00
Christoph Oelckers
cbeb481d59 - what is it with passing data to subfunctions through global variables? :( 2020-05-24 09:04:25 +02:00
Christoph Oelckers
0c029750b6 - moved hightile replacements out of the texture class. 2020-05-24 08:47:45 +02:00
Christoph Oelckers
498b19873d - split up textures.h. 2020-05-24 07:58:56 +02:00
Christoph Oelckers
da26d1cec4 - more trivial adjustments. 2020-05-24 00:38:10 +02:00
Christoph Oelckers
00e7b2fa25 - simple stuff from the texture manager inclusion commit.
To get this out of the way first...
2020-05-24 00:27:24 +02:00
Christoph Oelckers
1954ac0374 - added the other image formats from GZDoom. 2020-05-24 00:15:38 +02:00
Christoph Oelckers
50ab68b53b - moved filesa to common 2020-05-23 23:53:38 +02:00