Christoph Oelckers
342b90c8f9
- fixed: With hud_messages == 1 no messages were printed.
2020-07-26 10:31:12 +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
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
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
9043123aab
- set proper engine compatibility mode.
2020-07-25 10:03:13 +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
b56f74bf32
- actually call the postAction callback for the screen job.
...
Fixes missing title music.
2020-07-24 20:11:50 +02:00
Christoph Oelckers
d10bf41b03
- removed some obsolete stuff.
2020-07-24 19:44:05 +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
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
Christoph Oelckers
7d414fcfa5
- binary angle class draft.
2020-07-22 21:16:29 +02: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
2d78643c4d
- initial savegame work.
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
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
Christoph Oelckers
c767ead84f
- properly route gameexitfrommenu through the callbacks.
2020-07-18 21:28:57 +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
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
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
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
1e9679aceb
- removed faketimerhandler and the last static remains of EDuke's netcode.
2020-07-14 21:15:37 +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
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
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
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
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
01fce31f43
- everything compiles again.
...
Still needs testing.
2020-07-07 20:27:21 +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
34874d1a21
- migrated displayrest and took the opportunity to un-fuck the palette management.
2020-07-07 04:54:12 +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
2e78c08856
- fixed palette transparency checks
2020-07-05 10:15:55 +02:00
Christoph Oelckers
2c494245ad
- cheat list fixed.
2020-07-04 22:03:22 +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
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
d6e021a63d
- statistics output
2020-07-03 21:44:57 +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
6172978f13
- the menu code is clean.
2020-07-02 10:59:22 +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
b281c34357
- some final fixes.
2020-07-01 22:27:38 +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
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
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
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
9aaf6b416d
- RR intro movies.
2020-06-28 10:14:42 +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
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
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
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
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
99067f3bd6
- a small bit more is gone.
2020-06-23 21:12:15 +02:00
Christoph Oelckers
eb6aac4c43
- fixed compile
2020-06-21 23:46:17 +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
990cb2acb8
-'shoot' replaced.
...
# Conflicts:
# source/build/src/palette.cpp
2020-06-21 23:24:49 +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
7b75a0683a
moveactors plus backing code.
2020-06-21 22:37:29 +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
4b235c0771
- ifhitbyweapon and shorter game checks with inline functions.
2020-06-21 22:36:09 +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
92c2ab50d3
- statusbar.cpp
2020-06-21 22:35:41 +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
e9925eee0f
- preparation work.
...
# Conflicts:
# source/core/gamecontrol.cpp
2020-06-21 20:59:07 +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