Files
CydandClaude Fable 5 db7745fcd0 sda4: commit the Glaze developer hard-drive dump
Un-ignored: the dev drive is the ground truth the restoration and
emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer
source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio
content). Kept in-repo for the pod-owner community.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 19:41:15 -05:00

1095 lines
20 KiB
INI

####################################################################
# 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);
}