funkce pro praci s 3d modely nahravani modelu vytvareni modelu dealokace pameti manipulace s bounding boxy ruzne jine funkce |
Jméno | Typ | Počáteční hodnota | Dokumentace |
failsafemodel | *model3d | ? | model pouzity pokud neni zadany model k dispozici (muze byt i NULL) |
fatal_loading_error | int | ? | pokud je 0, vse je v poradku, jinak to znamena ze pri nahravani neceho (typicky mapy) doslo k chybe...[EXT] |
model_tree | *tree | ? | strom s nahranymi modely [EXT] |
Modifikátor | Jméno | Parametry | Dokumentace |
void | _model_flush | (char *name,model *t,l_list **l) | vnitri callback funkce model_flush (pridani do seznamu) |
void | abox_addvertex | (aa_bbox *a,vertex v) | prida vertex do bounding boxu |
void | abox_inf | (aa_bbox *b) | nastavi na axis-aligned bounding boxu do souradni + a - nekonecno |
aa_bbox | abox_move | (aa_bbox *a,const vector p) | vrati axis-aligned bounding box posunutou o vektor polohy |
void | abox_move_v | (aa_bbox *a,const vector p) | axis-aligned bounding box je posunuta o vektor polohy |
void | abox_null | (aa_bbox *b) | vynujuje axis-aligned bounding box |
void | abox_scale | (aa_bbox *a,const bfloat scale) | axis-aligned bounding box je vynasobena o konstantu scale |
void | abox_scale_v | (aa_bbox *a,const vector scale) | axis-aligned bounding box je vynasobena o vektor scale |
aa_bbox | abox_x | (bfloat x) | vrati aa-bbox dane velikosti (<-x -x -x> - <+x +x +x>) |
model3d * | b_loadmodel | (const char *name) | zavola b_loadmodel_internal a nezvysi usage counter |
model * | b_loadmodel_internal | (const char *name) | nahraje model s danym jmenem a zaradi ho do seznamu nahranych modelu Pokud je v pameti tak misto nahravani rovnou vrati pointer. Muze vratit i null (prazdny model) |
model3d * | b_loadmodel_r | (const char *name) | zavola b_loadmodel_internal a zvysi usage counter |
model3d * | b_loadmodel_r_trans | (const char *name,bfloat tx,bfloat ty,bfloat tz,bfloat sx,bfloat sy,bfloat sz) | quick hack - nahraje model a pak ho scaluje a posunuje - nyni neni pouzivano |
void | b_unloadmodel | (const char *name) | podiva se po modelu s danym jmenem v pameti a pokud tam je, tak ho odstrani |
int | b_unloadmodel_r | (const char *name) | podiva se po modelu s danym jmenem v pameti a pokud tam je, tak ji snizi reference count. Pokud je 0, tak je odstranen z pameti vraci: 1 - model odstranen 0 - model neni v pameti |
matlist * | dupmatlist | (matlist *t) | zduplikuje texture list |
void | freel_list | (l_list *t) | odalokuje v pameti linked list |
void | freematlist | (matlist *t) | odalokuje v pameti material list |
void | freemodel | (model3d *m) | odalokuje v pameti model - pokud na nej nejsou reference |
void | freemodel_real | (model3d *m) | odalokuje v pameti model |
void | freeobject | (object3d *o) | odalokuje objekt vcetne podrazenych stuktur a child objektu. Neodalokuje ale parent |
void | freeobjectclass | (objectclass *c) | odalokuje v pameti object class (zde pouze snizi pocet referenci, k skutecne odalokaci dojde pozdeji, az pri zavolani garbage collectoru - typicky po nahrani dalsiho levelu se odstani ty veci co v tom levelu nejsou. Tohle bude chtit jeste doresit) |
void | freeobjectlist | (objectlist o) | odalokuje seznam objektu (jeden po druhem |
void | freeproperties | (properties *p) | odalokuje v pameti properties |
void | freeworld | (worldspawn *w) | odalokuje cely svet |
model * | fs_loadmodel | (const char *name) | Nahraje model z disku do pameti, typ modelu se vezme dle pripony |
void | fs_unloadmodel | (model *ou) | Uvolni nahrany model z pameti |
void | l_list_add | (l_list **m,void *tex) | prida tex do linked listu |
material * | mat_create | (byte r,byte g,byte b,byte alpha,texture *texture1) | vytvori material s danymi parametry a nastavi reference count na 1 |
void | mat_free | (material *m) | odalokuje material, pokud uz na nej nikde nic neukazuje |
void | mat_list_addmaterial | (matlist **m,material *tex) | prida material do seznamu |
void | material_list_use | (matlist *t,int r) | projde texturelist a u kazde textury v nem zvysi refcount (pocet pouziti) o r |
model * | model_addtomanager | (model3d *m,const char *name_as) | Nahraje model z v pameti do model manageru |
int | model_addvertex | (tmpmodel *m,bfloat x1,bfloat y1,bfloat z1,int check_if_already_exist) | prida vertex do modelu (pokud tam uz neni), vrati jeho cislo. Cisla tvori posloupnost, pocinaje nulou |
tmpmodel * | model_begin | (void) | vytvori docasny (pametove neefektivni, ale rychly) model |
void | model_calculate_abox | (model3d *mo) | spocita bounding box modelu |
void | model_clear | (tmpmodel *m) | vycisti model, ale neuvolni pamet. dobre pokud chcem hned delat dalsi model |
model3d * | model_end | (tmpmodel *m) | vyrobi finalni 3d model z docasneho modelu |
void | model_face_begin_id | (tmpmodel *m, byte r,byte g,byte b,byte alpha,texture *texture1) | zacatek facu |
void | model_face_begin_mat | (tmpmodel *m, material *mat) | zacatek facu |
void | model_face_end | (tmpmodel *m) | konec facu: normala se spocita automaticky |
void | model_face_end_v | (tmpmodel *m,vector normal) | konec facu: normala dana vektorem |
void | model_flush | () | odstrani z pameti modely co nejsou pouzivany (refcount=0) |
void | model_free | (tmpmodel *m) | uvolni model z pameti |
void | model_move | (model3d *mo,bfloat ix,bfloat iy,bfloat iz) | presune vsechny vertexy v modelu o (ix,iy,iz) - move |
void | model_scale | (model3d *mo,bfloat ix,bfloat iy,bfloat iz) | vynasobi vsechny vertexy v modelu (ix,iy,iz) - scale |
model3d * | model_txt_load | (const char *name) | nahrani modelu ve formatu milkshapa ascii |
void | model_vertex | (tmpmodel *m,bfloat tex_x,bfloat tex_y,bfloat x,bfloat y,bfloat z) | prida vertex podle souradnic |
void | model_vertex_num | (tmpmodel *m,bfloat tex_x,bfloat tex_y,int vnum) | prida vertex podle cisla - nutno nejdriv pridat vertexu cislo pres model_addvertex |
void | model_vertexv | (tmpmodel *m,bfloat tex_x,bfloat tex_y,vertex v) | prida vertex (podle souradnic) |
void | model_vertexvs | (tmpmodel *m,bfloat tex_x,bfloat tex_y,vertex v,bfloat scale) | prida vertex (podle souradnic, se scalovanim) |
worldspawn * | world_empty | (int obj) | vytvori prazdny svet a naalokuje misto pro obj dynamickych objektu |