Settings Structure
From ASSS Wiki
Revision as of 19:20, 29 July 2005 by Mine GO BOOM (talk | contribs) (Why was this here in the first place? Probably from original source)
The server sends most settings to its clients through the following structures.
struct ArenaSettings
Each client is sent this 1428-byte structure with the settings for its current arena. Note that it contains the ship and prizeweight structures.
- unsigned Version (8 bits)
- 0000 VIE:15
- unsigned ExactDamage (1 bits)
- 0001 Bullet:ExactDamage (Continuum .36+)
- unsigned HideFlags (1 bits)
- 0001 Spectator:HideFlags (Continuum .36+)
- unsigned NoXRadar (1 bits)
- 0001 Spectator:NoXRadar (Continuum .36+)
- unsigned pack0 (21 bits)
- 0001 (14)
- shipSettings ships[8]
- 0004 See shipSettings declaration...
- Uint32 BulletDamageLevel
- 1156 Bullet:BulletDamageLevel * 1000
- Uint32 BombDamageLevel
- 1160 Bomb:BombDamageLevel * 1000
- Uint32 BulletAliveTime
- 1164 Bullet:BulletAliveTime
- Uint32 BombAliveTime
- 1168 Bomb:BombAliveTime
- Uint32 DecoyAliveTime
- 1172 Misc:DecoyAliveTime
- Uint32 SafetyLimit
- 1176 Misc:SafetyLimit
- Uint32 FrequencyShift
- 1180 Misc:FrequencyShift
- Uint32 MaxFrequency
- 1184 Team:MaxFrequency
- Uint32 RepelSpeed
- 1188 Repel:RepelSpeed
- Uint32 MineAliveTime
- 1192 Mine:MineAliveTime
- Uint32 BurstDamageLevel
- 1196 Burst:BurstDamageLevel * 1000
- Uint32 BulletDamageUpgrade
- 1200 Bullet:BulletDamageUpgrade * 1000
- Uint32 FlagDropDelay
- 1204 Flag:FlagDropDelay
- Uint32 EnterGameFlaggingDelay
- 1208 Flag:EnterGameFlaggingDelay
- Uint32 RocketThrust
- 1212 Rocket:RocketThrust
- Uint32 RocketSpeed
- 1216 Rocket:RocketSpeed
- Uint32 InactiveShrapnelDamage
- 1220 Shrapnel:InactiveShrapDamage * 1000
- Uint32 WormholeSwitchTime
- 1224 Wormhole:SwitchTime
- Uint32 ActivateAppShutdownTime
- 1228 Misc:ActivateAppShutdownTime
- Uint32 ShrapnelSpeed
- 1232 Shrapnel:ShrapnelSpeed
- BYTE UNKNOWN0[16]
- 1236 ?
- Uint16 SendRoutePercent
- 1252 Latency:SendRoutePercent
- Uint16 BombExplodeDelay
- 1254 Bomb:BombExplodeDelay
- Uint16 SendPositionDelay
- 1256 Misc:SendPositionDelay
- Uint16 BombExplodePixels
- 1258 Bomb:BombExplodePixels
- Uint16 DeathPrizeTime
- 1260 Prize:DeathPrizeTime
- Uint16 JitterTime
- 1262 Bomb:JitterTime
- Uint16 EnterDelay
- 1264 Kill:EnterDelay
- Uint16 EngineShutdownTime
- 1266 Prize:EngineShutdownTime
- Uint16 ProximityDistance
- 1268 Bomb:ProximityDistance
- Uint16 BountyIncreaseForKill
- 1270 Kill:BountyIncreaseForKill
- Uint16 BounceFactor
- 1272 Misc:BounceFactor
- Uint16 MapZoomFactor
- 1274 Radar:MapZoomFactor
- Uint16 MaxBonus
- 1276 Kill:MaxBonus
- Uint16 MaxPenalty
- 1278 Kill:MaxPenalty
- Uint16 RewardBase
- 1280 Kill:RewardBase
- Uint16 RepelTime
- 1282 Repel:RepelTime
- Uint16 RepelDistance
- 1284 Repel:RepelDistance
- Uint16 HelpTickerDelay
- 1286 Misc:TickerDelay
- Uint16 FlaggerOnRadar
- 1288 Flag:FlaggerOnRadar
- Uint16 FlaggerKillMultiplier
- 1290 Flag:FlaggerKillMultiplier
- Uint16 PrizeFactor
- 1292 Prize:PrizeFactor
- Uint16 PrizeDelay
- 1294 Prize:PrizeDelay
- Uint16 PrizeMinimumVirtual
- 1296 Prize:MinimumVirtual
- Uint16 PrizeUpgradeVirtual
- 1298 Prize:UpgradeVirtual
- Uint16 PrizeMaxExist
- 1300 Prize:PrizeMaxExist
- Uint16 PrizeMinExist
- 1302 Prize:PrizeMinExist
- Uint16 PrizeNegativeFactor
- 1304 Prize:PrizeNegativeFactor
- Uint16 DoorDelay
- 1306 Door:DoorDelay
- Uint16 AntiwarpPixels
- 1308 Toggle:AntiWarpPixels
- Sint16 DoorMode
- 1310 Door:DoorMode
- Uint16 FlagBlankDelay
- 1312 Flag:FlagBlankDelay
- Uint16 NoDataFlagDropDelay
- 1314 Flag:NoDataFlagDropDelay
- Uint16 MultiPrizeCount
- 1316 Prize:MultiPrizeCount
- Uint16 BrickTime
- 1318 Brick:BrickTime
- Uint16 WarpRadiusLimit
- 1320 Misc:WarpRadiusLimit
- Uint16 EBombShutdownTime
- 1322 Bomb:EBombShutdownTime
- Uint16 EBombDamagePercent
- 1324 Bomb:EBombDamagePercent
- Uint16 RadarNeutralSize
- 1326 Radar:RadarNeutralSize
- Uint16 WarpPointDelay
- 1328 Misc:WarpPointDelay
- Uint16 NearDeathLevel
- 1330 Misc:NearDeathLevel
- Uint16 BBombDamagePercent
- 1332 Bomb:BBombDamagePercent
- Uint16 ShrapnelDamagePercent
- 1334 Shrapnel:ShrapnelDamagePercent
- Uint16 ClientSlowPacketTime
- 1336 Latency:ClientSlowPacketTime
- Uint16 FlagDropResetReward
- 1338 Flag:FlagDropResetReward
- Uint16 FlaggerFireCostPercent
- 1340 Flag:FlaggerFireCostPercent
- Uint16 FlaggerDamagePercent
- 1342 Flag:FlaggerDamagePercent
- Uint16 FlaggerBombFireDelay
- 1344 Flag:FlaggerBombFireDelay
- Uint16 SoccerPassDelay
- 1346 Soccer:PassDelay
- Uint16 SoccerBallBlankDelay
- 1348 Soccer:BallBlankDelay
- Uint16 S2CNoDataKickoutDelay
- 1350 Latency:S2CNoDataKickoutDelay
- Uint16 FlaggerThrustAdjustment
- 1352 Flag:FlaggerThrustAdjustment
- Uint16 FlaggerSpeedAdjustment
- 1354 Flag:FlaggerSpeedAdjustment
- Uint16 CliSlowPacketSampleSize
- 1356 Latency:ClientSlowPacketSampleSize
- BYTE UNKNOWN1[10]
- 1358 ?
- BYTE RandomShrapnel
- 1368 Shrapnel:Random
- BYTE SoccerBallBounce
- 1369 Soccer:BallBounce
- BYTE SoccerAllowBombs
- 1370 Soccer:AllowBombs
- BYTE SoccerAllowGuns
- 1371 Soccer:AllowGuns
- BYTE SoccerMode
- 1372 Soccer:Mode
- BYTE MaxPerTeam
- 1373 Team:MaxPerTeam
- BYTE MaxPerPrivateTeam
- 1374 Team:MaxPerPrivateTeam
- BYTE TeamMaxMines
- 1375 Mine:TeamMaxMines
- BYTE WormholeGravityBombs
- 1376 Wormhole:GravityBombs
- BYTE BombSafety
- 1377 Bomb:BombSafety
- BYTE MessageReliable
- 1378 Message:MessageReliable
- BYTE TakePrizeReliable
- 1379 Prize:TakePrizeReliable
- BYTE AllowAudioMessages
- 1380 Message:AllowAudioMessages
- BYTE PrizeHideCount
- 1381 Prize:PrizeHideCount
- BYTE ExtraPositionData
- 1382 Misc:ExtraPositionData
- BYTE SlowFrameCheck
- 1383 Misc:SlowFrameCheck
- BYTE CarryFlags
- 1384 Flag:CarryFlags
- BYTE AllowSavedShip
- 1385 Misc:AllowSavedShips
- BYTE RadarMode
- 1386 Radar:RadarMode
- BYTE VictoryMusic
- 1387 Misc:VictoryMusic
- BYTE FlaggerGunUpgrade
- 1388 Flag:FlaggerGunUpgrade
- BYTE FlaggerBombUpgrade
- 1389 Flag:FlaggerBombUpgrade
- BYTE SoccerUseFlagger
- 1390 Soccer:UseFlagger
- BYTE SoccerBallLocation
- 1391 Soccer:BallLocation
- BYTE UNKNOWN2[8]
- 1392 ?
- prizeSettings pw
- 1400 See below prizeweight structure.
struct ShipSettings
Each ship's settings are sent in a copy of this 144-byte structure (offsets are for warbird):
- Uint16 SuperTime
- 0004 All:SuperTime
- Uint16 UNKNOWN0
- 0006 (100) Salt for actual super time?
- Uint16 ShieldsTime
- 0008 All:ShieldsTime
- Uint16 UNKNOWN1
- 0010 (30) Salt for actual shields time?
- Uint16 Gravity
- 0012 All:Gravity
- Uint16 GravityTopSpeed
- 0014 All:GravityTopSpeed
- Uint16 BulletFireEnergy
- 0016 All:BulletFireEnergy
- Uint16 MultiFireEnergy
- 0018 All:MultiFireEnergy
- Uint16 BombFireEnergy
- 0020 All:BombFireEnergy
- Uint16 BombFireEnergyUpgrade
- 0022 All:BombFireEnergyUpgrade
- Uint16 MineFireEnergy
- 0024 All:LandmineFireEnergy
- Uint16 MineFireEnergyUpgrade
- 0026 All:LandmineFireEnergyUpgrade
- Uint16 BulletSpeed
- 0028 All:BulletSpeed
- Uint16 BombSpeed
- 0030 All:BombSpeed
- unsigned SeeBombLevel (2 bits)
- 0032 All:SeeBombLevel (Continuum .36+)
- unsigned DisableFastBombs (1 bits)
- 0032 All:DisableFastShooting (Continuum .36+)
- unsigned Radius (7 bits)
- 0032 All:Radius (Continuum .37+)
- unsigned pack0 (6 bits)
- 0033 Unused
- unsigned MultiFireAngle (16 bits)
- 0034 All:MultiFireAngle
- Uint16 CloakEnergy
- 0036 All:CloakEnergy
- Uint16 StealthEnergy
- 0038 All:StealthEnergy
- Uint16 AntiWarpEnergy
- 0040 All:AntiWarpEnergy
- Uint16 XRadarEnergy
- 0042 All:XRadarEnergy
- Uint16 MaximumRotation
- 0044 All:MaximumRotation
- Uint16 MaximumThrust
- 0046 All:MaximumThrust
- Uint16 MaximumSpeed
- 0048 All:MaximumSpeed
- Uint16 MaximumRecharge
- 0050 All:MaximumRecharge
- Uint16 MaximumEnergy
- 0052 All:MaximumEnergy
- Uint16 InitialRotation
- 0054 All:InitialRotation
- Uint16 InitialThrust
- 0056 All:InitialThrust
- Uint16 InitialSpeed
- 0058 All:InitialSpeed
- Uint16 InitialRecharge
- 0060 All:InitialRecharge
- Uint16 InitialEnergy
- 0062 All:InitialEnergy
- Uint16 UpgradeRotation
- 0064 All:UpgradeRotation
- Uint16 UpgradeThrust
- 0066 All:UpgradeThrust
- Uint16 UpgradeSpeed
- 0068 All:UpgradeSpeed
- Uint16 UpgradeRecharge
- 0070 All:UpgradeRecharge
- Uint16 UpgradeEnergy
- 0072 All:UpgradeEnergy
- Uint16 AfterburnerEnergy
- 0074 All:AfterburnerEnergy
- Uint16 BombThrust
- 0076 All:BombThrust
- Uint16 BurstSpeed
- 0078 All:BurstSpeed
- Uint16 TurretThrustPenalty
- 0080 All:TurretThrustPenalty
- Uint16 TurretSpeedPenalty
- 0082 All:TurretSpeedPenalty
- Uint16 BulletFireDelay
- 0084 All:BulletFireDelay
- Uint16 MultiFireDelay
- 0086 All:MultiFireDelay
- Uint16 BombFireDelay
- 0088 All:BombFireDelay
- Uint16 LandmineFireDelay
- 0090 All:LandmineFireDelay
- Uint16 RocketTime
- 0092 All:RocketTime
- Uint16 InitialBounty
- 0094 All:InitialBounty
- Uint16 DamageFactor
- 0096 All:DamageFactor
- Uint16 PrizeShareLimit
- 0098 All:PrizeShareLimit
- Uint16 AttachBounty
- 0100 All:AttachBounty
- Uint16 SoccerThrowTime
- 0102 All:SoccerThrowTime
- Uint16 SoccerBallFriction
- 0104 All:SoccerBallFriction
- Uint16 SoccerBallProximity
- 0106 All:SoccerBallProximity
- Uint16 SoccerBallSpeed
- 0108 All:SoccerBallSpeed
- BYTE TurretLimit
- 0110 All:TurretLimit
- BYTE BurstShrapnel
- 0111 All:BurstShrapnel
- BYTE MaxMines
- 0112 All:MaxMines
- BYTE RepelMax
- 0113 All:RepelMax
- BYTE BurstMax
- 0114 All:BurstMax
- BYTE DecoyMax
- 0115 All:DecoyMax
- BYTE ThorMax
- 0116 All:ThorMax
- BYTE BrickMax
- 0117 All:BrickMax
- BYTE RocketMax
- 0118 All:RocketMax
- BYTE PortalMax
- 0119 All:PortalMax
- BYTE InitialRepel
- 0120 All:InitialRepel
- BYTE InitialBurst
- 0121 All:InitialBurst
- BYTE InitialBrick
- 0122 All:InitialBrick
- BYTE InitialRocket
- 0123 All:InitialRocket
- BYTE InitialThor
- 0124 All:InitialThor
- BYTE InitialDecoy
- 0125 All:InitialDecoy
- BYTE InitialPortal
- 0126 All:InitialPortal
- BYTE BombBounceCount
- 0127 All:BombBounceCount
- unsigned ShrapnelMax (5 bits)
- 0128 All:ShrapnelMax
- unsigned ShrapnelRate (5 bits)
- 0128 All:ShrapnelRate
- unsigned CloakStatus (2 bits)
- 0129 All:CloakStatus
- unsigned StealthStatus (2 bits)
- 0129 All:StealthStatus
- unsigned XRadarStatus (2 bits)
- 0129 All:XRadarStatus
- unsigned AntiwarpStatus (2 bits)
- 0130 All:AntiWarpStatus
- unsigned InitialGuns (2 bits)
- 0130 All:InitialGuns
- unsigned MaxGuns (2 bits)
- 0130 All:MaxGuns
- unsigned InitialBombs (2 bits)
- 0130 All:InitialBombs
- unsigned MaxBombs (2 bits)
- 0131 All:MaxBombs
- unsigned DoubleBarrel (1 bits)
- 0131 All:DoubleBarrel
- unsigned EmpBomb (1 bits)
- 0131 All:EmpBomb
- unsigned SeeMines (1 bits)
- 0131 All:SeeMines
- unsigned UNKNOWN2 (3 bits)
- 0131 ?
- BYTE UNKNOWN3[16]
- 0132 ?
struct PrizeSettings
Prizeweights are actually handled as an array by SubSpace/Subgame, but the following 28-byte structure represents an, in some respects, better way:
- BYTE Recharge
- 1400 PrizeWeight:QuickCharge
- BYTE Energy
- 1401 PrizeWeight:Energy
- BYTE Rotation
- 1402 PrizeWeight:Rotation
- BYTE Stealth
- 1403 PrizeWeight:Stealth
- BYTE Cloak
- 1404 PrizeWeight:Cloak
- BYTE XRadar
- 1405 PrizeWeight:XRadar
- BYTE Warp
- 1406 PrizeWeight:Warp
- BYTE Gun
- 1407 PrizeWeight:Gun
- BYTE Bomb
- 1408 PrizeWeight:Bomb
- BYTE BouncingBullets
- 1409 PrizeWeight:BouncingBullets
- BYTE Thruster
- 1410 PrizeWeight:Thruster
- BYTE TopSpeed
- 1411 PrizeWeight:TopSpeed
- BYTE QuickCharge
- 1412 PrizeWeight:Recharge
- BYTE Glue
- 1413 PrizeWeight:Glue
- BYTE MultiFire
- 1414 PrizeWeight:MultiFire
- BYTE Proximity
- 1415 PrizeWeight:Proximity
- BYTE AllWeapons
- 1416 PrizeWeight:AllWeapons
- BYTE Shields
- 1417 PrizeWeight:Shields
- BYTE Shrapnel
- 1418 PrizeWeight:Shrapnel
- BYTE AntiWarp
- 1419 PrizeWeight:AntiWarp
- BYTE Repel
- 1420 PrizeWeight:Repel
- BYTE Burst
- 1421 PrizeWeight:Burst
- BYTE Decoy
- 1422 PrizeWeight:Decoy
- BYTE Thor
- 1423 PrizeWeight:Thor
- BYTE MultiPrize
- 1424 PrizeWeight:MultiPrize
- BYTE Brick
- 1425 PrizeWeight:Brick
- BYTE Rocket
- 1426 PrizeWeight:Rocket
- BYTE Portal
- 1427 PrizeWeight:Portal