List of codepointers: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(Regrouped the codepointers, to make the TOC less heavy)
Line 1: Line 1:
This '''list of codepointers''' is a list of all the action routines which can be used in [[EDF]]  [[frame]]s.
This '''list of codepointers''' is a list of all the action routines which can be used in [[EDF]]  [[frame]]s.


==Player gun frame code pointers==
=Player guns=
===Maintenance===
==Attacks==
*[[Light0]]
*[[CustomPlayerMelee]]
*[[Light1]]
*[[FireBFG]]
*[[Light2]]
*[[FireCGun]]
*[[WeaponReady]]
*[[FireCustomBullets]]
*[[Lower]]
*[[FireMissile]]: rocket launcher
*[[Raise]]
*[[FireOldBFG]]: alpha Doom BFG
*[[ReFire]]
*[[CheckReload]]
*[[GunFlash]]
 
===Attack===
*[[Punch]]
*[[FirePistol]]
*[[FirePistol]]
*[[FirePlasma]]
*[[FirePlayerMissile]]: custom missile attack
*[[FireShotgun]]
*[[FireShotgun]]
*[[FireShotgun2]]
*[[FireShotgun2]]: super shotgun
*[[FireCGun]]
*[[PlayerThunk]]: gives access to map object codepointers for guns; not needed any more
*[[FireMissile]]
*[[Punch]]: fist
*[[Saw]]
*[[Saw]]: noisy melee weapon
*[[FirePlasma]]
 
*[[FireBFG]]
==Control==
*[[CheckReload]]: super shotgun reload check
*[[CheckReloadEx]]: extended version that allows counter comparison
*[[JumpIfNoAmmo]]: as it says
*[[Lower]]: "lower" effect & frame
*[[Raise]]: "raise" effect & frame
*[[ReFire]]: skip frame if shooting is maintained (plasma gun cooldown effect)
*[[WeaponReady]]: "bob" effect, ready frame
 
==Other==
*[[EjectCasing]]: throw casing
*[[PlayerStartScript]]: start map script


====Parameterized====
==Muzzle flash effects==
*[[FireCustomBullets]]
*[[GunFlash]]: produces gunflash sprite without firing anything
*[[FirePlayerMissile]]
*[[Light0]]: resets the muzzle light level
*[[CustomPlayerMelee]]
*[[Light1]]: muzzle light level 1
*[[PlayerThunk]]
*[[Light2]]


===Special sound===
==Sound effects==
*[[BFGSound]]
*[[BFGSound]]
*[[CloseShotgun2]]: this one also includes ReFire
*[[LoadShotgun2]]: ...these two don't
*[[OpenShotgun2]]
*[[OpenShotgun2]]
*[[LoadShotgun2]]
*[[CloseShotgun2]]
===Frame scripting===
These pointers allow a degree of programmatic control over an weapon's behavior, and are therefore termed "frame scripting" codepointers.
Counter fields may have values from -32768 to 32767 (or -2147483648 to 2147483647 in development versions). Values above or below this range will wrap around.


==Frame scripting==
*[[WeaponCopyCtr]]
*[[WeaponCtrOp]]
*[[WeaponCtrJump]]
*[[WeaponCtrJump]]
*[[WeaponCtrSwitch]]
*[[WeaponCtrSwitch]]
*[[WeaponSetCtr]]
*[[WeaponSetCtr]]
*[[WeaponCtrOp]]
*[[WeaponCopyCtr]]
==General Code Pointers==
===Miscellaneous Pointers===
*[[BFGSpray]]
*[[BFG11KHit]]
*[[BouncingBFG]]
*[[BFGBurst]]
*[[Mushroom]]
*[[Nailbomb]]
*[[SetFlags]]
*[[UnSetFlags]]
*[[Fall]]
*[[Die]]
*[[BrainScream]]
*[[BrainExplode]]
*[[SpawnFly]]
*[[Fire]]
*[[Spawn]]
*[[SteamSpawn]]
*[[Turn]]
*[[Face]]
*[[LineEffect]]
*[[Stop]]
===Heretic miscellaneous pointers===
*[[PlayerSkull]]
*[[SpawnGlitter]]
*[[AccelGlitter]]
*[[SpawnAbove]]
*[[MummySoul]]
*[[BlueSpark]]
*[[GenWizard]]
*[[Sor2DthInit]]
*[[Sor2DthLoop]]
*[[PodPain]]
*[[RemovePod]]
*[[MakePod]]
*[[DripBlood]]
===Miscellaneous / Sound Pointers===
*[[StartFire]]
*[[FireCrackle]]
*[[SkelWhoosh]]
*[[FatRaise]]
*[[SpawnSound]]
===Heretic Misc / Sound Pointers===
*[[Sor1Pain]]
===Object sound pointers===
*[[PlaySound]]
*[[Pain]]
*[[Scream]]
*[[XScream]]
*[[PlayerScream]]
*[[BrainPain]]
*[[BrainAwake]]
*[[VileStart]]
===AI Pointers===
*[[Look]]
*[[Chase]]
*[[VileChase]]
*[[FaceTarget]]
*[[KeepChasing]]
*[[RandomWalk]]
===Heretic AI pointers===
*[[Sor1Chase]]
===AI Pointers with Walking Sounds===
*[[Metal]]
*[[BabyMetal]]
*[[Hoof]]
===Blast Radius Attack Pointers===
*[[Explode]]
*[[Detonate]]
===Heretic Blast Radius Attack Pointers===
*[[HticExplode]]


===Monster Attack Pointers===
=Map objects=
*[[PosAttack]]
==Flashes and booms==
*[[SPosAttack]]
*[[BFG11KHit]]: [[SMMU]] BFG variant
*[[VileTarget]]
*[[BFGBurst]]: produce a burst of smaller plasma objects
*[[VileAttack]]
*[[BFGSpray]]: BFG explosion afterglow
*[[SkelFist]]
*[[BouncingBFG]]: SMMU bouncing BFG
*[[SkelMissile]]
*[[BrainExplode]]: brain perpetual explosion controller
*[[FatAttack1]]
*[[BrainScream]]: giant demon wall explosion sequence
*[[FatAttack2]]
*[[Detonate]]: thing damage controlled explosion
*[[FatAttack3]]
*[[Explode]]: rocket/barrel splash damage
*[[CPosAttack]]
*[[Fire]]: stick on the face of attacker's target, like the vile fire
*[[TroopAttack]]
*[[GenTracer]]: generic tracer
*[[SargAttack]]
*[[Mushroom]]: mushroom explosion
*[[HeadAttack]]
*[[Nailbomb]]: explosion with shrapnels
*[[BruisAttack]]
*[[SpawnFly]]: spawn cube controller
*[[SkullAttack]]
*[[Tracer]]: one of the required components for homing missiles
*[[BspiAttack]]
===Heretic===
*[[CyberAttack]]
*[[BeastPuff]]: weredragon fire belch smoke
*[[PainAttack]]
*[[BlueSpark]]: create a blue d'sparil attack spark
*[[BrainSpit]]
*[[GenWizard]]: create a disciple
*[[HticExplode]]: heretic-compatible explosion
*[[HticTracer]]: like those golem skulls
*[[LichFireGrow]]: how the fire column expands
*[[LichIceImpact]]: how an ice globe explodes into shards
*[[MntrFloorFire]]: used by the straight flame snake
*[[PhoenixPuff]]: missile trail
*[[PodPain]]: pod goo splash on being hit
*[[VolcBallImpact]]: how a volcano ball fragments on impact
*[[WhirlwindSeek]]: used by the tornados


===Parameterized Monster Attacks===
==AI==
*[[BetaSkullAttack]]
*[[AlertMonsters]]: shout so other monsters chase the player
*[[Scratch]]
*[[Chase]]: pursue a target and check for attack
*[[MissileAttack]]
*[[CPosRefire]]: go to seestate if target is out of sight
*[[MissileSpread]]
*[[Face]]: face a specified angle
*[[BulletAttack]]
*[[FaceTarget]]: turn to target, look around it if it's partly invisible
*[[ThingSummon]]
*[[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
*[[Turn]]: turn around a specified angle
*[[VileChase]]: same as Chase, but resurrecting encountered cadavers


===Heretic monster attack pointers===
==AI attacks==
*[[MummyAttack]]
*[[BetaSkullAttack]]: remote melee attack
*[[MummyAttack2]]
*[[BrainSpit]]: cube spawn
*[[ClinkAttack]]
*[[BruisAttack]]: baron/knight of hell
*[[WizardAtk1]]
*[[BspiAttack]]: arachnotron
*[[WizardAtk2]]
*[[BulletAttack]]: custom bullet shooting
*[[WizardAtk3]]
*[[CPosAttack]]: pistol attack w/ shotgn noise
*[[Srcr2Decide]]
*[[CyberAttack]]: rocket launching
*[[Srcr2Attack]]
*[[FatAttack1]]: mancubus left attack
*[[KnightAttack]]
*[[FatAttack2]]: mancubus right attack
*[[BeastAttack]]
*[[FatAttack3]]: mancubus front attack
*[[BeastPuff]]
*[[HeadAttack]]: cacodemon
*[[SnakeAttack]]
*[[MissileAttack]]: custom missile shooting
*[[SnakeAttack2]]
*[[MissileSpread]]: MissileAttack variation, supports shooting spread shots
*[[Srcr1Attack]]
*[[PainAttack]]: elemental
*[[VolcanoBlast]]
*[[PainDie]]: elemental death (3 souls)
*[[VolcBallImpact]]
*[[PosAttack]]: former human
*[[MinotaurAtk1]]
*[[SargAttack]]: demon bite
*[[MinotaurDecide]]
*[[Scratch]]: custom melee attack
*[[MinotaurAtk2]]
*[[SkelFist]]: revenant punch
*[[MinotaurAtk3]]
*[[SkelMissile]]: revenant missile
*[[MinotaurCharge]]
*[[SkullAttack]]: flying skull
*[[MntrFloorFire]]
*[[SPosAttack]]: sergeant
*[[LichFire]]
*[[ThingSummon]]: customized summoning
*[[LichWhirlwind]]
*[[TroopAttack]]: imp
*[[LichAttack]]
*[[VileAttack]]: arch vile toss
*[[LichIceImpact]]
*[[VileTarget]]: spawn a vile fire effect on target
*[[LichFireGrow]]
===Heretic===
*[[ImpChargeAtk]]
*[[BeastAttack]]: weredragon
*[[ImpMeleeAtk]]
*[[ClinkAttack]]: sabre
*[[ImpMissileAtk]]
*[[ImpChargeAtk]]: gargoyle charge
*[[ImpMeleeAtk]]: gargoyle scratch
*[[ImpMisssileAtk]]: gargoyle fire
*[[KnightAttack]]: undead warrior
*[[LichAttack]]: iron lich random attack **only one which includes ice globes**
*[[LichFire]]: iron lich fire column
*[[LichWhirlwind]]: iron lich tornado
*[[MinotaurAtk1]]: maulotaur melee damage
*[[MinotaurAtk2]]: spreadshot
*[[MinotaurAtk3]]: straight flame snake
*[[MinotaurCharge]]: maulotaur charge
*[[MinotaurDecide]]: maulotaur ranged attack choosing
*[[MummyAttack]]: golem melee
*[[MummyAttack2]]: nitrogolem range
*[[SnakeAttack]]: ophidian blue spark
*[[SnakeAttack2]]: ophidian yellow shot
*[[Srcr1Attack]]: d'sparil mount attack
*[[Srcr2Attack]]: d'sparil sorcerer attack
*[[Srcr2Decide]]: d'sparil decide whether to teleport
*[[VolcanoBlast]]: volcano burst
*[[WizardAtk3]]: disciple tri-ball


===Homing Missile Maintenance Pointers===
==Alterations==
*[[Tracer]]
*[[BossDeath]]: special monster death functions (such as Baron death in E1M8)
*[[GenTracer]]
*[[BrainDie]]: exits the level
 
*[[CasingThrust]]: movement for ejected casing
===Heretic Homing Missile Maintenance Pointers===
*[[Die]]: causes suicide
*[[HticTracer]]
*[[FadeIn]]: increments alpha
*[[WhirlwindSeek]]
*[[FadeOut]]: decrements alpha, DOESN'T destroy the thing
 
*[[Fall]]: remove SOLID flag (used on dying monsters)
===Line of Sight Checking Pointers===
*[[KeenDie]]: open 666-tagged doors on death of all like-named monsters
*[[CPosRefire]]
*[[KillChildren]]: destroy all summoned things
*[[SpidRefire]]
*[[LineEffect]]: activate a tag using a special
 
===Special Monster Death Effects===
*[[PainDie]]
*[[KeenDie]]
*[[BossDeath]]
*[[BrainDie]]
*[[KillChildren]]
 
===Heretic Special Monster Death Effects===
*[[HticBossDeath]]
*[[SorcererRise]]
*[[ImpDeath]]
*[[ImpXDeath1]]
*[[ImpXDeath2]]
*[[ImpExplode]]
 
===Massacre Cheat Specials===
*[[PainNukeSpec]]
*[[PainNukeSpec]]
*[[SetFlags]]: alter flags
*[[SetTranslucent]]: modify alpha amount; setup additiveness or fuzziness
*[[ShowMessage]]: display text message
*[[Spawn]]: create another object on top of this one
*[[StartScript]]: run map script
*[[SteamSpawn]]: create steam effects
*[[Stop]]: set velocity to 0
*[[UnSetFlags]]: alter flags
===Heretic===
*[[AccelGlitter]]: accelerate upwards
*[[DripBlood]]: spawn heretic blood
*[[HticBossDeath]]: special monster death functions for Heretic
*[[ImpDeath]]: special death for gargoyle
*[[ImpExplode]]: crash for gargoyle
*[[ImpXDeath1]]: special extreme death for gargoyle, stage 1
*[[ImpXDeath2]]: special extreme death for gargoyle, stage 2
*[[MakePod]]: generate a pod
*[[MummySoul]]: create raising soul
*[[PlayerSkull]]: player death effect, when the skull tosses in air
*[[RemovePod]]: notifies the generator that this pod was destroyed
*[[Sor2DthInit]]: d'sparil death maintenance
*[[Sor2DthLoop]]: d'sparil death maintenance
*[[SorcererRise]]: d'sparil waking up after mount crash
*[[SorcNukeSpec]]
*[[SorcNukeSpec]]
*[[SpawnAbove]]: spawns above the summoner
*[[SpawnGlitter]]: create teleportation sparkle
*[[WizardAtk1]]: face target and clear GHOST flag
*[[WizardAtk2]]: face target and set GHOST flag


===Frame scripting pointers===
==Sound effects==
 
*[[AmbientThinker]]: ambient sound maintenance
These pointers allow a degree of programmatic control over an object's behavior, and are therefore termed "frame scripting" codepointers. Note that some other codepointers utilize the Counter fields of a thing, and so using those pointers along with these will cause interference. Codepointer descriptions now make note of which Counter fields they utilize, so be sure to check for conflicts. There are eight counters available for each individual map object, numbered from 0 to 7.
*[[BabyMetal]]: bspwlk sound effect -- also includes Chase!
 
*[[BrainAwake]]: loud bossit sound effect
Counter fields may have values from -32768 to 32767 (or -2147483648 to 2147483647 in development versions). Values above or below this range will wrap around.
*[[BrainPain]]: loud bospn sound effect
 
*[[FatRaise]]: mancubus warning -- also includes FaceTarget
*[[RandomJump]]
*[[FireCrackle]]: flame sound effect -- also includes "Fire" action!
*[[HealthJump]]
*[[Hoof]]: cyberdemon hoof sound -- also includes Chase!
*[[TargetJump]]
*[[Metal]]: metal sound effect -- also includes Chase!
*[[CounterJump]]
*[[Pain]]: play pain sound
*[[CounterSwitch]]
*[[PlayerScream]]: player-specific, health-dependent (death) sound
*[[SetCounter]]
*[[PlaySound]]: custom sound
*[[CounterOp]]
*[[PlaySoundEx]]: extended custom sound
*[[CopyCounter]]
*[[Scream]]: play death sound
*[[SetTics]]
*[[SkelWhoosh]]: revenant swing noise -- also includes FaceTarget
*[[AproxDistance]]
*[[SpawnSound]]: boscub sound effect -- also includes SpawnFly
 
*[[StartFire]]: flamst sound effect -- also includes "Fire" action!
===Small Scripting System===
*[[VileStart]]: archvile heat-up noise
 
*[[XScream]]: extreme death gut noise
These codepointers allow execution of Small functions in either of the Gamescript or Levelscript VMs. See the [[Small]] Usage Documentation and the Small Function Reference for full information.
 
*[[StartScript]]
*[[PlayerStartScript]]
 
===EDF-Related Pointers===
 
These pointers interact directly with parts of the EDF system. For more information on EDF, see the [[EDF]] Documentation.


*[[ShowMessage]]
==Frame scripting==
*[[AproxDistance]]: assign distance from target to a variable
*[[CheckPlayerDone]]: jump to a frame if not under player control
*[[CopyCounter]]: copy a variable to another variable
*[[CounterJump]]: counter-based next frame
*[[CounterOp]]: set a variable to an operation of another 2 variables
*[[CounterSwitch]]: counter-based set of frames
*[[HealthJump]]: health-based next frame
*[[JumpIfTargetInLOS]]: jump to frame if target is in the field of view
*[[RandomJump]]: random next frame
*[[SetCounter]]: set a variable
*[[SetTics]]: randomize frame duration
*[[TargetJump]]: go to designated frame if having a target


[[Category:Codepointers|*]]
[[Category:Codepointers|*]]

Revision as of 02:44, 19 January 2010

This list of codepointers is a list of all the action routines which can be used in EDF frames.

Player guns

Attacks

Control

Other

Muzzle flash effects

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

Sound effects

Frame scripting

Map objects

Flashes and booms

Heretic

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
  • Face: face a specified angle
  • 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
  • Turn: turn around a specified angle
  • VileChase: same as Chase, but resurrecting encountered cadavers

AI attacks

Heretic

Alterations

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