Commit graph

204 commits

Author SHA1 Message Date
Magnus Norddahl
9bcef148bf Minor menu tweaks and display the vulkan device name in the menus 2023-10-15 15:23:23 +02:00
Magnus Norddahl
3c1b12862c Remember vid_fps cvar (whyyy wasn't this always the case?) 2023-09-17 00:26:52 +02:00
nashmuhandes
9e0bf90be6 Merge remote-tracking branch 'remotes/ZDoom/gzdoom/staging' into gzd_staging 2023-08-22 09:09:51 +08:00
Christoph Oelckers
b5c1237f93 - removed NOVTABLE #define.
This was used on just two small base classes, the overall savings are zero.
2023-08-12 09:31:33 +02:00
Christoph Oelckers
fdad3186a6 - replaced zstrformat with stb_sprintf.
The main advantage here is that this allows to get rid of the gdtoa dependency, it is also preferable to have some code here that's being maintained.
Feature-wise both are mostly identical, stb also support MSFT integer size modifiers and hexadecimal floats.
2023-08-09 11:51:46 +02:00
Ricardo Luís Vaz Silva
0192392256 Individual Joystick Enable/Disable Toggles 2023-08-02 00:37:24 -04:00
Christoph Oelckers
81fb9a26b2 - backend update from Raze.
* add QualifiedName to VMFunction and allocate these static names from the class data memory arena instead of using FStrings.
* null pointer type checks in the VM added to avoid crash on bad codegen.
2023-07-22 09:55:49 +02:00
Ricardo Luís Vaz Silva
847f80391b Expose OF_Transient to actors as bNoSaveGame 2023-07-14 16:01:55 +02:00
nashmuhandes
07f722b6f3 Merge branch 'master' of https://github.com/ZDoom/gzdoom into GZDoomUpdate-12-07-2023 2023-07-12 20:51:41 +08:00
Ricardo Luís Vaz Silva
61d68eb2d6 Rewrite changed model rendering code, and change how model skins are handled 2023-06-26 00:36:36 -04:00
Christoph Oelckers
40679294df - fixed some warnings. 2023-06-16 20:50:48 +02:00
l2ksolkov
245dac814e Add missing include guards 2023-05-29 07:35:26 +02:00
Christoph Oelckers
acfe82b9a8 - Backend update from Raze. 2023-05-27 09:31:17 +02:00
Magnus Norddahl
1730a2d5b2
Merge pull request #11 from nashmuhandes/gzd_master
Sync to GZDoom master branch
2023-04-23 03:26:26 +02:00
Magnus Norddahl
b1ebb8231f Change the options menu to follow a more logical modern layout
Remove the old simple menu as that only made things worse
2023-04-23 02:00:49 +02:00
Mitchell Richters
534a7f8246 - Move invertmouse CVARs into common code.
* Removes duplication of CVAR definitions between Raze and GZDoom.
2023-04-21 00:44:01 +08:00
Mitchell Richters
c10ab58f70 - Properly fix default mouse x sensitivity. 2023-04-21 00:43:13 +08:00
Christoph Oelckers
f6affef791 - adapted font system to properly handle Turkish.
Those i's are really messy, especially when dealing with allcaps or pure lowercase fonts.
2023-04-21 00:43:12 +08:00
Mitchell Richters
f1f6e3a607 - Move invertmouse CVARs into common code.
* Removes duplication of CVAR definitions between Raze and GZDoom.
2023-04-04 17:11:28 +02:00
Mitchell Richters
034202e6f6 - Properly fix default mouse x sensitivity. 2023-04-04 17:08:02 +02:00
Christoph Oelckers
7e1982fa65 - adapted font system to properly handle Turkish.
Those i's are really messy, especially when dealing with allcaps or pure lowercase fonts.
2023-03-31 17:40:19 +02:00
Ricardo Luís Vaz Silva
569263efe9 Extend pseudo-generics system used by maps to dynarrays 2023-02-09 17:02:40 +01:00
Ricardo Luís Vaz Silva
b47aa37919 Add missing methods (GetIfExists/CheckValue) to Map pseudo-generics 2023-01-23 17:15:08 +01:00
0e5c6e37b1 Prevent important messages from being accidentally filtered. 2023-01-04 17:54:09 +01:00
Christoph Oelckers
941c0850ba - Backend update from Raze.
Mainly optimizations for the sound system and texture manager.
2022-12-18 16:19:18 +01:00
Ricardo Luís Vaz Silva
46d36cf5c7 add BobWeapon3D 2022-12-09 21:49:38 +01:00
Ricardo Luís Vaz Silva
8b6a714d41 Map<K,V> and MapIterator<K,V> for ZScript 2022-12-04 15:11:00 +01:00
Christoph Oelckers
65a26d6779 - removed the string constructors from FSoundID.
Due to C++ conversion rules this was a bit too volatile. There's really not enough places where being able to pass a string directly into the sound API was beneficial - the two most frequent functions now got overloaded variants.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
b89c4affae - removed the string assignment operators.
These all caught literal 0's as well
2022-11-24 23:52:52 +01:00
Christoph Oelckers
d173c0453c - handle all remaining places of sound ID conversions after removing the conversion operators. 2022-11-24 23:52:52 +01:00
Christoph Oelckers
160633a4a2 - migrate a large part of the sound code to FSoundIDs.
This has always been a wild mixture of IDs and ints.
2022-11-24 23:52:52 +01:00
Christoph Oelckers
29b4418c3a - added 'foreach' loop to ZScript.
Syntax:

foreach(variable : array)
{
}

the variable's type is automatically deducted.
2022-11-15 21:34:45 +01:00
Christoph Oelckers
4994e114c8 - backported Vector*::Sum() from Raze. 2022-11-14 19:49:37 +01:00
RaveYard
31ac1bd414 Initial implementation of Quaternion type in ZScript 2022-11-13 22:48:19 +01:00
Christoph Oelckers
1047b766df - added PlusZ intrinsic to Vector3 and ToVector intrinsic to numeric values.
These just mirror features of the internal vector classes.
2022-11-13 08:07:20 +01:00
Christoph Oelckers
f3b33f7cf8 - added LengthSquared and Angle intrinsics for all vector types, also allow calling VectorAngle with a full vector as a single parameter. 2022-11-13 08:07:12 +01:00
Shiny Metagross
a525233914 Attempted to add Vector4 to ZScript 2022-11-12 09:04:38 +01:00
Marisa Heit
f34d4d2033 Fix compilation on Linux 2022-11-06 12:50:51 -06:00
Marisa Heit
7f899bd412 GC fixes/improvements
- Have a real finalizer stage for destroying objects instead of mixing them
  in to the sweep stage.
- Base GC rate on a running average of the allocation rate instead of basing
  it on the amount of time taken since the last sweep started.
- More GC stats for better tweaking.
2022-11-06 19:39:00 +01:00
Christoph Oelckers
33afe45dda - changed Windows config and game data storage to prefer known folders over the program directory.
This matches modern software design standards, if a portable install is desired a config named "gzdoom_portable.ini" needs to be created in the program directory.
This may be an empty file for a first launch.
2022-11-05 13:28:31 +01:00
Christoph Oelckers
9c75a38ec3 - added [[noreturn]] to several functions that always throw exceptions. 2022-11-05 09:09:00 +01:00
Christoph Oelckers
671b8696bb - made CVar declarations type safe again. 2022-10-22 09:29:38 +02:00
Christoph Oelckers
453688ccc6 - reworked CVARs to not use a linked list and to be initialized manually.
This solves two problems:

* The linked list is too slow, a map is better. A map cannot be used with statically allocated CVARs because order of initialization is undefined.
* The current CVAR system is an unordered mishmash of static variables and dynamically allocated ones and the means of identification are unsafe. With this everything is allocated on the heap so it can all be handled the same by the cleanup code.
2022-10-21 18:56:43 +02:00
Christoph Oelckers
ef887403cf - marked a few Printf calls in critical error paths as PRINT_NONOTIFY. 2022-10-20 23:55:29 +02:00
Christoph Oelckers
70df444660 - Backend update from Raze
* fix for serializing vector arrays.
* a few adjustments for asan on Windows.
* NOMUSICCUTOFF flag for movie player.
* a bit of cleanup.
2022-10-20 20:12:06 +02:00
Christoph Oelckers
207913bced - added a config getter to the interface.
Now the only external reference left in the backend code is the call to GameMain.
2022-10-02 18:42:08 +02:00
Christoph Oelckers
e6615629b3 - move two more backend->frontend calls to the interface 2022-10-02 18:29:57 +02:00
Christoph Oelckers
b19b0db150 - moved language CVAR to backend. 2022-10-02 17:59:39 +02:00
Christoph Oelckers
73142ef2cf - handle menu customization via callbacks. 2022-10-02 17:49:39 +02:00
Christoph Oelckers
a084667bed - move hud scale CVARs to the backend. 2022-10-02 17:33:49 +02:00