alexey.lysiuk
ca55d8993f
Added Actor.A_SoundVolume(int slot, double volume) function to ZScript
...
https://forum.zdoom.org/viewtopic.php?t=57594
2017-08-31 09:45:09 +03:00
nashmuhandes
42db31b816
Added per-actor camera FOV.
2017-08-28 21:14:11 -04:00
Christoph Oelckers
485c4c71b5
- fixed: When stepping through a sector portal and touching a two sided line on the opposite side, its opening must be used, regardless of the FFCF_NOFLOOR flag.
2017-08-27 10:36:34 +02:00
Christoph Oelckers
4483d665d4
- fixed: FastProjectile's movement code was missong a portal check.
2017-08-12 13:58:16 +02:00
Rachael Alexanderson
91ff447a90
- fixed compile from last commit
...
- refactored the zscript hookup a bit, made it actually work
2017-07-29 17:03:43 -04:00
Christoph Oelckers
a210aaea3e
- fixed: All melee functions calling TraceBleed after DamageMobj must first copy the target member to a local variable.
...
DamageMobj can destroy the damaged actor if the death state sequence has zero duration. But Actor.target is a garbage collected member variable, i.e. it will be null, once the actor it points to gets destroyed.
This was originally done correctly in the C++ code but during the scriptification all those 'AActor *target = self->target' lines were removed because they looked redundant, but were not.
2017-06-06 09:12:58 +02:00
jplebreton
2c7a0c87c8
add FloatBobStrength Actor property, a multiplier on Z offset created by FloatBob behavior. default of 1.0 is current behavior, set higher/lower for more/less extreme bobbing.
2017-06-03 18:02:27 +02:00
Major Cooke
bb1e927c46
Give the parameter a better name to associate by.
2017-05-17 23:03:22 +02:00
Major Cooke
65f13b0927
- Added a Z offsetting parameter to the ZScript LineAttack function.
...
- Added LAF_OVERRIDEZ flag to LineAttack. Disregards all internal offsetting aside the actor's Z position before adding the offset parameter.
2017-05-17 23:03:22 +02:00
Christoph Oelckers
abee2805cb
- the last scriptified bits of P_PlayerThink.
2017-05-01 00:27:58 +02:00
Christoph Oelckers
6e25c34fda
- more player code exported
2017-04-30 22:17:51 +02:00
Christoph Oelckers
329c168cc2
- added a distance parameter to A_SprayDecal.
2017-04-14 16:28:54 +02:00
Christoph Oelckers
d36f656caf
- added a callback for when damage is drained from a target.
2017-03-29 20:25:54 +02:00
Christoph Oelckers
6870efe134
- added a GetCVarString ZScript/DECORATE function.
...
- fixed: loading a savegame triggered PlayerEntered events.
2017-03-28 21:37:43 +02:00
Christoph Oelckers
a112b29c43
- implemented the inventory bar. This object is a bit special because it requires a lot of parameters, most of which are easily set to defaults. To make handling easier, most are passed through a container object which does some processing up front.
...
- finished work on the Doom status bar. I also took the opportunity to fix the layout of the inventory bar which is a bit broken in SBARINFO.
- tuned the selection rules for deciding what creates the status bar, so that the most recent definition that can be found is chosen.
2017-03-27 01:02:10 +02:00
Christoph Oelckers
e791c957d9
- implemented the regular Doom status bar.
...
The DOOM status bar and HUD are complete, except the inventory bar.
2017-03-26 22:04:58 +02:00
Christoph Oelckers
a3ee3c287e
- major progress on the status bar code: SBARINFO's DrawGraphic has been ported into a generic function of the base statusbar class and put to use for a few items on the Strife status bar.
...
- decided to ditch the widget system I had started to lay out. As it turns out that would make things far more complicated and slower than they need to be.
2017-03-24 00:47:08 +01:00
Christoph Oelckers
845c43876c
- moved all trivial actor properties into the scripts as 'property' declarations.
2017-03-19 11:30:28 +01:00
Christoph Oelckers
d0c77d7264
- added a GetRenderStyle function to Actor, so that the internal render style can be retrieved in a format suitable for scripting.
2017-03-15 10:36:41 +01:00
Christoph Oelckers
64bdc8c495
- fixed some incomplete checks for static arrays.
...
- made AActor::OkaytoSwitchTarget scripted virtual.
2017-03-15 01:39:59 +01:00
Christoph Oelckers
f70d0a6ced
- added a setinv cheat CCMD.
2017-03-14 11:44:21 +01:00
Rachael Alexanderson
527a172fcd
Merge https://github.com/coelckers/gzdoom
2017-03-07 22:03:56 -05:00
Christoph Oelckers
2f29b075b2
- made CountInv clearscope and const.
2017-03-07 22:55:15 +01:00
Christoph Oelckers
7ce8009576
- made several read-only actor functions accessible to UI code.
2017-03-07 18:59:48 +01:00
Rachael Alexanderson
7ef8ed5867
Merge https://github.com/coelckers/gzdoom
2017-03-05 18:40:44 -05:00
Christoph Oelckers
7df698dad8
- implemented the parser basics of a ZScript versioning system.
...
Note that this completely disables the newly added keywords 'play' and 'ui' for unversioned code to allow using them as identifiers as I have found at least one mod that uses a variable named 'play' that would have been rendered broken otherwise.
This also disables many ZScript only keywords for other parsing jobs.
2017-03-05 14:13:00 +01:00
Rachael Alexanderson
b8b5360de1
Merge https://github.com/coelckers/gzdoom
2017-03-04 07:28:02 -05:00
Christoph Oelckers
7dbc6939c4
- declared most native getters in Actor as const.
...
- made the self pointer of const functions readonly.
This seems to work fine. Both calling a non-const function and trying to assign a value to a member fail with an error message.
2017-03-04 12:43:07 +01:00
Christoph Oelckers
4c5794b6d5
- made GetObituary non-constant.
...
This gets only called from within the play code and making it const would block potential use cases that involve changing some internal variables like counters.
2017-03-04 12:11:56 +01:00
Christoph Oelckers
b3ba5bfe2c
- allow 'const' on class functions. This is preferable to 'clearscope' so that the UI code can call getter functions without having to declare things as 'clearscope'.
...
Clearscope is a dangerous context and should be limited to the minimum extent possible and preferably be blocked in user code.
This may still need some work on const functions but better have it in now.
2017-03-04 12:07:45 +01:00
ZZYZX
c9a994a885
Fixed: clearscope should also clear the inherited scope (through struct member access chain); Fixed: struct member access chain should ONLY work for structs (forgot that FxClassMember inherits FxStructMember)
2017-03-04 00:04:19 +02:00
Rachael Alexanderson
b3a69e1df8
Merge https://github.com/coelckers/gzdoom
2017-03-02 18:13:33 -05:00
Christoph Oelckers
00dc59ebdc
- separated the blood translation index from the BloodColor variable to allow more than 255 blood translations and as a prerequisite for allowing to change the blood color.
2017-03-02 10:26:23 +01:00
Rachael Alexanderson
d84ba4b953
Merge https://github.com/coelckers/gzdoom
2017-03-02 04:22:32 -05:00
Christoph Oelckers
0de79042d4
- fixed: 'Bloodtype' cannot use the generic property definition because it needs special handling for optional arguments. This reinstates the native handler.
2017-03-01 20:20:46 +01:00
Rachael Alexanderson
d6169ea75e
Merge https://github.com/coelckers/gzdoom
2017-02-28 18:55:17 -05:00
Christoph Oelckers
fc125f7eaf
- reworked the obituary system to use scripted virtual overrides. Let's hope this solves the problems with the original code, now that any actor needing special treatment can override it.
2017-02-28 14:30:14 +01:00
Christoph Oelckers
851984efe0
- made GetDeathHeight a virtual scripted function.
...
- made GetGibHealth a virtual scripted function.
- removed a few more native meta properties.
2017-02-28 13:40:46 +01:00
Christoph Oelckers
d5250d6b9f
- made WoundHealth modifiable to allow more control over the wound state.
2017-02-28 12:56:35 +01:00
Christoph Oelckers
2a4a5e7a70
- refactored a few more native meta properties.
2017-02-28 12:47:44 +01:00
Christoph Oelckers
1311f08f47
- scriptified Actor.GetBloodType as a virtual function to allow mods more flexibility here.
...
- made CameraHeight a modifiable actor property - it was readonly before.
- allow accessing the type constants from ZScript, this required quite a bit of explicit coding because the type system has no capabilities to search for basic types by name.
2017-02-28 12:11:25 +01:00
Christoph Oelckers
b6a1fe7fc6
- scriptified the basic attack functions, its properties and the explosion properties to test the new metadata system.
2017-02-28 10:51:32 +01:00
Rachael Alexanderson
2a847ca570
Merge https://github.com/coelckers/gzdoom
2017-02-27 01:06:00 -05:00
Christoph Oelckers
f6dd99d3aa
- added A_Morph function.
2017-02-26 21:20:47 +01:00
Rachael Alexanderson
7a5df2bc28
Merge commit 'b0eb19b'
2017-02-26 13:41:02 -05:00
Christoph Oelckers
fb3d4bd42a
- added A_SetMugshotState.
2017-02-26 18:46:06 +01:00
Christoph Oelckers
5fe04dfd20
- added A_SprayDecal function.
2017-02-26 18:37:12 +01:00
Christoph Oelckers
c4b546404a
- added a 'nocheck' parameter to A_Raise* and Thing_Raise.
2017-02-26 17:50:48 +01:00
Rachael Alexanderson
404b326812
Merge https://github.com/coelckers/gzdoom
2017-02-25 18:32:06 -05:00
Christoph Oelckers
35552ce0cb
- added a Death.Sky state for missiles that gets used when they hit a sky plane.
...
- fixed: The Alt HUD did not draw the crosshair in HUD off mode.
2017-02-25 20:45:28 +01:00
Rachael Alexanderson
5c5b6a55d5
Merge https://github.com/coelckers/gzdoom
2017-02-24 13:24:44 -05:00
alexey.lysiuk
202c192e11
Added default value for amount argument of A_DropInventory()
...
https://mantis.zdoom.org/view.php?id=330
2017-02-24 10:15:46 +02:00
Rachael Alexanderson
80d3fd58ff
Merge https://github.com/coelckers/gzdoom
2017-02-23 15:00:09 -05:00
Christoph Oelckers
73cceea994
- also added the 'amount' parameter to DropInventroy and A_DropInventory script functions.
2017-02-23 20:55:12 +01:00
Rachael Alexanderson
ef22d10756
Merge https://github.com/coelckers/gzdoom
2017-02-15 20:08:21 -05:00
Christoph Oelckers
4df2a221a8
- fixed: The special called by the InterpolationSpecial actor must have no activator.
...
This required splitting A_CallSpecial into a direct wrapper around P_ExecuteSpecial and implementing itself as a script function calling ExecuteSpecial so that this special case can use a version of the function that can be used without an activator.
2017-02-15 22:49:13 +01:00
Rachael Alexanderson
5dad292c56
Merge remote-tracking branch 'remotes/gzdoom/master'
2017-02-15 05:43:15 -05:00
Christoph Oelckers
8d7a64bd17
- added a virtual 'used' method that gets called when the player presses use on an actor. This method will only be called if the actor does not have the USESPECIAL flag - that one will be handled as before.
2017-02-15 00:43:30 +01:00
Rachael Alexanderson
5948c7b0da
Merge https://github.com/coelckers/gzdoom
2017-02-08 18:42:24 -05:00
Major Cooke
dd102caf13
- Fixed: SetCamera didn't have the 'action' identifier, nor did it use the actual 'cam' actor provided, rendering it nonfunctional.
2017-02-08 18:17:09 +01:00
Rachael Alexanderson
942f90a759
Merge remote-tracking branch 'gzdoom/master'
2017-02-05 16:07:48 -05:00
Christoph Oelckers
72810c969d
- added ChangeCamera script function.
2017-02-05 18:07:12 +01:00
Rachael Alexanderson
410a1aa24c
Merge https://github.com/coelckers/gzdoom
2017-01-20 20:56:02 -05:00
Christoph Oelckers
314e49f791
- let A_SpawnProjectile, A_FireProjectile, A_SpawnItem(Ex) and A_ThrowGrenade return the spawned actors to the calling code.
...
- fixed the return type checks in CallStateChain. These made some bogus assumptions about what return prototypes to support and would have skipped any multi-return function whose first argument was actually usable.
2017-01-20 12:39:51 +01:00
Rachael Alexanderson
e52772745b
Merge https://github.com/coelckers/gzdoom
2017-01-19 23:07:14 -05:00
Christoph Oelckers
c880b26d98
- scriptified MorphProjectile and CustomSprite.
...
This should for now conclude actor class scriptification. The remaining ten classes with the exception of MorphedMonster are all too essential or too closely tied to engine feature so they should remain native.
2017-01-20 01:11:36 +01:00
Rachael Alexanderson
8a198591f4
Merge https://github.com/coelckers/gzdoom
2017-01-19 11:58:53 -05:00
Christoph Oelckers
42f3ccc602
- scriptified a few parts of p_pspr.cpp.
...
- added a speed parameter to A_Lower and A_Raise in the process.
2017-01-19 13:26:46 +01:00
Magnus Norddahl
53a79ca215
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_things.cpp
2017-01-18 04:09:16 +01:00
Christoph Oelckers
14f2c39e58
- scriptified cht_Give and cht_Take and made them virtual function of PlayerPawn so that this can be better configured for mods that want other options in here.
...
- improved the class pointer to string cast to print the actual type it describes and not the class pointer's own type.
- fixed: The 'is' operator created non-working code when checking the inheritance of a class pointer, it only worked for objects.
2017-01-17 17:34:39 +01:00
Magnus Norddahl
1c3440e391
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_plane.cpp
# src/r_plane.h
2017-01-16 06:03:21 +01:00
Christoph Oelckers
267600826f
- sxriptified key and puzzleitem base classes.
2017-01-15 10:37:54 +01:00
Christoph Oelckers
e16713492f
- scriptified A_FreezeDeath(Chunks).
2017-01-14 18:26:59 +01:00
Christoph Oelckers
96777273c4
- scriptified ASoundSequence.
...
- exported virtual Actor.MarkPrecacheSounds function.
2017-01-14 14:37:29 +01: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
Rachael Alexanderson
d707f1c22e
Merge https://github.com/coelckers/gzdoom
2017-01-14 00:38:26 -05: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
Magnus Norddahl
1c4e0c6385
Merge remote-tracking branch 'gzdoom/master' into qzdoom
2017-01-14 01:56:18 +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
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
85a84b5e94
- scriptified FastProjectile.
2017-01-13 00:35:56 +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
3e4f799bbc
- made Actor.DamageMobj virtual.
2017-01-10 21:31:52 +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
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
2d1a5e6b36
Merge https://github.com/coelckers/gzdoom
2017-01-01 21:44:56 -05:00
Christoph Oelckers
9948189193
- scriptified PowerProtection and PowerDamage.
...
- made ModifyDamage calls iterative instead of recursive. With going through the VM they'd be too costly otherwise.
- small optimization: Detect empty VM functions right when entering the VM and shortcut them. This is to reduce the overhead of virtual placeholders, which in a few cases (e.g. CanCollideWith and ModifyDamage) can be called quite frequently.
2017-01-01 23:11:48 +01:00
Major Cooke
ff3487d389
Merge branch 'OverlayAlpha' into OverlayExtension9
...
# Conflicts:
# src/p_pspr.cpp
# src/r_draw.cpp
# wadsrc/static/actors/actor.txt
# wadsrc/static/actors/constants.txt
2016-12-26 14:37:22 -06:00
ZZYZX
44c19b5ad9
Changed zero RenderRadius logic - negative values now used for 'no rendering', restored old logic with max(radius, renderradius)
2016-12-25 13:40:21 +02:00
ZZYZX
fcd8a0ce92
Reverted STYLE_None change to P_LinkRenderSectors, implemented zero RenderRadius that effectively disables rendering of an actor entirely
2016-12-25 13:35:03 +02:00
ZZYZX
87b23d160b
Ported RenderRadius and related code from gzdoom branch
2016-12-25 13:09:32 +02:00
Christoph Oelckers
d4c0ee9e43
- address bad use of pitch in A_CustomMissile.
...
This function calculated everything correctly but ultimately set the vertical velocity wrong. Most importantly this meant that the actual velocity vector and actor pitch - if CMF_SAVEPITCH was used - did not match.
Since this bug has been present since the pitch parameter was added, this deprecates A_CustomMissile and replaces it with a properly implemented A_SpawnProjectile function and handling the compatibility case with a new flag and a scripted wrapper function.
All internal uses of A_CustomMissile have been replaced as well.
2016-12-24 14:46:34 +01:00