Commit Graph

10076 Commits

Author SHA1 Message Date
Christoph Oelckers 96777273c4 - scriptified ASoundSequence.
- exported virtual Actor.MarkPrecacheSounds function.
2017-01-14 14:37:29 +01:00
alexey.lysiuk 0b62645a35 Fixed compilation warnings reported by GCC/Clang
gl/data/gl_setup.cpp:430:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
gl/data/gl_setup.cpp:527:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
gl/data/gl_setup.cpp:542:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
nodebuild.cpp:1056:63: warning: format specifies type 'ptrdiff_t' (aka 'long') but the argument has type 'int' [-Wformat]
p_glnodes.cpp:379:50: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_saveg.cpp:381:18: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_scroll.cpp:532:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_setup.cpp:2304:43: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
p_setup.cpp:2302:12: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
scripting/codegeneration/codegen.cpp:8488:20: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
scripting/codegeneration/codegen.cpp:8606:15: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-01-14 15:03:14 +02:00
Christoph Oelckers f83444f3cc - exported the sound sequence interface to scripting.
- split out the map data definitions from base.txt into their own file.
2017-01-14 13:02:08 +01:00
Christoph Oelckers 386c00f17e - scriptified ASoundEnvironment.
This also exposes the functionality as a member function of Sector for easier script access.
2017-01-14 11:43:08 +01:00
Christoph Oelckers 40e7fa5be2 - scriptified the RandomSpawner.
- fixed: String constants were not processed by the compiler backend.
- added an explicit name cast for class types.
2017-01-14 02:05:52 +01:00
Christoph Oelckers 4d68f066a0 - fixed: sector.gravity was not serialized. 2017-01-13 23:29:52 +01:00
Christoph Oelckers f759b6757a - scriptified the teleport fog. 2017-01-13 23:17:04 +01:00
ZZYZX a8beb51ca3 Changed opcode implementation to native function implementation 2017-01-13 22:59:45 +01:00
ZZYZX ee2ecf1450 Added %c (from int) and %p (from pointer) support to format() 2017-01-13 22:59:45 +01:00
ZZYZX fcc5f4b77b Fixed EFX_ enum for FxFormat 2017-01-13 22:59:45 +01:00
ZZYZX e75aa08d0a Implemented format() builtin call 2017-01-13 22:59:45 +01:00
Christoph Oelckers 4be0767d7b - scriptified the moving camera. 2017-01-13 22:13:03 +01:00
Christoph Oelckers 51cc7feb4c - scriptified the particle fountains. 2017-01-13 19:29:54 +01:00
Christoph Oelckers 8e7e1ed757 - don't use local TObjPtr variables. 2017-01-13 15:44:16 +01:00
Edoardo Prezioso 6eb9015303 - Fixed GCC/Clang compile errors. 2017-01-13 15:42:53 +01:00
Christoph Oelckers d338ca3ec1 - scriptified the sector actions. 2017-01-13 13:51:47 +01:00
Edoardo Prezioso 3b7d18c129 - Fixed crash while exiting if compiled by GCC -O3. 2017-01-13 12:02:00 +01:00
Christoph Oelckers e621b43dd3 - removed the upper limit of 20 for autosaves. 2017-01-13 11:59:55 +01:00
Christoph Oelckers d73db8c1e8 - added a 'local' parameter to the A_Log family.
- complete "give quakes their own damage type." (was only partially saved.)
2017-01-13 11:48:05 +01:00
Christoph Oelckers a388327acb - give earthquakes their own damage type. 2017-01-13 11:19:40 +01:00
Christoph Oelckers 6cbc0a80e8 - let 'forcenoskystretch' also apply to sky mode 2 and OpenGL, to reflect its true meaning the internal flag has been renamed to FORCETILEDSKY which it always was about. 2017-01-13 11:12:43 +01:00
alexey.lysiuk 4001e7e6bd Fixed compilation with macOS SDK earlier than 10.7 2017-01-13 10:52:35 +02:00
alexey.lysiuk 7e0c870d0f Added missing OpenGL extension for PowerPC Macs 2017-01-13 10:51:56 +02:00
Christoph Oelckers 76870beb2e - fixed the final bit of sector actions.
The IsActivatedByUse implementation was essentially useless because the value was not serialized so it got lost as soon as the game was reloaded from a savegame.
With the refactoring this is no longer an issue but the access function needed to be changed over to read the info from 'health'.
2017-01-13 01:44:17 +01:00
Christoph Oelckers 1400f401e7 - fixed use of multiple sector actions in the same sector.
The entire setup was quite broken with each item using its own activation result and the ones of the subsequent items in the list as the return value.
This rendered the STANDSTILL check in the main function totally unpredictable because the value it depended on could come from any item in the list.
Changed it so that the main dispatcher function is part of sector_t and does the stepping through the list iteratively instead of letting each item recursively call its successor and let this function decide for each item alone whether it should be removed.
The broken setup also had the effect that any MusicChanger would trigger all following SecActEnter specials right on msp start.
2017-01-13 01:34:43 +01:00
Christoph Oelckers cf39af0642 - consolidated the sector action classes.
This can be done with a lot less overhead by using one of the object's properties to store the activation flag, so that all the nearly redundant trigger methods can be folded into one.
2017-01-13 01:06:37 +01:00
Christoph Oelckers 85a84b5e94 - scriptified FastProjectile. 2017-01-13 00:35:56 +01:00
Christoph Oelckers cc58f13e4e - scriptified the sector silencer. 2017-01-12 23:35:24 +01:00
Christoph Oelckers 3d73919092 - scriptified CustomBridge.OnDestroy. 2017-01-12 22:56:06 +01:00
Christoph Oelckers 7b7623d2c4 - split DObject::Destroy into the main method, a native OnDestroy and a scripted OnDestroy method and made the main method non-virtual
This was done to ensure it can be properly overridden in scripts without causing problems when called during engine shutdown for the type and symbol objects the VM needs to work and to have the scripted version always run first.
Since the scripted OnDestroy method never calls the native version - the native one is run after the scripted one - this can be simply skipped over during shutdown.
2017-01-12 22:49:18 +01:00
Christoph Oelckers 0b94d4e0a3 - scriptified the bridge things, except the Destroy method which still requires work to allow virtually calling this. 2017-01-12 19:55:25 +01:00
alexey.lysiuk de6a66851e Fixed issue with extraction of built GL nodes
See https://mantis.zdoom.org/view.php?id=39
2017-01-12 16:24:55 +02:00
Christoph Oelckers 8e19dc8f10 - restored dialog ID and removed commented-out old code. 2017-01-12 11:54:53 +01:00
Christoph Oelckers 23482735a0 - removed PClassAmmo.
No need to maintain these clunky meta class for one single property. The overhead the mere existence of this class creates is far more than 100 spawned ammo items would cost.
There is no need to serialize AAmmo::DropAmount, this value has no meaning on an already spawned item.
2017-01-12 11:44:33 +01:00
Christoph Oelckers da43576035 - updated IWAD picker template to the one submitted by Gez for QZDoom. 2017-01-12 10:11:43 +01:00
Christoph Oelckers bcd73292d3 - checked P_GetRenderSector against the original implementation from before the glsegextras were added and reinstated all checks from that version. 2017-01-12 09:58:13 +01:00
Christoph Oelckers 0d575a20cc - added new PRINTNAME_ constants for retrieving next and secret next level. 2017-01-12 01:11:26 +01:00
Christoph Oelckers 85488f2f30 - added GetActorFloorTexture and GetActorFloorTerrain ACS functions. 2017-01-12 00:49:40 +01:00
Christoph Oelckers ea163f3898 - exported FCheckPosition to the VM and completed the parameter lists for Actor.CheckPosition and Actor.TryMove. 2017-01-12 00:26:16 +01:00
Christoph Oelckers 5ef9429ae4 - added the ability to attach a constructor or destructor to an internally defined struct.
There are a few which require explicit native construction or destruction that need to be exported to the VM, e.g. FCheckPosition.
The VM cannot handle this directly, it needs two special functions to be attached to handle such elements.
2017-01-11 23:46:03 +01:00
Christoph Oelckers ca2ac4e4fd - reverted debug stuff. 2017-01-11 17:16:07 +01:00
Christoph Oelckers 7f3e18a6cc - fixed a few memory leaks. 2017-01-11 11:37:27 +01:00
Christoph Oelckers 72101473d0 - fixed: The texture for legacy dynamic light handling was always allocated, even if not needed, and it was never freed. 2017-01-11 10:47:45 +01:00
Christoph Oelckers d1ce098d59 - fixed a crash with GL nodes not having partner segs where both sides have a sidedef. This can happen for some render hacks. 2017-01-11 10:46:26 +01:00
Christoph Oelckers f4edaa2662 - fixed the railgun's spiral duration was set incorrectly. 2017-01-11 01:46:17 +01:00
Christoph Oelckers 385ebf2ed2 - fixed: Stairs_BuildUpDoomCrush wasn't in the special dispatcher list. 2017-01-11 01:13:39 +01:00
Christoph Oelckers de4153ceaf some groundwork for the implementation of dynamic arrays
- created script exports for all relevant functions with all integral types.
- created script side definitions for the underlying data types.
- added a void pointer type so that the prototype for the pointer array can use a generic type every pointer can be assigned to.
2017-01-11 00:57:31 +01:00
Christoph Oelckers 11d93cb030 - removed r_columnmethod 1 because the code was broken and already gone from QZDoom. 2017-01-10 22:28:15 +01:00
Christoph Oelckers 6552e5a7a1 - fixed: 'stat music' tried to access a non-existent stream decoder for any music played through Timidity++ on OpenAL. 2017-01-10 22:16:32 +01:00
Christoph Oelckers 2abd16f117 - fixed: Any inventory item that is about to be placed in an inventory must stop all its sounds. 2017-01-10 22:01:29 +01:00