Christoph Oelckers
d66631478a
- converted some Hexen stuff.
2016-10-17 23:27:34 +02:00
Christoph Oelckers
552f094ec1
- converted the rest of Heretic's actors.
...
- fixed: Boolean constants were not properly handled.
2016-10-17 12:58:23 +02:00
Christoph Oelckers
c13916ea18
- converted more Heretic actors.
2016-10-17 10:07:12 +02:00
Christoph Oelckers
c623539d2d
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
2016-10-17 00:33:28 +02:00
Christoph Oelckers
76f1b9d3f8
- converted the raven actors.
2016-10-17 00:21:52 +02:00
Christoph Oelckers
6650e2bbfb
- converted some Heretic stuff to ZScript for testing.
...
- added type casts to the arguments of function calls.
- added string constant to state conversion to FxTypeCast.
2016-10-16 22:32:52 +02:00
Christoph Oelckers
afd9347087
- changed order of script files to match the old DECORATE list for easy comparison of the disassembly.
...
- added a descriptive name to all types for error messages.
- added a generic type cast node to the code generator.
- added a few more cast operations to the 'cast' VM instruction.
- extended FxClassTypeCast to handle all possible input that can be cast to a class pointer, not just names.
2016-10-16 19:42:22 +02:00
Marisa Heit
e4281454ce
Split ANIMATED into three parts, filtered by game that uses them
...
- ANIMATED contained definitions for Doom, Heretic, and Strife, all
crammed into a single file. This meant that animations from one game
could erroneously make their way into maps for another game that
provided custom textures with names that matched textures that animated
in the other game. There are now three separate ANIMATED lumps with only
the animations defined for the original game and no others. The one
that gets loaded depends on the game being played.
- Added documentation for the ANIMATED file format to the comment for
FTextureManager::InitAnimated(), since I had to figure it out from the
code.
2016-10-15 21:40:24 -05:00
Christoph Oelckers
091da92819
- Added AStateProvider class which is used to define the special action function behavior of weapons and custom inventorys. The class itself does not do anything, but the compiler will use it to set up the action function prototypes differently which in turn will be used to do type checking during code generation.
2016-10-15 15:10:48 +02:00
Christoph Oelckers
784f7ed671
- converted all of Doom's actors.
...
- fixed a few problems that were encountered during conversion:
* action specials as action functions were not recognized by the parser.
* Player.StartItem could not be parsed.
* disabled the naming hack for PowerupType. ZScript, unlike DECORATE will never prepend 'Power' to the power's name, it always needs to specified by its full name.
* states and defaults were not checked for empty bodies.
* the scope qualifier for goto labels was not properly converted to a string, because it is an ENamedName, not an FName.
2016-10-14 20:08:41 +02:00
Christoph Oelckers
9e2830a3db
- converted the rest of actors/shared.
...
- moved damagetype definitions to MAPINFO. These were in DECORATE which is not correct. The old code is left for compatibility.
2016-10-14 10:46:15 +02:00
Christoph Oelckers
905e44713f
- deprecated A_SetUserVar family for ZSCRIPT due to its muddled semantics. Better use direct variable access which is a lot safer and also provides better error checking.
2016-10-14 09:32:45 +02:00
Christoph Oelckers
7de683f9f5
- converted a few more DECORATE files.
...
- started with the AST converter. So far it only deals with direct function calls with simple constants as parameters.
- added an error condition for the defaults block to get rid of some asserts.
2016-10-14 00:40:20 +02:00
Christoph Oelckers
433bf46010
- removed token 'mode' because it isn't used anywhere and clashed with some actor properties.
...
- fixed uninitialized counter variable in DECORATE parser.
- allow dottable_id of xxx.color so that the property parser can parse 'powerup.color'.
- fixed crash with actor replacement in script compiler.
- add the lump number to tree nodes because parts of the property parser need that to make decisions.
- removed test stuff.
- converted inventory.txt, player.txt and specialspot.txt to ZSCRIPT. These were the minimal files required to allow actor.txt to parse successfully.
- removed the converted files from the DECORATE include list so that these are entirely handled by ZSCRIPT now.
2016-10-13 20:45:52 +02:00
Christoph Oelckers
59ed26c0b6
- resorted some of thingdef.cpp's contents into more appropriate files.
...
- split FinishActor into several functions. While DECORATE can, ZSCRIPT cannot do all this in one go.
- split the state finalization into several class-specific virtual functions.
2016-10-12 20:42:41 +02:00
Christoph Oelckers
900644e465
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
2016-10-12 12:43:56 +02:00
Major Cooke
3de83b8943
Added PSPF_FLIP.
...
Flips the overlay on the X axis.
2016-10-11 17:20:58 -05:00
Major Cooke
5dc94a10c3
Added A_SetInventory.
...
- Sets the absolute amount of an inventory actor.
- Limits itself to the range [0, MaxAmount]. Setting beyondMax to true disregards the MaxAmount. Default is false.
2016-10-11 14:44:31 -05:00
Christoph Oelckers
d8c689d874
- initialize function symbols. At the moment all it does is process the existing native functions. Any further processing will be done once the base classes of the engine can be parsed from the scripting files.
...
- switched the types of the internal 'self' and 'stateowner' parameters so that they get assigned correctly. I can't tell if this will error out if fields get accessed from the caller with the wrong class, but for actual scripting to work these must be correct.
The committed 'actor.txt' can be parsed successfully, with the exception of a few subclass references that cannot be resolved yet.
2016-10-11 18:53:10 +02:00
Christoph Oelckers
6989b81688
- extended the grammar so that the DECORATE function declaration list can almost be used as-is, with the sole exception of requiring any action function to declare a return type, even if it is void.
...
This adds:
* builtin types color, state and sound.
* ending a parameter list with an ellipsis to declare a varargs list. (A_Jump uses this.)
* allowing to declare optional arguments by giving them a default value.
* adding an 'action' qualifier for function declarations.
2016-10-11 13:11:40 +02:00
Christoph Oelckers
acec2e5b07
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
2016-10-11 00:57:31 +02:00
Major Cooke
31ca5a1900
Added OverlayX/Y(int layer)
...
- Retrieves the X/Y positions of an overlay.
- A_OverlayFlags and A_OverlayOffset now interpret a layer of 0 to mean 'use this calling layer'.
2016-10-10 10:48:50 +02:00
Christoph Oelckers
ad43f2bc7e
- parse the list of class/struct fields and add the PField entries to their type.
...
- fixed a few issues with trying to access a class's Type before it got initialized.
2016-10-09 21:54:23 +02:00
Christoph Oelckers
49f18c0a19
- renamed the symbol tables holding the tree nodes so that the code becomes clearer to read. Necessary because the unclear naming caused:
...
- fixed: The tree nodes for classes and struct members were stored in the global tree nodes table.
- sort variable declarations into their own list for processing.
2016-10-09 09:09:17 +02:00
Christoph Oelckers
6bad4809c1
- uncommendted constants.txt after finishing work on the constants creation code.
2016-10-08 22:20:38 +02:00
Christoph Oelckers
08f313d011
- implemented complete resolving of constants - both global and class-local.
...
This uses a different algorithm as the old implementation - instead of recursively resolving unknown symbols it will first collect all constants from all scopes and then process them in one operation, doing multiple passes over the list until no more constants can be resolved anymore.
2016-10-08 22:16:10 +02:00
Christoph Oelckers
04d4bda262
- converted all constants to enums and gave the enums names.
2016-10-07 18:09:28 +02:00
Christoph Oelckers
6487681736
- started porting constants.txt
2016-10-07 17:49:00 +02:00
Christoph Oelckers
ee66d22034
Revert "- added an option to disable the pickup screen flash."
...
This reverts commit 2d320a2e86
.
The feature has been superseded by pickup_fade_scalar and is no longer needed.
2016-10-07 08:46:06 +02:00
raa-eruanna
3ccc85876c
- Forgot to add language entries.
2016-10-06 20:05:30 -04:00
raa-eruanna
02f66fa34e
- Backported blood_fade_scalar from Skulltag
...
- Added new pickup_fade_scalar which works the same way for pickups
- Default for blood_fade_scalar is 1.0 instead of 0.5 from Skulltag.
2016-10-06 20:01:20 -04:00
Christoph Oelckers
5b350dcdd5
- gave Boom's point pusher and puller things the NOCLIP flag so that they won't get moved around by scrollers.
2016-10-05 16:27:12 +02:00
Christoph Oelckers
2d320a2e86
- added an option to disable the pickup screen flash.
2016-10-05 09:59:19 +02:00
Major Cooke
201ae3c60f
Added OverlayID() for retrieving psprite layer numbers.
2016-10-03 00:44:06 +02:00
Christoph Oelckers
0bce6e3925
- added ACS and DECORATE setter functions for named translations.
2016-10-02 14:09:45 +02:00
Christoph Oelckers
51ffd6d9c6
- fixed some warnings.
...
- A_SetRenderStyle should not default to STYLE_None.
2016-10-02 01:00:07 +02:00
Christoph Oelckers
80f2f5829f
- added A_SetRenderStyle function which replaces A_SetTranslucent. A_SetTranslucent had to be deprecated due to obsolete semantics of the renderstyle argument.
2016-10-02 00:43:05 +02:00
Marisa Heit
59e52b3e9b
Fixed: Heretic platforms make a mid-move sound, unlike Doom's
2016-09-27 18:40:36 -05:00
Major Cooke
dfa4f38c8f
Updated to new save game code.
2016-09-24 09:17:18 +02:00
Christoph Oelckers
d28d02839e
- fixed: An actor's default stencil color should be set in DECORATE instead of doing some hackery elsewhere to compensate for the lack of initialization.
2016-09-23 19:19:26 +02:00
raa-eruanna
780d672b25
Adds user-definable weapon bob speed
2016-09-22 08:42:59 +02:00
Christoph Oelckers
3eb1af6957
- added a GetMissileDamage function to DECORATE which can be used to properly retrieve an actor's damage value.
...
The damage property should be considered deprecated inside expressions from now on.
2016-09-19 03:45:22 +02:00
Magnus Norddahl
e794e59cd2
Add con_scale for scaling just the console
2016-09-08 00:39:52 +02:00
Magnus Norddahl
6414e01354
Add uiscale slider controlling what scale the On setting uses for hud_scale, hud_althudscale and con_scaletext
2016-09-08 00:39:51 +02:00
Christoph Oelckers
da5cf760b0
- forgot to save this one...
2016-08-28 10:10:32 +02:00
Christoph Oelckers
e04055dbb2
- added multiple message levels for 'developer' CVAR so that the important stuff won't get drowned in pointless notification spam that's of no use to anyone.
...
- made 'developer' CVAR persist across launches and added some menu entries for it.
- added checks for 'developer' to ACS's CheckInventory function.
2016-08-28 09:55:04 +02:00
Christoph Oelckers
ca8ef7f3f3
- moved bobbing menu strings into the correct file.
2016-08-16 11:20:22 +02:00
Christoph Oelckers
04c4147052
- renamed flag to be more descriptive.
2016-08-16 09:02:23 +02:00
Major Cooke
aa2ca77412
Added damagetype parameter and XF_NOACTORTYPE to A_Explode.
...
- By default, A_Explode will refer to the actor's damagetype if using none. The flag forces the function's type if used regardless of type.
2016-08-16 08:59:27 +02:00
Major Cooke
ec14dd94a7
A_Explode now returns the number of actors damaged and can be used in expressions.
...
- Enemies that do not take damage in any way are not counted.
2016-08-12 09:17:20 +02:00
Christoph Oelckers
b4e712ab01
- made disabling the push window check a real compatibility option.
...
No idea why this was a hidden one, this one definitely needs to be in the menu.
- set some required compatibility options for Super Sonic Doom.
2016-08-09 20:15:13 +02:00
Christoph Oelckers
ab837b608d
- compatibility optioned triggering sector actions by indirectly initiated teleports
...
There's several old maps depending on this not happening.
- Set the option for Hell's Twisted Influence Part 1.
2016-08-07 22:04:16 +02:00
Magnus Norddahl
a893013dbb
Adds HUD quadruple scale and a scale slider for the crosshair
2016-08-05 12:20:34 +02:00
Christoph Oelckers
2c38e20352
- update xlat/eternity.txt for reference.
2016-08-03 13:16:14 +02:00
Leonard2
8068792f4b
Fixed: A_RadiusGive had an incorrect definition
2016-07-31 09:06:14 +02:00
Xaser Acheron
a1a0da1f13
added SWF_SELECTPRIORITY flag to A_SelectWeapon
2016-07-29 18:48:54 -05:00
Major Cooke
13fa06fe7a
Renamed GetProximity to CountProximity.
...
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-30 00:27:12 +02:00
Major Cooke
167cb28563
Added GetProximity(classname, distance, flags, ptr).
...
- Behaves similarly to A_CheckProximity but returns the count of classname instead of true/false.
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-30 00:26:55 +02:00
Major Cooke
dfed6ac1fb
Added SpriteAngle and SpriteRotation properties.
...
- Includes four functions, A_SetSprite(Angle/Rotation) and GetSprite(Angle/Rotation).
- SpriteRotation offsets the angle of the sprite, allowing for actors to move backwards or sideways for example.
- SpriteAngle requires +SPRITEANGLE and sets the actor's sprite to the absolute rotation found at that angle. Overrides SpriteRotation once the flag is on.
2016-07-30 00:26:40 +02:00
MajorCooke
3d9591229e
Added A_CopySpriteFrame(from, to, flags)..
...
- Copies a sprite/frame from one actor pointer to another. Sprite and/or frame copying can be disabled with flags CPSF_NO<SPRITE/FRAME>.
2016-07-28 08:39:32 +02:00
Blue-Shadow
69a00ddabb
Added TRANSFERTRANSLATION morph flag
2016-07-24 00:56:57 +02:00
yqco
4d6532d303
Added RGF_NORANDOMPUFFZ flag for A_CustomRailgun and A_RailAttack
2016-07-22 02:46:41 -06:00
Blue-Shadow
c428e376cd
Added INFLICTORDMGTYPE flag to A_Damage* action functions
...
It forces the use of the inflictor's damagetype instead of whatever is
passed to the functions.
2016-07-19 08:34:55 +02:00
MajorCooke
35c30ab62f
Fixed missing constants.
2016-07-16 20:28:43 -05:00
MajorCooke
3c7e1e0528
- Added the tracer actor spawning for A_FireBullets and A_CustomBulletAttack.
...
The projectiles spawning conditions rely upon the puff successfully spawning.
# Conflicts:
# wadsrc/static/actors/actor.txt
2016-07-16 17:34:15 +02:00
alexey.lysiuk
da9f4cc1dd
Added 'ammo display order' item to options menu
2016-07-16 16:15:59 +02:00
MajorCooke
b121284fc0
Added GAF_SWITCH to GetAngle, inverting the function to get the caller's angle on the pointer instead.
2016-07-14 17:14:17 +02:00
m-x-d
1cf51791de
Adds //%Title property to all locks to make parsing LOCKDEFS by map editors more feasible.
...
Fixes: Strife Base key Message now uses LANGUAGE string.
2016-07-12 23:52:04 +02:00
Christoph Oelckers
522b2f4706
- updated xlat/eternity.txt for reference.
2016-07-12 23:50:45 +02:00
Christoph Oelckers
0b93e9b897
Merge branch 'roll' of https://github.com/MajorCooke/zdoom
2016-07-04 00:43:16 +02:00
Christoph Oelckers
148de414e0
- fixed: Checking for quest item 0 should not print an error message but silently fail.
2016-07-03 13:32:40 +02:00
Christoph Oelckers
593e2f7641
- fixed spelling.
2016-06-29 13:03:39 +02:00
jayman2000
43e62c4236
Added sliders in the display options menu to control movebob and stillbob.
2016-06-29 13:02:55 +02:00
Christoph Oelckers
ce0c2863b0
- set 'maskedmidtex' compatibility option for Caverns of Darkness MAP07.
2016-06-21 10:31:25 +02:00
MajorCooke
26408a5043
Switched the pointer to AAPTR_DEFAULT.
2016-06-20 09:11:38 -05:00
MajorCooke
85a34bbb88
Added GetPlayerInput(int numinput, int ptr = AAPTR_PLAYER1).
...
- Works exactly like the ACS version, but with pointers instead. The pointer can be anything, so long as it can be identified as a player.
2016-06-20 08:49:57 -05:00
MajorCooke
630dc8c8cd
Fixed execution prevention.
2016-06-19 22:18:43 -05:00
MajorCooke
dd410876cf
Added A_ClearOverlays(int start, int stop, bool safety).
...
- Clears a set of overlays in ranges [start,stop]. If unspecified, wipes all non-hardcoded layers. Safety determines whether to affect core layers or not (i.e. weapon). Returns the number of layers cleared.
Added no override boolean to A_Overlay and a boolean return type.
- If true, and a layer already has an active layer, the function returns false. Otherwise, sets the layer and returns true.
2016-06-20 01:15:49 +02:00
Christoph Oelckers
7ccdbf9b62
Merge branch 'PSprites'
2016-06-16 16:16:16 +02:00
Xaser Acheron
de0301a704
split bfg self-damage code into its own function, A_RadiusDamageSelf
2016-06-16 00:43:07 +02:00
Xaser Acheron
481ef7a5b5
added SMMU-BFG11k-style 'damrad' property to A_BFGSpray
2016-06-16 00:43:07 +02:00
Xaser Acheron
8e8248284a
added BFGF_HURTSOURCE and BFGF_MISSILEORIGIN to A_BFGSpray
2016-06-16 00:43:06 +02:00
MajorCooke
2d4eb8dde4
- Added limit parameter to A_RailAttack and A_CustomRailgun.
2016-06-14 18:20:43 -05:00
MajorCooke
fb286d1737
- Changed endsize to sizestep. Endsize affected more things than I thought it would.
2016-06-11 08:05:29 -05:00
Leonard2
ebe3f23677
Added GetCVar(string name)
...
Works like ACS's GetCVar
2016-06-11 10:15:49 +02:00
MajorCooke
f787056198
- Added endsize parameter and SPF_NOTIMEFREEZE for A_SpawnParticle.
...
SPF_NOTIMEFREEZE processes particles with this flag regardless of time freeze. The endsize parameter changes the scale of the particle to that size throughout its lifetime linearly.
2016-06-11 10:00:50 +02:00
Leonard2
afa708c138
Allow psprite layers to be manipulated directly from the player's own body
2016-06-03 19:18:58 +02:00
Leonard2
543414d31f
Added 2 new layer flags: PSPF_CVARFAST and PSPF_POWDOUBLE
...
These flags allowed to easily restore a lost part of the targeter layers
behavior
2016-06-03 00:50:11 +02:00
Christoph Oelckers
9cf1d96698
- added identification for delaweare.wad to the list of supported IWADs.
2016-06-02 12:04:35 +02:00
MajorCooke
bb91723174
- Added GetCrouchFactor(ptr).
...
Gets the crouch factor of a player. Can be set to target/master/tracer, as long as it's a player. Defaults to the first player.
2016-05-29 12:43:46 +02:00
MajorCooke
2719905ade
- Added source and inflictor parameters to all A_Damage/Kill functions.
...
- Source is the actor to blame for the cause of damage (monster infighting for example). For missiles, modders should consider setting to AAPTR_TARGET.
- Inflictor is the actor doing the damage itself. Note that by changing this, it will take into account the flags on the pointed actor.
2016-05-29 12:40:17 +02:00
Roadcrosser
334962da2c
Corrected death message not being gender neutral.
2016-05-29 12:38:36 +02:00
Leonard2
2f5ae3b51e
Changed the default layer indices and renamed them
...
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c
Added A_OverlayFlags
...
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
MajorCooke
1b1195df6a
- Added limit parameter to A_RadiusGive.
...
- The function ends operation if the number of successfully given actors reaches this count.
2016-05-23 21:11:26 -05:00
Leonard2
8c205ebac3
Added A_OverlayOffset
...
Like A_WeaponOffset except it can access any psprites
2016-05-20 17:04:45 +02:00
Leonard2
1ecfb5897b
Added A_Overlay
2016-05-20 17:04:45 +02:00
Christoph Oelckers
f22adcc398
- be more thorough with Eternal Doom MAP03. The compatibility option does not seem to fully solve the problem, so let's just clear the tags in the bogus stair sectors.
2016-05-18 21:06:07 +02:00
Christoph Oelckers
ae3f50d1b2
- set a compatibility option to build the stairs in Eternal Doom MAP03 correctly.
2016-05-18 13:11:31 +02:00
MajorCooke
cd3a3d4472
Not like this makes a difference.
2016-05-18 11:19:24 +02:00