Christoph Oelckers
b484cbf18a
- fixed: It is not guaranteed that the class object that is created by FindClassTentative actually matches the real object that is required later, so it needs to be replaced wherever it could be referenced once the real object is created.
...
- removed some unneeded code from earlier attempts to fix the class type resolving issue.
2016-02-09 23:08:51 +01:00
Christoph Oelckers
ff70cf1ee7
- fixed: Resolving non-constant DECORATE expressions must be delayed until everything has been parsed.
...
If done as before, forward-declared classes cannot be found, and the immediate resolving is only needed for constant expressions, so explicitly enabling it in the 4 places where it is needed ensures that those unresolvable expressions remain intact until the final processing pass righr before the code generator is started.
2016-02-09 19:02:44 +01:00
Christoph Oelckers
5261acce1d
- undid incorrect part of CheckClass fix.
2016-02-09 17:55:43 +01:00
Christoph Oelckers
4d2a52418f
- added an errorlog option.
...
This cuts down on as much message noise as possible, outputs everything to a file specified as a parameter and then quits immediately, allowing this to run from a batch that's supposed to check a larger list of files for errors.
Multiple outputs get appended if the file already exists.
2016-02-09 14:20:49 +01:00
Christoph Oelckers
6c92525fcd
- added an option to FindClassTentative to make eventual failure to declare the missing class non-fatal.
...
Damn those old mods with broken actor references. Thanks to those FxClassTypeCast may not throw fatal errors.
2016-02-09 12:26:00 +01:00
Christoph Oelckers
26b657b637
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-09 11:51:39 +01:00
Christoph Oelckers
8823b60c0d
- fixed: FxClassTypeCast must use FindClassTentative to get the class type.
...
This function may well be invoked before a class is actually defined, so it needs to create a placeholder to be filled in later.
2016-02-09 11:51:19 +01:00
Randy Heit
f0b4962052
Fix: CountInv must return a value if the caller's expecting one
2016-02-08 22:21:42 -06:00
coelckers
1ca2293983
Merge pull request #538 from MajorCooke/CountInv
...
CountInv(itemtype, ptr_select)
2016-02-08 21:06:30 +01:00
Christoph Oelckers
0a7b17c469
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-08 21:01:46 +01:00
Christoph Oelckers
ceba4b0dae
- fixed: old style DECORATE must use exactly the same method to store the damage function as the modern version.
...
The difference in handling crashed with Daedalus.
2016-02-08 21:01:25 +01:00
MajorCooke
124e0458cf
- Fixed: A_CheckProximity could trigger an assert because the flags and ptr were not flagged as optional.
...
- Fixed: CPXF_ANCESTOR no longer worked for some reason because apparently the IsAncestorOf() functionality has changed. Use IsKindOf instead.
2016-02-08 10:26:18 -06:00
Christoph Oelckers
c940c2ba81
- fixed: The counters for the whirlwind were initialized too late, the first time they are needed is in P_CheckMissileSpawn, which gets called from inside P_SpawnMissile. Also took the opportunity and moved them to properties that are accessible from DECORATE.
2016-02-08 13:34:54 +01:00
Christoph Oelckers
43b4d452db
Merge branch 'ChaseThresholdScript' of https://github.com/MajorCooke/zdoom
...
# Conflicts:
# src/version.h
2016-02-08 13:06:08 +01:00
Randy Heit
7b42093dc9
Revert "- fixed incorrect code generation for '||' operator (at least I hope it's fixed now.)"
...
This reverts commit 2a89a9f1d8
.
2016-02-07 21:59:45 -06:00
Randy Heit
ecef5647d4
Merge branch 'scripting'
2016-02-07 21:58:38 -06:00
Randy Heit
138cdccaf9
Fix code generation for && and ||
...
- The test condition should be the same for both sides of the operators.
2016-02-07 21:56:56 -06:00
Christoph Oelckers
2a89a9f1d8
- fixed incorrect code generation for '||' operator (at least I hope it's fixed now.)
2016-02-07 21:36:02 +01:00
MajorCooke
ccf887c978
Fixed wrong type.
2016-02-06 13:49:16 -06:00
Randy Heit
47d33c1ef5
Fixed: A_Set(Float)Speed take FIXED speed, not INT
2016-02-05 22:24:12 -06:00
Randy Heit
c978aa32b1
Fix FxRandomPick code generation for floats
2016-02-05 22:18:54 -06:00
Randy Heit
48dcbabd60
Emit a message when trying to use something non-integral as a boolean
...
- It's not exactly optimal, since it silently removes the offending
expression, but it's better than crashing.
2016-02-05 22:18:54 -06:00
Randy Heit
cb6504669d
Add return statements for DECORATE.
2016-02-05 16:34:51 -06:00
Randy Heit
2516b8f8af
Adjusted the assert conditions in DoJump()
...
- With multiple A_Jump calls possible in a single action now, it is now
possible for DoJump() to be called with a callingstate that does not
match self->state because the state had been changed by a prior A_Jump
in the same action function.
2016-02-05 06:41:27 -06:00
Christoph Oelckers
3a57036f60
- a simple command line parameter is probably more suitsble for controlling the disassembly output.
2016-02-05 11:20:32 +01:00
Christoph Oelckers
312117b0bc
- disable script disassembly output by default. It's now controlled by a CVAR.
2016-02-05 10:56:15 +01:00
MajorCooke
35b7a5ccc1
Updated for scripting branch merge.
2016-02-04 22:41:02 -06:00
MajorCooke
1f8d425a1e
- Added CountInv(itemtype, [ptr_select]).
...
- Returns an inventory item count.
2016-02-04 21:45:31 -06:00
Christoph Oelckers
4751bffd5f
- replaced malloc.h with stdlib.h in thingdef_expression.cpp.
2016-02-05 01:26:29 +01:00
Christoph Oelckers
0b7a06c714
Merge branch 'NewEESpecials'
...
# Conflicts:
# src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Randy Heit
b3b0886b64
Merge branch 'scripting'
...
Conflicts:
src/actor.h
src/g_doom/a_doomweaps.cpp
src/g_hexen/a_blastradius.cpp
src/p_enemy.cpp
src/p_enemy.h
src/thingdef/thingdef.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
MajorCooke
a1c1de9edb
Fixed merge conflicts.
2016-02-02 18:26:20 -06:00
MajorCooke
eb2829ad5e
- Added CBF_DROPOFF to A_CheckBlock. Checks for actors stuck in tall ledges or dropoffs.
2016-01-31 09:45:41 -06:00
Braden Obrzut
5317a92d11
Merge branch 'RadiusGiveExp2'
2016-01-30 00:27:44 -05:00
MajorCooke
eeca536d9a
Clean up a few things.
2016-01-29 10:41:05 -06:00
MajorCooke
772f086a5e
Fixed broken aiming with A_CheckLOF.
2016-01-28 12:24:40 -06:00
MajorCooke
2da868656e
Finalize loop and prioritize missile searching.
2016-01-27 15:22:05 -06:00
MajorCooke
846f14c03d
Remove the loop.
2016-01-27 14:56:06 -06:00
MajorCooke
79177cf98e
Set up the subfunction.
2016-01-27 14:54:46 -06:00
MajorCooke
275cdcd958
Renamed A_FaceVelocity to A_FaceMovementDirection.
2016-01-27 10:12:13 -06:00
coelckers
c5379c749e
Merge pull request #428 from MajorCooke/A_CheckSPecies
...
Added A_CheckSpecies(state jump, name species, ptr = AAPTR_DEFAULT)
2016-01-27 16:45:16 +01:00
Christoph Oelckers
8993f84087
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-26 22:27:42 +01:00
Christoph Oelckers
2a1fa60aa6
Merge branch 'CheckProxExpPruned' of https://github.com/MajorCooke/zdoom
2016-01-26 18:49:03 +01:00
MajorCooke
1c0ef1d367
Removed CPXF_NODISTANCE.
2016-01-26 10:00:20 -06:00
coelckers
e397b5a475
Merge pull request #511 from MajorCooke/CheckLOFpitch
...
A_CheckLOF Pitch FIx
2016-01-26 14:44:05 +01:00
MajorCooke
cb43ce9cfc
- Fixed: A_CheckLOF was doubling up on its pitch and reversing it when without a target.
2016-01-26 07:20:55 -06:00
Christoph Oelckers
623276f5a6
- fixed: All access to weapon info in DECORATE functions should be restricted to when they get called from an actual weapon, not from a CustomInventory item.
...
Issues this fixes:
* all original Doom attack functions unconditionally altered the flash state.
* A_FireOldBFG, A_RailAttack and A_Blast never checked for a valid ReadyWeapon.
* CustomInventory items could deplete an unrelated weapon's ammo.
2016-01-26 09:43:47 +01:00
Randy Heit
774c136532
Fixed: Player.FallingScreamSpeed used minz as the maxz as well
2016-01-25 18:55:05 -06:00
MajorCooke
0be09f54bd
Particles can now scale up to 65535.
2016-01-25 15:44:11 -06:00
MajorCooke
ced35e98fb
Remove needless check.
2016-01-25 10:07:00 -06:00
Christoph Oelckers
67f644c898
- fixed inverted NULL pointer check in A_SetAngle.
...
- let COPY_AAPTR check the most common case AAPTR_DEFAULT first instead of running through all the other cases for it.
2016-01-24 11:50:21 +01:00
Randy Heit
c63f65d441
Merge remote-tracking branch 'origin/master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
2016-01-22 20:53:27 -06:00
Edward Richardson
2034f4e49f
Fixed cmf_aimdirection doubling up the spawn Z
2016-01-22 23:06:09 +13:00
MajorCooke
823edc4a69
- Cleaned up leftovers.
2016-01-21 21:23:43 -06:00
MajorCooke
b51bbf66b0
- Fixed pointer setting not working due to requiring more than the SET* flags.
...
- Changed search algorithm to be square and utilize fixed_t instead.
2016-01-21 21:15:50 -06:00
MajorCooke
793fc90716
Once more homogenized!
...
- DECORATE: color, flags, lifetime, size, angle, xyz offset/vel/accel, startalpha, fadestep.
- ACS: Similar, minus the angle parameter.
2016-01-21 19:59:33 -06:00
MajorCooke
28502b9a80
- Reorganized A_SpawnParticle parameters.
...
- Decorate order is now color, x/y/zoff, velx/y/z, lifetime, angle, flags, size, startalphaf, fadestepf, accelx/y/z.
- ACS order is now color, xyz offset, xyz velocity, lifetime, fullbright, size, startalpha, fadestep, xyz accel
2016-01-21 18:34:39 -06:00
Christoph Oelckers
841c7b275e
Merge branch 'ParticleFlags' of https://github.com/MajorCooke/zdoom
...
Conflicts:
wadsrc/static/actors/actor.txt
2016-01-22 00:58:42 +01:00
Christoph Oelckers
3b4ed8d7cd
- made A_SpawnParticle's fadestep parameter a fixed point value as well.
2016-01-22 00:54:09 +01:00
MajorCooke
13dc6be5a1
- Added flags for A_SpawnParticle and angle parameter.
...
- SPF_FULLBRIGHT makes the particle full bright.
- SPF_RELATIVE encapsulates the following flags:
- SPF_RELPOS: Position is relative to angle.
- SPF_RELVEL: Velocity is relative to angle.
- SPF_RELACCEL: Acceleration is relative to angle.
- SPF_RELANG: Add caller's angle to angle parameter for relativity.
2016-01-21 16:36:58 -06:00
Christoph Oelckers
39014b1732
- make the startalpha parameter of A_SpawnParticle a float to be consistent with other functions that want an alpha value.
2016-01-21 20:13:55 +01:00
Randy Heit
9744b9e0d9
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/dobject.h
src/dobjgc.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
2016-01-21 12:45:06 -06:00
MajorCooke
9638cbb844
Updated A_CheckProximity Expansion Pruned Edition.
2016-01-21 11:39:13 -06:00
Christoph Oelckers
995721836b
Merge branch 'SpawnParticle' of https://github.com/Edward850/zdoom
...
Conflicts:
src/actor.h
2016-01-21 17:04:52 +01:00
MajorCooke
93aff2413f
Fixed an issue which caused A_Teleport to set the caller and itself to SpotZ's z position.
2016-01-20 18:18:00 -06:00
MajorCooke
116e157447
Nevermind this.
2016-01-20 15:52:56 -06:00
MajorCooke
d20a7516c9
Updated A_FaceVelocity to remove conflicts.
2016-01-20 15:51:11 -06:00
Edward Richardson
e5c67cee83
Merge branch conflicts fix
...
- CONFLICT (content): Merge conflict in src/p_acs.cpp
- Updated position variables
2016-01-21 10:49:57 +13:00
Christoph Oelckers
98a9d7210a
- fixed the definitions for script access to AActor::x, y, z.
...
(Note: These should be made read only when real scripting becomes available!)
2016-01-20 15:19:35 +01:00
Christoph Oelckers
68c0f929dc
- refactoring complete. The source compiles again with the renamed position variable.
2016-01-20 15:12:51 +01:00
Christoph Oelckers
4b9647e539
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_hexenspecialdecs.cpp
src/g_strife/a_thingstoblowup.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-20 11:45:57 +01:00
Christoph Oelckers
e9b23cf833
- keep evaluation order of Random() calls defined.
2016-01-20 09:25:30 +01:00
Christoph Oelckers
7ea3e49332
- refactored p_mobj.cpp and the first half of p_map.cpp.
2016-01-20 01:48:57 +01:00
Christoph Oelckers
b73e1e65f5
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
2016-01-19 20:17:34 +01:00
Christoph Oelckers
7658111566
- refactoriung of thingdef_codeptr.cpp - probably the ugliest file in the entire project...
2016-01-19 20:15:45 +01:00
Christoph Oelckers
97620b0645
- fixed some leftover unused variable warnings.
...
- match the variable names in thingdef_codeptr.cpp to the ones in the scripting branch to reduce the amount of merge conflicts in upcoming changes.
2016-01-19 16:09:44 +01:00
Christoph Oelckers
bf747075e8
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_clericstaff.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc
Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
...
Conflicts:
src/p_pspr.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
fbaab5044d
Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
...
Conflicts:
src/d_dehacked.cpp
src/decallib.cpp
src/g_hexen/a_clericstaff.cpp
src/p_interaction.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
5207aa6cc0
Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
...
Conflicts:
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Christoph Oelckers
0e645ad173
- added a 'non-modify' mode to P_TeleportMove and let A_Respawn use that, rather than letting P_TeleportMove muck around with the actor properties and then have A_Respawn only partially and haphazardly restoring them afterward.
2016-01-16 16:30:53 +01:00
MajorCooke
629eaa35a3
- Fixed: A_Fade* could destroy live player bodies because it was calling the Destroy() function directly instead of going through P_RemoveThing.
2016-01-13 20:26:15 -06:00
Christoph Oelckers
2c0f64cf9f
- refactoring of R_PointToAngle2 when used to calculate direction between two actors.
2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622
- some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
...
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
MajorCooke
ccc694bbcd
- Added the following flags, all affixed with CPXF_:
...
- NODISTANCE: Disables distance checking.
- CHECKSIGHT: The qualifying actor must be in sight in order to count.
- SET<TARGET/MASTER/TRACER>: Gets the first qualifying actor and sets the calling actor's specified pointer to it.
- SETONPTR: If the function is being aimed at another actor other than the caller, sets that actor's pointers instead. Requires a SET* flag to work.
- FARTHEST: The actor farthest from the checking actor is set as the pointer. Requires a SET* flag to work.
- CLOSEST: The closest qualifying actor is set as the pointer. Requires a SET* flag to work.
2016-01-07 17:09:02 -06:00
MajorCooke
452c82cbe2
- Added TF_SENSITIVEZ to A_Teleport. Fail teleportation instead of adjusting the actor to fit if they cannot.
...
- When checking whether to use spot z or floorz, use spot floorz instead of ref for consistency.
2015-12-17 10:34:38 -06:00
Edward Richardson
c099cd4581
SpawnParticle functions
...
- Added A_SpawnParticle Decorate and SpawnParticle ACS functions.
2015-12-08 22:58:24 +13:00
Braden Obrzut
62d41a58a8
Merge branch 'DecProx3' of git://github.com/MajorCooke/zdoom into master
2015-12-07 00:53:06 -05:00
MajorCooke
8594bfaa8b
A_CustomPunch Extension
...
- Added Melee/Miss parameters just like A_CustomMeleeAttack.
2015-11-30 11:42:08 -06:00
MajorCooke
4fb48b332b
Added A_CheckProximity.
...
- Checks to see if a certain actor class, in numbers, is close to the actor/pointer via distance, based upon count. Can check for ancestry, disable Z searching, perform less than or equal to instead of greater or equal to, exact counts, check a pointer instead of itself and differentiate between live monsters and dead.
2015-11-28 10:53:34 -06:00
MajorCooke
d730b06da7
Added A_CheckSpecies(state jump, name species, ptr = AAPTR_DEFAULT)
...
- Performs a state jump if the defined species name for the pointed actor matches the criteria.
2015-11-26 01:33:02 -06:00
MajorCooke
7725e9d641
New line.
2015-11-25 23:17:13 -06:00
MajorCooke
a1e3112850
Removed FVF_RESETPITCH.
2015-11-25 23:15:59 -06:00
MajorCooke
ab5b1f479a
Updated A_FaceVelocity.
...
- Now includes anglelimit and pitchlimit.
- Anglelimit and pitchlimit only allows the actor to turn this much, similar to A_FaceTarget's limit. FVF_RESETPITCH also respects the pitch limit.
- (offset, anglelimit, pitchlimit, flags, ptr)
2015-11-25 21:49:25 -06:00
coelckers
da39c86967
Merge pull request #401 from MajorCooke/RadiusGiveMinRange
...
A_RadiusGive Mindist Parameter + RGF_OBJECTS Fix
2015-11-25 12:27:54 +01:00
MajorCooke
75855dc64a
A_FaceVelocity(offset, flags, ptr)
...
- Changes the caller's angle and pitch according to the direction of velocity they're travelling.
- FVF_NOPITCH and FVF_NOANGLE disable changing of pitch/angle respectively and should be counted as mutually exclusive, or the function does nothing.
- FVF_INTERPOLATE - Interpolate's the angle and pitch changes.
- FVF_RESETPITCH will, if there's no z velocity, reset the pitch to 0. Otherwise, the pitch remains unchanged.
2015-11-25 01:44:19 -06:00
Braden Obrzut
a8ac748123
Merge commit 'e2d874e343da34df6edfad0bb47370cbe10f4bae'
2015-10-25 15:00:43 -04:00
Edoardo Prezioso
4cd793ca2f
- Fixed broken projectile firing projectiles code.
...
This went unnoticed since ZDoom 2.0.90, which introduced the bug. Discovered with the recent TFlags improvements.
2015-10-13 09:13:37 +02:00
Edoardo Prezioso
6678c3550e
- Improve the TFlags code and fix the new errors.
...
The previous version didn't detect some real mistakes in code which used operator& with the wrong flagset (for now 'converted' to the correcly equivalent counterpart, waiting for the proper fix).
2015-10-13 00:30:06 +02:00
MajorCooke
75100d76fb
- Added Threshold Manipulation.
...
- Added 'threshold' and 'defthreshold' to DECORATE expression exposure.
- ChaseThreshold sets the default threshold for how long a monster must chase one target before it can switch targets. Default is 100, must not be negative.
- A_SetChaseThreshold can be used to alter the current or default threshold of an actor <pointer>.
- Changing current threshold has no effect on what the default will be once it hits 0 and something makes it infight with another.
2015-10-12 11:06:55 -05:00