Star Mario in this room you have a pile of apple pies
Level: 163
Posts: 1032/9019
EXP: 56213837
Next: 273807
Since: 07-03-12
From: in a box
Last post: 6 days ago
Last view: 1 day ago
First thing you do is open them in a hex editor.
If the data is all gibberish, the file is encrypted, but that's unlikely.
If the data contains some plaintext bits at the beginning but is gibberish at the end, it's compressed. You'll have to figure out how to decompress it.
Once you got all the plain data, first thing you can do is trying to identify data patterns, pointers and all.
Normal character files for Battle for Bikini Bottom are stored as RenderWare .dff models (see here http://www.spriters-resource.com/community/showthread.php?tid=20770). SDF may be a compressed version of this. If it is compressed it probably uses some variant of the LZW algorithm. It may also be some format used by the RenderWare engine.
# Can the player get hurt ? 1 == YES, 0 == NO
G.TakeDamage = 1
# Delay timers on taking damage before you can take damage again
G.DamageTimeHit = 1.5
G.DamageTimeSurface = 1.5
G.DamageTimeEGen = 1.5
G.DamageSurfKnock = 1.75 # Must be non-zero
G.DamageGiveHealthKnock = 1.75 # Zero to disable knockback by default
# Cheats enabled?
G.CheatSpongeball = 0
G.CheatPlayerSwitch = 0
# Can I always portal with the pause menu? 1 == YES, 0 == NO
G.CheatAlwaysPortal = 0
G.CheatFlyToggle = 0
G.DisableForceConversation = 0
# Play music? 1 == YES, 0 == NO
NoMusic=0
# Report SFX sizes?
SFXReport=0
#-----------------------------------------------------------------
# Global powerups -- can be given in game with the following
# events (sent to player or dispatcher):
# Give PowerUp 0 = BubbleBowl
# Give PowerUp 1 = CruiseBubble
#
G.BubbleBowl = 0
G.CruiseBubble = 0
# Frame rate clamping
# set to 0 for 60/50 fps, 2 for 30/25 fps, etc.
minVSyncCnt = 0
## Profiling options:
# '1'
# '2'
# - function level profiling
# '3'
# - assembly level profiling for specified routines
# - For each of the following ProfFunc* use the full name of the
# function/method to profile. (eg, hot spots identified by profile level 2)
# - NOTE: 'X' and 'Circle' buttons are reserved in profiler mode
# - ALSO: Debug controller 'Start' resets profile tracking
#-----------------------------------------------------------------
# Camera system parameters
zcam_pad_pyaw_scale = 0.18; # bigger number => faster yaw rotation about player
zcam_pad_pitch_scale = 0.77; # bigger number => faster look up/down
# near position:
zcam_near_d = 3 # distance (relative to player)
zcam_near_h = 1.8 # height (relative to player)
zcam_near_pitch = 10 # pitch in degrees
# far position:
zcam_far_d = 5 # distance (relative to player)
zcam_far_h = 3 # height (relative to player)
zcam_far_pitch = 15 # pitch in degrees
# zoomed in, above-looking-down position:
zcam_above_d = 0.3 # distance (relative to player)
zcam_above_h = 2.4 # height (relative to player)
zcam_above_pitch = 68 # pitch in degrees
# zoomed in, below-looking-up position:
zcam_below_d = 0.65 # distance (relative to player)
zcam_below_h = 0.2 # height (relative to player)
zcam_below_pitch = -68 # pitch in degrees
# high bounce camera
zcam_highbounce_d = 0.2 # distance (relative to player)
zcam_highbounce_h = 5.0 # height (relative to player)
zcam_highbounce_pitch = 75 # pitch in degrees
# Wall jump camera
zcam_wall_d = 7.5 # distance (relative to player)
zcam_wall_h = 2.0 # height (relative to player)
zcam_wall_pitch = 18 # pitch in degrees
# camera collision parameters
xcam_collis_radius = 0.4; # bigger number (not > 0.5 please) should keep sb in frame better.
xcam_collis_stiffness = 0.3; # bigger number (keep it between 0 and 1) moves quicker in response.
# "smart" camera rotation parameters (camera "over-rotates" to
# get around behind player when he's running sideways or backwards)
zcam_overrot_min = 25 # angle at which rotation adjustment starts (0 degrees = forward)
zcam_overrot_mid = 90 # angle at which rotation adjustment peaks
zcam_overrot_max = 170 # angle at which rotation adjustment goes back to zero (180=straight back)
zcam_overrot_rate = 0.1 # rotation speed factor -- keep this small, set to zero to disable
zcam_overrot_tstart = 1.5 # time where rotation starts while holding down stick
zcam_overrot_tend = 2.5 # time where rotation peaks while holding down stick
zcam_overrot_velmin = 3.0 # minimum velocity to cause rotation to adjust
zcam_overrot_velmax = 5.0 # maximum velocity to cause rotation to adjust
zcam_overrot_tmanual = 1.5 # extra time rotation is disabled when manual camera controls used
#--------------------------------------------------------------------------------
# Skip times (when player can use button press to skip something)
#--------------------------------------------------------------------------------
gSkipTimeCutscene = 1.0 # Minimum of 1.0 allowed
gSkipTimeFlythrough = 1.0
#-----------------------------------------------------------------
# Tuning values for player character:
# Anything with a "G" prefix is a global setting (affects all
# characters). The other character prefixes are "SB", "Sandy",
# and "Patrick".
#
G.AnalogMin = 32
G.AnalogMax = 110
#-----------------------------------------------------------------
# Shiny Object Values for Combos
G.ShinyValueCombo0 = 0 # These first two should be the same
G.ShinyValueCombo1 = 0
G.ShinyValueCombo2 = 2
G.ShinyValueCombo3 = 3 # These two should be the same as well
G.ShinyValueCombo4 = 3 # because they use the same textbox
G.ShinyValueCombo5 = 5
G.ShinyValueCombo6 = 10
G.ShinyValueCombo7 = 15
G.ShinyValueCombo8 = 20
G.ShinyValueCombo9 = 25
G.ShinyValueCombo10 = 30
G.ShinyValueCombo11 = 40
G.ShinyValueCombo12 = 50
G.ShinyValueCombo13 = 60
G.ShinyValueCombo14 = 75
G.ShinyValueCombo15 = 100
G.ComboTimer = 1.0
#-----------------------------------------------------------------
# Bubble Bash parameters:
# Time is time to peak height (from launch), Delay is time before launch happens,
# CVTime is duration of constant-velocity period, before gravity sets in.
# As far as the animation goes, the transition to "Attack" animation
# occurs as soon as "Start" animation finishes. transition to "Strike"
# occurs when contact is detected, otherwise transitions to normal fall when
# peak height is reached.
#
G.BBashTime = 0.315 # JPH: increased from 0.3 to compensate for code change
G.BBashDelay = 0.25
G.BBashCVTime = 0.215 # JPH: increased from 0.2 to compensate for code change
G.BBashHeight = 3.3 # JPH: increased from 3 to compensate for code change
G.BBounceSpeed = 15
G.BSpinMinFrame = 0
G.BSpinMaxFrame = 11
# The radius of the damage ball at the center of the bubble wand
G.BSpinRadius = 0.4
#-----------------------------------------------------------------
# Track-sliding parameters:
# - Slide acceleration scales from AccelStart down to AccelEnd as velocity
# (in direction of slope) increases from AccelVelMin to AccelVelMax.
# - velocity is directly boosted by a combination of AccelPlayerFwd and
# AccelPlayerSide based on how much the player points the stick
# in the downward direction.
# - max speed increases from VelMaxStart to VelMaxEnd over
# VelMaxIncTime, as long as actual speed stays >= max speed.
# if speed falls below max speed, timer resets.
# - air speed stays constant for AirHoldTime,
# then drops to zero over AirSlowTime.
# - that was the intention anyway... whats really happening now
# is that normal air controls blend ON over AirHoldTime period,
# with speed held constant, then
# velocity blends OFF over subsequent AirSlowTime period.
# (seems to work okay, but give us your thoughts.)
# - same thing for the AirDbl*Time parameters, except these
# apply to the double jump when sliding.
# - VelDblBoost is boost to velocity applied on double jump,
# in current direction (but not uphill).
#
# Recommendations for tweaking:
# - AccelStart/End = increase to reduce time to accelerate from 0 - 11 m/s without stick control
# - AccelPlayerFwd = increase to reduce time to accelerate from 0 - 11 m/s with stick pressed forward
# - AccelPlayerBack = increase to reduce time to decelerate
# - AccelPlayerSide = increase to improve turning
# - VelMaxIncTime = reduce to reduce time to accelerate from 11 - 16 m/s without stick control
# - VelMaxIncAccel = increase to reduce time to accelerate from 11 - 16 m/s with stick pressed forward
#
G.SlideAccelVelMin = 5
G.SlideAccelVelMax = 10
G.SlideAccelStart = 8 # Higher value reduces time from 0 - 11 m/s
G.SlideAccelEnd = 3
G.SlideAccelPlayerFwd = 5
G.SlideAccelPlayerBack = 8
G.SlideAccelPlayerSide = 22.5
G.SlideVelMaxStart = 11
G.SlideVelMaxEnd = 16
G.SlideVelMaxIncTime = 4
G.SlideVelMaxIncAccel = 1
G.SlideAirHoldTime = 3
G.SlideAirSlowTime = .75
G.SlideAirDblHoldTime = 2
G.SlideAirDblSlowTime = .5
G.SlideVelDblBoost = 6
#
#G.SlideAirHoldTime = 0.75
#G.SlideAirSlowTime = 3.0
#G.SlideAirDblHoldTime = 0.5
#G.SlideAirDblSlowTime = 2.0
#G.SlideVelDblBoost = 6
#---------------------------------------------------------
# StartSlideAngle - Degrees of slope that scooby starts sliding on
# StopSlideAngle - Degrees of slope that scooby stops sliding on
# ... should be less than StartSlideAngle
#
G.StartSlideAngle = 20
G.StopSlideAngle = 10
#---------------------------------------------------------
# RotMatchMaxAngle - Max degrees of slope that scooby will match
# his orientation to
# RotMatchMatchTime - Time (in seconds) it takes scooby to match the slope
# RotMatchRelaxTime - Time (in seconds) it takes scooby to relax to
# normal orientation (eg while in air)
#
G.RotMatchMaxAngle = 30
G.RotMatchMatchTime = 0.1
G.RotMatchRelaxTime = 0.3
# Gravity for all characters
G.Gravity = 30
#---------------------------------------------------------
# Patrick Pickup / Carry / Throw settings
#
Carry.MinDist = 0.675 # Min dist to detect item to pick up
Carry.MaxDist = 1.900 # Max dist to detect item to pick up
Carry.MinHeight = -0.2 # Min height to detect item
Carry.MaxHeight = 0.4 # Max height to detect item
Carry.MaxCosAngle = 45.0 # Angle to detect item to pick up
Carry.ThrowMinDist = 1.5 # Min distance to autotarget for throwing
Carry.ThrowMaxDist = 12.0 # Max distance to autotarget for throwing
Carry.ThrowMinHeight = -3.0 # Min height to autotarget for throwing
Carry.ThrowMaxHeight = 5.0 # Max height to autotarget for throwing
Carry.ThrowMaxStack = 2.75 # Max height fruit can be stacked
Carry.ThrowMaxCosAngle = 25.0 # Angle to autotarget
Carry.GrabLerpMin = 0.0 # First interpolation frame for pickup animation
Carry.GrabLerpMax = 0.2 # Last interpolation frame for pickup animation
#---------------------------------------------------------
# Global settings for throwable objects--note that these
# are settings from where patrick actually releases the
# object in the animation--so the actual height and distance
# is somewhat higher. You'll have to fiddle with it...
# Note that throw gravity is currently the same as normal
# gravity in the scene, it could be changed though...
#
Carry.ThrowGravity = 50.0
Carry.ThrowHeight = 3.0
Carry.ThrowDistance = 10.0
#---------------------------------------------------------
# Fruit bounciness settings. The first two numbers are velocity
# values over which the bounciness is decayed over time on the floor
# (to make the fruit settle with fewer bounces). In other words, if the
# fruit is moving 6.0 m/s (MAX) or more, it will bounce at the values shown.
# As the velocity drops to 0.3 m/s (MIN), it will decay to zero--once it
# reaches zero, the object stops its motion and comes to rest.
#
# Higher bounce values = more bounciness.
# 1 == perfect reflection
# 0 == no reflection
#
# Higher friction values = less friction (I know, it seems kinda backwards):
# 1 == frictionless (object will slide forever)
# 0 == infinite friction (object stops on a dime)
#
# Note that off ceilings and walls, there is no friction. If you wanted to
# change the fruit so that it bounces "in place" where it first lands, you
# could set the FruitFloorFriction to "0". This might make puzzles where
# you have to transport objects across gaps easier.
#
Carry.FruitFloorDecayMin = 0.3
Carry.FruitFloorDecayMax = 6.0
Carry.FruitFloorBounce = 0.15
Carry.FruitFloorFriction = 0.4
Carry.FruitCeilingBounce = 0.1
Carry.FruitWallBounce = 0.5
# Fruit lifetime in seconds. Note that it takes around 0.75 seconds to pickup
# and 0.75 seconds to throw for Patrick (with current animations which have
# been accelerated somewhat).
#
Carry.FruitLifetime = 15.0
# Special moves for the characters
eSPECIAL_Slippers = 0 # First sneak
eSPECIAL_LampShade = 0 # First disguise
eSPECIAL_Spring = 1 # Double jump
eSPECIAL_FootballHelmet = 0 # Headbutt
eSPECIAL_StickyBoots = 0 # Anti-sticky boots
eSPECIAL_LightningBolt = 1 # Buttsmash
eSPECIAL_LightningBoltStun = 0 # Buttsmash Stun
eSPECIAL_Plungers = 0 # Anti-slippery
eSPECIAL_Shovel = 0 # Dig powerup
eSPECIAL_Umbrella = 0 # Floating
eSPECIAL_BubbleGum = 0 # Spits wads of sticky/bouncy gum
eSPECIAL_SoapBar = 0 # Spits soap bubbles
eSPECIAL_BlackKnight = 0 # Second disguise
eSPECIAL_FlowerPot = 0 # Are these last two being used?
eSPECIAL_DivingHelmet = 0 # Last disguise (that you don't use?)
#--------------------------------------------------------------------------------
# SPONGEBOB SETTINGS
#--------------------------------------------------------------------------------
# Speed values for character. First value is minimum speed character can move,
# any less than that and character turns in place. First to second is the walking
# range, second to third is running range. The last 3 numbers are the
# corresponding stick deflections for those speeds.
#
# Anim speed values, first value is nominal movement speed of animation
# assuming animation playing at normal speed. The next two values are
# the minimum and maximum allowable speed the animation will play at.
#
SB.AnimSneak = 1, .6, 4
SB.AnimWalk = 1, .6, 4
SB.AnimRun = 4.0, .5, 1.5
# Ledge hanging parameters
# animGrab = time in animation (in frames) to where character is in contact with ledge
# (time for interpolation from airborne position to grabbing position)
SB.Ledge.animGrab = 3
# Dampening factor for xz and y velocity while spinning. The higher this is, the less SB can
# move when spinning.
SB.spin_damp_xz = 15.0
SB.spin_damp_y = 15.0
# Model ordering indices for SB. Change these whenever the exporter chooses a different random order.
SB.model_index.body = 1 #0
SB.model_index.arm_l = 2 #1
SB.model_index.arm_r = 3 #2
SB.model_index.ass = 4 #3
SB.model_index.underwear = 5 #4
SB.model_index.wand = 0 #5
SB.model_index.tongue = 6
SB.model_index.bubble_helmet = 7
SB.model_index.bubble_shoe_l = 8
SB.model_index.bubble_shoe_r = 9
SB.model_index.shadow_body = 10
SB.model_index.shadow_arm_l = 11
SB.model_index.shadow_arm_r = 12
SB.model_index.shadow_wand = 13
#--------------------------------------------------------------------------------
# CRUISE BUBBLE SETTINGS
#--------------------------------------------------------------------------------
##################################################################
# Variables affecting the aiming state.
##################################################################
# Distance of camera from player.
SB.cb.aim.dist = 2.0
# Height of camera above player.
SB.cb.aim.height = 1.5
# Vertical pitch of the camera, -90 to 90 degrees.
SB.cb.aim.pitch = 0.0
# Speed of the camera movement around center.
SB.cb.aim.speed = 1.0
# Time required to move between two positions.
SB.cb.aim.move_time = 1.0
##################################################################
# Variables affecting the camera attachment state.
##################################################################
# Time to wait before moving the camera to the launch position. *Incomplete
SB.cb.attach.wait_time = 1.0
# Location relative to player to start the launch. *Incomplete.
SB.cb.attach.offset.x = 1.0
SB.cb.attach.offset.y = 2.0
SB.cb.attach.offset.z = 0.0
##################################################################
# Parameters affecting the missle while flying.
##################################################################
# Missle acceleration.
SB.cb.fly.accel = 6.0
# Max missle velocity.
SB.cb.fly.max_vel = 12.0
# Field-of-view angle while flying.
SB.cb.fly.fov = 100.0
# Maximum time the missle can be in the air.
SB.cb.fly.live_time = 6.0
##################################################################
# Rotational flying parameters.
##################################################################
# Horizontal turn speed.
SB.cb.fly.turn.xdelta = 5.0
# Vertical turn speed.
SB.cb.fly.turn.ydelta = 4.0
# Speed at which horizontal rotation decays. 0 to 1. A value of 0 never
# stops turning, and a value of 1 stops immediately.
SB.cb.fly.turn.xdecay = 0.99
# Speed at which vertical rotation decays. 0 to 1. A value of 0 never
# stops turning, and a value of 1 stops immediately.
SB.cb.fly.turn.ydecay = 0.99
# The vertical rotation boundary. 0 to 1. A value of 0 allows no
# vertical rotation, and a value of 1 allows completely vertical rotation.
SB.cb.fly.turn.ybound = 0.6
# The fraction of turn speed applied to roll. A positive value rolls into
# the turn, a negative value rolls out of the turn, and a 0 value does not
# roll at all.
SB.cb.fly.turn.roll_frac = 0.2
##################################################################
# Parameters affecting collision distance.
##################################################################
# Minimum distance to hit a non-enemy, non-environment object.
SB.cb.fly.hit_dist.object = 0.2
# Minimum distance to hit an enemy.
SB.cb.fly.hit_dist.enemy = 0.2
# Minimum distance to hit the environment.
SB.cb.fly.hit_dist.env = 0.2
##################################################################
# Parameters affecting the explosion state.
##################################################################
# Delay before returning to player after explosion. *Incomplete.
SB.cb.explode.wait_time = 1.0
#--------------------------------------------------------------------------------
# PATRICK SETTINGS
#--------------------------------------------------------------------------------
# Speed values for character. First value is minimum speed character can move,
# any less than that and character turns in place. First to second is the walking
# range, second to third is running range. The last 3 numbers are the
# corresponding stick deflections for those speeds.
#
Patrick.MoveSpeed = 0.6,2.5,5, 0.1,0.6,1.0
# Anim speed values, first value is nominal movement speed of animation
# assuming animation playing at normal speed. The next two values are
# the minimum and maximum allowable speed the animation will play at.
#
Patrick.AnimSneak = 1.5, .5, 2.5
Patrick.AnimWalk = 1.5, .5, 2.5
Patrick.AnimRun = 3.0, .5, 2.5
#--------------------------------------------------------------------------------
# SANDY SETTINGS
#--------------------------------------------------------------------------------
# Speed values for character. First value is minimum speed character can move,
# any less than that and character turns in place. First to second is the walking
# range, second to third is running range. The last 3 numbers are the
# corresponding stick deflections for those speeds.
#
Sandy.MoveSpeed = 0.6,2.5,5, 0.1,0.6,1.0
# Anim speed values, first value is nominal movement speed of animation
# assuming animation playing at normal speed. The next two values are
# the minimum and maximum allowable speed the animation will play at.
#
Sandy.AnimSneak = 1.5, .5, 2.5
Sandy.AnimWalk = 1.5, .5, 2.5
Sandy.AnimRun = 3.0, .5, 2.5
#--------------------------------------------------------------------------------
# PLAYER OUT-OF-BOUNDS STATE SETTINGS
#--------------------------------------------------------------------------------
# Time in seconds the player can be out of bounds. Range: greater than 0.
#player.state.out_of_bounds.out_time = 9.0
# Time in seconds required before out-of-bounds timer resets. Range: greater
# than 0, less than out_time.
#player.state.out_of_bounds.reset_time = 3.0
# Distance of camera from player.
#player.state.out_of_bounds.cam_dist = 3.0
# Height of camera above player.
#player.state.out_of_bounds.cam_height = 1.0
# Time it takes the camera to reorient itself to zoom in and face SB.
#player.state.out_of_bounds.reorient_time = 0.25
# The resource identifier of the model.
#player.state.out_of_bounds.hand_model = hand
# Settings affecting how the hand moves while grabbing the player.
#########################
# The max velocity of the hand as it comes in. Range: greater than 0.
#player.state.out_of_bounds.grab.in_vel = 1.0
# The distance required for the hand to stop, as a fraction of the screen.
# Controls how suddenly the hand stops. Range: 0 to 1.
#player.state.out_of_bounds.grab.in_stop_dist = 0.05
# The amount of time the hand waits before moving back out.
#player.state.out_of_bounds.grab.wait_time = 0.5
# The max velocity of the hand as it goes out. Range: greater than 0.
#player.state.out_of_bounds.grab.out_vel = 0.5
# The distance required for the hand to reach max velocity as it goes out,
# as a fraction of the screen. Controls how suddenly the hand starts moving.
# Range 0 to 1.
#player.state.out_of_bounds.grab.out_start_dist = 0.1
# On-screen position of the hand. This position is in 0 to 1 screen
# coordinates, with (0, 0) at the top left and positive y going down.
#player.state.out_of_bounds.grab.in_x = 0.0
#player.state.out_of_bounds.grab.in_y = -0.25
# The time that elapses before fade-out starts.
#player.state.out_of_bounds.grab.fade_start_time = 2.0
# The time required to fade to black.
#player.state.out_of_bounds.grab.fade_time = 0.5
# Settings affecting how the hand moves while dropping the player.
########################
# The max velocity of the hand as it comes in. Range: greater than 0.
#player.state.out_of_bounds.drop.in_vel = 0.5
# The distance required for the hand to stop, as a fraction of the screen.
# Controls how suddenly the hand stops. Range: 0 to 1.
#player.state.out_of_bounds.drop.in_stop_dist = 0.1
# The amount of time the hand waits before moving back out.
#player.state.out_of_bounds.drop.wait_time = 0.5
# The max velocity of the hand as it goes out. Range: greater than 0.
#player.state.out_of_bounds.drop.out_vel = 1.0
# The distance required for the hand to reach max velocity as it goes out,
# as a fraction of the screen. Controls how suddenly the hand starts moving.
# Range 0 to 1.
#player.state.out_of_bounds.drop.out_start_dist = 0.05
# On-screen position of the hand. This position is in 0 to 1 screen
# coordinates, with (0, 0) at the top left and positive y going down.
#player.state.out_of_bounds.drop.in_x = 0.0
#player.state.out_of_bounds.drop.in_y = -0.25
# The time that elapses before fading back in.
player.state.out_of_bounds.drop.fade_start_time = 0.2
# The time required to fade in from black.
#player.state.out_of_bounds.drop.fade_time = 0.5
# Starting position of the hand, outside the screen rectangle.
#player.state.out_of_bounds.out_y = -1.0
# Size scaling fractions.
#player.state.out_of_bounds.hand_size_x = 0.5
#player.state.out_of_bounds.hand_size_y = 0.5
# Rotation of the hand, expressed as yaw, pitch, and roll.
#player.state.out_of_bounds.hand_yaw = 0.0
#player.state.out_of_bounds.hand_pitch = 0.0
#player.state.out_of_bounds.hand_roll = 180.0
#--------------------------------------------------------------------------------
# SPONGEBOB UNDERWEAR-BUNGEE SETTINGS
#--------------------------------------------------------------------------------
# Uncomment any to change the default values.
# The bottom fraction of the total distance for which the bottom apex animation
# plays. Between 0 and 0.5
#SB.state.bungee.bottom_anim_frac = 0.05
# The top fraction of the total distance for which the bottom apex animation
# plays. Between 0 and 0.5
#SB.state.bungee.top_anim_frac = 0.1
# Transition time going between bottom and normal animations.
#SB.state.bungee.bottom_anim_time = 0.1
# Transition time going between top and normal animations.
#SB.state.bungee.top_anim_time = 0.1
# Transition time going between hit and normal animations.
#SB.state.bungee.hit_anim_time = 0.1
# Multiplier affecting rotation induced when spongebob takes damage.
#SB.state.bungee.damage_rot = 10.0
# Time in seconds to delay before restarting after death.
#SB.state.bungee.death_time = 3.0
# Velocity-based blur intensity. Increase to blur more. 0 to 1 range.
#SB.state.bungee.vel_blur = 0.0
# Distance from camera at which the bungee cord fades in. 1 or higher.
#SB.state.bungee.fade_dist = 2.0
# Radius of the player, while bungeeing.
#SB.state.bungee.player_radius = 1.0
# Constants affecting the player's movement on the horizontal(x/z) plane.
########################
# Padding around the edges of the player's movement. Increase this to ensure
# that the player is able to reach all the way to the edges. I.e. since the
# analog control pad does not go all the way to the extremes, increase this value
# to narrow the control pad extremes. Valid values are between 0 and 0.25.
#SB.state.bungee.horizontal.edge_zone = 0.05
# Horizontal sway force. The higher this is, the easier it is for the player to
# move.
#SB.state.bungee.horizontal.sway = 3.0
# The movement decay factor. Controls how much of the movement velocity is
# kept per frame. Valid values are in the range 0 to 1,
#SB.state.bungee.horizontal.decay = 0.95
# Constants affecting the dive action.
########################
# Time during which a dive accelerates. This value also specifies how quickly
# SB animates into a dive.
#SB.state.bungee.dive.time = 0.5
# Specifies how long it takes for the dive to animate from the dive animation to
# the normal cycle animation. This does not effect the time spent accelerating
# downward.
#SB.state.bungee.dive.anim_out_time = 0.5
# The minimum and maximum distance between which the dive can take place,
# expressed as a fraction of the player's vertical range. For instance, if
# min_dist is .1, max_dist is .6, and the player's vertical movement is between
# 10 and 110 meters from the hook, the player may dive at any time while between
# 20 (10 + 100*.1) and 70 (10 + 100*.6) meters from the hook. Note that the
# maximum distance must be greater than .5, since the player's rest position is
# at .5, otherwise a dive would not be possible from a complete stop..
#SB.state.bungee.dive.min_dist = 0.0
#SB.state.bungee.dive.max_dist = 0.6
# Playback options:
# PlaybackMode: 0 - off, 1 - record, 2 - play, 3 - play and dump frames
# PlaybackFile: sets the filename to dump playback data into
# ScreenDumpPath sets the folder to dump into (for example, "c:\sb\dump\")
# ScreenDumpStartFrame and ScreenDumpEndFrame set a frame range to dump
# ForceCinematic: if > 0, plays the nth cinematic in the scene
#
# To record:
# 1) Set PlaybackMode to 1
# 2) Run the game (controller data will be saved internally)
# 3) If you are happy with the recording, press triangle/Y on the debug
# controller -- this will write the data to the PlaybackFile
# 4) Rerun the game with PlaybackMode set to 2 or 3 to play or play/dump the frames
PlaybackMode=0
PlaybackFile=test.pbk
ScreenDumpPath=c:\sb\dump\
ScreenDumpStartFrame=0
ScreenDumpEndFrame=65535
ForceCinematic=0
#--------------------------------------------------------------------------------
# ScrFX Settings
#--------------------------------------------------------------------------------
ScrFxLetterBoxSize = 32.0 # y pixel height for each bar (top and bottom)
ScrFxLetterBoxAlpha = 255 # 255 opaque, 0 completely transparent
# Can the player get hurt ? 1 == YES, 0 == NO
G.TakeDamage = 1
# Delay timers on taking damage before you can take damage again
G.DamageTimeHit = 1.5
G.DamageTimeSurface = 1.5
G.DamageTimeEGen = 1.5
G.DamageSurfKnock = 1.75 # Must be non-zero
G.DamageGiveHealthKnock = 1.75 # Zero to disable knockback by default
# Cheats enabled?
G.CheatSpongeball = 0
G.CheatPlayerSwitch = 0
# Can I always portal with the pause menu? 1 == YES, 0 == NO
G.CheatAlwaysPortal = 0
G.CheatFlyToggle = 0
G.DisableForceConversation = 0
# Play music? 1 == YES, 0 == NO
NoMusic=0
# Report SFX sizes?
SFXReport=0
#-----------------------------------------------------------------
# Global powerups -- can be given in game with the following
# events (sent to player or dispatcher):
# Give PowerUp 0 = BubbleBowl
# Give PowerUp 1 = CruiseBubble
#
G.BubbleBowl = 0
G.CruiseBubble = 0
# Frame rate clamping
# set to 0 for 60/50 fps, 2 for 30/25 fps, etc.
minVSyncCnt = 0
## Profiling options:
# '1'
# '2'
# - function level profiling
# '3'
# - assembly level profiling for specified routines
# - For each of the following ProfFunc* use the full name of the
# function/method to profile. (eg, hot spots identified by profile level 2)
# - NOTE: 'X' and 'Circle' buttons are reserved in profiler mode
# - ALSO: Debug controller 'Start' resets profile tracking
#-----------------------------------------------------------------
# Camera system parameters
zcam_pad_pyaw_scale = 0.18; # bigger number => faster yaw rotation about player
zcam_pad_pitch_scale = 0.77; # bigger number => faster look up/down
# near position:
zcam_near_d = 3 # distance (relative to player)
zcam_near_h = 1.8 # height (relative to player)
zcam_near_pitch = 10 # pitch in degrees
# far position:
zcam_far_d = 5 # distance (relative to player)
zcam_far_h = 3 # height (relative to player)
zcam_far_pitch = 15 # pitch in degrees
# zoomed in, above-looking-down position:
zcam_above_d = 0.3 # distance (relative to player)
zcam_above_h = 2.4 # height (relative to player)
zcam_above_pitch = 68 # pitch in degrees
# zoomed in, below-looking-up position:
zcam_below_d = 0.65 # distance (relative to player)
zcam_below_h = 0.2 # height (relative to player)
zcam_below_pitch = -68 # pitch in degrees
# high bounce camera
zcam_highbounce_d = 0.2 # distance (relative to player)
zcam_highbounce_h = 5.0 # height (relative to player)
zcam_highbounce_pitch = 75 # pitch in degrees
# Wall jump camera
zcam_wall_d = 7.5 # distance (relative to player)
zcam_wall_h = 2.0 # height (relative to player)
zcam_wall_pitch = 18 # pitch in degrees
# camera collision parameters
xcam_collis_radius = 0.4; # bigger number (not > 0.5 please) should keep sb in frame better.
xcam_collis_stiffness = 0.3; # bigger number (keep it between 0 and 1) moves quicker in response.
# "smart" camera rotation parameters (camera "over-rotates" to
# get around behind player when he's running sideways or backwards)
zcam_overrot_min = 25 # angle at which rotation adjustment starts (0 degrees = forward)
zcam_overrot_mid = 90 # angle at which rotation adjustment peaks
zcam_overrot_max = 170 # angle at which rotation adjustment goes back to zero (180=straight back)
zcam_overrot_rate = 0.1 # rotation speed factor -- keep this small, set to zero to disable
zcam_overrot_tstart = 1.5 # time where rotation starts while holding down stick
zcam_overrot_tend = 2.5 # time where rotation peaks while holding down stick
zcam_overrot_velmin = 3.0 # minimum velocity to cause rotation to adjust
zcam_overrot_velmax = 5.0 # maximum velocity to cause rotation to adjust
zcam_overrot_tmanual = 1.5 # extra time rotation is disabled when manual camera controls used
#--------------------------------------------------------------------------------
# Skip times (when player can use button press to skip something)
#--------------------------------------------------------------------------------
gSkipTimeCutscene = 1.0 # Minimum of 1.0 allowed
gSkipTimeFlythrough = 1.0
#-----------------------------------------------------------------
# Tuning values for player character:
# Anything with a "G" prefix is a global setting (affects all
# characters). The other character prefixes are "SB", "Sandy",
# and "Patrick".
#
G.AnalogMin = 32
G.AnalogMax = 110
#-----------------------------------------------------------------
# Shiny Object Values for Combos
G.ShinyValueCombo0 = 0 # These first two should be the same
G.ShinyValueCombo1 = 0
G.ShinyValueCombo2 = 2
G.ShinyValueCombo3 = 3 # These two should be the same as well
G.ShinyValueCombo4 = 3 # because they use the same textbox
G.ShinyValueCombo5 = 5
G.ShinyValueCombo6 = 10
G.ShinyValueCombo7 = 15
G.ShinyValueCombo8 = 20
G.ShinyValueCombo9 = 25
G.ShinyValueCombo10 = 30
G.ShinyValueCombo11 = 40
G.ShinyValueCombo12 = 50
G.ShinyValueCombo13 = 60
G.ShinyValueCombo14 = 75
G.ShinyValueCombo15 = 100
G.ComboTimer = 1.0
#-----------------------------------------------------------------
# Bubble Bash parameters:
# Time is time to peak height (from launch), Delay is time before launch happens,
# CVTime is duration of constant-velocity period, before gravity sets in.
# As far as the animation goes, the transition to "Attack" animation
# occurs as soon as "Start" animation finishes. transition to "Strike"
# occurs when contact is detected, otherwise transitions to normal fall when
# peak height is reached.
#
G.BBashTime = 0.315 # JPH: increased from 0.3 to compensate for code change
G.BBashDelay = 0.25
G.BBashCVTime = 0.215 # JPH: increased from 0.2 to compensate for code change
G.BBashHeight = 3.3 # JPH: increased from 3 to compensate for code change
G.BBounceSpeed = 15
G.BSpinMinFrame = 0
G.BSpinMaxFrame = 11
# The radius of the damage ball at the center of the bubble wand
G.BSpinRadius = 0.4
#-----------------------------------------------------------------
# Track-sliding parameters:
# - Slide acceleration scales from AccelStart down to AccelEnd as velocity
# (in direction of slope) increases from AccelVelMin to AccelVelMax.
# - velocity is directly boosted by a combination of AccelPlayerFwd and
# AccelPlayerSide based on how much the player points the stick
# in the downward direction.
# - max speed increases from VelMaxStart to VelMaxEnd over
# VelMaxIncTime, as long as actual speed stays >= max speed.
# if speed falls below max speed, timer resets.
# - air speed stays constant for AirHoldTime,
# then drops to zero over AirSlowTime.
# - that was the intention anyway... whats really happening now
# is that normal air controls blend ON over AirHoldTime period,
# with speed held constant, then
# velocity blends OFF over subsequent AirSlowTime period.
# (seems to work okay, but give us your thoughts.)
# - same thing for the AirDbl*Time parameters, except these
# apply to the double jump when sliding.
# - VelDblBoost is boost to velocity applied on double jump,
# in current direction (but not uphill).
#
# Recommendations for tweaking:
# - AccelStart/End = increase to reduce time to accelerate from 0 - 11 m/s without stick control
# - AccelPlayerFwd = increase to reduce time to accelerate from 0 - 11 m/s with stick pressed forward
# - AccelPlayerBack = increase to reduce time to decelerate
# - AccelPlayerSide = increase to improve turning
# - VelMaxIncTime = reduce to reduce time to accelerate from 11 - 16 m/s without stick control
# - VelMaxIncAccel = increase to reduce time to accelerate from 11 - 16 m/s with stick pressed forward
#
G.SlideAccelVelMin = 5
G.SlideAccelVelMax = 10
G.SlideAccelStart = 8 # Higher value reduces time from 0 - 11 m/s
G.SlideAccelEnd = 3
G.SlideAccelPlayerFwd = 5
G.SlideAccelPlayerBack = 8
G.SlideAccelPlayerSide = 22.5
G.SlideVelMaxStart = 11
G.SlideVelMaxEnd = 16
G.SlideVelMaxIncTime = 4
G.SlideVelMaxIncAccel = 1
G.SlideAirHoldTime = 3
G.SlideAirSlowTime = .75
G.SlideAirDblHoldTime = 2
G.SlideAirDblSlowTime = .5
G.SlideVelDblBoost = 6
#
#G.SlideAirHoldTime = 0.75
#G.SlideAirSlowTime = 3.0
#G.SlideAirDblHoldTime = 0.5
#G.SlideAirDblSlowTime = 2.0
#G.SlideVelDblBoost = 6
#---------------------------------------------------------
# StartSlideAngle - Degrees of slope that scooby starts sliding on
# StopSlideAngle - Degrees of slope that scooby stops sliding on
# ... should be less than StartSlideAngle
#
G.StartSlideAngle = 20
G.StopSlideAngle = 10
#---------------------------------------------------------
# RotMatchMaxAngle - Max degrees of slope that scooby will match
# his orientation to
# RotMatchMatchTime - Time (in seconds) it takes scooby to match the slope
# RotMatchRelaxTime - Time (in seconds) it takes scooby to relax to
# normal orientation (eg while in air)
#
G.RotMatchMaxAngle = 30
G.RotMatchMatchTime = 0.1
G.RotMatchRelaxTime = 0.3
# Gravity for all characters
G.Gravity = 30
#---------------------------------------------------------
# Patrick Pickup / Carry / Throw settings
#
Carry.MinDist = 0.675 # Min dist to detect item to pick up
Carry.MaxDist = 1.900 # Max dist to detect item to pick up
Carry.MinHeight = -0.2 # Min height to detect item
Carry.MaxHeight = 0.4 # Max height to detect item
Carry.MaxCosAngle = 45.0 # Angle to detect item to pick up
Carry.ThrowMinDist = 1.5 # Min distance to autotarget for throwing
Carry.ThrowMaxDist = 12.0 # Max distance to autotarget for throwing
Carry.ThrowMinHeight = -3.0 # Min height to autotarget for throwing
Carry.ThrowMaxHeight = 5.0 # Max height to autotarget for throwing
Carry.ThrowMaxStack = 2.75 # Max height fruit can be stacked
Carry.ThrowMaxCosAngle = 25.0 # Angle to autotarget
Carry.GrabLerpMin = 0.0 # First interpolation frame for pickup animation
Carry.GrabLerpMax = 0.2 # Last interpolation frame for pickup animation
#---------------------------------------------------------
# Global settings for throwable objects--note that these
# are settings from where patrick actually releases the
# object in the animation--so the actual height and distance
# is somewhat higher. You'll have to fiddle with it...
# Note that throw gravity is currently the same as normal
# gravity in the scene, it could be changed though...
#
Carry.ThrowGravity = 50.0
Carry.ThrowHeight = 3.0
Carry.ThrowDistance = 10.0
#---------------------------------------------------------
# Fruit bounciness settings. The first two numbers are velocity
# values over which the bounciness is decayed over time on the floor
# (to make the fruit settle with fewer bounces). In other words, if the
# fruit is moving 6.0 m/s (MAX) or more, it will bounce at the values shown.
# As the velocity drops to 0.3 m/s (MIN), it will decay to zero--once it
# reaches zero, the object stops its motion and comes to rest.
#
# Higher bounce values = more bounciness.
# 1 == perfect reflection
# 0 == no reflection
#
# Higher friction values = less friction (I know, it seems kinda backwards):
# 1 == frictionless (object will slide forever)
# 0 == infinite friction (object stops on a dime)
#
# Note that off ceilings and walls, there is no friction. If you wanted to
# change the fruit so that it bounces "in place" where it first lands, you
# could set the FruitFloorFriction to "0". This might make puzzles where
# you have to transport objects across gaps easier.
#
Carry.FruitFloorDecayMin = 0.3
Carry.FruitFloorDecayMax = 6.0
Carry.FruitFloorBounce = 0.15
Carry.FruitFloorFriction = 0.4
Carry.FruitCeilingBounce = 0.1
Carry.FruitWallBounce = 0.5
# Fruit lifetime in seconds. Note that it takes around 0.75 seconds to pickup
# and 0.75 seconds to throw for Patrick (with current animations which have
# been accelerated somewhat).
#
Carry.FruitLifetime = 15.0
# Special moves for the characters
eSPECIAL_Slippers = 0 # First sneak
eSPECIAL_LampShade = 0 # First disguise
eSPECIAL_Spring = 1 # Double jump
eSPECIAL_FootballHelmet = 0 # Headbutt
eSPECIAL_StickyBoots = 0 # Anti-sticky boots
eSPECIAL_LightningBolt = 1 # Buttsmash
eSPECIAL_LightningBoltStun = 0 # Buttsmash Stun
eSPECIAL_Plungers = 0 # Anti-slippery
eSPECIAL_Shovel = 0 # Dig powerup
eSPECIAL_Umbrella = 0 # Floating
eSPECIAL_BubbleGum = 0 # Spits wads of sticky/bouncy gum
eSPECIAL_SoapBar = 0 # Spits soap bubbles
eSPECIAL_BlackKnight = 0 # Second disguise
eSPECIAL_FlowerPot = 0 # Are these last two being used?
eSPECIAL_DivingHelmet = 0 # Last disguise (that you don't use?)
#--------------------------------------------------------------------------------
# SPONGEBOB SETTINGS
#--------------------------------------------------------------------------------
# Speed values for character. First value is minimum speed character can move,
# any less than that and character turns in place. First to second is the walking
# range, second to third is running range. The last 3 numbers are the
# corresponding stick deflections for those speeds.
#
# Anim speed values, first value is nominal movement speed of animation
# assuming animation playing at normal speed. The next two values are
# the minimum and maximum allowable speed the animation will play at.
#
SB.AnimSneak = 1, .6, 4
SB.AnimWalk = 1, .6, 4
SB.AnimRun = 4.0, .5, 1.5
# Ledge hanging parameters
# animGrab = time in animation (in frames) to where character is in contact with ledge
# (time for interpolation from airborne position to grabbing position)
SB.Ledge.animGrab = 3
# Dampening factor for xz and y velocity while spinning. The higher this is, the less SB can
# move when spinning.
SB.spin_damp_xz = 15.0
SB.spin_damp_y = 15.0
# Model ordering indices for SB. Change these whenever the exporter chooses a different random order.
SB.model_index.body = 1 #0
SB.model_index.arm_l = 2 #1
SB.model_index.arm_r = 3 #2
SB.model_index.ass = 4 #3
SB.model_index.underwear = 5 #4
SB.model_index.wand = 0 #5
SB.model_index.tongue = 6
SB.model_index.bubble_helmet = 7
SB.model_index.bubble_shoe_l = 8
SB.model_index.bubble_shoe_r = 9
SB.model_index.shadow_body = 10
SB.model_index.shadow_arm_l = 11
SB.model_index.shadow_arm_r = 12
SB.model_index.shadow_wand = 13
#--------------------------------------------------------------------------------
# CRUISE BUBBLE SETTINGS
#--------------------------------------------------------------------------------
##################################################################
# Variables affecting the aiming state.
##################################################################
# Distance of camera from player.
SB.cb.aim.dist = 2.0
# Height of camera above player.
SB.cb.aim.height = 1.5
# Vertical pitch of the camera, -90 to 90 degrees.
SB.cb.aim.pitch = 0.0
# Speed of the camera movement around center.
SB.cb.aim.speed = 1.0
# Time required to move between two positions.
SB.cb.aim.move_time = 1.0
##################################################################
# Variables affecting the camera attachment state.
##################################################################
# Time to wait before moving the camera to the launch position. *Incomplete
SB.cb.attach.wait_time = 1.0
# Location relative to player to start the launch. *Incomplete.
SB.cb.attach.offset.x = 1.0
SB.cb.attach.offset.y = 2.0
SB.cb.attach.offset.z = 0.0
##################################################################
# Parameters affecting the missle while flying.
##################################################################
# Missle acceleration.
SB.cb.fly.accel = 6.0
# Max missle velocity.
SB.cb.fly.max_vel = 12.0
# Field-of-view angle while flying.
SB.cb.fly.fov = 100.0
# Maximum time the missle can be in the air.
SB.cb.fly.live_time = 6.0
##################################################################
# Rotational flying parameters.
##################################################################
# Horizontal turn speed.
SB.cb.fly.turn.xdelta = 5.0
# Vertical turn speed.
SB.cb.fly.turn.ydelta = 4.0
# Speed at which horizontal rotation decays. 0 to 1. A value of 0 never
# stops turning, and a value of 1 stops immediately.
SB.cb.fly.turn.xdecay = 0.99
# Speed at which vertical rotation decays. 0 to 1. A value of 0 never
# stops turning, and a value of 1 stops immediately.
SB.cb.fly.turn.ydecay = 0.99
# The vertical rotation boundary. 0 to 1. A value of 0 allows no
# vertical rotation, and a value of 1 allows completely vertical rotation.
SB.cb.fly.turn.ybound = 0.6
# The fraction of turn speed applied to roll. A positive value rolls into
# the turn, a negative value rolls out of the turn, and a 0 value does not
# roll at all.
SB.cb.fly.turn.roll_frac = 0.2
##################################################################
# Parameters affecting collision distance.
##################################################################
# Minimum distance to hit a non-enemy, non-environment object.
SB.cb.fly.hit_dist.object = 0.2
# Minimum distance to hit an enemy.
SB.cb.fly.hit_dist.enemy = 0.2
# Minimum distance to hit the environment.
SB.cb.fly.hit_dist.env = 0.2
##################################################################
# Parameters affecting the explosion state.
##################################################################
# Delay before returning to player after explosion. *Incomplete.
SB.cb.explode.wait_time = 1.0
#--------------------------------------------------------------------------------
# PATRICK SETTINGS
#--------------------------------------------------------------------------------
# Speed values for character. First value is minimum speed character can move,
# any less than that and character turns in place. First to second is the walking
# range, second to third is running range. The last 3 numbers are the
# corresponding stick deflections for those speeds.
#
Patrick.MoveSpeed = 0.6,2.5,5, 0.1,0.6,1.0
# Anim speed values, first value is nominal movement speed of animation
# assuming animation playing at normal speed. The next two values are
# the minimum and maximum allowable speed the animation will play at.
#
Patrick.AnimSneak = 1.5, .5, 2.5
Patrick.AnimWalk = 1.5, .5, 2.5
Patrick.AnimRun = 3.0, .5, 2.5
#--------------------------------------------------------------------------------
# SANDY SETTINGS
#--------------------------------------------------------------------------------
# Speed values for character. First value is minimum speed character can move,
# any less than that and character turns in place. First to second is the walking
# range, second to third is running range. The last 3 numbers are the
# corresponding stick deflections for those speeds.
#
Sandy.MoveSpeed = 0.6,2.5,5, 0.1,0.6,1.0
# Anim speed values, first value is nominal movement speed of animation
# assuming animation playing at normal speed. The next two values are
# the minimum and maximum allowable speed the animation will play at.
#
Sandy.AnimSneak = 1.5, .5, 2.5
Sandy.AnimWalk = 1.5, .5, 2.5
Sandy.AnimRun = 3.0, .5, 2.5
#--------------------------------------------------------------------------------
# PLAYER OUT-OF-BOUNDS STATE SETTINGS
#--------------------------------------------------------------------------------
# Time in seconds the player can be out of bounds. Range: greater than 0.
#player.state.out_of_bounds.out_time = 9.0
# Time in seconds required before out-of-bounds timer resets. Range: greater
# than 0, less than out_time.
#player.state.out_of_bounds.reset_time = 3.0
# Distance of camera from player.
#player.state.out_of_bounds.cam_dist = 3.0
# Height of camera above player.
#player.state.out_of_bounds.cam_height = 1.0
# Time it takes the camera to reorient itself to zoom in and face SB.
#player.state.out_of_bounds.reorient_time = 0.25
# The resource identifier of the model.
#player.state.out_of_bounds.hand_model = hand
# Settings affecting how the hand moves while grabbing the player.
#########################
# The max velocity of the hand as it comes in. Range: greater than 0.
#player.state.out_of_bounds.grab.in_vel = 1.0
# The distance required for the hand to stop, as a fraction of the screen.
# Controls how suddenly the hand stops. Range: 0 to 1.
#player.state.out_of_bounds.grab.in_stop_dist = 0.05
# The amount of time the hand waits before moving back out.
#player.state.out_of_bounds.grab.wait_time = 0.5
# The max velocity of the hand as it goes out. Range: greater than 0.
#player.state.out_of_bounds.grab.out_vel = 0.5
# The distance required for the hand to reach max velocity as it goes out,
# as a fraction of the screen. Controls how suddenly the hand starts moving.
# Range 0 to 1.
#player.state.out_of_bounds.grab.out_start_dist = 0.1
# On-screen position of the hand. This position is in 0 to 1 screen
# coordinates, with (0, 0) at the top left and positive y going down.
#player.state.out_of_bounds.grab.in_x = 0.0
#player.state.out_of_bounds.grab.in_y = -0.25
# The time that elapses before fade-out starts.
#player.state.out_of_bounds.grab.fade_start_time = 2.0
# The time required to fade to black.
#player.state.out_of_bounds.grab.fade_time = 0.5
# Settings affecting how the hand moves while dropping the player.
########################
# The max velocity of the hand as it comes in. Range: greater than 0.
#player.state.out_of_bounds.drop.in_vel = 0.5
# The distance required for the hand to stop, as a fraction of the screen.
# Controls how suddenly the hand stops. Range: 0 to 1.
#player.state.out_of_bounds.drop.in_stop_dist = 0.1
# The amount of time the hand waits before moving back out.
#player.state.out_of_bounds.drop.wait_time = 0.5
# The max velocity of the hand as it goes out. Range: greater than 0.
#player.state.out_of_bounds.drop.out_vel = 1.0
# The distance required for the hand to reach max velocity as it goes out,
# as a fraction of the screen. Controls how suddenly the hand starts moving.
# Range 0 to 1.
#player.state.out_of_bounds.drop.out_start_dist = 0.05
# On-screen position of the hand. This position is in 0 to 1 screen
# coordinates, with (0, 0) at the top left and positive y going down.
#player.state.out_of_bounds.drop.in_x = 0.0
#player.state.out_of_bounds.drop.in_y = -0.25
# The time that elapses before fading back in.
player.state.out_of_bounds.drop.fade_start_time = 0.2
# The time required to fade in from black.
#player.state.out_of_bounds.drop.fade_time = 0.5
# Starting position of the hand, outside the screen rectangle.
#player.state.out_of_bounds.out_y = -1.0
# Size scaling fractions.
#player.state.out_of_bounds.hand_size_x = 0.5
#player.state.out_of_bounds.hand_size_y = 0.5
# Rotation of the hand, expressed as yaw, pitch, and roll.
#player.state.out_of_bounds.hand_yaw = 0.0
#player.state.out_of_bounds.hand_pitch = 0.0
#player.state.out_of_bounds.hand_roll = 180.0
#--------------------------------------------------------------------------------
# SPONGEBOB UNDERWEAR-BUNGEE SETTINGS
#--------------------------------------------------------------------------------
# Uncomment any to change the default values.
# The bottom fraction of the total distance for which the bottom apex animation
# plays. Between 0 and 0.5
#SB.state.bungee.bottom_anim_frac = 0.05
# The top fraction of the total distance for which the bottom apex animation
# plays. Between 0 and 0.5
#SB.state.bungee.top_anim_frac = 0.1
# Transition time going between bottom and normal animations.
#SB.state.bungee.bottom_anim_time = 0.1
# Transition time going between top and normal animations.
#SB.state.bungee.top_anim_time = 0.1
# Transition time going between hit and normal animations.
#SB.state.bungee.hit_anim_time = 0.1
# Multiplier affecting rotation induced when spongebob takes damage.
#SB.state.bungee.damage_rot = 10.0
# Time in seconds to delay before restarting after death.
#SB.state.bungee.death_time = 3.0
# Velocity-based blur intensity. Increase to blur more. 0 to 1 range.
#SB.state.bungee.vel_blur = 0.0
# Distance from camera at which the bungee cord fades in. 1 or higher.
#SB.state.bungee.fade_dist = 2.0
# Radius of the player, while bungeeing.
#SB.state.bungee.player_radius = 1.0
# Constants affecting the player's movement on the horizontal(x/z) plane.
########################
# Padding around the edges of the player's movement. Increase this to ensure
# that the player is able to reach all the way to the edges. I.e. since the
# analog control pad does not go all the way to the extremes, increase this value
# to narrow the control pad extremes. Valid values are between 0 and 0.25.
#SB.state.bungee.horizontal.edge_zone = 0.05
# Horizontal sway force. The higher this is, the easier it is for the player to
# move.
#SB.state.bungee.horizontal.sway = 3.0
# The movement decay factor. Controls how much of the movement velocity is
# kept per frame. Valid values are in the range 0 to 1,
#SB.state.bungee.horizontal.decay = 0.95
# Constants affecting the dive action.
########################
# Time during which a dive accelerates. This value also specifies how quickly
# SB animates into a dive.
#SB.state.bungee.dive.time = 0.5
# Specifies how long it takes for the dive to animate from the dive animation to
# the normal cycle animation. This does not effect the time spent accelerating
# downward.
#SB.state.bungee.dive.anim_out_time = 0.5
# The minimum and maximum distance between which the dive can take place,
# expressed as a fraction of the player's vertical range. For instance, if
# min_dist is .1, max_dist is .6, and the player's vertical movement is between
# 10 and 110 meters from the hook, the player may dive at any time while between
# 20 (10 + 100*.1) and 70 (10 + 100*.6) meters from the hook. Note that the
# maximum distance must be greater than .5, since the player's rest position is
# at .5, otherwise a dive would not be possible from a complete stop..
#SB.state.bungee.dive.min_dist = 0.0
#SB.state.bungee.dive.max_dist = 0.6
# Playback options:
# PlaybackMode: 0 - off, 1 - record, 2 - play, 3 - play and dump frames
# PlaybackFile: sets the filename to dump playback data into
# ScreenDumpPath sets the folder to dump into (for example, "c:\sb\dump\")
# ScreenDumpStartFrame and ScreenDumpEndFrame set a frame range to dump
# ForceCinematic: if > 0, plays the nth cinematic in the scene
#
# To record:
# 1) Set PlaybackMode to 1
# 2) Run the game (controller data will be saved internally)
# 3) If you are happy with the recording, press triangle/Y on the debug
# controller -- this will write the data to the PlaybackFile
# 4) Rerun the game with PlaybackMode set to 2 or 3 to play or play/dump the frames
PlaybackMode=0
PlaybackFile=test.pbk
ScreenDumpPath=c:\sb\dump\
ScreenDumpStartFrame=0
ScreenDumpEndFrame=65535
ForceCinematic=0
#--------------------------------------------------------------------------------
# ScrFX Settings
#--------------------------------------------------------------------------------
ScrFxLetterBoxSize = 32.0 # y pixel height for each bar (top and bottom)
ScrFxLetterBoxAlpha = 255 # 255 opaque, 0 completely transparent
Normal character files for Battle for Bikini Bottom are stored as RenderWare .dff models (see here http://www.spriters-resource.com/community/showthread.php?tid=20770). SDF may be a compressed version of this. If it is compressed it probably uses some variant of the LZW algorithm. It may also be some format used by the RenderWare engine.
You are correct, it is renderware.
____________________
"I hate playing musical chats" ~ Quote of the month
Apparently the LIP LOP HIP HOP files are archives and shit.
The LOPs can be viewed using notepad, they're basically a text file, the HOP ones are the archives, they're uncompressed but since we know nothing about archives or nodes, this will be a challenge.
EDIT: The HIP and HOPs both deal with archives, adn the LIP and LOP files are the text. It's somehow all one package tho.
____________________
"I hate playing musical chats" ~ Quote of the month