From c0fb3301448438c029b73afd653df95693dfa772 Mon Sep 17 00:00:00 2001 From: jordism Date: Fri, 7 Jun 2019 23:16:28 +0200 Subject: [PATCH 1/6] bonus items --- globals.c | 1 + globals.h | 7 +++++++ logic.c | 18 ++++++++++++++++++ msnampac.c | 3 ++- sprites.c | 22 ++++++++++++++++++++++ sprites.h | 3 +++ 6 files changed, 53 insertions(+), 1 deletion(-) diff --git a/globals.c b/globals.c index 2d0ade4..78a9948 100644 --- a/globals.c +++ b/globals.c @@ -62,6 +62,7 @@ uint8_t remaining_points; uint8_t frame = 0; uint8_t lives = 0; +uint8_t level = 0; uint8_t repaint_lives = 1; uint8_t speed; uint8_t idx; diff --git a/globals.h b/globals.h index e4ed9c8..699e96d 100644 --- a/globals.h +++ b/globals.h @@ -68,6 +68,12 @@ #define X 24 #define Y 25 +#define CHERRY 1 +#define STRAWBERRY 33 +#define COCKTAIL 65 +#define APPLE 97 +#define PEAR 129 + // screen rectangle extern struct sp1_Rect full_screen; @@ -172,6 +178,7 @@ extern uint8_t speed; extern uint8_t frame; extern uint8_t lives; +extern uint8_t level; extern uint8_t repaint_lives; extern uint8_t idx; extern struct sprite * collided_sprite; diff --git a/logic.c b/logic.c index 3847b05..e573c54 100644 --- a/logic.c +++ b/logic.c @@ -58,6 +58,23 @@ void show_cherry() { cherry.y = 21; cherry.x = 14; cherry.showing = 100; + + if(level == 1) { + cherry.offset = CHERRY; + sp1_IterateSprChar(cherry.sp, initialiseColourGreenRed); + } else if(level == 0) { + cherry.offset = STRAWBERRY; + sp1_IterateSprChar(cherry.sp, initialiseColourGreenRed); + } else if(level == 2) { + cherry.offset = COCKTAIL; + sp1_IterateSprChar(cherry.sp, initialiseColourRedYellowWhiteCyan); + } else if(level == 3) { + cherry.offset = APPLE; + sp1_IterateSprChar(cherry.sp, initialiseColourGhostRed); + } else if (level == 4) { + cherry.offset = PEAR; + sp1_IterateSprChar(cherry.sp, initialiseColourGreen); + } } void hide_cherry() { @@ -345,6 +362,7 @@ void next_level() { if (speed > 1) { --speed; } + ++level; } diff --git a/msnampac.c b/msnampac.c index 75f62a2..a264de7 100644 --- a/msnampac.c +++ b/msnampac.c @@ -20,6 +20,7 @@ void all_lives_lost() { sp1_Invalidate(&full_screen); lives = 5; points = 0; + level = 0; speed = 6; nampac_go_home(); repaint_lives = 1; @@ -130,7 +131,7 @@ int main() sp1_MoveSprAbs(ghosts[idx]->sp, &full_screen, (void*) ghosts[idx]->offset, ghosts[idx]->y, ghosts[idx]->x, 0, 0); } if(cherry.showing != 0) { - sp1_MoveSprAbs(cherry.sp, &full_screen, (void*) 0, cherry.y, cherry.x, 0, 0); + sp1_MoveSprAbs(cherry.sp, &full_screen, (void*) cherry.offset, cherry.y, cherry.x, 0, 0); } if(repaint_lives) { diff --git a/sprites.c b/sprites.c index 9e6dde3..b7a89d7 100644 --- a/sprites.c +++ b/sprites.c @@ -99,6 +99,28 @@ void initialiseColourGreenRed(unsigned int count, struct sp1_cs *c) } } +void initialiseColourGreen(unsigned int count, struct sp1_cs *c) +{ + (void)count; + c->attr_mask = SP1_AMASK_INK; + c->attr = INK_GREEN; + +} + +void initialiseColourRedYellowWhiteCyan(unsigned int count, struct sp1_cs *c) +{ + c->attr_mask = SP1_AMASK_INK; + if(count == 0) { + c->attr = INK_RED; + } else if (count == 1){ + c->attr = INK_YELLOW; + } else if(count == 2) { + c->attr = INK_WHITE; + } else { + c->attr = INK_CYAN; + } +} + struct sp1_ss * add_cherry_sprite() { struct sp1_ss * sp; sp = sp1_CreateSpr(SP1_DRAW_LOAD1LB, SP1_TYPE_1BYTE, 3, (int)cerezas1, 1); diff --git a/sprites.h b/sprites.h index d54a3a4..41542c3 100644 --- a/sprites.h +++ b/sprites.h @@ -23,5 +23,8 @@ extern void initialiseColourYellow(unsigned int count, struct sp1_cs *c); extern void initialiseColourGhostCyan(unsigned int count, struct sp1_cs *c); extern void initialiseColourGhostMagenta(unsigned int count, struct sp1_cs *c); extern void initialiseColourGhostRed(unsigned int count, struct sp1_cs *c); +extern void initialiseColourGreenRed(unsigned int count, struct sp1_cs *c); +extern void initialiseColourRedYellowWhiteCyan(unsigned int count, struct sp1_cs *c); +extern void initialiseColourGreen(unsigned int count, struct sp1_cs *c); #endif From 4f5b6e37cc97c04316da2857eb8e733785d04b26 Mon Sep 17 00:00:00 2001 From: jordism Date: Fri, 7 Jun 2019 23:23:49 +0200 Subject: [PATCH 2/6] return to default --- logic.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/logic.c b/logic.c index e573c54..49a002e 100644 --- a/logic.c +++ b/logic.c @@ -59,10 +59,10 @@ void show_cherry() { cherry.x = 14; cherry.showing = 100; - if(level == 1) { + if(level == 0) { cherry.offset = CHERRY; sp1_IterateSprChar(cherry.sp, initialiseColourGreenRed); - } else if(level == 0) { + } else if(level == 1) { cherry.offset = STRAWBERRY; sp1_IterateSprChar(cherry.sp, initialiseColourGreenRed); } else if(level == 2) { @@ -362,7 +362,11 @@ void next_level() { if (speed > 1) { --speed; } + ++level; + if(level == 5) { + level = 0; + } } From f00557e4e13c0d7d6133c346ae2296c9b76c3651 Mon Sep 17 00:00:00 2001 From: jordism Date: Fri, 7 Jun 2019 23:43:09 +0200 Subject: [PATCH 3/6] fruits showing --- .DS_Store | Bin 8196 -> 8196 bytes logic.c | 5 +++++ sprites.c | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.DS_Store b/.DS_Store index a4647e3b8bc04457a78496d4a1dfb8bb9a38421b..d6ce2b44ffd399d95c0e723ee9d6e02bf31536c3 100644 GIT binary patch delta 923 zcmeIu&r8#B9LMqZOKW_;_;G%>eK+THObK0+bhV9ikvU~eXO?6e9g1?c?_s!Rb7o<` zj0O=U1YfF=9`X=jDg>D;hz>=U3i{zL6R1`tfp-=llrw;uA9pA4fybq6TARD-4 zH;Am<*3})h^e{Con^nIdy;eG$QTml+Y&0>Z1Y@I0MuIq}udJ!7Z*=?oZJmV*$zWtM zQO zki`XD!ev~+HO$&@6Z2TWeLTiNxZQ)hNJ+<0t=aocJSo3d`PiUFmbH*Pa=s2N?^VPwLCbXa(9SCA8 zLg>Rz>_P-ljyHf91~F6w9L7B+lX-&U3^`j+nz$Oko<=al?vPjyZ=#EFq7( ZxQB;$iUQu<4q5U#^{4FqFA=glz%Of-)pq~@ delta 928 zcmeIu&r8#B9LMqZD^tFoKDj>o;bxm_i*PHGIh%Ec#R?>hz`}K@0YIr1s&h7C%g}jk;q8orrTV` zi=CTW+wASJ9w828)J`>(7))l>mc*c%(KeV5XkV>XJ7d!(N7>5qimICW#%O+-Fk85d zYk6}UxVFL)+{*pVHB2OwcqVyRHF_lvFp**LeaUp6zBsFSND+OkE0yR~Q^r)w>l6`V zJG1J+OtL?1jPmn@C0sy6+6RkwSb!9AQ;?$6PTe#>Lo`ZbG)cE9M|bEEJ)^fYOLO#@ zzR)~<({v zMIcny7}dsYT@rBK)}Z?Q9xfnq3d@%+ce>X4Jsz=0QS_rKC|iNlHCoMj?h%C&(x~+f zoQuU$+Ne!oS&O8pQJdYe5@X7$f1C?qKBYJGQ9}Nt-zb!b776Hu50$7z6C!9v3pSzy z+t7&}h)cd6B+#o9rgg$09Klf>laQxy8fS18=Wr31aRuX;z*RV=a9!ujVFq_`5BKpH V&++coCi_g0_RALdPa!ED;txUT)^7j+ diff --git a/logic.c b/logic.c index 49a002e..fc67838 100644 --- a/logic.c +++ b/logic.c @@ -1,6 +1,7 @@ #include "logic.h" #include "int.h" #include +#include uint8_t get_map_color(uint8_t current) { if(current == I) { @@ -500,4 +501,8 @@ void check_fsm() { // level finished! next_level(); } + + if(in_key_pressed(IN_KEY_SCANCODE_1)) { + show_cherry(); + } } diff --git a/sprites.c b/sprites.c index b7a89d7..3dee021 100644 --- a/sprites.c +++ b/sprites.c @@ -114,7 +114,7 @@ void initialiseColourRedYellowWhiteCyan(unsigned int count, struct sp1_cs *c) c->attr = INK_RED; } else if (count == 1){ c->attr = INK_YELLOW; - } else if(count == 2) { + } else if(count == 3) { c->attr = INK_WHITE; } else { c->attr = INK_CYAN; From 70fcbc8e2c34460cc2382e6334fb8658bb460c70 Mon Sep 17 00:00:00 2001 From: jordism Date: Fri, 7 Jun 2019 23:59:23 +0200 Subject: [PATCH 4/6] closed corners --- globals.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/globals.c b/globals.c index 78a9948..ea2a1ab 100644 --- a/globals.c +++ b/globals.c @@ -20,7 +20,7 @@ uint8_t map[25][32] = { {E,A,A,A,A,T,I,0,X,A,A,A,T,I,0,E,F,I,0,S,A,A,A,W,I,0,S,A,A,A,A,F}, {0,0,0,0,0,0,I,0,B,0,0,0,0,I,0,0,0,I,0,0,0,0,0,B,I,0,0,0,0,0,0,0}, {0,I,I,I,I,I,I,0,B,I,I,I,I,I,I,I,I,I,I,I,I,I,0,B,I,I,I,I,I,I,0,0}, -{C,A,A,A,A,T,I,0,B,I,0,C,A,A,A,Y,Y,A,A,A,D,I,0,B,I,0,S,A,A,A,A,D}, +{C,A,A,A,A,T,I,0,B,I,0,C,A,A,T,Y,Y,S,A,A,D,I,0,B,I,0,S,A,A,A,A,D}, {B,0,0,0,0,0,I,0,B,I,0,B,0,0,0,0,0,0,0,0,B,I,0,B,I,0,0,0,0,0,0,B}, {B,I,I,I,I,I,I,0,B,I,0,B,0,0,0,0,0,0,0,0,B,I,0,B,I,I,I,I,I,I,0,B}, {B,I,0,C,A,D,I,0,V,I,0,E,A,A,A,A,A,A,A,A,F,I,0,V,I,0,C,A,D,I,0,B}, From 0294a8471d001a492a1c794f5ac57d136f84741f Mon Sep 17 00:00:00 2001 From: jordism Date: Sun, 9 Jun 2019 21:15:06 +0200 Subject: [PATCH 5/6] modify bonus --- .DS_Store | Bin 8196 -> 8196 bytes build/cerezas.asm | 20 ++++++++++---------- build/cerezas.png | Bin 6238 -> 6230 bytes build/cerezas.png.bak.png | Bin 267 -> 0 bytes logic.c | 10 ++++++++++ 5 files changed, 20 insertions(+), 10 deletions(-) mode change 100755 => 100644 build/cerezas.png delete mode 100644 build/cerezas.png.bak.png diff --git a/.DS_Store b/.DS_Store index d6ce2b44ffd399d95c0e723ee9d6e02bf31536c3..4598c5bc84c737a01ae06e7c98774844b6dbf316 100644 GIT binary patch delta 256 zcmZp1XmQxEQh?pq%tA-O$Yk;cff6Pj@5%3lt7YN^1WJojgHm%6OESw+T@p)Diz70V z^Yel;t5P@b6;xnU_GAD9Wd{u?141z{a4I_(K-iOnMHyF5787n{d^dT9a3~Xx7h$v8 aMA%6%`V(#q3y9cIcA0q(zJUIaX delta 226 zcmZp1XmQxEQh?pa+*C)w&|>liff6P!p2_cpt2rYwlk@X}GpkZ3FBBBsyjM_xQQ4(| z0R)sCG{7{2vi%1r!@&T;;G85Z%D8Z{m~bQGx5+bvLzz6W8P+DkPJ&^_MC%#vZgvxM MXD8kPFg^Pi0WXj;j{pDw diff --git a/build/cerezas.asm b/build/cerezas.asm index 33963c0..f7da877 100644 --- a/build/cerezas.asm +++ b/build/cerezas.asm @@ -18,6 +18,7 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 + defb @00000000 defb @00000001 defb @00000010 defb @00000100 @@ -36,7 +37,6 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -51,6 +51,7 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 + defb @00000000 defb @00000101 defb @00000011 defb @00000111 @@ -71,7 +72,6 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -86,6 +86,7 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 + defb @00000000 defb @00001110 defb @00011111 defb @00111110 @@ -106,7 +107,6 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -118,6 +118,7 @@ PUBLIC _cerezas1 defb @00000000 ._cerezas1_f4 + defb @00000000 defb @00000000 defb @00000110 defb @00000010 @@ -141,7 +142,6 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -153,6 +153,7 @@ PUBLIC _cerezas1 defb @00000000 ._cerezas1_f5 + defb @00000000 defb @00000000 defb @00000000 defb @00000001 @@ -176,7 +177,6 @@ PUBLIC _cerezas1 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -190,6 +190,7 @@ PUBLIC _cerezas1 PUBLIC _cerezas2 ._cerezas2 + defb @00000000 defb @00000000 defb @00000000 defb @00000110 @@ -213,7 +214,6 @@ PUBLIC _cerezas2 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -228,6 +228,7 @@ PUBLIC _cerezas2 defb @00000000 defb @00000000 defb @00000000 + defb @00000000 defb @01000000 defb @10100000 defb @11000000 @@ -248,7 +249,6 @@ PUBLIC _cerezas2 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -260,6 +260,7 @@ PUBLIC _cerezas2 defb @00000000 ._cerezas2_f3 + defb @00000000 defb @00010000 defb @00100000 defb @01000000 @@ -283,7 +284,6 @@ PUBLIC _cerezas2 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -295,6 +295,7 @@ PUBLIC _cerezas2 defb @00000000 ._cerezas2_f4 + defb @00000000 defb @00000000 defb @01100000 defb @11000000 @@ -318,7 +319,6 @@ PUBLIC _cerezas2 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 @@ -330,6 +330,7 @@ PUBLIC _cerezas2 defb @00000000 ._cerezas2_f5 + defb @00000000 defb @00000000 defb @11000000 defb @00000000 @@ -353,7 +354,6 @@ PUBLIC _cerezas2 defb @00000000 defb @00000000 defb @00000000 - defb @00000000 defb @00000000 defb @00000000 diff --git a/build/cerezas.png b/build/cerezas.png old mode 100755 new mode 100644 index 32a31b4da1c31991a82e722adef0914094cd7fbc..63cc03cd3fcfc76ec02cc524c0d9f47fcaa1e365 GIT binary patch delta 6176 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 diff --git a/build/cerezas.png.bak.png b/build/cerezas.png.bak.png deleted file mode 100644 index 0ab7cce2040e8ef7a6a719bf74b5ac9e3a21179d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRm!3HEhFR0}KQfx`y?k)^}fRN!tWY2V<2xoyu zWHAGSo-znCRxGtI0}8U2c>21sKW60-(d0_(>yrfvNtU=qlsM<-=BDPAFgO>bCYGe8 zD3oWGWGJ|M`UZqI@`(c#6??ikhFF|_8{#Q+K!HQq@Bja&UxK3D6IossX}TY4X>sk~ zP!)8Yw9%FEiK;}y`~|H0(icwm4r2JhvE_Ikx6}nI Date: Sun, 9 Jun 2019 21:39:38 +0200 Subject: [PATCH 6/6] run for your life --- logic.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/logic.c b/logic.c index 19dab8b..eec5c8b 100644 --- a/logic.c +++ b/logic.c @@ -398,7 +398,11 @@ void check_fsm() { points += 20; // energizers - are worth 20 points each pill_eaten = 125; for(idx = 0; idx != 4; ++idx) { - if(ghosts[idx]->active == ACTIVE) { + if(ghosts[idx]->active == ACTIVE || ghosts[idx]->active == ELUDE) { + // stop so we could decide to "sacar pies en polvorosa" + ghosts[idx]->dx = 0; + ghosts[idx]->dy = 0; + ghosts[idx]->active = ELUDE; ghosts[idx]->currentoffset = GHOST_FRIGHTENED; sp1_IterateSprChar(ghosts[idx]->sp, initialiseColourBlue);