diff --git a/glados3.3/GLADOS.HGR b/glados3.3/GLADOS.HGR index cea3abf8..d5906f76 100644 Binary files a/glados3.3/GLADOS.HGR and b/glados3.3/GLADOS.HGR differ 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 14a4c413..3558ae66 100644 Binary files a/glados3.3/images/glados.pcx and b/glados3.3/images/glados.pcx differ 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