Christoph Oelckers
29de90beb6
- Duke: disable the 1.5 BigFont for languages using the Cyrillic or Greek alphabet
...
This font is incomplete, unlike the 1.3 variant, so for these languages use the font that can render them.
2023-02-11 10:43:09 +01:00
Mitchell Richters
f8035bb4ba
- Re-calculate the sector for each eye if it has a shift factor applied.
2023-02-06 19:55:46 +11:00
Mitchell Richters
2020860ffe
- For I_GetInputFrac()
, just have the caller check if input is synchronised.
2023-02-05 08:40:25 +11:00
Mitchell Richters
9961a66a1f
- Remove inputScale
global and make static in mainloop.cpp
.
2023-02-05 08:37:37 +11:00
Mitchell Richters
1938efabe6
- Fix bad return in scaletozero()
from 924b601199
.
2023-02-05 08:27:44 +11:00
Mitchell Richters
924b601199
- Change scaletozero()
to return true when back at 0 to save callers having to test angle's signum again.
2023-02-04 19:01:01 +11:00
Mitchell Richters
5fd4fbfde5
- Remove some leftover debug code.
2023-02-04 17:05:20 +11:00
Mitchell Richters
30de9c1922
- Factor in view pitch when clamping player's actor pitch.
2023-02-04 17:05:19 +11:00
Mitchell Richters
991ef5c27f
- Minor input tidy-up.
2023-02-04 17:05:18 +11:00
Christoph Oelckers
9783b8c402
- scriptified World Tour's flamethrowerflame.
...
The first of 3 mixed native/CON items which are the last things remaining in the main thinker loops.
2023-01-28 16:31:45 +01:00
Christoph Oelckers
acac74715f
partially Revert "- pass shade values to sky renderer"
...
This reverts commit 380864d6fb
.
The report this was supposed to address was bogus.
2023-01-28 09:21:53 +01:00
Rachael Alexanderson
2778ee72cd
- fix commit 532a726ae3
- i_pauseinbackground is not supposed to bypass menu/console pause
2023-01-27 03:02:13 -05:00
Christoph Oelckers
5ebce5afba
- fix last commit
2023-01-21 15:08:47 +01:00
Christoph Oelckers
dbef2f74d1
- print an error when a sound file cannot be found.
2023-01-21 14:51:43 +01:00
Christoph Oelckers
9379e873b3
- error out when encountering an unknown $ token in SNSINFO.
...
No need to preserve this insanity from old ZDoom times.
2023-01-21 09:34:25 +01:00
Christoph Oelckers
acfca3fbdc
- fixed SNDINFO parser to actually read new sound definitions.
2023-01-18 06:58:37 +01:00
Christoph Oelckers
3ab1ae5f7a
- allow setting Blood's relative volume hack value via SNDINFO.
2023-01-15 16:18:48 +01:00
Christoph Oelckers
bb7f00988a
- give Blood's sounds well defined names so they can be defined via SNDINFO.
2023-01-15 16:15:28 +01:00
Christoph Oelckers
841402a776
- allow setting loop points for WAV sounds or other simple formats.
2023-01-15 15:19:21 +01:00
Christoph Oelckers
f1c3a6548f
- use backend pitch features for Duke instead of replicating them on the game side.
2023-01-15 13:18:54 +01:00
Christoph Oelckers
8859712a7b
- copied $pitchset SNDINFO command from GZDoom.
2023-01-15 12:22:07 +01:00
Christoph Oelckers
8de7aa5975
- corrected error messages.
2023-01-15 12:14:47 +01:00
Christoph Oelckers
ad0bff921b
- allow setting Duke's relevant sound properties through SNDINFO.
2023-01-15 11:54:24 +01:00
Christoph Oelckers
fca0bdf379
- Backend update from GZDoom.
2023-01-15 09:30:01 +01:00
Christoph Oelckers
1bfccbcb6e
- explicitly destroy the AltHUD when exiting.
...
This is to avoid problems with the GC on shutdown.
2023-01-14 14:09:25 +01:00
Christoph Oelckers
6c3d03cd48
- fixed incorrect sector in a few sprites of World Tour E5L1.
2023-01-14 13:18:53 +01:00
Christoph Oelckers
b991af2dbc
- fixed incomplete statnum setup.
2023-01-09 23:39:20 +01:00
Christoph Oelckers
deaec2d91d
- disabled property-type definition of spritetype members.
...
As it turned out this is simply too dangerous - these should be left to be loaded from the map data or set manually.
All remaining setups using this feature have either been moved to Initialize or other meta properties that are not affected by map loading.
2023-01-08 16:45:09 +01:00
Christoph Oelckers
905a9bfeae
- backend update from GZDoom.
2023-01-07 19:30:49 +01:00
Rachael Alexanderson
532a726ae3
- respect i_pauseinbackground setting
2023-01-07 07:18:52 -05:00
Christoph Oelckers
cfef8c8a71
- ignore executable files in a zip's main folder when checking for mod content in a subdirectory.
2023-01-06 18:01:34 +01:00
Christoph Oelckers
32ce8a97bf
- SW: do not double interpolate sectors that are both part of a sector object but also have a global interpolation attached.
...
In this case the SO interpolation must be skipped. The only use case for this combination is sine-wave animated water.
2023-01-05 19:26:42 +01:00
Mitchell Richters
d59208ce74
- Default initialise g_nextskill
to -1
so maps loaded directly from the command line load with the game's default skill.
2023-01-05 20:57:14 +11:00
Christoph Oelckers
ad0860f4bf
- fixed sprite rendering being aborted if a sprite with invalid texture was encountered.
2022-12-29 14:53:21 +01:00
Christoph Oelckers
d064706f93
- got rid of wallpicnum and overpicnum.
...
All map geometry npw uses texture IDs and no longer depends on Build's tile system.
(What's missing is a new map format, though, but this was a necessary prerequisite to make that worthwile...)
2022-12-29 14:14:53 +01:00
Christoph Oelckers
90702ae2f5
- consolidated the animwall code by using texture flags.
...
This is way too hacky for generalization. For that newly defined control actors are surely a better option.
2022-12-29 14:14:53 +01:00
Christoph Oelckers
9bc0a43028
- fixed lookup for tile aliases pointing to non-existent tiles.
2022-12-29 13:33:02 +01:00
Christoph Oelckers
0d9fe83cba
- implemented the switch parser and set up the external definitions.
2022-12-29 13:32:29 +01:00
Kevin Caccamo
996e0ef6cf
Attempt to fix #806
...
Default-initialize TilesetBuildInfo `info`.
Also, make every function in defparser.cpp static except for loaddefinitionsfile, since that's the only function which is called from other source files.
2022-12-22 22:14:13 +01:00
Christoph Oelckers
ef7c72ce9f
- Blood: add all statically stored EventObjects to the GC processor.
2022-12-18 17:54:54 +01:00
Christoph Oelckers
21d4aae182
- fixed lookup for tile aliases pointing to non-existent tiles.
2022-12-18 15:19:35 +01:00
Christoph Oelckers
8c41294cb0
- overpicnum lightening.
...
Especially make sure that it is never set to tile 0. There seems to have been some undefined behavior here treating 0 as 'no texture', but doing so inconsistently.
2022-12-18 15:13:22 +01:00
Christoph Oelckers
79c91b2538
- only write special texture properties if they are being defined.
2022-12-18 15:06:20 +01:00
Christoph Oelckers
a9ea2cd5c0
- moved GetReservedScreenSpace function into the scripted status bar where it belongs.
...
Since this is supposed to return the height of the status bar, keeping it native is a bit pointless as it cannot be modified that way.
2022-12-18 14:47:38 +01:00
Mitchell Richters
b4f6ea6232
- Fix linking errors.
2022-12-18 14:47:32 +01:00
Christoph Oelckers
e78fd90f67
- adapted sky code for using texture IDs.
2022-12-18 14:42:27 +01:00
Christoph Oelckers
8dfbbc8220
- migrated floorpicnum and ceilingpicnum to FTextures.
...
The sky code still needs some work.
2022-12-18 14:32:52 +01:00
Christoph Oelckers
622710ede4
- migrated all uses of floorpicnum.
...
This necessitated a few more surface type definitions.
2022-12-18 14:02:56 +01:00
Christoph Oelckers
4a306a21dc
- split several texture flags off into a surface type value.
...
Using the same field in the TexExtInfo struct as Blood's surfType.
This frees up a lot of flags for later use.
2022-12-18 13:56:54 +01:00
Christoph Oelckers
5b8dd84361
- use setceilingtexture where textures are simply copied around
2022-12-18 13:52:10 +01:00
Christoph Oelckers
ee8b685fe2
- adapted the breakable stuff interface in Duke to Texture IDs.
2022-12-18 13:52:03 +01:00
Christoph Oelckers
5147826eeb
- consolidated precaching code and rewrote the core to work on texture IDs.
2022-12-18 13:37:54 +01:00
Christoph Oelckers
1a6f808fca
- refactored all access to the fake picanm[] array.
...
Also use symbolic names in precache calls in Blood.
2022-12-18 13:26:29 +01:00
Christoph Oelckers
e23a5095cb
- moved the other tile info tables of Blood to the texExtInfo array as well.
...
The two fields are easily reusable for the other games so it's a welcome simplification.
2022-12-18 13:23:59 +01:00
Christoph Oelckers
c34756e5f2
- cleanup of voxel init code.
...
The voxreserve array was never properly set up so it is gone now.
nextvoxid now gets set right before loading .def files.
2022-12-18 13:18:44 +01:00
Christoph Oelckers
8a789b9015
- voxel management cleanup.
...
Moving the voxel index into the texExtInfo array and removing most of Blood's and SW's special handling.
2022-12-18 13:18:43 +01:00
Christoph Oelckers
be2112a507
- fixed ESC pressing on Duke's monitors.
...
This got busted by an update from GZDoom.
2022-12-18 13:06:09 +01:00
Christoph Oelckers
6ff91f8ebc
- disable the freelist management for discarded tiles.
...
This does not work as implemented - may be checked out later, but this is not essential.
2022-12-18 13:06:09 +01:00
Christoph Oelckers
20edd800f9
- big texture system refactor.
...
Finally that quickly slapped together BuildTiles class is gone and replaced with something that better integrates with the underlying texture manager
2022-12-18 13:05:58 +01:00
Mitchell Richters
6e4e2b04eb
- Fix pitch direction for controller input.
2022-12-15 08:42:43 +11:00
Christoph Oelckers
d5414da096
- added a - sign to FindBestSector' default return.
...
This somehow get lost when the code was moved out of clipmove into a separate utility function.
2022-12-14 11:48:34 +01:00
Mitchell Richters
c3f276a08a
- Tidy up remaining Build angle constants in gamefuncs.h
.
2022-12-11 19:46:27 +01:00
Mitchell Richters
de8353f085
- Eliminate BAngToDegree
constant.
2022-12-11 19:46:26 +01:00
Mitchell Richters
67b40ee1d5
- Convert angle in hud_drawsprite()
to work on true degrees, and in the right direction.
2022-12-11 19:46:26 +01:00
Christoph Oelckers
bea6834f8e
- code cleanup.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
3874cf365c
- use TEXMAN_ForceLookup where it was missing.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
c1abd6fe22
- rewrote drawtile CVAR handling to render the image larger and allow using aliases.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
97d76a01e4
- SW: do a proper implementation for sprites which do not want texture animations.
...
Instead of hacking the picanm table it is far more preferable to flag the sprite as non-animating and let the renderer handle it.
2022-12-11 19:45:38 +01:00
Christoph Oelckers
58db09969c
- moved tileForName out of BuildTiles.
...
Just pulling one change out of the big upcoming refactor commit.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
630276f7e0
- migrated texture flags parsing from .def to RMAPINFO.
...
This was the final piece of non-tile-related data to be in there.
.def should be restricted to existing use cases concerning setup of render data, not for game content.
2022-12-11 19:45:18 +01:00
Christoph Oelckers
0bacb05c1b
- wrapped hiofs in a getter function.
...
This makes it a lot easier later to refactor.
2022-12-11 19:45:01 +01:00
Christoph Oelckers
aa58b152ab
- use a TArray in BuildTiles for the tile descriptors.
...
For some reason MSVC wants to put this in the EXE now and the array is quite large.
2022-12-11 19:45:00 +01:00
Christoph Oelckers
71ca2c4677
- eliminate the last remaining references to the tile manager in the core renderer files.
...
The only thing left is the sky which needs more refactoring first and the tileUpdatePicnum call for sprites which cannot be resolved by the texture manager because Blood has a randomization factor included here.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
e26d9106aa
- handle all occurences of tileWidth and tileHeight using spritetypebase::picnum.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
f479f995a1
- transitioned all tileLeftOffset and tileTopOffset calls to use the texture manager.
2022-12-11 19:44:01 +01:00
Christoph Oelckers
0869497ecb
- rewrote the tile pixel cache to work on texture IDs instead of tile IDs.
...
This allows using the related checking features with other textures as well.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
a6db974a62
- refactored Blood's tile property arrays to texture IDs.
...
The data structure here can be optimized later when the other games get to the same point, but this allows to rid Blood of all references to wallpicnunm, floorpicnum and ceilingpicnum except one place in the precacher.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
4ecb4aacb2
- mark all return values from the texture() getters as const.
...
This is necessary to evade C++ stupidity which happily allows assignment to non-const struct type return values and won't even warn about it.
As const these will throw an error when that happens.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
63c1630cda
- more texture wrappers and minor cleanup.
2022-12-11 19:44:00 +01:00
Christoph Oelckers
e5225e98e0
- migrated SW's portal setup code to texture IDs.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
9879aa90a6
- more texture handling cleanup.
...
Most of the renderer now bypasses the tile manager and goes directly to the low level texture manager.
The gotpic array was removed and replaced by a new texture flag. Since there are only 3 places in the entire code that check this, this is a lot easier to handle.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
868fece7f6
- using texture IDs in a few more places where it is simple.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
f4bda94dad
- added tileGetTextureID and tested it with Blood's mirror/portal setup code.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
bfef616981
- let tileDelete create a new null texture instead of using the default one.
...
This is to ensure that marker textures are still unique.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
028cf2daf5
- added access wrappers for getting texture IDs from the map and used that to rid a large chunk of the renderer of direct tilenum access.
2022-12-11 19:43:59 +01:00
Christoph Oelckers
49f87e6227
- got rid of gotpic.
...
Now everything uses the 'seen' flag in the texture which indicates that the texture was actually used for hardware rendering since the last check.
It's also only the 3 places checking this flag which are responsible for clearing it.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a0722c55ea
- removed canvas hack stuff from Buildtiles after cleaning up the mess in SW.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
ede5b017ab
- renamed walltype::picnum to wallpicnum for easier searching.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
51ad64f71e
- initialize all special tiles to their intended type before starting the game.
...
This ensures that we have an immutable mapping of tile number to texture ID now.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
faeb19a485
- do the handling of 90° rotated wall textures in the renderer instead of duplicating the texture.
...
Aside from less resource use this also works with hires replacement - which the old code was incapable of.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
6a690849e6
- cleanup on the tile management.
...
* removed the long defunct EDuke32-based map art system. With our move to named textures this will not work anymore so fixing the existing problems would be pointless.
* moving .def related parsing stuff out of buildtiles.cpp.
* some initial refactoring to make the tile store a static, non-modifyable resource after initial setup.
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a08db47528
- exported all breakable ceilings.
...
Very simple stuff with instant profit. :)
2022-12-11 19:43:58 +01:00
Christoph Oelckers
a63ee8079a
- implemented customizable breakable walls and ported all hard coded variants to use this.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
9e3318a2fb
- moved spawnclasses and breakwall definitions from .def to RMAPINFO.
...
.def is not the right place for this - it needs to run very early in the process, before scripted actors are loaded, so doing this stuff there means that half the initialization has to be postponed and error reporting is sub-par.
These are now part of RMAPINFO which gets parsed as one of the very last things - it is also where GZDoom is doing some of these things.
The better error reporting also allowed fixing some errors in these definitions.
2022-12-11 19:43:57 +01:00
Christoph Oelckers
c1a09196f0
- implemented breakable walls with external definitions.
...
The scripted case does not work yet due to bad loading order of files.
2022-12-11 19:43:57 +01:00
Mitchell Richters
ba3e8a9842
- Change most input constants to be doubles, and not DAngle objects.
...
* These are base scales that when divided by the game's ticrate, become degrees of angle. Too confusing...
* 3x genuine degree values remain.
2022-12-11 19:43:56 +01:00
Mitchell Richters
2c592405fa
- Separate pitch/yaw key input into separate functions and apply from the ticker.
2022-12-11 19:43:56 +01:00
Mitchell Richters
470b4efac8
- Remove PlayerAngles::setYaw()
method usage and remaining associated code.
2022-12-11 19:43:56 +01:00
Mitchell Richters
f58e3c58aa
- Remove PlayerAngles::setPitch()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
491a42d2bb
- Remove PlayerAngles::addYaw()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
7a7758efaa
- Remove PlayerAngles::addPitch()
method usage.
2022-12-11 19:43:56 +01:00
Mitchell Richters
968d0ae0d2
- Implement new scaled angle change setup and remove enforcement of synchronised input.
2022-12-11 19:43:55 +01:00
Mitchell Richters
15b101870d
- Completely remove current scaled angle change setup.
...
* During this transition, temporarily enforce synchronised input at all times.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
4078c6d6bd
- converted several of RR's static init sprite types to the class system.
2022-12-11 19:43:55 +01:00
Christoph Oelckers
23640988db
- define several of RR's fullbright decorative sprites via spawnclasses remapping.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
bdc474d04f
- scriptified all remaining Duke actors with specific init code and no CON part.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
cbb3b0ebfb
- preparations for the next script exports.
2022-12-11 19:43:53 +01:00
Christoph Oelckers
e6c466fcba
- scriptified several of Duke's destructible items.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
dc06a93a4f
- scriptified RR's UFO teleporter.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
5a155730b4
- scriptified RR's bowling stuff.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
9ad8f67ce9
- added isEffector inline and exported NATURALLIGHTNING which got a bit in the way.
2022-12-11 19:43:52 +01:00
Christoph Oelckers
be6ead173a
- scriptified several smaller actors
2022-12-11 19:43:51 +01:00
Christoph Oelckers
0dc526899b
- scriptified FrameEffect
2022-12-11 19:43:51 +01:00
Christoph Oelckers
ff6a9b89ac
- scriptified the green slimer.
2022-12-11 19:43:51 +01:00
Christoph Oelckers
e69772637c
- define Duke's skies by name.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
4397e65443
- cleaned up the generic destructible code and used it for several more things.
2022-12-11 19:43:50 +01:00
Christoph Oelckers
15fb7dab35
- virtualized the 'shoot' interface and scriptified the bloodsplats to test it.
...
This calls virtual functions on the actor defaults now to allow writing specific shoot functions for subclasses.
2022-12-11 19:43:48 +01:00
Christoph Oelckers
8a921c98bd
- scriptified ooz.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
9d1384449c
- scriptified the Recon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
2ab5e63386
- added a few new actor flags.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
6d9a8bfaa5
- scriptified the pool balls.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
1ef61c8588
- exported a bunch of stuff we're going to need soon.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
dbb7965550
- added two new flags for later use.
2022-12-11 19:43:46 +01:00
Christoph Oelckers
1d52963d4b
- converted all simple destructible sprites.
...
Ironically the first item I used for testing needed a dedicated class, so here's that, too...
2022-12-11 19:43:46 +01:00
Christoph Oelckers
9e29c3970d
- generic destructibles
2022-12-11 19:43:45 +01:00
Christoph Oelckers
3ac8bd02f5
- scriptified the jibs
2022-12-11 18:46:40 +01:00
Christoph Oelckers
006f1b3fdf
- disabled the message for missing sprite set textures.
2022-12-11 18:42:02 +01:00
Christoph Oelckers
67e807de26
- exported the tile flag setters to .def.
2022-12-11 18:42:01 +01:00
Christoph Oelckers
5a2819239c
- moved Duke's tile flags into the tile manager.
...
This is so that .def can access them. Later the other games also might make use of this.
2022-12-11 18:42:01 +01:00
Mitchell Richters
bb1113c251
- Remove the whole angle locking concept, we can just force synchronised input instead which is cleaner.
2022-12-11 18:42:01 +01:00
Mitchell Richters
6c0493868e
- Implement new method for applying scaled angle changes.
...
* This method works more accurately to how an angle change would occur under interpolated circumstances.
2022-12-11 18:42:01 +01:00
Mitchell Richters
5a8612110d
- Process scaled angle adjustments in each game's render function, not from the input function.
...
* Previous config had the potential to call `I_GetInputFrac()` nearly twice in a row, which would have resulted in some hitching.
* Calling from each game's render function avoids the above and means we can start applying scaled angle changes one frame faster.
2022-12-11 18:42:01 +01:00
Mitchell Richters
2a284c73c9
- SW: Remove all remaining angle wrapper usage and the wrappers themselves.
2022-12-11 18:42:00 +01:00
Mitchell Richters
1aad5eacfa
- Remove all remaining legacy wrappers.
2022-12-11 18:42:00 +01:00
Mitchell Richters
a7a5d4b946
- Preserve one legacy getter that's needed extensively in Duke.
2022-12-11 18:42:00 +01:00
Mitchell Richters
cca36b8061
- Make legacy weapon drawers in PlayerAngles local to Redneck code, they will eventually go.
2022-12-11 18:42:00 +01:00
Mitchell Richters
318ff64f36
- Allow passing angle through when drawing the generic crosshair.
2022-12-11 18:42:00 +01:00
Mitchell Richters
e972818db5
- Tidy up modern crosshair/weapon offset drawers.
2022-12-11 18:41:59 +01:00
Mitchell Richters
25de63ffb5
- Cleanup of render draw code to use new angle getter.
2022-12-11 18:41:59 +01:00
Mitchell Richters
599a375d67
- Rename DCoreActor::interpolatedangle()
to DCoreActor::interpolatedyaw()
2022-12-11 18:41:59 +01:00
Mitchell Richters
abdeeac205
- Rework PlayerAngles::doViewPitch()
to apply at ticrate like PlayerAngles::doViewYaw()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
fdcf8bbe2f
- Reorder variables in getscaledangle()
.
2022-12-11 18:41:59 +01:00
Mitchell Richters
f9aeee5b4a
- Split out view angle stuff out of PlayerAngles::applyYaw()
into PlayerAngles::doViewYaw()
.
...
* Do all the view angle stuff as interpolated changes in the playsim as well, there's no need for these to be done at ticrate.
2022-12-11 18:41:59 +01:00
Mitchell Richters
2b9e3f804d
- Remove wrapper usage within gameinput.cpp.
2022-12-11 18:41:59 +01:00
Mitchell Richters
d7d76d5fc4
- Move all PlayerAngles view angle properties into new DRotator objects.
2022-12-11 18:41:58 +01:00
Mitchell Richters
175b182805
- Invert rotscrnang
so it rolls forward, consistent with all other angles.
2022-12-11 18:41:58 +01:00
Mitchell Richters
bef4536c1f
- Remove old PlayerAngles
backup/restore methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
630c10856e
- Re-write PlayerAngles
scaled adjustment methods.
2022-12-11 18:41:58 +01:00
Mitchell Richters
24ec58f4e6
- Change wrapper internals for previous yaw to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
a84e09048e
- Change wrapper internals for current yaw to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
16a48cba17
- Change wrapper internals for previous pitch to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
7f5b97a0b7
- Change wrapper internals for current pitch to the actor's sprite DRotator and make sure all the games load a level.
2022-12-11 18:41:57 +01:00
Mitchell Richters
850c988dfa
- Wrap access to previous yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
be466fec8d
- Wrap access to current yaw.
2022-12-11 18:41:57 +01:00
Mitchell Richters
fd05d320ff
- Wrap access to previous pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
15f1d89855
- Wrap access to current pitch.
2022-12-11 18:41:56 +01:00
Mitchell Richters
60a97f781e
- Add DCoreActor
pointer as PlayerAngles::pActor
, setting and nulling where the player's actor is set.
2022-12-11 18:41:56 +01:00
Mitchell Richters
b9f5bb71cc
- Merge PlayerHorizon
and PlayerAngle
structs into PlayerAngles
struct.
2022-12-11 18:41:56 +01:00
Mitchell Richters
d75ac9e445
- Rename PlayerAngle
prototypes in preparation for replacement work.
2022-12-11 18:41:56 +01:00
Mitchell Richters
9b6f01dff0
- Rename PlayerAngle
private members in preparation for replacement work.
2022-12-11 18:41:56 +01:00
Mitchell Richters
353c2a20fd
- Rename remaining PlayerAngle
methods.
2022-12-11 18:41:55 +01:00
Mitchell Richters
f305fbb370
- Rename PlayerAngle
getters in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
a061f2baef
- Rename PlayerAngle::spin
to its destined final name.
2022-12-11 18:41:55 +01:00
Mitchell Richters
a42750f37f
- Rename PlayerAngle::orotscrnang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
7d34288290
- Rename PlayerAngle::rotscrnang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
3a0ec29c18
- Rename PlayerAngle::olook_ang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
644cf82238
- Rename PlayerAngle::look_ang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
50cf22ec53
- Rename PlayerAngle::oang
in preparation for replacement work.
2022-12-11 18:41:55 +01:00
Mitchell Richters
bd063de5f5
- Rename PlayerAngle::ang
in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
d810afa2e9
- Rename PlayerHorizon
prototypes in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
b38f9a8779
- Rename PlayerHorizon
private members in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
9ab8db04db
- Rename remaining PlayerHorizon
methods.
2022-12-11 18:41:54 +01:00
Mitchell Richters
3758d93ad8
- Rename PlayerHorizon
getters in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
723631cc81
- Rename PlayerHorizon::ohorizoff
in preparation for replacement work.
2022-12-11 18:41:54 +01:00
Mitchell Richters
216fad7e18
- Rename PlayerHorizon::horizoff
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
0c53990c87
- Rename PlayerHorizon::ohoriz
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
401a829d54
- Rename PlayerHorizon::horiz
in preparation for replacement work.
2022-12-11 18:41:53 +01:00
Mitchell Richters
901000bee5
- Change DCoreActor::oang
to a DRotator named PrevAngles
.
2022-12-11 18:41:53 +01:00
Mitchell Richters
2e0b9490e1
- Change spritetypebase::angle
to a DRotator named Angles
.
...
* Major pre-requisite for the next steps I'm undertaking, let's get it into the branch now.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
52e5e2f59a
- use a sepate file system filter for 'duke-like' games, i.e. Duke, NAM and WW2GI combined.
...
These 3 all require the same SNDINFO being loaded.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
797c122363
fixed the sound controller's sound selection.
...
In this case the game-side resource ID was silently cast to a sound ID but it needs explicit conversion.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
a825dfb8ca
- Duke sound is working again.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
f103e33300
- fixed code up to the point where everything compiles again. Duke sounds are currently non-functional.
...
All Duke script code has been changed to use strings as sound names now, just like GZDoom these will be looked up at compile time.
Original Duke sound indices still exist but are now being managed as resource IDs, not sound engine indices anymore.
2022-12-11 18:41:51 +01:00
Christoph Oelckers
4983f8e671
wipstuff
2022-12-11 18:41:51 +01:00
Mitchell Richters
7e6bc02d45
- Make stat coord
show full floating point values.
2022-12-11 18:41:51 +01:00
Christoph Oelckers
1ac4aee0c1
- RR cactus stuff
2022-12-11 18:41:50 +01:00
Mitchell Richters
e55412f240
- Remove DCoreActor::ZeroVelocity()
.
2022-12-11 18:41:45 +01:00
Mitchell Richters
39d1a758ed
- Remove DCoreActor::ZeroVelocityXY()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
7dd5cdb86c
- Get rid of 2x unnecessary scope change calls on interpolatedvalue()
calls.
2022-12-11 18:41:44 +01:00
Mitchell Richters
4de1b8ad86
- Create DCoreActor::getRenderPos()
and use within Duke.
2022-12-11 18:41:44 +01:00
Mitchell Richters
d1c5f9516f
- Duke: Remove player_struct::posoldAdd()
and player_struct::posoldGet()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
f10f1b9154
- Duke: Remove player_struct::posoldZset()
and player_struct::posoldZget()
.
2022-12-11 18:41:44 +01:00
Mitchell Richters
27be72c7ec
- Duke: Remove player_struct::posGet()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
b42672dcf9
- Duke: Remove player_struct::posZget()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
78b04649f1
- Duke: Remove player_struct::posZset()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
6f102e1171
- Duke: Remove player_struct::posX()
and player_struct::posY()
.
2022-12-11 18:41:43 +01:00
Mitchell Richters
6eeedbd38a
- Duke: Move player_struct::restorexyz()
to DCoreActor::restorepos()
.
2022-12-11 18:41:42 +01:00
Mitchell Richters
abd6275f17
- Add new double DCoreActor::viewzoffset
set in spawning code during level loads.
...
* Interpolated backup copy isn't needed for Duke, but will be for SW.
2022-12-11 18:41:41 +01:00
Mitchell Richters
e9dcffc5ec
- Duke: Route all clipmove()
/pushmove()
calls through a new interface that accepts a separated Z coordinate.
2022-12-11 18:41:39 +01:00
Christoph Oelckers
0741570ba9
- we're past 1.6 now.
2022-12-11 18:31:07 +01:00
Christoph Oelckers
e412a34f4e
- bump savegame version.
2022-12-11 16:31:00 +01:00
Mitchell Richters
c762505b02
- Use the game's display name for defaultiwad
, not the filename.
...
* Add-ons don't have a FileName entry, but everything has a display name therefore all bases are covered.
* Fixes #616 .
2022-12-11 17:02:36 +11:00
Mitchell Richters
33975a083f
- Draw crosshair at 1:1 scale when crosshairscale
is 0, just like GZDoom.
...
* Fixes #767 .
2022-12-11 16:16:16 +11:00
Christoph Oelckers
7d82ae28f4
- Duke/RR: fixed: animates array must be cleared on map change.
...
There was also some undefined behavior when an entry was deleted, this seems to originate from the original code.
2022-12-10 10:20:01 +01:00
Mitchell Richters
dc41057984
- In SetupGame()
, test userConfig.DefaultCon
before userConfig.gamegrp
so addons work properly.
2022-12-10 10:48:34 +11:00
Mitchell Richters
25460e8e98
- Fix change to constant in last commit.
...
* How did that little `3` not make it in...
2022-12-09 20:00:37 +11:00
Mitchell Richters
2a82ef85b8
- Minor optimisation to the return to centre code.
2022-12-09 18:00:56 +11:00
Mitchell Richters
92bf00d3e9
- Fix incorrect sector usage in calcviewpitch()
.
2022-12-09 17:48:26 +11:00
Mitchell Richters
1772238653
- Fix incorrect value for PITCH_HORIZOFFSPEED
input constant.
2022-12-07 15:21:52 +11:00
Mitchell Richters
df63e5411b
- Fix incorrect sign for PITCH_HORIZOFFCLIMB
input constant.
2022-12-07 13:11:59 +11:00
Mitchell Richters
a6cfdea480
- Improved weapon drawing, based on the new crosshair drawing offset code, starting with Duke's pistol.
2022-11-30 10:03:52 +01:00
Mitchell Richters
ef52694365
- Improved crosshair drawing that factor's in look_ang better I've had stashed away for a little bit.
2022-11-30 10:03:52 +01:00
Mitchell Richters
5a698fbc2b
- Use DAngle::fromRad()
method in maphoriz()
.
2022-11-29 21:01:42 +11:00
Christoph Oelckers
229ee3dbe4
Revert "- did a few checks with the compatibility optioned slope adjustment and decided to enable it unconditionally."
...
This reverts commit 6636064d1f
.
As it turned out this is not a benign change. It breaks accessibility to a key in RR-Route 66's slaughtr.map - and it's reasonable to assume if it breaks one map it may break others as well.
2022-11-26 16:47:02 +01:00
Christoph Oelckers
9219d24535
- removed unneeded WantEscape function from backend interface.
2022-11-24 17:57:40 +01:00
Christoph Oelckers
ed4f49ac86
- fixed sound code for backend update.
2022-11-24 17:46:39 +01:00
Christoph Oelckers
13e19bad36
- fixed handling of bad class assignment to map picnums.
2022-11-24 08:12:18 +01:00
Christoph Oelckers
b069904be1
- scriptified the remaining controller sprites.
2022-11-20 13:57:51 +01:00
Christoph Oelckers
cb005062cd
- scriptified activators and locators.
2022-11-20 12:43:24 +01:00
Christoph Oelckers
9fa2fb75cf
- scriptified the respawn controller.
...
This also handles one special RRRA controller which was just easier to scriptify right away than temporarily work around it.
2022-11-20 11:58:19 +01:00
Christoph Oelckers
f467e72ac2
- only print texture resolve errors in debug builds.
...
Otherwise this will print warnings when resolving content for different games.
Needs to be done differently later, but right now the messages are needed for debugging.
2022-11-20 09:35:59 +01:00
Christoph Oelckers
f515939fde
- scriptified the sound controller.
2022-11-20 08:46:49 +01:00
Christoph Oelckers
714a2ef70e
- scriptified canwithsomething, the last internal STAT_STANDABLE item.
2022-11-19 19:01:17 +01:00
Christoph Oelckers
c6b3cf3e0a
- Duke: fixed long standing problem that pressing Escape or walking backwards does not switch off the camera view.
2022-11-19 18:26:17 +01:00
Christoph Oelckers
046ba1ae0c
- scriptified touchplate
2022-11-19 15:40:35 +01:00
Christoph Oelckers
15cd80cad3
- scriptified the waterdrip
2022-11-19 15:40:09 +01:00
Christoph Oelckers
11acb92553
- scriptified the bolts.
2022-11-19 12:54:50 +01:00
Christoph Oelckers
9cf6f5dabc
- fixed handling of actor defaults.
...
Order of application with map sprites was not correct.
This also simplifies how the defaults are stored - the separate data is gone, they now use the regular defaults.
2022-11-19 11:24:47 +01:00
Christoph Oelckers
5ae7011e41
- converted the masterswitch.
2022-11-19 11:24:39 +01:00
Christoph Oelckers
b106fb693a
- scriptified OozFilter + Seenine
...
Also fixing the default handling for onHit.
2022-11-17 21:46:24 +01:00
Christoph Oelckers
8ce358fc24
- scriptified the trip bombs.
2022-11-17 18:38:25 +01:00
Christoph Oelckers
133cb3a02e
- moved all CoreActor exports to vmexports.cpp.
2022-11-17 08:46:08 +01:00
Mitchell Richters
d3217a3e54
- Fix issues with scripted actors, namely the crane which was non-operable.
2022-11-16 16:14:48 +11:00
Christoph Oelckers
043e005363
- fixed bad index in pushmove.
2022-11-16 00:08:37 +01:00
Christoph Oelckers
6b3e57fd2c
- added 'foreach' loop to ZScript.
...
Syntax:
foreach(variable : array)
{
}
the variable's type is automatically deducted.
2022-11-15 21:29:04 +01:00
Christoph Oelckers
dc9451d584
- renamed global 'wall' and 'sector' arrays to 'walls' and 'sectors' for ZScript.
...
This avoids problems with name hiding.
2022-11-15 20:09:36 +01:00
Christoph Oelckers
f7fafabba0
- reordered walltype to reduce its size.
2022-11-15 15:54:21 +01:00
Christoph Oelckers
42e02d2956
- eliminated firstWall as well.
2022-11-15 15:44:33 +01:00
Christoph Oelckers
5798fa067f
- cleaned up all -> accesses through firstWall().
2022-11-15 15:33:35 +01:00
Christoph Oelckers
af60408e63
- sector wall access cleanup.
...
lastWall was only used twice and firstWall() + index can be done better now.
2022-11-15 15:31:52 +01:00
Christoph Oelckers
7d9a4ea70d
- eliminated wallsofsector.
2022-11-15 15:24:17 +01:00
Christoph Oelckers
84b17a8a53
- eliminate wall_count.
2022-11-15 14:59:28 +01:00
Christoph Oelckers
bfae5ce1bc
- use a TArrayView to store the wall references in a sector.
...
This is a lot more scripting friendly than hacking around the indices.
2022-11-15 14:53:39 +01:00
Christoph Oelckers
9a676ffba6
- use local variables for wall_index wherever possible.
2022-11-15 14:15:46 +01:00
Christoph Oelckers
34333302f9
- wrapped all reading wallptr references.
2022-11-15 12:37:14 +01:00
Christoph Oelckers
c23db8ea35
- wrapped all reads of sectortype::wallnum and renamed all other wallnum variables.
2022-11-15 12:21:21 +01:00
Christoph Oelckers
b7a7584059
- renamed wallnum and sectnum functions.
...
These were creating a lot of search noise because local variables had the same name.
2022-11-15 12:03:44 +01:00
Christoph Oelckers
a2683559ce
- refactored Duke's cactus.
2022-11-15 10:44:06 +01:00
Christoph Oelckers
d253468b22
- scriptified the scraps.
...
A Duke-ish mess of epic proportions.
2022-11-15 00:06:21 +01:00
Christoph Oelckers
5aac77784a
- fix construction of FActorInfo.
...
For some reason this lost the copy constructing part from GZDoom resulting in bad data.
2022-11-14 18:15:58 +01:00
Christoph Oelckers
ef6c39ec55
- added a CVAR that allows drawing any tile to the top of the screen.
...
For quick examination of tiles.
2022-11-14 12:08:02 +01:00
Christoph Oelckers
660c546266
- actor interface fixes.
2022-11-13 18:51:23 +01:00
Christoph Oelckers
53e43d6d1e
- CoreActor setposition natives.
2022-11-13 08:59:07 +01:00
Christoph Oelckers
c32a695384
- DukeActor scriptification framework.
2022-11-13 08:55:20 +01:00
Christoph Oelckers
ac4be79e96
- implemented cl_weaponswitch for Duke.
2022-11-12 09:34:08 +01:00
Christoph Oelckers
6a6e9299ca
- added missing returns in the failure cases of useitem and slot CCMDs.
2022-11-10 07:41:20 +01:00
Mitchell Richters
817a0cb94a
- Clamp applied mouse input to be within safe ranges to interpolate with.
...
* Input greater than 180 degrees in a single tic can cause the input to be applied backwards.
2022-11-07 19:38:22 +11:00
Mitchell Richters
9fbe564327
- Fix bad if statement guarding cl_clampedpitch
in menu and make non-global.
2022-11-07 15:43:26 +11:00
Christoph Oelckers
912b6a47c1
- migrate cl_savedir to save_dir
2022-11-06 17:48:32 +01:00
Mitchell Richters
33d74c9009
- Default display of map name in SW to be off by default.
2022-11-06 21:59:07 +11:00
Mitchell Richters
11f279fddd
- Slight input code tidy-up.
2022-11-06 21:59:07 +11:00
Mitchell Richters
033e0ea7bc
- Make rotscrnang return to zero at same speed as look_ang.
2022-11-06 21:59:07 +11:00
Mitchell Richters
33e2de70a2
- Duke: Pitch-adjusted velocity for shootrpg()
when free-aiming.
2022-11-06 21:59:04 +11:00
Mitchell Richters
7f124eef58
- Adjust chase-cam code to work in a pitch-corrected capacity.
2022-11-06 21:59:04 +11:00
Christoph Oelckers
41fc5660e5
- Backend update from GZDoom
...
* IQM enhancements
* config storage in Users
* moving of savegame filename generation to the backend
2022-11-06 11:46:26 +01:00
Christoph Oelckers
73deae88ce
- fixed neartag's trace vector maintenance for sprite hits.
...
The trace vector needs to be shortened so that further checks only find items in front of the sprite.
2022-11-04 13:23:01 +01:00
Christoph Oelckers
93ca75e146
- got rid of the two intermediate functions between clipmove_tweak_pos and InterceptLineSegments.
2022-11-01 09:55:24 +01:00
Christoph Oelckers
01c114787c
- eliminated the deprecated integer wrapper for 'inside'.
2022-11-01 08:38:40 +01:00
Christoph Oelckers
0e113dab79
- added true level compatibility map processing and deleted all related map hack code.
2022-10-31 10:45:47 +01:00
Christoph Oelckers
6586868cb8
- added the framework for scripted level compatibility patching.
2022-10-30 16:51:41 +01:00
Christoph Oelckers
0f57685f48
- updatesector interface cleanup.
2022-10-30 16:51:41 +01:00
Christoph Oelckers
0c87bcb91b
- renamed getzsofslopeptr to calcSlope and removed one redundant inline.
2022-10-30 16:51:40 +01:00
Christoph Oelckers
ce4a6fc7e3
- split off one part of clipmove into a utility function.
2022-10-30 16:51:40 +01:00
Christoph Oelckers
32b2e84fdc
- added episode and total episode time display to alt HUD
2022-10-30 16:51:40 +01:00
Christoph Oelckers
562c1a18c8
- integrate hud_althud into hud_size
...
This makes it easier to use and avoids rendering a fullscreen hud on a screen size with view border.
2022-10-30 16:51:39 +01:00
Mitchell Richters
914bec7d65
- Deduct the minimum angle epsilon from unclamped pitch ranges.
2022-10-30 16:51:39 +01:00
Christoph Oelckers
e3254a8546
- fixed an edge case in cansee where an actor placed directly on a two-sided wall would fail to register that wall's back sector.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
ff71ab14ce
- added a GZDoom-style alternative HUD.
...
So far only implemented for Blood.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
a0f18c360a
- made some minor edits to clipmove to get rid of a few deprecated wrapper functions.
2022-10-30 16:51:37 +01:00
Christoph Oelckers
14769e9b79
- reroute cliptestsector to checkOpening.
...
This required adding one more check for the 'precise' mode.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
40271e15b3
- minor tweaks to checkOpening
...
mainly some extensions to let it replace cliptestsector.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
2190499d63
- pushmove rewritten.
2022-10-30 16:51:36 +01:00
Christoph Oelckers
902f8c9706
- silenced lots of warnings for deliberate type conversions.
...
The ones in d_net.cpp are not in active code.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
5f50ee5204
- updated CoreActor’s script exports.
2022-10-30 16:51:35 +01:00
Christoph Oelckers
3c6b64d621
- renamed everything back
2022-10-30 16:51:33 +01:00
Christoph Oelckers
81341ce4a6
- unwrapped SetScale as well.
...
Again no edits here - it's one big replace action.
2022-10-30 16:51:33 +01:00
Christoph Oelckers
da523eb8e3
- unwrapped vector SetScale.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
15db7a7143
- unwrapped SetScaleX/Y.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
8265239d2d
- removed AddScale wrappers.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
85b52b1c77
- removed Scale(), CopyScale() and MultScale wrappers.
2022-10-30 16:51:32 +01:00
Christoph Oelckers
51768439a9
- started removing wrappers. ScaleX() and ScaleY() done.
...
No manual changes in here.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
4aa765675e
- use a float vector to store the scale.
2022-10-30 16:51:31 +01:00
Christoph Oelckers
abf5c9feee
- all repeats in SW’s draw code
2022-10-30 16:51:29 +01:00
Christoph Oelckers
42679d58bb
- lots of repeats in Exhumed
2022-10-30 16:51:28 +01:00
Christoph Oelckers
1a22127123
- refactoring CreateActor - part 1
2022-10-30 16:51:26 +01:00
Christoph Oelckers
e749a0e9a4
- a bunch of repeats in actor_d.cpp
2022-10-30 16:51:25 +01:00
Christoph Oelckers
5700d25120
- minor cleanup on scaling code
2022-10-30 16:51:25 +01:00
Christoph Oelckers
520d838a8c
- use Scale wrappers in global code and parts of Duke.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
1085752e01
- added more Scale wrappers to spritetype.
2022-10-30 16:51:23 +01:00
Christoph Oelckers
6a3a811a42
- repeats in the wall sprite renderer
2022-10-30 16:51:22 +01:00
Christoph Oelckers
9d8df61324
- got rid of the int version of GetOffsetAndHeight.
2022-10-30 16:51:21 +01:00
Christoph Oelckers
a6fb831894
- scaling demessification in the voxel renderer
...
(needs thorough testing!!!)
2022-10-30 16:51:21 +01:00
Christoph Oelckers
91c318b708
- renamed most non-sprite xrepeat and yrepeat as refactpring aid.
...
These will be renamed back later but now they create too much search noise.
A few local variables have been permanently renamed to scale*.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
c678298141
- wrap repeats in the renderer.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
adb3cb888e
- manual repeats in Blood.
2022-10-30 16:51:20 +01:00
Christoph Oelckers
2589e7030c
- more repeats replaced by SetScale.
2022-10-30 16:51:19 +01:00
Christoph Oelckers
e60fafec52
- got rid of most REPEAT_SCALE factors.
2022-10-30 16:51:19 +01:00
Christoph Oelckers
8c308c8d3e
- added ScaleY method to spritetype and used it to get rid of a large amount of 'yrepeat * REPEAT_SCALE'
2022-10-30 16:51:18 +01:00
Christoph Oelckers
c7c3b2a20c
- added a SetScale method to spritetype and used it for all places setting x/yrepeat to 0.
2022-10-30 16:51:17 +01:00
Christoph Oelckers
a6e35edc6c
- replaced all set_native_clipdist
...
Note that truncation has to be preserved here to ensure the size stays the same as before so the MulScales were not resolved into their factors.
2022-10-30 16:51:16 +01:00
Christoph Oelckers
d22c473c31
- manual set_const_clipdist replacements
2022-10-30 16:51:15 +01:00
Christoph Oelckers
4af4983d3e
- floatified clipdist and replaced fClipdist wrapper.
...
This uses a new variable because a few things use clipdist as a flag byte
2022-10-30 16:51:14 +01:00
Christoph Oelckers
3577b53c4d
- GetWallSpritePosition also benefits from using .dot
2022-10-30 16:51:14 +01:00
Christoph Oelckers
f1baf5c69c
- use dot product for getslopeval as well
2022-10-30 16:51:13 +01:00
Christoph Oelckers
02f1f79333
- use .dot() for calculating slopes
2022-10-30 16:51:13 +01:00
Christoph Oelckers
e83d0930bf
- clean out the unused sintable stuff
2022-10-30 16:51:13 +01:00
Mitchell Richters
cea2b6b428
- Rename PlayerHorizon::__horiz
back to horiz
.
2022-10-30 16:51:12 +01:00
Mitchell Richters
0600bf5860
- Negate everything to do with PlayerHorizon::__horiz
where appropriate, including some loose horizoff
members.
2022-10-30 16:51:11 +01:00
Mitchell Richters
619b8005ac
- Rename PlayerHorizon::horiz
in prep for negating this angle throughout code.
2022-10-30 16:51:11 +01:00
Christoph Oelckers
513fc478bf
- moved clipupdatesector to updatesector.h
2022-10-30 16:51:10 +01:00
Christoph Oelckers
479c732a72
- moved some more things out of build.h
2022-10-30 16:51:10 +01:00
Christoph Oelckers
0eea776065
- moved RS_ bits to gamehud.h because that's all that uses these flags.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
94b91f6ec3
- build.h cleanup
...
* moved krand and krandf into the games/duke folder because no other game uses them
* moved CVARS to gamefuncs.h.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
4af1461ec3
- got rid of int_clipdist.
2022-10-30 16:51:09 +01:00
Christoph Oelckers
7d3babd678
- ported all pushmove calls to the float version.
2022-10-30 16:51:08 +01:00
Christoph Oelckers
600c2a0243
- map all clipmove calls to the version with a full float interface.
2022-10-30 16:50:48 +01:00
Christoph Oelckers
63c8960769
- deleted mdsprite.* files.
2022-10-27 16:55:54 +02:00
Christoph Oelckers
a4dd5bb4ce
- rewrote the model storage code.
...
Using proper C++ containers now.
2022-10-27 16:55:54 +02:00
Mitchell Richters
c00c8d196e
- Simple VecToAngle() > .Angle() replacements.
2022-10-27 16:55:52 +02:00
Christoph Oelckers
6636064d1f
- did a few checks with the compatibility optioned slope adjustment and decided to enable it unconditionally.
...
A CVar was added to make it user-settable, but having this dramatically improves handling on slope edges.
2022-10-27 16:55:52 +02:00
Christoph Oelckers
c505da79e4
- fixed: getzrange must look a bit further for sprites affecting the current position.
...
This was missed when the function was rewritten because the code was too unclear about it.
2022-10-27 16:55:52 +02:00
Christoph Oelckers
8e9ddf370c
- rewrote getzrange
...
Not using any old Build code anymore. Aside from the trivial stuff this uses code from Doom and SW instead.
2022-10-27 16:55:28 +02:00
Mitchell Richters
13d643deb5
- Duke: Move Duke-exclusive code from PlayerHorizon
struct into displayweapon_d()
and clamp tangent to handle high pitches.
...
* Clamped range is slightly higher than original (200 vs. 256), however when tested with idle knuckle cracking, etc, hands were drawn not above the screen unlike unclamped tangent.
2022-10-25 07:07:15 +02:00
Mitchell Richters
c3adf5ea58
- Slight clean up of input constants.
2022-10-25 07:07:14 +02:00
Mitchell Richters
fc8c0b80aa
- Clean up chase cam backwards scaling since we're now using floats of the same scale.
2022-10-25 07:07:14 +02:00
Mitchell Richters
3db6a38b4b
- Make dragpoint()
inline since its a wrapper for another function anyway.
2022-10-25 07:07:14 +02:00
Mitchell Richters
9dd27ee3a2
- Remove old integer dragpoint()
interface that was used by floats in lots of places.
...
* Cannot wait until all the narrowing warnings can be re-enabled...
2022-10-25 07:07:14 +02:00
Mitchell Richters
5cc9774873
- Apply same signedness fix from - fixed signedness issue with slope sprite coefficient.
to spriteGetSlope()
.
2022-10-25 07:07:14 +02:00
Mitchell Richters
2e8e5f99e7
- Fix mixed X/Y pos subtraction in spriteGetZOfSlopef()
and use a bit more of the backend.
...
* Confirmed coordinate mix-up when reviewing commit `- added spriteGetZOfSlopeF for the backend`.
2022-10-25 07:07:14 +02:00
Christoph Oelckers
310eff6e71
- clean out many wrappers.
2022-10-25 07:07:10 +02:00
Christoph Oelckers
1a03c56eec
- floatifying player::slope, part 1
2022-10-25 07:07:09 +02:00
Christoph Oelckers
f0dc95597b
- deleted several unused wrappers and overloads.
2022-10-25 07:07:05 +02:00
Christoph Oelckers
fd3ca33aea
- deleted set_int_bvel inlines
2022-10-25 07:07:04 +02:00
Mitchell Richters
789fa71a14
- Use g_atan2()
within maphoriz()
so consistent math is used throughout engine.
2022-10-25 07:07:03 +02:00
Mitchell Richters
5d8cc1b4fc
- Store all input speed constants as DAngle to avoid calling DAngle::fromDeg()
all the time.
2022-10-25 07:07:02 +02:00
Christoph Oelckers
3c3af06413
- deleted getincangle.
2022-10-25 07:07:02 +02:00
Christoph Oelckers
2ba68df27f
- eliminate int_floorz / int_ceilingz in the backend.
2022-10-25 07:07:00 +02:00
Christoph Oelckers
0655db77b9
- delete set_int_floorz and set_int_ceilingz.
2022-10-25 07:07:00 +02:00
Christoph Oelckers
5e2e53d684
- more CanMove fixes, plus salvaging the rest of the old commit.
...
CanMove twice uses the texel-based nRange as a Build-unit value, this caused strange problems with the initial floatification.
2022-10-25 07:06:57 +02:00
Christoph Oelckers
6b579156aa
- Blood HitScan fixes
...
- changed target parameter of hitscan to a double to simplify its handling.
- HitScan's nRange parameter may be an int, but it is in texel units, not Build units.
2022-10-25 07:06:56 +02:00