Basetypes

Contents:

geDriver_System, geMesh, geMesh_Def,
geBoolean, GE_FALSE, GE_TRUE, geFloat, NULL, int32, int16, int8, uint32, uint16, uint8

GE_ABS(x), GE_CLAMP(x,lo,hi), GE_CLAMP8(x), GE_CLAMP16(x), GE_BOOLSAME(x,y), GE_EPSILON, GE_FLOATS_EQUAL(x,y), GE_FLOAT_ISZERO(x), GE_PI, GE_RGBA, GE_Rect, geRect, geFloatRect, GE_LVertex, GE_TLVertex

 

Links to Types in Other Files:

Actor Types: geActor, geActor_Def, geActor_BlendingType

Bitmap Types: geBitmap, geBitmap_Palette, geBitmap_Info, geBitmap_StreamingStatus

BitmapList Types: BitmapList

Body Types: geBody 

geVec3dIndexed: geVec3d

BitmapListIndexed: BitmapList

DirTreeIndexed: DirTree, DirTree_Finder

geActorIndexed: geActor, geActor_Def, geActor_BlendingType

geBodyIndexed: geBody

geBodyInstIndexed: geBodyInst, geBodyInst_Index, geBodyInst_FaceType, geBodyInst_SkinVertex, geBodyInst_Geometry

geBoxIndexed: geBox

geBSPIndexed: GBSP_Chunk, GBSP_ChunkData, GBSP_Header, GFX_SkyData, GFX_Plane, GFX_Node, GFX_BNode, GFX_AreaPortal, GFX_Area, GFX_Leaf, GFX_Cluster, GFX_LeafSide, GFX_Face, GFX_Model, GFX_Texture, GFX_TexInfo, GFX_Portal, GBSP_BSPData

geCameraIndexed: geCamera

geDriverIndexed: geEngine_FrameState, Sys_String, Sys_FontInfo, Sys_CPUInfo, geDriver_Mode, geDriver, Sys_DriverInfo, Sys_DebugInfo, geEngine_WorldList, geEngine

SystemIndexed: geEngine_FrameState, Sys_String, Sys_FontInfo, Sys_CPUInfo, geDriver_Mode, geDriver, Sys_DriverInfo, Sys_DebugInfo, geEngine_WorldList, geEngine

geErrorLogIndexed: geErrorLog_ErrorIDEnumType, geErrorLog_ErrorClassType

geExtBoxIndexed: geExtBox

geFogIndexed: SET_ATTR_CB, geFog

geFontIndexed: geFont

geMotionIndexed: geMotion

gePathIndexed: gePath_Interpolator

gePhysicsJointIndexed: gePhysicsJoint_Kind, gePhysicsJoint

gePhysicsObjectIndexed: gePhysicsObject

gePhysicsSystemIndexed: gePhysicsSystem

gePixelFormatIndexed: gePixelFormat_Composer, gePixelFormat_Decomoser, gePixelFormat_ColorGetter, gePixelFormat_ColorPutter, gePixelFormat_PixelGetter, gePixelFormat_PixelPutter, gePixelFormat_Operations, gePixelFormat

gePolyIndexed: gePoly, User_Info, gePose_BlendingType, gePose

gePuppetIndexed: gePuppet

geQKFrameIndexed: geQKFrame_InterpolationType

geQuaternionIndexed: geQuaternion

geRamIndexed: geRam_CriticalCallbackFunction

geStrBlockIndexed: geStrBlock

geTKArrayIndexed: geTKArray_TimeType, geTKArray

geVFileIndexed: geVFile, geVFile_Attributes, geVFile_Finder, geVFile_Hints, geVFile_MemoryContext, geVFile_Properties, geVFile_Time, geVFile_TypeIdentifier

geVKFrameIndexed: geVKFrame_InterpolationType

geWBitmapIndexed: geWBitmap

geWBitmapIndexed: geWBitmap_Pool

geWorldIndexed: geWorld, geWorld_Model, geWorld_Leaf, geWorld_FogData, geWorld_BSP, geWorld_SkyBox, geWorld_SkyBoxTData, geWorld_Actor, geWorld_EntClassSet, geWorld_DebugInfo, GE_Collision, GE_Contents

geXFArrayIndexed: geXFArray

geXForm3dIndexed: geXForm3d

LightIndexed: Light_DLight

LightIndexed: Light_LightInfo

Matrix33Indexed: Matrix33

MemPoolIndexed: MemPool

NetPlayIndexed: SP_DESC

NetPlayIndexed: SESSION_DESC

SurfaceIndexed: Surf_SurfInfo, Surf_TextVert, Surf_LVertex, Surf_TLVertex

VFile_SystemIndexed: geVFile_SystemAPIs, geVFile_FinderCreateFN, geVFile_FinderGetNextFileFN, geVFile_FinderGetPropertiesFN, geVFile_FinderDestroyFN, geVFile_OpenNewSystemFN, geVFile_UpdateContextFN, geVFile_OpenFN, geVFile_DeleteFileFN, geVFile_RenameFileFN, geVFile_FileExistsFN, geVFile_DisperseFN, geVFile_CloseFN, geVFile_GetSFN, geVFile_ReadFN, geVFile_WriteFN, geVFile_SeekFN, geVFile_EOFFN, geVFile_TellFN, geVFile_GetPropertiesFN, geVFile_SizeFN, geVFile_SetSizeFN, geVFile_SetAttributesFN, geVFile_SetTimeFN, geVFile_SetHintsFN

geBitmapIndexed: geBitmap

CSNetworkIndexed: geCSNetMgr, geCSNetMgr_NetID, geCSNetMgr_NetMsgType, geCSNetMgr_NetClient, geCSNetMgr_NetSession

geEntityIndexed: geEntity_ClassType, geEntity_Field, geEntity_Class, geEntity_Epair, geEntity, geEntity_EntitySet

DCommonIndexed: U8, U16, U32, C8, S8, S16, S32, geRDriver_THandle, geRDriver_PixelFormat, geRDriver_THandleInfo, DRV_Debug, DRV_CacheInfo, DRV_Window, DRV_RGB, DRV_Palette, DRV_Bitmap, DRV_LInfo, DRV_TexInfo, DRV_TLVertex, DRV_DriverHook, GInfo, DRV_EngineSettings, BEGIN_MESHES, BEGIN_MODELS, BEGIN_SCENE, BEGIN_WORLD, CREATE_TEXTURE, DESTROY_TEXTURE, DRAW_DECAL, DRV_Driver, DRV_RENDER_MODE, DRV_ENUM_PFORMAT, DRV_ENUM_MODES_CB, DRV_ENUM_DRV_CB, DRV_ENUM_PFORMAT_CB, DRV_Hook, DRV_INIT, DRV_RESET, DRV_SET_ACTIVE, DRV_SET_FOG_ENABLE, DRV_SHUTDOWN, DRV_UPDATE_WINDOW, END_MESHES, END_MODELS, END_SCENE, END_WORLD, GET_ALPHA, GET_GAMMA, GET_PALETTE, LOCK_THANDLE, RENDER_G_POLY, RENDER_MT_POLY, RENDER_W_POLY, SCREEN_SHOT, SET_ALPHA, SET_GAMMA, SETUP_LIGHTMAP_CB, SET_PALETTE, THANDLE_GET_INFO, UNLOCK_THANDLE, DRV_ENUM_DRIVER, DRV_ENUM_MODES

 

 

Types:

 

typedef struct geDriver_System geDriver_System;

NOTE: The contents of this structure have been intentionally left out of the interface, by the designers of this module. Think of this as a handle only.

Return to Contents

typedef struct geMesh_Def geMesh_Def;

NOTE: The contents of this structure have been intentionally left out of the interface, by the designers of this module. Think of this as a handle only.

Return to Contents

typedef struct geMesh geMesh;

NOTE: The contents of this structure have been intentionally left out of the interface, by the designers of this module. Think of this as a handle only.

Return to Contents

 

geBoolean

  • typedef signed int geBoolean;
    #define GE_FALSE (0)
    #define GE_TRUE  (1)

    Return to Contents

  • geFloat 

  • typedef float geFloat;

    Return to Contents

  • #ifndef NULL
        #define NULL ((void *)0)
    #endif

    Return to Contents

     

    typedef signed long     int32;

    typedef signed short    int16;

    typedef signed char     int8 ;

    typedef unsigned long  uint32;

    typedef unsigned short uint16;

    typedef unsigned char  uint8;

    Return to Contents

     

    #define GENESISCC _fastcall

    Return to Contents

     

    #define GENESISAPI _declspec(dllexport) [or] _declspec(dllimport) [or] <nothing>

    Note: If a function does not have this in its declaration, then it will not be available in precompiled libarary files.

    Return to Contents

     

    GE_RGBA;

    typedef struct {
        float r, g, b, a; //note: in Genesis3D v1.6 this is of type geFloat
    } GE_RGBA;

    Return to Contents

     

    GE_Rect;

    typedef struct {
        int32 Left;
        int32 Right;
        int32 Top;
        int32 Bottom;
    } GE_Rect;

    Return to Contents

     

    geRect 

    typedef GE_Rect geRect;

    Return to Contents


    geFloatRect;

    typedef struct {
        geFloat MinX,MaxX;
        geFloat MinY,MaxY;
    } geFloatRect;

    Return to Contents

     

    GE_LVertex;

    typedef struct {
        float X, Y, Z;         // 3d vertex //note: for Genesis3D v1.6 this is of type geFloat
        float u, v;              // Uv's //note: for Genesis3D v1.6 this is of type geFloat
        float r, g, b, a;       // color //note: for Genesis3D v1.6 this is of type geFloat
    } GE_LVertex;

    This structure stores a Lit Vertex.
    Return to Contents

     

    GE_TLVertex

    typedef struct {
        float x, y, z;            // screen points //note: for Genesis3D v1.6 this is of type geFloat
        float u, v;               // Uv's //note: for Genesis3D v1.6 this is of type geFloat
        float r, g, b, a;        // color //note: for Genesis3D v1.6 this is of type geFloat
    } GE_TLVertex;

    This structure stores a Transformed Lit Vertex.

    Questions:
        What is meant by Transformed?  This seems to be the same as GE_LVertex except the x,y,z here are labeled screen points. What are screen point?  Is this in screen coordinate space?

    Return to Contents

     

    geColor

    typedef struct {
        geFloat r, g, b;
    } geColor;

    Return to Contents

     

    geUV

    typedef struct {
        geFloat u, v;
    } geUV;

    Return to Contents

     

    geCoordinate 

    typedef struct {
        geFloat X;
        geFloat Y;
    } geCoordinate;

     

    Macros:

    #define GE_ABS(x)

    Computes the absolute value of x.

    Return to Contents

     

    #define GE_CLAMP(x,lo,hi)

    If x is less than lo, lo is returned, otherwise if x is greater than hi, hi is returned, otherwise x is returned.  In other words x is "clamped" between hi and lo.

    Return to Contents


    #define GE_CLAMP8(x)

    This is an 8-bit unsigned (0-255) clamp.  See GE_CLAMP above for more information.

    Return to Contents


    #define GE_CLAMP16(x)

    This is a 16-bit unsigned (0-65536) clamp.  See GE_CLAMP above for more information

    Return to Contents


    #define GE_BOOLSAME(x,y)

    This returns True if x and y are both true or both false, otherwise it returns False.

    Return to Contents


    #define GE_EPSILON    ((geFloat)0.000797f)

    If two floating point values differ by this constant or less then they are considered equivalent per the definition of GE_FLOATS_EQUAL shown below.  Thanks to Raul Beltran for clarifying and confirming my suspicions about this.  I'm still uncertain what the derivation of the specific value is.

    Return to Contents


    #define GE_FLOATS_EQUAL(x,y) ( GE_ABS((x) - (y)) < GE_EPSILON )

    This appears to define 2 floats (x,y) equal if they only differ by EPSILON as defined above.

    Return to Contents


    #define GE_FLOAT_ISZERO(x)  GE_FLOATS_EQUAL(x,0.0f)

    This defines a float as being "equal" to zero if it only differs from zero by EPSILON as define above.

    Return to Contents


    #define GE_PI     ((geFloat)3.14159265358979323846f)

    A value to use for pi.

    Return to Contents

     

    Model flags (geWorld_ModelSetFlags)

    #define GE_MODEL_RENDER_NORMAL   (1<<0)  // Render in normal views
    #define GE_MODEL_RENDER_MIRRORS   (1<<1)  // Render in mirror views
    #define GE_MODEL_RENDER_ALWAYS   (1<<2)  // Render always, skipping all visibility tests
    #define GE_MODEL_COLLIDE    (1<<3)  // Collide when calling geWorld_Collision

    Return to Contents