- Fins la linea 3308

This commit is contained in:
2024-01-25 21:55:20 +01:00
parent c7254f66ed
commit 807911e523

View File

@@ -3110,8 +3110,8 @@ void time_attack()
}
/*──────────────────────────────────────────────────────────────────────────*/
procedure menu_joc;
var
void menu_joc()
/*var
temps,temps2 : word;
pos,pos_dif,pos_m,cord_y : byte;
i,j,a_on_pinte_el_marc : word;
@@ -3120,74 +3120,74 @@ tecla_incorrecta : boolean;
i_int:integer;
dib_aux : word;
percentatge : byte;
procedure ini_estreles;
var i : byte;
begin
*/
void ini_estreles()
{
cls32(0, vaddr);
for i:=1 to 10 do
begin
estreles[i].x:=random(290);
estreles[i].y:=1;
estreles[i].velocitat:=random(3)+1;
end;
end;
for (int i=0; i<10; ++i)
{
estreles[i].x = rand()%290;
estreles[i].y = 1;
estreles[i].velocitat = rand()%3+1;
}
}
procedure fondo_estreles(from,where:word);
var
i,a,b : byte;
begin
for i:=1 to 10 do
begin
if (estreles[i].y + estreles[i].velocitat) > 191 then
begin
estreles[i].x := random(290);
estreles[i].y := 1;
estreles[i].velocitat := random(3) + 1;
end
else estreles[i].y := estreles[i].y + (estreles[i].velocitat);
void fondo_estreles(uint8_t *from, uint8_t *where)
{
for (int i=0; i<10; ++i)
{
if ( (estreles[i].y + estreles[i].velocitat) > 191 )
{
estreles[i].x = rand()%290;
estreles[i].y = 1;
estreles[i].velocitat = rand()%3+1;
}
else
estreles[i].y = estreles[i].y + (estreles[i].velocitat);
Putsprite(from, where, 26747, 9, 8, estreles[i].x, estreles[i].y);
end;
end;
}
}
procedure actualitza_options(from,where:word);
var i,j:byte;
begin
void actualitza_options(uint8_t *from, uint8_t *where)
{
cls32(0, vaddr2);
for i:=0 to 3 do
for j:=0 to 5 do Putsprite(vaddr,where,48000,50,50,j*50,i*50);
for (int i=0; i<=3; ++i)
for (int j=0; j<=5; ++j)
Putsprite(vaddr, where, 48000, 50, 50, j*50, i*50);
fondo_estreles(vaddr, vaddr2);
Putsprite(from, where, 30400, 165, 28, 70, 5);
Putsprite(from, where, 39733, 116, 18, 22, 43);
if amb_so then Putsprite(from,where,40492,25,17,149,45)
else Putsprite(from,where,39557,28,20,150,42);
if ( amb_so )
Putsprite(from, where, 40492, 25, 17, 149, 45)
else
Putsprite(from, where, 39557, 28, 20, 150, 42);
Putsprite(from, where, 57332, 113, 19, 20, 81);
if GM then Putsprite(from,where,51573,107,17,141,81)
else Putsprite(from,where,51684,130,20,141,81);
if (GM)
Putsprite(from, where, 51573, 107, 17, 141, 81)
else
Putsprite(from, where, 51684, 130, 20, 141, 81);
Putsprite(from, where, 45172, 39, 20, 22, 61);
case volumen of
0 : Putsprite(from,where,45551,32,18,70,62);
1 : Putsprite(from,where,45580,16,18,70,62);
2 : Putsprite(from,where,45596,16,18,70,62);
3 : Putsprite(from,where,45611,16,18,70,62);
4 : Putsprite(from,where,45626,16,18,70,62);
5 : Putsprite(from,where,45642,16,18,70,62);
6 : Putsprite(from,where,45658,16,18,70,62);
7 : Putsprite(from,where,45673,16,18,70,62);
8 : Putsprite(from,where,45689,16,18,70,62);
9 : Putsprite(from,where,45705,14,18,71,62);
10 : Putsprite(from,where,45720,40,18,70,62);
end;
switch (volumen)
{
case 0 : Putsprite(from, where, 45551, 32, 18, 70, 62); break;
case 1 : Putsprite(from, where, 45580, 16, 18, 70, 62); break;
case 2 : Putsprite(from, where, 45596, 16, 18, 70, 62); break;
case 3 : Putsprite(from, where, 45611, 16, 18, 70, 62); break;
case 4 : Putsprite(from, where, 45626, 16, 18, 70, 62); break;
case 5 : Putsprite(from, where, 45642, 16, 18, 70, 62); break;
case 6 : Putsprite(from, where, 45658, 16, 18, 70, 62); break;
case 7 : Putsprite(from, where, 45673, 16, 18, 70, 62); break;
case 8 : Putsprite(from, where, 45689, 16, 18, 70, 62); break;
case 9 : Putsprite(from, where, 45705, 14, 18, 71, 62); break;
case 10 : Putsprite(from, where, 45720, 40, 18, 70, 62); break;
}
Putsprite(from, where, 21673, 84, 73, 22, 117);
@@ -3196,109 +3196,115 @@ begin
Putsprite(vaddr, vaddr2, tecla_esquerra_dib, 21, 21, 135, 152);
Putsprite(vaddr, vaddr2, tecla_dreta_dib, 21, 21, 135, 173);
/* fletxes i ESC */
// fletxes i ESC
Putsprite(vaddr, vaddr2, 31527, 47, 24, 238, 172);
/* Complet + percentatge */
// Complet + percentatge
Putsprite(vaddr, vaddr2, 58405, 70, 17, 200, 120);
Putsprite(vaddr, vaddr2, percentatge*29, 29, 14, 220, 142);
Pinta_number(fletxa3, 255, 13, cord_y, vaddr2);
}
end;
procedure pinta_marcs(posicio:word);
var
i : word;
begin
void pinta_marcs(uint16_t posicio)
{
volcar32(vaddr, vaddr2);
for i:=posicio to posicio+75 do
begin
for (int i=posicio; i<=posicio+75; ++i)
{
putpixel(i, 11, 15, vaddr2);
putpixel(i, 12, 15, vaddr2);
putpixel(i, 90, 15, vaddr2);
putpixel(i, 91, 15, vaddr2);
end;
for i:=11 to 91 do
begin
}
for (int i=11; i<=91; ++i)
{
putpixel(posicio, i, 15, vaddr2);
putpixel(posicio+1, i, 15, vaddr2);
putpixel(posicio+74, i, 15, vaddr2);
putpixel(posicio+75, i, 15, vaddr2);
end;
}
if mode_nocturne then
begin
if mode_Dream_Tour=Dream_tour then pinta_number_zoom(2,tick,255,216,143,vaddr2);
end
else if (pos=1) or (pos=3) then
begin
if mode_easy=pepe_facil then pinta_number_zoom(2,tick,255,216,118,vaddr2);
if mode_normal=pepe_normal then pinta_number_zoom(2,tick,255,216,143,vaddr2);
if mode_hard=pepe_dificil then pinta_number_zoom(2,tick,255,216,168,vaddr2);
end
else begin
if mode_easy_r=rosita_facil then pinta_number_zoom(2,tick,255,216,118,vaddr2);
if mode_normal_r=rosita_normal then pinta_number_zoom(2,tick,255,216,143,vaddr2);
if mode_hard_r=rosita_dificil then pinta_number_zoom(2,tick,255,216,168,vaddr2);
end;
if (mode_nocturne)
{
if (mode_Dream_Tour == Dream_tour) pinta_number_zoom(2, tick, 255, 216, 143, vaddr2);
}
else
if ( (pos==1) || (pos==3) )
{
if (mode_easy == pepe_facil) pinta_number_zoom(2, tick, 255, 216, 118, vaddr2);
if (mode_normal == pepe_normal) pinta_number_zoom(2, tick, 255, 216, 143, vaddr2);
if (mode_hard == pepe_dificil) pinta_number_zoom(2, tick, 255, 216, 168, vaddr2);
}
else
{
if (mode_easy_r == rosita_facil) pinta_number_zoom(2, tick, 255, 216, 118, vaddr2);
if (mode_normal_r == rosita_normal) pinta_number_zoom(2, tick, 255, 216, 143, vaddr2);
if (mode_hard_r == rosita_dificil) pinta_number_zoom(2, tick, 255, 216, 168, vaddr2);
}
if pos_dif=1 then pinta_number(fletxa,255,98,118,vaddr2);
if pos_dif=2 then pinta_number(fletxa,255,98,143,vaddr2);
if pos_dif=3 then pinta_number(fletxa,255,98,168,vaddr2);
if (pos_dif == 1) pinta_number(fletxa, 255, 98, 118, vaddr2);
if (pos_dif == 2) pinta_number(fletxa, 255, 98, 143, vaddr2);
if (pos_dif == 3) pinta_number(fletxa, 255, 98, 168, vaddr2);
espera_VGA;
espera_VGA();
volcar32(vaddr2, VGA);
end;
}
procedure desp_marc(direccio:byte);
begin
case direccio of
void desp_marc(uint8_t direccio)
{
switch (direccio)
{
case Left:
if (pos == 3)
{
i = 219;
while (i > 136)
{
pinta_marcs(i);
i = i - 3;
if (i < 137) pinta_marcs(137);
}
}
else
if (pos == 2)
{
i=137;
while (i > 54)
{
pinta_marcs(i);
i = i - 3;
if (i < 55) pinta_marcs(55);
}
}
break;
Left: if pos=3 then
begin
i:=219;
while i>136 do
begin
case Right:
if (pos == 1)
{
i=55;
while (i < 138)
{
pinta_marcs(i);
i:=i-3;
if i<137 then pinta_marcs(137);
end;
end
else if pos=2 then
begin
i:=137;
while i>54 do
begin
i = i + 3;
if (i > 137) pinta_marcs(137);
}
}
else
if (pos == 2)
{
i=137;
while (i < 220)
{
pinta_marcs(i);
i:=i-3;
if i<55 then pinta_marcs(55);
end;
end;
i = i + 3;
if (i > 219) pinta_marcs(219);
}
}
break;
}
}
Right:if pos=1 then
begin
i:=55;
while i<138 do
begin
pinta_marcs(i);
i:=i+3;
if i>137 then pinta_marcs(137);
end;
end
else if pos=2 then
begin
i:=137;
while i<220 do
begin
pinta_marcs(i);
i:=i+3;
if i>219 then pinta_marcs(219);
end;
end;
end;
end;
begin
time_attack_mode:=false;
@@ -3314,20 +3320,23 @@ end;
if mode_hard_r=rosita_dificil then inc(percentatge);
if mode_Dream_tour=Dream_tour then inc(percentatge);
if mode_nocturne then load_mif(menu_nit,vaddr)
else load_mif(menu,vaddr);
if mode_nocturne then
load_mif(menu_nit,vaddr)
else
load_mif(menu,vaddr);
load_mif(menu_s,vaddr2);
espera_vga;
volcar32(vaddr,VGA);
if not(mode_nocturne) then
begin
if midi then begin StopMIDI; unloadmidi; midi:=false; end;
ini_midi(musica_title);
if midi then Playmidi;
end
else begin
else
begin
if midi then begin StopMIDI; unloadmidi; midi:=false; end;
ini_midi(musica_nit);
if midi then Playmidi;
@@ -3351,11 +3360,16 @@ end;
begin
espera_VGA;
volcar32(vaddr,VGA);
if not(mode_nocturne) then Put_Sprite_ICE_dreta(vaddr2,VGA,28822,132,25,i,90)
else Put_Sprite_ICE_dreta(vaddr2,VGA,28958,132,25,i,90);
if not(mode_nocturne) then
Put_Sprite_ICE_dreta(vaddr2,VGA,28822,132,25,i,90)
else
Put_Sprite_ICE_dreta(vaddr2,VGA,28958,132,25,i,90);
dec(i,10);
if i=20 then if not(mode_nocturne) then Put_Sprite_ICE_dreta(vaddr2,vaddr,28822,132,25,i,90)
else Put_Sprite_ICE_dreta(vaddr2,vaddr,28958,132,25,i,90);
if i=20 then
if not(mode_nocturne) then
Put_Sprite_ICE_dreta(vaddr2,vaddr,28822,132,25,i,90)
else
Put_Sprite_ICE_dreta(vaddr2,vaddr,28958,132,25,i,90);
end;
i:=320;
@@ -3389,7 +3403,6 @@ end;
if i_int=15 then Put_Sprite_ICE_dalt(vaddr2,vaddr,5463,133,33,23,i_int);
end;
espera_VGA;
volcar32(vaddr, VGA);
@@ -3399,11 +3412,21 @@ end;
pos_m:=2;
pinta_number(fletxa2,255,13,100,VGA);
cord_y:=100;
repeat
if (not(playing)) then
if (mode_nocturne) then begin ini_midi(musica_nit); if midi then PlayMIDI; end
else begin ini_midi(musica_title); if midi then PlayMIDI; end;
if (mode_nocturne) then
begin
ini_midi(musica_nit);
if midi then PlayMIDI;
end
else
begin
ini_midi(musica_title);
if midi then PlayMIDI;
end;
gettime(h,m,s,c);
temps2:=h*3600+m*60+s;
@@ -3450,8 +3473,10 @@ end;
end;
volcar32(vaddr,vaddr2);
if (temps2 mod 2)=0 then pinta_number(fletxa2,255,13,cord_y,vaddr2)
else pinta_number(fletxa2,255,15,cord_y,vaddr2);
if (temps2 mod 2)=0 then
pinta_number(fletxa2,255,13,cord_y,vaddr2)
else
pinta_number(fletxa2,255,15,cord_y,vaddr2);
espera_VGA;
volcar32(vaddr2,VGA);
@@ -3466,6 +3491,7 @@ end;
power_off(vaddr);
eixir_del_joc:=true;
end;
if (Temps2-temps)>=10 then
begin
pos_m:=5;
@@ -3474,7 +3500,7 @@ end;
titol_del_joc;
end;
/* TIME ATTACK */
// TIME ATTACK
if (pos_m=1) and (not(mode_nocturne)) then
begin
time_attack_mode:=true;
@@ -3483,7 +3509,7 @@ end;
time_attack;
end;
/* PEPE VELL */
// PEPE VELL
if (pos_m=3) then
begin
fadedown(0,0,0,1);
@@ -3491,7 +3517,7 @@ end;
pepe_text;
end;
/* STORY MODE */
// STORY MODE
if (pos_m=2) then
begin
borrat_de_pantalla(vaddr);
@@ -3499,8 +3525,12 @@ end;
story_mode_mode:=true;
rosita_selected:=false;
amic_selected:=false;
if (mode_nocturne) then load_mif(select_n,vaddr)
else load_mif(select,vaddr);
if (mode_nocturne) then
load_mif(select_n,vaddr)
else
load_mif(select,vaddr);
if not(mode_rosita=rosita_enabled) then
begin
for i:=137 to 212 do
@@ -3549,13 +3579,13 @@ end;
set_color(15,R,G,B);
if (not(playing)) and (midi) then PlayMIDI;
if (TeclaPuls(KeyArrowLeft)) and (pos>1) then
if not(mode_nocturne) then
begin
desp_marc(Left);
dec(pos);
end;
if (TeclaPuls(KeyArrowRight)) and (pos<3) then
if not(mode_nocturne) then
begin
@@ -3564,15 +3594,15 @@ end;
desp_marc(Right);
inc(pos);
end
else if (pos=2) and (mode_amic=199) then
else
if (pos=2) and (mode_amic=199) then
begin
desp_marc(Right);
inc(pos);
end;
end;
if (TeclaPuls(KeyArrowDown)) and (pos_dif<3) and
not(mode_nocturne) then
if (TeclaPuls(KeyArrowDown)) and (pos_dif<3) and not(mode_nocturne) then
begin
inc(pos_dif);
pinta_marcs(a_on_pinte_el_marc);
@@ -3580,8 +3610,7 @@ end;
repeat until not(TeclaPuls(KeyArrowDown));
end;
if (TeclaPuls(KeyArrowUp)) and (pos_dif>1) and
not(mode_nocturne) then
if (TeclaPuls(KeyArrowUp)) and (pos_dif>1) and not(mode_nocturne) then
begin
dec(pos_dif);
pinta_marcs(a_on_pinte_el_marc);
@@ -3645,8 +3674,10 @@ end;
color_marcador_pintura:=48;
end;
if pos=4 then borrat_de_pantalla(vaddr)
else fadedown(0,0,0,0);
if pos=4 then
borrat_de_pantalla(vaddr)
else
fadedown(0,0,0,0);
if not(pos=4) then
begin
@@ -3655,7 +3686,7 @@ end;
end;
end;
/* opcions */
// opcions
if (pos_m=4) then
begin
@@ -3684,12 +3715,10 @@ end;
1:cord_y:=47;
2:cord_y:=65;
3:cord_y:=83;
4:cord_y:=122;
5:cord_y:=140;
6:cord_y:=158;
7:cord_y:=176;
end;
Play_WAV (sample[so_fletxa]);
actualitza_options(vaddr,vaddr2);
@@ -3709,12 +3738,10 @@ end;
1:cord_y:=47;
2:cord_y:=65;
3:cord_y:=83;
4:cord_y:=122;
5:cord_y:=140;
6:cord_y:=158;
7:cord_y:=176;
end;
Play_WAV (sample[so_fletxa]);
actualitza_options(vaddr,vaddr2);
@@ -3727,17 +3754,23 @@ end;
until not(TeclaPuls(KeyArrowUp));
end;
if (TeclaPuls(KeyArrowRight)) then
begin
if (pos_m=1) then begin
if (pos_m=1) then
begin
amb_so:=/*not(amb_so);*/false;
if Puerto=255 then amb_so:=false;
/*if amb_so then InitWAV(Puerto,DMA,IRQ) else EndWav;
if amb_so then arxius_wav(amb_so);*/
end
else if (pos_m=2) then begin if volumen<10 then inc(volumen) end
else if (pos_m=3) then GM:=not(GM);
else
if (pos_m=2) then
begin
if volumen<10 then
inc(volumen)
end
else
if (pos_m=3) then GM:=not(GM);
actualitza_options(vaddr,vaddr2);
espera_VGA;
volcar32(vaddr2,VGA);
@@ -3750,14 +3783,20 @@ end;
if (TeclaPuls(KeyArrowLeft)) then
begin
if (pos_m=1) then begin
if (pos_m=1) then
begin
amb_so:=/*not(amb_so);*/false;
if Puerto=255 then amb_so:=false;
/*if amb_so then InitWAV(Puerto,DMA,IRQ) else EndWav;
if amb_so then arxius_wav(amb_so);*/
end
else if (pos_m=2) then begin if volumen>0 then dec(volumen) end
else if (pos_m=3) then GM:=not(GM);
else
if (pos_m=2) then
begin
if volumen>0 then dec(volumen)
end
else
if (pos_m=3) then GM:=not(GM);
actualitza_options(vaddr,vaddr2);
espera_VGA;
volcar32(vaddr2,VGA);
@@ -3779,8 +3818,8 @@ end;
aux := 0;
dib_aux := 23781;
actualitza_options(vaddr,vaddr2);
case pos_m of
case pos_m of
4 : begin
tecla_amunt:=aux;
tecla_amunt_dib := dib_aux;
@@ -3797,9 +3836,8 @@ end;
tecla_dreta:=aux;
tecla_dreta_dib := dib_aux;
end;
end;
espera_VGA;
volcar32(vaddr2,VGA);
repeat
@@ -3817,19 +3855,16 @@ end;
until not(QTeclaPuls);
case aux of
KeyA,KeyB,KeyC,KeyD,KeyE,KeyF,KeyG,KeyH,KeyI,KeyJ,KeyK,KeyL,KeyM,KeyN,
KeyO,KeyP,KeyQ,KeyR,KeyS,KeyT,KeyU,KeyV,KeyW,KeyX,KeyY,KeyZ,
KeyArrowUp,KeyArrowDown,KeyArrowLeft,KeyArrowRight : tecla_incorrecta:=false;
else tecla_incorrecta:=true;
else
tecla_incorrecta:=true;
end;
until (not(tecla_incorrecta));
case aux of
KeyA : dib_aux := 4485;
KeyB : dib_aux := 4509;
KeyC : dib_aux := 4533;
@@ -3860,11 +3895,9 @@ end;
KeyArrowDown : dib_aux := 23685;
KeyArrowLeft : dib_aux := 23757;
KeyArrowRight : dib_aux := 23733;
end;
case pos_m of
4 : begin
tecla_amunt:=aux;
tecla_amunt_dib := dib_aux;
@@ -3881,7 +3914,6 @@ end;
tecla_dreta:=aux;
tecla_dreta_dib := dib_aux;
end;
end;
actualitza_options(vaddr,vaddr2);
espera_VGA;
@@ -3892,7 +3924,6 @@ end;
espera_VGA;
volcar32(vaddr2,VGA);
until TeclaPuls(KeyESC);
borrat_de_pantalla(vaddr2);
@@ -3908,7 +3939,6 @@ end;
/*──────────────────────────────────────────────────────────────────────────*/
int main(int argc, char *argv[])
{
comprobar_comp_i_sprites();
randomize();