L›Hc@€@€ : /€5€',@ € @ü€ÿ@€@€€À€@ÿ@ýÀ íÀ€ì€€æÀú€û€ýÿÀ€þÀþÀ€þ€ÿÀüÀ €ú@ €ÿÀÿ€ÿÿÿ€ÿÿÀþ@üíúÿ€ú€€ï€î@÷þ€ÿÀûÀÿ€ò@ ÚÀÒÀÓ@€ö€þ€ÿ€ýÀö€þÀÀÿ@ÿ€@€@5€€€ ÀÕ€á €ò€ þÿÀ€€ €€Àü€ÿ@ÿ€.þ@þ3Àù1€€Àÿ€ÿ@€ô€ë€ЀÿÊÙ€ÚÀ€ñ@€ @ÿ&ÿ)@3-@€@øÀø€EÀ[P€4$€ - €@ýG€>À @@ÀÿÀ €€€üÀ€ý@ûÀ€€€€€€€€€@@€@@€ÿ€ý€€üñ€ë€ñ €úô€€ €€@ @ @ €@€ÿ@€ë€î@ €ÿ€€@€€@À@@À&€€€@ÀÀ€ÿ@€€ÿÀÿÀ€ÿÀ€ €úÀü€óþ€ÿ@€ÿ€€ÿ@€ÿ@@€þ€ÿñâÚýàýæþå@þÛþÎ@þ»ÀþÄÀÿÔÖÿ×Àýà@ýä@ýïÀþöÀÿð€ÿë€ÿã€þÓ€þÚÿí@ýÕÛþÎþÎÀýïÀÿê€ÿ×€ûòÀó€üýÿ€ý€€þ÷€ÕóÀ€@€€€Àÿ€þÀü#Àû#@÷€ïðôó€ï€€íõ@€ÿÀ€€À @ò€ ò€øÿ@õë@öÀ€ÿ€þ €ÿ€€€€€€€ €€@@€   € € € @€ÀÀ€€€€ÿýÿ€ýÀÿ€ú@ÿ€þ@€þ@ÿ@€ÿ€ÿýø€€ý€õÀ€æ@á@ãê@õ@ã΀üÿéÀ€âÀüÀñõå€ ÚÀ ø€ÿÀÿ€ÿÀÿ@Àÿ€€€€!Àþþ€€ @€ ÿ €ÿÿá€üÿ.€ À@Àÿ€þ€ÿ€ÿ€ÿÀþ€ÿÀÿ€ÿÀÿ€ÿ€ÿ@ÿÀÿ€ÿÿ€þ€ÿ€ÿ€ÿ@ÿ€ú@ÿ€é€€íäÿù@ÿ€ÿû@ÿ€÷€Û@Òäÿ€ÿ€ñÀ逿@â@õ@€ûÀÿøáÀëÀ€þ@€€Àÿ5@ÿ3€ÿ€€€€!À+À€€€ÿ€€ÿ@ÿ@€ùöæ@€õÀÿ€ë¼€€ À€öÿþÀÿ€þ@üÀý€@ÿ€@ÿ€ú Àü5À€€ÿ€€ÿ€0001-7fff) scanbuttons (0) no press (!0) press ***********************************************************************/ void updatescandirection() { WORD tempx,tempy; scankey=keypress; scandeltax=scandeltay=scanbuttons=0; if (mouseflag) { scandeltax=(deltamx<<7); scandeltay=(deltamy<<6); scanbuttons=mousebuttons; } if (joystickflag) { if (scandeltax==0) scandeltax=(joystickx<<7); if (scandeltay==0) scandeltay=(joysticky<<6); scanbuttons|=joybuttons; } switch (scankey) { case CURSORLEFT: scandeltax=0xd800; break; case CURSORRIGHT: scandeltax=0x2800; break; case CURSORUP: scandeltay=0xd800; break; case CURSORDOWN: scandeltay=0x2800; break; case ' ': scanbuttons|=2; break; } /* De-gitter input x and y */ if (scandeltax>=0x8000) tempx=-scandeltax; else tempx=scandeltax; if (tempx<=MININPUTDELTAX) scandeltax=0; if (scandeltay>=0x8000) tempy=-scandeltay; else tempy=scandeltay; if (tempy<=MININPUTDELTAY) scandeltay=0; /* Scale scandeltax and scandeltay by the framerate */ if (scandeltax>=0x8000) scandeltax=-((-scandeltax)/baseframerate); else scandeltax=scandeltax/baseframerate; if (scandeltay>=0x8000) scandeltay=-((-scandeltay)/baseframerate); else scandeltay=scandeltay/baseframerate; if (scandeltax>=0x8000) tempx=-scandeltax; else tempx=scandeltax; if (tempx>MININPUTDELTAX) scanheadingxy+=scandeltax; scanpitch-=scandeltay; if(scandeltay>=0x8000) { if (scanpitch>=0x8000) scanpitch=0x8000; } else { if (scanpitch>=0xe000) scanpitch=0; } } /********************************************************************** noseovertop() and noseunderbottom() test for plane looping ***********************************************************************/ void noseovertop() { if (pitch[playerplanenum]>=0xe000) { pitch[playerplanenum]=-pitch[playerplanenum]; headingxy[playerplanenum]+=0x8000; rollangle[playerplanenum]+=0x8000; } } void noseunderbottom() { if (pitch[playerplanenum]>=0x8000) { pitch[playerplanenum]=-pitch[playerplanenum]; headingxy[playerplanenum]+=0x8000; rollangle[playerplanenum]+=0x8000; } } /********************************************************************** distancebetween(lookfrom,lookto) calculate polar distance and angles from 'lookfrom to 'lookto' ***********************************************************************/ void distancebetween(lookfrom,lookto) register UWORD lookfrom; register UWORD lookto; { xdiff=locx[lookto]-locx[lookfrom]; ydiff=locy[lookto]-locy[lookfrom]; zdiff=locz[lookto]-locz[lookfrom]; ctop(xdiff,ydiff,zdiff); } /********************************************************************** roughdistancebetween(lookfrom,lookto) calculate estimated polar distance ***********************************************************************/ void roughdistancebetween(lookfrom,lookto) register UWORD lookfrom; register UWORD lookto; { DWORD pdistx,pdisty,pdistz; pdistx=locx[lookfrom]-locx[lookto]; pdisty=locy[lookfrom]-locy[lookto]; pdistz=locz[lookfrom]-locz[lookto]; if (pdistx<0) pdistx=-pdistx; if (pdisty<0) pdisty=-pdisty; if (pdistz<0) pdistz=-pdistz; if (pdistx>pdisty) roughdistance=pdistx+(pdisty>>1); else roughdistance=pdisty+(pdistx>>1); if (roughdi      €€ÀÀÿÿÿÿÀÀ€€ÀÀÿÿÿÿÀÀ€€€€€€€€€€ÀÀÀÀÀÀÀÀÀÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÀÀÀÀÀÀÀÀÀuÖ—r±•™T—mŽ�—Ž—#:–*k Ž,ûÞ {û Uß ‘÷ ÚÆ—wÈ—%Ì—ÕÍ—ÛÑ—yÓ—Z×—öØ—8Ý—œÞ—[Ü � †˜ùø—lÛ—ß½—R —9¡ ?Ÿ ן $¦ Û¦ ‚^ó8^óbÊó‡Êó+œó�œóÝÆóÿÆóæ›ó@œó4Hó¨Gó¨óXóÁŠóŠóUó_TóÙàñ­áñÓñ[ÓñLù rú ¼e wW wU �V ÂI ¥= _6 -?  8 09 s ÓÑólÎó�Wñhœòˆ6òGñ~îê bêÚæ�!ñ|èñjóc±"mý5ýËýò-ý¯Àð4¾ð1ÉðÃÆðÂÐð4ÎðaØðÍÕðèÞð$Üð÷ üÀþ õð½þðmññÍñ7UýOýNýákýkýi£Ëǡ˔õËŸôËiÌÚÌÈÞËâÝË<ÌÕýËömÌæjÌ:!ÌH ÌeÌücÌ_jÌ[gÌ«`έcΓEίHÎú|üdyür¥ýø¨ýͳýE²ýkƒý…ý…�ýóƒýã}ýî|ý.ýÚÝÌMÛÌù‡Îm.ÎëÎË\jŽ^}0ú`}08ƒžôÁôÁ[2W3[2W3w2;3~243ª23†O3dT©�Êt…Z@@`@3@`@@w@ø_õiöÂõdé¦çïø4øûë꥚]š�ÂæÁD““™ 6 É É Ü’Ü’EHlþWpeÖmáRÃhÃhJV,|hŠI@›®Ž´]AZÍv[”9A—–––—  â â éÝÃêññKñÝHñ>ýýýý}0}0ú`}0}0ôÁêחƯ•×T—Ý��Õ�—÷8– k ¶å ñãîêÔ`ê¼æz!ñéñxôvÅ#‰k|^}0ú`}0˜ƒ.žôÁôÁx½—¿—×—‡Ä—žÈ—<Ê—0ΗÌÏ—Ô—‚Õ—#ß i» Û˜Nô—ÁÖ—4¹—§›—�š ‡˜ ™ lŸ #  J]ó]óÃó,ÃóÑ–ó5—óÀó&Àóê–óD—ó Bó�Aóàzó�zó)‚óç�óÑNóNóïæñÃçñ>Ùñ‚ÙñF¾ðË»ðÆðÄðÕÍðGËð:Õð¦Òð–ÛðÒØð#*üGþÚöðŠñ: ñêñšñ{RýWLý[Ký%iýKhý�©Ëë§Ë úËùË©ÌÌþãËãËÌŸÌVnÌFkÌb(Ìp'ÌÌeÌ«dÌÞjÌÚgÌü^ÎþaÎ EÎ(HÎ[2W3[2W3w2;3~243ª23N1c¤Î‰‰oDUÿ:`@3@`@@w@röÎóAôšóÓçæÇö öjêv莜FœYÀ¾¿^•9• ¢½¡ý�ý�‹þÿÿ¬Âÿÿÿ�Âþÿÿ,!vÿÿÿvÿÿÿb›ÿÿÿ9#ýþÿÿòþÿÿíþÿÿìþÿÿÓþÿÿ ÿÿÿéÿÿÿb b N N = = * *   8ýÿÿ$«««««¸¸¸¸¸88[[ZZÙÙüü''ÈȘ˜@@êùÿÿêùÿÿÙùÿÿÙùÿÿii²²íí''RRÔöÿÿy3þÿÿ3þÿÿ3þÿÿ3þÿÿ3þÿÿ¼¼¼¼¼ÜùÿÿÜùÿÿˆûÿÿˆûÿÿÀüÿÿÀüÿÿÊúÿÿÊúÿÿ6üÿÿ6üÿÿ ÿÿÿ ÿÿÿØøÿÿØøÿÿQÿÿÿQÿÿÿ�ÿÿÿ�ÿÿÿ¯¯‡‡lAAAAA‘‘((‘‘((‘‘þÿÿþÿÿ((æýÿÿæýÿÿyþÿÿyþÿÿªþÿÿªþÿÿßßÿÿÿÿÿÿÿÿ^ÊHIý÷äHÄë\ïzä’ä’¹š¹šþ›þ›’5’5b4b4B3B3b2b2«1«1ì‹Ù!åNåNåNåNåN00000ÉwÉw=V=V=V=VxZxZxZxZmBmBÜgÜg@C@C@C@CþÊþÊJÃJ醅Q“hŸÒ¦¥ “c�x§Š›’ž �þÊ&G<[@>@@@ÕI§C@@êMÜO9@9@%@%@4@4@*@*@)@)@:À;00000)@)@)@)@)@66+6+6+6+66666|L|L66üIüIüIüI‘H‘H3434€€'9HIý÷äHăgïzä’ä’<[@>@@@ÕI§C@@@@@@„ôd€0ÏÇ:@>@@@ÕI§C@jrbT  “9t-(((t-:-((C#ÓÔÓµÌÌ<;<;ddddddddddddÉÉÉÉÉÉÉÉÉÉBBÚÚBBÚÚBBBBÚÚÚÚBBBBBBdcžžžžœ›››††##˜ÕBBB±ª ë5 Íÿÿ·ÿÿ ÐÿûÿÖÿ&&æÿ‚³«*wÕWÕwÕÿÿÿÿˆˆˆøàppÿÿÿÿ€€€øàppFF<<<AF<</<Á555ÿ,ÿ   #0 ;7  ÐØ¸¸¸ÿÿÿÿÀÀþÿþÿþÏþÏþÏþÿþ�þÏžÏÿÿÿÿÐÐÐÿÿ�РϺGiÃí?›ýõU›ýwU›ýæUÃíy56"ñƒî+ ”ò+dd(((dddddd((((((',îîîîîîîÚîç<„ç´„îîîîîîîîîî0àJ‰)@È$Â8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^Ë9i#sss(APP–2   7P}}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(ÿÿÿÿÿÿÿõÿïÿddddddddddddd222222222222222222222K2K2K2K2K2K2K2K222222222ddddddd2222dddFFF(FFF(FFF(FFF(FFF(FFF(FFF(FFF(FFF(FFF(FFF("6@"6ÿÿ ŸøçËi¾ƒÿÿ8› (êC‰kW#£”’–˜±�»›³”—“šéîèçÎã§ñ£öîðó 5Á7 57 ÅÆ7 $7 Ê5Ì    Ï5Ñ    Ô5Ö   ÙÚÛÜ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ