Mitchell Richters
1900cf1fcc
- Move Duke's getincangle()
function to the backend, create Q16.16 variant (getincangleq16()
) and replace Shadow Warrior's discrete implementations shared versions.
...
* Need SW's input helpers available for Blood but therefore also need an angle delta function that does not seem to exist in Blood.
* Realise that gamecontrol.h/cpp might not be the most appropriate place, but it's a shared location and these will go into binaryangle.h when its utilisation can be more realised.
* Because SW's logic was reversed, in that param #1 was the new angle and param #2 was the current, all calls have been reversed.
* By happenstance, also fixes an issue with multiple 180° turns in quick succession.
2020-09-20 16:21:13 +10:00
Mitchell Richters
db7793bf54
- Blood: Clean up remainder of control.cpp in-line with Duke/SW.
...
* Split input bits and movement into separate functions.
* Reordered movement to be more like Duke/SW for ease of comparison.
* Removed a global.
* Removed a few includes.
2020-09-20 16:20:20 +10:00
Mitchell Richters
9c56dfffe0
- Blood: Apply horizon input outside of pPlayer->q16look
and fix some incorrectly declared types.
...
* Looking up/down is a bit rough at first as q16look is disproportionate to where the player is currently looking.
* Won't be an issue with a unified horizon algorithm in the backend.
2020-09-20 16:20:18 +10:00
Mitchell Richters
eb0bd9638b
- Blood: Re-implement unsynchronised q16horiz.
2020-09-20 16:20:16 +10:00
Mitchell Richters
ae5b6b6a91
- Blood: Re-implement unsynchronised q16ang.
2020-09-20 16:20:14 +10:00
Mitchell Richters
547bf110b2
- Blood: Create high-precision Sinf()
and Cosf()
inlines and use for player's horizon, using calcSinTableValue()
from the backend, bypassing game's costable[]
.
2020-09-20 16:20:12 +10:00
Mitchell Richters
c38c1cb1f1
- Blood: Re-do interpolating code in viewDrawScreen()
in preparation for returning unsynchronised input.
...
* Changed config so `cl_interpolate` bool doesn't apply to player's overall movement. While it might be handy for debugging moving sector objects, I see no valid reason why there'd be a need to ever un-interpolate the player's position.
2020-09-20 16:20:10 +10:00
Mitchell Richters
20c73e1249
- Blood: Remove r_horizcenter
and standardise horizon in game to that of the default in the backend (currently 100).
...
* The use of this will go when the input is re-factored to operate on the standard horizon of 100, not 0.
2020-09-20 16:20:08 +10:00
Mitchell Richters
4d47fe7e85
- Blood: Remove bVanilla
.
2020-09-20 16:20:06 +10:00
Mitchell Richters
c835d9cadc
- Blood: Revert upstream unsynchronised input implementation.
2020-09-20 16:20:04 +10:00
Mitchell Richters
20f94c5895
- Blood: Use backend input scaling.
2020-09-20 16:20:00 +10:00
Mitchell Richters
5e484bddad
- Blood: Make gInput
static within controls.cpp.
2020-09-20 16:19:58 +10:00
Christoph Oelckers
a27211dc34
- added support for SSI containers to the file system.
2020-09-19 10:07:53 +02:00
Christoph Oelckers
2bf5933923
- fixed weapon sprite translation index when in paletted mode.
2020-09-19 00:06:07 +02:00
Christoph Oelckers
d8639a9a64
- fixed bad checks for uncapped frame rate.
2020-09-18 23:18:42 +02:00
Christoph Oelckers
005f8feceb
- properly use the correct delay for an ANM's final frame.
2020-09-18 22:49:51 +02:00
Christoph Oelckers
29a10cabcb
- fixed most issues with palette emulation.
...
Brightness is now correct - I have no idea why this factor of 1/0.85 is needed - something must reduce the brightness of the entire scene but I have no idea what.
2020-09-18 22:29:13 +02:00
Christoph Oelckers
7b879f6fe7
- removed now unused SavegameLoaded variable.
2020-09-18 01:11:38 +02:00
Christoph Oelckers
77a2bcb958
- SW: make ambients start properly.
...
This fell victim to some fudging code that was needed to avoid crashes with the original game loop.
All that fudging could easily be removed now because nothing of it is needed anymore.
2020-09-18 00:33:18 +02:00
Christoph Oelckers
af298411df
- added widescreen titlepic for Duke Nukem 3D:
...
Also made some tweaks to the intro sequence drawer so that it recognizes image formats not depending on the game palette.
2020-09-17 23:20:50 +02:00
Christoph Oelckers
f5d14f826a
- added the SHOOT event and fixed some issues with poor code generation for the game data accessors.
...
They created different code depending on the passed index, this was changed to always emit the optional parameter, even when not needed, so that the interpreter does not need to second-guess.
2020-09-17 23:06:54 +02:00
Christoph Oelckers
8fa5d3d9d2
- added the remaining CON features from EDuke 2.x
...
Not everything will do something, though. This was some incredibly careless code operating without a safety net allowing uncontrolled write access to the map structure.
Most of the critical fields have been made read-only, which has been the only mode of access in the mods I checked.
Note that this does not enable scripting of the weapon sprite drawer, only the gameplay related features were done.
2020-09-17 23:06:54 +02:00
Mitchell Richters
e1ee9bc83c
- Duke: Fix camera advancing angle by 16 instead of 8 under circumstances.
2020-09-17 18:31:09 +10:00
Mitchell Richters
71a06b7cdd
- SW: Fix quake intensity.
2020-09-17 09:01:19 +10:00
Christoph Oelckers
4dc7f8b142
- undid some formatting screwups from the merge.
2020-09-16 19:28:51 +02:00
Christoph Oelckers
942beea1ff
Merge branch 'back_to_basics2'
2020-09-16 19:26:23 +02:00
Mitchell Richters
4370686c81
- SW: Allow disabling melee weapon blurring.
2020-09-16 19:18:08 +02:00
Christoph Oelckers
b0090b07fc
- do not fade screen jobs in when in the menu.
...
This doesn't work properly because the timer is stopped, leading to visual artifacts with the fading.
2020-09-16 19:13:21 +02:00
Christoph Oelckers
6776508239
- widescreen asset setup and consolidation of .def file loading.
2020-09-16 19:13:06 +02:00
Christoph Oelckers
2095e9e3c6
- code changes for last commit - they were not picked up automatically.
...
# Conflicts:
# source/build/src/defs.cpp
2020-09-16 19:13:05 +02:00
Christoph Oelckers
5c777eeb38
- moved implementation of 'animtilerange' into buildtiles.cpp.
2020-09-16 19:13:05 +02:00
Christoph Oelckers
616838dd0a
- little bit of cleanup on tileImport.
2020-09-16 19:13:05 +02:00
Mitchell Richters
ce82eaf899
- Duke/RR: Address weapon drawer interpolation concerns raised in #403 .
2020-09-16 21:01:09 +10:00
Christoph Oelckers
b26a5b800e
- make sure that changing the texture filter mode does not clobber the global state
...
Need to rebind the samplers after modifying them to avoid undefined behavior.
Fixes #397
2020-09-15 22:00:15 +02:00
Christoph Oelckers
867b8f006f
Reverted key input changes from yesterday.
...
At least the SW version did not work right so let's take no chances here.
2020-09-15 21:54:10 +02:00
Christoph Oelckers
d74d65bece
- clear the 2D drawers in the correct place.
2020-09-15 21:52:02 +02:00
Christoph Oelckers
8babdd6296
- fixed "pointers to temporary" errors reported by XCode
2020-09-15 21:45:54 +02:00
Christoph Oelckers
e7ddc4178a
- fixed bad Printf formatting directives in swcustom parser.
2020-09-15 21:45:05 +02:00
Christoph Oelckers
c98f7d304b
- added a list compare function to FScanner.
2020-09-15 21:21:16 +02:00
Christoph Oelckers
2c3041081d
- remove indirection in picanm access.
2020-09-15 21:17:08 +02:00
Christoph Oelckers
d1293da8dc
- connecting the dots for Blood's special tile features.
2020-09-15 01:27:24 +02:00
Christoph Oelckers
bc5d3eea88
- split the worker part for tileImportTexture out of the parser.
2020-09-15 01:21:17 +02:00
Christoph Oelckers
09a6534270
- redid scriptfile as a wrapper around FScanner
...
Another piece of Build licensed code gone, yay!
This will also allow gradual conversion of the DEF parser to our own code, unencumbered by the Build license. :)
2020-09-15 00:11:08 +02:00
Christoph Oelckers
e382690f9c
- migrated defs error reporting to FScriptPosition
...
This not only prints better formatted texts, it also takes a lot of script maintenance out of the code.
2020-09-14 22:55:21 +02:00
Christoph Oelckers
8a7502c00d
- I wish, MSVC flagged struct params to variadic functions properly…
...
XCode reported these as errors.
2020-09-14 22:44:21 +02:00
Christoph Oelckers
70a6fbe9be
- do not interpolate while playing the flash at Exhumed's exits.
...
Fixes #395
2020-09-14 22:31:15 +02:00
Christoph Oelckers
cf6b497d02
- fixed animation of weapon sprites
...
This also disables palette emulation for weapons because it's too buggy right now. Will be re-enabled once fixed.
2020-09-14 22:16:33 +02:00
Christoph Oelckers
4485587088
- removed the palette remapping in the lookup texture generators because it is no longer needed.
...
Fixes #396
2020-09-14 21:54:29 +02:00
Christoph Oelckers
42d4e112a1
- clear the message display unconditionally when restarting the game.
...
It was only done when the level was reloaded.
Fixes #400
2020-09-14 21:32:36 +02:00
Christoph Oelckers
eb4e0b1b83
- restrict keyboard input to the actual tic in SW as well.
...
Also fixed the blocking of the strafe key with sector objects - this must have gotten lost somewhere.
2020-09-14 21:25:53 +02:00