'=========================================================================== ' Subject: 3D RPG ENGINE Date: 02-10-97 (12:02) ' Author: Matt Zuchowski Code: QB, QBasic, PDS ' Origin: liphilli@flemingc.on.ca Packet: GAMES.ABC '=========================================================================== DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2 SUB V1:OPEN "O",1,"3DRPG.ZIP",4^6:Z&=8606:?STRING$(50,177); U"%up()#9%'OI-%aD%mGcZ>j=(/%%%C_%%%1%%%%Xi%jsln%sjSgRfx6*3ZAyoO7w U"nyK5hfd2yrz=&PIK^6pU,H=I*'Vi'_2+k*tRaJwy_#X&(^LNNLhl%>e+iL)2]%O U"j;CN9LbVX[b2bX?9xA/F1s4oSwtHvXLZFp_2IC+3ZLL05YZKMR3W?sp^qI)u\%: U"mQ72/2.4kGcjl/V?OZa_NteOQwu_:=-?#YF5kG_kuo:U?]5.YSF>S[*t=t(-^6qj5+/[IE+SS320)eIm-i'bVgwgHWZ[o U"uKW.)Nv^-^qHLi=l[Q=25)9_-Tda2Dgd6l78Hip+;ClKrGe.)L8sj6hm_C7.xRG\GcW0-dxcLo#S-VOe*-f^3+f=OYZm>u'==#3Q=%d]+ U"v54]=ZooBLo;m_d?Xx-NwpF>2Igk3gf9&[>V)%,aW.a8>\FcZd$;Q&b28,YjwR# U"+_CteWk+,/0tt?m07/5LD'H^l.TIKb.O1U_7=sh78ob8Rsh&ow+[bGXSxO'Kxc' U"$RH'f)$OO&RdJ$$g]Q&SIkk+LRu,*U*0,2yuAj'?dC[,-Szv:-UIG%tG44P.cE) U"VW,tjT#A_W-HM3FFNlv5R=rNpEu)HuGy;zr+gEEZM7RuEcN/3M U"q&Q'b5,i>U)N=y-4049oF:86Qj--jmB36Ht\PT(p#Wkq-8<#7lJly/Q.9/Q5WKfN'C]#l\(5;\95SgV>lM/ U"V<6/4fP^7>j0sL15[5n/T$hNAxP^:lwWR+as%,7RA]G)/\5*y/_lB_#hsEY0d0q-m;nWZ*OUE.x>sH1Wj12Ga9=F8AFG;']mAwj1Ign-< U"lSW$s9ue]ROkUP80P;[UyQ:ndtFt3a#)(HCVZJ7V&%?tHFjpkjW%t;lH3Nu\bpa U"\M*^c[L$8f_he)LQXrb>bYRjxMJ&ZpY$OHBuP'=fvF2n*gtV0O#cacbk7%8z092 U"%eJ;&D-CMZSqylf_Ni8M)''-E-KpY1iL.]lIqvOJe2if7UCE5(<1[LEIhxe&g5W U"hY>\uA:6qfF5bpNx/iSsY8ha>Io+d7'y363ND&W0y_BJz23_%Oy&W^y^[E+y8#W+yF-qNCZq=YrN#c:3Y1&HQpA$=5'*p7VEG?uT^= U"&S:Vse*S^T[';ev[<[/#\<,[k&^\2$%m9W,(Uz U"&STn+)S[Ax+]s(F'ZPD-(.noWM>]j3(Ce1-#ls+S[HL(;iJaPiGY6nMT2pOq:Jz U"DM#pua#c:607i'PG>Xo.MJHIM,1C##->Zvk7v$CM\yl>>cW7vmBdG4';xMBa:zN:agbGtspJ:ni=<%N$KUH-%-6B1 U"SH2Eec5qI'_k9jniGr=hRmcXVFfrK%/+1m+b=g-k01G.+))u&(=fF1Jcn.#h-hq U"c,7RTb;V6b:s)'m)$xc]J'$GxrLq*#_k3C?jCz#_Idu=rdPBe']Gcp=B7_P#dbO U"Qw]VmoO?LLS)NI9qC7CTGHKN6md.ai%y9hc/9t&,08x:7TRa U"L-qqI6wa^aTi;:EI&(ot?MQDrKL2ehql]#TwL*lzUbnvZMe&C($pGC^tCbIlZ5g U"N,T,qNo/1'#[f*U_z0MZn(\*Y7Oke62l\BL#X%ZX?i+YlJ19v;%*V9*1\g<:E[DQ$eHmy U"&j_,u2^R^^Ff<(8^SY:JMY^F-s=Tj/A9B1L&[)$u;[+)P-V5P%5/yVDfb U"]nUXBAp,rO^/,W/+lp-mdfaN%4up(%)9%'AO-%1'1kG9VkDW1['%%,%:%%,#%%% U"&%fVSgRxlf';<=TU=1FWB6c:c4H/X$Ta3.heG'vX/'[\:\(SY)>2UgYAk$[bNuk U"nBg,nXdThf.>hiXM+7knoa/qkESPQffn*Z0gPRc5wF-V:K8]&H:JsN0K-#Gg'Q\ U"^B*l#0KRvKXd9/<]d=b6s26j1_X\V;0fruk/Q3H3J*L/S#k<<:7Dc*\mcH+kaY$ U"e[.?5n8O>W3pt$TS?6,=\I)63pOhxn?[4-X]=+,VR9Rsu14_bQ2**c)_$]Y181h U"=mYBNVD3$e%7iE3-Kjg?5A'mO U"wdZieIO(_c;+S8U%%f%nJHk=zW=h]iIP[92&(M?L%O>VWa+rrxq9nhi,KB=t>Ae U"4wF9-bU[SNuiOL,,5GBt9sFN<>a>Ot8hNKcaOD7]KT6Er+S/T^W2OoCfID&d+S< U"0BKRP]xACmbwK;c)T_XR_G?:^igTy]o[l,OP8>+xW1J6k>.3P^Xe7Oc\mh'NNvQ U"5VMNuxlf#6f;T0a'XPXg_AoVk&bw_3]D-o0uo^)W0re<+]rQt5rIU>oRK U"H?kE&e32AtG'fX./TZORs4\2M/rk(gQHC6eBBsz_1aO49Ii,u[1oK?Z,<^R'*8i U"fhV7kWs9Oed;3J6IZd-BboHVjeKd4I9tm1K6r#AC]:t]K(X1A)ZJ:[6&kmZKL.6 U"KMIpv&svu_Ju059Qpa(JOrB5m&;1?EC^SCo[3xB.A_d&4BrULI'>gVYjtOdm-a] U"j%,hQ#u3-bA: U"C/kZepu_JfTQ9h$H30YXH,GL9t-tsT^2sAip\-NXk3,4-sqAJnzpH[?ba9/TVi- U"yH6%#vMa*pru'BF.$P83ln*#5OI2z&tK0tNApTN9,urEwKgfA'lgu.tLhPtrIb* U".X,L0W>N3bwiz9n_,0qByv2'0RHXr(tT5phF$d$bJp0?^6hpJa6hgCFnm/I#jPxGUi\Hv)-S)opP4vHNu-$V.rcN U"tg:[d7Wfpl*rNqjtPk(f>UPuP,%$rez?_Z(^IkJ5g2+rSdXIyeVkheeA&V>%gD( U",k[T/Jd0<,CGO,G5n[l/ZIH$??toSE%a U"S4EgB>Qh78CYoeOxf6(_v=aeC4;J#<:jgvrGTj<=-vQ5,V* U"2eVBL2&2fX%WR*IoEc3F(ci;q=*n18cuZkT_se<\/,P1ck_ckt>nN^:thOSs4\O U"D[):bXiw:NrOIT2tyO4s,>ILu%p()9.%'O-=%m1k=Gg/$*dA&%(%B2%%%,%%%%i U"fW%SgxlBfz$=BM4Ko8]f#Kywx_M U"i6t(Dr)U5YZASYG-d5 U"BH8R/'(bmkm(d&ZK%jl7/Vb./lKlEJ+P&irmG?.L,Sgi4+T-Z=>rH&M8xMmh^E7 U"RL=$J2;+fDil,CEeK&iqmK8iqAIH3hlcBp_FU+^LbiklNBG[OYk7g;teAsDq('qx'q'up%()9%('O-%+S2kG%.E*6&K%%%'l,%%%, U"%%%&&fXS[gxl^AcV3O[E5)(ol&CVQP%Lt>tRqA*8/GAO5>/PK*5lQ>8A3I1;g,/EL[Cc*nfccDeYQ&Zt.V5w%oRg+< U"u[&/avu?UAeLg4n#ladN$F?6Ntb>&,O\lx*.(*uQ2u%p()9.%'O-7%[2k=GQ#P+ U">*%%+%l,%%%,%%%%ifX%Sgxl*^cf3';U1)PB\YS18N\XjdYF]bUuC7tO='&dY9w U"=\Phx/jwV)THJ?rJ$8mw3TfSbgJCud<#N4O(T438_hLe>=X]0;9i>Y)gm*sDwJY U"v297VbWs#Y6z$EGEGi_;z)81)P,o%#M%UBgP3-&cfCQQ>hB&r_QhIqh4 U"U,k4v/OT;KK]w6=0'dA\?pRRt?2XR0T2VJTuUrTUQdRirbMl#tlnc.a%&up(%)9 U"%'AO-%ZB2kGbQ%9fI%&%%$%+%%,%%%%q&&VSgRxl>c*V[#aUG U"Lg9[iJ$ygUzx_/$ufam9&MC2HX>=B:AM7cu'df^rlI8gNx:EQ*Tr>djLSgRF>m% U"=G)B;w5wnWv;oI+6SuuN)_f4Ii;t5(Y;D2Uk:m*QsI9+U<+iNs'CZjiZq8P'OKU U"'cAT=9xc/TYzeK;s)0U.b9z4*ZF5o(I7T(p$m%Bg#u3.5K?]292Yv5BXTmf/=6+ U"]#aH^%tICP1f'zd$&U*06wS^8Z1DBv=\>.e$BREMHjGTAG_%wsg;V-^FF_>$kl- U"a$)%M_T_JGJCq&dFlg'T-^*ZGPEpa2:11L__a+mhOwZ^.H'$mY=VlB'8O)k)YDT U"T>bf4na6xqH9(5\.P7x;>a=j%SS=$dDbsXVqbia4xA##+6c37p05^[6VIts1V2( U"H+kSE%M%DK+k/NZ,A1LV*.3U2?&Wv]fjs?cRW?sU&jIj<$^9\9pR*jGDY&2#/v*&8paa:Q9.1OCl7:',=fTnBc#5ZY$u/Qk=xEIXP3B U"%nqDpH57XJ3'DP&WG6*f)8P1OKhaWDt$C,Z\8[[sn1%.737d?\hxx[Fg0J0%2wo U"fBl)K]?7]tkEIbI8%NQY6o7Vkku2O,)yrI]2WneO U"'xP>NKhI/2H,hge#mI8#Jjgpf&s?U) U"M0P=nNE9BB]Ic*&$YAk^-V[tGVhAKOSSI[(S-=-COpIw9kZ7H.JFiH[ij:>f'^V&%re\:C[.;t U"^?zrVpQXRE^8Q5N=xLM7Iwwg*T'pNArN7.Kd[*NupDs2cFUP=l\3]J-_S;qWhB= U"b0bc,f[K%6P\^^Nn7B%pCjVM]Owea:%riV1+i8QojE=E'+9>6v9>y0gfb0X*3\nT#nz:YL.#LmqqcK58sB U"#l,uZ&e:zbZJ'l4a,Zijs=W4l%E U"uLXPlc>r'M3+7D^;VK,i_gu_6K33k/hXP^],a64ekB;j#WJkU;N^1*PMk(#uTXgx(ynu U"p%()9%('O-%-I2kGX.^Pe'e%%%%P)%%%,%%%(w&WS[gxl>&avo*%V1jp8?.or>a U"w3MFd>z3MDRC.AQ\nv+BZ2a+)nWDH$/rAsp$l\N6cfvl0k)/>.Of4pzN'vR3'o4 U"6oOmx+EKEX47K/x1B;uWp=Z[%hy'SM\Q^=dCGRrS2wRh:&,z$X1#)p(m;7?:%Q& U"0T<_:g,M>jG*L<(YoH_FF96&&;ioSLd:\av/;[U5ilTZ6%DlkfpuR9t*v=0+p7PkRC8ddQwINsa;5%0$qFZH#6c U"lDZ%'k4UgLA]1#Bq+p&b6OmprMIu989,=EucfE/)..2k()910]nq8)LDkUQDg6;ikddored7X3][.2e^m5b20n5h$HrPlJGDFH6>^?l/D'.Ub U"?b7%LNtMMp4J7f9jt5%%up()#9%'Om-%v2IkGBA5=Q$%7%%D'%%%,%#%%q&%XSg U"xjl&$J+2;U1.iH%E4]7<=hR>uiSC6+'C0X$jI*uJdWkyUblT-nPqB[p^.cC2Bh[ U"lcTc:Ed,SF8Q&:*P&$\GEwmC:m.m+VVbGNA4/jq8uORPJf5(%GT\7#>78[mqSN9 U"M89.zoL3/kgJ_LVsf U"VN=3Yw++%,ss-BnoG_\)P;QSm^chOuoT,68iTCS$K2vv^d<81[p#vUGO9su(lO6 U"Q;UZgY%0^.H#>.B1XI]qs%zw[xCp=gAP^JFu*M:LlWI,%m(q6J&YAWIu2aumQWc U"S%VKAj5692ehAnL?_#5-62ag7B-'kMXzw<,.%T%up()#9%'O[-%53%kG&e.d\7% U"7%%D'%%%+%%%%yX%Sgxl<&$V2AOE1SC#&5]SDA<6[LZ*%%+%l,%%%,%%%%%%%%%%%E%%%%(%9%%i%fXSg%xlup%&' U"9%%9%'%d-%Z2dkGb%39fI&%%%$+%%%,%%%%%%%%%%%%E%%%'R9%%(q&VS%gxlu% U"p&'9%%9%'#%-%c]2kGDRzoxC%&%%$%+%%,%%%%%%%%%%%%E%%(%G;%.%w&V%Sgx U"l%up&'%9%9%%'%-%,k2kGa5FUr'X%%%%$+%%%+%%%%%%%%%%%E%%%%6=%%%yV%S U"gxl%up&'%9%9%%'%-%-A2kG=/1\R'n%%%%P)%%%,%%%%%%%%%%%E%%%%9>#%%q& U"%WSgx%lup&%'9%9%%'%-=%I2kmG.^P,ee%%%%P)%%%,%%%%%%%%%%%E%%%%S%?% U"%w&&WSg%xlup%&'9%%9%'%m-%O27kGJC4Hvp%%%%P)%%%+%%%%%%%%%%%%E%%%% U"d#%%%yWSg%xlup%&'9%%9%'%m-%v2IkGBA5=Q$%7%%D'%%%,%%%%%%%%%%%%E%% U"%%)A%%(q&XS%gxlu%p&'9%%9%'%%-%-'3kGePb;Bd[%%%D%'%%,%%%%%%%%%%%% U"E%%+%3A%.%w&X%Sgxl%up&'%9%9%%'%-%+53kG%&ed\&7%%%'D'%%%+%%%%%%%% U"%%%E%.%%CB%%%yX%Sgxl%up*+%%%%%%6%6%&W(%%%%C%%%%% END SUB CLOSE:IF S=114AND B&=Z&THEN?" :) Ok!"ELSE?" :( Bad! SUB U(A$):FOR A=1TO LEN(A$):C=ASC(MID$(A$,A))-37:IF C<0THEN C=91+C*32 IF K<4THEN K=C+243ELSE?#1,CHR$(C+(K MOD 3)*86);:K=K\3:B&=B&+1 S=(S+C)AND 255:NEXT:LOCATE,1:?STRING$(B&*50\Z&,219);:END SUB