List of codepointers

From Eternity Wiki
Jump to navigationJump to search

General code pointers can be used in any frame that is not a player gun frame. Player Gun Frame code pointers cannot be used anywhere except in player gun frames. If a code pointer is used in the wrong type of frame, the internal function call stack will be corrupted, a "Segmentation Violation" error will most likely occur, and Cyberdemons will come to get you in the night. This isn't an Eternity bug or limitation. This problem would eventually manifest itself even in the original doom.exe, as a sudden, unexplained Venetian Blinds crash. There is additionally no way to type-check codepointers at run-time, so the user must accept this responsibility.

Note that as of Eternity Engine v3.31 public beta 3, there is a special codepointer called PlayerThunk, usable via EDF, which allows player gun frames to call a select set of monster codepointers by proxy.

Parameterized pointers take parameters via fields on the frame in which they are used. The code pointer parameter information will indicate what fields are used as parameters, and what parameter values mean.

Player Gun Frame Code Pointers

Weapon Maintenance Pointers

Player Attack Pointers

Miscellaneous Weapon Pointers

Parameterized Player Attack Pointers

Weapon Frame Scripting Pointers

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. Values above or below this range will wrap around.

General Code Pointers

Miscellaneous Pointers

Heretic Miscellaneous Pointers

Miscellaneous / Sound Pointers

Heretic Misc / Sound Pointers

Object Sound Pointers

AI Pointers

Heretic AI Pointers

AI Pointers with Walking Sounds

Blast Radius Attack Pointers

Heretic Blast Radius Attack Pointers

Monster Attack Pointers

Parameterized Monster Attacks

Heretic Monster Attack Pointers

Homing Missile Maintenance Pointers

Heretic Homing Missile Maintenance Pointers

Line of Sight Checking Pointers

Special Monster Death Effects

Heretic Special Monster Death Effects

Massacre Cheat Specials

Frame Scripting Pointers

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.

Counter fields may have values from -32768 to 32767. Values above or below this range will wrap around.

Small Scripting System

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.

EDF-Related Pointers

These pointers interact directly with parts of the EDF system. For more information on EDF, see the EDF Documentation.