From ecbab820f9f3c88654104823a29dfb90dd7a0fc9 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 10 Jan 2017 13:12:33 -0500 Subject: [PATCH] glados: working on the endgame --- glados3.3/GLADOS.HGR | Bin 8188 -> 8188 bytes glados3.3/cube.bas | 8 +++++ glados3.3/images/glados.pcx | Bin 3600 -> 3801 bytes glados3.3/portal.bas | 58 ++++++++++++++++++++++++++---------- 4 files changed, 50 insertions(+), 16 deletions(-) diff --git a/glados3.3/GLADOS.HGR b/glados3.3/GLADOS.HGR index cea3abf82c70cb3dd2c844aeb774f996016d2e54..d5906f7615c6e8a6975c731f4a1a819de00506ac 100644 GIT binary patch delta 413 zcmYL_F>Zq}6o!LiyCg~^kU&bLM2Z+%czEay!jMcILZzUd1=GR3LD9R0mx>c`gm&v) z82X4SGWp5+zTf}za2$@G+58Gss~S;2MT6DyKqm-PUM&J+4p;p0UfSme96Xq(6>Iy) z?!taOJ|hklcjhZvu4PJB{s$^ii-^?IqzYiOxb2_1i=0fq5#{(MT3^d?05TWOjQ-7T zSSZHFMyOVfKcQXKvM>hX1oO4Ny~HPeJ@G*!Xtgmv&;lyzhIy!OJKgb+@UbXjw;;-J*s&l_VQFK;5*+veKG+l`8^bCP2mWRdw=t>^Y+0CBQoM1Z zT7q{L!_h>kDOn}CBUvkCO*Qo&6jBd4Y)Kd->eMn4SadKl|5t@H3)0A7O`@S1&9c!X zu%U+ao#YlJx;V4X#WzCQA;*zV!coHc?c&7^U=fO^dm_;z(O05h3XjA@yu30002zm5 A&;S4c diff --git a/glados3.3/cube.bas b/glados3.3/cube.bas index 8a10dd71..3be1418c 100644 --- a/glados3.3/cube.bas +++ b/glados3.3/cube.bas @@ -56,6 +56,14 @@ 106 HPLOT X+6,Y+2 TO X+7,Y+2:HPLOT X+6,Y+8 TO X+7,Y+8 107 HPLOT X+5,Y+1 TO X+6,Y+1:HPLOT X+5,Y+9 TO X+6,Y+9 ' + +115 HCOLOR=5 +120 FOR X=0 TO 278 STEP 5:HPLOT X,0 TO 120,85:V=PEEK(-16336):NEXT X +122 FOR Y=0 TO 159 STEP 5:HPLOT 278,Y TO 120,85:V=PEEK(-16336):NEXT Y +124 FOR X=278 TO 0 STEP -5:HPLOT X,159 TO 120,85:V=PEEK(-16336):NEXT X +126 FOR Y=159 TO 0 STEP -5:HPLOT 0,Y TO 120,85:V=PEEK(-16336):NEXT Y + + 200 REM SPRITE EDIT 210 X=0:Y=0:ROT=0:SCALE=1 220 HIMEM:8170 diff --git a/glados3.3/images/glados.pcx b/glados3.3/images/glados.pcx index 14a4c413bcec41e3ac541e0e1cc0d19bcabba656..3558ae66b9a3f708d4af966985449fa37ad88c8d 100644 GIT binary patch delta 593 zcmXw0&1zFY6#mXVcOa=j=t5Acgc~%1(3b8i*f;PIT>2Keb`?1b!547hQu+cj$-S8* zxA|$Mi6XdAsVhNz0Kd6yxD0c@pL5R4e1rR&2ZMLLD@n{{QZHc zyge=Q?`dE6_P${zzp0Kq4jjX z6;TPI4DGodQjLPps3Uu={SNOUd^W*IO8cOXZdU|jE}xE4TCK%S37HTDsqBvyoe|Z9 z`Bk=?cW-S87TQsMu(QPy?L~gruCB|82Khsx>;6+a&5Ku&sAT6UenN-PC11_MF(QnK z1K*F)4kd7HJr@k7gnH(emIGr5x`NJl)0&NZ%4GvrGG|&sW2;G@anc;WQh{4DVg2;f Howxo2rQp2@ delta 356 zcmXAkF-rqM5QX3F+<;gsh(`3HMi7ixrnX2a_#^CW{3QunScq8q1GKTdOD=b6M6l2Z zmz+sZgGIp7%D1ukX7>>3|{D7d}5J z${n>9f&|(^q_31eynK(g#4s=!G=|Lj$8d*c>1gEZ9eTtZh}orG=o@5&FRv$>`EjLl zq)(9Hznm&Jv!dM4W+kEl!-H>di3#mH+|-n90k>!?X5bEHJh9u%FYG?~Y^$d4=4FSh z$u4<12)4+25N_lcgPXcMQ`=CJLLtyc{#H})Y{}haux4_X1y$0hcd6+n Yd8{G#HFSl%(REX}o|a5;{i}nyKZM?RivR!s diff --git a/glados3.3/portal.bas b/glados3.3/portal.bas index 1d1bde8a..b5387150 100644 --- a/glados3.3/portal.bas +++ b/glados3.3/portal.bas @@ -17,7 +17,7 @@ ' ' Title Screen ' -1 HOME:HGR:PRINT CHR$(4)+"BLOAD PORTAL_TITLE.HGR" +1 HOME:HGR:D$=CHR$(4):PRINT D$;"BLOAD PORTAL_TITLE.HGR" ' ' Load Sound Library ' Violin sound, based on: https://gist.github.com/thelbane/9291cc81ed0d8e0266c8 @@ -27,7 +27,7 @@ ' Load Shape Table ' We just *barely* fit above the soud but below DOS vectors 8 POKE 232,38:POKE 233,3 -9 PRINT CHR$(4)+"BLOAD OBJECTS.SHAPE,A$326" +9 PRINT D$;"BLOAD OBJECTS.SHAPE,A$326" ' ' Wait a few seconds, or until keypressed ' @@ -91,39 +91,46 @@ ' Move X. Ensure we are always odd so colors are right 107 IF VX<2 AND VX>-2 THEN VX=0 110 CX=CX+VX -' Move the Level19 blob object +' Move the Level-19 blob object 115 IF L=19 AND JO=0 THEN JO=1:JX=45:JY=10:JA=5:SCALE=2:XDRAW 6 AT JX,JY:POKE 768,200:POKE 769,10:CALL 770 120 IF L=19 AND JO=1 THEN SCALE=2:XDRAW 6 AT JX,JY:JY=JY+JA:XDRAW 6 AT JX,JY ' ' COLLISION DETECTION ' -' Portals +' Portal/Chell 200 IF BO=0 OR GO=0 GOTO 210 -202 IF CX>BX-6 AND CXBY-12 THEN CX=GX+2*VX:CY=GY:POKE 768,180:POKE 769,40:CALL 770 -204 IF CX>GX-6 AND CXGY-12 THEN CX=BX+2*VX:CY=BY:POKE 768,180:POKE 769,40:CALL 770 +201 IF CX>BX-6 AND CXBY-12 THEN CX=GX+2*VX:CY=GY:POKE 768,180:POKE 769,40:CALL 770 +202 IF CX>GX-6 AND CXGY-12 THEN CX=BX+2*VX:CY=BY:POKE 768,180:POKE 769,40:CALL 770 +' Portal/Blob +203 IF L=1 OR JO=0 GOTO 210 +204 IF JX>BX-12 AND JXBY-6 THEN SCALE=2:XDRAW 6 AT JX,JY:JX=GX:JY=GY-6:JA=-JA:XDRAW 6 AT JX,JY +205 IF JX>GX-12 AND JXGY-6 THEN SCALE=2:XDRAW 6 AT JX,JY:JX=BX:JY=BY-6:JA=-JA:XDRAW 6 AT JX,JY ' Edges 210 IF CX<7 THEN CX=7:VX=0 211 IF L=1 AND CX>271 THEN L=19:GOTO 15 212 IF CX>271 THEN CX=271:VX=0 214 IF CY<7 THEN CY=7:VY=-VY ' Floors -220 IF L=1 THEN GOTO 227 +220 IF L=1 THEN GOTO 233 ' Level 19 Floors 221 IF CY > 112 THEN CY=112:VY=0:VX=VX/2 ' Incinerator 222 IF CX > 240 AND CY>100 THEN GOTO 800 223 IF CX > 215 AND CY>105 THEN CX=215 ' Dropping Blob -224 IF JO=1 AND JX>CX-5 AND JXCY-7 AND JY120 THEN SCALE=2:XDRAW 6 AT JX,JY:JO=0 -226 GOTO 240 +224 IF JO<=0 GOTO 240 +225 IF JX>CX-5 AND JXCY-7 AND JY120 THEN SCALE=2:XDRAW 6 AT JX,JY:JO=0 +227 IF JA<0 AND JY<5 THEN SCALE=2:XDRAW 6 AT JX,JY:JO=0 +228 IF JX>110 AND JX<130 AND JY>60 AND JY<85 THEN GOSUB 3000 +230 GOTO 240 ' Level 1 Floors -227 IF CX < 119 AND CY > 112 THEN CY=112:VY=0:VX=VX/2 -228 IF CX > 161 AND CY > 112 THEN CY=112:VY=0:VX=VX/2 -229 IF CX > 119 AND CX < 161 AND CY>140 THEN GOTO 800 +233 IF CX < 119 AND CY > 112 THEN CY=112:VY=0:VX=VX/2 +234 IF CX > 161 AND CY > 112 THEN CY=112:VY=0:VX=VX/2 +235 IF CX > 119 AND CX < 161 AND CY>140 THEN GOTO 800 ' LASER -232 IF ZY>CY-8 AND ZYZX AND CX-6<240 THEN GOTO 700 -234 IF PY>CY-8 AND PY0 AND CX-6CY-8 AND ZYZX AND CX-6<240 THEN GOTO 700 +239 IF PY>CY-8 AND PY0 AND CX-6