Mortal Kombat Plus
Documentação gerada automaticamente com Doxygen
Carregando...
Procurando...
Nenhuma entrada encontrado
Referência do Arquivo press_start_room.c
#include <genesis.h>
#include "press_start_room.h"
#include "input_system.h"
#include "stages.h"
#include "sprites.h"
#include "game_vars.h"
#include "gfx.h"
Gráfico de dependência de inclusões para press_start_room.c:

Ir para o código-fonte desse arquivo.

Definições e Macros

#define ACELERACAO   2
 

Funções

void loadBackground ()
 
void loadMenu (u8 mainMenuOpt)
 
void processPressStart ()
 

Definições e macros

◆ ACELERACAO

#define ACELERACAO   2

Definição na linha 13 do arquivo press_start_room.c.

Funções

◆ loadBackground()

void loadBackground ( )

Definição na linha 169 do arquivo press_start_room.c.

170{
171 VDP_setPlaneSize(64, 64, TRUE);
172 VDP_setScrollingMode(HSCROLL_PLANE, VSCROLL_COLUMN);
173
174 VDP_loadTileSet(screen_opt_a.tileset, gInd_tileset, DMA);
175 VDP_setTileMapEx(BG_A, screen_opt_a.tilemap,
176 TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, gInd_tileset), 0, 0, 0, 0, 40, 64, CPU);
177 PAL_setPalette(PAL0, char_select_a_pal.data, DMA);
178 gInd_tileset += screen_opt_a.tileset->numTile;
179
180 VDP_loadTileSet(screen_opt_b.tileset, gInd_tileset, DMA);
181 VDP_setTileMapEx(BG_B, screen_opt_b.tilemap,
182 TILE_ATTR_FULL(PAL1, TRUE, FALSE, FALSE, gInd_tileset), 0, 0, 0, 0, 40, 64, CPU);
183 PAL_setPalette(PAL1, char_select_b_pal.data, DMA);
184 gInd_tileset += screen_opt_b.tileset->numTile;
185}
u16 gInd_tileset
Definição game_vars.c:12
Esse é o diagrama das funções que utilizam essa função:

◆ loadMenu()

void loadMenu ( u8 mainMenuOpt)

Definição na linha 157 do arquivo press_start_room.c.

158{
159 GE[0].sprite = SPR_addSprite(&spMainMenu, 96, 80, TILE_ATTR(PAL0, TRUE, FALSE, FALSE));
160 PAL_setPalette(PAL0, spMainMenu.palette->data, DMA);
161 SPR_setFrame(GE[0].sprite, mainMenuOpt);
162
163 GE[1].sprite = SPR_addSprite(&spOpt, 0, 0, TILE_ATTR(PAL0, TRUE, FALSE, FALSE));
164 PAL_setPalette(PAL0, spOpt.palette->data, DMA);
165 SPR_setVisibility(GE[1].sprite, HIDDEN);
166}
GraphicElement GE[25]
Definição game_vars.c:23
Esse é o diagrama das funções que utilizam essa função:

◆ processPressStart()

void processPressStart ( )

Definição na linha 17 do arquivo press_start_room.c.

18{
19 u8 mainMenuOpt = 0;
20 bool sair = FALSE;
21 gPodeMover = TRUE;
22
23 while (!sair)
24 {
26
27 gFrames++;
28
29 if (gFrames == 5)
30 {
32
33 loadMenu(mainMenuOpt);
34 }
35 // --------------------------- MENU ------------------ FAZER UM MAIS ELABORADO ----------------------
36 if (mainMenuOpt == 0) // enquanto não implementar timer de tela
37 {
38 if (player[0].key_JOY_B_status == 1)
39 {
40 gRoom = TELA_DEMO_INTRO;
41 sair = TRUE;
42 }
43 }
44 // VAI PARA OPTIONS
45 if ((player[0].key_JOY_DOWN_status == 1 || player[1].key_JOY_DOWN_status == 1) && mainMenuOpt == 0)
46 {
47 mainMenuOpt = 1;
48 SPR_setFrame(GE[0].sprite, mainMenuOpt);
49 }
50 // VAI PARA START
51 if ((player[0].key_JOY_UP_status == 1 || player[1].key_JOY_UP_status == 1) && mainMenuOpt == 1)
52 {
53 mainMenuOpt = 0;
54 // SPR_setAnim(GE[0].sprite, mainMenuOpt);
55 SPR_setFrame(GE[0].sprite, mainMenuOpt);
56 }
57 // SE ESTIVER EM OPTIONS
58 if ((player[0].key_JOY_START_status > 0 || player[1].key_JOY_START_status > 0) && mainMenuOpt == 1)
59 {
60 mainMenuOpt = 2;
61 SPR_setFrame(GE[0].sprite, mainMenuOpt);
62 (language == EN) ? SPR_setPosition(GE[1].sprite, 104, 80) : SPR_setPosition(GE[1].sprite, 144, 80);
63 SPR_setVisibility(GE[1].sprite, VISIBLE);
64 }
65 // SE TIVER DENTRO DO MENU DE OPÇÕES
66 if (mainMenuOpt == 2)
67 {
68 if ((player[0].key_JOY_LEFT_status == 1 || player[1].key_JOY_LEFT_status == 1) ||
69 (player[0].key_JOY_RIGHT_status == 1 || player[1].key_JOY_RIGHT_status == 1))
70 {
71 if (language == EN)
72 {
73 SPR_setPosition(GE[1].sprite, 144, 80);
74 language = BR;
75 }
76 else
77 {
78 SPR_setPosition(GE[1].sprite, 104, 80);
79 language = EN;
80 }
81 }
82 if ((player[0].key_JOY_B_status == 1 || player[1].key_JOY_B_status == 1))
83 {
84 mainMenuOpt = 0;
85 SPR_setFrame(GE[0].sprite, mainMenuOpt);
86 SPR_setVisibility(GE[1].sprite, HIDDEN);
87 }
88 }
89 // SE APERTAR START
90 if ((player[0].key_JOY_START_status > 0 || player[1].key_JOY_START_status > 0) &&
91 (gFrames > 30 && mainMenuOpt == 0))
92 {
93 gRoom = SELECAO_PERSONAGENS;
94 sair = TRUE;
95 }
96 // -------------------------------------------------------------------------------------------------
97
98 vecTilesScreen[0] -= ACELERACAO;
99 vecTilesScreen[1] -= ACELERACAO;
100 vecTilesScreen[2] -= ACELERACAO;
101 vecTilesScreen[17] -= ACELERACAO;
102 vecTilesScreen[18] -= ACELERACAO;
103 vecTilesScreen[19] -= ACELERACAO;
104
105 if (vecTilesScreen[0] == -512) // evitar que estore contador
106 {
107 vecTilesScreen[0] = 0;
108 vecTilesScreen[1] = 0;
109 vecTilesScreen[2] = 0;
110 vecTilesScreen[17] = 0;
111 vecTilesScreen[18] = 0;
112 vecTilesScreen[19] = 0;
113 }
114
115 VDP_setVerticalScrollTile(BG_A, 0, vecTilesScreen, 20, CPU);
116 VDP_setVerticalScrollTile(BG_B, 0, vecTilesScreen, 20, CPU);
117
118 SPR_update();
119 SYS_doVBlankProcess();
120 }
121
122 // --- metodo novo ----
123 SPR_reset();
124 PAL_fadeOut(0, 15, 5, FALSE);
125 PAL_fadeOut(16, 30, 5, FALSE);
126 VDP_clearPlane(BG_A, TRUE);
127 VDP_clearPlane(BG_B, TRUE);
128 VDP_setBackgroundColor(0);
129 VDP_resetScreen();
130 VDP_setHorizontalScroll(BG_A, 0);
131 VDP_setHorizontalScroll(BG_B, 0);
132 VDP_setVerticalScroll(BG_A, 0);
133 VDP_setVerticalScroll(BG_B, 0);
134 gFrames = 0;
135 gInd_tileset = TILE_USER_INDEX;
136 SYS_enableInts();
137
138 // ---- metodo antigo ---
139 // SPR_clear();
140 // PAL_fadeOut(0, 15, 5, FALSE);
141 // PAL_fadeOut(16, 30, 5, FALSE);
142 // PAL_setColors(0, palette_black, 64, DMA);
143 // gFrames = 0;
144 // // gRoom = SELECAO_PERSONAGENS;
145 // //--
146 // VDP_waitVSync();
147 // SYS_disableInts();
148 // VDP_resetScreen();
149 // // VDP_clearPlane(BG_A, TRUE);
150 // // VDP_clearPlane(BG_B, TRUE);
151 // // VDP_setBackgroundColor(0); // Define preto
152 // gInd_tileset = TILE_USER_INDEX;
153 // SYS_enableInts();
154}
GameLanguage language
Definição game_vars.c:22
Player player[2]
Definição game_vars.c:24
u8 gRoom
Definição game_vars.c:10
bool gPodeMover
Definição game_vars.c:9
u32 gFrames
Definição game_vars.c:16
void inputSystem()
Definição input_system.c:4
void loadMenu(u8 mainMenuOpt)
void loadBackground()
#define ACELERACAO
Este é o diagrama das funções utilizadas por essa função:
Esse é o diagrama das funções que utilizam essa função: