Christoph Oelckers
af6c6c8ef0
- added the DrawInfo class.
2021-03-18 10:23:53 +01:00
Christoph Oelckers
e9dd1c104b
- started adding the draw list code from GZDoom.
2021-03-18 10:19:13 +01:00
Christoph Oelckers
0f28069f96
- fixed NPOT shader parameters. RR E1L1's hedges render properly now.
...
- fixed a few places where wall[0] was accessed.
2021-03-18 09:20:38 +01:00
Christoph Oelckers
2d958745b4
- fixed: Polymost must set the viewpoint if renderers are switched.
...
- fixed coordinate order in renderSetViewpoint
- fixed backwall checks accidentally testing wall 0 instead of the current wall.
2021-03-18 00:28:38 +01:00
Christoph Oelckers
493294909b
- fixed texture alignment
...
Most cases should be correct now.
2021-03-17 23:29:13 +01:00
Christoph Oelckers
47dce8de8c
- partially fixed y-panning and removed the aspect factor.
...
y-panning is still not correct for all cases but better than before. The aspect factor is not needed, it looks like an artifact of both the software renderer and Polymost.
We get the same dimensions with proper matrices by setting this to 1.
2021-03-17 20:02:50 +01:00
Christoph Oelckers
65097c4098
- set proper visibility factor and viewport.
2021-03-17 19:07:00 +01:00
Christoph Oelckers
b492cbcebb
- ported my old Build-style renderer for Doom from 2008 and the wall renderer from GZDoom to work with Build data.
...
It renders walls, but y-panning is still broken.
2021-03-17 16:54:36 +01:00
Christoph Oelckers
9ebd8fd4a5
- put all of Polymost in a namespace.
...
So that its static variables are properly separated from the rest.
2021-03-17 15:55:25 +01:00
Christoph Oelckers
c6f83fa8bd
- added GZDoom's clipper.
2021-03-15 19:11:18 +01:00
Christoph Oelckers
a484e39e05
- removed integer square root code.
...
On modern systems using the sqrt function with a cast to int has no relevant performance disadvantage anymore so there's no need for all of this.
2021-03-15 19:02:08 +01:00
Christoph Oelckers
7c68261fbf
- redirect Exhumed's shareware exit to the main menu.
2021-03-15 18:58:28 +01:00
Christoph Oelckers
ac82838859
- removed unused 'wallvisible' function.
2021-03-15 18:58:14 +01:00
Christoph Oelckers
8aa59f2385
- use clamp instead of bit masking to handle out of range interpolation factors for models.
2021-03-15 11:35:39 +01:00
Christoph Oelckers
b8fd41a58f
Merge master into whaven
...
# Conflicts:
# source/core/gamecontrol.h
2021-03-15 10:42:59 +01:00
Christoph Oelckers
60979ee478
- fixed: G_BuildTiccmd needs to clear the command struct.
...
This could otherwise pick up some stray data from earlier calls and create bogus input.
Fixes #97
2021-03-15 10:11:49 +01:00
Christoph Oelckers
834da8b83b
- Exhumed: refresh the status bar after loading a saved game.
...
It is actually not necessary to save the state - but the RefreshStatus function must be called to update all current values.
Fixes #282
2021-03-14 12:57:23 +01:00
Christoph Oelckers
90cb82d244
- disable the player specific volume modifiers if replay gain is enabled.
...
These two functions would get into the way of each other otherwise.
2021-03-14 09:05:28 +01:00
Christoph Oelckers
aa789c7605
- adapt to changed value range of module master volume in ZMusic.
...
The default was far too quiet and had to be increased to let the player have comparable output to the rest of the music system.
2021-03-14 08:51:59 +01:00
Christoph Oelckers
8ae5d0b30e
- backend update from GZDoom.
2021-03-13 01:21:38 +01:00
Christoph Oelckers
f4b27bbd27
- sort the game selection list by definition order in grpinfo.txt.
...
This is to have consistent ordering, independent of where the files are found.
Game order is: Duke, Blood, Shadow Warrior, Redneck Rampage, Nam, WW2GI, Exhumed, all the official mission packs are grouped below the game they belong to.
2021-03-12 23:45:03 +01:00
Christoph Oelckers
25bf0854cf
- allow game specific music names for all games supporting an Ogg-format CD audio soundtrack.
...
New names are:
REDNECKxx.ogg for Redneck Rampage
REDNECKRIDESxx.ogg for RR Rides Again.
SHADOWxx.ogg for Shadow Warrior.
The motivation here is to allow copying all this music to a single folder or .zip file and reference it from all games.
2021-03-12 23:15:34 +01:00
Christoph Oelckers
d7f720664a
- Exhumed: fixed uninitialized variables in Queen boss when reloading a savegame.
2021-03-09 22:18:43 +01:00
Christoph Oelckers
df742d25db
- Exhumed: Replace asserts for range checks with if's.
...
Asserts are mere debugging aids, the code was still trashing valid date in release builds.
2021-03-09 20:02:08 +01:00
Christoph Oelckers
e375c799ce
- CommonLoon102's weapon fixes from NBlood:
...
Fix bug when switching to another weapon from the spray while firing with primary fire won't switch to the new weapon. And telling Caleb not to put away his lighter if the spray is being switched to TNT.
Do not put away lighter after TNT is thrown if while throwing the weapon was switched already to spray.
Do not put away lighter if TNT was selected while throwing a spray can.
Fix next/prev weapon
2021-03-09 09:31:04 +01:00
Christoph Oelckers
ee5950e7ad
- backend update from GZDoom.
2021-03-07 13:21:15 +01:00
Christoph Oelckers
ad8654ed06
- fixed maphack loader.
...
The duplicate 'currentSprite' variable prevented it from doing anything.
Also cleaned up the interface a bit to avoid using a global variable for parameter passing.
Fixes #279
2021-03-07 09:39:16 +01:00
Christoph Oelckers
9104fba3ec
- moved colormap constants to backend.
2021-03-06 23:06:26 +01:00
Christoph Oelckers
5b85105762
- re-added the fix for the inverted card reader in Twin Dragon's Map 10.
...
This accidentally got lost when the one-sided key fix was generalized.
2021-03-06 12:20:03 +01:00
Christoph Oelckers
57a6bfcdcd
- Blood: fixed typo in map loader that overwrote the floor y panning offset with its fractional part.
2021-03-03 13:26:58 +01:00
Christoph Oelckers
cb14e3023e
- fixed "roll" in maphack parser
2021-03-02 21:47:43 +01:00
Christoph Oelckers
bbd5c0ac8b
- transitioned voxel rendering to use the backend's implementation.
2021-03-02 17:10:34 +01:00
sinisterseed
8d5682fa97
- version bump.
...
We're past 0.8 for some time now, and slowly approaching 1.0 :) .
2021-03-02 17:53:25 +02:00
Christoph Oelckers
4b59acd251
- Blood: Check the sound's internal loop flag when playing a sound.
...
Fixes #275
2021-03-02 11:59:20 +01:00
Mitchell Richters
e0f1a83f40
Revert "- SW: Alt implementation for preparing a nuke."
...
This reverts commit 4fcec5f6d3
.
Functionality wasn't working properly, most players will never use it and care only for 100% originality. Was a nice idea, though.
# Conflicts:
# source/core/gamecvars.cpp
# source/games/sw/src/panel.cpp
2021-03-02 20:02:20 +11:00
Christoph Oelckers
b9050b1a35
- Blood: properly clip the gauge for throwing dynamite force instead of stretching it.
2021-03-02 03:31:10 +01:00
Christoph Oelckers
a7dc86583f
- Blood: commented out cultist code that should not be entered due to the 'isrunning' bug.
2021-03-02 03:04:14 +01:00
Christoph Oelckers
34bda2c962
- address excessive view swaying in Blood.
...
It is totally unclear what happened here in the original code, but the info apparently never reached the place where it's being checked. BloodGDX just ignores it so we do now, too.
2021-03-01 19:28:47 +01:00
Christoph Oelckers
2f2d0443f2
- fixed size setup for most menus.
...
All of Raze's menus scale to 320x200 and to get proper mouse coordinates the definitions must reflect that as well.
Fixes #271
2021-03-01 13:08:10 +01:00
Christoph Oelckers
80404558f6
- RR: Fixed the drink and eat meters on the status bar.
...
Turned out that the status bar's DrawGraphic cannot handle it with its coordinate hackery, this needs a separate, cleaner interface function that does not mess around with the pivot which needs to be passed unaltered to the backend to properly rotate around it
2021-02-28 22:34:52 +01:00
Christoph Oelckers
fa8ca81460
- SW: added persistent copy of oz.
...
The door movement code uses oz for its position checks so we need a persistent version of it that survives uncontrolled changes from the engine side.
2021-02-28 12:35:34 +01:00
Christoph Oelckers
d31fe01b6d
- skill stuff for Exhumed.
...
Just for fun. ;)
2021-02-27 14:08:08 +01:00
Christoph Oelckers
ce87e18f90
- block Escape to toggle the console while AppActive is false.
...
This is for testing #174 - this is the only place in the code where the escape key is explicitly checked.
2021-02-27 13:47:30 +01:00
Christoph Oelckers
d28d5a5e1f
- use real fog, even in palette emulation mode.
...
Using the palette to apply fog is just far too broken and cannot be kept in check with all the hacks the Build engine allows.
This only works if all elements on screen use the identity translation lookup which is basically never the case.
Real fog, on the other hand, can easily be applied to everything.
2021-02-27 13:30:52 +01:00
Christoph Oelckers
1e8ebf2306
- removed unused variables in Exhumed's status bar code.
2021-02-27 12:37:25 +01:00
Christoph Oelckers
d0cf9d65e7
- use 2D size in 2D code, not the engine's screen dimensions.
2021-02-27 12:33:47 +01:00
Christoph Oelckers
2094b6420f
- use local screen size variables in automap code.
2021-02-27 12:30:20 +01:00
Christoph Oelckers
783328c5fa
- removed some unused declarations.
2021-02-27 12:29:07 +01:00
Christoph Oelckers
157b70212f
Merge branch 'master' into whaven
2021-02-27 00:22:04 +01:00
Christoph Oelckers
e470c59263
- Exhumed: Set opos for all dynamically spawned sprites.
...
Fixes #253
Let's hope this covers everything, the code is a bit scattered...
2021-02-27 00:16:03 +01:00
Christoph Oelckers
ba5ede65b8
- backend update from GZDoom.
2021-02-26 19:06:10 +01:00
Christoph Oelckers
b15810e173
- SW: fixed crash with credits screen and CD tracks missing.
2021-02-26 18:58:13 +01:00
Christoph Oelckers
4c915180da
- fixed stale pointer access in Unix version of D_AddFile.
...
Pointer was assigned a buffer of a local variable that went out of scope before checking its content.
Fixes #268 (hopefully)
2021-02-26 13:28:02 +01:00
Christoph Oelckers
a46792e519
- fixed SE21 handler.
...
This one is most prominently noticeable in WW2GI's first map where blowing up a crack has no effect.
This must have happened when removing all those dangerous pointer to long casts that were so popular back in the bad old days.
Fixes #266
2021-02-26 13:14:44 +01:00
Mitchell Richters
446723c0dc
- WHaven: Initial chase cam implementation.
...
* Sprite's angle still requires some work.
2021-02-25 22:57:15 +11:00
Christoph Oelckers
99f1f0952a
- little bit of engine cleanup.
2021-02-25 12:16:21 +01:00
Mitchell Richters
f80570634f
- WHaven: Migrate lockclock
to backend solution.
2021-02-25 20:40:33 +11:00
Mitchell Richters
e5d4661d79
Merge branch 'master' into whaven
2021-02-25 20:35:26 +11:00
Mitchell Richters
4589f6f26d
Merge remote-tracking branch 'public/chasecam_unification'
2021-02-25 20:33:36 +11:00
Rachael Alexanderson
4c0591a25b
- port over -noautoexec
that I did from GZDoom
2021-02-21 11:12:19 -05:00
Mitchell Richters
1d48ac537a
- Exhumed: Replace original chasecam code with calcChaseCamPos()
within game.
2021-02-18 22:14:39 +11:00
Mitchell Richters
cff97c9cf3
- calcChaseCamPos(): Restore original algorithms for new position via GameInterface struct.
...
* Averaging out the values was a net negative for all games. Each games' original value is tuned to the specific games.
2021-02-18 21:47:39 +11:00
Mitchell Richters
ba57429ac6
- Blood, Duke & SW: Create new backend chasecam function and replace game-specific versions with it.
...
* Based off SW's implementation.
2021-02-18 21:47:37 +11:00
Mitchell Richters
2abda0e27d
- All Games: Migrate each game's clock counter to backend solution.
2021-02-18 21:47:33 +11:00
Mitchell Richters
7991dea49a
- WHaven: Fix ticrate.
2021-02-14 07:43:24 +11:00
Christoph Oelckers
14b7d65229
- Witchaven: Added 'give' CCMD and some basic cheats.
...
Most of WH2's cheats not done yet.
2021-02-13 11:47:04 +01:00
Christoph Oelckers
42e5e370c8
Merge branch 'master' into whaven
2021-02-13 10:07:25 +01:00
Christoph Oelckers
5aacb2370d
- fixed game resource lookup.
...
The algorithm was a bit too complicated and missed the smallest defined game resource.
GrpInfo was renamed because there were two of them which created a debugger conflict.
2021-02-13 10:07:18 +01:00
Mitchell Richters
266dab81cd
- WHaven: Use backend sprite interpolation methods.
2021-02-13 19:48:50 +11:00
Mitchell Richters
4e5ee86bd7
- WHaven: Interpolate weapon changing drop.
2021-02-13 19:00:40 +11:00
Mitchell Richters
16c0f88451
- WHaven: Interpolate weapon HUD bobbing/swaying.
2021-02-13 19:00:37 +11:00
Mitchell Richters
6390efe32e
- WHaven: Fix HUD weapon positioning.
2021-02-13 19:00:35 +11:00
Mitchell Richters
eef77e80f7
- Get whaven building now that submodules have been removed.
...
* Since all code is included in `all.cpp`, several identically named static functions have been renamed to avoid conflicts.
2021-02-13 19:00:27 +11:00
Mitchell Richters
5fc7c7b1d7
Merge branch 'master' into whaven
...
# Conflicts:
# source/CMakeLists.txt
# source/build/include/buildtypes.h
# source/common/utility/m_fixed.h
# source/core/console/c_notifybuffer.cpp
# source/core/gamecontrol.h
# source/core/inputstate.cpp
# source/core/version.h
2021-02-13 18:59:58 +11:00
Christoph Oelckers
c96e04e6c9
- backend update from GZDoom.
2021-02-12 14:44:54 +01:00
Christoph Oelckers
5b6aa372ea
- fixed autoaim check and adjusted presentation in the menu to be correct for all games.
...
Fixes #264
2021-02-06 10:56:11 +01:00
Christoph Oelckers
ba22df2a2a
- removed unused I_GetBuildTimeFrac function.
2021-02-03 12:18:58 +01:00
Christoph Oelckers
8e0c50c22c
- fixed: F2DDrawer::AddPoly was missing a texture validation check.
...
This caused problems when the automap wanted to render portal planes, which normally use an invalid texture as marker.
Fixes #263
2021-02-02 23:13:40 +01:00
Christoph Oelckers
cf672b508f
- removed unused 'updatesectorexclude' function.
2021-02-02 23:13:40 +01:00
Mitchell Richters
b1290448c5
- Duke: Slightly tune texty
in FullscreenHUD1()
to line it up perfectly.
2021-02-01 18:42:41 +11:00
Christoph Oelckers
8ffda1c9d1
- Duke: Calculate the true font height of the numbers for alignment in the Statusbar.
...
The original tiles are all 15 pixels tall, but depending on the games can vary in their true height, so use CheckRealHeight on them to get their true dimensions.
Fixes #250
2021-02-01 00:09:22 +01:00
Christoph Oelckers
30e8111979
- fix inventory selector positioning in WW2GI.
...
This must have abused some quirk of the original code to be this far off...
2021-01-30 23:51:50 +01:00
Christoph Oelckers
40593b866f
- WW2GI: fixed event numbering.
...
There is a typo in the CON files that assigns EVENT_AIMUP and EVENT_AIMDOWN the same number. The source did not replicate this which caused several events to call the wrong handler.
Fixes #252
2021-01-30 23:42:44 +01:00
Christoph Oelckers
a0be30facb
Revert "- Exhumed: Tune x offset alignment in DrawStatusAnims()
following changes in 220283d1ec3cba03f455bd96bcf130df777b5635."
...
This reverts commit c08583ebc1
.
This does not work as intended.
Fixes #261
# Conflicts:
# source/games/exhumed/src/status.cpp
2021-01-30 10:55:58 +01:00
sinisterseed
19e7419896
- Exhumed: Fixed key offsets.
...
An int can't store a float, effectively truncating to 0 and not holding the 0.5. Thanks MJ :) .
Partially addresses #262 - The Torch icon bouncing in the HUD still remains.
2021-01-30 11:50:33 +02:00
Mitchell Richters
f11501883d
- Exhumed: Make 3rd person camera properly interpolated.
2021-01-30 11:23:38 +11:00
Mitchell Richters
e66960d9fc
- Exhumed: Ensure ox/oy/oz sprite positions are set when warping to coordinates.
2021-01-30 11:22:46 +11:00
Christoph Oelckers
e7ab4cd176
- backend update from GZDoom.
2021-01-29 13:20:00 +01:00
Christoph Oelckers
7b72fccfa2
- fixed hires replacement code not to destroy the intended translation in case there is no replacement.
2021-01-29 13:08:26 +01:00
Mitchell Richters
c08583ebc1
- Exhumed: Tune x offset alignment in DrawStatusAnims()
following changes in 220283d1ec
.
2021-01-29 22:11:03 +11:00
Christoph Oelckers
52ba0461bc
- fixed hires lookup for tiles using special palettes.
...
In these cases the palette needs to be ignored and the base version picked. The proper handling for this case was undefined, working in some cases and not in others.
Fixes #247
2021-01-29 11:48:32 +01:00
Mitchell Richters
ff0be3079e
- m_fixed.h: Fix incorrect return type for MulScaleF()
originating from 8cf2588bad
.
2021-01-29 21:19:15 +11:00
Mitchell Richters
c267c214c2
- Duke: Repair jumping zvel issue originating from 5e45f988e3
for Duke and 1c5c90d00f
for RR.
...
* Thanks for backtracing, Graf :)
* Fixes #259 .
2021-01-29 20:00:15 +11:00
Christoph Oelckers
26c5d5aa32
- SW: fixed issue with autoselecting single episode entries with non-empty subtitles.
...
This case needs different offsets.
2021-01-27 23:53:26 +01:00
Christoph Oelckers
3163e4a799
- check for invalid tiles being passed to the 2D renderer.
...
Since mods can actually replace valid tiles with invalid ones, the low level render code needs to check this case.
2021-01-27 23:52:40 +01:00
Christoph Oelckers
8cf3e50ade
- removed bad 'pos' setup in PreDrawStackedWater
...
This was a) supposed to set 'opos' not 'pos' and is b) redundant because here both Users point to the same sprite.
Fixes #261
2021-01-25 18:07:49 +01:00
Christoph Oelckers
981a2c7e5c
- Exhumed: restored old static switch array.
...
There's side effects in here that broke the door logic and made doors automatically open sometimes.
2021-01-24 14:49:51 +01:00
Christoph Oelckers
1ab11a02e2
- RR: fixed player input for diving.
...
Fixes #260
2021-01-24 08:59:08 +01:00
Christoph Oelckers
7f75b2274f
- code updates from PCExhumed.
2021-01-19 09:44:16 +01:00
Rachael Alexanderson
47f0370512
- add some 21:9 presets
2021-01-18 06:25:04 -05:00