7 Commits

Author SHA1 Message Date
17654b2c82 - Modificat per a funcionar en l'ultima versió de mini (v0.9.80) 2023-08-31 23:43:56 +02:00
a3ca7bec86 - Ara es pot usar el gamepad per a tot 2023-02-10 19:06:26 +01:00
5c3e01d3e4 Batman position gets reseted on new game 2023-01-21 17:22:37 +01:00
9a4f41541f - Ignore binaries in folder 2023-01-21 14:32:08 +01:00
3898289f57 - Now Up and Jump can be defined as different keys/buttons. 2023-01-21 14:29:50 +01:00
33af343c80 - version change in Info.plist
- ESC exits from keys or pad redefine state.
2023-01-21 14:06:57 +01:00
dba989ca24 - [FIX] Gamepad redefine was not working correctly
- [FIX] ESC can't be reassigned
- [NEW] cursor keys, space, cursor pad and button A can always be used to move around menus.
2023-01-20 20:08:10 +01:00
9 changed files with 163 additions and 43 deletions

2
.gitignore vendored
View File

@@ -2,3 +2,5 @@
release/* release/*
*.exe *.exe
*.dll *.dll
mini
mini_debug

View File

@@ -23,11 +23,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.0.8</string> <string>1.1.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.0.8</string> <string>1.1.0</string>
<key>CSResourcesFileMapped</key> <key>CSResourcesFileMapped</key>
<true/> <true/>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
@@ -41,4 +41,4 @@
<key>SUPublicDSAKeyFile</key> <key>SUPublicDSAKeyFile</key>
<string>dsa_pub.pem</string> <string>dsa_pub.pem</string>
</dict> </dict>
</plist> </plist>

View File

@@ -1,4 +1,6 @@
require "dead"
abad={x=40,y=24,flip=false,frame=1,wait=0,respawning=0,hab=10,vides=3,energia=40,falling=0,step=0, mustep=1,hurting=0,update=nil,jumpfwd=false,anim={0,1,0,2},bb={x=4,y=0,w=8,h=16},safe={hab=10,x=40,y=24}} abad={x=40,y=24,flip=false,frame=1,wait=0,respawning=0,hab=10,vides=3,energia=40,falling=0,step=0, mustep=1,hurting=0,update=nil,jumpfwd=false,anim={0,1,0,2},bb={x=4,y=0,w=8,h=16},safe={hab=10,x=40,y=24}}
function abad_nop() function abad_nop()
@@ -87,7 +89,7 @@ function abad_state_normal()
elseif btn(keyLeft) or pad(btnLeft) then elseif btn(keyLeft) or pad(btnLeft) then
abad.update=abad_state_walking abad.update=abad_state_walking
abad.flip=true abad.flip=true
elseif btn(keyUp) or pad(btnUp) then elseif btn(keyJump) or pad(btnJump) then
abad.update=abad_state_jumping abad.update=abad_state_jumping
abad.step=0 abad.step=0
abad.jumpfwd=false abad.jumpfwd=false
@@ -185,7 +187,7 @@ function abad_state_walking()
abad_make_safe() abad_make_safe()
if btn(keyUp) or pad(btnUp) then if btn(keyJump) or pad(btnJump) then
abad.update=abad_state_jumping abad.update=abad_state_jumping
abad.step=0 abad.step=0
abad.jumpfwd=true abad.jumpfwd=true

View File

@@ -6,6 +6,8 @@ function batman.init()
batman.draw=batman.draw batman.draw=batman.draw
local habs={5,9,46,36,18} local habs={5,9,46,36,18}
batman.hab=habs[1+rnd(#habs)] batman.hab=habs[1+rnd(#habs)]
batman.x=24
batman.y=24
end end
function batman.draw() function batman.draw()

View File

@@ -1,4 +1,22 @@
--hab=0 require "abad"
require "gps"
require "gorro"
require "peu"
require "premiere"
require "elalien"
require "batman"
require "bol"
require "gota"
require "invisibl"
require "zombie"
require "caco"
require "trigger"
require "score"
require "imp"
require "bambolla"
require "cacau"
require "fireball"
require "switches"
modes={playing=0,editing=1} modes={playing=0,editing=1}
--mode=modes.editing --mode=modes.editing
@@ -147,20 +165,6 @@ function game_init(menu)
--fade.fadein() --fade.fadein()
end end
function text(str,x,y,col)
color(16)
prnt(str,x-1,y-1)
prnt(str,x,y-1)
prnt(str,x+1,y-1)
prnt(str,x-1,y)
prnt(str,x+1,y)
prnt(str,x-1,y+1)
prnt(str,x,y+1)
prnt(str,x+1,y+1)
prnt(str,x,y,col)
end
function draw_hab(hab,x,y,editing) function draw_hab(hab,x,y,editing)
camera(-x,-y) camera(-x,-y)
mapa_draw(hab) mapa_draw(hab)
@@ -311,7 +315,7 @@ function update_game()
--elseif btnp(KEY_ESCAPE) then --elseif btnp(KEY_ESCAPE) then
-- pause() -- pause()
--end --end
if btnp(KEY_ESCAPE) then if btnp(KEY_ESCAPE) or padp(btnPause) then
pause() pause()
end end
if abad.objects.gps~=nil then if abad.objects.gps~=nil then
@@ -326,6 +330,17 @@ function update_game()
elseif btnp(KEY_5) then elseif btnp(KEY_5) then
current_camera=5 current_camera=5
end end
if padp(btnCycle1) then
current_camera=current_camera+1
if current_camera==6 then current_camera=1 end
if current_camera==1 and (abad.objects.gorro or abad.objects.clau_premiere) then current_camera=2 end
if current_camera==2 and (abad.objects.peu or abad.objects.clau_elalien) then current_camera=3 end
elseif padp(btnCycle2) then
current_camera=current_camera-1
if current_camera==0 then current_camera=5 end
if current_camera==2 and (abad.objects.peu or abad.objects.clau_elalien) then current_camera=1 end
if current_camera==1 and (abad.objects.gorro or abad.objects.clau_premiere) then current_camera=5 end
end
end end
end end
end end
@@ -370,7 +385,7 @@ function update_menu()
redraw_menu_hab() redraw_menu_hab()
if btnp(keyShoot) or padp(btnShoot) then if btnp(keyShoot) or btnp(KEY_SPACE) or padp(BTN_A) or padp(btnShoot) then
if menu_sel==0 then if menu_sel==0 then
game_exit() game_exit()
game_init() game_init()
@@ -382,10 +397,10 @@ function update_menu()
menu_count=0 menu_count=0
menu_state=2 menu_state=2
end end
elseif btnp(keyDown) or padp(btnDown) then elseif btnp(keyDown) or btnp(KEY_DOWN) or padp(BTN_DOWN) or padp(btnDown) then
menu_sel=menu_sel+1 menu_sel=menu_sel+1
if menu_sel==3 then menu_sel=0 end if menu_sel==3 then menu_sel=0 end
elseif btnp(keyUp) or padp(btnUp) then elseif btnp(keyUp) or btnp(KEY_UP) or padp(BTN_UP) or padp(btnUp) then
menu_sel=menu_sel-1 menu_sel=menu_sel-1
if menu_sel==-1 then menu_sel=2 end if menu_sel==-1 then menu_sel=2 end
elseif btnp(KEY_M) then elseif btnp(KEY_M) then
@@ -395,14 +410,18 @@ function update_menu()
else else
playmus(audio_main_song) playmus(audio_main_song)
end end
elseif btnp(KEY_ESCAPE) then elseif btnp(KEY_ESCAPE) or padp(btnPause) then
quit() quit()
end end
elseif menu_state==1 then elseif menu_state==1 then
if btnp(KEY_ESCAPE) then
menu_count = 0
menu_state = 0
end
if menu_count==0 then if menu_count==0 then
text("PULSA TECLA PER A AMUNT", 20, 24, 13) text("PULSA TECLA PER A AMUNT", 20, 24, 13)
local key = btnp(); local key = btnp();
if key ~= 0 then if key ~= 0 and key~=KEY_ESCAPE then
menu_count = 1 menu_count = 1
keyUp=key keyUp=key
setconf("keyup", keyUp) setconf("keyup", keyUp)
@@ -410,7 +429,7 @@ function update_menu()
elseif menu_count==1 then elseif menu_count==1 then
text("PULSA TECLA PER A AVALL", 20, 24, 13) text("PULSA TECLA PER A AVALL", 20, 24, 13)
local key = btnp(); local key = btnp();
if key ~= 0 then if key ~= 0 and key~=KEY_ESCAPE then
menu_count = 2 menu_count = 2
keyDown=key keyDown=key
setconf("keydown", keyDown) setconf("keydown", keyDown)
@@ -418,7 +437,7 @@ function update_menu()
elseif menu_count==2 then elseif menu_count==2 then
text("PULSA TECLA PER A ESQUERRA", 14, 24, 13) text("PULSA TECLA PER A ESQUERRA", 14, 24, 13)
local key = btnp(); local key = btnp();
if key ~= 0 then if key ~= 0 and key~=KEY_ESCAPE then
menu_count = 3 menu_count = 3
keyLeft=key keyLeft=key
setconf("keleft", keyLeft) setconf("keleft", keyLeft)
@@ -426,15 +445,23 @@ function update_menu()
elseif menu_count==3 then elseif menu_count==3 then
text("PULSA TECLA PER A DRETA", 20, 24, 13) text("PULSA TECLA PER A DRETA", 20, 24, 13)
local key = btnp(); local key = btnp();
if key ~= 0 then if key ~= 0 and key~=KEY_ESCAPE then
menu_count = 4 menu_count = 4
keyRight=key keyRight=key
setconf("keyright", keyRight) setconf("keyright", keyRight)
end end
elseif menu_count==4 then elseif menu_count==4 then
text("PULSA TECLA PER A BOTAR", 20, 24, 13)
local key = btnp();
if key ~= 0 and key~=KEY_ESCAPE then
menu_count = 5
keyJump=key
setconf("keyjump", keyJump)
end
elseif menu_count==5 then
text("PULSA TECLA PER A DISPAR", 18, 24, 13) text("PULSA TECLA PER A DISPAR", 18, 24, 13)
local key = btnp(); local key = btnp();
if key ~= 0 then if key ~= 0 and key~=KEY_ESCAPE then
menu_count = 0 menu_count = 0
menu_state = 0 menu_state = 0
keyShoot=key keyShoot=key
@@ -442,10 +469,14 @@ function update_menu()
end end
end end
else else
if btnp(KEY_ESCAPE) then
menu_count = 0
menu_state = 0
end
if menu_count==0 then if menu_count==0 then
text("PULSA BOTÓ PER A AMUNT", 22, 24, 13) text("PULSA BOTÓ PER A AMUNT", 22, 24, 13)
local btn = padp(); local btn = padp();
if btn ~= 0 then if btn ~= -1 then
menu_count = 1 menu_count = 1
btnUp=btn btnUp=btn
setconf("btnup", btnUp) setconf("btnup", btnUp)
@@ -453,7 +484,7 @@ function update_menu()
elseif menu_count==1 then elseif menu_count==1 then
text("PULSA BOTÓ PER A AVALL", 22, 24, 13) text("PULSA BOTÓ PER A AVALL", 22, 24, 13)
local btn = padp(); local btn = padp();
if btn ~= 0 then if btn ~= -1 then
menu_count = 2 menu_count = 2
btnDown=btn btnDown=btn
setconf("btndown", btnDown) setconf("btndown", btnDown)
@@ -461,7 +492,7 @@ function update_menu()
elseif menu_count==2 then elseif menu_count==2 then
text("PULSA BOTÓ PER A ESQUERRA", 16, 24, 13) text("PULSA BOTÓ PER A ESQUERRA", 16, 24, 13)
local btn = padp(); local btn = padp();
if btn ~= 0 then if btn ~= -1 then
menu_count = 3 menu_count = 3
btnLeft=btn btnLeft=btn
setconf("keleft", btnLeft) setconf("keleft", btnLeft)
@@ -469,15 +500,23 @@ function update_menu()
elseif menu_count==3 then elseif menu_count==3 then
text("PULSA BOTÓ PER A DRETA", 22, 24, 13) text("PULSA BOTÓ PER A DRETA", 22, 24, 13)
local btn = padp(); local btn = padp();
if btn ~= 0 then if btn ~= -1 then
menu_count = 4 menu_count = 4
btnRight=btn btnRight=btn
setconf("btnright", btnRight) setconf("btnright", btnRight)
end end
elseif menu_count==4 then elseif menu_count==4 then
text("PULSA BOTÓ PER A BOTAR", 22, 24, 13)
local btn = padp();
if btn ~= -1 then
menu_count = 5
btnJump=btn
setconf("btnjump", btnJump)
end
elseif menu_count==5 then
text("PULSA BOTÓ PER A DISPAR", 20, 24, 13) text("PULSA BOTÓ PER A DISPAR", 20, 24, 13)
local btn = padp(); local btn = padp();
if btn ~= 0 then if btn ~= -1 then
menu_count = 0 menu_count = 0
menu_state = 0 menu_state = 0
btnShoot=btn btnShoot=btn
@@ -504,6 +543,7 @@ function pause()
sspr(0,0,128,96,0,0) sspr(0,0,128,96,0,0)
setdest(0) setdest(0)
setsource(tiles) setsource(tiles)
pausa_option=1
pause_old_update=game_update pause_old_update=game_update
game_update=update_pause game_update=update_pause
end end
@@ -512,16 +552,30 @@ function update_pause()
rectfill(16,16,112,80,16) rectfill(16,16,112,80,16)
rect(16,16,112,80,15) rect(16,16,112,80,15)
prnt("PAUSA",54,30,15) prnt("PAUSA",54,30,15)
prnt("ESC torna al joc",30,50,14) if pausa_option==1 then
prnt("SPACE eixir",30,60,14) rect(28,48,100,56,13)
else
rect(28,58,100,66,13)
end
prnt("CONTINUAR",30,50,14)
prnt("EIXIR",30,60,14)
if btnp(KEY_ESCAPE) then if btnp(KEY_ESCAPE) then
setsource(back) setsource(back)
sspr(0,0,128,96,0,0) sspr(0,0,128,96,0,0)
setsource(tiles) setsource(tiles)
game_update = pause_old_update game_update = pause_old_update
elseif btnp(keyDown) or btnp(keyUp) or padp(btnDown) or padp(btnUp) then
if pausa_option==1 then pausa_option=2 else pausa_option=1 end
elseif btnp(keyShoot) or padp(btnShoot) then elseif btnp(keyShoot) or padp(btnShoot) then
game_exit() if pausa_option==1 then
game_init(true) setsource(back)
sspr(0,0,128,96,0,0)
setsource(tiles)
game_update = pause_old_update
else
game_exit()
game_init(true)
end
end end
end end

View File

@@ -1,3 +1,8 @@
require "fade"
require "game"
require "mapa"
require "scenes"
intro_wait=40 intro_wait=40
intro_step=0 intro_step=0
@@ -19,7 +24,7 @@ function intro_intro()
--text("JAILGAMES",40,30,15) --text("JAILGAMES",40,30,15)
text("presenta",48,50,14) text("presenta",48,50,14)
intro_wait=intro_wait-1 intro_wait=intro_wait-1
if intro_wait==0 or btnp(KEY_ESCAPE) or btnp(keyShoot) or padp(btnShoot) then if intro_wait==0 or btnp(KEY_ESCAPE) or btnp(keyShoot) or padp(btnShoot) or padp(btnPause) then
intro_wait=1 intro_wait=1
game_update = intro_update game_update = intro_update
fade.fadeoutin() fade.fadeoutin()
@@ -30,7 +35,7 @@ function intro_intro()
end end
function intro_update() function intro_update()
if btnp(KEY_ESCAPE) then if btnp(KEY_ESCAPE) or padp(btnPause) then
game_init(true) game_init(true)
fade.fadeoutin() fade.fadeoutin()
elseif btnp(KEY_SPACE) then elseif btnp(KEY_SPACE) then

View File

@@ -1,3 +1,35 @@
require "final"
require "fade"
require "audio"
require "dead"
require "scenes"
require "trigger"
require "score"
require "switches"
require "map"
require "mapa"
require "bol"
require "invisibl"
require "gota"
require "fireball"
require "cacau"
require "bambolla"
require "imp"
require "gps"
require "peu"
require "gorro"
require "batman"
require "elalien"
require "premiere"
require "caco"
require "zombie"
require "abad"
require "intro"
require "game"
--require "fade"
--require "audio"
--require "intro"
function _init() function _init()
tiles=loadsurf("tiles.gif") tiles=loadsurf("tiles.gif")
@@ -29,13 +61,18 @@ function _init()
keyDown = tonumber(getconf("keydown")) or KEY_DOWN keyDown = tonumber(getconf("keydown")) or KEY_DOWN
keyLeft = tonumber(getconf("keyleft")) or KEY_LEFT keyLeft = tonumber(getconf("keyleft")) or KEY_LEFT
keyRight = tonumber(getconf("keyright")) or KEY_RIGHT keyRight = tonumber(getconf("keyright")) or KEY_RIGHT
keyJump = tonumber(getconf("keyjump")) or KEY_UP
keyShoot = tonumber(getconf("keyshoot")) or KEY_SPACE keyShoot = tonumber(getconf("keyshoot")) or KEY_SPACE
btnUp = tonumber(getconf("btnup")) or BTN_UP btnUp = tonumber(getconf("btnup")) or BTN_UP
btnDown = tonumber(getconf("btndown")) or BTN_DOWN btnDown = tonumber(getconf("btndown")) or BTN_DOWN
btnLeft = tonumber(getconf("btnleft")) or BTN_LEFT btnLeft = tonumber(getconf("btnleft")) or BTN_LEFT
btnRight = tonumber(getconf("btnright")) or BTN_RIGHT btnRight = tonumber(getconf("btnright")) or BTN_RIGHT
btnJump = tonumber(getconf("btnjump")) or BTN_B
btnShoot = tonumber(getconf("btnshoot")) or BTN_A btnShoot = tonumber(getconf("btnshoot")) or BTN_A
btnCycle1 = tonumber(getconf("btnCycle1")) or BTN_RIGHTSHOULDER
btnCycle2 = tonumber(getconf("btnCycle2")) or BTN_LEFTSHOULDER
btnPause = tonumber(getconf("btnPause")) or BTN_START
--game_init() --game_init()
intro_init() intro_init()
@@ -55,3 +92,17 @@ function _update()
if (game_update) then game_update() end if (game_update) then game_update() end
end end
function text(str,x,y,col)
color(16)
prnt(str,x-1,y-1)
prnt(str,x,y-1)
prnt(str,x+1,y-1)
prnt(str,x-1,y)
prnt(str,x+1,y)
prnt(str,x-1,y+1)
prnt(str,x,y+1)
prnt(str,x+1,y+1)
prnt(str,x,y,col)
end

View File

@@ -1,4 +1,5 @@
--mapa={} require "map"
tiletype={void=0,nonpc=1,stair=2,switch=3,half=4,block=5} tiletype={void=0,nonpc=1,stair=2,switch=3,half=4,block=5}
mapa.wait=0 mapa.wait=0
mapa.step=0 mapa.step=0

View File

@@ -1,3 +1,6 @@
require "final"
require "audio"
scenes={ scenes={
intro_01= { intro_01= {
{x=3,y=0,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20}, {x=3,y=0,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20},
@@ -272,7 +275,7 @@ function update_scene()
end end
end end
if btnp(KEY_ESCAPE) and (scenes.current_scene~=scenes.final) then if (btnp(KEY_ESCAPE) or padp(btnPause)) and (scenes.current_scene~=scenes.final) then
if scenes.current_scene[scenes.dnum].die then if scenes.current_scene[scenes.dnum].die then
game_init(true) game_init(true)
else else