#################################################################### # Camera setup #################################################################### cameraInit { #-----screen configuration------------- configure( 0, sec, 0, 0x00ff, clut0,direct,campal.pcc ); offset = (345, 0); bgLine(ModeAlwaysActive, 0, (0,479), 0x03); offset = (346,212); bgLine(ModeAlwaysActive, 0, (293,0), 0x03); #-----secondary display---------------- port = sec; offset=(0,0); nav( A, ModeAlwaysActive, (344,479), 0x00,0x3C, MapRange,MapLinearPosition,MapAngularPosition ); offset = (346,479); ranking( P,ModeAlwaysActive, font32.pcc, 33,0x2D,0x0003 ); offset = (346,0); gps( Q,ModeAlwaysActive, (128,211),1.0 ); offset = (476,179); digitalClock( F,ModeAlwaysActive, (150,33), font32.pcc, 5,time, 0x00,0x2D ); } #################################################################### # VTV setup #################################################################### # "A" is normal common stuff. # "B" is basic mode # "D" is non-basic # "C" is config ################################## # lepton ################################## leptonInit { common_setup; su; } ################################## # dragon ################################## dragonInit { common_setup; sa; } ################################## # puck ################################## puckInit { common_setup; oneBoosterInit; laserFunkyInit; pa; } ################################## # speck ################################## speckInit { common_setup; twoBoosterInit; oneChuteInit; su; } ################################## # bug ################################## bugInit { common_setup; twoBoosterInit; oneChuteInit; su; } ################################## # flea ################################## fleaInit { common_setup; twoBoosterInit; oneChuteInit; demopack1AInit; sa; } ################################## # chigger ################################## chiggerInit { common_setup; twoBoosterInit; oneChuteInit; rivetInit; sa; } ################################## # skeeter ################################## skeeterInit { common_setup; twoBoosterInit; oneChuteInit; laserFunkyInit; sa; } ################################## # roach ################################## roachInit { common_setup; twoBoosterInit; oneChuteInit; rivet1AInit; rivet2BInit; sa; } ################################## # barge (uses same subsystems as mule) ################################## bargeInit { common_setup; twoBoosterInit; oneChuteInit; mu; } ################################## # mule ################################## muleInit { common_setup; twoBoosterInit; oneChuteInit; mu; } ################################## # broccoli ################################## broccoliInit { common_setup; threeBoosterInit; oneChuteInit; mu; } ################################## # vole ################################## voleInit { common_setup; twoBoosterInit; oneChuteInit; laserInit; ma; } ################################## # grunt ################################## gruntInit { common_setup; twoBoosterInit; oneChuteInit; rivetInit; ma; } ################################## # burro ################################## burroInit { common_setup; oneBoosterInit; oneChuteInit; mu; } ################################## # battlebarge ################################## bttlbrgInit { common_setup; twoBoosterInit; oneChuteInit; laserInit; demopack1BInit; ma; } ################################## # gator ################################## gatorInit { common_setup; twoBoosterInit; oneChuteInit; rivetInit; demopack1BInit; ma; } ################################## # bull ################################## bullInit { common_setup; twoBoosterInit; oneChuteInit; bu; } ################################## # tarantula ################################## tarntulaInit { common_setup; threeBoosterInit; oneChuteInit; bu; } ################################## # ripper ################################## ripperInit { common_setup; twoBoosterInit; oneChuteInit; demopack1AInit; ba; } ################################## # spitter ################################## spitterInit { common_setup; twoBoosterInit; oneChuteInit; rivet1AInit; rivet2BInit; ba; } ################################## # mantis ################################## mantisInit { common_setup; twoBoosterInit; oneChuteInit; laser1AInit; laser2BInit; ba; } ################################## # roadblock ################################## roadblkInit { common_setup; twoBoosterInit; oneChuteInit; rivetInit; laser1BInit; demopack1CInit; ba; } #################################################################### # PA (puck,armored)-based VTV's #################################################################### pa { offset=(162,86); bgPixelMap(ModeAlwaysActive, spa.pcc, 1); offset=(162,86); colorState( Q, ModeAlwaysActive, sdpa.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # SU (speck,unarmored)-based VTV's #################################################################### su { offset=(162,86); bgPixelMap(ModeAlwaysActive, ssu.pcc, 1); offset=(162,86); colorState( Q, ModeAlwaysActive, sdsu.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # SA (speck,armored)-based VTV's #################################################################### sa { offset=(162,86); bgPixelMap(ModeAlwaysActive, ssa.pcc, 1); offset=(162,86); colorState( Q, ModeAlwaysActive, sdsa.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # MU (mule,unarmored)-based VTV's #################################################################### mu { offset=(162,93); bgPixelMap(ModeAlwaysActive, smu.pcc, 1); offset=(162,93); colorState( Q, ModeAlwaysActive, sdmu.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # MA (mule,armored)-based VTV's #################################################################### ma { offset=(162,93); bgPixelMap(ModeAlwaysActive, sma.pcc, 1); offset=(162,93); colorState( Q, ModeAlwaysActive, sdma.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # BU (bull,unarmored)-based VTV's #################################################################### bu { offset=(162,93); bgPixelMap(ModeAlwaysActive, sbu.pcc, 1); offset=(162,93); colorState( Q, ModeAlwaysActive, sdbu.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # BA (bull,armored)-based VTV's #################################################################### ba { offset=(162,86); bgPixelMap(ModeAlwaysActive, sba.pcc, 1); offset=(162,86); colorState( Q, ModeAlwaysActive, sdba.pcc, 0x3A,0.2, 0x29,0.4, 0x38,0.6, 0x39,0.8, 0x31,0, DamageZones ); } #################################################################### # Common (VTV-independent) configuration #################################################################### common_setup { #-----screen configuration------------- configure( 0, sec, 270, 0x00ff, clut0,rgb,secpal.pcc ); configure( 6, auxUL2, 0, 0x2000, clut2,blank,NULL ); configure( 7, auxUR2, 0, 0x4000, clut2,blank,NULL ); configure( 1, auxUL, 0, 0x0100, clut2,blue,NULL ); configure( 2, auxUR, 0, 0x0200, clut2,red,NULL ); configure( 3, auxLR, 0, 0x0400, clut1,green,NULL ); configure( 4, auxLL, 0, 0x0800, clut1,red,NULL ); configure( 5, auxC, 0, 0x1000, clut2,green,NULL ); reconfigure(ModeBasic, 6,clut2,blank, NULL); reconfigure(ModeBasic, 1,clut2,blue, NULL); reconfigure(ModeBasic, 7,clut2,blank, NULL); reconfigure(ModeBasic, 2,clut2,red, NULL); reconfigure(ModeStandard,1,clut2,blank,NULL); reconfigure(ModeStandard,6,clut2,blue ,NULL); reconfigure(ModeStandard,2,clut2,blank,NULL); reconfigure(ModeStandard,7,clut2,red, NULL); externalConfigure( 8, plasma, 0xFF ); #-----secondary display---------------- port = sec; offset=( 0, 0); tags; offset=( 16,224); navGroup; offset=( 16, 0); statusGroup; offset=(239, 0); speedGroup; offset=(352, 0); compassGroup; offset=(239,112); msgGroup; #-----intercom auxiliary display------- port = auxC; offset = (128,400); ranking(V,ModeAlwaysActive,font32.pcc,40,255,0x0004); offset = (0,431); bgBitMap(ModeIntercom, strpcom1.pcc,1,255,0); offset = (0, 0); bgBitMap(ModeIntercom, strpcom2.pcc,1,255,0); #-----common auxiliary displays-------- port = auxLL; offset=(0, 45); bgBitMap(ModeAlwaysActive, cpictool.pcx,1,255,0); offset=(0,431); bgBitMap(ModeNonConfig,strptol1.pcc,1,255,0); bgBitMap(ModeConfigReady,strpset1.pcc,1,255,0); offset=(0, 0); bgBitMap(ModeNonConfig,strptol2.pcc,1,255,0); bgBitMap(ModeConfigReady,strpset2.pcc,1,255,0); port = auxLR; offset=(0, 45); bgBitMap(ModeAlwaysActive, cpictool.pcx,0,255,0); offset=(0,431); bgBitMap(ModeNonConfig,strptol1.pcc,1,255,0); bgBitMap(ModeConfigReady,strpset1.pcc,1,255,0); offset=(0, 0); bgBitMap(ModeNonConfig,strptol2.pcc,1,255,0); bgBitMap(ModeConfigReady,strpset2.pcc,1,255,0); #-----'basic' auxiliary displays-------- port=auxUR; offset=(0, 45); bgBitMap(ModeAlwaysActive, cpicjoyb.pcx,1,255,0); offset=(0,431); bgFilledRect(ModeAlwaysActive, (639,48),0x00); offset=(0, 0); bgBitMap(ModeAlwaysActive, strpcnf2.pcc,1,255,0); port=auxUL; offset=(0, 45); bgBitMap(ModeAlwaysActive,cpicthrt.pcx,1,255,0); offset=(0,431); bgFilledRect(ModeAlwaysActive,(639,48),0x00); offset=(0, 0); bgFilledRect(ModeAlwaysActive,(639,48),0x00); #-----'non-basic' auxiliary displays-------- port=auxUR2; offset=( 0, 45); bgBitMap(ModeAlwaysActive,cpiccnfg.pcx,1,255,0); offset=( 0,431); bgBitMap(ModeAlwaysActive,strpcnf1.pcc,1,255,0); offset=( 0, 0); bgBitMap(ModeAlwaysActive,strpcnf2.pcc,1,255,0); offset = (89,100); configMap( G,ModeStandard, cfgNone.pcc, cfgOther.pcc, cfgMe.pcc, cfgBoth.pcc ); port=auxUL2; offset=(0, 45); bgBitMap(ModeAlwaysActive,cpictool.pcx,1,255,0); offset=(0,431); bgBitMap(ModeNonConfig,strptol1.pcc,1,255,0); bgBitMap(ModeConfigReady,strpset1.pcc,1,255,0); offset=(0, 0); bgBitMap(ModeNonConfig,strptol2.pcc,1,255,0); bgBitMap(ModeConfigReady,strpset2.pcc,1,255,0); offset=( 22,240); bgBitMap(ModeAlwaysActive,rpalcut.pcc,0,255,0); offset=(327,240); bgBitMap(ModeAlwaysActive,rpaslip.pcc,0,255,0); offset=(327, 54); bgBitMap(ModeAlwaysActive,rpahorn.pcc,0,255,0); #-----common external displays-------- port = plasma; offset=(33,0); rankAndScore(L,ModeAlwaysActive,tinyfont.pcc,1,0); } ######################################################### # One chute ######################################################### oneChuteInit { oneChuteBG; port = auxLL; offset = (22, 54); chuteGauges; } oneChuteBG { port=auxLL; offset = (22, 54); bgBitMap(ModeAlwaysActive,rpachute.pcc,1,255,0); } chuteGauges { offset = (47, 13); numeric( E,ModeAlwaysActive, (78,45), bigfont.pcc, 2,unsigned,0x00,255, Chute/ChutesRemaining ); offset = (157,128); segmentarc( F,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, Chute/PercentDone ); } ######################################################### # One booster ######################################################### oneBoosterInit { oneBoosterBG; port = auxLL; offset = (22,240); boost1Gauge; } oneBoosterBG { port = auxLL; offset = (22,240); bgBitMap(ModeAlwaysActive,rpaboost.pcc,0,255,0); } ######################################################### # Two booster ######################################################### twoBoosterInit { twoBoosterBG; port = auxLL; offset = ( 22,240); boost1Gauge; offset = (327,240); boost2Gauge; } twoBoosterBG { port=auxLL; offset = ( 22,240); bgBitMap(ModeAlwaysActive,rpaboost.pcc,0,255,0); offset = (327,240); bgBitMap(ModeAlwaysActive,rpaboost.pcc,0,255,0); } ######################################################### # Three booster ######################################################### threeBoosterInit { threeBoosterBG; port = auxLL; offset = ( 22,240); boost1Gauge; offset = (327,240); boost2Gauge; offset = (327, 54); boost3Gauge; } threeBoosterBG { port=auxLL; offset = ( 22,240); bgBitMap(ModeAlwaysActive,rpaboost.pcc,0,255,0); offset = (327,240); bgBitMap(ModeAlwaysActive,rpaboost.pcc,0,255,0); offset = (327, 54); bgBitMap(ModeAlwaysActive,rpaboost.pcc,0,255,0); } ################################################### # Booster 1 ################################################### boost1Gauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (78,45), bigfont.pcc, 2,unsigned,0x00,255, Booster1/BoostersRemaining ); offset =(157,128); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, Booster1/PercentDone ); } ################################################### # Booster 2 ################################################### boost2Gauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (78,45), bigfont.pcc, 2,unsigned,0x00,255, Booster2/BoostersRemaining ); offset =(157,128); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, Booster2/PercentDone ); } ################################################### # Booster 3 ################################################### boost3Gauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (78,45), bigfont.pcc, 2,unsigned,0x00,255, Booster3/BoostersRemaining ); offset =(157,128); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, Booster3/PercentDone ); } ######################################################### # Lasers ######################################################### laserInit { port = auxLR; offset = (22,240); laserBG; laserGauge; } laserFunkyInit { port = auxLR; offset = (22,240); laserBG; laser2Gauge; } laser1AInit { port = auxLR; offset = (22,240); laserBG; laser1Gauge; } laser1BInit { port = auxLR; offset = (327,240); laserBG; laser1Gauge; } laser2BInit { port = auxLR; offset = (327,240); laserBG; laser2Gauge; } laserBG { bgBitMap(ModeAlwaysActive,rpalaser.pcc,0,255,0); } laserGauge { offset=(157,128); segmentarc( F,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, LaserGun/PercentDone ); } laser1Gauge { offset=(157,128); segmentarc( F,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, LaserGun1/PercentDone ); } laser2Gauge { offset=(157,128); segmentarc( F,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, LaserGun2/PercentDone ); } ################################################### # Rivet guns ################################################### rivetInit { port = auxLR; offset = (22,240); rivetBG; rivetGauge; } rivet1AInit { port = auxLR; offset = (22,240); rivetBG; rivet1Gauge; } rivet1BInit { port = auxLR; offset = (327,240); rivetBG; rivet1Gauge; } rivet2BInit { port = auxLR; offset = (327,240); rivetBG; rivet2Gauge; } rivetBG { bgBitMap(ModeAlwaysActive,rparivet.pcc,0,255,0); } rivetGauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (100,45), bigfont.pcc, 3,unsigned,0x00,255, RivetGun/AmmoCount ); offset = (157,133); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, RivetGun/PercentDone ); } rivet1Gauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (100,45), bigfont.pcc, 3,unsigned,0x00,255, RivetGun1/AmmoCount ); offset = (157,133); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, RivetGun1/PercentDone ); } rivet2Gauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (100,45), bigfont.pcc, 3,unsigned,0x00,255, RivetGun2/AmmoCount ); offset = (157,133); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, RivetGun2/PercentDone ); } ################################################### # demolition packs ################################################### demopack1AInit { port = auxLR; offset = (22,240); demopackBG; demopackGauge; } demopack1BInit { port = auxLR; offset = (327,240); demopackBG; demopackGauge; } demopack1CInit { port = auxLR; offset = (22,54); demopackBG; demopackGauge; } demopackBG { bgBitMap(ModeAlwaysActive,rpadpack.pcc,0,255,0); } demopackGauge { offset = (47, 13); numeric( D,ModeAlwaysActive, (100,45), bigfont.pcc, 2,unsigned,0x00,255, DemopackDropper/AmmoCount ); offset = (157,128); segmentarc( E,ModeAlwaysActive, 88,125, 88,125, 180,90,-18, 0x00,255, DemopackDropper/PercentDone ); } #################################################################### # Secondary groups #################################################################### tags { offset=(0, 525); bgBitMap(ModeAlwaysActive,butzmin.pcc,0,0x33,0); offset=(0, 420); bgBitMap(ModeAlwaysActive,butzmout.pcc,0,0x33,0); offset=(0, 210); bgBitMap(ModeAlwaysActive,buthorn.pcc,0,0x33,0); offset=(464,525); bgBitMap(ModeAlwaysActive,butpres1.pcc,0,0x33,0); offset=(464,420); bgBitMap(ModeAlwaysActive,butpres2.pcc,0,0x33,0); offset=(464,315); bgBitMap(ModeAlwaysActive,butpres3.pcc,0,0x33,0); offset=(464,210); bgBitMap(ModeAlwaysActive,butpres4.pcc,0,0x33,0); offset=(464,105); bgBitMap(ModeAlwaysActive,butpres5.pcc,0,0x33,0); offset=(464, 0); bgBitMap(ModeAlwaysActive,butpres6.pcc,0,0x33,0); } navGroup { offset = (0,0); nav( A,ModeAlwaysActive, (448,416), 0x00, 0x3C, NavigationRange, NavigationLinearPosition, NavigationAngularPosition ); } msgGroup { offset = (0,0); bgPixelMap(ModeAlwaysActive,rpsmb.pcc,0); offset = (40,8); messageBoard( G,ModeAlwaysActive, (128,96), smlfont.pcc, rpsmsgs.pcx, 0x00, 0x31 ); } statusGroup { offset = (0,0); bgPixelMap(ModeAlwaysActive,rpsgps.pcc,0); offset = (10,10); gps(R,ModeAlwaysActive,(125,203),1.0); offset = (146,194); digitalClock(I,ModeAlwaysActive, (67,20), clkfont.pcc,5,time,0x00,0x2D); } speedGroup { offset = (0,0); bgPixelMap(ModeAlwaysActive,rpsspd.pcc,0); offset = (5,29); pixelbar( D,ModeAlwaysActive, (99,12), rpsspdb.pcc, 0,right, 0,300, ForwardVelocity ); offset = (25,67); numeric( H,ModeAlwaysActive, (78,27), smlfont.pcc, 4,absolute,0x00,0x2D, ForwardVelocity ); offset = (25,47); twoState( E,ModeAlwaysActive, rpsrev.pcc, 0x00,0x31, ControlsMapper/ReverseThrust ); } compassGroup { offset = (0,0); bgPixelMap(ModeAlwaysActive,rpscmp.pcc,0); offset = (54,56); compass( A,ModeAlwaysActive, 45, 0x3B, rpscmpn.pcc, rpscmpw.pcc, rpscmps.pcc, rpscmpe.pcc, rpscmpb.pcc ); offset = (54,56); threat(C,ModeAlwaysActive,14,33,0x00,0x29,0x79,1000); }