Version 1, last updated by Luke S at 28 Jan 14:31 UTC

Routines serve a similar roles as Libraries do in Open Zelda Classic


Shared Routines  

game_default.inc

Public functions


SetState(q);
GetState();
GetType();
GetDir();
SetDir(q);

Helper functions


StateChanged();
ResetObjects( ... );
HideObjects( ... );
ShowObjects( ... );

mokoiquest.inc

Public Variables

Fixed:_angle_ = 0.0;
animdir = SOUTH;
Fixed:_speed_ = 0.0;
Fixed:_x_, Fixed:_y_, Fixed:_z_;
dx, dy, dz;
dw = 16, dh = 16;
ox = 0, oy = 0;
locations[6][4];
bool:_flipy_ = false;
bool:_flipx_ = false;

Helper Functions


ReplaceEntityGraphics( display_object[EntityGraphic], image[], bool:flip, bool:force = false )
UpdateEntityGraphics( display_object[EntityGraphic] )
ColourEntityGraphics( display_object[EntityGraphic], colour )
Fixed:Dir2Angle(d)
Angle2Dir(Fixed:a, Fixed:offset = 0.0)
StorePosition()
stock UpdateDisplayPosition()
stock EntityMove( maxmask, push_off = true )

questtypes.inc

#define NULLOBJECT object:-1
#define PUBLICFUNCTIONHIT public Hit( attacker[], angle, dist, attack, damage, x, y, rect )

enum _STATE {
ALIVE = 0,
STANDING,
MOVING,
HIT,
KNOCKED,
JUMPING,
SWIMMING,
FLOATING,
CHASING,
USING,
LIFTING,
STANDLIFT,
WALKLIFT,
SPECIALSTATE,
FALLING,
WAITING,
LEAPING,
PUSHING,
PULLING,
DYING,
DEAD,
GONE
}

enum _STATEEFFECTS {
NOEFFECT
STUNNED,
FROZEN,
SHOCKED,
BURNING,
}
enum EntityGraphic {
object:egOBJ,
egOFFX,
egOFFY,
egOFFZ
}


enum RECT {
rX,
rY,
rW,
rH
}

Entity Types

#define TYPE_UNKNOWN 0
#define TYPE_ENEMY 1
#define TYPE_DOOR 2
#define TYPE_WEAPON 3
#define TYPE_AWAKING 4
#define TYPE_TRANSPORT 5
#define TYPE_PUSHABLE 6
#define TYPE_SWITCH 7
#define TYPE_ITEM 8
#define TYPE_PLAYER 9

Item Types

#define ITEM_BOMBS 1
#define ITEM_ARROW 2
#define ITEM_RUPEE 3
#define ITEM_KEY 4
#define ITEM_MASTERKEY 5

Mask Values

#define MASK_CLEAR 0
#define MASK_DIRT 4
#define MASK_GRASS 8
#define MASK_PUDDLE 16
#define MASK_ICE 24
#define MASK_NORMALGROUND 64
#define MASK_ENEMYSOLID1 120 // Air Based
#define MASK_HOLE1 140
#define MASK_HOLE2 142
#define MASK_ENEMYSOLID2 160 // Ground Based
#define MASK_WALK 162
#define MASK_AUTOWALK 164
#define MASK_PLAYERSOLID 200
#define MASK_PLAYERSOLID2 202
#define MASK_WATER 180
#define MASK_BLOCK 240
#define MASK_LEAP 250
#define MASK_SOLID3 253
#define MASK_SOLID2 254
#define MASK_SOLID 255

Weapon Types

#define AEXPLOSION 1
#define ASWORD 2
#define APLAYER 4
#define AFIRE 8
#define AICE 16
#define ASTUN 32
#define ASHIELD 64
#define AMAGIC 128


Helper Function

TransitionPlayer( ntarget[], nx, ny, nplayer[], nsection[] );
EntityHit( entityid[], attacker[], angle, dist, attack, damage, x, y, rect );

Player

deathscreen.inc


Main Script

counters.inc

dialogbox.inc



Map 

enemycheck.inc

dungeon.inc

map_default.inc 

Types

dropitem.inc

enemy.inc
item.inc

npc.inc

weapon.inc