Mortal Kombat Plus
Documentação gerada automaticamente com Doxygen
Carregando...
Procurando...
Nenhuma entrada encontrado
bonus_stage_room.c
Ir para a documentação desse arquivo.
1#include <genesis.h>
2#include "bonus_stage_room.h"
3#include "stages.h"
4#include "gfx.h"
5#include "sprites.h"
6#include "game_vars.h"
7#include "typewriter_printer.h"
8#include "bio_textlines.h"
9
10#define BLOCO_P1_POS_X 16
11#define BLOCO_P2_POS_X 168
12#define BLOCO_POS_Y 128
13#define BLOCO_ANIM_INTEGRO 0
14#define BLOCO_ANIM_QUEBRADO 1
15#define POS_X_P1 24
16#define POS_X_P2 176
17#define POS_Y_P 56//64 //56
18
20{
21 for (int i = 0; i < 16; i++)
22 {
23 GE[i].sprite = NULL;
24 }
25 while (TRUE)
26 {
27
28 gFrames++;
29
30 if (gFrames == 1)
31 {
32 // BG_A
33 VDP_loadTileSet(tym_bga.tileset, gInd_tileset, DMA);
34 VDP_setTileMapEx(BG_A, tym_bga.tilemap,
35 TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, gInd_tileset), 0, 0, 0, 0, 40, 28, DMA);
36 PAL_setPalette(PAL0, tym_bga.palette->data, DMA);
37 gInd_tileset += tym_bga.tileset->numTile;
38
39 // BG_B com tiles com prioridades setados no editor
40 VDP_loadTileSet(tym_bgb.tileset, gInd_tileset, DMA);
41 VDP_setTileMapEx(BG_B, tym_bgb.tilemap,
42 TILE_ATTR_FULL(PAL1, FALSE, FALSE, FALSE, gInd_tileset), 0, 0, 0, 0, 40, 28, DMA);
43 PAL_setPalette(PAL1, tym_bgb.palette->data, DMA);
44 gInd_tileset += tym_bgb.tileset->numTile;
45
46 // Sprite do P1
47 GE[0].sprite = SPR_addSpriteSafe(&spKanoBonus, POS_X_P1, POS_Y_P, (TILE_ATTR(PAL2, FALSE, FALSE, FALSE)));
48 PAL_setPalette(PAL2, spKanoBonus.palette->data, DMA);
49 SPR_setAnim(GE[0].sprite, 0);
50
51 // Sprite do P2
52 GE[1].sprite = SPR_addSpriteSafe(&spKanoBonus, POS_X_P2, POS_Y_P, (TILE_ATTR(PAL2, FALSE, FALSE, FALSE)));
53 PAL_setPalette(PAL3, spKanoBonus.palette->data, DMA);
54 SPR_setAnim(GE[1].sprite, 0);
55 // SPR_setFrame(GE[1].sprite, 1);
56 // SPR_setAnimationLoop(GE[1].sprite, FALSE);
57
58 // Add Sprite do bloco do P1
59 GE[2].sprite = SPR_addSpriteSafe(&spWood, BLOCO_P1_POS_X, BLOCO_POS_Y, TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
60 SPR_setDepth(GE[2].sprite, SPR_MIN_DEPTH);
61
62 // Add Sprite do bloco do P2
63 GE[3].sprite = SPR_addSpriteSafe(&spWood, BLOCO_P2_POS_X, BLOCO_POS_Y, TILE_ATTR(PAL1, TRUE, FALSE, FALSE));
64 SPR_setDepth(GE[3].sprite, SPR_MIN_DEPTH);
65
66 // Teste da animação do Frame do Bloco destruído
67 SPR_setFrame(GE[3].sprite, BLOCO_ANIM_QUEBRADO);
68
69 GE[4].sprite = SPR_addSpriteSafe(&spMessage1, 56, 24, TILE_ATTR(PAL0, FALSE, FALSE, FALSE));
70 // PAL_setPalette(PAL1, spMessage1.palette->data, DMA);
71 SPR_setDepth(GE[4].sprite, SPR_MIN_DEPTH);
72 // SPR_setFrame(GE[4].sprite, 0);
73 }
74
75 if(gFrames == 60)
76 {
77 if(GE[4].sprite)
78 {
79 SPR_releaseSprite(GE[4].sprite);
80 GE[4].sprite = NULL;
81 }
82 }
83
84 SPR_update();
85 SYS_doVBlankProcess();
86 }
87}
#define BLOCO_P1_POS_X
#define POS_Y_P
void processBonusStage()
#define POS_X_P1
#define POS_X_P2
#define BLOCO_ANIM_QUEBRADO
#define BLOCO_POS_Y
#define BLOCO_P2_POS_X
u32 gFrames
Definição game_vars.c:16
GraphicElement GE[25]
Definição game_vars.c:23
u16 gInd_tileset
Definição game_vars.c:12