gfxEngine_documentation
|
#include "../gfxengine_shared/bfg_spriteEngine.h"
#include "../gfxengine_shared/bfg_GfxEngine.h"
#include <png/png.h>
#include <kos.h>
#include <stdlib.h>
#include <stdio.h>
Functions | |
int | spr_isSpriteCollidePerfect (int sprite1, int sprite2) |
Teste la collision parfaite entre deux sprites (Necessite un mask charge en memoire) More... | |
int | spr_isSpriteCollidePerfectCompress (int sprite1, int sprite2) |
Teste la collision parfaite entre deux sprites (Necessite un mask compresse charge en memoire) More... | |
int | spr_count_used_sprites (void) |
Compte le nombre de sprite actif. More... | |
void | spr_initSpriteEngine () |
Initialise le moteur de sprite classique. More... | |
void | spr_initSprite (int n, float x, float y, float rot, int i) |
Reserve un sprite specifique a une position x,y avec une rotation et indique son centre de rotation. More... | |
int | spr_reserveFreeSprite (void) |
Reserve et initialise un sprite. More... | |
int | spr_reserveFreeSpriteFrom (int borne) |
Reserve un sprite libre a partir d'un numero de sprite. More... | |
int | spr_initFreeSprite (float x, float y, float r, int i) |
Reserve un sprite specifique a une position x,y avec une rotation et indique son centre de rotation. More... | |
void | spr_releaseSprite (int n) |
Libere le sprite. More... | |
void | spr_releaseAllSprite () |
Libere tout les sprites. More... | |
void | spr_animateSprite (int s, int a) |
Declenche l'animation d'un sprite. More... | |
void | spr_changeSmoothSpriteRotAbsolute (int s, float nouvelAngle, int nbFrame) |
Change de maniere fluide la rotation d'un sprite en absolue. More... | |
void | spr_changeSmoothSpriteRotRelative (int s, float AngleStep, int nbFrame) |
Change de maniere fluide la rotation d'un sprite en relatif. More... | |
void | spr_changeSmoothSpriteTXAbsolute (int s, float nouvelPosX, int nbFrame) |
Change de maniere fluide la position x d'un sprite en absolue. More... | |
void | spr_changeSmoothSpriteTXRelative (int s, float StepX, int nbFrame) |
Change de maniere fluide la position x d'un sprite en relatif. More... | |
void | spr_changeSmoothSpriteTYAbsolute (int s, float nouvelPosY, int nbFrame) |
Change de maniere fluide la position y d'un sprite en absolue. More... | |
void | spr_changeSmoothSpriteTYRelative (int s, float StepY, int nbFrame) |
Change de maniere fluide la position y d'un sprite en relatif. More... | |
void | spr_setSpriteAnimation2 (int s, int a, int speed, int *v, int loop) |
Fonction un peu moins pourri pour definir une animation de sprite. More... | |
void | spr_setSpriteAnimation (int s, int a, int speed, int f0, int f1, int f2, int f3, int f4, int f5, int f6, int f7, int f8, int f9, int f10, int f11, int f12, int f13, int f14, int f15, int f16, int f17, int f18, int f19, int loop) |
Fonction toute pourrie pour definir une animation de sprite. More... | |
void | spr_moveSprite (int n, float x, float y) |
Positionne le sprite. More... | |
void | spr_moveSpriteRelative (int n, float x, float y) |
Positionne le sprite de manière relatif. More... | |
void | spr_changeSpriteRotation (int n, float r, int center) |
Change l'angle du sprite. More... | |
void | spr_changeSpriteZoom (int n, float zx, float zy) |
Change le zoom du sprite. More... | |
void | spr_changeSpriteImage (int n, int i) |
Change l'image du sprite. More... | |
void | spr_changeSpriteLayer (int n, int lno) |
Change le layer du sprite (Non utilise) More... | |
void | intern_spr_animationClassique (int n) |
void | spr_updateSprites (int n) |
Met a jour les animations du sprite. More... | |
void | spr_showSprite (int n) |
Affiche le sprite. More... | |
void | spr_updateAllSprites () |
Met a jour les animations de tout les sprites. More... | |
void | spr_stopAnimateSprite (int s) |
Arrete l'animation d'un sprite. More... | |
void | spr_showAllSprites () |
Affiche tout les sprites actifs. More... | |
void | spr_showAllSpritesLayer (int layerno) |
Affiche tout les sprites d'un certain layer (Non utilise) More... | |
int | intern_isSpriteCollide (int sprite1, int sprite2) |
int | spr_isSpriteCollide (int sprite1, int sprite2) |
Teste la collision hitbox entre deux sprites. More... | |
void | spr_setSpriteHitbox (int sprno, int hbx, int hby, int hbh, int hbl) |
Definit la hitbox d'un sprite. More... | |
float | spr_getSpriteZoomX (int n) |
float | spr_getSpriteZoomY (int n) |
float | spr_getSpriteRot (int n) |
float | spr_getSpriteX (int n) |
float | spr_getSpriteY (int n) |
int | spr_getFinAnimation (int sprno) |
int | spr_getFinRotation (int sprno) |
int | spr_getFinTX (int sprno) |
int | spr_getFinTY (int sprno) |
int | spr_getCurrentAnimation (int sprno) |
int | spr_getCurrentAnimationFrame (int sprno) |
int | spr_getHitBoxX (int sprno) |
int | spr_getHitBoxY (int sprno) |
int | spr_getHitBoxH (int sprno) |
int | spr_getHitBoxL (int sprno) |
void | ms_initMegaSpriteEngine (void) |
int | ms_reserveFreeMegaSprite (int nbPart) |
void | ms_destroyMegaSprite (int msno) |
void | ms_setDataMoveAnimation (int msno, float *data, int loop) |
Definit les mouvements des differentes parties du megasprite. More... | |
void | ms_setImagePart (int msno, int ipart, int ibno) |
void | ms_updateMegaSprite (int msno) |
void | ms_updateAllMegaSprite (void) |
void | ms_showMegaSprite (int msno) |
void | ms_showAllMegaSprite (void) |
void | ms_startAnimate (int msno) |
void | ms_stopAnimate (int msno) |
void | ms_setPosXPart (int msno, int pno, float x) |
void | ms_setPosYPart (int msno, int pno, float y) |
void | ms_setPosPart (int msno, int pno, float x, float y) |
void | ms_setRotPart (int msno, int pno, float r) |
void | ms_setPosX (int msno, float x) |
void | ms_setPosY (int msno, float y) |
float | ms_getPosX (int msno) |
float | ms_getPosY (int msno) |
int | ms_getCurrentPhase (int msno) |
int | ms_getFinAnimation (int msno) |
void | ms_setNbHitBox (int msno, int nb) |
void | ms_setHitBox (int msprono, int hno, int vx, int vy, int vh, int vl) |
int | intern_ms_isCollision (int x1, int y1, int h1, int l1, int x2, int y2, int h2, int l2) |
int | ms_isSpriteMegaSpriteCollide (int sprno, int msprno) |
void | ms_setAnimationPart (int msno, int pno, int *data, int loop) |
void | ms_startAnimatePart (int msno, int pno) |
void | ms_stopAnimatePart (int msno, int pno) |
Variables | |
int | resX |
int | resY |
sibank | imageBankTra [] |
unsigned char * | mask [MAX_IMAGE_TRA] |
ssprite | sprite [MAX_SPRITE] |
smsprite | msprite [MS_MAXMSPRITE] |
int intern_isSpriteCollide | ( | int | sprite1, |
int | sprite2 | ||
) |
int intern_ms_isCollision | ( | int | x1, |
int | y1, | ||
int | h1, | ||
int | l1, | ||
int | x2, | ||
int | y2, | ||
int | h2, | ||
int | l2 | ||
) |
void intern_spr_animationClassique | ( | int | n | ) |
void ms_destroyMegaSprite | ( | int | msno | ) |
int ms_getCurrentPhase | ( | int | msno | ) |
int ms_getFinAnimation | ( | int | msno | ) |
float ms_getPosX | ( | int | msno | ) |
float ms_getPosY | ( | int | msno | ) |
void ms_initMegaSpriteEngine | ( | void | ) |
int ms_isSpriteMegaSpriteCollide | ( | int | sprno, |
int | msprno | ||
) |
int ms_reserveFreeMegaSprite | ( | int | nbPart | ) |
void ms_setAnimationPart | ( | int | msno, |
int | pno, | ||
int * | data, | ||
int | loop | ||
) |
void ms_setDataMoveAnimation | ( | int | msno, |
float * | data, | ||
int | loop | ||
) |
Definit les mouvements des differentes parties du megasprite.
Format des datamoves : !! IMPORTANT DOIT RESPECTER LE NOMBRE DE PART !!
Timer A
PositionX,PositionY,Rotation Part 1 pour Timer A
PositionX,PositionY,Rotation Part 2 pour Timer A
[...]
Timer B
PositionX,PositionY,Rotation Part 1 pour Timer B
PositionX,PositionY,Rotation Part 2 pour Timer B
-1
msno | : numero du megasprite |
*data | : tableau de datamoves |
loop | : doit-on boucler ? |
void ms_setHitBox | ( | int | msprono, |
int | hno, | ||
int | vx, | ||
int | vy, | ||
int | vh, | ||
int | vl | ||
) |
void ms_setImagePart | ( | int | msno, |
int | ipart, | ||
int | ibno | ||
) |
void ms_setNbHitBox | ( | int | msno, |
int | nb | ||
) |
void ms_setPosPart | ( | int | msno, |
int | pno, | ||
float | x, | ||
float | y | ||
) |
void ms_setPosX | ( | int | msno, |
float | x | ||
) |
void ms_setPosXPart | ( | int | msno, |
int | pno, | ||
float | x | ||
) |
void ms_setPosY | ( | int | msno, |
float | y | ||
) |
void ms_setPosYPart | ( | int | msno, |
int | pno, | ||
float | y | ||
) |
void ms_setRotPart | ( | int | msno, |
int | pno, | ||
float | r | ||
) |
void ms_showAllMegaSprite | ( | void | ) |
void ms_showMegaSprite | ( | int | msno | ) |
void ms_startAnimate | ( | int | msno | ) |
void ms_startAnimatePart | ( | int | msno, |
int | pno | ||
) |
void ms_stopAnimate | ( | int | msno | ) |
void ms_stopAnimatePart | ( | int | msno, |
int | pno | ||
) |
void ms_updateAllMegaSprite | ( | void | ) |
void ms_updateMegaSprite | ( | int | msno | ) |
void spr_animateSprite | ( | int | s, |
int | a | ||
) |
Declenche l'animation d'un sprite.
s | : Numero du sprite |
a | : Numero de l'animation |
void spr_changeSmoothSpriteRotAbsolute | ( | int | s, |
float | nouvelAngle, | ||
int | nbFrame | ||
) |
Change de maniere fluide la rotation d'un sprite en absolue.
s | : Numero du sprite |
nouvelAngle | : Angle |
nbFrame | : Donne le nombre d'etape pour atteindre le nouvel angle |
void spr_changeSmoothSpriteRotRelative | ( | int | s, |
float | AngleStep, | ||
int | nbFrame | ||
) |
Change de maniere fluide la rotation d'un sprite en relatif.
s | : Numero du sprite |
AngleStep | : Ajoute/Soustrait la valeur de ce parametre a l'angle courant |
nbFrame | : Donne le nombre d'etape pour atteindre le nouvel angle |
void spr_changeSmoothSpriteTXAbsolute | ( | int | s, |
float | nouvelPosX, | ||
int | nbFrame | ||
) |
Change de maniere fluide la position x d'un sprite en absolue.
s | : Numero du sprite |
nouvelPosX | : Position X a atteindre |
nbFrame | : Donne le nombre d'etape pour atteindre la nouvelle position |
void spr_changeSmoothSpriteTXRelative | ( | int | s, |
float | StepX, | ||
int | nbFrame | ||
) |
Change de maniere fluide la position x d'un sprite en relatif.
s | : Numero du sprite |
nouvelPosX | : Ajoute/Soustrait la valeur de ce parametre a la position x |
nbFrame | : Donne le nombre d'etape pour atteindre la nouvelle position |
void spr_changeSmoothSpriteTYAbsolute | ( | int | s, |
float | nouvelPosY, | ||
int | nbFrame | ||
) |
Change de maniere fluide la position y d'un sprite en absolue.
s | : Numero du sprite |
nouvelPosY | : Position y a atteindre |
nbFrame | : Donne le nombre d'etape pour atteindre la nouvelle position |
void spr_changeSmoothSpriteTYRelative | ( | int | s, |
float | StepY, | ||
int | nbFrame | ||
) |
Change de maniere fluide la position y d'un sprite en relatif.
s | : Numero du sprite |
nouvelPosY | : Ajoute/Soustrait la valeur de ce parametre a la position x |
nbFrame | : Donne le nombre d'etape pour atteindre la nouvelle position |
void spr_changeSpriteImage | ( | int | n, |
int | i | ||
) |
Change l'image du sprite.
n | : Numero du sprite |
i | : ImageBank |
void spr_changeSpriteLayer | ( | int | n, |
int | lno | ||
) |
Change le layer du sprite (Non utilise)
n | : Numero du sprite |
lno | : Layer d'affichage |
void spr_changeSpriteRotation | ( | int | n, |
float | r, | ||
int | center | ||
) |
Change l'angle du sprite.
n | : Numero du sprite |
r | : Angle |
center | : 0 - Rotation par rapport au coin superieur gauche / 1 - Par rapport au centre |
void spr_changeSpriteZoom | ( | int | n, |
float | zx, | ||
float | zy | ||
) |
Change le zoom du sprite.
n | : Numero du sprite |
zx | : Facteur grossissant x |
zy | : Facteur grossissant y |
int spr_count_used_sprites | ( | void | ) |
Compte le nombre de sprite actif.
int spr_getCurrentAnimation | ( | int | sprno | ) |
int spr_getCurrentAnimationFrame | ( | int | sprno | ) |
int spr_getFinAnimation | ( | int | sprno | ) |
int spr_getFinRotation | ( | int | sprno | ) |
int spr_getFinTX | ( | int | sprno | ) |
int spr_getFinTY | ( | int | sprno | ) |
int spr_getHitBoxH | ( | int | sprno | ) |
int spr_getHitBoxL | ( | int | sprno | ) |
int spr_getHitBoxX | ( | int | sprno | ) |
int spr_getHitBoxY | ( | int | sprno | ) |
float spr_getSpriteRot | ( | int | n | ) |
float spr_getSpriteX | ( | int | n | ) |
float spr_getSpriteY | ( | int | n | ) |
float spr_getSpriteZoomX | ( | int | n | ) |
float spr_getSpriteZoomY | ( | int | n | ) |
int spr_initFreeSprite | ( | float | x, |
float | y, | ||
float | r, | ||
int | i | ||
) |
Reserve un sprite specifique a une position x,y avec une rotation et indique son centre de rotation.
x | : position x |
y | : position y |
r | : angle de rotation |
i | : Numero d'imageBank |
void spr_initSprite | ( | int | n, |
float | x, | ||
float | y, | ||
float | rot, | ||
int | i | ||
) |
Reserve un sprite specifique a une position x,y avec une rotation et indique son centre de rotation.
n | : numero du sprite a reserver |
x | : position x |
y | : position y |
rot | : angle de rotation |
i | : numero d'ImageBank |
void spr_initSpriteEngine | ( | ) |
Initialise le moteur de sprite classique.
int spr_isSpriteCollide | ( | int | sprite1, |
int | sprite2 | ||
) |
Teste la collision hitbox entre deux sprites.
sprite1 | : numero du 1er sprite |
sprite2 | : Numero du second sprite |
int spr_isSpriteCollidePerfect | ( | int | sprite1, |
int | sprite2 | ||
) |
Teste la collision parfaite entre deux sprites (Necessite un mask charge en memoire)
sprite1 | : numero du 1er sprite |
sprite2 | : Numero du second sprite |
int spr_isSpriteCollidePerfectCompress | ( | int | sprite1, |
int | sprite2 | ||
) |
Teste la collision parfaite entre deux sprites (Necessite un mask compresse charge en memoire)
sprite1 | : numero du 1er sprite |
sprite2 | : Numero du second sprite |
void spr_moveSprite | ( | int | n, |
float | x, | ||
float | y | ||
) |
Positionne le sprite.
n | : Numero du sprite |
x | : Position x du coin superieur gauche du sprite |
y | : Position y du coin superieur gauche du sprite |
void spr_moveSpriteRelative | ( | int | n, |
float | x, | ||
float | y | ||
) |
Positionne le sprite de manière relatif.
n | : Numero du sprite |
x | : Valeur x à ajouter ou soustraire de la position x courante |
y | : Valeur y à ajouter ou soustraire de la position x courante |
void spr_releaseAllSprite | ( | ) |
Libere tout les sprites.
void spr_releaseSprite | ( | int | n | ) |
Libere le sprite.
n | : Numero du sprite a liberer |
int spr_reserveFreeSprite | ( | void | ) |
Reserve et initialise un sprite.
int spr_reserveFreeSpriteFrom | ( | int | borne | ) |
Reserve un sprite libre a partir d'un numero de sprite.
borne | : numero de borne de recherche de sprite libre |
void spr_setSpriteAnimation | ( | int | s, |
int | a, | ||
int | speed, | ||
int | f0, | ||
int | f1, | ||
int | f2, | ||
int | f3, | ||
int | f4, | ||
int | f5, | ||
int | f6, | ||
int | f7, | ||
int | f8, | ||
int | f9, | ||
int | f10, | ||
int | f11, | ||
int | f12, | ||
int | f13, | ||
int | f14, | ||
int | f15, | ||
int | f16, | ||
int | f17, | ||
int | f18, | ||
int | f19, | ||
int | loop | ||
) |
Fonction toute pourrie pour definir une animation de sprite.
s | : Numero du sprite |
a | : Numero de l'animation a definir |
speed | : Vitesse de l'animation |
f1..f19 | : Numero d'imageBank pour une frame. -1 = Fin d'animation |
loop | : ANIM_LOOP = Animation qui boucle / ANIM_NOLOOP = Ne boucle pas |
void spr_setSpriteAnimation2 | ( | int | s, |
int | a, | ||
int | speed, | ||
int * | v, | ||
int | loop | ||
) |
Fonction un peu moins pourri pour definir une animation de sprite.
s | : Numero du sprite |
a | : Numero de l'animation a definir |
speed | : Vitesse de l'animation |
v | : Tableau contenant les numeros d'ImageBank composant l'animation. Doit se terminer par -1 et ne pas contenir plus de 20 valeurs. |
loop | : ANIM_LOOP = Animation qui boucle / ANIM_NOLOOP = Ne boucle pas |
void spr_setSpriteHitbox | ( | int | sprno, |
int | hbx, | ||
int | hby, | ||
int | hbh, | ||
int | hbl | ||
) |
Definit la hitbox d'un sprite.
s | : Numero du sprite |
hbx | : Position x du coin superieur gauche de la hitbox |
hby | : Position y du coin superieur gauche de la hitbox |
hbh | : Hauteur de la hitbox |
hbl | : Largeur de la hitbox |
void spr_showAllSprites | ( | ) |
Affiche tout les sprites actifs.
void spr_showAllSpritesLayer | ( | int | layerno | ) |
Affiche tout les sprites d'un certain layer (Non utilise)
layerno | : Numero du layer |
void spr_showSprite | ( | int | n | ) |
Affiche le sprite.
n | : Numero du sprite |
void spr_stopAnimateSprite | ( | int | s | ) |
Arrete l'animation d'un sprite.
s | : Numero du sprite |
void spr_updateAllSprites | ( | ) |
Met a jour les animations de tout les sprites.
n | : Numero du sprite |
void spr_updateSprites | ( | int | n | ) |
Met a jour les animations du sprite.
n | : Numero du sprite |
sibank imageBankTra[] |
unsigned char* mask[MAX_IMAGE_TRA] |
smsprite msprite[MS_MAXMSPRITE] |
int resX |
int resY |
ssprite sprite[MAX_SPRITE] |