List of codepointers: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
No edit summary
Line 10: Line 10:
{{backto|Eternity Engine}}
{{backto|Eternity Engine}}


=Player guns=
==Player guns==
==Attacks==
===Attacks===
===Parameterized===
====Parameterized====
*[[CustomPlayerMelee]]
*[[CustomPlayerMelee]]
*[[FireCustomBullets]]
*[[FireCustomBullets]]
*[[FirePlayerMissile]]: custom missile attack
*[[FirePlayerMissile]]: custom missile attack
*[[PlayerThunk]] {{deprecated}}
*[[PlayerThunk]] {{deprecated}}
===Classic===
====Classic====
*[[FireBFG]]
*[[FireBFG]]
*[[FireCGun]]
*[[FireCGun]]
Line 29: Line 29:
*[[Saw]]: chainsaw attack
*[[Saw]]: chainsaw attack


==Control==
===Control===
*[[CheckReload]]: super shotgun reload check
*[[CheckReload]]: super shotgun reload check
*[[CheckReloadEx]]: extended version that allows counter comparison
*[[CheckReloadEx]]: extended version that allows counter comparison
Line 38: Line 38:
*[[WeaponReady]]: "bob" effect, ready frame
*[[WeaponReady]]: "bob" effect, ready frame


==Other==
===Other===
*[[EjectCasing]]: throw casing
*[[EjectCasing]]: throw casing


==Muzzle flash effects==
===Muzzle flash effects===
*[[GunFlash]]: produces gunflash sprite without firing anything
*[[GunFlash]]: produces gunflash sprite without firing anything
*[[Light0]]: resets the muzzle light level
*[[Light0]]: resets the muzzle light level
Line 47: Line 47:
*[[Light2]]
*[[Light2]]


==DOOM gun sound effects==
===DOOM gun sound effects===
*[[BFGSound]]
*[[BFGSound]]
*[[CloseShotgun2]]: this one also includes ReFire
*[[CloseShotgun2]]: this one also includes ReFire
Line 53: Line 53:
*[[OpenShotgun2]]
*[[OpenShotgun2]]


==Frame scripting==
===Frame scripting===
*[[PlayerStartScript]]: start map script
*[[PlayerStartScript]]: start map script
*[[WeaponCopyCtr]]
*[[WeaponCopyCtr]]
Line 61: Line 61:
*[[WeaponSetCtr]]
*[[WeaponSetCtr]]


=Map objects=
==Map objects==
==Simple movement==
===Simple movement===
These operations perform simple effects on thing's direction, position or velocity. The available codepointers are:
These operations perform simple effects on thing's direction, position or velocity. The available codepointers are:
*[[Face]]: face a specified angle
*[[Face]]: face a specified angle
*[[Stop]]: set velocity to 0
*[[Stop]]: set velocity to 0
*[[Turn]]: turn around a specified angle
*[[Turn]]: turn around a specified angle
==Explosions and flames==
===Explosions and flames===
===BFG9000===
====BFG9000====
*[[BFG11KHit]]: [[SMMU]] BFG variant
*[[BFG11KHit]]: [[SMMU]] BFG variant
*[[BFGBurst]]: produce a burst of smaller plasma objects
*[[BFGBurst]]: produce a burst of smaller plasma objects
*[[BFGSpray]]: BFG explosion afterglow
*[[BFGSpray]]: BFG explosion afterglow
*[[BouncingBFG]]: SMMU bouncing BFG
*[[BouncingBFG]]: SMMU bouncing BFG
===DOOM 2 Final boss===
====DOOM 2 Final boss====
*[[BrainExplode]]: brain perpetual explosion controller
*[[BrainExplode]]: brain perpetual explosion controller
*[[BrainScream]]: giant demon wall explosion sequence
*[[BrainScream]]: giant demon wall explosion sequence
*[[SpawnFly]]: spawn cube controller
*[[SpawnFly]]: spawn cube controller
===Explosions===
====Explosions====
*[[Detonate]]: thing damage controlled explosion
*[[Detonate]]: thing damage controlled explosion
*[[DetonateEx]]: parameterized detonate action
*[[DetonateEx]]: parameterized detonate action
Line 84: Line 84:
*[[Mushroom]]: mushroom explosion
*[[Mushroom]]: mushroom explosion
*[[Nailbomb]]: explosion with shrapnels
*[[Nailbomb]]: explosion with shrapnels
===Homing projectiles===
====Homing projectiles====
*[[GenTracer]]: generic tracer
*[[GenTracer]]: generic tracer
*[[HticTracer]]: like those golem skulls
*[[HticTracer]]: like those golem skulls
*[[Tracer]]: one of the required components for homing missiles
*[[Tracer]]: one of the required components for homing missiles
===Others===
====Others====
*[[Fire]]: stick on the face of attacker's target, like the vile fire
*[[Fire]]: stick on the face of attacker's target, like the vile fire
====Heretic specific====
=====Heretic specific=====
*[[BeastPuff]]: weredragon fire belch smoke
*[[BeastPuff]]: weredragon fire belch smoke
*[[BlueSpark]]: create a blue d'sparil attack spark
*[[BlueSpark]]: create a blue d'sparil attack spark
Line 102: Line 102:
*[[WhirlwindSeek]]: used by the tornados
*[[WhirlwindSeek]]: used by the tornados


==AI==
===AI===
*[[AlertMonsters]]: shout so other monsters chase the player
*[[AlertMonsters]]: shout so other monsters chase the player
*[[Chase]]: pursue a target and check for attack
*[[Chase]]: pursue a target and check for attack
Line 116: Line 116:
*[[VileChase]]: same as Chase, but resurrecting encountered cadavers
*[[VileChase]]: same as Chase, but resurrecting encountered cadavers


==AI attacks==
===AI attacks===
===Parameterized===
====Parameterized====
*[[BetaSkullAttack]]: remote melee attack
*[[BetaSkullAttack]]: remote melee attack
*[[BulletAttack]]: custom bullet shooting
*[[BulletAttack]]: custom bullet shooting
Line 126: Line 126:
*[[ThingSummon]]: customized summoning
*[[ThingSummon]]: customized summoning


===Original Doom===
====Original Doom====
*[[BrainSpit]]: cube spawn
*[[BrainSpit]]: cube spawn
*[[BruisAttack]]: baron/knight of hell
*[[BruisAttack]]: baron/knight of hell
Line 147: Line 147:
*[[VileAttack]]: arch vile toss
*[[VileAttack]]: arch vile toss
*[[VileTarget]]: spawn a vile fire effect on target
*[[VileTarget]]: spawn a vile fire effect on target
===Heretic===
====Heretic====
*[[BeastAttack]]: weredragon
*[[BeastAttack]]: weredragon
*[[ClinkAttack]]: sabre
*[[ClinkAttack]]: sabre
Line 172: Line 172:
*[[WizardAtk3]]: disciple tri-ball
*[[WizardAtk3]]: disciple tri-ball


==Alterations==
===Alterations===
*[[BossDeath]]: special monster death functions (such as Baron death in E1M8)
*[[BossDeath]]: special monster death functions (such as Baron death in E1M8)
*[[BrainDie]]: exits the level
*[[BrainDie]]: exits the level
Line 195: Line 195:
*[[UnHideThing]]: Unsets DONTDRAW flag on an object
*[[UnHideThing]]: Unsets DONTDRAW flag on an object
*[[UnSetFlags]]: alter flags
*[[UnSetFlags]]: alter flags
===Heretic===
====Heretic====
*[[AccelGlitter]]: accelerate upwards
*[[AccelGlitter]]: accelerate upwards
*[[DripBlood]]: spawn heretic blood
*[[DripBlood]]: spawn heretic blood
Line 216: Line 216:
*[[WizardAtk2]]: face target and set GHOST flag
*[[WizardAtk2]]: face target and set GHOST flag


==Sound effects==
===Sound effects===
*[[AmbientThinker]]: ambient sound maintenance
*[[AmbientThinker]]: ambient sound maintenance
*[[BabyMetal]]: bspwlk sound effect — also includes Chase!
*[[BabyMetal]]: bspwlk sound effect — also includes Chase!
Line 236: Line 236:
*[[XScream]]: extreme death gut noise
*[[XScream]]: extreme death gut noise


==Frame scripting==
===Frame scripting===
*[[AproxDistance]]: assign distance from target to a variable
*[[AproxDistance]]: assign distance from target to a variable
*[[CheckPlayerDone]]: jump to a frame if not under player control
*[[CheckPlayerDone]]: jump to a frame if not under player control

Revision as of 12:07, 23 November 2019

This list of codepointers is a list of all the action routines which can be used in EDF frames. They are common for all games, so for example Heretic codepointers can be used in Doom.

You can specify the codepointers with or without their internal A_ prefix, even inside DECORATE state syntax. For simplicity, they will be referred in this wiki without the prefix.

Note that some codepointers, inherited from MBF, use the misc1 and misc2 frame properties, instead of the more general args list. Side effects aside, this also means that they will not be usable in the DECORATE syntax, but they all have DECORATE-compatible equivalents.

IMPORTANT: Do not provide more nonzero arguments to the codepointers than specified in the reference. Doing so may break forward compatibility with versions of Eternity that implement new functionality to codepointers.

Back to EDF state reference
Back to Eternity Engine

Player guns

Attacks

Parameterized

Classic

Control

Other

Muzzle flash effects

  • GunFlash: produces gunflash sprite without firing anything
  • Light0: resets the muzzle light level
  • Light1: muzzle light level 1
  • Light2

DOOM gun sound effects

Frame scripting

Map objects

Simple movement

These operations perform simple effects on thing's direction, position or velocity. The available codepointers are:

  • Face: face a specified angle
  • Stop: set velocity to 0
  • Turn: turn around a specified angle

Explosions and flames

BFG9000

DOOM 2 Final boss

Explosions

Homing projectiles

Others

  • Fire: stick on the face of attacker's target, like the vile fire
Heretic specific

AI

  • AlertMonsters: shout so other monsters chase the player
  • Chase: pursue a target and check for attack
  • CPosRefire: go to seestate if target is out of sight
  • FaceTarget: turn to target, look around it if it's partly invisible
  • GenRefire: customizable refire control
  • KeepChasing: pursue target without attacking
  • Look: stand in guard, looking for targets
  • RandomWalk: random wandering for inactive enemies
  • Sor1Chase: d'sparil mount specific chase
  • Sor1Pain: d'sparil mount specific twitch. Calls Pain.
  • SpidRefire: like CPosRefire, slightly modified
  • VileChase: same as Chase, but resurrecting encountered cadavers

AI attacks

Parameterized

Original Doom

Heretic

Alterations

  • BossDeath: special monster death functions (such as Baron death in E1M8)
  • BrainDie: exits the level
  • CasingThrust: movement for ejected casing
  • Die: causes suicide
  • FadeIn: increments alpha
  • FadeOut: decrements alpha, DOESN'T destroy the thing
  • Fall: remove SOLID flag (used on dying monsters)
  • HideThing: Sets DONTDRAW flag on an object
  • KeenDie: open 666-tagged doors on death of all like-named monsters
  • KillChildren: destroy all summoned things
  • LineEffect: activate a tag using a special
  • PainNukeSpec
  • RestoreArtifact: Adds the SPECIAL flag back to an object, sets the object back into its spawnstate, and plays the object's seesound.
  • RestoreSpecialThing1: Removes the DONTDRAW flag from an object. If the object defines the itemrespawnat property, it will at this time be moved to a random spot if any such spots exist on the map (otherwise the item will remain where it spawned originally). The item will play its seesound.
  • RestoreSpecialThing2: Adds the SPECIAL flag back to an object and sets the object back into its spawnstate.
  • SetFlags: alter flags
  • SetTranslucent: modify alpha amount; setup additiveness or fuzziness
  • ShowMessage: display text message
  • Spawn: create another object on top of this one
  • SteamSpawn: create steam effects
  • UnHideThing: Unsets DONTDRAW flag on an object
  • UnSetFlags: alter flags

Heretic

Sound effects

  • AmbientThinker: ambient sound maintenance
  • BabyMetal: bspwlk sound effect — also includes Chase!
  • BrainAwake: loud bossit sound effect
  • BrainPain: loud bospn sound effect
  • FatRaise: mancubus warning — also includes FaceTarget
  • FireCrackle: flame sound effect — also includes "Fire" action!
  • Hoof: cyberdemon hoof sound — also includes Chase!
  • Metal: metal sound effect — also includes Chase!
  • Pain: play pain sound
  • PlayerScream: player-specific, health-dependent (death) sound
  • PlaySound: custom sound
  • PlaySoundEx: extended custom sound
  • Scream: play death sound
  • SkelWhoosh: revenant swing noise — also includes FaceTarget
  • SpawnSound: boscub sound effect — also includes SpawnFly
  • StartFire: flamst sound effect — also includes "Fire" action!
  • VileStart: archvile heat-up noise
  • XScream: extreme death gut noise

Frame scripting