gfxEngine_documentation
bfg_GfxEngine_Dreamcast.c File Reference
#include <stdlib.h>
#include <kos.h>
#include <png/png.h>
#include "bfg_GfxEngine_Dreamcast.h"

Functions

float nx (float mx, float my, float c, float s, float i, float j)
 
float ny (float mx, float my, float c, float s, float i, float j)
 
void initGfxEngine320 ()
 Initialise le gfxEngine en 320*240. More...
 
void initGfxEngine ()
 Initialise le gfxEngine en 640*480. More...
 
int getResX (void)
 Retourne la valeur de la resolution x en pixel. More...
 
int getResY (void)
 Retourne la valeur de la resolution y en pixel. More...
 
int loadImageTra (char *filename, int noImage, int hauteur, int largeur)
 Charge une image PNG 32bits. More...
 
int loadMask (char *filename, int noImage)
 Charge un masque de collision de sprite en memoire. More...
 
int getPixelMask (int noImage, int x, int y)
 
void freeMask (int noImage)
 Libere la memoire utilisee par le masque lie a une image. More...
 
int loadCompressMask (char *filename, int noImage)
 Charge un masque de collision compresse de sprite en memoire. More...
 
int getPixelCompressMask (int noImage, int x, int y)
 Libere la memoire utilisee par le masque compresse lie a une image. More...
 
void freeCompressMask (int noImage)
 
void getImageBankTra (int ibno, int is, int sx, int sy, int sh, int sl)
 Cree en memoire une portion d'image (= ImageBank) a partir d'une image complete. More...
 
void getImageTile (int ibno, int is, int sx, int sy, int sh, int sl)
 Cree en memoire une tuile (= Tile) a partir d'une image complete. (Servira pour tileMapEngine ou scrollMapEngine) More...
 
void getImageAlpha (int ibno, int is, int sx, int sy, int sh, int sl)
 Cree en memoire un caractere graphique (= Alpha) a partir d'une image complete. (Servira pour writeEngine) More...
 
void prepareEcritureVideoGlobale ()
 Signale au PVR qu'il va recevoir des donnees (Dreamcast only) More...
 
void prepareEcritureVideoTra ()
 Signale au PVR qu'il va recevoir des polygones avec transparence (Dreamcast only) More...
 
void termineEcritureVideoTra ()
 Signale au PVR qu'on a termine l'envoie des polygones transparent (Dreamcast only) More...
 
void termineEcritureVideoGlobale ()
 Signale au PVR qu'on a termine d'ecrire des donnees et affiche a l'ecran.(Dreamcast) Ou affiche le buffer video PC a l'ecran. (PC) More...
 
void blitImageTra (int ino, int dx, int dy)
 Affiche une image. More...
 
int getFreeImageBankTra ()
 Retourne le premier numero d'imageBank non utilise. More...
 
void blitImageBankTra (int ibno, int dx, int dy)
 Affiche une imageBank. More...
 
void blitImageTile (int ibno, int dx, int dy)
 Affiche une tuile. More...
 
void blitImageAlpha (int ibno, int dx, int dy)
 Affiche un Alpha. More...
 
void blitImageBankTraRot (int ibno, int dx, int dy, float myrot, float zx, float zy, int center)
 Affiche une imageBank avec zoom et rotation. More...
 
void freeImageTra (int noImage)
 Detruit l'image et libere la memoire. More...
 
void freeAllImageTra (void)
 Detruit toutes les images et libere la memoire. More...
 
void freeAllImage (void)
 Detruit toutes les images et libere la memoire (Doublon freeAllImageTra) More...
 
int checkController ()
 Lit la manette (Dreamcast) ou le clavier (PC), et charge en memoire les donnees recueillis. More...
 
int getKeyA (void)
 Retourne 1 si le bouton A de la manette a ete presse (Dreamcast), ou touche "C" (PC) More...
 
int getKeyB (void)
 Retourne 1 si le bouton B de la manette a ete presse (Dreamcast), ou touche "V" (PC) More...
 
int getKeyX (void)
 Retourne 1 si le bouton X de la manette a ete presse (Dreamcast), ou touche "B" (PC) More...
 
int getKeyY (void)
 Retourne 1 si le bouton Y de la manette a ete presse (Dreamcast), ou touche "N" (PC) More...
 
int getKeyUp (void)
 Retourne 1 si le bouton HAUT de la manette a ete presse (Dreamcast), ou touche "haut" (PC) More...
 
int getKeyDown (void)
 Retourne 1 si le bouton BAS de la manette a ete presse (Dreamcast), ou touche "bas" (PC) More...
 
int getKeyLeft (void)
 Retourne 1 si le bouton GAUCHE de la manette a ete presse (Dreamcast), ou touche "gauche" (PC) More...
 
int getKeyRight (void)
 Retourne 1 si le bouton DROITE de la manette a ete presse (Dreamcast), ou touche "droite" (PC) More...
 
int getKeyStart (void)
 Retourne 1 si le bouton START de la manette a ete presse (Dreamcast), ou touche "P" (PC) More...
 
int getNoDirection (void)
 Retourne 1 si il n'y a aucune direction de selectionne. More...
 
int anyActionKeyPress (void)
 Retourne 1 si une touche "action" (A,B,X,Y sur DC) (C,V,B,N sur PC) a ete enfonce. More...
 

Variables

simage imagesTra [MAX_IMAGE_TRA]
 
unsigned char * mask [MAX_IMAGE_TRA]
 
unsigned char * maskCompress [MAX_IMAGE_TRA]
 
sibank imageBankTra [MAX_IMAGEBANK_TRA]
 
stiles imageTile [MAX_IMGTILE]
 
salpha imageAlpha [MAX_ALPHA]
 
int keyRight = 0
 
int keyLeft = 0
 
int keyUp = 0
 
int keyDown = 0
 
int keyQuit = 0
 
int keyActionA = 0
 
int keyActionB = 0
 
int keyActionX = 0
 
int keyActionY = 0
 
int keyActionStart =0
 
int ZPos = 0
 
int resX = 640
 
int resY = 480
 
int traitement = 2
 

Function Documentation

int anyActionKeyPress ( void  )

Retourne 1 si une touche "action" (A,B,X,Y sur DC) (C,V,B,N sur PC) a ete enfonce.

Returns
0 ou 1
void blitImageAlpha ( int  ibno,
int  dx,
int  dy 
)

Affiche un Alpha.

Parameters
ibno: Numero de l'alpha a afficher
dx: Position x en pixel
dy: Position y en pixel
Returns
void blitImageBankTra ( int  ibno,
int  dx,
int  dy 
)

Affiche une imageBank.

Parameters
ibno: Numero de l'imageBank a afficher
dx: Position x en pixel
dy: Position y en pixel
Returns
void blitImageBankTraRot ( int  ibno,
int  dx,
int  dy,
float  myrot,
float  zx,
float  zy,
int  center 
)

Affiche une imageBank avec zoom et rotation.

Parameters
ibno: Numero de l'imageBank a afficher
dx: Position x en pixel
dy: Position y en pixel
myrot: Angle de rotation
zx: Facteur de zoom x
zy: Facteur de zoom y
dy: La rotation se fait-elle du centre ou du coin superieur gauche ? (0 - coin / 1 - centre)
Returns
void blitImageTile ( int  ibno,
int  dx,
int  dy 
)

Affiche une tuile.

Parameters
ibno: Numero de la tile a afficher
dx: Position x en pixel
dy: Position y en pixel
Returns
void blitImageTra ( int  ino,
int  dx,
int  dy 
)

Affiche une image.

Parameters
ino: Numero de l'image a afficher
dx: Position x en pixel
dy: Position y en pixel
Returns
int checkController ( )

Lit la manette (Dreamcast) ou le clavier (PC), et charge en memoire les donnees recueillis.

Returns
0
void freeAllImage ( void  )

Detruit toutes les images et libere la memoire (Doublon freeAllImageTra)

Parameters
noImage: Numero de l'image
Returns
void freeAllImageTra ( void  )

Detruit toutes les images et libere la memoire.

Parameters
noImage: Numero de l'image
Returns
void freeCompressMask ( int  noImage)
void freeImageTra ( int  noImage)

Detruit l'image et libere la memoire.

Parameters
noImage: Numero de l'image
Returns
void freeMask ( int  noImage)

Libere la memoire utilisee par le masque lie a une image.

Parameters
noImage: Numero de l'image que reference le masque
Returns
int getFreeImageBankTra ( )

Retourne le premier numero d'imageBank non utilise.

Returns
numero d'imageBank libre
void getImageAlpha ( int  ibno,
int  is,
int  sx,
int  sy,
int  sh,
int  sl 
)

Cree en memoire un caractere graphique (= Alpha) a partir d'une image complete. (Servira pour writeEngine)

Parameters
ibno: Numero de l'alpha que l'on veut cree
is: Numero de l'image source
sx: Position x de depart dans l'image source
sy: Position y de depart dans l'image source
sh: Hauteur de l'alpha
sl: Largeur de l'alpha
Returns
void getImageBankTra ( int  ibno,
int  is,
int  sx,
int  sy,
int  sh,
int  sl 
)

Cree en memoire une portion d'image (= ImageBank) a partir d'une image complete.

Parameters
ibno: Numero de l'imageBank que l'on veut cree
is: Numero de l'image source
sx: Position x de depart dans l'image source
sy: Position y de depart dans l'image source
sh: Hauteur de l'imageBank
sl: Largeur de l'imageBank
Returns
void getImageTile ( int  ibno,
int  is,
int  sx,
int  sy,
int  sh,
int  sl 
)

Cree en memoire une tuile (= Tile) a partir d'une image complete. (Servira pour tileMapEngine ou scrollMapEngine)

Parameters
ibno: Numero de la tuile que l'on veut cree
is: Numero de l'image source
sx: Position x de depart dans l'image source
sy: Position y de depart dans l'image source
sh: Hauteur de la tuile
sl: Largeur de la tuile
Returns
int getKeyA ( void  )

Retourne 1 si le bouton A de la manette a ete presse (Dreamcast), ou touche "C" (PC)

Returns
0 ou 1
int getKeyB ( void  )

Retourne 1 si le bouton B de la manette a ete presse (Dreamcast), ou touche "V" (PC)

Returns
0 ou 1
int getKeyDown ( void  )

Retourne 1 si le bouton BAS de la manette a ete presse (Dreamcast), ou touche "bas" (PC)

Returns
0 ou 1
int getKeyLeft ( void  )

Retourne 1 si le bouton GAUCHE de la manette a ete presse (Dreamcast), ou touche "gauche" (PC)

Returns
0 ou 1
int getKeyRight ( void  )

Retourne 1 si le bouton DROITE de la manette a ete presse (Dreamcast), ou touche "droite" (PC)

Returns
0 ou 1
int getKeyStart ( void  )

Retourne 1 si le bouton START de la manette a ete presse (Dreamcast), ou touche "P" (PC)

Returns
0 ou 1
int getKeyUp ( void  )

Retourne 1 si le bouton HAUT de la manette a ete presse (Dreamcast), ou touche "haut" (PC)

Returns
0 ou 1
int getKeyX ( void  )

Retourne 1 si le bouton X de la manette a ete presse (Dreamcast), ou touche "B" (PC)

Returns
0 ou 1
int getKeyY ( void  )

Retourne 1 si le bouton Y de la manette a ete presse (Dreamcast), ou touche "N" (PC)

Returns
0 ou 1
int getNoDirection ( void  )

Retourne 1 si il n'y a aucune direction de selectionne.

Returns
0 ou 1
int getPixelCompressMask ( int  noImage,
int  x,
int  y 
)

Libere la memoire utilisee par le masque compresse lie a une image.

Pour creer un masque de collision utiliser les outils livre avec la librairie

Parameters
noImage: Numero de l'image que reference le masque
Returns
int getPixelMask ( int  noImage,
int  x,
int  y 
)
int getResX ( void  )

Retourne la valeur de la resolution x en pixel.

Parameters
int getResY ( void  )

Retourne la valeur de la resolution y en pixel.

Parameters
void initGfxEngine ( )

Initialise le gfxEngine en 640*480.

Parameters
void initGfxEngine320 ( )

Initialise le gfxEngine en 320*240.

Parameters
int loadCompressMask ( char *  filename,
int  noImage 
)

Charge un masque de collision compresse de sprite en memoire.

Parameters
*filename: Chemin + nom du fichier masque
noImage: Numero de l'image que reference le masque
Returns
int loadImageTra ( char *  filename,
int  noImage,
int  hauteur,
int  largeur 
)

Charge une image PNG 32bits.

Attention : Pour garder la compatibilite Dreamcast l'image doit être un carre multiple de 2. (Ex: 128x128,512x512, ...).

Parameters
*filename: Chemin + nom du fichier image
noImage: Numero de l'image a charger
hauteur: Hauteur du fichier .PNG en pixel
largeur: Largeur du fichier .PNG en pixel
Returns
int loadMask ( char *  filename,
int  noImage 
)

Charge un masque de collision de sprite en memoire.

Pour creer un masque de collision utiliser les outils livre avec la librairie

Parameters
*filename: Chemin + nom du fichier masque
noImage: Numero de l'image que reference le masque
Returns
float nx ( float  mx,
float  my,
float  c,
float  s,
float  i,
float  j 
)
float ny ( float  mx,
float  my,
float  c,
float  s,
float  i,
float  j 
)
void prepareEcritureVideoGlobale ( )

Signale au PVR qu'il va recevoir des donnees (Dreamcast only)

La version PC est presente pour compatibilite mais ne fait rien

Parameters
void prepareEcritureVideoTra ( )

Signale au PVR qu'il va recevoir des polygones avec transparence (Dreamcast only)

La version PC est presente pour compatibilite mais ne fait rien
Snippet :
prepareEcritureVideoGlobale();
prepareEcritureVideoTra();
AFFICHER DECOR, SPRITES, ETC ...
termineEcritureVideoTra();
termineEcritureVideoGlobale();

Parameters
void termineEcritureVideoGlobale ( )

Signale au PVR qu'on a termine d'ecrire des donnees et affiche a l'ecran.(Dreamcast) Ou affiche le buffer video PC a l'ecran. (PC)

Parameters
void termineEcritureVideoTra ( )

Signale au PVR qu'on a termine l'envoie des polygones transparent (Dreamcast only)

La version PC est presente pour compatibilite mais ne fait rien

Parameters

Variable Documentation

salpha imageAlpha[MAX_ALPHA]
sibank imageBankTra[MAX_IMAGEBANK_TRA]
simage imagesTra[MAX_IMAGE_TRA]
stiles imageTile[MAX_IMGTILE]
int keyActionA = 0
int keyActionB = 0
int keyActionStart =0
int keyActionX = 0
int keyActionY = 0
int keyDown = 0
int keyLeft = 0
int keyQuit = 0
int keyRight = 0
int keyUp = 0
unsigned char* mask[MAX_IMAGE_TRA]
unsigned char* maskCompress[MAX_IMAGE_TRA]
int resX = 640
int resY = 480
int traitement = 2
int ZPos = 0