Character Script External Code

From Wolfire Games Wiki
Revision as of 12:21, 4 November 2017 by Merlyn (talk | contribs) (Constants)
Jump to: navigation, search

This is a list of the external code that is only available to be used inside a character script - variables, functions, and classes that "magically" exist.

To see a list of external code that is available to all scripts, please see this page - Common Script External Code

This list is pulled from the ~/Documents/Wolfire/Overgrowth/aschar_docs.h file, which is automatically generated by the game.

See this page to find the location for the Wolfire/Overgrowth folder on each OS - How to clear the game's cache

TODO: These can be documented individually, possibly on their own pages

Global Variables

ASCollisions col; // Used to access collision functions
ScriptParams params;
ReactionScriptGetter reaction_getter;
SphereCollision sphere_col; // Stores results of collision functions
MovementObject this_mo;

Constants

enum AnimationFlags : uint8 {
    _ANM_FROM_START,
    _ANM_MIRRORED,
    _ANM_MOBILE,
    _ANM_SUPER_MOBILE,
    _ANM_SWAP,
};
enum AttackerDirectionType : int {
    _front,
    _left,
    _right,
};
enum AttackerHeightType : int {
    _high,
    _low,
    _medium,
};
enum CollisionSides {
    DOUBLE_SIDED,
    SINGLE_SIDED,
};
enum NavPathFlag {
    DT_STRAIGHTPATH_START,
    DT_STRAIGHTPATH_END,
    DT_STRAIGHTPATH_OFFMESH_CONNECTION,
};
enum SamplePolyFlag {
    POLYFLAGS_NONE,
    POLYFLAGS_WALK,
    POLYFLAGS_SWIM,
    POLYFLAGS_DOOR,
    POLYFLAGS_JUMP1,
    POLYFLAGS_JUMP2,
    POLYFLAGS_JUMP3,
    POLYFLAGS_JUMP4,
    POLYFLAGS_JUMP5,
    POLYFLAGS_JUMP_ALL,
    POLYFLAGS_DISABLED,
    POLYFLAGS_ALL,
};

Global Functions

float GetAnimationEventTime( string &in anim_path, string &in event_label );
NavPoint GetNavPoint(vec3);
vec3 GetNavPointPos(vec3);
NavPath GetPath(vec3 start, vec3 end);
NavPath GetPath(vec3 start, vec3 end, uint16 include_poly_flags, uint16 exclude_poly_flags);
vec3 LineLineIntersect(vec3 start_a, vec3 end_a, vec3 start_b, vec3 end_b);  // Get closest point between two line segments
vec3 NavRaycast(vec3 start, vec3 end);
vec3 NavRaycastSlide(vec3 start, vec3 end, int depth);

Classes

class ASCollisions;
class AttackScriptGetter;
class CollisionPoint;
class NavPath;
class NavPoint;
class ReactionScriptGetter;
class SphereCollision;