From f6d5d4285e7a86ec0ae827e2a2849ff2775d4d74 Mon Sep 17 00:00:00 2001 From: Rob Pearce Date: Sun, 28 Sep 2008 03:18:36 +0000 Subject: [PATCH] - Added new tiles: honeycomb, cave, up/down signs - Added new fruit: diamond - Level transitions are now smoother - Levels now contain exitdir (which way to scroll when completed) - Added random powerups on each level (if you define a position in the editor) - Added temp powerup: boxing glove --- defs.h | 33 ++- edit.c | 43 ++- globals.h | 6 + newtiles/cavebg.png | Bin 0 -> 693 bytes newtiles/cavebridge.png | Bin 0 -> 663 bytes newtiles/cavespikes.png | Bin 0 -> 695 bytes newtiles/honey.png | Bin 0 -> 625 bytes newtiles/honeybg.png | Bin 0 -> 487 bytes newtiles/honeytop.png | Bin 0 -> 663 bytes newtiles/signdown.png | Bin 0 -> 607 bytes newtiles/signup.png | Bin 0 -> 622 bytes rc | Bin 188472 -> 197112 bytes rc.c | 620 +++++++++++++++++++++++++++++++--------- rc.h | 6 +- shared.c | 304 +++++++++++++++----- shared.h | 5 +- sprites/boxing.png | Bin 0 -> 701 bytes sprites/diamond.png | Bin 0 -> 936 bytes sprites/poweruppos.png | Bin 0 -> 299 bytes world1/BAK | 20 +- world1/level1.dat | 1 + world1/level10.dat | 59 ++-- world1/level11.dat | 113 +++++--- world1/level2.dat | 7 +- world1/level3.dat | 2 + world1/level4.dat | 6 +- world1/level5.dat | 13 +- world1/level6.dat | 5 +- world1/level7.dat | 6 +- world1/level8.dat | 27 +- 30 files changed, 956 insertions(+), 320 deletions(-) create mode 100644 newtiles/cavebg.png create mode 100644 newtiles/cavebridge.png create mode 100644 newtiles/cavespikes.png create mode 100644 newtiles/honey.png create mode 100644 newtiles/honeybg.png create mode 100644 newtiles/honeytop.png create mode 100644 newtiles/signdown.png create mode 100644 newtiles/signup.png create mode 100644 sprites/boxing.png create mode 100644 sprites/diamond.png create mode 100644 sprites/poweruppos.png diff --git a/defs.h b/defs.h index adfd22c..c722a86 100644 --- a/defs.h +++ b/defs.h @@ -35,7 +35,7 @@ #define POINTSDELAY 40 #define BONUSDELAY 50 #define HURRYDELAY 50 -#define LEVELDELAY 70 +#define LEVELDELAY 80 #define HELPDELAY 80 @@ -100,7 +100,7 @@ #define S_SLOPE 2 // Sprite types -#define MAXPTYPES 23 +#define MAXPTYPES 27 #define P_PLAYER 0 #define P_RAT 1 #define P_CHEESE 2 @@ -124,6 +124,14 @@ #define P_PUFF 20 #define P_GEMYELLOW 21 #define P_GEMPURPLE 22 +#define P_POWERUPPOS 23 +#define P_BOXING 24 // this is the powerup +#define P_GLOVE 25 // this is the glove on the end of the net +#define P_DIAMOND 26 + +// powerups +#define PW_NONE 0 +#define PW_BOXING 1 // boxing glove // Frame names #define F_WALK1 0 @@ -143,6 +151,15 @@ #define F_SLAM4 14 #define F_SLAM5 15 + +// Level states +#define LV_INIT 5 // just loaded, waiting for monsters to appear +#define LV_INPROGRESS 0 // regular game play +#define LV_CLEAR 1 // all monsters dead +#define LV_WAIT 2 // LEVEL COMPLETE displayed, delay to collect fruits +#define LV_FINAL 3 // delay 5 seconds more... +#define LV_NEXTLEV 4 // end of delay, nextlevel() in 5 seconds + // Tile types #define T_BLANK 0 #define T_LAND 1 @@ -180,6 +197,8 @@ // directions #define D_RIGHT (1) #define D_LEFT (-1) +#define D_UP (-2) +#define D_DOWN (2) /* data structures */ @@ -238,9 +257,14 @@ typedef struct level_s { struct level_s *prev; int p1x; /* player 1 start pos */ int p1y; + int powerupx; /* powerup position */ + int powerupy; /* powerup position */ + int gotpowerup; /* has the random powerup appeared yet? */ + int exitdir; /* which way to scroll on level completion */ int nummonsters; initialmonster_t initm[MAXMONSTERSPERLEVEL]; int hurryuptime; + int poweruptime; } level_t; level_t *level; @@ -269,11 +293,13 @@ typedef struct sprite_s { int nety; // y position of end of net (used when shooting >1 net) int netxstart; // x position of start of net int netystart; // y position of start of net + int powerup; // what temp powerup does the player have? // monster only int willbecome; // what fruit this will become when dead int angry; // is this sprite in ANGRY mode for its AI? struct sprite_s *caughtby; // who has us in their net? NULL if nobody + int quickdie; // die without bouncing? int caughtstate; // are we caught by a net? being pulled in or caught? int jumptimer; // delay before we will jump int flies; // can we fly? @@ -336,6 +362,9 @@ extern TTF_Font *font[]; extern int musicplaying; extern Mix_Music *music, *normalmusic, *fastmusic; extern Mix_Chunk *sfx[]; +extern int oldexitdir; +extern int levelcomplete; +extern text_t *text, *lasttext; #endif diff --git a/edit.c b/edit.c index cb10955..0427899 100644 --- a/edit.c +++ b/edit.c @@ -208,12 +208,12 @@ int main (int argc, char **argv) { y = (my / TILEH); /* checks */ - // can only have one player start pos - if (selsprite == P_PLAYER) { + // can only have one player/powerup pos + if ((selsprite == P_PLAYER) || (selsprite == P_POWERUPPOS)) { /* does a player start pos already exist? */ sprite_t *s; for (s = sprite ; s ; s = s->next) { - if (s->id == P_PLAYER) { + if (s->id == selsprite) { // if so, just move it s->x = x*TILEW+(TILEW/2); s->y = y*TILEH+TILEH; @@ -241,9 +241,9 @@ int main (int argc, char **argv) { /* place selected sprite at mouse position (locked to a tile) */ if (selsprite == P_HELP) { - addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"FILL ME IN", B_TRUE); + addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"FILL ME IN" ); } else { - addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"something", B_TRUE); + addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"something" ); } printf("added a sprite\n"); toggletimer = 30; @@ -312,6 +312,36 @@ int main (int argc, char **argv) { } } + + + /* exit direction */ + if (toggletimer == 0) { + if (keys[SDLK_h]) { + printf("Exit direction set to LEFT.\n"); + curlevel->exitdir = D_LEFT; + toggletimer = 30; + modified = B_TRUE; + } + if (keys[SDLK_j]) { + printf("Exit direction set to DOWN.\n"); + curlevel->exitdir = D_DOWN; + toggletimer = 30; + modified = B_TRUE; + } + if (keys[SDLK_k]) { + printf("Exit direction set to UP.\n"); + curlevel->exitdir = D_UP; + toggletimer = 30; + modified = B_TRUE; + } + if (keys[SDLK_l]) { + printf("Exit direction set to RIGHT.\n"); + curlevel->exitdir = D_RIGHT; + toggletimer = 30; + modified = B_TRUE; + } + } + /* next level */ if (keys[SDLK_RIGHT]) { if (toggletimer == 0) { @@ -563,6 +593,9 @@ int savelevel(int wnum, int lnum) { } fprintf(f, "endmonsters\n"); + /* exit dir */ + fprintf(f, "exitdir %d\n",curlevel->exitdir); + /* level data */ for (y = 0; y < LEVELH; y++) { for (x = 0; x < LEVELW; x++) { diff --git a/globals.h b/globals.h index a246179..78cba03 100644 --- a/globals.h +++ b/globals.h @@ -13,10 +13,16 @@ sprite_t *player; // pointer to the player's sprite Mix_Music *music, *fastmusic, *normalmusic; Mix_Chunk *sfx[MAXFX]; +text_t *text, *lasttext; + level_t *curlevel; // the current level's data +int levelcomplete; // has the levle been finished? + tiletype_t fakeblock; // used for returning tiletypes from a function +int oldexitdir; // exit direction of previous level + int vidargs; // arguments for SetVideo call TTF_Font *font[MAXLETTERHEIGHT]; diff --git a/newtiles/cavebg.png b/newtiles/cavebg.png new file mode 100644 index 0000000000000000000000000000000000000000..79847562efefb4b8c2ccf2777b9584807e45d871 GIT binary patch literal 693 zcmV;m0!safP)<1$@3^+*s|7Q|IkrYbQvTT{TcS_EoKldM%lG~v#2?8f`zzmraI!9h$ZYqf} zAR^WE=`w4rc~?8*Do7C%p!bcgPv^5I`9s%NqR^7Z1(?)=3Q2k2H2k(}=G9-8HRrTz zn&agnmHzYlkHh0HL1~OxRCSDbH}pIwKhONzhg*zU3Uk|cMso<5V@3e2sHwXo6wVXP zNzjraXf2t{WTR|n^v7L)7$>f*QtCQQGzYm(PtU)klx^EWp^@t>3`>ICZLO1ZdOLQm zd3_%rcH4jmK7{}`o7UCU`Eq(bp6zCcRB_EoWh+EDUeDva=0dlPn;`-(?|z!RzfQAt zE~lI@YAN_{+wE~mtz>=OFebZAcQ_qBfBJHKd8(A&-3(b60KDG~C1Oc|IVr57#+js* z$0boet#F>#O;dgQ@<4epS_{E1xLjLr z)rne7hLAikgM<(g&wL$!%4k9o0->|iV*A?n&N=w)>&0wT3P!WJmKcb;@EENW>m5}L&J+nm zVN^gw24%vW3n2i3Qz@k=5fVel5E8TwTaN`{5~$ef3R{926%jlb{(Ts(kH-|^xJ*l7 zDe&p)um2vOjAU8nBuYT*_2zX9P2F`}$8XNhAIGw-XjpBCs@;0`@bqx?_WJSuw)6Gj zY_G0KNiGk2%VH%`U%A#}(>JB|LFR&CT+;KjtT)|<>vzc3)U|W`a{ARasy6eNtK(_O z#WahgloXVx3PBXKh~50WpXQiL+3$DL%W~fBxM_RHrLhvTBJmOaenyx{-2!lzxTJXq?A%hq3arUevaw;uM>Bx9wQ%D{mZnhhW(F+ xyPP9d->gJ9IaW;=hMvKOQF3fA(hcJ<=rmS*t(?L2$0?KmYpd zU+eAe0m$>bb7D~8=ta_cY?d0R_r)~HUJm8$YH9lZkNbOLx<#5J#Hl*&ijz*~g9zkP zS=QZv5Zgns-9LYM-t|KtgyG%Y-D6uFnhNKp6I?cz}Xm`Lp d4S~^5{s#k9L8cz1&Wiv5002ovPDHLkV1m%pLoomV literal 0 HcmV?d00001 diff --git a/newtiles/honey.png b/newtiles/honey.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe04480bcd7e02fae07187e2848081350747475 GIT binary patch literal 625 zcmV-%0*?KOP)%t(NEe?6vy#%dM^|z z#kNc2p(yIINO_UP!uC(>|3zLM3dY3OK_v@Ux+TWjCD^h=de7Yhf-~Fe=izsf@4bGE&hAQ!73~#~Yt6KEdLXXvY?#OqC_BqhRGqF3?D_^uoGE}CZw z3x<-E2sbkv+qYi4qqs^4nYP-8Vl=5rMcLR~D5@2KX=K`JH^eBaKIU8JtbPpMr?__! zoaInJB{31ZOLXjd8NBYiHweyFTmOwNzrUI4Y;2}l)l6gn46OFiY&fR;{Ih2YAi64h7{$EcjEq4(9xU{rP;doxcW%6>5Uxz@fGbAIr#4l zw;T5dL5Q2xN`}tn+8_vF>q~U_&)X?wQ*-gGYemi0t0&?*vgJzu$0yuxZhC`LsaxoF zc=C+1U5+cKvOaUE@4*NT4tURY(Dt@6U+00000 LNkvXXu0mjf0xK(m literal 0 HcmV?d00001 diff --git a/newtiles/honeybg.png b/newtiles/honeybg.png new file mode 100644 index 0000000000000000000000000000000000000000..f183784dc48ee2913d823f13d7f7cb85cb665026 GIT binary patch literal 487 zcmV$@O>WyT5Jo>rqdyuk zA`59`z;)Cfpy%sNdNO;H#7VlUq?&RO6SjzmlLe*7PQ85qIm7oTe*OG`$@gk?|K+xU z57w-=Q81Iyj6QP}1!+Rf%U?DX9hs*D0eA?P*>+RKuN}7)wI}>*w%wGJ&OO%9Dr}L& zX#iR5)|>gAh2L|7BpNvrYYV~dbiB9R)^zN6N)Qae;Ue2Uo$xCnq&Gqq&H7<}2l$@b zwS|n*K**w5Kb~EG{~O%)tEz9M)G58+~_p6htuv8jW@+X>IqQ$^Rg$J%NojgV0q zVp8l@5Bbu)!D=O2A>$8TSYmCR0p)fzB^@kJeFz?S74N$bP9nX*pF9WnSGjJ;YmWia;P&mGQvJ2OJ7;8F*#_nqvm9el&XMc#MV zjlSW054WCiGjyow@HXzcxK+>2%>TTk>s+vAt)zjB(h#!PtzCzUoQXBg>b4~v?f63% dSwF4k{yUv;S(r^fF^~WN002ovPDHLkV1k>6+AjbA literal 0 HcmV?d00001 diff --git a/newtiles/honeytop.png b/newtiles/honeytop.png new file mode 100644 index 0000000000000000000000000000000000000000..cd3779e6382692f8b32f4181494968cf9802a798 GIT binary patch literal 663 zcmV;I0%-k-P)bqogP-O>onuSeS0R?JV7$ zof!`W!a)E)OIdoOuJ>!*MLMEJil0Sy2kfc!^>00aP_0Y%{l2z)?YNoYU;5ddhA%Fs5-vL|W`0sKZXfSAXJ#y948_FuPC&PJf-sa28j%Wn zBJ2t7iw=u_xZ%?Lljh#=%eO(h9m!MCAIM-R&0r{n&;Xz?Zj^>n;AgV=?zJ7n$DDLd zV=G0ZglQ6LnxsESpb-nzA0#JT(P8l@QUGR4#L4EK-7SrGTPfn$lsYz@E80-HAIPI- zG*KJW_c`;0K?yOmvpU~8?AR6+LTi0-0RTp-*^c&HK3gJnH*}BAPJKa_pEv8n@|vhj z#~l{CM`r-&_>ECd)Ls5!!G?jC>(y0mJ+w^k%`5w)A$wGHNtMK2Yc%B;=9FXbQ11TZ zk8a)~1)Jomt&LCRiY60=Vw8E4A+DthHp$(;W51m%ScH9lFx~J+ndM)f_cK|gxYC2T zc+VmxG*wqU|M>c(P0dVrgDkDLHnz$Ya`HM z+JH8cv$EjT+-WBCU;MxuA)WvL002ovPDHLkV1m3vCtLsk literal 0 HcmV?d00001 diff --git a/newtiles/signdown.png b/newtiles/signdown.png new file mode 100644 index 0000000000000000000000000000000000000000..09caa063745dcb98e8c2de12a027b6921c275b7b GIT binary patch literal 607 zcmV-l0-*hgP)U2BvI7L7*21d<4X{c$0UGwx1u zkukCv(H(#Yu-`itg{MmBj9Q&0z^hL?xWnBmOO#wWNHBLUkc$J@5#aJd3kKtHC0FOi zPba5L6NCiw(~v_$=_`G9_6A3y0+R@B5JF@XGB7`5zYmu6WPB~x2lNM4!A&M;&w=oqkj z07E|z+>wd5Uv>#5`UH}*_5K^U^Wf?dW<~|#;SV~Q?al3FSE)2Xy!`l`CI~YKW<0#M zNN6HnDw2?i)fb;9CBDA3?4ed-$w;DYj3=v0JpZr*?mW6aBDN7Vk+gRJ76>sOM+mhN znULEq&_-dV$<+w4ZI8^dKpWgAa%>D{k9L;iX>!zPH tFOFu<{=vrjwl2!DW(|C`8YEp z08g%6aE%J)V1@u8Dk&-z=!@eH8U)LgS{+qk?add70BxgG1C2@&K?OvFt#{j$>Rews zjk}XwC@4jh=ng;x_}Muc1hi$-7f!CjZaOcvPNrushK&cL(d+p-5;r!Xe z;%sC%5T3u^#>_}TXp=CA@bcp~#-l)RXWBbmcH2wP1VIprR0{C$$^rmS-+l$)!R2$5 z5U8C2Fi@k*w!cE(6=F~TayFz<25mqD1n9F|WqEz|1jm20@t_C7{wI zCj~GUhBGa$LU!YLar(ZXLG}UPC(w62!5vXye5yq?FwG$1OiICXB?U!QF(7i_3-?}q z5`e8+OD@&uyUNa_l7gTLqnSj>5K_deacqzfJ&@qp%_R?J#99y$nxveJ!rIjZaHE!v z)HX%q)OQZZ}9SXSr z=(Zna_E*6C+>pDEZ}>s;{M_*93D#FPWpQ-o58(RhrW~gI1=TOe?4M+z?EnA(07*qo IM6N<$f}Jc05dZ)H literal 0 HcmV?d00001 diff --git a/rc b/rc index afd45697f0791c94b42a6971932625876db7b1a8..3930a1cf20f49dc59e21c6820f4c9fd7d731e2a8 100755 GIT binary patch literal 197112 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
Xi1?3KSq}21~@$p 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%0DiT`?^gWK)3C{k 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 N%c@sUi%<{z{vUvUtscore = 0; while (1) { - /* - removetext(); - for (s = sprite ; s ; s = s->next) { - removesprite(s); - } - removenetting(player); - */ removeall(); /* check for death & update movement status*/ @@ -209,12 +206,12 @@ int main (int argc, char **argv) { } /* check for end of level */ - if (levelcomplete == 1) { + if (levelcomplete == LV_CLEAR) { addtext(318,242,32,"Level Complete!",&black,LEVELDELAY); addtext(320,240,32,"Level Complete!",&yellow,LEVELDELAY); - levelcomplete = 2; + levelcomplete = LV_WAIT; playfx(FX_WINLEVEL); - } else if (levelcomplete == 2) { + } else if (levelcomplete == LV_WAIT) { int mcount = 0; sprite_t *s2; @@ -229,7 +226,7 @@ int main (int argc, char **argv) { } if (mcount == 0) { levelcompletetime = gtime; - levelcomplete = 3; + levelcomplete = LV_FINAL; } } @@ -244,6 +241,12 @@ int main (int argc, char **argv) { if (keys[SDLK_q]) { gtime = curlevel->hurryuptime -1; } + if (keys[SDLK_n]) { + if (toggletimer == 0) { + nextlevel(); + toggletimer = 50; + } + } if (keys[SDLK_RETURN]) { if (toggletimer == 0) { SDL_WM_ToggleFullScreen(screen); @@ -347,6 +350,27 @@ int main (int argc, char **argv) { } player->netlen = 0; player->netdir = player->dir; + + /* handle boxing glove */ + if (player->powerup == PW_BOXING) { + sprite_t *s; + int found; + // use existing glove if it is there + found = B_FALSE; + for (s = sprite; s ; s = s->next) { + if (s->id == P_GLOVE) { + s->x = player->x; + s->y = player->y - (imageset[P_PLAYER].img[F_SHOOT]->h / 2) + 5; + found = B_TRUE; + } + } + + if (!found) { + addsprite(P_GLOVE, player->x, + player->y - (imageset[P_PLAYER].img[F_SHOOT]->h / 2) + 5, + "glove"); + } + } } } } @@ -385,23 +409,25 @@ int main (int argc, char **argv) { movetext(); - /* gravity */ - for (s = sprite ; s ; s = s->next) { - dogravity(s); - } + if (levelcomplete == LV_INIT) { + // only player + dogravity(player); + dotileeffects(player); + } else { + /* gravity */ + for (s = sprite ; s ; s = s->next) { + dogravity(s); + } - /* tile effects */ - for (s = sprite ; s ; s = s->next) { - dotileeffects(s); + /* tile effects */ + for (s = sprite ; s ; s = s->next) { + dotileeffects(s); + } } /* check collisions */ - //for (s = sprite ; s ; s = s->next) { - // checkcollide(s); - //} checkcollide(player); - drawscore(); drawnetting(player); @@ -439,7 +465,7 @@ void tick(void) { gtime++; - /* */ + /* check for hurryup*/ if (gtime == curlevel->hurryuptime) { if (!levelcomplete) { for (s = sprite; s; s = s->next) { @@ -454,17 +480,36 @@ void tick(void) { } } else if (gtime == curlevel->hurryuptime + 10) { if (!levelcomplete) { - addsprite(P_CLOUD, 320,240,"cloud", B_FALSE); + addsprite(P_CLOUD, 320,240,"cloud"); addtext(320,240,TEXTSIZE_HURRY, "Too slow!", &red,HURRYDELAY); playfx(FX_TOOSLOW); } } + /* check for random power up */ + if ((curlevel->powerupx != -1) && (curlevel->powerupy != -1)) { + if (!curlevel->gotpowerup) { + if (gtime == curlevel->poweruptime) { + if (!levelcomplete) { + /* add a random powerup at the right position */ + /* IMPORTANT: the name 'random_up' is important as it tells addsprite() to + give it a higher doomcount */ + puffin(randompowerup(), + curlevel->powerupx*TILEW + (TILEW/2), + curlevel->powerupy*TILEH + TILEH - 1, + "random_up",0); + curlevel->gotpowerup = B_TRUE; + } + } + } + } + /* 5 seconds after level completion */ - if (levelcomplete == 3) { + if (levelcomplete == LV_FINAL) { if (gtime - levelcompletetime >= 5) { if (!player->dead) { + levelcomplete = LV_NEXTLEV; nextlevel(); } } @@ -475,20 +520,44 @@ void tick(void) { } void nextlevel(void) { + char msg[SMALLBUFLEN]; + + // remove the player + removesprite(player); + + // don't want the player flashing + player->invuln = 0; + + /* in case we skipped the level due to a powerup etc */ + levelcomplete = LV_NEXTLEV; + /* go to next level */ curlevelnum++; if (!musicplaying || (curmusic == fastmusic)) { playmusic(normalmusic); } + + // these two handle the scroll effect to the next level loadlevel(curworld,curlevelnum); drawlevel(); - levelcomplete = B_FALSE; + + + /* reset game stats */ + levelcomplete = LV_INIT; levelcompletetime = -1; + /* reset level stats */ + level->gotpowerup = B_FALSE; + + sprintf(msg, " Level %02d-%02d ",curworld, curlevelnum); + addtext(318,242,32,msg,&black,LEVELDELAY); + addtext(320,240,32,msg,&green,LEVELDELAY); + /* reset player stats */ player->netting = B_FALSE; player->slamming = B_FALSE; player->jumping = B_FALSE; + player->powerup = B_FALSE; } void jump(sprite_t *s, int dir) { @@ -560,7 +629,7 @@ void die(sprite_t *s) { } if (mcount == 0) { - levelcomplete = 1; + levelcomplete = LV_CLEAR; } } } @@ -592,19 +661,44 @@ void checkcollide(sprite_t *s) { if (collide) { /* check for colission with our net */ if ((s->netting) && (!s2->caughtby)) { - if (s->netcaught < s->netmax) { - if (ismonster(s2->id) && s2->id != P_CLOUD) { - xdiff = (s->x + s->netlen*s->netdir) - s2->x; - if (xdiff < 0) xdiff = -xdiff; - ydiff = s->netystart - (s2->y - s2->img->h/2); - if (ydiff < 0) ydiff = -ydiff; + if (ismonster(s2->id) && s2->id != P_CLOUD) { + xdiff = (s->x + s->netlen*s->netdir) - s2->x; + if (xdiff < 0) xdiff = -xdiff; + ydiff = s->netystart - (s2->y - s2->img->h/2); + if (ydiff < 0) ydiff = -ydiff; - if ((xdiff <= s2->img->w/2) && (ydiff <= s2->img->h)) { - s2->caughtby = s; - s2->jumping = 0; - s2->falling = 0; - s2->caughtstate = C_NETTING; - s->netcaught++; + if ((xdiff <= s2->img->w/2) && (ydiff <= s2->img->h)) { + // we hit something! + + // if we have a boxing glove, it dies + if (s->powerup == PW_BOXING) { + s2->dead = D_BOUNCING;// die as soon as it hits a wall + s2->bounces = 1; + s2->quickdie = B_TRUE; + + /* go FAST in the direction player is facing */ + s2->xs = s->dir * 5; + s2->ys = 0; + + /* slightly raise the sprite to avoid isonground() being true */ + s2->y -= 3; + + /* make sure we're not too high since we'll never get lower now */ + if (s2->y <= TILEH) s2->y = TILEH+1; + + // become something special + s2->willbecome = P_DIAMOND; + + playfx(FX_KILL); + } else { + // otherwise we caught it if we have enough nets + if (s->netcaught < s->netmax) { + s2->caughtby = s; + s2->jumping = 0; + s2->falling = 0; + s2->caughtstate = C_NETTING; + s->netcaught++; + } } } } @@ -687,6 +781,15 @@ void movesprite(sprite_t *s) { int rv; tiletype_t *tt; + if (levelcomplete == LV_INIT) { + // most things can't move in this state + if ((s->id != P_PUFF) && (s->id != P_PLAYER)) { + // caught or dead sprites can move, in case + // the player catches something before level start time + if ((!s->caughtby) && (!s->dead)) return; + } + } + /* timer */ if (s->doomcount) { s->doomcount--; @@ -765,13 +868,12 @@ void movesprite(sprite_t *s) { } else { /* bounch around the screen 3 times */ bouncesprite(s); - if ((s->bounces >= 2) && (s->ys > 0)) { + if ((s->bounces >= 2) && (s->ys >= 0)) { // make sure we're not on the ground if (!isonground(s)) { - int tx,ty; - tiletype_t *tt; - tt = gettileat(s->x,s->y,&tx,&ty); - + //int tx,ty; + //tiletype_t *tt; + //tt = gettileat(s->x,s->y,&tx,&ty); s->dead = D_LASTBOUNCE; } } @@ -787,35 +889,9 @@ void movesprite(sprite_t *s) { } } else { /* bounce around, stop when we hit the ground */ bouncesprite(s); - /* OLD BOUNCE CODE - if (s->x >= (640-TILEW- s->img->w/2)) { - if (s->xs > 0) { - s->xs = -s->xs; - s->bounces++; - } - } else if (s->x <= TILEW + s->img->w/2) { - if (s->xs < 0) { - s->xs = -s->xs; - s->bounces++; - } - } - if (s->y >= (480-(s->img->h/2))) { - if (s->ys > 0) { - s->ys = -s->ys; - s->bounces++; - } - } else if (s->y <= s->img->h) { - if (s->ys < 0) { - s->ys = -s->ys; - s->bounces++; - } - } - */ - - - if ((s->ys > 0) && (s->y >= TILEH)) { - if (isonground(s)) { + if ((s->ys >= 0) && (s->y >= TILEH)) { + if (s->quickdie || isonground(s)) { int x,y,ty; s->dead = D_FINAL; /* change into a fruit */ @@ -829,7 +905,7 @@ void movesprite(sprite_t *s) { if (x < (TILEW)) x = TILEW; //addsprite(s->willbecome, x, y, "Fruit", B_FALSE); - puffin(s->willbecome, x, y, 0); + puffin(s->willbecome, x, y, "fruit", 0); //ss = addsprite(P_PUFF, x, y, "Fruit", B_FALSE); //ss->timer3 = s->willbecome; @@ -937,13 +1013,23 @@ void movesprite(sprite_t *s) { // finished animating if (s->timer1 == PUFFAPPEAR) { // create a gem/fruit/etc - addsprite(s->timer3, s->x,s->y,"gem", B_FALSE); + addsprite(s->timer3, s->x,s->y,s->name ); } else if (s->timer1 >= PUFFFRAMES) { s->dead = D_FINAL; } } } + } else if (s->id == P_GLOVE) { // boxing glove effect + // dies when the player finshes netting + if (!player->netting) { + s->dead = D_FINAL; + } else { + // keep it at the end of the net + s->x = player->x + (player->netdir * player->netlen); + s->y = player->y - (player->img->h/2) + 5; + s->dir = player->dir; + } } else if (s->id == P_RAT) { if (!s->falling) { int move = B_FALSE; @@ -1149,7 +1235,7 @@ printf("can shoot again\n"); if (shoot) { // if our shooting timer is okay if (s->timer1 == 0) { - ss = addsprite(P_SPIT,s->x,s->y - s->img->h/2,"spit", B_FALSE); + ss = addsprite(P_SPIT,s->x,s->y - s->img->h/2,"spit" ); ss->ys = 0; ss->xs = s->dir * (getspeed(s)*2); ss->dir = s->dir; @@ -1236,6 +1322,13 @@ printf("can shoot again\n"); s->ys = -s->ys; } + /* check for top of screen */ + // TODO: later, remove this when we can wrap around + if ((s->y <= s->img->h) && (s->ys < 0)) { + s->ys = -s->ys; + } + + /* move */ s->x += s->xs; s->y += s->ys; @@ -1428,11 +1521,18 @@ void dotileeffects(sprite_t *s) { } +// initial transition to a new level void drawlevel(void) { int x,y; - SDL_Rect area; - int speed = 16; + int dstx,dsty,xdis,ydis,dis; + int turns; + int pspeed; + SDL_Rect area,dst; + int speed = TILEW; + SDL_Surface *playerbg; + /* TODO: chekc for memory leak here with temps - + need to free it at the end? */ if (temps) { SDL_FreeSurface(temps); temps = NULL; @@ -1443,6 +1543,18 @@ void drawlevel(void) { screen->format->Gmask,screen->format->Bmask, screen->format->Amask); + // change player to floating image + player->img = imageset[P_PLAYER].img[F_SHOOT]; + + // create buffer for player background + playerbg = SDL_CreateRGBSurface(SDL_SWSURFACE, + player->img->w, player->img->h, + screen->format->BitsPerPixel, screen->format->Rmask, + screen->format->Gmask,screen->format->Bmask, + screen->format->Amask); + + + // draw the full level onto a temporary surface for (x = 0; x < LEVELW; x++) { for (y = 0; y < LEVELH; y++) { drawtile(temps,x,y); @@ -1450,16 +1562,231 @@ void drawlevel(void) { } - for (x = 0; x < 640; x += speed) { - area.x = 0; - area.y = 0; - if (x > 639) { - area.w = 639; - } else area.w = x; - area.h = 480; - SDL_BlitSurface(temps, &area, screen, &area); - SDL_UpdateRect(screen, area.x, area.y, area.w, area.h); + // figure out where the player's new start position is + dstx = (curlevel->p1x * TILEW) + (TILEW/2); + dsty = (curlevel->p1y * TILEH) + TILEH-2; + + // figure out distance to newposition + xdis = player->x - dstx; if (xdis < 0) xdis = -xdis; + ydis = player->y - dsty; if (ydis < 0) ydis = -ydis; + if (xdis > ydis) dis = xdis; + else dis = ydis; + + // figure out how many loops it will take to scroll to the next level + switch (oldexitdir) { + case D_LEFT: + case D_RIGHT: + turns = 640 / TILEW; + break; + case D_UP: + case D_DOWN: + default: + turns = 480 / TILEH; + break; } + turns -= 4; // just to be safe + + // figure out how fast player needs to move to get there in time + pspeed = dis / turns; + + + + if (oldexitdir == D_LEFT) { + // blit a column at a time to the real screen, shuffling + // the real one along. + for (x = 0; x < 640; x += speed) { + // move player + movetostart(player,dstx,dsty,pspeed); + + // shuffle real screen + area.x = 0; + area.y = 0; + area.w = 640-TILEW; + area.h = 480; + + dst.x = TILEW; + dst.y = 0; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(screen, &area, screen, &dst); + + // blit next column from temp surface (take last column first) + area.x = 640-x; + area.y = 0; + area.w = TILEW; + area.h = 480; + + + + dst.x = 0; + dst.y = 0; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(temps, &area, screen, &dst); + + // remember area behind player + grabbehind(player, playerbg); + + // draw player + drawsprite(player); + + // update screen + SDL_UpdateRect(screen, 0,0,640,480); + + // remove player + area.x = player->x - player->img->w/2; + area.y = player->y - player->img->h; + area.w = 0; + area.h = 0; + SDL_BlitSurface(playerbg, NULL, screen, &area ); + } + } else if (oldexitdir == D_UP) { + // blit a row at a time to the real screen, shuffling + // the real one along. + for (y = 0; y < 480; y += speed) { + // move player + movetostart(player,dstx,dsty,pspeed); + + // shuffle real screen + area.x = 0; + area.y = 0; + area.w = 640; + area.h = 480-TILEH; + + dst.x = 0; + dst.y = TILEH; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(screen, &area, screen, &dst); + + // blit next row from temp surface (take last column first) + area.x = 0; + area.y = 480-y; + area.w = 640; + area.h = TILEH; + + dst.x = 0; + dst.y = 0; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(temps, &area, screen, &dst); + + // remember area behind player + grabbehind(player, playerbg); + + // draw player + drawsprite(player); + + // update screen + SDL_UpdateRect(screen, 0,0,640,480); + + // remove player + area.x = player->x - player->img->w/2; + area.y = player->y - player->img->h; + area.w = 0; + area.h = 0; + SDL_BlitSurface(playerbg, NULL, screen, &area ); + } + } else if (oldexitdir == D_DOWN) { + // blit a row at a time to the real screen, shuffling + // the real one along. + for (y = 0; y < 480; y += speed) { + // move player + movetostart(player,dstx,dsty,pspeed); + + // shuffle real screen + area.x = 0; + area.y = TILEH; + area.w = 640; + area.h = 480-TILEH; + + dst.x = 0; + dst.y = 0; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(screen, &area, screen, &dst); + + // blit next row from temp surface (take last column first) + area.x = 0; + area.y = y; + area.w = 640; + area.h = TILEH; + + dst.x = 0; + dst.y = 480-TILEH; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(temps, &area, screen, &dst); + + // remember area behind player + grabbehind(player, playerbg); + + // draw player + drawsprite(player); + + // update screen + SDL_UpdateRect(screen, 0,0,640,480); + + // remove player + area.x = player->x - player->img->w/2; + area.y = player->y - player->img->h; + area.w = 0; + area.h = 0; + SDL_BlitSurface(playerbg, NULL, screen, &area ); + } + } else { // right, or default + // blit a column at a time to the real screen, shuffling + // the real one along. + for (x = 0; x < 640; x += speed) { + + // move player + movetostart(player,dstx,dsty,pspeed); + + // shuffle real screen + area.x = TILEW; + area.y = 0; + area.w = 640-TILEW; + area.h = 480; + + dst.x = 0; + dst.y = 0; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(screen, &area, screen, &dst); + + // blit next column from temp surface (take last column first) + area.x = x; + area.y = 0; + area.w = TILEW; + area.h = 480; + + dst.x = 640-TILEW; + dst.y = 0; + dst.w = 0; + dst.h = 0; + SDL_BlitSurface(temps, &area, screen, &dst); + + // remember area behind player + grabbehind(player, playerbg); + + // draw player + drawsprite(player); + + // update screen + SDL_UpdateRect(screen, 0,0,640,480); + + // remove player + area.x = player->x - player->img->w/2; + area.y = player->y - player->img->h; + area.w = 0; + area.h = 0; + SDL_BlitSurface(playerbg, NULL, screen, &area ); + } + } + + SDL_FreeSurface(playerbg); + + levelcomplete = B_FALSE; } @@ -1532,23 +1859,10 @@ int addtext(int x, int y, int size, char *string, SDL_Color *c, int delay) { /* copy background buffer (ie. tiles) to screen, erasing sprites */ -void removeall(void) { +void fruit(void) { SDL_BlitSurface(temps, NULL, screen, NULL); } -void removetext(void) { - SDL_Rect sarea; - text_t *t; - - for (t = text ; t ; t = t->next) { - sarea.x = 0; - sarea.y = 0; - sarea.w = t->bgarea.w; - sarea.h = t->bgarea.h; - - SDL_BlitSurface(t->bg, &sarea, screen, &t->bgarea); - } -} void movetext(void) { text_t *t,*nextt; @@ -1626,39 +1940,11 @@ void drawtext(void) { } -void killtext(text_t *t) { - text_t *nextone, *lastone; - - - if (t->bg) { - SDL_FreeSurface(t->bg); - t->bg = NULL; - } - if (t->img) { - SDL_FreeSurface(t->img); - t->img = NULL; - } - - nextone = t->next; - if (nextone != NULL) { - nextone->prev = t->prev; - } else { /*last text */ - lasttext = t->prev; - } - - if (t->prev == NULL) { - /* first text */ - nextone = text->next; - free(text); - text = nextone; - } else { - lastone = t->prev; - free (lastone->next ); - lastone->next = nextone; - } +/* copy background buffer (ie. tiles) to screen, erasing sprites */ +void removeall(void) { + SDL_BlitSurface(temps, NULL, screen, NULL); } - void drawnetting(sprite_t *s) { int sx; SDL_Rect area; @@ -2205,6 +2491,13 @@ int dofruiteffect(sprite_t *s) { sprintf(tempm, "Big net!"); addtext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,POINTSDELAY); return B_TRUE; + } else if (s->id == P_BOXING) { + playfx(FX_POWERUP); + //player->netbig = B_TRUE; + player->powerup = PW_BOXING; + sprintf(tempm, "Boxing Glove!"); + addtext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,POINTSDELAY); + return B_TRUE; } else if (s->id == P_HELP) { playfx(FX_POWERUP); addtext(320,240,TEXTSIZE_HELP, s->name, &white,HELPDELAY); @@ -2235,7 +2528,7 @@ int dofruiteffect(sprite_t *s) { break; } /* create a flower */ - puffin(flowertogem(s->id), xx, s->y, puffdelay); + puffin(flowertogem(s->id), xx, s->y, "flower", puffdelay); //ss = addsprite(P_PUFF, xx,s->y,"puff", B_FALSE); //ss->timer1 = -puffdelay; //ss->timer3 = flowertogem(s->id); @@ -2250,7 +2543,7 @@ int dofruiteffect(sprite_t *s) { if (tt->solid) { break; } - puffin(flowertogem(s->id), xx, s->y, puffdelay); + puffin(flowertogem(s->id), xx, s->y, "flower", puffdelay); //ss = addsprite(P_PUFF, xx,s->y,"puff", B_FALSE); //ss->timer1 = -puffdelay; //ss->timer3 = flowertogem(s->id); @@ -2396,10 +2689,55 @@ void channeldone(int channel) { -void puffin(int willbecome, int x, int y, int delay) { - sprite_t *ss; - ss = addsprite(P_PUFF, x, y, "puff", B_FALSE); - ss->timer3 = willbecome; - ss->timer1 = -delay; +// move player towards new position +void movetostart(sprite_t *p, int dstx, int dsty, int speed) { + if (p->x < dstx) { + p->x += speed; + if (p->x > dstx) p->x = dstx; + } + if (p->x > dstx) { + p->x -= speed; + if (p->x < dstx) p->x = dstx; + } + if (p->y < dsty) { + p->y += speed; + if (p->y > dsty) p->y = dsty; + } + if (p->y > dsty) { + p->y -= speed; + if (p->y < dsty) p->y = dsty; + } } +// grabs area behind a sprite into a temp buffer +SDL_Surface *grabbehind(sprite_t *s, SDL_Surface *surf) { + SDL_Rect area; + + // remember area behind player + area.x = s->x - s->img->w/2; + area.y = s->y - s->img->h; + area.w = s->img->w; + area.h = s->img->h; + SDL_BlitSurface(screen, &area, surf, NULL); + + return surf; +} + +// returns a random powerup +int randompowerup(void) { + int num; + num = rand() % 4; + + + switch (num) { + case 0: + default: + return P_SPEED; + case 1: + return P_BIGNET; + case 2: + return P_NUMNETS; + case 3: + return P_BOXING; + } +} diff --git a/rc.h b/rc.h index 0f01625..04d4006 100644 --- a/rc.h +++ b/rc.h @@ -3,9 +3,7 @@ int addtext(int x, int y, int size, char *string, SDL_Color *c, int delay); void drawscore(void); void drawtext(void); void movetext(void); -void killtext(text_t *t); void removeall(void); -void removetext(void); void drawlevel(void); void removesprite(sprite_t *s); void removenetting(sprite_t *s); @@ -40,4 +38,6 @@ void playfx(int num); void playmusic(Mix_Music *toplay); void stopmusic(void); void channeldone(int channel); -void puffin(int willbecome, int x, int y, int delay); +void movetostart(sprite_t *p, int dstx, int dsty, int speed); +SDL_Surface *grabbehind(sprite_t *s, SDL_Surface *surf); +int randompowerup(void); diff --git a/shared.c b/shared.c index 4e22aaf..2233f80 100644 --- a/shared.c +++ b/shared.c @@ -43,8 +43,18 @@ int loadlevel(int wnum, int lnum) { int numenemies = 0; + printf("Loading level %d-%d...",wnum,lnum); + // remember exit direction for current level + // before loading the new one. + if (level) { + oldexitdir = level->exitdir; + } else { + oldexitdir = D_RIGHT; + } + + if (!level) level = malloc(sizeof(level_t)); if (level->animtiles) free(level->animtiles); @@ -56,8 +66,12 @@ int loadlevel(int wnum, int lnum) { /* default */ level->hurryuptime = 30; + level->poweruptime = 5; level->p1x = 0; level->p1y = 0; + level->powerupx = -1; + level->powerupy = -1; + sprintf(filename, "world%d/level%d.dat",wnum,lnum); f = fopen(filename,"rt"); @@ -84,7 +98,12 @@ int loadlevel(int wnum, int lnum) { tiletype = tt; } - /* clear player linked list */ + /* remove all onscreen text */ + while (text) { + killtext(text); + } + + /* clear sprite linked list (leave player) */ if (sprite != NULL) { while (sprite->next) { killsprite(sprite->next); @@ -227,6 +246,9 @@ int loadlevel(int wnum, int lnum) { if (monid == P_PLAYER) { level->p1x = x; level->p1y = y; + } else if (monid == P_POWERUPPOS) { + level->powerupx = x; + level->powerupy = y; } else { /* place the monster */ level->initm[level->nummonsters].startx = x*TILEW+(TILEW/2); @@ -252,12 +274,39 @@ int loadlevel(int wnum, int lnum) { fgets(buf, BUFLEN, f); } - /* this reads the first line of the level */ + /* this reads the next line after monster defs */ fgets(buf, BUFLEN, f); } printf("got %d monsters\n", numenemies); + /* exitdir ? */ + if (strstr(buf, "exitdir")) { + p = strtok(buf, " "); // "exitdir" + p = strtok(NULL, " "); + level->exitdir = atoi(p); + printf("Exit direction is "); + switch (level->exitdir) { + case D_RIGHT: + printf("RIGHT"); break; + case D_LEFT: + printf("LEFT"); break; + case D_UP: + printf("UP"); break; + case D_DOWN: + printf("DOWN"); break; + default: + level->exitdir = D_RIGHT; + printf("*INVALID*"); + break; + } + printf("\n"); + fgets(buf, BUFLEN, f); + } else { + level->exitdir = D_RIGHT; + printf("Defaulting to exitdir of RIGHT.\n"); + } + /* check whether we've got a new or old level version */ if (strstr(buf, ",")) { /* new version */ @@ -517,26 +566,50 @@ printf("got %d monsters\n", numenemies); /* set current level pointer */ curlevel = level; - /* add player */ + /* add player if required */ if (player == NULL) { addsprite(P_PLAYER, (curlevel->p1x * TILEW) + (TILEW/2), - (curlevel->p1y * TILEH) + TILEH-2 , "Player" , B_TRUE); - } else { + (curlevel->p1y * TILEH) + TILEH-2 , "Player" ); + player = lastsprite; + } + + +#ifdef __EDITOR + /* add powerup pos if it exists */ + if ((level->powerupx != -1) && (level->powerupy != -1)) { + addsprite(P_POWERUPPOS, (curlevel->powerupx * TILEW) + (TILEW/2), + (curlevel->powerupy * TILEH) + TILEH-2 , "poweruppos" ); + } +#endif + +/*else { player->x = (curlevel->p1x * TILEW) + (TILEW/2); player->y = (curlevel->p1y * TILEH) + TILEH-2; } - player = lastsprite; +*/ /* add monsters */ for (i = 0; i < level->nummonsters; i++) { char name[MIDBUFLEN]; + int delay; + if (level->initm[i].id == P_HELP) { strncpy(name, level->initm[i].help, MIDBUFLEN); } else { strcpy(name, "Monster"); } + + if (ismonster(level->initm[i].id)) { + delay = 20; + } else { + delay = 0; + } +#ifdef __EDITOR addsprite(level->initm[i].id, - level->initm[i].startx, level->initm[i].starty, name, B_TRUE); + level->initm[i].startx, level->initm[i].starty, name ); +#else + puffin(level->initm[i].id, level->initm[i].startx, level->initm[i].starty, name, delay ); +#endif } gtime = 0; @@ -570,6 +643,7 @@ void setdefaults(sprite_t *s) { s->netbig = 0; s->dropping = 0; s->dropx = -1; + s->quickdie = B_FALSE; s->dropy = -1; s->falling = 0; s->fallspeed = 0; @@ -609,6 +683,9 @@ void setdefaults(sprite_t *s) { case P_BURGER: s->score = 400; break; + case P_DIAMOND: + s->score = 500; + break; case P_FLOWERYELLOW: s->score = 5; break; @@ -643,7 +720,7 @@ void setdefaults(sprite_t *s) { } /* initial is TRUE if we are populating the level for the first time */ -sprite_t *addsprite(int id, int x, int y, char *name , int initial) { +sprite_t *addsprite(int id, int x, int y, char *name ) { sprite_t *s; if (sprite == NULL) { @@ -684,13 +761,19 @@ sprite_t *addsprite(int id, int x, int y, char *name , int initial) { setdefaults(s); - if (!initial) { + // initial fruits don't time out +#ifndef __EDITOR + if ((levelcomplete != LV_NEXTLEV) && (levelcomplete != LV_INIT)) { if (isfruit(s->id)) { - if (s->id != P_HELP) { // help icons don't time out + // random powerups stay for longer + if (!strcmp(s->name, "random_up")) { + s->doomcount = 900; + } else { s->doomcount = 500; } } } +#endif s->next = NULL; @@ -977,6 +1060,18 @@ int loadimagesets(void) { loadspriteimage(P_GEMPURPLE,F_WALK1, "sprites/gem-purple.png"); imageset[P_GEMPURPLE].numimages = 1; + loadspriteimage(P_POWERUPPOS,F_WALK1, "sprites/poweruppos.png"); + imageset[P_POWERUPPOS].numimages = 1; + + loadspriteimage(P_BOXING,F_WALK1, "sprites/boxing.png"); + imageset[P_BOXING].numimages = 1; + + loadspriteimage(P_GLOVE,F_WALK1, "sprites/boxing.png"); + imageset[P_GLOVE].numimages = 1; + + loadspriteimage(P_DIAMOND,F_WALK1, "sprites/diamond.png"); + imageset[P_DIAMOND].numimages = 1; + for (i = 0; i < PUFFFRAMES; i++) { char name[SMALLBUFLEN]; sprintf(name, "sprites/puff%d.png",i); @@ -994,6 +1089,7 @@ int loadimagesets(void) { /* generate rotated/flipped images */ for (p = 0; p < MAXPTYPES; p++) { /* rotated */ + // TODO: need to free tempimg ? */ if (!isfruit(p) && !isbullet(p) && !iseffect(p)) { tempimg = rotozoomSurface(imageset[p].img[F_DEAD],90,1,0); imageset[p].img[F_DEAD2] = SDL_DisplayFormat(tempimg); @@ -1078,66 +1174,72 @@ void drawsprite(sprite_t *s) { SDL_Rect area; int frame; - /* select frame */ - if (isfruit(s->id)) { - frame = F_WALK1; - } else if (isbullet(s->id)) { - frame = F_WALK1; - } else if (iseffect(s->id)) { - if (s->id == P_PUFF) { - if (s->timer1 >= PUFFFRAMES) { - frame = PUFFFRAMES-1; - } else if (s->timer1 < 0) { - // don't draw - return; - } else { - frame = s->timer1; - } - } - } else if (s->dead) { - if (s == player) { - frame = F_DEAD; - } else { - frame = F_DEAD + ((timer/2) % 4); - } - } else if (s->caughtby) { - frame = F_CAUGHT; - } else if (s->climbing) { - frame = F_CLIMB1 + ((timer/12) % 2); - } else if (s->netting) { + if ((s == player) && (levelcomplete == LV_NEXTLEV)) { frame = F_SHOOT; - } else if (s->jumping) { - frame = F_JUMP; - } else if (s->falling) { - frame = F_FALL; - } else if (s->slamming) { - double slamdegs = s->slamangle / (M_PI/180); - if (slamdegs < 36) { - frame = F_SLAM1; - } else if (slamdegs < 72) { - frame = F_SLAM2; - } else if (slamdegs < 108) { - frame = F_SLAM3; - } else if (slamdegs < 144) { - frame = F_SLAM4; - } else { - frame = F_SLAM5; - } - } else if (!s->teleporting) { - if ((s->id == P_SPIDER) && (s->ys != -99)) { - frame = F_FALL; - } else { - if (s->moved) { - if ((timer/12) % 2 == 0) { - frame = F_WALK1; + } else { + /* select frame */ + if (isfruit(s->id)) { + frame = F_WALK1; + } else if (isbullet(s->id)) { + frame = F_WALK1; + } else if (iseffect(s->id)) { + if (s->id == P_PUFF) { + if (s->timer1 >= PUFFFRAMES) { + frame = PUFFFRAMES-1; + } else if (s->timer1 < 0) { + // don't draw + return; } else { - frame = F_JUMP; + frame = s->timer1; } - } else { + } else if (s->id == P_GLOVE) { frame = F_WALK1; } - } + } else if (s->dead) { + if (s == player) { + frame = F_DEAD; + } else { + frame = F_DEAD + ((timer/2) % 4); + } + } else if (s->caughtby) { + frame = F_CAUGHT; + } else if (s->climbing) { + frame = F_CLIMB1 + ((timer/12) % 2); + } else if (s->netting) { + frame = F_SHOOT; + } else if (s->jumping) { + frame = F_JUMP; + } else if (s->falling) { + frame = F_FALL; + } else if (s->slamming) { + double slamdegs = s->slamangle / (M_PI/180); + if (slamdegs < 36) { + frame = F_SLAM1; + } else if (slamdegs < 72) { + frame = F_SLAM2; + } else if (slamdegs < 108) { + frame = F_SLAM3; + } else if (slamdegs < 144) { + frame = F_SLAM4; + } else { + frame = F_SLAM5; + } + } else if (!s->teleporting) { + if ((s->id == P_SPIDER) && (s->ys != -99)) { + frame = F_FALL; + } else { + if (s->moved) { + if ((timer/12) % 2 == 0) { + frame = F_WALK1; + } else { + frame = F_JUMP; + } + } else { + frame = F_WALK1; + } + } + } } /* x-flip if required */ @@ -1285,17 +1387,24 @@ int isflower(int id) { int isfruit(int id) { switch (id) { + /* fruits */ case P_CHEESE: case P_ICECREAM: case P_CHIPS: case P_BURGER: + case P_DIAMOND: + /* normal powerups */ case P_SPEED: case P_NUMNETS: case P_BIGNET: case P_HELP: + /* random powerups */ + case P_BOXING: + /* flowers */ case P_FLOWERYELLOW: case P_FLOWERRED: case P_FLOWERPURPLE: + /* gems */ case P_GEMYELLOW: case P_GEMRED: case P_GEMPURPLE: @@ -1314,6 +1423,8 @@ int isbullet(int id) { int iseffect(int id) { if (id == P_PUFF) return B_TRUE; + if (id == P_POWERUPPOS) return B_TRUE; + if (id == P_GLOVE) return B_TRUE; return B_FALSE; } @@ -1475,6 +1586,7 @@ int chartomonster(char ch) { case 'P': return P_FLOWERPURPLE; case 'C': return P_COKE; case '*': return P_GEMRED; + case '!': return P_POWERUPPOS; } return -1; @@ -1493,6 +1605,7 @@ char monstertochar(int id ) { case P_FLOWERPURPLE: return 'P'; case P_COKE: return 'C'; case P_GEMRED: return '*'; + case P_POWERUPPOS: return '!'; } return '\0'; @@ -1586,3 +1699,66 @@ int ismonster(int id) { return B_FALSE; } + + +void puffin(int willbecome, int x, int y, char *name, int delay) { + sprite_t *ss; + ss = addsprite(P_PUFF, x, y, "puff" ); + ss->timer3 = willbecome; + ss->timer1 = -delay; + strncpy(ss->name, name, MIDBUFLEN); +} + +/* +void removetext(void) { + SDL_Rect sarea; + text_t *t; + + for (t = text ; t ; t = t->next) { + sarea.x = 0; + sarea.y = 0; + sarea.w = t->bgarea.w; + sarea.h = t->bgarea.h; + + SDL_BlitSurface(t->bg, &sarea, screen, &t->bgarea); + } +} +*/ + +void killtext(text_t *t) { + text_t *nextone, *lastone; + + + if (t->bg) { + SDL_FreeSurface(t->bg); + t->bg = NULL; + } + if (t->img) { + SDL_FreeSurface(t->img); + t->img = NULL; + } + + nextone = t->next; + if (nextone != NULL) { + nextone->prev = t->prev; + } else { /*last text */ + lasttext = t->prev; + } + + if (t->prev == NULL) { + /* first text */ + nextone = text->next; + free(text); + text = nextone; + } else { + lastone = t->prev; + free (lastone->next ); + lastone->next = nextone; + } + + /* if we're killing text during LV_INIT, it must have been + the level announcement. That means that we can start + moving. + */ + if (levelcomplete == LV_INIT) levelcomplete = LV_INPROGRESS; +} diff --git a/shared.h b/shared.h index f987ac5..046f1d8 100644 --- a/shared.h +++ b/shared.h @@ -8,7 +8,7 @@ int loadlevel(int wnum, int lnum); void setdefaults(sprite_t *s); int loadtiletypes(char *filename); -sprite_t *addsprite(int id,int x, int y, char *name, int initial); +sprite_t *addsprite(int id,int x, int y, char *name); tiletype_t *gettileat(int pixx,int pixy, int *tilex, int *tiley); int loadimagesets(void); int isbullet(int id); @@ -31,8 +31,9 @@ char monstertochar(int id); tiletype_t *gettile(int tid); void drawtile(SDL_Surface *s, int x, int y); void initglobals(void); +void killtext(text_t *t); int ismonster(int id); - +void puffin(int willbecome, int x, int y, char *name, int delay); SDL_Surface *loadspriteimage(int spriteid, int frame, char *filename); #endif diff --git a/sprites/boxing.png b/sprites/boxing.png new file mode 100644 index 0000000000000000000000000000000000000000..193bef808e8f9b527a8ea0102ea1e3e7dfae5b9f GIT binary patch literal 701 zcmV;u0z&03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00JRNL_t(2&wY=(Pg8LK zg}?j0?d^kGT98MiJOmM=os0=_FsZT_qj53DnE03A?x1mVanMB*V_Y;L(V4_lG*|?K z5D-wPg|_t4Tl%{X7f2Y?Gk@PXIq;vn%AX&Z9!R}d?oZT9xz6>S{OIKD?Fr*3qy9^N zeeF_D?BmS44&nCds*JFEVn#G_Z?Il%0QV0$`LD}YF7`z>x89~})m}4`p@PP@53_79 zE`yypd6bnNU%v44oacBfEs4*b-lM16Gil2li6-sj(9ASyB7trxY^|24NDA4sRoT=m zwKHKh!r`&IYAF&MbvwG_`&N6{{JJ=p&DdJ2R%iSB3QA4Txwk_k+l6HsBxTS}oU)Hu zapKwjI2)@E)sFnco1(;II2KS|d$LpgGN1By8?=PSf)}z0w9T&*RU{H|l~~Ke%2))& z8RS&^uxdx6p9;k}qMFXWyWiL?*HgM5pac5B&$7TUCO>S=P|C_s~ZB;CI-oAW4=RBQ5@E_`b^*y1x_rQ)2EA3@lL`SRFre}V; z^w+s>zfe~fivM8A`s4GFu}9j(=wM;4+9OFJF~2#6Wy3=#E+Q6UU0v75ZcG;szyJC( z6Ru@E2srcQ1u@o^JCTe<2ihY7rx^}X0TyWb@N5?}$fM>HEY@wPw&y8o{i~U&$#*^) zc*$hj^LtPg+D7b%nAcVoC=~Y-hK~!L&spg|QH|@E`-kz_1 ztThF)r8S0JTEgt?8nUS{J{z6F<*Rd`gy6}29q7tuu&OzDA{WKQ!V2yv7BzHyLa)th zfyrVGs%jz~=J5Ni1>7zw&=2zFP`jhnegRp z?Q&N0fu|qKp;Zn+j!URCEJQ>eYZU_(MZ?HX1^m6R@?&|q(63zo)VW`z=ieTBn3LqO z@jn)#n_7aC+}YEU))4{~l6t^7|=6++TXOyR$$4P>QxDB*-nCI$J9B&0jq7C;qR# z`{CxXiOI76_4$H%^!PWu8*$7=k155yvNOG<6~sDqXrOOoBknG_sZc4}KofcZ0000< KMNUMnLSTYOKCX8F literal 0 HcmV?d00001 diff --git a/sprites/poweruppos.png b/sprites/poweruppos.png new file mode 100644 index 0000000000000000000000000000000000000000..c45ec801ec5a1fbebaac52e68424122a75f11247 GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DinK$vl=HlH+5kiEpy*OmPSrwj|fUZo;?22f~+r;B5V#p$yb7y2O6KrQrk%TljfAH>pZdD22}x1}|x@43G7a_`;mvxAcRUq4!Up-jc%ponsgtjyEt zE0kj%i1fF%@11ivvVu?k;WzcW4=S|(+!sHjdTyiUo%e4At|=zo4Yubke`p%R`+q`J okL%NJ#dZ6&zL?xdYPAfTFBt1)Z|ZEb1n36_Pgg&ebxsLQ0KU0#T>t<8 literal 0 HcmV?d00001 diff --git a/world1/BAK b/world1/BAK index ff19ea5..0680060 100644 --- a/world1/BAK +++ b/world1/BAK @@ -10,7 +10,6 @@ monsters 1 3 19 ? 7 19 ? 12 19 -@ 16 14 @ 30 15 @ 31 15 P 21 15 @@ -18,17 +17,20 @@ P 21 15 @ 20 15 Y 23 15 Y 19 15 -P 36 14 Y 2 15 Y 1 15 Y 24 19 Y 22 19 Y 20 19 -r 18 15 +r 27 15 +P 36 14 +Y 34 19 +@ 35 19 +P 36 19 endmonsters -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, @@ -40,13 +42,13 @@ endmonsters 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4, 4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,0,0,0,0,0,4,4, +4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,1,1,1,1,1,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, diff --git a/world1/level1.dat b/world1/level1.dat index 0680060..3138a9e 100644 --- a/world1/level1.dat +++ b/world1/level1.dat @@ -28,6 +28,7 @@ Y 34 19 @ 35 19 P 36 19 endmonsters +exitdir 1 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1, diff --git a/world1/level10.dat b/world1/level10.dat index 625b38a..3c66ca3 100644 --- a/world1/level10.dat +++ b/world1/level10.dat @@ -1,6 +1,6 @@ tileset green bg 0 -hurryup 30 +hurryup 60 endmaps help endhelp @@ -33,33 +33,34 @@ P 38 24 S 31 24 r 20 21 endmonsters +exitdir 1 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,1,1,20,20,21,21,21,21,22,22,22,22,22,22,21,21,21,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,20,20,21,21,21,20,20,1,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,1,1,20,20,21,21,21,21,22,22,22,22,22,22,21,21,21,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,1,1,20,20,20,21,21,21,22,22,22,22,22,22,21,21,21,21,20,20,20,1,1,1,1,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,1,20,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,4,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,1,1,1,20,20,20,20,20,20,20,20,20,20,20,1,1,1,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -1,1,1,1,20,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,22,22,22,21,21,21,21,21,20,20,20,20,20,20,1,1,1,1, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,28,28,28,28,28,28,28,1,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,1,1,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,1,28,28,28,28,28,28,28,28,28,28,28,28,28,1,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,1,1,1,1,1,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,4,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,1,1,1,28,28,28,28,28,28,28,28,28,28,28,1,1,1,1,4,4,4,4,4,4,4,4,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +1,1,1,1,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,1,1,1,1, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, diff --git a/world1/level11.dat b/world1/level11.dat index 8e74b6b..262bdb9 100644 --- a/world1/level11.dat +++ b/world1/level11.dat @@ -1,46 +1,87 @@ tileset green bg 0 -hurryup 30 +hurryup 60 endmaps help endhelp monsters -1 3 28 -C 33 7 -C 11 13 -r 13 5 -r 19 21 -r 7 17 -S 28 24 -s 23 1 +1 5 28 +a 23 18 +a 14 10 +a 21 7 +r 36 12 +r 2 16 +r 2 8 +r 38 4 +r 35 20 +r 4 24 +C 23 1 +C 7 1 +P 24 28 +P 23 28 +P 25 28 +P 25 19 +@ 16 19 +@ 18 19 +@ 20 19 +@ 22 19 +Y 36 16 +Y 37 16 +Y 3 12 +Y 2 12 +Y 3 20 +Y 2 20 +Y 36 8 +Y 37 8 +Y 37 24 +Y 36 24 +@ 37 20 +@ 36 20 +@ 3 24 +@ 2 24 +@ 2 16 +@ 3 16 +@ 37 12 +@ 36 12 +@ 3 8 +@ 2 4 +@ 2 8 +@ 3 4 +@ 36 4 +@ 37 4 +@ 17 1 +@ 23 1 +P 20 1 +P 19 1 +P 21 1 endmonsters -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,20,20,20,20,20,20,20,20,20,20,20,25,25,25,25,25,25,25,25,25,25,25,20,20,20,20,20,20,20,20,20,20,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,26,26,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,25,24,24,24,24,24,24,24,26,26,26,26,26,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,20,20,20,20,0,0,0,0,0,0,0,0,25,24,24,24,24,24,24,26,26,26,26,26,26,26,26,0,0,0,0,0,0,0,20,20,20,20,4, +4,0,0,0,0,0,0,0,0,0,0,0,25,24,24,24,24,24,24,24,26,26,26,26,26,26,25,25,25,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,26,24,24,24,24,24,24,24,26,26,26,26,26,24,24,24,24,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,26,26,26,24,24,24,24,24,26,26,26,26,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,4, +4,20,20,20,20,0,0,0,0,0,0,26,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,24,24,25,0,0,0,0,0,20,20,20,20,4, +4,0,0,0,0,0,0,0,0,0,0,25,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,24,25,25,26,26,26,26,26,26,26,26,26,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,25,24,24,24,25,25,25,26,26,26,26,26,26,26,24,24,24,24,24,24,25,0,0,0,0,0,0,0,0,4, +4,20,20,20,20,0,0,0,0,0,24,24,24,24,24,24,26,26,26,26,26,26,26,26,26,24,24,24,24,24,24,0,0,0,0,20,20,20,20,4, +4,0,0,0,0,0,0,0,0,0,24,24,24,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,24,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,24,24,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,24,24,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,0,0,0,0,0,0,0,0,0,4, +4,20,20,20,20,0,0,0,0,0,0,24,24,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,0,0,0,0,0,20,20,20,20,4, +4,0,0,0,0,0,0,0,0,0,0,24,24,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,24,24,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,24,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,24,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,24,24,24,25,25,25,25,25,25,25,25,25,26,25,24,24,24,0,0,0,0,0,0,0,0,0,0,4, +4,20,20,20,20,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,26,24,24,24,24,0,0,0,0,0,0,20,20,20,20,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,26,24,24,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,26,24,24,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,26,24,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,20,20,20,20,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,26,24,0,0,0,0,0,0,0,0,0,20,20,20,20,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,1,1,20,20,21,21,21,21,22,22,22,22,22,22,21,21,21,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,20,20,21,21,21,20,20,1,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,1,1,20,20,21,21,21,21,22,22,22,22,22,22,21,21,21,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,1,1,20,20,20,21,21,21,22,22,22,22,22,22,21,21,21,21,20,20,20,1,1,1,1,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,1,20,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,4,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,1,1,1,20,20,20,20,20,20,20,20,20,20,20,1,1,1,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -1,1,1,1,20,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,22,22,22,21,21,21,21,21,20,20,20,20,20,20,1,1,1,1, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4, diff --git a/world1/level2.dat b/world1/level2.dat index 0e03013..86400dd 100644 --- a/world1/level2.dat +++ b/world1/level2.dat @@ -24,11 +24,12 @@ r 9 4 ? 27 4 Y 20 4 endmonsters +exitdir 1 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,18,23,19,0,0,4, -4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,4,4,4,4,4,4,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,4,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,0,0,0,0,0,0,0,0,0,0,4, +4,4,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,0,0,0,0,0,0,0,0,0,0,4, +4,4,4,4,4,4,4,27,27,27,27,27,27,1,1,27,27,27,27,27,27,27,27,27,27,27,27,27,0,0,0,0,0,0,0,0,0,0,0,4, 4,4,4,4,4,4,4,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, diff --git a/world1/level3.dat b/world1/level3.dat index 263bb9d..beb14ca 100644 --- a/world1/level3.dat +++ b/world1/level3.dat @@ -31,7 +31,9 @@ r 4 23 @ 2 23 ? 10 19 ? 16 19 +! 20 15 endmonsters +exitdir -2 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,18,23,23,23,23,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, diff --git a/world1/level4.dat b/world1/level4.dat index 2c27fd2..361fe2b 100644 --- a/world1/level4.dat +++ b/world1/level4.dat @@ -36,19 +36,19 @@ endmonsters 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,23,19,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,1,20,20,21,21,21,21,21,21,21,21,20,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,1,20,20,21,21,21,21,21,21,21,21,20,20,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, diff --git a/world1/level5.dat b/world1/level5.dat index 43643ac..0d1cc1f 100644 --- a/world1/level5.dat +++ b/world1/level5.dat @@ -39,6 +39,7 @@ Y 26 8 @ 33 16 Y 7 16 endmonsters +exitdir -2 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, @@ -51,12 +52,12 @@ endmonsters 4,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,20,20,21,21,21,21,21,20,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,0,0,0,0,0,0,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,0,0,0,4,4,3,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,3,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,0,0,0,1,1,1,4,4,4,4,1,1,1,1,1,1,1,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,28,28,28,28,28,28,28,28,28,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,27,27,27,27,27,27,27,27,27,4,3,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,27,27,27,27,27,27,27,27,27,4,4,3,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,27,27,27,27,27,27,27,27,27,4,4,4,3,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,1,1,1,1,1,1,1,1,4,4,4,4,1,1,1,27,27,27,1,1,1,4,4,4,4,1,1,1,1,1,1,1,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, diff --git a/world1/level6.dat b/world1/level6.dat index cb0fe01..497023d 100644 --- a/world1/level6.dat +++ b/world1/level6.dat @@ -43,6 +43,7 @@ r 22 9 r 26 13 r 16 17 endmonsters +exitdir -2 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, @@ -70,6 +71,6 @@ endmonsters 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -4,4,4,4,4,4,4,4,4,4,4,4,4,16,16,16,16,16,16,16,16,16,16,16,16,16,4,4,4,4,4,4,4,4,4,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,17,17,17,17,17,17,17,17,17,17,17,17,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,31,31,31,31,31,31,31,31,31,31,31,31,31,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, diff --git a/world1/level7.dat b/world1/level7.dat index 7851448..71a570f 100644 --- a/world1/level7.dat +++ b/world1/level7.dat @@ -24,7 +24,9 @@ Y 30 13 Y 38 13 Y 9 8 Y 2 8 +a 4 8 endmonsters +exitdir 1 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,23,19,0,0,4, @@ -36,8 +38,8 @@ endmonsters 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,1,1,8,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,0,0,0,0,0,0,4, +4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,4, 4,0,18,19,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,8,1,1,1,4, 4,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,4, diff --git a/world1/level8.dat b/world1/level8.dat index cc4106c..c7b7f94 100644 --- a/world1/level8.dat +++ b/world1/level8.dat @@ -5,6 +5,7 @@ endmaps help endhelp monsters +1 18 15 @ 11 5 @ 12 9 @ 27 9 @@ -39,7 +40,6 @@ Y 4 28 Y 6 28 a 31 3 a 7 19 -1 18 15 r 27 5 r 16 5 r 10 12 @@ -47,6 +47,7 @@ r 29 12 r 6 15 r 31 15 endmonsters +exitdir 2 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,18,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,19,0,4, @@ -63,17 +64,17 @@ endmonsters 4,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,20,20,20,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10,10,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,25,25,25,25,25,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10,10,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,1,11,11,11,11,11,0,0,0,0,0,0,0,0,11,11,11,11,11,1,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,11,11,11,11,11,11,11,11,1,1,1,1,1,4,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,1,1,1,1,1,1,1,1,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, -4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, +4,27,27,27,27,27,27,27,27,27,1,11,11,11,11,11,0,0,0,0,0,0,0,0,11,11,11,11,11,1,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,4,1,1,1,1,1,11,11,11,11,11,11,11,11,1,1,1,1,1,4,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,1,1,1,1,1,1,1,1,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4,4,4,4,4,4,4,4,4,4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,12,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, +4,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,13,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,4, 4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,