Skip to content

Commit 40dbe5e

Browse files
committed
Añadido 2 cuadros mas diferentes dialogo X,Y,. Fix 6Botones detector, Añadido variable CursorON oculta y muestra el cursor, cursor funciona en dialogos
1 parent 9dff771 commit 40dbe5e

3 files changed

Lines changed: 33 additions & 17 deletions

File tree

inc/global.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ u8 ScreenMY; //112/120
1010
u8 ScreenTY; //224/240
1111
u8 ScreTile8; //0/8
1212

13-
u8 padtipo; //JOY_getPortType(PORT_1);
14-
u8 pad6; //JOY_getJoypadType(JOY_1);
13+
u8 JoyType; //JOY_getJoypadType(JOY_1); //JOY_TYPE_PAD6
1514
u8 padraton; //JOY_getPortType(PORT_2);
15+
bool CursorON;
16+
1617

1718
u16 BUTTONS[20];
1819
bool gat;

src/main.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ void main(u16 hard){
3131
ScreenTY=8+(ScreenY*8);//224/240
3232
ScreenMY=ScreenTY/2;//112/120
3333
//--------------------------------------
34-
35-
padtipo=JOY_getPortType(PORT_1); JOY_setSupport(PORT_1,JOY_SUPPORT_6BTN);
34+
JoyType=JOY_getJoypadType(JOY_1);
35+
3636
padraton=JOY_getPortType(PORT_2);
3737
if(padraton==PORT_TYPE_MOUSE) JOY_setSupport(PORT_2, JOY_SUPPORT_MOUSE);
38-
else JOY_setSupport(PORT_1,JOY_SUPPORT_3BTN);
3938

40-
SYS_doVBlankProcess(); // Necesario para detecte el JoypadType
41-
pad6=JOY_getJoypadType(JOY_1);
39+
if(padraton==PORT_TYPE_MOUSE || padraton==PORT_TYPE_PAD) CursorON=TRUE;
40+
else CursorON=FALSE;
41+
4242
JOY_setEventHandler(&inputHandler);
4343

4444
//TITUTLO();
@@ -87,7 +87,7 @@ void inputHandler(u16 joy, u16 state, u16 changed){
8787
BUTTONS[7]=changed & BUTTON_C;//Boton Derecho
8888

8989
BUTTONS[8]=changed & BUTTON_START;
90-
if(pad6==1){
90+
if(JoyType==JOY_TYPE_PAD6){
9191
BUTTONS[9]=changed & BUTTON_X;
9292
BUTTONS[10]=changed & BUTTON_Y;
9393
BUTTONS[11]=changed & BUTTON_Z;

src/zone-jugpri.c

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ bool PUERTA_SAL;
3030

3131
u16 STARTXT;
3232

33-
#define diag_ind 1200 //hex:4B0
33+
#define diag_ind 200 //hex:4B0
3434

3535
static void dialogo(u16,u16,u8,u8);
3636
//---------------------------------------------------------
@@ -60,7 +60,7 @@ static void jugpenguin();
6060
void ZoneMap(){
6161
//old_musica=0;
6262

63-
ZONA_NUM=3;
63+
ZONA_NUM=0;
6464
PX=PY=32;
6565
//PX=32*0;PY=32*0;
6666

@@ -76,7 +76,6 @@ void ZoneMap(){
7676

7777

7878
SPR_init();
79-
8079
//VDP_drawInt(spriteVramSize,0,0,ScreenY);
8180

8281
JUGmueve=FALSE;
@@ -102,10 +101,10 @@ void ZoneMap(){
102101
SPR_setFrame(penguinsp,1);//parado
103102

104103

105-
if(padraton==PORT_TYPE_MOUSE || padraton==PORT_TYPE_PAD){
104+
if(CursorON){
106105
cursorsp=SPR_addSpriteEx(&cursor,160,ScreenMY,TILE_ATTR(0,TRUE,FALSE,FALSE),
107106
0,SPR_FLAG_AUTO_VRAM_ALLOC | SPR_FLAG_AUTO_SPRITE_ALLOC | SPR_FLAG_AUTO_TILE_UPLOAD | SPR_FLAG_INSERT_HEAD);
108-
SPR_setVisibility(cursorsp,VISIBLE);
107+
SPR_setVisibility(cursorsp,HIDDEN);
109108
_JOYsetXY(160,ScreenMY);
110109
}
111110

@@ -142,11 +141,14 @@ void ZoneMap(){
142141
gat=TRUE;
143142
PUERTA_SAL=FALSE;
144143

144+
if(CursorON) SPR_setVisibility(cursorsp,VISIBLE);
145+
145146
do{
146147

147148
jugpenguin();
148149

149150
if(PUERTA_SAL){
151+
if(CursorON) SPR_setVisibility(cursorsp,HIDDEN);
150152
if(!PAL_isDoingFade()) PAL_fadeOutAll(20,TRUE);//transicion fade
151153
}else{
152154
if(!gat){
@@ -155,18 +157,26 @@ void ZoneMap(){
155157
dialogo(0,0,2,2);
156158
}
157159

160+
if(BUTTONS[10]){ gat=TRUE;
161+
dialogo(100,100,1,1);
162+
}
163+
158164
if(BUTTONS[5]){ gat=TRUE;
159165
dialogo(160-((16+(32*4))/2),ScreenMY-((16+(32*2))/2),4,2);
160166
}
161167

162168
if(BUTTONS[7]){ gat=TRUE;
163169
dialogo(160-((16+(32*6))/2),ScreenTY-(16+(32*2)),6,2);
164170
}
171+
172+
if(BUTTONS[9]){ gat=TRUE;
173+
dialogo(160-((16+(32*8))/2),ScreenTY-(16+(32*2)),8,1);
174+
}
165175
}
166176
}else if(!BUTTONS[0]) gat=FALSE;
167177

168178

169-
if(padraton==PORT_TYPE_MOUSE || padraton==PORT_TYPE_PAD){
179+
if(CursorON){
170180
_JOYupdateMouse();
171181
}
172182
}
@@ -188,8 +198,6 @@ void ZoneMap(){
188198

189199

190200
static void dialogo(u16 x,u16 y,u8 ancho, u8 alto){
191-
if(ancho<1) ancho=1;
192-
if(alto<1) alto=1;
193201

194202
u8 i;
195203
Sprite* dig_marcoE[4];
@@ -242,6 +250,12 @@ static void dialogo(u16 x,u16 y,u8 ancho, u8 alto){
242250
SPR_update();
243251
do{
244252
if(gat && !BUTTONS[6]) gat=FALSE;
253+
if(CursorON){
254+
_JOYupdateMouse();
255+
SPR_update();
256+
}
257+
VDP_drawInt(SYS_getCPULoad(),2,38,ScreenY);
258+
245259
SYS_doVBlankProcess();
246260
}while(!BUTTONS[6] || gat); gat=TRUE;
247261

@@ -253,6 +267,7 @@ static void dialogo(u16 x,u16 y,u8 ancho, u8 alto){
253267
for(i=0;i<alto;i++) SPR_releaseSprite(dig_marcoVd[i]);
254268

255269
for(i=0;i<p;i++) SPR_releaseSprite(dig_lienzo[i]);
270+
256271
}
257272

258273

@@ -282,7 +297,7 @@ static void loadzona(){
282297

283298
memcpy(&paleta64[0],zona1[ZONA_NUM]->palette->data,16*2);
284299
paleta64[0]=0;//colro de fondo 100% -Negro
285-
paleta64[15]=0xFFF;//color 15 (texo...) Blanco
300+
//paleta64[15]=0xFFF;//color 15 (texo...) Blanco
286301

287302
//u16 ind=TILE_USERINDEX;
288303
VDP_loadTileSet(zona1[ZONA_NUM]->tileset,0,CPU);

0 commit comments

Comments
 (0)