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
Christoph Oelckers
d0cbf21dbe
- swapped the image source implementations with GZDoom's.
2020-05-23 23:46:44 +02:00
Christoph Oelckers
ab6e87b5f8
- workaround for Ion Fury display glitches on the first map.
...
I have no idea why this needs to be different than in EDuke32, but without always clearing the depth buffer before rendering a scene viewpoint the game will glitch like crazy.
2020-05-23 22:43:06 +02:00
Christoph Oelckers
2703823ac4
- fixed palette setup.
2020-05-23 22:43:05 +02:00
Christoph Oelckers
2d29d130c0
- fixed Blood startup.
2020-05-23 22:43:05 +02:00
Christoph Oelckers
f64bdccaca
- moved renderstyle to 'common' and use GZDoom's color table code unaltered.
...
# Conflicts:
# source/CMakeLists.txt
# source/common/engine/serializer.h
2020-05-23 22:43:05 +02:00
Christoph Oelckers
b8a289bf61
- move brightmap handling to the common code.
...
# Conflicts:
# source/common/utility/basics.h
# Conflicts:
# source/build/src/palette.cpp
2020-05-23 22:43:05 +02:00
Christoph Oelckers
ae6403a205
- added a level of abstraction to the lookup table code to ease later refactoring.
2020-05-23 22:43:05 +02:00
Christoph Oelckers
f929419a0a
- refactoring of the lookup tables.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
daf77e55f7
- fixed compilation.
...
Much of this commit will have to be undone later, once the texture manager becomes available.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
c0217c9152
- removed the remaining Doom-specific parts of the script compiler.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
006916a0a6
- added the script compiler's front end.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
99d3dc67ae
- added all FString exports for scripting.
2020-05-23 22:43:03 +02:00
Christoph Oelckers
4b8444b64d
- 'common' update.
2020-05-23 22:43:03 +02:00
Christoph Oelckers
4d44682603
- integrated ZScript backend
2020-05-23 22:43:03 +02:00
Christoph Oelckers
091d90aba5
- update "common" subfolder.
...
# Conflicts:
# source/CMakeLists.txt
2020-05-23 22:43:02 +02:00
Christoph Oelckers
ada5ad5ec3
- missed adding a file...
2020-05-23 22:43:02 +02:00
Christoph Oelckers
920f9a3f3f
- cleaned out all Doom dependencies from the DObject system.
2020-05-23 22:43:02 +02:00
Christoph Oelckers
bb9a077424
- reactivated some more code after integrating the VM core.
...
There's a few bits here and there that only have meaning in Doom but they are kept to allow using the same unaltered source files in both engines.
2020-05-23 22:43:02 +02:00
Christoph Oelckers
a6d982ed04
- resolve the single Doom specific dependency in the VM by using a callback.
2020-05-23 22:43:02 +02:00
Christoph Oelckers
c9b2399cd0
- added a first bunch of ZScript code.
...
# Conflicts:
# source/CMakeLists.txt
# source/common/utility/basics.h
# source/core/serializer.h
2020-05-23 22:43:01 +02:00
Christoph Oelckers
c1f7cf1c3a
- added DObject as a preparation for the ZScript compiler. Currently large parts are disabled because the backing features are not present yet.
...
# Conflicts:
# source/CMakeLists.txt
2020-05-23 22:43:01 +02:00
Christoph Oelckers
b971bc2717
- avoid using global palette settings when drawing 2D content with a custom palette.
...
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
alexey.lysiuk
57efff200a
- fixed compilation of Linux target
...
source/core/raze_music.cpp:84:53: error: request for member ‘GetChars’ in ‘ext’, which is of non-class type ‘const char*’
2020-05-23 17:17:55 +03:00
Christoph Oelckers
8d3199514d
- removed some 'pragma' cruft.
2020-05-23 13:08:10 +02:00
Christoph Oelckers
f0f17fa34f
- moved sound code to "common".
2020-05-23 12:59:12 +02:00
Christoph Oelckers
8bd5f12b42
- matching sound backend code with GZDoom.
...
# Conflicts:
# source/core/sound/s_soundinternal.h
2020-05-23 12:59:11 +02:00
Christoph Oelckers
c81e79e635
- fixed merge error.
2020-05-23 12:59:03 +02:00
Christoph Oelckers
cfe02cebf1
- moved music code to "common"
2020-05-23 12:37:47 +02:00
Christoph Oelckers
6a8efb7520
- update of music code, in particular separating the engine-specific lookup from the backend.
...
# Conflicts:
# source/core/music/music.cpp
# Conflicts:
# source/build/src/palette.cpp
2020-05-23 12:37:47 +02:00
Christoph Oelckers
d0406e27b6
- all base palette data has been transitioned to GPalette.
2020-05-23 12:31:05 +02:00
Christoph Oelckers
6f9ee4b60f
- store palettes in the palette container.
2020-05-23 12:31:05 +02:00
Evan Ramos
960d4b6ecc
Duke3D: Fix breaking glass
...
Amends dc46c60e9fb511c0bc955ca39ea48ccfa3b02a24
2020-05-22 23:41:14 +02:00
NY00123
cf22b4da0a
sw/src/demo.cpp:DemoPlayBack: Add a call to timerUpdateClock, which
...
is now required. Previously, it would be called from faketimerhandler,
which in turn is called from the engine.
2020-05-22 23:41:13 +02:00
NY00123
a69f738287
sw/src/copysect.cpp: Temporarily disable interpolation of sector object
...
if any of its sectors is impacted by CopySectorWalls. Fixes
a possible flicker with the drill at the end of level 2.
2020-05-22 23:41:11 +02:00
NY00123
ccf6722b70
SW: Don't interpolate a sector object if the corresponding lasttic value is 0
2020-05-22 23:41:10 +02:00
NY00123
37c3f1cc46
SW: Add the macro SO_EMPTY and use it instead of
...
separate checks of the form sop->xmid == INT32_MAX
2020-05-22 23:41:09 +02:00
NY00123
d510b9b95a
sw/src/sync.cpp:SOSync: Remove commented out code
2020-05-22 23:41:08 +02:00
NY00123
d43bffd118
SW: Remove unused DoubleInitAWE32 variable
2020-05-22 23:41:07 +02:00
NY00123
f94b38b138
SW: Modify getinput to update oq16ang/oq16horiz with the same amount
...
of change that camq16ang/camq16horiz gets. Such an update is possible
after making sure that UpdateInputs (faketimerhandler) is
never called from domovethings.
# Conflicts:
# source/sw/src/game.cpp
2020-05-22 23:41:05 +02:00
NY00123
6b5cf9525b
sw/src/network.cpp: Remove from UpdateInputs the checks of totalclock
...
and ready2send and the call to timerUpdateClock, which are now done
before calling UpdateInputs itself from RunLevel.
# Conflicts:
# source/sw/src/network.cpp
2020-05-22 23:40:00 +02:00
NY00123
ae2bcdd1a6
Rename faketimerhandler -> UpdateInputs and keep an empty
...
faketimerhandler stub in SW. This basically deprecates
the usage of faketimerhandler in the game.
2020-05-22 23:39:45 +02:00
NY00123
6daf42a959
sw/src/game.cpp:RunLevel: Call faketimerhandler in a loop, based on code
...
from EDuke32-OldMP. Main difference from EDuke32-OldMP is that this is
done even while staying in the menu; Behaviors will otherwise break.
We should also call timerUpdateClock() before the loop, especially
after removing the call to this function from faketimerhandler soon.
2020-05-22 23:39:43 +02:00
NY00123
25b5d69cab
SW: Remove commented out code accessing non-existing variable
...
# Conflicts:
# source/sw/src/network.cpp
2020-05-22 23:39:42 +02:00
NY00123
7e2484f603
SW: Remove FAKETIMERHANDLER and calls to faketimerhandler via this macro
...
# Conflicts:
# source/sw/src/sprite.cpp
2020-05-22 23:39:28 +02:00
NY00123
916cd01550
SW: While not exactly a favorite of mine, this fixes the floorz updates
...
of the secret rotating pillar in level 1 with SO interpolation.
The drill in level 2 is also covered. So far, SetVatorActive seems
to be the only place where interpolation of ceiling/floorz
may be set, outside of the SO interpolation code.
2020-05-22 23:39:12 +02:00
Christoph Oelckers
f53b348782
- stop the railgun's active sound if another weapon is selected.
2020-05-22 23:02:25 +02:00
Christoph Oelckers
ffbe275a4a
- fixed some issues pointed out by CI.
2020-05-22 20:31:21 +02:00
Christoph Oelckers
f9a3ca8b6f
- fixed compilation.
2020-05-22 18:35:25 +02:00
nukeykt
37c5245775
Blood: fix sprite rendering glitch related to ROR
...
# Conflicts:
# source/blood/src/view.cpp
2020-05-22 18:30:59 +02:00
Evan Ramos
71dc4ff5a4
SW: Fail gracefully from WarpToArea instead of aborting
2020-05-22 18:29:21 +02:00
Evan Ramos
f318d2282a
SW: Clear the background during cinematics
...
# Conflicts:
# source/sw/src/anim.cpp
2020-05-22 18:29:20 +02:00
Christoph Oelckers
6a0785bbd4
- manual update of some missed content.
2020-05-22 18:28:03 +02:00
NoOneBlood
f60fa44efb
- Disable STD random for autobuilds
...
- kModernEffectGen: fix getting middle of the sprite
# Conflicts:
# source/blood/src/nnexts.cpp
2020-05-22 17:43:08 +02:00
nukeykt
6ec33c2954
Blood: do not use tile offsets for voxels
2020-05-22 17:38:35 +02:00
sirlemonhead
17be2617cf
Clean up the FileStream code: Remove non-working Is_Eos() and make Seek() and Skip() return int.
2020-05-22 17:38:21 +02:00
sirlemonhead
6f64967d00
libsmackerdec: Fix incorrect version comparison (though it wasn't breaking anything)
2020-05-22 17:38:04 +02:00
sirlemonhead
e2569d9980
libsmackerdec: Implement GotoFrame() function
...
# Conflicts:
# source/libsmackerdec/src/SmackerDecoder.cpp
2020-05-22 17:37:43 +02:00
NoOneBlood
9428c88e29
- Don't change statnum of thing converted to debris back to thing on impact trigger when firing with vector weapon.
...
- Change damage scale and min firedist for Custom Dude.
- Remove unnecessary checks in callback of tracking condition.
- Fix picWidth() function.
- Better initialization of modern stuff.
- kModernSeqSpawner: disable all other spawners with same TX ID when enabling current.
- Fix: sceneQav was not playing if resurrected with COUSTEAU cheat.
- kModernPictureChanger: remove kModernFlag01 feature (deprecated).
- kModernSectorFXChanger: add flags to control where exactly light effect should appear.
- kModernCondition:
- add delay before sending command if condition is true.
- take in account state, so kCmdState and kCmdNotState is useful.
- fix wrong comparison result in some conditions.
- add new various conditions.
- kModernPlayerControl:
- fix start / stop playing qav scene when triggered with event command converted to sprite command.
- add a way to resurrect / heal player.
- add event commands to toggle inventory item status via trigger.
- fix that Remote and Proximity detonators cannot be given.
- add clear all screen effects option.
- proper percents for changing movement / jumping.
- kModernRandomTX, kModernSequentialTX: change event redirection mode activation from kModernTypeFlag02 to kCmdLink.
- kModernSpriteDamager: treat damage value as percents by default, take in account god mode.
- kModernEffectGen: fix wrong cstat for effects.
- kModernPropertiesChanger: proper underwater status for sectors and players or enemies in it.
- Players: assign or update current player's sprite index for all conditions.
# Conflicts:
# source/blood/src/nnexts.cpp
2020-05-22 17:36:37 +02:00
nukeykt
96c9ca657e
Blood: poll player input at least once to prevent skips
...
Fixes #329
2020-05-22 17:35:39 +02:00
NoOneBlood
c000e2e3b3
- Removed link support for various upper / lower stacks (deprecated)
...
- Removed link support for path marker (deprecated)
- Removed link support for counter sector (deprecated)
- STD random for wind generator
2020-05-22 17:35:11 +02:00
MexMeRcUrY
142e611125
fixes #343
2020-05-22 17:35:01 +02:00
NoOneBlood
569fcc9542
- Custom start health fix
...
- Check for system reserved statnums in gModerMap
2020-05-22 17:34:54 +02:00
NoOneBlood
e3e805b24c
- More compact code for event redirection
...
- Fix demo desync
- Fix MINGW compile warnings
- Move custom start health from data4 to sysData2 in gModern maps
- Proper respawn for custom dude
# Conflicts:
# source/blood/src/dude.cpp
# source/blood/src/dude.h
2020-05-22 17:34:33 +02:00
NoOneBlood
64de30209b
- Player control: more strict rules for copying properties of xsprite
...
- Fix for custom health when respawning enemy
- Fix for custom dude when respawning it
- Conditions: added way to refresh sprite index in tracking conditions
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/aiunicult.cpp
# source/blood/src/aiunicult.h
# source/blood/src/dude.cpp
# source/blood/src/dude.h
2020-05-22 17:33:05 +02:00
Evan Ramos
8b0da35cb8
Avoid warnings when defining only extra in tilefromtexture
...
# Conflicts:
# source/build/src/defs.cpp
2020-05-22 17:30:52 +02:00
Evan Ramos
26333dcaad
Blood: Make voxels and models loaded via def inherit rotation automatically
2020-05-22 17:30:43 +02:00
nukeykt
1ef8df0a4c
Blood: Fix model yoffset
2020-05-22 17:29:50 +02:00
NoOneBlood
f1f9fcff5c
- Changes for conditions (WIP)
...
- Fix for picWidth();
2020-05-22 17:29:22 +02:00
NoOneBlood
71b110a75e
- Double print in console fix for consoleSysMsg
...
- Changes for kModernCondition
# Conflicts:
# source/blood/src/globals.cpp
2020-05-22 17:29:12 +02:00
NoOneBlood
c27f3b8d20
- Changes in damage scale for Custom Dude
...
- Conditions: added conditions for player and enemies (WIP)
2020-05-22 17:28:48 +02:00
NoOneBlood
014dfc346b
- Added tracking type of conditions. Generally conditions is still WIP.
...
- Update aim for player while playing qav scenes.
- Fix compile warnings
2020-05-22 17:28:35 +02:00
Evan Ramos
4d7b37ca1a
Rednukem: Remove redundant comment and fix formatting
...
# Conflicts:
# source/rr/src/gameexec.cpp
2020-05-22 17:26:36 +02:00
nukeykt
b7294e45a1
Blood : Fix mirror issue
...
Fixes #334 and #338
# Conflicts:
# source/blood/src/menu.cpp
2020-05-22 17:25:54 +02:00
MexMeRcUrY
aee64e8e34
fix #333
2020-05-22 17:24:42 +02:00
MexMeRcUrY
5faef5d6dd
Blood: Caleb doesn't talk in multiplayer
2020-05-22 17:24:41 +02:00
MexMeRcUrY
f1421bd8ee
Blood: Caleb doesn't talk in multiplayer
2020-05-22 17:24:41 +02:00
sirlemonhead
8f8f033956
Rednukem: Limit sprite shade change to Redneck Rampage games, and add guard for invalid array access. Fixes ASAN error.
2020-05-22 17:22:18 +02:00
sirlemonhead
19ab05655b
Prevent invalid array index in polymost_spriteIsModelOrVoxel()
...
# Conflicts:
# source/build/src/polymost.cpp
2020-05-22 17:22:18 +02:00
sirlemonhead
73a56f76af
PCExhumed: Avoid some original memory read bugs and correct some bullet code branching.
2020-05-22 17:22:00 +02:00
sirlemonhead
02d4712e57
Rednukem: Fix MVE crash on Release gcc builds.
2020-05-22 17:21:03 +02:00
sirlemonhead
808d0591eb
Rednukem: Add newline to end of playmve.h
2020-05-22 17:21:03 +02:00
sirlemonhead
b89c6da6b8
Rednukem: Playback support added for Rides Again intro movie. Closes #266
...
# Conflicts:
# GNUmakefile
# platform/Windows/rednukem.vcxproj
# platform/Windows/rednukem.vcxproj.filters
# source/rr/src/game.cpp
2020-05-22 17:21:03 +02:00
sirlemonhead
20cfbc1786
PCExhumed: Fix the timing of credits text when not using CD audio.
...
# Conflicts:
# source/exhumed/src/exhumed.cpp
2020-05-22 17:17:54 +02:00
Evan Ramos
262f2234c6
Duke3D: Disable dead code in implementation of undocumented SE 128
...
Avoids warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
2020-05-22 17:11:16 +02:00
Jordon Moss
49deeb350e
Fix trains not moving spawn points with higher indexes than player count.
2020-05-22 17:11:16 +02:00
Richard C. Gobeille
d9b8f58558
Duke3d: make CON_GETFLORZOFSLOPE and CON_GETCEILZOFSLOPE TROR aware
2020-05-22 17:01:37 +02:00
Richard C. Gobeille
e2d79b4682
engine: add yax_getflorzofslope() and yax_getceilzofslope()
2020-05-22 17:01:36 +02:00
Richard C. Gobeille
5e677d6089
Duke3d: restore previous version of VM_ASSERT macro for compilers other than MSVC
2020-05-22 17:01:35 +02:00
Richard C. Gobeille
3ab314e95a
engine: make cliptestsector() (used by clipmove(), etc) TROR aware
...
This is intended to help with issues where enemies get stuck in thin TROR layers.
# Conflicts:
# source/build/src/clip.cpp
2020-05-22 17:00:55 +02:00
Richard C. Gobeille
14f3eb17f1
Duke3d: flip CON_USE_COMPUTED_GOTO dispatch macro logic around so the branch is taken less often
2020-05-22 17:00:12 +02:00
Richard C. Gobeille
34126a50be
Duke3d: change random_angle hack in CON_MOVE to match CON_AI
2020-05-22 17:00:11 +02:00
Richard C. Gobeille
b0902f916a
Duke3d: zero player return_to_center when setting horizRecenter to false
2020-05-22 17:00:10 +02:00
Richard C. Gobeille
2d4f6be147
Duke3d: convert several more VM error checks into VM_ASSERT statements
...
# Conflicts:
# source/duke3d/src/gameexec.cpp
2020-05-22 17:00:09 +02:00
Richard C. Gobeille
7fbcab3dc1
Duke3d: VM_ASSERT fix
2020-05-22 16:57:34 +02:00
Richard C. Gobeille
86e2f4ec8a
Revert "Duke3d: set .horizRecenter when handling SK_CENTER_VIEW"
...
This reverts commit ef06d8c3dba3e4ccf9388bf31404ab23ebdcb37e.
2020-05-22 16:57:01 +02:00
Richard C. Gobeille
1f82cfa3bf
Duke3d: replace VM_CONDITIONAL macro with a lambda
...
# Conflicts:
# source/duke3d/src/gameexec.cpp
2020-05-22 16:57:00 +02:00
Richard C. Gobeille
c0160065e4
Duke3d: this is intended to fix an issue where CON VM errors within a CON_FOR loop could cause an infinite loop
2020-05-22 16:56:24 +02:00
Richard C. Gobeille
8cf064b90c
Duke3d: add a few missing VM_ASSERT checks
2020-05-22 16:56:23 +02:00
Richard C. Gobeille
1a1112b4c1
Duke3d: fix OOB memory access in CON_FOR
2020-05-22 16:55:37 +02:00
Richard C. Gobeille
dc9c6ce2e6
Duke3d: allow SE_14_SUBWAY_CAR to move STAT_PLAYER sprites
...
Fixes #18 .
2020-05-22 16:54:12 +02:00
Richard C. Gobeille
23909f8ca1
Duke3d: hoist checks for ST_2_UNDERWATER outside of loops in SE_14_SUBWAY_CAR processing
2020-05-22 16:54:10 +02:00
Richard C. Gobeille
45fd214ffe
Duke3d: remove interpolation fixups from subway
...
These aren't needed anymore after Striker's patch to improve overall interpolation.
2020-05-22 16:54:09 +02:00
Richard C. Gobeille
b19d258870
Duke3d: fix APLAYER radius damage distance calculation regression
...
Fixes #20 .
2020-05-22 16:54:08 +02:00
Richard C. Gobeille
f5788c331e
Clarify clipupdatesector() log message a bit
...
# Conflicts:
# source/build/src/clip.cpp
2020-05-22 16:52:08 +02:00
Richard C. Gobeille
32ddabb12c
Derp...
...
Probably actually fixes #4 . Regardless, I want to note that this is really sub-optimal.
# Conflicts:
# source/duke3d/src/m32def.cpp
2020-05-22 16:51:27 +02:00
Richard C. Gobeille
61d82c8152
Fix really stupid error with CON_NULLOP branch detection
...
Fixes #4 .
# Conflicts:
# source/duke3d/src/gamedef.cpp
# source/duke3d/src/m32def.cpp
2020-05-22 16:50:28 +02:00
Richard C. Gobeille
94d098f8ef
Fix a crash with tabledivide64()
...
Fixes #1 .
2020-05-22 16:50:02 +02:00
Jordon Moss
79d2bb1bb8
Fix player sprite disappearing and chat indicator using the wrong sprite when typing.
2020-05-22 16:48:44 +02:00
Jordon Moss
658a96ce19
Re-added a check in VM_Move that probably should't have been removed.
2020-05-22 16:48:24 +02:00
Mitchell Richters
d98813f00f
SW: Allow sector object interpolations to be disabled for debugging.
...
New code is causing some issues. Upstream allow it to be toggled, so let's do that also.
2020-05-22 16:43:34 +02:00
Christoph Oelckers
bad17f29e0
- made some tweaks to the anti-z-fighting code in Polymost.
...
It now picks the minimum of the current formula and the one from before June 2017 - the current one was causing problems with sprites in the distance so now the old one is used as an upper bound.
2020-05-22 16:27:45 +02:00
Christoph Oelckers
683672a1be
- added missing game specific autoload handler.
2020-05-22 01:24:40 +02:00
Mitchell Richters
45cc95401f
SW: Make game compile after upstream backports.
2020-05-21 18:47:37 +02:00
Evan Ramos
0ab81904c2
SW: Allow Strafe Left and Right to turn vehicles
2020-05-21 18:47:37 +02:00
Evan Ramos
9d11c7dfb1
SW: Add FOV support.
2020-05-21 18:47:37 +02:00
Evan Ramos
edccdccfb4
SW: Fall back gracefully if map mirror tags are not fully correct
2020-05-21 18:47:37 +02:00
Evan Ramos
e6dd2741f3
SW: Instrument Saveables with debug_break
2020-05-21 18:47:37 +02:00
Evan Ramos
9eefd3d892
SW: Add PanelSpriteFunc values to saveables
2020-05-21 18:47:37 +02:00
NY00123
024d4e7297
SW: Afraid that we should disable almost all kinds of SOs in multiplayer
...
for now, due to possible jitters. Currently leaving remote-controlled SOs.
2020-05-21 18:47:37 +02:00
NY00123
ab99b3b79d
SW: Call FunctionKeys from getinput only if the latter is called
...
from faketimerhandler. This should fix the timing of playing an
RTS file's sound and sending the corresponding message.
2020-05-21 18:47:37 +02:00
NY00123
75c76f073a
SW: Fix aiming in coop view
2020-05-21 18:47:37 +02:00
NY00123
5baba6b9f3
SW: Don't interpolate a non-remote sector object controlled
...
by the player. Make sure looking up/down is still smooth.
2020-05-21 18:47:37 +02:00
NY00123
bdacab366a
SW: Disable interpolation of sector objects that
...
don't move as smooth as possible in multiplayer
2020-05-21 18:47:37 +02:00
NY00123
f3654d80e7
Store sector object interpolation data in saved game
2020-05-21 18:47:37 +02:00
NY00123
27675d9f4f
Remove the preceding sprite interpolation functions, not needed anymore
2020-05-21 18:47:37 +02:00
NY00123
221172311c
SW: Let's make use of interpso.*. Still need to do a few more things.
2020-05-21 18:47:37 +02:00
NY00123
2b1e32bf3d
SW: Add the currently-unused interpso.* files, enabling interpolation
...
of sector objects as whole groups of points and sprite angles.
The following goals are intended to be achieved with this code:
- Make it easy to let the user toggle sector object interpolation.
- Interpolate the angles of sprites carried by sector objects.
- Use the right amount of samples for interpolating a sector object,
depending on the players' locations, as done in the checks within
DoSector. Unfortunately, modifying DoSector itself to
unconditionally call MoveSectorObjects(sop, synctics) technically
changes the way sectors move (in the logical sense), and was
found out to make a specifically constructed user map unbeatable.
- Make it easy to disable interpolation of a whole sector object in
case of a need. This is especially important if such an object
is controlled by a player in multiplayer, mostly since this
isn't compatible with the way player prediction is working.
2020-05-21 18:47:37 +02:00
NY00123
f6a5572775
SW: Add the currently unused InterpolateSO option.
...
A known issue, which also applies to existing settings like the voxel
toggle, is that its value gets written to the saved game, and when such
a game is loaded, the its value gets overwritten by the one in the
saved game. Options should move to settings.cfg later, anyway.
2020-05-21 18:47:37 +02:00
NY00123
890a737152
SW: Add the oangdiff field to USER struct as suggested by Hendricks,
...
and use it in MovePoints. This will be used for interpolating
the angles of sprites carried by SOs soon.
2020-05-21 18:47:37 +02:00
NY00123
d467ce3eb8
SW: Interpolate the player's bob_z, based on suggestion by Striker.
...
Using pp instead of ppp seems to work better with prediction.
2020-05-21 18:47:37 +02:00
NY00123
10e4c3e121
sw/src/draw.cpp: Import from Duke3D the Polymost shadow drawing hacks
2020-05-21 18:47:37 +02:00
NY00123
33043b3b05
sw/src/network.cpp: Fix waitforeverybody in Master/Slave
...
modes. This uses SVN r1135 and r1143 as a reference.
2020-05-21 18:47:37 +02:00
NY00123
dea7c83361
sw/src/network.cpp: Fix sending of messages in Master/Slave.
...
Thanks Dynamo for spotting the bug.
2020-05-21 18:47:37 +02:00
NY00123
63743eea67
sw/src/draw.cpp:analyzesprites: Interpolate other players' sprites, in a
...
similar manner to what's done in Duke3D (with the addition of the angle).
There seem to be some jitters with this, mostly in Master/Slave mode.
Decreasing PAKRATE in mmulti.cpp might also increase the frequency
of this occuring in Peer-2-Peer mode.
2020-05-21 18:47:37 +02:00
NY00123
5a6dd2224f
sw/src/jsector.cpp:JS_DrawCameras: Make camera oscilation
...
less dependent on the frame rate.
It would probably be better to update this from the game loop side,
like in Duke3D, but it's still better than the preceding situation.
2020-05-21 18:47:37 +02:00
Mitchell Richters
471f0df69d
SW: Q16.16 refinements in DoPlayerDeathFollowKiller.
2020-05-21 18:47:37 +02:00
Mitchell Richters
14273dd200
SW: Add GetDeltaQ16Angle.
2020-05-21 18:47:37 +02:00
NY00123
36e6dee64c
Add PedanticQ16AngleFloor to sw/src/game.h and use it in DoPlayerTurn
2020-05-21 18:47:37 +02:00
NY00123
b84975e406
SW: Remove drive_oangvel from PLAYERstruct. We can use local variables instead.
2020-05-21 18:47:37 +02:00
NY00123
6aecd46dbc
SW - Hopefully a better way to decide if getinput should call
...
DoPlayerTurn/DoPlayerHorizon while input is tied to the frame rate:
Introduce the new player flags PF2_INPUT_CAN_TURN and PF2_INPUT_CAN_AIM.
Set PF2_INPUT_CAN_TURN if DoPlayerTurn can be called outside
of getinput. Similarly set PF2_INPUT_CAN_AIM if DoPlayerHorizon
can be called in this manner.
getinput will only call DoPlayerTurn/DoPlayerHorizon
if PF2_INPUT_CAN_TURN/PF2_INPUT_CAN_AIM is set. These flags are reset
right before the call to the player's current DoPlayerAction function.
For one example in which this assists, it's not always the
case that DoPlayerDeathFollowKiller may call DoPlayerTurn,
even if we assume that pp->input.q16angvel is never zero.
2020-05-21 18:47:37 +02:00
NY00123
e3197d206d
SW: Temporarily lock angle and horiz right upon player death
2020-05-21 18:47:37 +02:00
NY00123
bfd79d8bc2
sw/src/draw.cpp:drawscreen: Don't interpolate while the game is paused
2020-05-21 18:47:37 +02:00
NY00123
656e059c86
sw/src/game.cpp: Remove unused ReloadPromptMode variable
2020-05-21 18:47:37 +02:00
NY00123
8d748c19e4
Minor SW cleanup: Have a single declaration of
...
GamePaused within game.h. Do the same with ReloadPrompt.
2020-05-21 18:47:37 +02:00
NY00123
5a0e54b63e
SW: Migrate the player's RevolveAng field to Q16.16 format.
...
This fixes truncations of q16ang in MovePlayer. One known
fixed issue is a minor micro-shaking effect, reproduced
while standing on a non-moving SO (e.g., the bus in level 1).
The latter is also related to the use of camq16ang.
Based in idea on patch from mjr4077au.
2020-05-21 18:47:37 +02:00
NY00123
ef85bc58c3
sw/src/draw.cpp:drawscreen: Use GetQ16AngleFromVect for pointing
...
at a remote-controlled SO. In case PedanticMode == FALSE, this
leads to small improvements with aiming at the car in EXAMPLE.MAP.
2020-05-21 18:47:37 +02:00
NY00123
207240f277
Add GetQ16AngleFromVect wrapper function to sw/src/game.h
2020-05-21 18:47:37 +02:00
NY00123
6fcb8f7a6a
Add gethiq16angle and the getq16angle wrapper to the engine
2020-05-21 18:47:37 +02:00
NY00123
e2a789b8cc
SW: Lock angle and horiz right after teleporting to sprite
2020-05-21 18:47:37 +02:00
NY00123
8e9130c31a
sw/src/draw.cpp:drawscreen: Removing the check that pp->sop_control
...
is non-null seems to resolve the newly introduced interpolation
issue for looking up/down while controlling a sector object.
We can also remove the PF_DEAD test, since
game.cpp:getinput should lock any kind of aiming.
src/src/game.cpp:getinput: We now, however, need to further
lock turning here while controlling a sector object.
2020-05-21 18:47:37 +02:00
NY00123
4c73c11255
SW: Ensure the player's rendering angle is in sync with a rotating
...
sector. This re-introduces the angle interpolation in drawscreen
while sector object interpolation is in use.
A side-effect of this is that looking up/down is now less smooth
while controlling a sector object (e.g., a turret).
2020-05-21 18:47:37 +02:00
NY00123
0c4deb9298
sw/src/track.cpp:MovePlayer: We also need to update pp->camq16ang here.
...
Note that this angle is currently not interpolated,
as done for the sector.
2020-05-21 18:47:37 +02:00
NY00123
fd6df8e509
sw/src/track.cpp:MovePlayer: Missed this in preceding interpolation fixes
2020-05-21 18:47:37 +02:00
NY00123
1d1aa4581b
sw/src/track.cpp: If interpolation is enabled, also cover
...
the SO's midpoint. Fixes aiming at a remote controlled SO.
2020-05-21 18:47:37 +02:00
alexey.lysiuk
2974af3178
- fixed a bunch of compilation errors with MSVC 16.6.0
2020-05-21 10:29:59 +03:00
Mitchell Richters
559539bed2
- bump save versions for SW following the massive amount of changes.
2020-05-20 14:43:03 +02:00
Mitchell Richters
979c4846a4
SW: Fixes and cleanups following backporting upstream's input changes.
2020-05-20 14:43:03 +02:00
Mitchell Richters
2c0ad0dd12
SW: Fix compilation after backporting upstream's input changes.
2020-05-20 14:43:03 +02:00
NY00123
3913a05713
Use pragma pack in sw/src/network.h instead of the locally defined
...
PACKED macro. This is more consistent with the current Duke3D codebase,
and further fixes build with older versions of MinGW GCC, in which
attribute packed is broken without specifying -mno-ms-bitfields.
2020-05-20 14:43:03 +02:00
NY00123
ff49bc2209
SW: Remove unused wfe_Clock variable
2020-05-20 14:43:03 +02:00
NY00123
b0318afbdb
Fix usage of possibly wrong address in sw/src/player.cpp:DoPlayerHorizon
2020-05-20 14:43:03 +02:00
NY00123
10a5120e40
sw/src/network.cpp: I think that it's safe to enable
...
the sync check on the slave side in Master/Slave mode.
2020-05-20 14:43:03 +02:00
NY00123
0f761cdc77
SW: This hopefully resolves issues with leaving multiplayer games
2020-05-20 14:43:03 +02:00
NY00123
7749b0f7b9
SW: Interpolate sector objects in non-demo, single player games.
...
Let's see if this is breaking anything.
2020-05-20 14:43:03 +02:00
NY00123
25be14ccc0
Another change modifying saved game format in SW:
...
Increase MAXINTERPOLATIONS from 1024 to MAXSPRITES.
2020-05-20 14:43:03 +02:00
NY00123
bf0ace3748
SW change breaking compatibility with existing saved games:
...
Remove startofdynamicinterpolations and short_startofdynamicinterpolations.
2020-05-20 14:43:03 +02:00
NY00123
18602d41c9
SW: Reset the number of interpolations on level load
2020-05-20 14:43:03 +02:00
NY00123
47ac981a3a
SW: Let's replace the macro PEDANTIC_MODE with variable PedanticMode
2020-05-20 14:43:03 +02:00
NY00123
cc4f1f21f9
Interpolation fixes for SW:
...
draw.cpp: Fix the lack of interpolation while walking on a sector
object, like the bus roof or the floor of the train in Seppuku Station.
track.cpp: Make sure the player's location and angle aren't mistakenly
interpolated while standing on a moving sector object as a consequence.
2020-05-20 14:43:03 +02:00
NY00123
eaefc2576c
SW: Rename q16avel -> q16angvel and q16horz -> q16aimvel.
...
While it is understandable that avel and horz came from Duke3D,
having both q16horiz and q16horz in the updated SW_PACKET struct
can be confusing, and the alternative notation is more consistent
with the original struct field names of angvel and aimvel, as well
as the differing uses of the name angvel still present in player.cpp.
2020-05-20 14:43:03 +02:00
NY00123
952c578957
SW (DoPlayerTurn): The 180-degrees turns should be clockwise
2020-05-20 14:43:03 +02:00
NY00123
d07470ec4a
sw/src/player.cpp:PlayerAutoLook: Modify function to
...
test for PF_MOUSE_AIMING_ON only if PEDANTIC_MODE == FALSE
2020-05-20 14:43:03 +02:00
NY00123
6d9c657b11
SW: This is a better place for a slave which quits to set QuitFlag
2020-05-20 14:43:03 +02:00
NY00123
d50410f06b
SW: With the input tied to frame rate, disable aiming while the
...
player is dead, and also disable horizontal aiming while on a ladder.
2020-05-20 14:43:03 +02:00
NY00123
820e9ef5f9
SW: Use the old interpolation path in drawscreen if player is dead
2020-05-20 14:43:03 +02:00
NY00123
701b33da0d
SW: Make horiz centering a bit less immediate again
2020-05-20 14:43:03 +02:00
Mitchell Richters
cba38c5cfc
SW: Tie player input to frame rate.
2020-05-20 14:43:03 +02:00
Mitchell Richters
8b10f53450
SW: Add and use elapsedInputTicks and scaleAdjustmentToInterval
...
as one more step before tying input to frame rate.
2020-05-20 14:43:03 +02:00
NY00123
8085c8473d
SW: Add the q16ang and q16horiz fields to SW_PACKET. These
...
will be filled by faketimerhandler with the current player's
most recent camq16ang and camq16horiz values, respectively.
2020-05-20 14:43:03 +02:00
NY00123
de0ed067f5
SW: Modify DoPlayerTurn/DoPlayerHorizon to make it possible
...
for them to modify the player's camq16ang/camq16horiz field
instead of q16ang/q16horiz. Additionally, pass to them the
change in angle/horiz via a parameter, as an alternative
to direct access to the corresponding player input field.
2020-05-20 14:43:03 +02:00
NY00123
1f9e319d39
SW - First step in tying player input to frame rate:
...
Add the camq16ang and camq16horiz fields to the player struct.
With the exception of DoPlayerTurn and DoPlayerHorizon, whenever
code in player.cpp updates player's q16ang/q16horiz, also write
the updated values to camq16ang/camq16horiz. These variables'
preceding values are never used in these functions.
2020-05-20 14:43:03 +02:00
NY00123
b447feef91
sw/src/game.cpp:LoadLevel: Rename q16ang -> ang
2020-05-20 14:43:03 +02:00