Commit Graph

20712 Commits

Author SHA1 Message Date
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 1e5e65546d Revert "- add support for not localizing some text functions, and modify menu text fields to use this"
This reverts commit 91d3c4b606.

This completely breaks the menus, so it needs to go.
2022-12-04 08:13:04 +01:00
Ricardo Luís Vaz Silva cd46f97dcc Structified A_SpawnParticle/Ex 2022-12-03 23:54:52 +01:00
Marisa the Magician 9ad7b8a048 Look up named frames using the Animation ID (if any). 2022-12-03 23:30:59 +01:00
Gutawer 91d3c4b606 - add support for not localizing some text functions, and modify menu text fields to use this 2022-12-03 23:30:38 +01:00
Ricardo Luís Vaz Silva f666edc60c Allow Disabling of XY Billboard for Particles 2022-12-03 23:27:46 +01:00
Boondorl 964534f4b0 Added Method For Getting Portal Group Count 2022-12-03 23:27:01 +01:00
Boondorl ad80593cb7 Allow Getting Portal Group Offsets 2022-12-03 23:27:01 +01:00
Christoph Oelckers e8d7e0227b - fixed two memory leaks. 2022-12-03 20:39:54 +01:00
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