A game about driving buses in a fictional Americany looking place with UK town and city names as bus stops...
Unused Graphics#
|
|
To do: |
In base.scs/model/stops/textures, signs 01a.dds contains some hidden text. Clearly, that part of the texture is unused.
thumbnail|right|center03b.psd base.scs/model/railing contains a duplicate file for center03b.dds but as a .psd instead... An oversight by the developers.
Development Text#
There is a lot of development text here. All files have been edited so only developer comments remain.
car_colors.def#
Located in base.scs/def.
# Ford
# Volkswagen
# Fiat
# Peugeot
# Renault
# Saab
sky_data.def#
Located in base.scs/def.
# Name | texture | top | fog color | fog density | rain | snow
sun_data.def#
Located in base.scs/def.
# Hand tweaked mission specific sun definitions.
### (0) Nice, shiny day ###
#
# ambient - medium
# diffuse - strong overbright with slight yellow tone
# specular - slight overbright white
# environment - skyblue shade to emphasize skybox in reflections
### (1) Nice, shiny day, but there are some clouds on the sky ###
#
# ambient - medium cold blue tone
# diffuse - medium white overbright
# specular - slight overbright white with blue/yellow tint
# environment - skyblue shade to emphasize skybox in reflections
#
# overbright levels lowered when compared to above shiny day
### (3) Rain in the city ###
#
# ambient - low, brown tone
# diffuse - normal, slight darkblue tone
# specular - normal, medium blue tone
# environment - gray-blue tone
# skybox - slight purple tint
### (4) Morning in the city
#
# ambient - low, blue toned
# diffuse - medium orange tone, small overbright
# specular - white/yellow
# environment - light cyan
### (5) Early morning in the city, orange/red clouds skybox
#
# ambient - low, blue toned
# diffuse - yellow tone
# specular - white/yellow
# environment - light steel blue
### (6) Sunset in the city
#
# ambient - medium orange toned
# diffuse - medium ochre tone, small overbright
# specular - small overbright white with red tone
# environment - orange with small overbright
### (7) Sunset in the city & raining
#
# ambient - medium gray
# diffuse - medium ochre tone
# specular - orange
# environment - dark gray-blue overbright (it is wet - raining)
### (8) Night city
#
# ambient - low, grey-orange tone
# diffuse - medium ochre tone
# specular - grey
# environment - yellow (city light smog)
### (9) Snow storm
#
# ambient - medium grey
# diffuse - dark ochre tone
# specular - gray
# environment - gray overbright
### (11) Snow storm & snowing
#
# ambient - medium grey
# diffuse - weak white
# specular - gray blue overbright
# environment - gray blue overbright
### [Custom tweak] (1) Nice, shiny day, but there are some clouds on the sky ###
#
# Lowered diffuse overbright as we are driving a white bus
### (12) Nice, shiny late morning, it promises to be a beautiful day, but the sun is not all the way up yet ###
### Snowy Christmas night ###
### [Custom tweak] (25) Early morning in the city, orange/red clouds skybox - earlier, darker morning
#
# ambient - low, blue toned
# diffuse - yellow tone
# specular - white/yellow
# environment - light steel blue
FIXME Messages#
Located in base.scs/def/menu in the sub-directories, fulwell, garage, station and in the files, smile.sii, follow.sii, out.sii, outfollow.sii, follow.sii, title.sii is the same message.
# FIXME: Do not know yet:
# FIXME: Do not know yet
# FIXME: Debugging only:
# recorded_drive_data: "/home/save/recorder_unit.sii"
# FIXME: The time is unknown, yet.
Also, wait.sii in base.scs/def/menu/station has some extra lines.
# feasible_buses[]: "vehicle.generic1"
# feasible_buses[]: "vehicle.niva2"
# feasible_buses[]: "vehicle.remark1"
Template Messages#
Located in base.scs/def/ui in the files, bth.def, frm.def, inp.def, sld.def and txt.def are message explicitly saying not to change these.
btn.def#
###########################
#
# button templates
# DO NOT CHANGE ORDER!!
#
###########################
# s_pml:"<img src=/material/ui/white.mat xscale=stretch yscale=stretch color=@@menu_but_clr_n@@><ret><offset hshift=22 vshift=4><img src=/material/ui/bus/busico_%0.mat width=64 height=64><ret><color value=@@menu_clr@@><img src=/material/ui/frame/c01.mat left=0.5 top=0.5><ret><offset vshift=60><img src=/material/ui/frame/c01.mat left=0.5 bottom=0.5><ret><offset hshift=100 vshift=60><img src=/material/ui/frame/c01.mat right=0.5 bottom=0.5><ret><offset hshift=100><img src=/material/ui/frame/c01.mat right=0.5 top=0.5><ret><offset vshift=8><img src=/material/ui/frame/v01.mat left=0.5 height=52><ret><offset hshift=100 vshift=8><img src=/material/ui/frame/v01.mat right=0.5 height=52><ret><offset hshift=8><img src=/material/ui/frame/h01.mat top=0.5 width=92><ret><offset hshift=8 vshift=60><img src=/material/ui/frame/h01.mat bottom=0.5 width=92>"
frm.def#
###########################
#
# frame templates
# DO NOT CHANGE ORDER!!
#
###########################
inp.def#
###########################
#
# text templates
# DO NOT CHANGE NUMBERING!!
#
###########################
sld.def#
###########################
#
# slider templates
# DO NOT CHANGE ORDER!!
#
###########################
txt.def#
###########################
#
# text templates
# DO NOT CHANGE NUMBERING!!
#
###########################
#text:"<img src=/material/ui/banner%0.mat xscale=stretch top=0 bottom=%1 color=FF%2%2%2><ret><align vstyle="bottom"><img src=/material/ui/banner%3.mat xscale=stretch top=%1 bottom=1 color=FF%4%4%4></align><ret><offset vshift=%5><img src=/material/ui/ban_edge.mat xscale=stretch color=%6FFFFFF>"
Vehicle Messages#
The next files are in base.scs/def/vehicle and the folders, brakes, chasis and transmission. Should be obvious where each file is in what folder.
brakes_lo0.sii#
# brake balance (0 = full rear ... 1 = full front)
chasis_[BUS_NAME].sii#
Where [BUS_NAME] is either avenue, generic1, gryphon, niva, remark, schoolbus, sista or velven.
# The air resistance and the wheel rolling resistance force constant
# The frontal area of the vehicle for the resistance force computing
transmission_lo0.sii#
# reverse gear
# forward gears
World Definitions#
The next files are in base.scs/def/world.
building.def#
# model path | model_look | model width | model depth
# model3:"/model/building/rock01.pmd"
# model5:"/model/building/rock02.pmd"
# model13:"/model/building/scrapyard.pmd"
# model15:"/model/building/crib.pmd"
# model21:"/model/building/san_francisco/san_francisco1.pmd"
# model29:"/model/building/miami/shop01.pmd"
# model32:"/model/vegetation/palms/high01building.pmd | | 16"
# model38:"/model/misc/darts_road3b.pmd"
# model39:"/model/vegetation/palms/medium.pmd | | 12"
# scheme name | model_idx1-model_idx2 ... (max 16)
# scheme4:"rock01 | 3"
# scheme6:"rock02 | 5"
# scheme13:"scrapyard | 13"
# scheme15:"crib | 15"
# scheme21:"sn_francisco1 | 21"
# scheme29:"shop1 | 29"
# scheme32:"palms1 | 32"
# scheme38:"darts_road | 38"
# scheme39:"palms2 | 39"
bus_stop.def#
// name | bus_stop model | bus_stop collision | model offset from the origin of the bus_stop | active plate | inactive plate | radius (for checkpoints only)
# Original bus stops - sidewalk variants - for bus stop residing on sidewalk.
# The bus stop plate (ground sign) is a bit below the bus stop model.
# Original bus stops - road varaints - for bus stop directly on road surface.
# The bus stop plate is exactly at the same height as the bus stop model is.
# Newer bus stops.
# The big, bus-station building.
# Very small bus stop, with roof.
# Very small bus stop without a roof.
# Standard bus stop without a roof and without a timetable (target only).
# Standard bus stop without a roof but with timetable - countryside/skycenter busstop.
# Large (but standalone) bus stop.
# The "bus stop" used for start location of each route.
# Does not have model nor inactive plate, thus it is completely invisible in gameplay.
# Police checkpoint models used in prison transport routes.
# End of route which should not be seen when driving different route.
model.def#
# flare path : size_x: size_y: angle_cull: blinking: visible during day: on_time: off_time: desync: color
# use | model path | distance type (optional) 0- close 3 - farest
# truck light
mover.def#
# model | animation (optional) | sound(optional) | sound distance coef (optional)
particle.def#
# name, path
prefab.def#
# prefab1:"/prefab/cross/city2x4oneway.pmd"
# prefab9:"/prefab/fork/city4x2.pmd"
# prefab13:"/prefab/fork/highway4_5.pmd"
# prefab14:"/prefab/fork/cityland9x9.pmd"
# prefab15:"/prefab/cross/city4x4.pmd"
# prefab17:"/prefab/cross/city5x4.pmd"
# prefab25:"/prefab/fork/highway9_5.pmd"
# prefab26:"/prefab/cross/land4x4t.pmd"
# prefab27:"/prefab/cross/city4x4flip.pmd"
# prefab29:"/prefab/cross/city2x4oneway_flip.pmd"
# prefab31:"/prefab/cross/city5x4_2.pmd"
# prefab32:"/prefab/fork/cityland9x9_2.pmd"
# prefab33:"/prefab/customs/big_road9.pmd"
# prefab34:"/prefab/cross/city5x2highway_t.pmd"
# prefab35:"/prefab/scales/small_oneway.pmd"
# prefab40:"/prefab/cross/city5x5_2.pmd"
# new generations of prefabs
road.def#
# size_x size_y offset_x offset_z path
# decal flare col_sizex col_sizey psm path; part material paths
# ai actor
# road road texture texture double white center use lane lane one name
# size offset left right w line style line white/2 count count way
sign.def#
# for more information on possible flare indices look to models.def
# sign type | fall | short | decal mat| decal size | decal off | model path | nocollide
#-1 common text | down | dist | | | |
# 0 no navigation| | | | | |
# 1-3 board count| | | | | |
skybox.def#
Interestingly, this file references trucks rather than buses. Most likely ported from a previous game.
# do not change the skybox material order !
# The skybox model used to create the reflection cube used for world reflections.
# The cube is "truck" centric, as the truck is the most prominent reflective object in the scene.
# We share the model with water box, but supply our own materials.
# The skybox model used to create the reflection cube used for water reflections.
# The cube is "horizon" oriented, with only distant light sources,
# because the water is usually far away from the truck and its local lights.
stamp.def#
# name | path
target.def#
#define TARGET_GAS 0
#define TARGET_SERVICE 1
#define TARGET_TRUCK_STOP 2
#define TARGET_SCALES 3
#define TARGET_DEALER 4
#define TARGET_HOTEL 5
#define TARGET_DOCK_HOTEL 6
#define TARGET_UNLOAD 7
#define TARGET_CLO 8
tr_light.def#
# for more information on possible flare indices look to models.def
# name | fall_down | model path1 - model path2 - model path3
vegetation.def#
# model path
# name | models | road off | road off | wrap | size | | |
# | | min[m] | max[m] | size [m] | variation | shadows | collide | sort
Material Text#
defaults.sii in base.scs/effect/bus.
# Default parameter packets for the effects in the Bus superfamily.
# Default camera - it is under lab's control anyway, rely on defaults.
# The default matrix (identity) is perfect.
# Defaults are perfect.
# ambient
# diffuse
# specular
# es_direction
# ws_direction
# Defaults are perfect.
# Defaults are perfect.
# Defaults are perfect.
# Defaults are perfect.
Localization Text#
In base.scs/script and cs_cz, de_de, en_gb, en_us, es_es, fr_fr, hu_hu, it_it, nl_nl, pl_pl & ru_ru the file, local.def contains instructions on how to localize and descriptions for each string.
- Note: local.def in cs_cz doesn't contain instructions - only the descriptions.
# HELP
#
# The first texts for localization start here.
# Do not change anything above.
# Do not change any line starting with '#' character.
# In fact, you are allowed to change only the text in double-quotation marks, nothing else.
#
# In limited cases, there are HTML tags embedded in strings being localized -
# if you see <br> being part of the text, keep it in.
# It is a line-break command.
# Pair of them makes a new paragraph.
#
# In route briefings (see end of this file),
# the local names and bus station names are colour encoded -
# those names are enclosed into backslash-r and backslash-zero pairs,
# like this: "the following word is \rRED\0."
# Keep the colour coding in, it makes briefings more interesting and easier to read.
# Because you will not translate local names anyway,
# it means that you should keep local names alone,
# including their enclosing colour codes.
#
# Read all the comments, they are important.
#
# GLOSSARY
#
# Route - a unit of gameplay, with given goal.
# Tier - a set of 6 routes with similar difficulty.
# Bonus - score addition for successfull or correct action.
# Penalty - score subtraction for rule breach.
# Bus-stop - individual bus-stop.
# Bus-station - large(ish) set of bus-stop on one location, usually with entrance gate.
#
# You must choose character encoding first.
# The value must be one of "cp1252", "cp1250", or "cp1251".
# Code page 1252 ("cp1252") is used for US and many Western languages.
# Code page 1250 ("cp1250") is used for Central and Eastern European languages.
# Code page 1251 ("cp1251") is used for Eastern European languages using Cyrillic ('azbuka').
# Your code page selection has effect on fonts being used by the game.
# You must write all the texts in this file (local.def) using the selected encoding -
# check your Windows setup or setup of your text editor.
# System error messages not directly related to a specific game title.
# It is shown to the user in standalone dialog window if the game failed to start.
# The official name of the game,
# used for game window title and taskbar icon.
# Main/major menu labels.
# They must be pretty short, to fit in the buttons.
# The UI of Bus Driver is designed to use upper-case characters for whole words.
# Quit the game and return to desktop.
# Menu to set up game configuration - graphics, audio, controls.
# Start driving the bus (or go to the route selection menu).
# Purchase the full version of the game (upgrade from trial / demo version).
# Go back to the (main) menu.
# Replay the same route once again.
# Apply the changes to resolution / fullscreen setup.
# Show credits.
# Key names, part of the main menu buttons - Escape (back-in-menu) and Enter (select the current item).
# Again, as main menu buttons, designed to be in uppercase.
# Credits panel and its labels.
# The rest is filled with author names.
# Big, scroll-in panels asking for route-cancel and game-quit confirmation.
# The lines must be manually wrapped to fit the width of the "dialog"/panel.
# They must be completely in upper-case, as the panel font does not contain lower cases.
# They also must not contain any character outside plain ASCII or basic Cyrillic.
# The font has very limited set of characters, due to lack of space.
# Loading screen texts and hints.
# Hints - one liners.
# Options menu - labels.
# Most of them are designed to be all in upper-case.
# Generic 'a feature is turned on' text.
# Generic 'a feature is turned off' text.
# Generic 'a feature is in use' text.
# Generic 'a feature is not used' text.
# Display (resolution, graphics options) panel of options menu.
# Controls (key mappings to actions) panel of options menu.
# Controller panel of options menu - setup of steering wheels and joypads.
# Audio (volume) panel of options menu.
# Display panel - label of entry to choose resolution to run in.
# Display panel - label of entry to choose refresh rate for fullscreen mode.
# Display panel - label of preset of visual quality.
# Display panel - reflection quality and visual quality set to low.
# Display panel - visual quality set to medium.
# Display panel - reflection quality and visual quality set to high.
# Display panel - visual quality set to custom level.
# Display panel - label of run the game in full-screen option.
# Dialog that is present to user after they alter resolution / full-screen mode.
# Used in dialog informing the user that the old settings will revert automatically in XX seconds.
# ui_reverting_in TIME-AMOUNT ui_sec
# Treat it just like prefix and suffix of the sentence.
# Sound panel - label for enable / disable music option.
# Sound panel - label for enable / disable sound effects option.
# Sound panel - label for reverse stereo option.
# Sound panel - volume of music in game.
# Sound panel - volume of sound effects in game.
# Controller panel - label for enable / disable force feedback on joystick / steering wheel.
# Controller panel - sensitivity of steering.
# Controller panel - label of joypad / wheel axis used for left / right steering.
# Controller panel - label of joypad / wheel axis deadzone width.
# Controller panel - "name" of axis if there is none assigned.
# Primary and secondary key to execute given action (open door, honk horn, etc.).
# These are labels of table, and should be visually centred above their columns.
# Check it in game visually, and prepend a few spaces in front, to align it properly.
# Controls panel - no key was assigned to given function.
# key names
# Controller panel - use keyboard - after this text, follows also plus sign,
# and name of the steering wheel or joypad / joystick,
# retrieved from operating system.
# So in the result, the text looks like:
# Keyboard + Logitech Wheel XD-13
# Controller panel - use only keyboard.
# Display panel - default refresh rate in options.
# Controls (control definition panel and help panel).
# In upper-case.
# Action - steer front wheels to left.
# Action - steer front wheels to right.
# Action - throttle / gas.
# Action - brake (or throttle while reversing).
# Action - operate doors (open and close).
# Action - turn on left turning indicators.
# Action - turn on right turning indicators.
# Action - turn on the four-way-flasher (emergency use of blinkers).
# Action - show left mirror.
# Action - show right mirror.
# Action - camera toggle.
# Action - honk the horn.
# Action - generate a screenshot.
# Route selector - tier labels.
# Final debriefing panel labels - generic labels, then route-type specific labels.
# HUD zooming messages.
# They are followed by score value.
# May contain only ASCII characters (or basic Cyrillic), just like ui_quit_confirm message.
# The length is limited - you may use up to 8 characters.
# HUD scroller/panel messages.
# Must be all in upper case, as the font does not contain lower cases.
# May contain only ASCII characters (or basic Cyrillic), just like ui_quit_confirm message.
# The length is not limited (up to reasonable length),
# but try to be terse - our player will read them while driving.
# Bus-stop panel Go/Stop message.
# They must be up to four characters.
# Only uppercase ASCII / Cyrillic.
# Mile-based bonuse - scrolling texts.
# Only uppercase ASCII / Cyrillic.
# Hint provided when being near a bus-stop.
# The program adds the keys used to open doors automatically,
# by pasting ui_open_door_prefix, name of the primary key, ui_or_word, name of the secondary key, and ui_open_door_suffix -
# in this order.
# Only uppercase ASCII / Cyrillic.
# HUD elements (static).
# Intentionally all in lower-case.
# Must be quite short, check them in-game on HUD.
# Label near number of passengers leaving on next bus-stop.
# Label near number of passengers currently in bus.
# Label near number of sitting passengers in bus.
# Label near number of standing passengers in bus.
# Label near number of passengers waiting on bus-stop.
# Label near current penalty / bonus.
# Label near total accumulated score.
# Label on radar - distance towards next bus-stop or check-point.
# Label on HUD - brake intensity.
# Route titles and briefings.
# They are quite length-sensitive.
# The title is written all on one line,
# and must be shorter than approximately 30 characters.
# The title usually contains bus number and some specific identification.
# Briefing is formatted in two paragraphs (most often),
# and contains some description as well as some game-playing hints.
# If you have problem that the translated version is considerable longer
# (roughly, after 360 characters you will reach the point where the text does not fit in the alloted space),
# do not hesitate to shorten the text in very creative ways,
# even by skipping whole portions of it.
# These briefings are for identification, as source of game-play wisdom, and for amusement -
# they rarely contain absolutely vital information.
# Names of bus stops, city quarters and other points are often colour-coded -
# \r is a mark for start and \0 for end of text written in red.
# Keep this colour coding in the translated version -
# it makes the briefing more readable and better serving the game-play.
# Note that names of bus stops and other important locations
# is most likely not localized in your version of the game -
# they are written on various (navigation) signs and panels,
# and you have no method of changing them.
# Thus keep them in English in briefings, too.
# there is no prison2
local_bus_stop.def#
Only contained in en_gb and en_us. The files are exactly the same and contain names of cities and towns from the UK...
# Bus stop names.
# Note that some of them repeat -
# it is essential that the names that match remain the same.
#ui_bus_stop133: "Battersea"
#ui_bus_stop91: "Cheam"
# ui_bus_stop49: "Chislehurst"
#ui_bus_stop86: "Colindale"
# ui_bus_stop120: "Copt Gilders"
#ui_bus_stop85: "Cricklewood"
#ui_bus_stop177: "Croydon"
#ui_bus_stop147: "Euston"
#ui_bus_stop99: "Falconwood"
#ui_bus_stop187: "Harrow"
# ui_bus_stop157: "Hendon"
#ui_bus_stop58: "Locksbottom"
#ui_bus_stop551: "Noak Hill"
#ui_bus_stop193: "North Finchley"
#ui_bus_stop197: "Northolt"
#ui_bus_stop88: "Palmers Green"
#ui_bus_stop129: "Peckham"
#ui_bus_stop158: "Plumstead"
# ui_bus_stop124: "Potters Bar"
# ui_bus_stop61: "Romford"
#ui_bus_stop412: "Sanderstead"
# ui_bus_stop71: "South Harrow"
# ui_bus_stop123: "St. Albans"
advertisement.sii#
Contained in all language folders. Again, cs_cz doesn't contain instructions.
# HELP
#
# This file contains scrolling text ("advertising") shown in main menu of the game.
# It specifies both content (messages) and timing of those messages.
# The panel is made of two portions -
# upper line contains scrolling text,
# lower line zooming text.
#
# To localize the game in other language,
# you have to translate the text,
# and adjust the timing to match the new sentence / word lengths.
#
# Each 'advertising' is made of sequence of pairs of messages.
# The game walks those pairs in sequence,
# exactly one second apart.
# If there is a non-empty string in one of the slots
# (scale_msg[] for zooming portion of the panel,
# scroll_msg[] for the scrolling portion of the panel),
# it will start printing the text in given area.
# Empty string means no change to previous state.
#
# Translators may change only the text in double quotation marks.
# The text must be completely in upper-case, as the panel font does not contain lower cases.
# The text must not contain any character outside plain ASCII or basic Cyrillic.
# The font has very limited set of characters, due to lack of space.
# (If you use Cyrillic, you must switch your editor into CP-1251 encoding.)
#
# After you translate the messages,
# run the game and check that the altered message lengths did not spoil the timing.
# If the scrolling message got longer,
# you will need to produce more pairs scale_msg[] / scroll_msg[],
# to compensate for the time it takes to scroll the message through the panel.
#
# Hints
#
# Keep the pace for zooming messages -
# if you repeate a motto several times,
# be sure to maintain the rhythm,
# keeping the same amount of slots in between.
#
# For zooming messages,
# always keep one empty slot between consecutive words -
# it makes the message easier to read.
#
#
# Advertising: "SCS Software presents Bus Driver".
#
#
# Advertising: "Learning how to drive a bus takes time".
#
#
# Advertising: "Check www.busdrivergame.com".
#
#
# Advertising: "Check www.scssoft.com".
#