boolean NamedDrawObj_Create1 (tokentype *Anchor, numtype ClassId, nametype Nam, ft F,lt Z,zz *Status, tokentype *Token) { numtype DrawId = 0; if (DeBug || OaBug || ClassBug) if (sprintf (Msg, "\n NamedDrawObj:: Create Anchor[%3u:%8u]; ClassId=%4u\n", Anchor->DbId, Anchor->Handle, ClassId)) TraceMsg (0, Msg); if (DrawLib01) DrawId = ++DrawLib01->DrawId; if (Normal(*Status)) if (Object_Create (Anchor, ClassId, McStat, Token)) if (Attr_ValuePut (Token, Id_Attr, (addrtype )&DrawId, McStat)) if (Attr_ValuePut (Token, Nam_Attr, (addrtype )Nam, McStat)) { if (DrawObjs_AddInto (&LibTkn010, Token, McStat)) NamedDrawObjs_AddInto (&LibTkn010, Token, McStat); } TRACK(TrackBak,"NamedDrawObj_Create1\n"); return (STAT); }
DrawObj *DrawObj_new1 (tokentype *AnchorTkn, numtype ClassId, ft F,lt Z,zz *Status) { tokentype Token = NullToken; DrawObj *Image = NullPtr; if (DeBug || OaBug || ClassBug) if (sprintf (Msg, " DrawObj_New1 Anchor= [%4u:%6u]; ClassId=%4u\n", AnchorTkn->DbId, AnchorTkn->Handle, ClassId)) TraceMsg (0, Msg); if (Object_Create (AnchorTkn, ClassId, McStat, &Token)) if (Object_GetImage (&Token, McStat, (addrtype *)&Image)) { if (DrawLib01) Image->Id = ++DrawLib01->DrawId; Image->draw = NULL; Image->area = NULL; Image->destruct = DrawObj_delete; } if (Normal(*Status)) DrawObjs_AddInto (&LibTkn010, &Token, McStat); STAT; return (Image); }
NamedDrawObj *NamedDrawObj_new0 (tokentype *AnchorTkn, ft F,lt Z,zz *Status) { tokentype Token = NullToken; NamedDrawObj *Image = NullPtr; if (DeBug || OaBug || ClassBug) if (sprintf (Msg, " NamedDrawObj_New0 Anchor= [%4u:%6u]\n", AnchorTkn->DbId, AnchorTkn->Handle)) TraceMsg (0, Msg); if (Object_Create (AnchorTkn, NamedDrawObj_Class, McStat, &Token)) if (Object_GetImage (&Token, McStat, (addrtype *)&Image)) { if (DrawLib01) Image->Id = ++DrawLib01->DrawId; Ut_IntToStr ((int )Image->Id, Image->Nam); Image->draw = NULL; Image->area = NULL; Image->destruct = NamedDrawObj_delete; } if (Normal(*Status)) if (DrawObjs_AddInto (&LibTkn010, &Token, McStat)) NamedDrawObjs_AddInto (&LibTkn010, &Token, McStat); STAT; return (Image); }
boolean NamedDrawObj_Create0 (tokentype *Anchor, ft F,lt Z,zz *Status, tokentype *Token) { numtype DrawId = 0; static nametype Nam = {"Create0_"}; if (DrawLib01) DrawId = ++DrawLib01->DrawId; Ut_IntToStr ((int )DrawId, Nam); if (DeBug || OaBug || ClassBug) if (sprintf (Msg, "\n NamedDrawObj:: Create [%3u:%8u] = <%s>\n", Anchor->DbId, Anchor->Handle, Nam)) TraceMsg (0, Msg); if (Object_Create (Anchor, NamedDrawObj_Class, McStat, Token)) if (Attr_ValuePut (Token, Id_Attr, (addrtype )&DrawId, McStat)) Attr_ValuePut (Token, Nam_Attr, (addrtype )&Nam, McStat); if (Normal(*Status)) if (DrawObjs_AddInto (&LibTkn010, Token, McStat)) NamedDrawObjs_AddInto (&LibTkn010, Token, McStat); TRACK(TrackBak,"NamedDrawObj_Create0\n"); return (STAT); }
Projectile* Projectile_Create( PROJECTILE_TYPES type, Object *pCreator, Vec4 *pvecOffset ) { Projectile *pProjectile; ObjectCreate Create; memset(&Create,0,sizeof(Create)); Create.exitfunc=Projectile_Exit; Create.renderfunc=Projectile_Render; Create.updatefunc=Projectile_Update; Create.iType=OBJECT_Projectile; Create.pName="Projectile"; pProjectile = (Projectile*)Object_Create(&Create, sizeof(Projectile)); pProjectile->type = type; pProjectile->pCreator = pCreator; Matrix *pMat; Matrix Mat; Object_GetMatrixPtr((Object *)pCreator, &pMat); Mat = *pMat; Mat.SetColumn(3, *pMat * (*pvecOffset)); Object_SetAllMatrix((Object *)pProjectile, &Mat); Vec3 vecDir; switch(type) { case PROJECTILE_BULLET: pProjectile->fLife = 1.f; pProjectile->vecVel = Mat.GetColumn(2) * 7.f; break; case PROJECTILE_ROCKET: pProjectile->fLife = 3.f; pProjectile->vecVel = Mat.GetColumn(2) * 5.f; pProjectile->pTrails[0] = Trail_Create( 0.08f, false, SWITCHCOL(0x1faaaaaa), "data/textures/stream.tga" ); pProjectile->pTrails[1] = Trail_Create( 0.08f, false, SWITCHCOL(0x1faaaaaa), "data/textures/stream.tga" ); vecDir = (Mat.GetColumn(0)*0.25f); Trail_AddPoint((Object*)pProjectile->pTrails[0], Mat.GetColumn(3), vecDir); vecDir = (Mat.GetColumn(1)*0.25f); Trail_AddPoint((Object*)pProjectile->pTrails[1], Mat.GetColumn(3), vecDir); pProjectile->pTrails[0]->leadingPointCallback = Rocket_GetRenderTrans; pProjectile->pTrails[0]->pSendData = pProjectile; pProjectile->pTrails[1]->leadingPointCallback = Rocket_GetRenderTrans; pProjectile->pTrails[1]->pSendData = pProjectile; break; } return pProjectile; }
Object Method_Create() { Object toReturn = Object_Create(); toReturn->entity = Allocator_GetUndeletable(_allocator); toReturn->gid = MethodGID; toReturn->destroy = &Method_Destroy; return toReturn; }
int main(void) { Object obj = Object_Create(); DEBUG("Allocated..."); Object_Release(obj); DEBUG(" deleted.\n"); return 0; };
Object File_Create() { File entity = Allocator_New(_allocator, sizeof(struct File)); entity->_descriptor = 0; Object toReturn = Object_Create(); toReturn->entity = entity; toReturn->destroy = &File_Destroy; toReturn->gid = FileGID; return toReturn; }
boolean DrawObj_Create1 (tokentype *Anchor, numtype ClassId, ft F,lt Z,zz *Status, tokentype *Token) { numtype DrawId = ++DrawLib01->DrawId; if (DeBug || OaBug || ClassBug) if (sprintf (Msg, "\n DrawObj:: Create [%3u:%8u]; ClassId=%4u\n", Anchor->DbId, Anchor->Handle, ClassId)) TraceMsg (0, Msg); if (Object_Create (Anchor, ClassId, McStat, Token)) if (Attr_ValuePut (Token, Id_Attr, (addrtype )&DrawId, McStat)) SetAddInto (DrawObjs_Set, &LibTkn010, Token, McStat); TRACK(TrackBak,"DrawObj_Create1\n"); return (STAT); }
boolean DrawObj_Create0 (tokentype *Anchor, ft F,lt Z,zz *Status, tokentype *Token) { numtype DrawId = 0; if (DrawLib01) DrawId = ++DrawLib01->DrawId; if (DeBug || OaBug || ClassBug) if (sprintf (Msg, "\n DrawObj:: Create [%3u:%8u]\n", Anchor->DbId, Anchor->Handle)) TraceMsg (0, Msg); if (Object_Create (Anchor, DrawObj_Class, McStat, Token)) Attr_ValuePut (Token, Id_Attr, (addrtype )&DrawId, McStat); TRACK(TrackBak,"DrawObj_Create0\n"); return (STAT); }