Commit Graph

4932 Commits

Author SHA1 Message Date
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