Commit graph

20703 commits

Author SHA1 Message Date
Shiny Metagross
169139c22c Fixed A_Changemodel crash from invalid modeldef names
- Invalid modeldef names no longer result in a crash

https://forum.zdoom.org/viewtopic.php?t=76810
2022-11-30 18:26:26 +01:00
Kevin Caccamo
6cf3dc045f Fix SNDINFO $rolloff always changing global rolloff
I investigated the issue a bit more by copying the grenade sounds from Wolfenstein: Blade of Agony and the definitions for the sounds from its SNDINFO lump, and then copying the entire SNDINFO lump from Wolfenstein: Blade of Agony into a small test mod, and disabling tags like $volume and $rolloff using sed. It turns out disabling $rolloff tags fixed the issue, and looking into the code, it seems as though the global rolloff was always being changed, or that rolloff was picking up a garbage pointer.

Fixes #1849
2022-11-27 21:02:07 +01:00
Ricardo Luís Vaz Silva
1a7a56ce39 Fix GC ignoring DynArrays inside fixed Arrays 2022-11-27 08:19:41 +01:00
alexey.lysiuk
d4f4b9b599 - fixed continuous integration of Windows targets 2022-11-26 09:39:48 +02:00
Marisa the Magician
f256e7bb3d Fix UV "fix" for OBJ models. 2022-11-25 23:57:44 +01:00
Marisa Heit
70df34674b AST debug cleanup
- Add ArrayIterationStmt printer.
- Mark ZCC_TreeNodes as const for the AST printers.
- Use static_assert to catch missing printers without needing to run with -dumpast.
2022-11-25 19:20:24 +01:00
Christoph Oelckers
4103b282bb - fixed: The raw texture caching in the texture manager did not work.
This erroneously checked for FrontSkyLayer.
Also including some change here that allows explicit setting of the RawTexture (not used yet.)
2022-11-25 12:29:36 +01:00
Christoph Oelckers
28f8d4570d - silence compiler warning 2022-11-25 12:27:54 +01:00
Christoph Oelckers
473221bb33 - fixed SoundEngine::isValidSoundId.
This never accounted for linked and random sounds. It never got noticed because it never was used to validate anything essential before.
2022-11-25 10:28:18 +01:00
Marisa the Magician
8206c29edf Allow assigning IQM frames by animation name plus frame offset. 2022-11-25 08:12:23 +01:00
Ricardo Luís Vaz Silva
58a64e4f5d Remove leftover variable in CustomMessageBox 2022-11-25 00:39:35 +01:00
Boondorl
f322792783 Added animation support for OptionMenus
Adds Animated and AnimatedTransition MENUDEF instructions for OptionMenus. Added DontDim and DontBlur MENUDEF instructions for all menus.
2022-11-25 00:39:05 +01:00
Marisa the Magician
b002d5b8ec Fix crash if Animation is not explicitly assigned in MODELDEF. 2022-11-25 00:37:38 +01:00
Christoph Oelckers
ffdd0a11ea - fixed memory leak in ZScript backend.
This allocated some memory and never freed it again. A TArray would have been better - but since we know the maximum size is 4 we may just use a static array here to keep things as efficient as possible.
2022-11-24 23:52:53 +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
1a6da52961 - use FSoundID in SoundEngine's interface. 2022-11-24 23:52:52 +01:00
Christoph Oelckers
d13f12cc37 - this should take care of the S_* interface. 2022-11-24 23:52:52 +01:00
Christoph Oelckers
7e8de9d1ba - made more use of FSoundID. 2022-11-24 23:52:52 +01:00
Christoph Oelckers
225399a1ef - use TMap for the playersound hashtable. 2022-11-24 23:52:51 +01:00
Christoph Oelckers
4d1b44d9e3 - eliminated GetSounds from the sound engine's interface. 2022-11-24 23:52:51 +01:00
Christoph Oelckers
419e593a4c - allow SNDINFO to declare sound mappings by using 'sounda = soundfle'.
This works similar to MAPINFO: The first definition in a file declares the format, all later ones must be the same.
This change in syntax increases robustness significantly because it avoids the problems with the original syntax not being able to detect badly formatted names.
2022-11-24 23:52:51 +01:00
Rachael Alexanderson
f7f67114ed - move posix I_GetGogPaths() stub to program-specific code for use later 2022-11-24 17:40:26 -05:00
Gutawer
8db4c5ea71 - process events every frame as well to ensure that menus can run at any framerate 2022-11-24 00:56:44 +01:00
Marisa the Magician
eab675c0cb Make model stretch fix opt-in with a flag. 2022-11-22 17:58:32 +01:00
Marisa the Magician
0509d3a4e7 Fix incorrect pixelratio handling on rotated models. 2022-11-22 07:44:22 +01:00
Boondorl
599b00f2ea Extended MENUDEF Functionality
*Added Font and TextureID types to Option and Image Scroller items (List items already have these)
*Added "Class" instruction for Image Scrollers
*Added ability for Option items to read in their OptionMenuDescriptor (List and Image Scroller items already have this)
*Added "ForceList" instruction for Lists so that skill, playerclass, and episode menus don't get overridden
2022-11-22 07:43:23 +01:00
Gutawer
63c2d93033 - quaternion improvements 2022-11-21 07:20:43 +01:00
Gutawer
9f0c518be9 - add remaining quaternion function implementations 2022-11-21 07:20:43 +01:00
RaveYard
540f778047 Quaternion structure and math ops 2022-11-21 07:20:43 +01:00
Ricardo Luís Vaz Silva
802f77ab19 Fix checking of wrong variable in String..Float concatenation 2022-11-19 23:55:17 +01:00
Boondorl
d3bcc769f5 Clearscoped getters for map data 2022-11-19 09:16:24 +01:00
Ricardo Luís Vaz Silva
0f7e7744b0 CustomMessageBox Formatting 2022-11-18 07:42:45 +01:00
Ricardo Luís Vaz Silva
724b89bb1d CustomMessageBox 2022-11-18 07:42:45 +01:00
Rachael Alexanderson
b082ad9cef - fix colormap remapping when colormap entries may have fullbright entries which should not be considered duplicates
- this should address the "fullbright teeth" issue with the imps in KDiKDiZD: https://forum.zdoom.org/viewtopic.php?t=76790
2022-11-18 07:42:09 +01:00
Boondorl
ef456a4901 Added PitchTo Function 2022-11-18 07:41:04 +01:00
Christoph Oelckers
eb97346b0e - stop all sound before showing ENDOOM. 2022-11-16 17:08:11 +01:00
Christoph Oelckers
d0c86952ee - disabled shortcutting the intermission code if no summary screen is wanted.
This also disabled all cutscenes being attached to the completed map.
2022-11-16 16:29:02 +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
Emile Belanger
f41f393e91 GLES: Added IQM bone support. 2022-11-13 21:19:54 +01:00
Boondorl
7517b64aee Updated to Interface Event
Changed SendConsoleEvent to SendInterfaceEvent to make functionality clearer. Added InterfaceProcess virtual to EventHandlers. Added CCMD for sending interface events.
2022-11-13 21:04:38 +01:00
Boondorl
b4a8b1278f SendConsoleEvent function for EventHandlers 2022-11-13 21:04:38 +01:00
Major Cooke
a483ad20be Replaced memset for particles as recommended by dpJudas 2022-11-13 21:02:59 +01:00
Major Cooke
f044695d28 Future-proof particles by resetting them completely when replaced. 2022-11-13 21:02:59 +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