From 3a15013f20110aae5a8fefa1eb24275a0891fed7 Mon Sep 17 00:00:00 2001 From: Bryan Lunduke Date: Sun, 26 May 2013 10:44:49 -0700 Subject: [PATCH] Initial Commit Full source code commit for version 0.9.2 of Linux Tycoon for DOS. --- README.md | 20 + Source/ABOUT.FRM | Bin 0 -> 436 bytes Source/ABOUT.OBJ | Bin 0 -> 1073 bytes Source/EVENTS.FRM | Bin 0 -> 201 bytes Source/GAME.BAK | Bin 0 -> 2969 bytes Source/GAME.FRM | Bin 0 -> 3130 bytes Source/GAME.OBJ | Bin 0 -> 4548 bytes Source/LINUXT.MAK | 4 + Source/MAIN.BAK | Bin 0 -> 1525 bytes Source/MAIN.BAS | 936 ++++++++++++++++++++++++++++++++++++++++++++ Source/MAIN.FRM | Bin 0 -> 1529 bytes Source/MAIN.OBJ | Bin 0 -> 29808 bytes Source/MYDISTRO.BAK | Bin 0 -> 292 bytes Source/MYDISTRO.FRM | Bin 0 -> 278 bytes Source/PACK.BAK | Bin 0 -> 1707 bytes Source/PACK.FRM | Bin 0 -> 1703 bytes Source/PACK.OBJ | Bin 0 -> 2547 bytes Source/RANK.FRM | Bin 0 -> 197 bytes Source/STATS.BAK | Bin 0 -> 452 bytes Source/STATS.FRM | Bin 0 -> 361 bytes 20 files changed, 960 insertions(+) create mode 100644 Source/ABOUT.FRM create mode 100644 Source/ABOUT.OBJ create mode 100644 Source/EVENTS.FRM create mode 100644 Source/GAME.BAK create mode 100644 Source/GAME.FRM create mode 100644 Source/GAME.OBJ create mode 100644 Source/LINUXT.MAK create mode 100644 Source/MAIN.BAK create mode 100644 Source/MAIN.BAS create mode 100644 Source/MAIN.FRM create mode 100644 Source/MAIN.OBJ create mode 100644 Source/MYDISTRO.BAK create mode 100644 Source/MYDISTRO.FRM create mode 100644 Source/PACK.BAK create mode 100644 Source/PACK.FRM create mode 100644 Source/PACK.OBJ create mode 100644 Source/RANK.FRM create mode 100644 Source/STATS.BAK create mode 100644 Source/STATS.FRM diff --git a/README.md b/README.md index 4a123f9..caf30ed 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,23 @@ Linux-Tycoon-DOS ================ Linux Tycoon for DOS + +Licensing: Linux Tycoon is licensed under the GPLv2 license. + + + +Copyright (C) 2013 Bryan Lunduke + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. \ No newline at end of file diff --git a/Source/ABOUT.FRM b/Source/ABOUT.FRM new file mode 100644 index 0000000000000000000000000000000000000000..0ef70c866fc467d8f27632b846ac4922ac8e6a06 GIT binary patch literal 436 zcmb`?F;2rU6b9h`*>OlB0Tt?uJTSn}0ELCIh;EUP0Ci7FkSf5I0#V4o&?7MS0&E-t zaR#oy4OozZ?WPe2z{`72pWiS0Cm?L#mEI`?G4A;yh;|9?eB;GdIp1^Rg(;#J?E`DT z0t^TSW()IYMD7AWpn>BzfN^VSXTlmYs~^TZYv|0k#*KX%W7fuCwWy*wN`!no#c%! yBp#ag3zr^I=qG8G-yQZ>-Ee!=9RaN#3u>AjG|i;_|9=*n=^;d5@|S0s&gmB^-$ZW! literal 0 HcmV?d00001 diff --git a/Source/ABOUT.OBJ b/Source/ABOUT.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..c5461881e7469304337d8f050b8a4ce688545e72 GIT binary patch literal 1073 zcmaKrOK8+k6o&ts*JK`cYOUHTNYH=}aGa|6S|~{-sm07>n507sh1%3ni*-git!)>I zl`g7Os~Zs=aoo6dCAt+y5bWM=6a*LQRz>hZyf$4aS1O%O&BcL-7yVPiqh0CJ zpE(J5M2zCWJ8yu9ZVVbu#uRm1%bj3RQ7gF2yJoj5WlY`c&ok%tXJtz(3}!S>YYLXf z79#pGVBS5^?@ES~%{sXz&Sf>*b`05E5hAU#JZ6m?vl&;S*41M|1a&go;<1T13UP<=lL;E#sy zMNyOx{@-x3ZC`5bXms3cv@A4QXXS=+qmj50i+U9GVZc7Bt8;4vS(@T8tGVkLy>FT%GF&ZZoOO z> zOBr{74RIMP#cZbVEQQdNPc&r+ZP5J6#JFOQlqaSXZ+f^=DYxU_NI6{@Q|PbO3V&MB z$EJtMiak+2HF2(##N^~;Y9&YwSI)0Nu{2g4sg#v;>Tqf=y(&?AR!<}O8>~r;L?wI3 yFO7D!ud2OUR@FXWh3>DS!!NMF;EQ~gvHAE|Gx^u|NmhSZB!*eX0kAFGH?LRhX9E2%!~kfHWvi| literal 0 HcmV?d00001 diff --git a/Source/GAME.BAK b/Source/GAME.BAK new file mode 100644 index 0000000000000000000000000000000000000000..3fcd5bd0707ae360e5613f0f495fea64ede50da4 GIT binary patch literal 2969 zcmZXWO>9(E6vxkfA2aXGOy{HRltPP{L_S1PXs19+O^whZHkPI>v?MNUUOSgE>2zM5 znHDM^0&!tt&?OpTh;AfN;|dKi(bmL7Tqxo~HzY0$!G&Sr*G5zS=Y8CM_>y_=-1EEV z+;h%7_r3YY5|pHy;-0WcXu1(Gt=P{d(bERef>G58*X3P&r%^mK+B{5Jl<0zvNt=dX zMVF6I%$vYBktG6tT_;Ur<|rnZ39##6IVD`3R1~VOYAA_09ZYgFm zGr&Fpi!l3Mu?RC0Y#A)dY^NT^8D$m$`xeZ`Z^;%Ri<6!u3+z7hG5nUdD~3R_WP?3` zKF)TB6w8pFq!`#E=o9d^>?mgB8(Jw2h63@8>NuV$EnHLNMT8RIf5JAEB>MWss%=w4 z3nhJ9%`>KS3f7;g8QEoHJtgXC6W9Q9Xl8a@F+GWP%Yu!7ZDRJR zVg|EDuyL>^W(>M<+|l09j+`o<(<`Bf3aGtxN#bnm1@x~ z=kj~nO?qx|PWG5|cz(LtW7F~C%kqh1hj;a0mRp)H*Cgil)X}h0EaXnQl^GsJDUhNx zDofI-N`sC&3o=4uRptq5>+L^HI2@nw>YBQ zp=sHZCfsxGsoYq(xByqOCqkvk5|lda?#OGD@6u`iLEPH+c3OyPYQ~wCc*%6^%?oP3 zVvu#znU&AFmD#I?9fj!-hSv-`0uhV63u(}ql%>uOLTTTvP}=`RC>^*HN?ku0dVI20 z4p(|$=rIg~{QvMrK@nCAJqpH^$e6KY3DsUrxWx=s?%p0s2lHmquAQy3(wl`j#*9PQT|* zML|C@y=Zw4Zks8Km*$Q6%G50{-}$QiE{wDT@3QyMCsM?Oq@WtmG`0Z%e7kPdxF-Ku~ATDSXPQ|0lt%i>vm)b-;;s+wAwNF zIB5@YAj#(bnHY2(wz39r2r3IssSBPDl}i3nRS<)FYf_L|V1cI|Tl6X9x=`K|K%*vS z=Pn^0f65yiCp5~y=218~(eL_+@s_|_GTa_N@f{ke4SPwWSU7uZ0CR0M;xPK0($stj z9mPHIm!LGN8uY7QSoVI*nUO>COrZY-AM}2=-zkR)o*1#j)Hp=4?r1hz&m@>SpVF&w-3Mc)66C5tD z4wNp41mRew<7m8Pafkondb@(g1Y>Q6c4+m4LxgMnViq)B{geJ;=zFzN7%mQv3KxyP K!2^fOZTKJh9#1U* literal 0 HcmV?d00001 diff --git a/Source/GAME.FRM b/Source/GAME.FRM new file mode 100644 index 0000000000000000000000000000000000000000..8abd660dcd0d835a8579f0d3b7d3f05fc0ea27e7 GIT binary patch literal 3130 zcmZXWU2GIp6vxkx!r zS||nO#Y7V$gcnkY4?GZj@PQXY)Wo2{2Q@K>5Bea97$2(9m}sIgn$-W9kK1mYWOvTJ zzkAL-=iGB<=HHkglim@Jgh4`4wTK>zrz1p%G@>Q#s!F(S?c{$N#!aCOL!?B(RGp}C z5L$HW2*tex{3o(Rz;{$q6lRuWf|&rj2c|N+ESXBe^vpiMh8nXa$uwpv^u7SonY|~O z&P)S)1QucTm1GfSI@n{dD6?NBi!zIV{R|ev?};J87-FPmDGK&C<_-M5-zHgtSqw}? zdg83tD;b>3k^zYh-p$GR;Iu)q{@3&@W@Bm?9~~66)Ce{W*35ZH zNS57$yle*JtA$T_hh&+Q8leqf6=Zx9+w7B!8bpRRf}IE3%xrO$ZAaRh!CuFH8` z($9LrvL>)Mp!XCr6qmm{)w5eIVAsJG)g%oRN^=)-rxqq0r)1LM@`6>`QOWfeDsI_H z&}q9|DLAEEes`Nr#};PoZk-O#O;x%L8Yx_~pE+@OXE#RzY=@pdZ+B}B(?VR9GSOEZl$LO<G4%G>v(c+V|vDYTMJH(!K+o3gtUh+SQ(qP;tBnGYVb0lqLu{=WK4YRG7ym zcDJB5jZV%LT%CHyojLcmMzN#TjQyNbp1G?TQRoh0_ukOr)AyV&t%DDC|= zl=l4)O8b8arOtmeH8Jj%!nh4xjbj)D-{_Bm3~bTWC>W<x17E2^i+(u=CfGV)tDFWT*dx9^t2sM&p3AA+(H!( zI9}tWoC~q-OH6G@KCu4>3#Z(KEj%Zv`AC9zm4Chazt2)E3PS5 zF-jkY{Os^27S93LX3ci=`V9w9oYSJGGT9eay zL6IT5TyQ2~+Z?Dmp8I(J9Dj_beONwtnJLR?HZr)F#s(aVwPMH780C4Z*a^$M#iGAe z1w`XQ8yBQcvcOAEEcg_1O(^dUpyt{$vsd7czvNB!6Ejl5;8D0Z+3)y)@%g}-8J?9N z_;!Wl>Aj>-JX}3`9BU0ZVmJD%;>27L<;4Z^r=T>l8WgXeShjw`nzje+^TGU&_yFj4 z`mI87!FPg##SDCzbY}e0-LFu_s~P{<5SnVzxNERH#rI+RY}u}ykvlwl`o^uP#H?Cfyre$HE)S63y1RY-wHcoiy2%J80e$(JohNwg&73l-4U2~ zhx6VYj>FCkswE9i_122*=G=33j_sByZHr|!L03W1C+oc6_mSdzvAzcdb>%=g3Yma< z_5!KFRUHk!8rhD95M|pTj0Q}zfrnuj>(pctOfL!CCw^~0_t`)fz3GJ)Y>jYUt4olJ z_x%6E!OJvEDo&)TLtwEbu!zT!w0IvV8?mNPl1iUFhY3(vu=d=-+e# zPsESKXZ-E#oeByQjAt{nU8yB>8?NfjVwmyrZ~B|b-dW==x=gx@!e3{B-Q_aG=YDky a!NL|0PCr`Hvyeao1s;M_d%~$>PyPdISay{F literal 0 HcmV?d00001 diff --git a/Source/GAME.OBJ b/Source/GAME.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..6ce68dd2c3ece6a46a98b8f5439ca1c24a7c26ba GIT binary patch literal 4548 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 GMDc%pdbKV9 literal 0 HcmV?d00001 diff --git a/Source/LINUXT.MAK b/Source/LINUXT.MAK new file mode 100644 index 0000000..c43a37d --- /dev/null +++ b/Source/LINUXT.MAK @@ -0,0 +1,4 @@ +MAIN.BAS +GAME.FRM +PACK.FRM +ABOUT.FRM diff --git a/Source/MAIN.BAK b/Source/MAIN.BAK new file mode 100644 index 0000000000000000000000000000000000000000..e4dd67d77c0cb51593305f9dbc5c15e3e5cb0110 GIT binary patch literal 1525 zcmbW%OK22H7zgmLx~hA+Cz+nSCJ*Cb5M`D4nCVF}V<4`^=OK!T@o`aUlO{Bo^vLui zCW8352@893Sr$*bhrR4&VbN>Qix)w15W%B(auM8{EX4meldi#o7aOMMU-hd;S5?#h z+k#yBQ#=z62}3H&w9~^THLp)nN)Gq;HH)+OGic~M87ZQSM5BRo=tcKWQo7lIZz4wo z9+qSnY`!+ZCSW5l$#zGZB;huPtzbgM_Nz9eFn;wBaFh>=tqG1JB!ZOZH2NgXh39^WX_T)%d)L)g>_{~3MV=K9-K5f)`&zreCC(TmsGRDbU< zxvg=H$8e&qEOy~P-J;LMF$^_Z5Owp&AB|)eWWN}uEbI@QRxjH~+dQ$8x?q39`q)lu zOSyR3ZrF3om}8sQX0i3aUcma!$(Dn?h7GZ8 zY7<994-LTH!gk=dfkWecz}3emG6;K*`X26=ZTH)Sx1%5S0k&y$(sUTDtmWs{=WDgd zrK$S5AN>&LPlR!!UhAMsK|Ky@QQkXPFzL+t&0xZ$sg=ce!l4V{?O^ZOseKb@RjaN< zjR0*YGIZV#7xI^D^(8LaD9$hWi$R>C?Yb1r2Gzii14S47)xe^QF}GB7Y>`Kw3)ULN zPC76-d2%&~8u8@hfi5n!o@myOmQW+9c*v7fI8>4}cDQViSC%wV^lU16h5QMBJytZc z5;hc7%B9k0N$RX0MoKx>w0|S07TqLygGnmwO48{5B#n(HY5ZuC%F{~P$7{>WezZ`$ z($3yOJC|;@^XLPWcB|OV_5yxN#;QC@(&68g>onFHtu_CpvesO<9Mp?Xm6K{ca^abd z#g{sIZ*(lZ({c2pj$@y795>BmuyU7<6~YJTMkC_w8lBnN+D%(qi>>$QyY831(QA9m w%=T2*k5|L_B}ER|n6P!VdP+eV`l^+n!XRvwEW+r`56L-{XTIu;*BK<~3m+`&RsaA1 literal 0 HcmV?d00001 diff --git a/Source/MAIN.BAS b/Source/MAIN.BAS new file mode 100644 index 0000000..9b64c8c --- /dev/null +++ b/Source/MAIN.BAS @@ -0,0 +1,936 @@ +DECLARE SUB DoRandomEvents () +DECLARE FUNCTION GetPackageIndexInMyDistro (PackType AS INTEGER) AS INTEGER +'$FORM Pack +DECLARE SUB LogEvent (NewMessage AS STRING) +DECLARE SUB NewUsersMe () +DECLARE SUB NewUsersAll () +DECLARE SUB NewBugs () +DECLARE SUB SortAllDistros () +DECLARE SUB InitGameData () +DECLARE SUB BuildDistroList () +' Software Types Constants +CONST kTypeWebBrowser = 1 +CONST kTypeOfficeSuite = 2 +CONST kTypeDesktopEnvironment = 3 +CONST kTypeGame = 4 +CONST kTypeGraphics = 5 +CONST kTypeProgramming = 6 +CONST kTypeCommunication = 7 +CONST kTypeUtility = 8 +CONST kTypeMultimedia = 9 + +' Packages +TYPE Package + Name AS STRING * 30 + Bugs AS INTEGER + Description AS STRING * 80 + NerdCred AS INTEGER + Popularity AS INTEGER + SizeInMB AS INTEGER + Version AS INTEGER + isOpenSource AS INTEGER + TypeOfSoftware AS INTEGER +END TYPE + +' Distro storage +TYPE Distro + Name AS STRING * 30 + Bugs AS INTEGER + Hype AS INTEGER + PackPop AS INTEGER + PackCred AS INTEGER + + Size AS INTEGER + Users AS LONG + Version AS INTEGER + AgeInDays AS INTEGER + WorkersPaid AS INTEGER + WorkersVolunteers AS INTEGER +END TYPE + +DIM SHARED AllPackages(40) AS Package +DIM SHARED AllDistros(20) AS Distro +DIM SHARED MyDistro AS Distro +DIM SHARED tempDistro AS Distro +DIM SHARED tempPackage AS Package +DIM SHARED MyDistroPackages(40) AS INTEGER +DIM SHARED CurrentDay AS INTEGER +DIM SHARED gameSpeed AS INTEGER + + +'$FORM GameForm + +InitGameData +gameSpeed = 1 +MyDistro.Name = INPUTBOX$("Name your new Linux Distro.", "", "MyDistro") +IF LTRIM$(RTRIM$(MyDistro.Name)) = "" THEN + MyDistro.Name = "Nuthin'" +ELSE + GameForm.SHOW + GameForm.timeUpdate.Interval = 1 + GameForm.timeRank.Interval = 1 +END IF + +SUB BuildDistroList () + + 'Build out the Package List + + AllPackages(1).Name = "Midget" + AllPackages(1).Bugs = 2 + AllPackages(1).Description = "Lightweight, simple desktop envrionment" + AllPackages(1).NerdCred = 3 + AllPackages(1).Popularity = 20 + AllPackages(1).SizeInMB = 20 + AllPackages(1).Version = 1 + AllPackages(1).isOpenSource = 1 + AllPackages(1).TypeOfSoftware = kTypeDesktopEnvironment + + AllPackages(2).Name = "QDE" + AllPackages(2).Bugs = 3 + AllPackages(2).Description = "The Q Desktop Environment. Lots of widgets." + AllPackages(2).NerdCred = 3 + AllPackages(2).Popularity = 10 + AllPackages(2).SizeInMB = 50 + AllPackages(2).Version = 1 + AllPackages(2).isOpenSource = 1 + AllPackages(2).TypeOfSoftware = kTypeDesktopEnvironment + + AllPackages(3).Name = "UCDE" + AllPackages(3).Bugs = 0 + AllPackages(3).Description = "The Ultra Confusing Desktop Environment" + AllPackages(3).NerdCred = 20 + AllPackages(3).Popularity = 1 + AllPackages(3).SizeInMB = 1 + AllPackages(3).Version = 1 + AllPackages(3).isOpenSource = 1 + AllPackages(3).TypeOfSoftware = kTypeDesktopEnvironment + + + + AllPackages(4).Name = "FlamingRodent" + AllPackages(4).Bugs = 4 + AllPackages(4).Description = "A big, powerful web browser" + AllPackages(4).NerdCred = 3 + AllPackages(4).Popularity = 15 + AllPackages(4).SizeInMB = 10 + AllPackages(4).Version = 1 + AllPackages(4).isOpenSource = 1 + AllPackages(4).TypeOfSoftware = kTypeWebBrowser + + AllPackages(5).Name = "ShmoogleShrome" + AllPackages(5).Bugs = 2 + AllPackages(5).Description = "Lightweight and superfast browser" + AllPackages(5).NerdCred = 3 + AllPackages(5).Popularity = 10 + AllPackages(5).SizeInMB = 10 + AllPackages(5).Version = 1 + AllPackages(5).isOpenSource = 1 + AllPackages(5).TypeOfSoftware = kTypeWebBrowser + + AllPackages(6).Name = "Text-O-Web" + AllPackages(6).Bugs = 0 + AllPackages(6).Description = "A text only web browser that runs in the terminal" + AllPackages(6).NerdCred = 20 + AllPackages(6).Popularity = 0 + AllPackages(6).SizeInMB = 1 + AllPackages(6).Version = 1 + AllPackages(6).isOpenSource = 1 + AllPackages(6).TypeOfSoftware = kTypeWebBrowser + + + + AllPackages(7).Name = "ReallyFreeOfiice" + AllPackages(7).Bugs = 4 + AllPackages(7).Description = "A big, powerful office suite" + AllPackages(7).NerdCred = 5 + AllPackages(7).Popularity = 15 + AllPackages(7).SizeInMB = 60 + AllPackages(7).Version = 1 + AllPackages(7).isOpenSource = 1 + AllPackages(7).TypeOfSoftware = kTypeOfficeSuite + + AllPackages(8).Name = "SpAnDeX" + AllPackages(8).Bugs = 1 + AllPackages(8).Description = "Hard to use and complicated way to build documents" + AllPackages(8).NerdCred = 15 + AllPackages(8).Popularity = 2 + AllPackages(8).SizeInMB = 3 + AllPackages(8).Version = 1 + AllPackages(8).isOpenSource = 1 + AllPackages(8).TypeOfSoftware = kTypeOfficeSuite + + AllPackages(9).Name = "OkayOffice" + AllPackages(9).Bugs = 1 + AllPackages(9).Description = "This office suite... is pretty ok" + AllPackages(9).NerdCred = 10 + AllPackages(9).Popularity = 10 + AllPackages(9).SizeInMB = 40 + AllPackages(9).Version = 1 + AllPackages(9).isOpenSource = 1 + AllPackages(9).TypeOfSoftware = kTypeOfficeSuite + + + + AllPackages(10).Name = "PenguinZoomer" + AllPackages(10).Bugs = 1 + AllPackages(10).Description = "Race around and pretend that penguins are like cars" + AllPackages(10).NerdCred = 3 + AllPackages(10).Popularity = 8 + AllPackages(10).SizeInMB = 20 + AllPackages(10).Version = 1 + AllPackages(10).isOpenSource = 1 + AllPackages(10).TypeOfSoftware = kTypeGame + + AllPackages(11).Name = "FragBlast4000" + AllPackages(11).Bugs = 5 + AllPackages(11).Description = "Fancy 3D graphics and fast paced shooting of other people" + AllPackages(11).NerdCred = 1 + AllPackages(11).Popularity = 15 + AllPackages(11).SizeInMB = 120 + AllPackages(11).Version = 1 + AllPackages(11).isOpenSource = 0 + AllPackages(11).TypeOfSoftware = kTypeGame + + AllPackages(12).Name = "BurstABubble" + AllPackages(12).Bugs = 0 + AllPackages(12).Description = "There are bubbles. You hate bubbles. Pop those bubbles." + AllPackages(12).NerdCred = 0 + AllPackages(12).Popularity = 20 + AllPackages(12).SizeInMB = 25 + AllPackages(12).Version = 1 + AllPackages(12).isOpenSource = 1 + AllPackages(12).TypeOfSoftware = kTypeGame + + AllPackages(13).Name = "JustCards" + AllPackages(13).Bugs = 0 + AllPackages(13).Description = "It's a card game" + AllPackages(13).NerdCred = 0 + AllPackages(13).Popularity = 5 + AllPackages(13).SizeInMB = 20 + AllPackages(13).Version = 1 + AllPackages(13).isOpenSource = 1 + AllPackages(13).TypeOfSoftware = kTypeGame + + AllPackages(14).Name = "TapYerToes" + AllPackages(14).Bugs = 1 + AllPackages(14).Description = "Tap your toes to the beat of very boring music." + AllPackages(14).NerdCred = 0 + AllPackages(14).Popularity = 1 + AllPackages(14).SizeInMB = 15 + AllPackages(14).Version = 1 + AllPackages(14).isOpenSource = 1 + AllPackages(14).TypeOfSoftware = kTypeGame + + AllPackages(15).Name = "CityMax" + AllPackages(15).Bugs = 2 + AllPackages(15).Description = "Design and run a very fancy city." + AllPackages(15).NerdCred = 0 + AllPackages(15).Popularity = 15 + AllPackages(15).SizeInMB = 120 + AllPackages(15).Version = 1 + AllPackages(15).isOpenSource = 0 + AllPackages(15).TypeOfSoftware = kTypeGame + + AllPackages(16).Name = "CoutTrainer" + AllPackages(16).Bugs = 3 + AllPackages(16).Description = "Teach a couch how to be a good couch." + AllPackages(16).NerdCred = 0 + AllPackages(16).Popularity = 5 + AllPackages(16).SizeInMB = 65 + AllPackages(16).Version = 1 + AllPackages(16).isOpenSource = 1 + AllPackages(16).TypeOfSoftware = kTypeGame + + + + + AllPackages(17).Name = "PixelPusher" + AllPackages(17).Bugs = 0 + AllPackages(17).Description = "A very simple image editor." + AllPackages(17).NerdCred = 1 + AllPackages(17).Popularity = 2 + AllPackages(17).SizeInMB = 2 + AllPackages(17).Version = 1 + AllPackages(17).isOpenSource = 1 + AllPackages(17).TypeOfSoftware = kTypeGraphics + + AllPackages(18).Name = "The Dork" + AllPackages(18).Bugs = 2 + AllPackages(18).Description = "Robust, powerful graphics editor." + AllPackages(18).NerdCred = 5 + AllPackages(18).Popularity = 12 + AllPackages(18).SizeInMB = 65 + AllPackages(18).Version = 1 + AllPackages(18).isOpenSource = 1 + AllPackages(18).TypeOfSoftware = kTypeGraphics + + AllPackages(19).Name = "Pictures-In-Folders" + AllPackages(19).Bugs = 0 + AllPackages(19).Description = "A simple photo gallery for organizing images." + AllPackages(19).NerdCred = 0 + AllPackages(19).Popularity = 8 + AllPackages(19).SizeInMB = 8 + AllPackages(19).Version = 1 + AllPackages(19).isOpenSource = 1 + AllPackages(19).TypeOfSoftware = kTypeGraphics + + AllPackages(20).Name = "PainterMcPaint" + AllPackages(20).Bugs = 1 + AllPackages(20).Description = "Good for painting. Bad for anything else." + AllPackages(20).NerdCred = 0 + AllPackages(20).Popularity = 3 + AllPackages(20).SizeInMB = 150 + AllPackages(20).Version = 1 + AllPackages(20).isOpenSource = 1 + AllPackages(20).TypeOfSoftware = kTypeGraphics + + + + + AllPackages(21).Name = "LunarBlackout" + AllPackages(21).Bugs = 4 + AllPackages(21).Description = "A good, flexible integrated development environment." + AllPackages(21).NerdCred = 10 + AllPackages(21).Popularity = 4 + AllPackages(21).SizeInMB = 120 + AllPackages(21).Version = 1 + AllPackages(21).isOpenSource = 1 + AllPackages(21).TypeOfSoftware = kTypeProgramming + + AllPackages(22).Name = "JustPascal" + AllPackages(22).Bugs = 0 + AllPackages(22).Description = "Pascal compiler." + AllPackages(22).NerdCred = 11 + AllPackages(22).Popularity = 1 + AllPackages(22).SizeInMB = 40 + AllPackages(22).Version = 1 + AllPackages(22).isOpenSource = 1 + AllPackages(22).TypeOfSoftware = kTypeProgramming + + AllPackages(23).Name = "Lunduke Development Kit" + AllPackages(23).Bugs = 0 + AllPackages(23).Description = "The most awesome programming language. Ever." + AllPackages(23).NerdCred = 15 + AllPackages(23).Popularity = 15 + AllPackages(23).SizeInMB = 10 + AllPackages(23).Version = 1 + AllPackages(23).isOpenSource = 1 + AllPackages(23).TypeOfSoftware = kTypeProgramming + + AllPackages(24).Name = "LargeTalk" + AllPackages(24).Bugs = 0 + AllPackages(24).Description = "The grand-daddy of programming tools." + AllPackages(24).NerdCred = 20 + AllPackages(24).Popularity = 2 + AllPackages(24).SizeInMB = 10 + AllPackages(24).Version = 1 + AllPackages(24).isOpenSource = 1 + AllPackages(24).TypeOfSoftware = kTypeProgramming + + AllPackages(25).Name = "EchsCode" + AllPackages(25).Bugs = 7 + AllPackages(25).Description = "This is a terrible development environment. Nobody likes it." + AllPackages(25).NerdCred = 0 + AllPackages(25).Popularity = 0 + AllPackages(25).SizeInMB = 900 + AllPackages(25).Version = 1 + AllPackages(25).isOpenSource = 0 + AllPackages(25).TypeOfSoftware = kTypeProgramming + + + + + AllPackages(26).Name = "Mailinator" + AllPackages(26).Bugs = 1 + AllPackages(26).Description = "Super advanced email client" + AllPackages(26).NerdCred = 0 + AllPackages(26).Popularity = 12 + AllPackages(26).SizeInMB = 80 + AllPackages(26).Version = 1 + AllPackages(26).isOpenSource = 1 + AllPackages(26).TypeOfSoftware = kTypeCommunication + + AllPackages(27).Name = "Chatchatchat" + AllPackages(27).Bugs = 1 + AllPackages(27).Description = "You know. For chatting." + AllPackages(27).NerdCred = 0 + AllPackages(27).Popularity = 5 + AllPackages(27).SizeInMB = 50 + AllPackages(27).Version = 1 + AllPackages(27).isOpenSource = 1 + AllPackages(27).TypeOfSoftware = kTypeCommunication + + AllPackages(28).Name = "Fir" + AllPackages(28).Bugs = 0 + AllPackages(28).Description = "Terminal-only email client." + AllPackages(28).NerdCred = 5 + AllPackages(28).Popularity = 1 + AllPackages(28).SizeInMB = 1 + AllPackages(28).Version = 1 + AllPackages(28).isOpenSource = 1 + AllPackages(28).TypeOfSoftware = kTypeCommunication + + AllPackages(29).Name = "IRC-o-Matic" + AllPackages(29).Bugs = 3 + AllPackages(29).Description = "The only IRC client that matters." + AllPackages(29).NerdCred = 4 + AllPackages(29).Popularity = 2 + AllPackages(29).SizeInMB = 6 + AllPackages(29).Version = 1 + AllPackages(29).isOpenSource = 1 + AllPackages(29).TypeOfSoftware = kTypeCommunication + + + + + AllPackages(30).Name = "Calculator" + AllPackages(30).Bugs = 0 + AllPackages(30).Description = "You do want a calculator, don't you?" + AllPackages(30).NerdCred = 0 + AllPackages(30).Popularity = 1 + AllPackages(30).SizeInMB = 1 + AllPackages(30).Version = 1 + AllPackages(30).isOpenSource = 1 + AllPackages(30).TypeOfSoftware = kTypeUtility + + + + + AllPackages(31).Name = "Video Player Thing" + AllPackages(31).Bugs = 3 + AllPackages(31).Description = "Plays videos. Sometimes. Then it crashes." + AllPackages(31).NerdCred = 0 + AllPackages(31).Popularity = 1 + AllPackages(31).SizeInMB = 10 + AllPackages(31).Version = 1 + AllPackages(31).isOpenSource = 1 + AllPackages(31).TypeOfSoftware = kTypeMultimedia + + AllPackages(32).Name = "vidCastGrabber" + AllPackages(32).Bugs = 1 + AllPackages(32).Description = "Downloads and plays video podcasts." + AllPackages(32).NerdCred = 0 + AllPackages(32).Popularity = 3 + AllPackages(32).SizeInMB = 55 + AllPackages(32).Version = 1 + AllPackages(32).isOpenSource = 1 + AllPackages(32).TypeOfSoftware = kTypeMultimedia + + AllPackages(33).Name = "emTeeVee" + AllPackages(33).Bugs = 2 + AllPackages(33).Description = "Automatically generates music videos." + AllPackages(33).NerdCred = 0 + AllPackages(33).Popularity = 2 + AllPackages(33).SizeInMB = 120 + AllPackages(33).Version = 1 + AllPackages(33).isOpenSource = 0 + AllPackages(33).TypeOfSoftware = kTypeMultimedia + + + 'Set MyDistro + MyDistro.Name = "MyDistro" + MyDistro.Users = 0 + + + 'Build out the Distro List + AllDistros(1).Name = "Ooboontoo" + AllDistros(1).Users = 100000 + AllDistros(2).Name = "FloppyBeanie" + AllDistros(2).Users = 50000 + AllDistros(3).Name = "xTr333m3" + AllDistros(3).Users = 25000 + AllDistros(4).Name = "CuteLittleDoggy" + AllDistros(4).Users = 15000 + AllDistros(5).Name = "Trumpet" + AllDistros(5).Users = 1 + AllDistros(6).Name = "Kooboontoo" + AllDistros(6).Users = 45000 + AllDistros(7).Name = "LooseWare" + AllDistros(7).Users = 5000 + AllDistros(8).Name = "OpenSnuggle" + AllDistros(8).Users = 500 + AllDistros(9).Name = "TeddyBearLinux" + AllDistros(9).Users = 50 + AllDistros(10).Name = "ReduntantLinux" + AllDistros(10).Users = 200 + AllDistros(11).Name = "Plebian" + AllDistros(11).Users = 8500 + AllDistros(12).Name = "b00nd0x" + AllDistros(12).Users = 2500 + AllDistros(13).Name = "FreeHugz" + AllDistros(13).Users = 900 + AllDistros(14).Name = "Derpnix" + AllDistros(14).Users = 800 + AllDistros(15).Name = "Unpronounceable" + AllDistros(15).Users = 1500 + AllDistros(16).Name = "Lozenge" + AllDistros(16).Users = 4200 + AllDistros(17).Name = "Gat3way" + AllDistros(17).Users = 3350 + AllDistros(18).Name = "Prune" + AllDistros(18).Users = 810 + AllDistros(19).Name = "ChakaLaka" + AllDistros(19).Users = 2100 + AllDistros(20).Name = "SunGlassesNix" + AllDistros(20).Users = 15 + + + +END SUB + +SUB CalculateSize () + DIM i AS INTEGER + DIM totalSize AS INTEGER + DIM totalBugs AS INTEGER + DIM totalCred AS INTEGER + DIM totalPop AS INTEGER + DIM packIndex AS INTEGER + + + totalSize = 0 + totalBugs = 0 + totalCred = 0 + totalPop = 0 + + FOR i = 1 TO 39 + + IF MyDistroPackages(i) = 1 THEN + tempPackage = AllPackages(i) + totalSize = totalSize + tempPackage.SizeInMB + totalBugs = totalBugs + tempPackage.Bugs + totalCred = totalCred + tempPackage.NerdCred + totalPop = totalPop + tempPackage.Popularity + END IF + + NEXT i + + MyDistro.Size = totalSize + MyDistro.Bugs = totalBugs + MyDistro.PackPop = totalPop + MyDistro.PackCred = totalCred + +END SUB + +SUB DoDailyUpdates () + + IF gameSpeed > 0 THEN + + 'Decrease Hype + IF MyDistro.Hype > 0 THEN + MyDistro.Hype = MyDistro.Hype - 1 + ELSEIF MyDistro.Hype < 0 THEN + MyDistro.Hype = MyDistro.Hype + 1 + END IF + + + 'Increment Age and Day + MyDistro.AgeInDays = MyDistro.AgeInDays + 1 + CurrentDay = CurrentDay + 1 + + 'Add new bugs + NewBugs + + 'Calculate User Gain/Loss for MyDistro + NewUsersMe + + 'Calculate User Gain/Loss for AllDistros + NewUsersAll + + 'Run Random Events + DoRandomEvents + + END IF + +END SUB + +SUB DoRandomEvents () + + DIM userGain AS INTEGER + DIM rndGain AS SINGLE + DIM theNum AS INTEGER + + rndGain = RND + + theNum = rndGain * 500 + + IF theNum = 20 THEN + LogEvent ("Your latest version got reviewed favorably in a major magazine! Hype boost!") + MyDistro.Hype = MyDistro.Hype + 10 + END IF + + IF theNum = 21 THEN + LogEvent ("Your latest version got reviewed poorly in a major magazine! Ut-Oh!") + MyDistro.Hype = MyDistro.Hype - 10 + END IF + + IF theNum = 22 THEN + LogEvent ("A new version of Windews is out! And... it's not so good. Linux usage goes up!") + MyDistro.Hype = MyDistro.Hype + 10 + END IF + + IF theNum = 23 THEN + LogEvent ("A new version of Windows is out! And... it's... actually pretty good.") + MyDistro.Hype = MyDistro.Hype - 10 + END IF + + IF theNum = 24 THEN + IF MyDistro.AgeInDays > 100 THEN + LogEvent ("It's been a long time since your last release. Users are getting bored.") + MyDistro.Hype = MyDistro.Hype - 10 + END IF + END IF + + IF theNum = 25 THEN + LogEvent ("Bryan's goats chewed on your power cables. Productivity goes down.") + MyDistro.Hype = MyDistro.Hype - 10 + END IF + + IF theNum = 26 THEN + IF MyDistro.Size < 40 THEN + LogEvent ("Your Distro has gained a reputation as being super lightweight. Well done!") + MyDistro.Hype = MyDistro.Hype + 20 + END IF + END IF + + IF theNum = 27 THEN + IF MyDistro.Size > 800 THEN + LogEvent ("Your Distro is too big to fit on a CD. That makes people cranky.") + MyDistro.Hype = MyDistro.Hype - 20 + END IF + END IF + + + +END SUB + +SUB DoUpdateRank () + + DIM i AS INTEGER + DIM dName AS STRING * 30 + + SortAllDistros + + 'Clear the list + IF GameForm.ListDistroRank.ListCount > 0 THEN + FOR i = 1 TO GameForm.ListDistroRank.ListCount + GameForm.ListDistroRank.REMOVEITEM 0 + NEXT i + END IF + + + 'Add Everything + FOR i = 1 TO 20 + tempDistro = AllDistros(i) + dName$ = STR$(tempDistro.Users) + " - " + tempDistro.Name$ + GameForm.ListDistroRank.ADDITEM dName + NEXT i + +END SUB + +SUB DoUpdateUI () + DIM tempStr AS STRING * 10 + DIM tempInt AS INTEGER + DIM tempLong AS LONG + + GameForm.lblName.caption = RTRIM$(MyDistro.Name) + + tempInt = MyDistro.Version + GameForm.lblVer.caption = LTRIM$(STR$(tempInt)) + ".0" + + tempLong = MyDistro.Users + GameForm.lblUsers.caption = LTRIM$(STR$(tempLong)) + + tempInt = MyDistro.AgeInDays + IF MyDistro.Version > 0 THEN + GameForm.lblAge.caption = LTRIM$(STR$(tempInt)) + " days" + ELSE + GameForm.lblAge.caption = "UNRELEASED" + END IF + + GameForm.lblGameAge.caption = STR$(CurrentDay) + + tempInt = MyDistro.WorkersPaid + GameForm.lblPaid.caption = LTRIM$(STR$(tempInt)) + "/" + LTRIM$(STR$(tempInt)) + + tempInt = MyDistro.WorkersVolunteers + GameForm.lblVol.caption = LTRIM$(STR$(tempInt)) + "/" + LTRIM$(STR$(tempInt)) + + tempInt = MyDistro.Hype + GameForm.lblHype.caption = LTRIM$(STR$(tempInt)) + + tempInt = MyDistro.Bugs + GameForm.lblBugs.caption = LTRIM$(STR$(tempInt)) + + tempInt = MyDistro.Size + GameForm.lblSize.caption = LTRIM$(STR$(tempInt)) + + +END SUB + +FUNCTION GetPackageIndexInMyDistro (PackType AS INTEGER) AS INTEGER + + ' DIM i AS INTEGER + ' DIM theIndex AS INTEGER + + ' theIndex = -1 + + ' FOR i = 1 TO 39 + + ' IF MyDistroPackages(i) = PackType THEN + ' theIndex = i + ' END IF + + ' NEXT + + ' GetPackageIndexInMyDistro = theIndex + +END FUNCTION + +SUB InitGameData () + BuildDistroList +END SUB + +SUB LogEvent (NewMessage AS STRING) + + DIM TheMessage AS STRING + + TheMessage = "[Day: " + LTRIM$(STR$(CurrentDay)) + "] - " + NewMessage + CHR$(13) + CHR$(13) + + GameForm.txtEvents.text = RTRIM$(TheMessage) + GameForm.txtEvents.text + + +END SUB + +SUB MakeNewRelease () + + 'Increment version number + MyDistro.Version = MyDistro.Version + 1 + + 'Add to Hype + MyDistro.Hype = MyDistro.Hype + 5 + + 'Display Release message + MSGBOX ("Version " + LTRIM$(STR$(MyDistro.Version)) + ".0 of " + RTRIM$(MyDistro.Name) + " has been released! Time to sit back and enjoy fame and fortune.") + LogEvent ("Version " + LTRIM$(STR$(MyDistro.Version)) + ".0 of " + RTRIM$(MyDistro.Name) + " has been released!") + + 'Reset Age In Days + MyDistro.AgeInDays = 0 + +END SUB + +SUB NewBugs () + DIM i AS INTEGER + DIM rndBug AS SINGLE + DIM packIndex AS INTEGER + + FOR i = 1 TO 39 + + rndBug = RND + 'GameForm.txtEvents.text = GameForm.txtEvents.text + STR$(rndBug) + IF rndBug > .995 THEN + + tempPackage = AllPackages(i) + tempPackage.Bugs = tempPackage.Bugs + 1 + 'GameForm.txtEvents.text = GameForm.txtEvents.text + tempPackage.Name + + END IF + + + NEXT i + +END SUB + +SUB NewUsersAll () + + DIM i AS INTEGER + DIM dName AS STRING * 30 + DIM userGain AS INTEGER + DIM rndGain AS SINGLE + + 'Loop Through each Distro + FOR i = 1 TO 20 + tempDistro = AllDistros(i) + rndGain = RND + + IF rndGain > .5 THEN + userGain = rndGain * 10 + tempDistro.Users = tempDistro.Users + userGain + AllDistros(i) = tempDistro + END IF + + + IF rndGain < .5 THEN + userGain = rndGain * 5 + tempDistro.Users = tempDistro.Users - userGain + AllDistros(i) = tempDistro + + END IF + + NEXT i + + +END SUB + +SUB NewUsersMe () + + DIM i AS INTEGER + DIM userGain AS LONG + DIM rndGain AS SINGLE + DIM gainPotential AS LONG + + gainPotential = MyDistro.PackCred + MyDistro.PackPop + + rndGain = RND + + 'Set the usergain + userGain = (rndGain * gainPotential) / 2 + + userGain = userGain + MyDistro.Hype + + 'If Distro doesn't fit on a CD + IF MyDistro.Size > 700 THEN + userGain = userGain * .5 + END IF + + IF MyDistro.Version > 0 THEN + MyDistro.Users = MyDistro.Users + userGain + END IF + + +END SUB + +SUB PackIncludeChecked () + IF Pack.chkInclude.value = 1 THEN + + MyDistroPackages(Pack.listPackages.listindex + 1) = 1 + + ELSE + + MyDistroPackages(Pack.listPackages.listindex + 1) = 0 + + + END IF + +END SUB + +SUB PackRefreshList () + + 'Loop through and add all of the packages + + + DIM i AS INTEGER + DIM dName AS STRING * 30 + + 'Clear the list + IF Pack.listPackages.ListCount > 0 THEN + FOR i = 1 TO Pack.listPackages.ListCount + Pack.listPackages.REMOVEITEM 0 + NEXT i + END IF + + + 'Add All Packages + FOR i = 1 TO 39 + tempPackage = AllPackages(i) + IF tempPackage.TypeOfSoftware > 0 THEN + dName$ = RTRIM$(tempPackage.Name) + Pack.listPackages.ADDITEM dName + END IF + NEXT i + + + +END SUB + +SUB PackSelectedDetail () + + 'Populate the UI with details of the selected package + + tempPackage = AllPackages(Pack.listPackages.listindex + 1) + + + Pack.lblName.caption = tempPackage.Name + Pack.lblDesc.caption = tempPackage.Description + Pack.lblBugs.caption = LTRIM$(STR$(tempPackage.Bugs)) + Pack.lblNerdCred.caption = LTRIM$(STR$(tempPackage.NerdCred)) + Pack.lblPop.caption = LTRIM$(STR$(tempPackage.Popularity)) + Pack.lblSize.caption = LTRIM$(STR$(tempPackage.SizeInMB)) + Pack.lblVer.caption = LTRIM$(STR$(tempPackage.Version)) + + Pack.lblOS.caption = LTRIM$(STR$(tempPackage.isOpenSource)) + + IF tempPackage.isOpenSource = 0 THEN + Pack.lblOS.caption = "No" + ELSE + Pack.lblOS.caption = "Yes" + END IF + + + 'Pack.lblType.caption = LTRIM$(STR$(tempPackage.TypeOfSoftware)) + IF tempPackage.TypeOfSoftware = kTypeWebBrowser THEN + Pack.lblType.caption = "Web Browser" + ELSEIF tempPackage.TypeOfSoftware = kTypeOfficeSuite THEN + Pack.lblType.caption = "Office Suite" + ELSEIF tempPackage.TypeOfSoftware = kTypeDesktopEnvironment THEN + Pack.lblType.caption = "Desktop Environment" + ELSEIF tempPackage.TypeOfSoftware = kTypeGame THEN + Pack.lblType.caption = "Game" + ELSEIF tempPackage.TypeOfSoftware = kTypeGraphics THEN + Pack.lblType.caption = "Graphics" + ELSEIF tempPackage.TypeOfSoftware = kTypeProgramming THEN + Pack.lblType.caption = "Programming" + ELSEIF tempPackage.TypeOfSoftware = kTypeCommunication THEN + Pack.lblType.caption = "Communication" + ELSEIF tempPackage.TypeOfSoftware = kTypeUtility THEN + Pack.lblType.caption = "Utility" + ELSEIF tempPackage.TypeOfSoftware = kTypeMultimedia THEN + Pack.lblType.caption = "Multimedia" + END IF + + IF MyDistroPackages(Pack.listPackages.listindex + 1) = 1 THEN + Pack.chkInclude.value = 1 + ELSE + Pack.chkInclude.value = 0 + END IF + + + 'IF GetPackageIndexInMyDistro(tempPackage.TypeOfSoftware) > -1 THEN + ' chkInclude.value = 1 + 'ELSE + ' chkInclude.value = 0 + 'END IF + + + +END SUB + +SUB PauseClicked () + IF GameForm.btnPause.caption = "||" THEN + GameForm.btnPause.caption = ">>" + gameSpeed = 0 + ELSEIF GameForm.btnPause.caption = ">>" THEN + GameForm.btnPause.caption = "||" + gameSpeed = 1 + END IF + +END SUB + +SUB SortAllDistros () + + FOR i = 1 TO UBOUND(AllDistros) - 1 + FOR j = 1 TO UBOUND(AllDistros) - 1 + + tempDistro = AllDistros(j) + jUsers = tempDistro.Users + tempDistro = AllDistros(j + 1) + jPlusUsers = tempDistro.Users + + IF jUsers < jPlusUsers THEN + SWAP AllDistros(j), AllDistros(j + 1) + END IF + + NEXT j + NEXT i + +END SUB + diff --git a/Source/MAIN.FRM b/Source/MAIN.FRM new file mode 100644 index 0000000000000000000000000000000000000000..89e26ffb894ecffc38e0653a26a67efb3bbf83ef GIT binary patch literal 1529 zcmbW%Pi)gx90%~<^Luvev~l_;=^t8Y(KI$t1td;OLZpHy1$JPlEgf8d$rP(ZO`Iuq zyLJ*9T#$AeHw4peNbI^v6C8G_c9^!yG?+AT;KGT+CZutl=)S+Ceh~*QvlQp+_j&JU zzxOQvYYTGeTk(@{NElLCrk#Grq|Wh=l#;{E{hiAt{24U9Kt_rvBhhK}EJo4Ila%gs z;FHJ`fhQyx2Ai)=evm`(2yG zX2KR>DYn10rPwUkWtffMwj+``*d+6mf;G|Zu$7aJmLwlO-xHddwo*dW>wD+-H z(l*GJhJA_le%xvMx;EtvPf{NYi^nI*bmp&J>=8Eg!@t5CfhLV57;Q%Lv6~% zE0u#ig^jU2(I(mQuxGGwwwKz(Q87fLu;;Kn_-$iDd5v)7c(=x2f1&-Q(NAaU;reD_ zd26NB3SF9OZ~5T|QDMFw#qCxfoe$bky%iR`gGG}*-1;=AnKZY)8r2*+SN}ZN_tD(` z8hW)F>tP(AZ!JR$e*J3ULaV*Tmo_d}*8J5VO3`jxik5;#;75U?bN)tP(Z><@RCIim zt1kzeajBmU%+8+N2*Nm;ojstaS}B(YxUKtKOMbY9c1fi}o}}WTvZR?K6@$Erq^Xi; zQ^_k9=KZZm(c*eNel5v9?Kgu{t#;E^j&;Vr5;RIfN%AI>RDM56)5Rps)RJ^~K1r1Y zCG8WfX44O^mM-?PcdeJpaW7BbQfaq=CG9=_?W9)qUXqSHP_7ei#@%^;r?S>^y&1Gi zKPo5HedOZLI+h;m=snZ1{6fd+S31tT*72}oCdDc_9jkLZ z%l|r`f6J)dnwi~OeR85vUs+S+kc}I5kM2k*C_``b5>y<6ZIDH%-ualE#r5JFgYim( GB>e~VKpC+h*%L_H-~0Ag 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 JpRyG}@d7_4D^UOd literal 0 HcmV?d00001 diff --git a/Source/MYDISTRO.FRM b/Source/MYDISTRO.FRM new file mode 100644 index 0000000000000000000000000000000000000000..6f2da9a4dbe4a6f937617d5273f537d2d6f191f7 GIT binary patch literal 278 zcmeyv!N|bJu!8Y0BPRnR6Eh1ND+iYo0|b~cD1sPDtq^XICWw|4Wnf@uV9;h@Vqg## z=3?Mv@U2vE$t*4@$_L7F_*SNX*%pES|En w0~*cAzyY)m0w6XqGcs^7AQUk&7>EHS${5%ffbL<0s0l>T#|#u?WMF0h04OgiBhdp%|ut;c9FBqm>*NJ{Kh|bHa8ex6>rQp}A^F(r{x)M)AEEt z4%mG#gW27j>CAMn&%r9pRv)wHM3u^54>S@_F+)m|3T$SxU|)mHGTYCYbzB^w8rXMW zIy$iTAZLyzj*0}cJmHWD_B5Ew?2SBT zfpeV!dq$F|F|%@JGOL0;55_s|oyb{fQI<#pTgLf5Rq2Y~-S)Rsy{#hE9fkc~g-$h_ zlha|ddCI2CDh}#vu?iYxYKL#B`pK|YzjR@~VbV1f4`I_V=(XK}!t26#YuG4K)QMOs z(kp&PMT^UsaHdKdy>2uPR2@Fn!{I3I7gD7&na)y~S_9RqxBKI`t5zBgt*c=-4hNi_ zPM7^1<U>x~zINC+DG{|Bmyr5C*;;JN_tJsuwDMFmAqSvKWNc96Ljn1gox)@7g zcW-V_5_>ySSbAStMHIr(@1!Ef{xIXqpJdXDUu4qRuQKV}x0!VQCm5$87k*3qaBqH> zmILqHT<-0kP{$T^{hR7=r%gRMM3-mvBp2>7?uh}-R-5nB!sfxjvvhFK5%;jWn%*%; zm0TkFjCNQR%fRUmv?7jAD12dEOP)_YI?#F#e}SY)*Vm%3yA7qJtA7*Krn{QbB|$ar zb9$Flu&zda7{SJU+}_;Jk(X6Al#O1X-rVS2+D$LSuZTHPJA=u{U_UptJg^?2KD}H0EPB^OubtXNRr=_7)cra(HZ#+$XnS?WXE(tAJIuF!c67so*Gf z>r_Dh(r=k%^e5@1MJA?@F8m>|q#%c;S|@1XB#v*v2n}Z=*C9pUi0=gq+`uR$({k literal 0 HcmV?d00001 diff --git a/Source/PACK.FRM b/Source/PACK.FRM new file mode 100644 index 0000000000000000000000000000000000000000..82b18b1d9a4f80bc200732a3889eac8e417d0e4b GIT binary patch literal 1703 zcmZXUO>7%Q6vyA}?Ap8QkJwH*G+G6#0?{B9C4oX~$%@hhp{TTOFztmywf0WaRW`P@ zwo6mBhk``!y+s0v6XJq|ggC$jMQ{NjAr2gXGlxoWKpZ%L2>-VqgHz_P`(}Rg-pu>I znfcomRHYBam%<@oNV8zsu4hux&daL?8~2xz?rZp&PJNB2NOav0M00K75*=<4zDYx@ zg#;4;qZtm|mF5^;AOZK-AVW&{-q)3nX0dtrwX;$z=iEOYh zz+7f8YgY6`g&eSN!Ai`0&1?@6yI?m>p>5dZJ2YuwTKd%s$o3 zd{)${0``|dVvgDOnpw=MV5THdWA>Y71!i+#Ww1Ik$H;RpGOK|-0oGvlv}QK5I@luE zJhOGpoKw)V0rm{o31*Nd)6-?Yd9Y=$b)!yK{Qj=Lqnce6ss1D!4ytsf-OfhG?e-ai zIv4A-HRwmvKsCcbb2A)I;-N(sraR+Si8j@^ABQ7$HR-ayr(C+M;-I+^s{r`Qa5Rnl zIGpUaD%1_{sOD+JxO8EuWz#hkkKxv`==J@P0`H8}pxGTx7cXNLBgWP)YF7ePf6_Uum2D=2&}rUG_QE>h9$1*!=`L>{9X&-yM?GRwInIjpL-aHVK3tGtEL zZ)i=N$|&NXUCZd>zaD12jhmAQbbTWV`@5KuDEcQ+V^-0Wt_o_f#_2gy!KRw{VFaJr zf70qWCtp!{LAC~gy1g~Hw4WZUAF<{{?TxZ>!GB?<`yA)rxzQcon7rx7oWV@t(6es& z(Uga4dAz*r7&~?h(04eAke5d%*?V>ZHg2l^t_pa{4hr5KDHSZDw@C%)m%gWLL!U%T zhip_KZFm{bq@WVbNGE9dG=^`%34*gztwf3r#n%E3wZJMT<=dv&Q2h2Agr~Vd|CbvP uy(}UMoJ2f_KDI>1qre{+-x@t$2*hZD@~&`zl2oY1QII6s@i-PnIL^Po8A)US literal 0 HcmV?d00001 diff --git a/Source/PACK.OBJ b/Source/PACK.OBJ new file mode 100644 index 0000000000000000000000000000000000000000..e9da52c81df3c31c3696bfe55f190f7ce1ccc562 GIT binary patch literal 2547 zcmaKtZD?E98OQ(UzDZZFv7IcoD^e{}o5rl3?Y>6Tq*qs0iLflGzOqPYSZc|)jvLuB zl3bF}jU=R7THII0STc{PU;3f6P-q(3?L#RTI)>ROY|wUWA2te0*RhSR`_Qtg&vUPJ z2`%h?IQKc{_kUi_qjQhWjbhkLpRgxivotxV;3nP2wt*P5xR&$(2%O064&6o9@U7(_ic17pS zyY**&8o;R+aFZm`Yyn|eeB@aXSzIUU3=oyYdt@Ee5DSUV$T|kZ74fNO?NY>lm;wW; zkjOgq0}QI7&X$ZJRs6}LyH(L+OTix1jgkbu5fI;^HL~_N?-nzLPTfx)iuc{Q0`Zg*Nu6`A#=cA9Qxr(JI? zuW#e$TxXeX-CZz*t)Eb;iLt&xjH0}&|@5#x&G1WKj=o`M~E<=XGdwM_) zMH*E2&aT@J%DU!;n_QG-wbofJ&9r0@s-HT&v(v|1!Ao4k8JW^f{YcgWR0(hQdC%m{ zZuaBc^k`-J2)rRIGh>!-V8 zi2qmS?A*Yh;xcO9km8oa&7&_yC0?@mpCF!46zP_$L-^Vah$rcCitnRai0>iy9*a(} z$9_df`>)d7_x1Z3AF@x%_4%gf6Z;PP+@{FV=+zi*{NupCSUl#6Z}P0j2i=*-RigO@y2jqW}XVQ0@#+4rm)gqbov=fl&f% z>`kB?3o`@5!I^M5Mh0dM24*h<0B#K1_9!MD;UGq1G5C9}AsC||)y&wzy?II%31nZYl$ zoPm*n6>I_*BPW|rVp3|3p$Lp+BnM*|YcVo&IOpf)Cg!CWG5}o%WgAHZ{Qs}Q@c(}p Y&@t2oAT!y3n3I76XafX5>|kaD0FM?w>i_@% literal 0 HcmV?d00001 diff --git a/Source/STATS.FRM b/Source/STATS.FRM new file mode 100644 index 0000000000000000000000000000000000000000..00b6de51dbf7e51fe9ca08d57304506e31df4cd4 GIT binary patch literal 361 zcmeyv!N|bJu!8Y0BPRnR6Eh1ND+kwY1_;=~PzquwwI+i3L7EH4UhBvuv+GWb^dWagDtxMUWW z6y+-z=^5;0U|