Christoph Oelckers
a4ef7596e7
- fixed screen blend.
2020-07-24 20:21:51 +02:00
Christoph Oelckers
e9e4ebbfea
- cleanup
2020-07-24 19:58:21 +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
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
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
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
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
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
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
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
424716bb88
- say goodbye to libdivide!
2020-07-14 20:21:16 +02:00
Christoph Oelckers
fedeec73c7
- cleaned out some unused parts of engine.cpp
2020-07-14 17:35:19 +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
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
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
c08b8dc17b
- camera display fix.
...
This is one fucked up mess of code.
2020-07-05 11:54:50 +02:00
Christoph Oelckers
2b61b44188
- remove unused variable.
2020-07-05 08:58:13 +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
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
Christoph Oelckers
39185300e7
- reimplemented cheats based on ZDoom's cheat parser.
2020-07-04 15:51:02 +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
Christoph Oelckers
4fbd476b17
- refactored all text output to use DrawText.
...
No more screentext mess.
2020-07-03 10:53:35 +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