Randy Heit
a31bd78abe
Fix definitions of A_State/A_Int/A_Bool
...
- These aren't action functions, so PARAM_ACTION_PROLOGUE is
inappropriate.
2016-02-19 00:29:19 -06:00
Randy Heit
eace79ccad
Add some functions for use with DECORATE return
...
- Since DECORATE's return statement can only return the results of
function calls (I do not want to spend the time necessary to make it
return arbitrary expressions), here are three functions to get around
this limitation:
* A_State - Returns the state passed to it. You can simulate A_Jump
functions with this.
* A_Int - Returns the int passed to it.
* A_Bool - Returns the bool passed to it.
- e.g. If you want to return the number 3, you use this:
return A_Int(3);
If you want to jump to a different state, you use this:
return A_State("SomeState");
2016-02-18 22:15:03 -06:00
Randy Heit
fbbaae781b
Merge remote-tracking branch 'origin/master'
2016-02-18 22:05:40 -06:00
Randy Heit
ade780d810
Redo ACustomInventory::CallStateChain to check return types
2016-02-18 22:05:10 -06:00
Randy Heit
b8a16600ac
Braces around ACTION_RETURN used in an if are no longer optional
2016-02-18 21:39:13 -06:00
Randy Heit
b2ccd0bd28
Use action function return value to make state jumps happen
...
- The A_Jump family of action functions now return the state to jump
to (NULL if no jump is to be taken) instead of jumping directly.
It is the caller's responsibility to handle the jump. This will
make it possible to use their results in if statements and
do something other than jump.
- DECORATE return statements can now return the result of a function
(but not any random expression--it must be a function call). To
make a jump happen from inside a multi-action block, you must
return the value of an A_Jump function. e.g.:
{ return A_Jump(128, "SomeState"); }
- The VMFunction class now contains its prototype instead of storing
it at a higher level in PFunction. This is so that
FState::CallAction can easily tell if a function returns a state.
- Removed the FxTailable class because with explicit return
statements, it's not useful anymore.
2016-02-18 20:39:40 -06:00
Christoph Oelckers
f2125ea420
- this needs a return value...
2016-02-17 12:36:56 +01:00
Christoph Oelckers
42c6245a50
- restored A_CountdownArg to what it looked like before the scripting branch.
...
The new version did not work as expected anymore.
2016-02-17 11:42:45 +01:00
Christoph Oelckers
6adb069506
- rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
...
This was to resolve some circular dependencies with the portal code.
The most notable changees:
* FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
* split off the parts from p_maputl into a separate header.
* consolidated all blockmap related data into p_blockmap.h
* split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Christoph Oelckers
584147b8bb
- removed all occurences of FVector2 and FVector3 from the playsim code.
2016-02-11 20:01:12 +01:00
MajorCooke
dcfdb50307
- Fixed: checkz wasn't used.
...
- Use 0 instead of false.
2016-02-10 18:04:59 -06:00
MajorCooke
fefdb266cd
- Fixed: The coordinates need to be converted to doubles first. Also use length instead of length squared.
2016-02-10 17:48:17 -06:00
MajorCooke
e04fe06226
GetDistance Non-Action (Double version)
...
- Added GetDistance(bool checkz, ptr = aaptr_target).
- Returns the distance of an actor. Must be target, master or tracer.
2016-02-10 17:13:50 -06:00
Christoph Oelckers
d712686122
- fixed: A_CountdownArg could no longer access the first arg.
...
The latest bit of refactoring turned a '<0' check into '>0', while it should have been '>=0'.
2016-02-10 21:56:45 +01:00
Christoph Oelckers
b5029e0976
- call the native A_BossDeath directly instead of going through the VM-enabled action function.
...
- undo some formatting screwup in a_clericstaff.cpp.
2016-02-10 13:57:21 +01:00
Christoph Oelckers
3e5d1feecd
- fixed: A_CheckProximity could return unmorphed player pawns of currently morphed players.
2016-02-10 11:58:54 +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
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
43b4d452db
Merge branch 'ChaseThresholdScript' of https://github.com/MajorCooke/zdoom
...
# Conflicts:
# src/version.h
2016-02-08 13:06:08 +01:00
Randy Heit
47d33c1ef5
Fixed: A_Set(Float)Speed take FIXED speed, not INT
2016-02-05 22:24:12 -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
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
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
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