Commit graph

2059 commits

Author SHA1 Message Date
Magnus Norddahl
1d941c9839 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/r_plane.cpp
#	src/win32/zdoom.rc
2017-01-13 13:21:10 +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
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
Rachael Alexanderson
a3ad22a460 Merge https://github.com/coelckers/gzdoom 2017-01-11 18:54:43 -05: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
Rachael Alexanderson
799d0d1091 Merge remote-tracking branch 'remotes/gzdoom/master' 2017-01-10 19:39:12 -05:00
Rachael Alexanderson
0362deefc4 Merge commit '6552e5a7a18cb334dfa1000e0c52836df2edec95' 2017-01-10 19:38:15 -05: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
3e4f799bbc - made Actor.DamageMobj virtual. 2017-01-10 21:31:52 +01:00
Christoph Oelckers
3f94a15cfe - added a virtual PostSpawn method to RandomSpawner, this will get called when the actor has been spawned so that the spawner can do some special setup with it. 2017-01-10 20:14:48 +01:00
Christoph Oelckers
06c97d898b - added a new parameter to A_CustomRailgun to customize the inaccuracy induced by a moving target. 2017-01-10 20:08:23 +01:00
Christoph Oelckers
3696d34806 - added IF_NOSCREENBLINK flag, see http://mantis.zdoom.org/view.php?id=9 2017-01-10 19:57:51 +01:00
Rachael Alexanderson
05662e5c4d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_plane.cpp
#	src/r_things.cpp
2017-01-09 09:51:06 -05:00
Christoph Oelckers
f78927500e - exported all meaningful parts of side_t to the VM. 2017-01-08 21:42:26 +01:00
Christoph Oelckers
7a5171a2e9 - fixed: The check for virtual function overrides was never done if the overriding function had no qualifier at all.
- fixed several occurences where an 'override' qualifier was missing.
2017-01-08 19:07:26 +01:00
Christoph Oelckers
abdfb8788b - fixed bad variable assignment in Heresiarch. 2017-01-08 18:53:02 +01:00
Christoph Oelckers
1c74faea73 - exported line_t's functions to the VM. 2017-01-08 15:45:37 +01:00
Christoph Oelckers
cb89a1a81a - fixed inconsistent use of line_t::portaltransferred.
Some parts used 0 as 'nothing' others used UINT_MAX. 0 should refer to the map's default sky, not to nothing.
2017-01-08 14:59:31 +01:00
Magnus Norddahl
d825ec334c Merge remote-tracking branch 'gzdoom/master' into qzdoom 2017-01-08 04:48:49 +01:00
Christoph Oelckers
d2a51a57e1 - added new Stairs_BuildUpDoomCrush special from Eternity and used it to fix the bad implementation to make Doom's turbo stairs crush. This also removes the crushing from Generic_Stairs entirely, just like it was in Boom. 2017-01-08 01:15:45 +01:00
Christoph Oelckers
3beed216dd - exported all relevant functions from sector_t.
Please note that currently most of these have little use, they are for future feature support.
2017-01-08 00:50:40 +01:00
Rachael Alexanderson
6e06adb795 Merge https://github.com/coelckers/gzdoom 2017-01-07 16:04:46 -05:00
Christoph Oelckers
82adc5bf1e - exported secplane_t to scripting. 2017-01-07 21:29:43 +01:00
Rachael Alexanderson
de5f5a1221 Merge https://github.com/coelckers/gzdoom 2017-01-06 22:06:25 -05:00
Christoph Oelckers
b11c8fef57 - renamed a few variables for clarity. 2017-01-06 11:56:17 +01:00
Rachael Alexanderson
c2d01522f0 Merge https://github.com/coelckers/gzdoom 2017-01-04 21:55:01 -05:00
Christoph Oelckers
3b7eb849a7 - fixed: The default minimum and maximum distances for A_Teleport were swapped. 2017-01-04 23:56:41 +01:00
Rachael Alexanderson
b934f69303 Merge https://github.com/coelckers/gzdoom 2017-01-04 17:49:09 -05:00
Rachael Alexanderson
0a581754bf - Made WadSmoosh detection a lot stricter. 2017-01-04 20:48:52 +01:00
Rachael Alexanderson
8651cbc75a - Wildweasel pointed out that WadSmoosh generates a "SMOOSHED" lump. http://forum.zdoom.org/viewtopic.php?p=967226#p967226 2017-01-04 20:48:52 +01:00
Rachael Alexanderson
4fe3f7611c - Made WadSmoosh detection more flexible (since it doesn't necessarily require MAP01 to be present). 2017-01-04 20:48:52 +01:00
Rachael Alexanderson
eb7f1b87e5 - Added Wadsmoosh detection. 2017-01-04 20:48:52 +01:00
Rachael Alexanderson
13972eed2b Merge https://github.com/coelckers/gzdoom 2017-01-03 21:31:55 -05:00
Christoph Oelckers
b132782c49 - scriptified PowerBuddha and PowerFrightener. 2017-01-03 21:03:05 +01:00
Christoph Oelckers
15f30886cd - scriptified the TimeFreezer powerup. 2017-01-03 20:06:20 +01:00
Rachael Alexanderson
fd9d92d708 Merge https://github.com/coelckers/gzdoom 2017-01-02 22:04:53 -05:00
Rachael Alexanderson
3e59ebb48d - Removed multithreaded from the menu completely.
# Conflicts:
#	wadsrc/static/menudef.txt
2017-01-02 18:26:45 -05:00
Rachael Alexanderson
338d338e27 - Moved multithreaded option from Truecolor menu to the Display menu since both the palette and truecolor drawer sets now use it. 2017-01-02 17:55:24 -05:00
Christoph Oelckers
bf09a89b5d - fixed typo in A_BrainSpit. 2017-01-02 23:26:19 +01:00
Rachael Alexanderson
2591eb2e54 Merge https://github.com/coelckers/gzdoom 2017-01-02 16:52:02 -05:00
Christoph Oelckers
1a16f664e4 - added a TStaticArray class that allows safe access to resizable static data (like the sectors, linedefs, etc.) for the VM.
- used this to replace the line list in Sector because that gets already used and implemented proper bounds checks for this type of array.
2017-01-02 21:40:52 +01:00
Rachael Alexanderson
2d1a5e6b36 Merge https://github.com/coelckers/gzdoom 2017-01-01 21:44:56 -05:00