#include "SFBTypes.h"
#include "SFBAssert.h"
Go to the source code of this file.
Data Structures | |
struct | GRL |
A GRL is a "General Reflex Locator". More... | |
struct | SFBGRLMasterTable |
The description of all the known arrays-of-PacketHandler's 'reflex tables'. More... | |
struct | SFBDispatchEntry |
An SFBDispatchEntry describes an SFB reflex. More... | |
class | SFBReactor |
The SFBReactor manages the SFB reflex triggering system: It determines how an SFB will react to any given packet type. More... | |
class | SFBBrainReflex |
A 'convenience class' (with a prebuilt instance Brain) which provides a means of declaring reflexes that trigger at the "brain" -- i.e., after the individual faces and the Spine. More... | |
class | SFBSpineReflex |
A 'convenience class' (with a prebuilt instance Spine) which provides a means of declaring reflexes that trigger at the "spine" -- i.e., after the individual faces, but before the Brain. More... | |
Defines | |
#define | MAX_GRL_TABLES 7 |
The maximum number of tables of GRLs that can be defined. | |
#define | MAX_REACTORS 200 |
#define | MAX_CASUAL_REFLEXES 10 |
The maximum number of packet handlers that can be used in reflexes 'casually' -- i.e., without making a packet handler array and calling SFBReactor::reflexes() (which see). | |
#define | TRIGGER_SET_TYPE s16 |
#define | MAX_NESTED_TRIGGERS (sizeof(TRIGGER_SET_TYPE)*8) |
Typedefs | |
typedef void(* | PacketHandler )(u8 *packet) |
A pointer to a function that handles packets. | |
typedef void(* | DispatchHandler )(u8 *packet, u8 face) |
Functions | |
bool | isNone (GRL g) |
GRL | makeGRL (u8 table, u8 entry) |
void | initGRL (GRL &g, u8 table=0, u8 entry=0) |
void | reflex (const char type, PacketHandler ph, int flags=SFBReactor::TRIGGER_SPINE) |
Equivalent to Body.reflex(type,ph,flags). | |
Variables | |
SFBReactor | Body |
The 'central locus' for reacting to packets. | |
SFBBrainReflex | Brain |
An instance of SFBBrainReflex (which see) for creating 'brain level' reflexes. | |
SFBSpineReflex | Spine |
An instance of SFBSpineReflex (which see) for creating 'spinal' reflexes. |
#define MAX_GRL_TABLES 7 |
The maximum number of tables of GRLs that can be defined.
Calls to SFBReactor::reflexes draw against this limit. This value consumes BODYRAM at the rate of 5*MAX_GRL_TABLES.
typedef void(* PacketHandler)(u8 *packet) |
A pointer to a function that handles packets.
This is the signature of user-defined 'reflexes'