From b0fa162d62c08f3ca612cd4cac6ad8c52432018a Mon Sep 17 00:00:00 2001 From: JailGamer Date: Wed, 18 Mar 2026 12:37:17 +0100 Subject: [PATCH] Modificat l'ull de l'abad a l'ajupir-se, factoritzat draw_photo() en scenes.lua, i canviat el config de game.ini --- data/game.ini | 2 +- data/scenes.lua | 66 ++++++++++++++++++++++++++++++------------------ data/tiles.gif | Bin 11715 -> 11746 bytes 3 files changed, 42 insertions(+), 26 deletions(-) diff --git a/data/game.ini b/data/game.ini index 8b73789..fd05cef 100644 --- a/data/game.ini +++ b/data/game.ini @@ -1,5 +1,5 @@ title=X2 Cacaus -config=cacaus +config=x2cacaus width=256 height=192 zoom=3 diff --git a/data/scenes.lua b/data/scenes.lua index 71dd677..17a932d 100644 --- a/data/scenes.lua +++ b/data/scenes.lua @@ -14,9 +14,6 @@ avatar_premiere_x = 69*o2aX avatar_premiere_y = 20*o2aX avatar_elalien_x = 3*o2aX avatar_elalien_y = 16*o2aX -avatar_w = 10*o2aX -avatar_h = 10*o2aX - scenes={ intro_01= { @@ -180,6 +177,37 @@ function playtext(snd) end end +function draw_photo ( photo_x, photo_y, flip, step ) + local photo_w = 11*o2aX + local photo_h = 10*o2aX + + local bkg_x = 8*o2aX + local bkg_y = 12*o2aX + local bkg_w = photo_w*2+2 + local bkg_h = photo_h*2+2 + local bkg_color = 16 + + if flip then + bkg_x = 96*o2aX+1 + end + + if step==3 then + bkg_y = 12*o2aX + bkg_h = 12*o2aX + elseif step==4 or step==8 then + bkg_y = 7*o2aX + bkg_h = photo_h*2+2 + end + + local photo_dx = bkg_x+1 + local photo_dy = bkg_y+1 + local photo_dw = bkg_w-2 + local photo_dh = bkg_h-2 + + draw.rectf(bkg_x,bkg_y,bkg_w,bkg_h,bkg_color) + draw.surf(photo_x,photo_y,photo_w,photo_h,photo_dx,photo_dy,photo_dw,photo_dh, flip) +end + function draw_scene() local txt_x = not scenes.current_scene[scenes.dnum].flip and 38 or 8 @@ -197,21 +225,9 @@ function draw_scene() draw.line(0,0,128*o2aX,0,16) draw.line(0,34*o2aX+1,128*o2aX,34*o2aX+1,16) elseif scenes.step==3 then - if not scenes.current_scene[scenes.dnum].flip then - draw.rectf(8*o2aX,12*o2aX,24*o2aX,12*o2aX,16) - draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,13*o2aX,20*o2aX,10*o2aX) - else - draw.rectf(97*o2aX,12*o2aX,24*o2aX,12*o2aX,16) - draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,13*o2aX,20*o2aX,10*o2aX,true) - end + draw_photo ( scenes.current_scene[scenes.dnum].x, scenes.current_scene[scenes.dnum].y, scenes.current_scene[scenes.dnum].flip, scenes.step) elseif scenes.step==4 then - if not scenes.current_scene[scenes.dnum].flip then - draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,16) - draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,20*o2aX,20*o2aX) - else - draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16) - draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,20*o2aX,20*o2aX,true) - end + draw_photo ( scenes.current_scene[scenes.dnum].x, scenes.current_scene[scenes.dnum].y, scenes.current_scene[scenes.dnum].flip, scenes.step) elseif scenes.step==5 then -- text(string.sub(scenes.current_scene[scenes.dnum].text[1],1,scenes.char),txt_x*o2aX,7*o2aX,2) -- view.origin(0,scenes.offset-20) -- Ni idea de perquè 38, o es 19*o2aX? @@ -249,17 +265,17 @@ function draw_scene() draw.rectf(0,0,129*o2aX,35*o2aX,12) draw.line(0,0,128*o2aX,0,16) draw.line(0,34*o2aX+1,128*o2aX,34*o2aX+1,16) - if not scenes.current_scene[scenes.dnum].flip then - draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,16) - draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,20*o2aX,20*o2aX) - else - draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16) - draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,20*o2aX,20*o2aX,true) - end + draw_photo ( scenes.current_scene[scenes.dnum].x, scenes.current_scene[scenes.dnum].y, scenes.current_scene[scenes.dnum].flip, scenes.step) + -- if not scenes.current_scene[scenes.dnum].flip then + -- draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,16) + -- draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,20*o2aX,20*o2aX) + -- else + -- draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16) + -- draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,20*o2aX,20*o2aX,true) + -- end -- text(scenes.current_scene[scenes.dnum].text[1],txt_x*o2aX,7*o2aX,2) -- text(scenes.current_scene[scenes.dnum].text[2],txt_x*o2aX,15*o2aX,2) -- text(scenes.current_scene[scenes.dnum].text[3],txt_x*o2aX,23*o2aX,2) - -- view.origin(0,scenes.offset-20) -- Ni idea de perquè 38, o es 19*o2aX? arc_textB(scenes.current_scene[scenes.dnum].text[1],txt_x*o2aX,7*o2aX,2) arc_textB(scenes.current_scene[scenes.dnum].text[2],txt_x*o2aX,15*o2aX,2) arc_textB(scenes.current_scene[scenes.dnum].text[3],txt_x*o2aX,23*o2aX,2) diff --git a/data/tiles.gif b/data/tiles.gif index 1ba5b25e0f0b26801d146dc8158ce843244448e7..8de6b19d93d4a847de6e4895dcb67e03f0e8f88d 100644 GIT binary patch delta 10557 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