Dokumentace k souboru b_ai.c

Popis souboru | Proměnné | Funkce

Popis souboru (1)

specificke funkce objektu a sveta

Proměnné (3)

JménoTypPočáteční hodnotaDokumentace
ai_tree*tree?strom s objekt funkcemi [EXT]
explosion_model*model3d?jakysi defaultni model na exploze [EXT]
world*worldspawn?Cely svet. Obsahuje vsechny objektu a polygony a vsechno co je prave ve hre [EXT]

Funkce (42)

ModifikátorJménoParametryDokumentace
vectorabox_distance(vector from, aa_bbox *a)Spocita vzdalenost daneho bodu od daneho bounding boxu
voidai_assign(objectclass *c,const char *name,ai_func_type type)k dane classe priradi danou funkco pro dany typ
intai_call_check(object3d *obj,ai_func_type func)zkontroluje jestli lze zavolat objekt funkci (jestli je nastavena)
voidai_dogib(object3d *o)da objektu nahodnou rychlost/rotaci.. udela z nej letici srapnel/gib
voidai_register_func(const char *name,aifunc *func,ai_func_type type)zaregistruje jednu objekt funkci
voidaic_addprop(object3d *self,const char *key,const char *value)prida do classy hodnotu key=value
voidaic_areadamage(object3d *source,bfloat damage,bfloat range,damage_type dtype,vector origin)zpusobi area damage o hodnote damage, vzdalenosti range, typ damage je dtype a pocatek je v origin.
source je objekt, kteremu se pripise bod za pripadny kill
object3d *aic_createobject(vector origin,const char *classname)vytvori na dane pozici novy objekt daneho classname
voidaic_destroyobject(object3d *who)zpusobi zanik objektu
char *aic_getprop(object3d *self,const char *name)vytahne z classy hodnotu name (hleda v properties) a vrati ji jako string
bfloataic_getpropf(object3d *self,const char *name)vytahne z classy hodnotu name (hleda v properties) a vrati ji jako bfloat
bfloataic_getpropfd(object3d *self,const char *name,bfloat defvalue)vytahne z classy hodnotu name (hleda v properties) a vrati ji jako bfloat,
pokud neexistuje, tak vrati defvalue (defaultni hodnotu)
intaic_getpropid(object3d *self,const char *name,int defvalue)vytahne z classy hodnotu name (hleda v properties) a vrati ji jako int,
pokud neexistuje, tak vrati defvalue (defaultni hodnotu)
voidaic_player_movement(object3d *who,int ticks)pohyb (teleso typu hrac, neletajici)
voidaic_playsound(object3d *o,const char *name,bfloat variability)prehraje zvuk, vychazejici z daneho objektu, variability je mezi 0 a 0.5, urcuje promenslivost vysky zvuku
voidaic_recast(object3d *who,const char *name)zmeni tridu z jednoho objektu na jiny.
Destruktor stareho se nevola, konstruktor noveho ano
voidaic_removeobject(object3d *who)zpusobi zanik objektu BEZ volani destruktoru.
Napriklad pokud se objekt v konstruktoru rozhodne, ze se ani nechce vytvorit
a jeho destruktor obsahuje nezadouci efekty (gibs, blood, atd ...)
voidaic_standard_movement(object3d *who,int ticks)pohyb (teleso typu "kus sutru" bez pohonneho systemu - krome gravitace :o)
voidclass_set(object3d *o,const char *name)nastavi objektu typ a zavola kontruktor classy
ai_resultcreate_explosion(AI_CREATE)konstruktor exploze - nastaví model na model exploze
ai_resultcreate_mapobject(AI_CREATE)Konstruktor mapobjektu - nezničitelný objekt v mapě s daným modelem. Stejně jako u zdi, i zde je brána v úvahu vlastnost appearance
ai_resultcreate_nothing(AI_CREATE)prázdný konstruktor
ai_resultcreate_wall(AI_CREATE)Konstruktor zdi. Pokud je nastaveno appearance, je to pravděpodobnost v procentech, že zeď bude vytvořena (default je 100)
ai_resultdamage_bomb(AI_DAMAGE)Poškození: objekt se sám zničí (používá se u bomb, kde zničení obvykle vyvolá explozi)
ai_resultdamage_normal(AI_DAMAGE)při poškození sníží zdraví (health) objektu (standardní chování), pokud klesne pod nulu, zavolá destruktor
ai_resultdamage_nothing(AI_DAMAGE)na poškození nereaguje (tedy nezničitelný objekt)
ai_resultdamage_player(AI_DAMAGE)funkce pro poškození hráče, pokud klesne zdraví (health) pod nulu, je hráč zabit a útočníkovi připsán bod
ai_resultdamage_pushable(AI_DAMAGE)Poškození pro objekty, co jsou při explozi odmrštěny dále
ai_resultdestroy_bomb(AI_DESTROY)Zničení bomby způsobí explozi (ve vlastnostech bomby lze nastavit sílu a dosah - damage a range)
ai_resultdestroy_nothing(AI_DESTROY)Defaultní destruktor - neudělá nic (a objekt je pak zničen)
char *ftoa(bfloat x)zkonvertuje float na string
ai_resulttimer_bomb(AI_TIMER)timer funkce bomby - po daném čase exploduje
ai_resulttimer_explosion(AI_TIMER)timer funkce exploze - zajistí grafické zobrazení výbuchu (poškození se uděluje jinde)
ai_resulttimer_fade(AI_TIMER)po daném čase začne objekt plunyle mizet
ai_resulttimer_nothing(AI_TIMER)na timer nijak nereaguje (dummy funkce)
ai_resulttimer_player(AI_TIMER)timer: pohyb hráče
ai_resulttimer_stone(AI_TIMER)Timer: objekt se nepohybuje vlastní vůlí, ale je strkán, či padá
ai_resulttouch_bomb(AI_TOUCH)Dotyk: objekt se sám zničí (používá se u bomb, kde zničení obvykle vyvolá explozi)
ai_resulttouch_nothing(AI_TOUCH)na dotyk nereaguje (dummy funkce)
ai_resultwall_destroy(AI_DESTROY)objekt (zeď) se rozpadne na jednotlivé cihličky
bfloatworld_distance(object3d *o,vector from)spocte vzdalenost od objektu, bere v uvahu i bounding box a tak ... (ne jenom stred objektu) a vrati ji jako cislo
vectorworld_distance_v(object3d *o,vector from)spocte vzdalenost od objektu, bere v uvahu i bounding box a tak ... (ne jenom stred objektu) a vrati ji jako vektor

Dokumentace z 12.09.2003 18:06:39