Christoph Oelckers
82057bcd5a
- Backend update from GZDoom-
...
This compiles but doesn't run.
2023-08-23 20:36:19 +02:00
Christoph Oelckers
f2740e434a
- adapted game code.
2023-08-20 02:25:12 +02:00
Christoph Oelckers
b95a5a4b2b
- yet another backend update.
2023-08-20 02:15:57 +02:00
Christoph Oelckers
6355671480
- second backend update from GZDoom.
2023-08-19 19:32:17 +02:00
Christoph Oelckers
32ede813e9
- new files for backend update.
2023-08-19 18:17:17 +02:00
Christoph Oelckers
cf19d75242
- backend update from GZDoom without adapting other code.
2023-08-19 16:59:05 +02:00
Christoph Oelckers
5eee7b80b1
- backend update from GZDoom.
...
* controller handling improvements
* use stb_sprintf.
* various smaller fixes.
2023-08-09 12:17:17 +02:00
Christoph Oelckers
6aa61e72b5
- backend update from GZDoom.
...
* cleanup on the sound init code.
* added #pragma once in several headers.
* macOS version detection overhaul.
2023-07-22 09:54:00 +02:00
Christoph Oelckers
706c784965
- added a few checks for null pointer types in the ZScript compiler.
2023-07-22 08:59:15 +02:00
Rachael Alexanderson
f1c917cffc
- mimic gzdoom/01dfcc7d9564013ae26c79ecb642e4e5578905b1
2023-06-19 04:41:58 -04:00
Christoph Oelckers
ddfb485424
- added a serializer for VMFunction pointers.
2023-05-28 11:19:34 +02:00
Christoph Oelckers
213bdbadad
- allocate VMFunction's PrintableName from the ClassDataAllocator arena.
...
This avoids execution order issues on shutdown. VMFunction should not use FString.
2023-05-27 22:40:47 +02:00
Christoph Oelckers
f3ea1e312a
- Backend update from GZDoom.
2023-05-27 10:10:42 +02:00
Christoph Oelckers
92f2503160
- did a bit of optimization on sfxinfo_t.
...
Using two bytes of alignment gap to add a userval variable.
2023-05-27 09:03:10 +02:00
Christoph Oelckers
a76494363c
- get rid of 'picnum' in common code.
2023-05-20 12:40:57 +02:00
Christoph Oelckers
b6767aa7a3
- fixed: The MVE player ignored the initial sound playing state.
...
If that is off, sound must remain off.
2023-05-19 22:59:48 +02:00
Rachael Alexanderson
fc45636215
- remove vid_gpuswitch
and all associated handling
2023-04-30 10:57:28 -04:00
Mitchell Richters
3edc1a5a5a
- Exhumed: Make getSequence()
return a pointer instead of a reference.
...
* Gets rid of the awkward `operator[]()` calls.
* Gets rid of `std::ref()` setup in gun.cpp.
* Ensures a copy isn't made if the caller accidentally leaves off an ampersand.
* Allows us to use a consistent getter for native code and VM exports.
2023-04-27 20:16:14 +10:00
Christoph Oelckers
b56aa1e1a3
- no more picnum in spawn CCMD
2023-04-23 10:36:38 +02:00
Mitchell Richters
7ca73aa562
- Exhumed: Initial setup of new statusbar sequence exports, starting with DrawStatusSequence()
.
2023-04-21 21:13:12 +10:00
Mitchell Richters
4cc3664287
- Exhumed: Minor tidy-up for seq_ReadSequence()
prior to start.
2023-04-17 08:52:52 +10:00
Christoph Oelckers
5da28bf5ad
- added new CHANF_SINGULAR flag plus a handler for CHANF_LOCAL in Duke.
2023-04-16 17:35:22 +02:00
Christoph Oelckers
a3da3a4c43
- added a large bunch of script exports.
2023-04-16 17:35:15 +02:00
Christoph Oelckers
17cde1e3ca
- Duke: fixed bad init of hitag in initspriteforspawn
2023-04-15 19:53:04 +02:00
Christoph Oelckers
b191491bbb
- backend update from GZDoom.
2023-04-15 11:51:31 +02:00
Christoph Oelckers
da0b429751
- migrated attackertype to class objects.
2023-04-09 09:46:09 +02:00
Mitchell Richters
3951407b68
- Fix issue with memset calls from 0eba341ac1
.
2023-04-05 07:39:31 +10:00
Mitchell Richters
0eba341ac1
- Remove GameInput::prepareHidInput()
and GameInput::resetHidInput()
.
...
* Also reverts 23bff9f701
, but changes the loop into a `memset()` call instead.
2023-04-04 20:07:06 +10:00
Mitchell Richters
d454455d22
- Move invertmouse
CVARs into common code.
...
* Removes duplication of CVAR definitions between Raze and GZDoom.
2023-04-04 20:01:21 +10:00
Mitchell Richters
23bff9f701
- Don't loop through all joystick axes and zero them in I_GetAxes()
.
...
* The caller should be passing a 0-init'd array through.
2023-04-04 09:55:44 +10:00
Christoph Oelckers
1e7850b17e
- fixed last commit
2023-04-01 12:27:48 +02:00
Christoph Oelckers
a64f19c16d
- had to apply the RapidJson NaN workaround to another place.
...
So instead of fixing the bug they actually replicated it into a second function. :(
It's too bad that we cannot enable proper writing of NaNs and Infs because it makes most JSON formatters emit an error on this undefined extension of the format.
2023-04-01 10:26:51 +02:00
Christoph Oelckers
b6da4ecddf
- backend update from GZDoom.
2023-03-26 11:45:25 +02:00
Christoph Oelckers
6729c342af
- undid bad code from a broken GZDoom PR.
2023-02-11 19:49:49 +01:00
Christoph Oelckers
09c8430e4e
- removed bad include.
2023-02-11 12:36:31 +01:00
Christoph Oelckers
8c99d7b034
- Backend update from GZDoom
...
* scriptable CVARs.
* GLES update
* various ZScript improvements.
2023-02-11 12:06:58 +01:00
Christoph Oelckers
fd04cda324
- added a font option to have lower case for Latin only.
...
This is meant for SW's SmallFont to avoid creating lowercase Greek or Cyrillic letters. The font is too small to render them adequately.
2023-02-11 10:43:59 +01:00
Mitchell Richters
17392fe400
- Change viewport aspect calculation from 6aa94a9b8e
to be a reciprocal multiplication.
2023-02-06 19:58:08 +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
ca4b9c5044
- Slight tidy-up in vectors.h.
2023-02-04 17:05:20 +11:00
Christoph Oelckers
8e5e52f80e
- enable Spanish for Duke and related games.
...
Nam/WW2GI was completed by machine translated texts, this was all simple stuff like item names.
2023-01-20 17:13:18 +01:00
Christoph Oelckers
a570e77509
- clear menuDelegate in case of an error in MENUDEF parsing.
2023-01-20 17:10:25 +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
57695a3e07
- cleaned up the pitch management in the sound backend.
2023-01-15 14:06:01 +01:00
Christoph Oelckers
fca0bdf379
- Backend update from GZDoom.
2023-01-15 09:30:01 +01:00
Christoph Oelckers
d5b217df2a
- Vulkan shader cache from GZDoom.
2023-01-07 19:32:15 +01:00
Christoph Oelckers
905a9bfeae
- backend update from GZDoom.
2023-01-07 19:30:49 +01:00
Christoph Oelckers
5952b79af5
- FString fixes.
2023-01-07 19:15:03 +01:00
Christoph Oelckers
262e93db2b
- call FullGc twice, because once does not seem to be sufficient anymore when the object system is shut down
2023-01-07 16:01:37 +01: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
CandiceJoy
483cec5bdd
- Fixed custom height and width not saving.
...
* Fixes #780 .
2023-01-02 19:30:46 +11:00
Mitchell Richters
6aa94a9b8e
- Ensure the viewport's aspect ratio is factored into the HUD's aspect ratio.
...
* Fixes #617 .
2023-01-02 18:52:19 +11:00
Rachael Alexanderson
6b8bdcc449
- fix math error on ARM architectures
2022-12-28 02:07:10 -05:00
Christoph Oelckers
b1e2b2addf
- backend cleanup from GZDoom.
2022-12-18 16:31:50 +01:00
Christoph Oelckers
d7da983c5e
- removed Vulksn SDK from main source folder.
...
This is now part of ZVulkan.
2022-12-18 16:27:24 +01:00
Christoph Oelckers
e3d16d254d
- fixed: when deactivating the app, pausing the sound system should not depend on the game's internal pause state.
...
All this tells is that the gameplay was halted. Sound was not stopped when the user either minimized or tabbed away in the in-game menu.
This commit had to be reapplied because it got lost in a backend update.
2022-12-18 15:28:17 +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
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
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
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
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
e37de147dc
- disabled the automatic location feature in the texture manager.
...
For something that was never used it is simply too costly as it sits in a critical segment of code where it prevents optimization of multiple calls to GetGameTexture in a code block.
If this ever gets reimplemented it must be on a higher level - this simply does not work right.
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
a0722c55ea
- removed canvas hack stuff from Buildtiles after cleaning up the mess in SW.
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
6d9a8bfaa5
- scriptified the pool balls.
2022-12-11 19:43:47 +01:00
Christoph Oelckers
2b7e094019
- fixed: aliases for null textures must still be set.
...
Also added 'listtexturealiases' CCMD for debugging.
2022-12-11 19:43:12 +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
318ff64f36
- Allow passing angle through when drawing the generic crosshair.
2022-12-11 18:42:00 +01:00
Christoph Oelckers
10c552fb66
- did a bit of optimization on FGameTexture.
...
Since all material layers except the brightmaps are relatively rare encounters these were taken out of the main texture object and offloaded to a substructure that is only allocated on demand.
2022-12-11 18:41:52 +01:00
Christoph Oelckers
c60fea678d
- replace the homegrown hash chain in the sound engine with a TMap.
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
Mitchell Richters
59e8821332
- Use the interpolated sine table for tangent instead of Cephis math in TAngle<T>
.
...
* Performed testing and it's ~6.5x faster this way.
2022-12-11 18:41:38 +01:00
Christoph Oelckers
9cd1e9adb1
- updated Vulkan backend to use ZVulkan.
2022-12-11 18:30:01 +01:00
Christoph Oelckers
fbf5cdc18f
- pulled in the ZScript map fixes from GZDoom.
2022-12-11 16:38:20 +01:00
Mitchell Richters
4bf8ea140c
- Fix IWADBoxCallback()
and MENUDEF setup for GLES backend.
2022-12-11 19:45:07 +11:00
Christoph Oelckers
ff8863833a
- fixed GC::FullGC not collecting everything anymore.
...
With the delayed handling of internal references of destroyed objects the function now returned without making sure that it really got everything.
Repeating until it cannot delete anything new anymore makes it work again as intended.
2022-12-05 12:29:18 +01:00
Christoph Oelckers
1061e3e2ca
- backend update from GZDoom.
2022-12-04 16:51:44 +01:00
Christoph Oelckers
b5ad3b9f3b
- imported two fixes from GZDoom
2022-11-25 12:33:52 +01:00
Christoph Oelckers
003f4a035e
- backend update from GZDoom
...
menu enhancements, IQM indices and an important fix in the sound system.
2022-11-25 11:14:38 +01:00
Christoph Oelckers
d710407b08
- another backend uodate from GZDoom to fix a memory leak in ZScript backend.
2022-11-25 00:04:05 +01:00
Rachael Alexanderson
b4e19ec6a0
- move posix I_GetGogPaths() stub to program specific code
2022-11-24 17:46:33 -05:00
Christoph Oelckers
d43ebd22ae
- fixed merge errors from backend update.
2022-11-24 18:05:47 +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
2ffdf3d0e1
- backend update from GZDoom.
...
Mainly quaternion math and sound system cleanup.
2022-11-24 16:56:46 +01:00
Christoph Oelckers
4d6920e80b
- fixed failiure to initialize the ambient tags array.
...
Also adding range checks to all places where it gets used. This is from CON code so proper values are never guaranteed.
2022-11-24 09:01:44 +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
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
3bc34ec773
- fix last commit.
...
One change got lost by the update.
2022-11-14 23:50:30 +01:00
Christoph Oelckers
6e49f0bf8f
- Backend update from GZDoom.
...
Bone model support in GLES and ZScript quaternions.
2022-11-14 19:46:25 +01:00
Christoph Oelckers
cbf47b4dee
- added a 'Sum()' intrinsic to the vectors.
2022-11-14 12:07:51 +01:00
Christoph Oelckers
e62b79c7c9
- allow 'nullptr' in ZScript.
...
This makes it a lot easier to port C++ code.
2022-11-13 12:20:00 +01:00
Christoph Oelckers
166235027c
- Backend update from GZDoom
...
adding some intrinsics to ZScript.
2022-11-13 08:32:09 +01:00
Christoph Oelckers
8806fb930b
- Backend update from GZDoom
...
* Vector 4 in zscript
* garbage collector fixes
2022-11-12 10:45:39 +01:00
Mitchell Richters
0033826544
- Allow proper setting of progdir
for SDL targets.
2022-11-12 11:26:05 +11:00