1# Tux Racer initialization script
2
3#
4# Save data directory
5#
6set tux_data_dir [pwd]
7
8#
9# Useful subroutines
10#
11proc tux_goto_data_dir {} {
12    global tux_data_dir
13    cd $tux_data_dir
14}
15
16proc tux_course_init {} {
17    global tux_data_dir
18    source "$tux_data_dir/courses/common/courseinit.tcl"
19}
20
21#
22# Read course index
23#
24source courses/course_idx.tcl
25
26#
27# Set Up Music
28#
29
30# Splash & Start screens
31if { [tux_load_music start_screen music/start1-jt.it] } {
32    tux_bind_music splash_screen start_screen -1
33    tux_bind_music start_screen start_screen -1
34}
35
36# Options screen
37if { [tux_load_music options_screen music/options1-jt.it] } {
38    tux_bind_music credits_screen options_screen -1
39}
40
41# Music played during race
42if { [tux_load_music racing music/race1-jt.it] } {
43    tux_bind_music intro racing -1
44    tux_bind_music racing racing -1
45    tux_bind_music paused racing -1
46}
47
48# Game Over screen
49if { [tux_load_music game_over music/wonrace1-jt.it] } {
50    tux_bind_music game_over game_over 1
51}
52
53
54#
55# Set Up Sounds
56#
57
58# Tree Hit
59if { [tux_load_sound tree_hit1 sounds/tux_hit_tree1.wav] } {
60    tux_bind_sounds tree_hit tree_hit1
61}
62
63# Fish Pickup
64if { [tux_load_sound fish_pickup_sound_1 sounds/fish_pickup1.wav]&&
65     [tux_load_sound fish_pickup_sound_2 sounds/fish_pickup2.wav]&&
66     [tux_load_sound fish_pickup_sound_3 sounds/fish_pickup3.wav] } \
67{
68    tux_bind_sounds item_collect fish_pickup_sound_1 \
69	                         fish_pickup_sound_2 \
70				 fish_pickup_sound_3
71}
72
73# Snow Sliding
74if { [tux_load_sound snow_sound sounds/tux_on_snow1.wav] } {
75    tux_bind_sounds snow_sound snow_sound
76    tux_bind_sounds flying_sound snow_sound
77}
78
79# Rock Sliding
80if { [tux_load_sound rock_sound sounds/tux_on_rock1.wav] } {
81    tux_bind_sounds rock_sound rock_sound
82}
83
84# Ice Sliding
85if { [tux_load_sound ice_sound sounds/tux_on_ice1.wav] } {
86    tux_bind_sounds ice_sound ice_sound
87}
88
89# Track marks
90tux_load_texture track_head courses/common/buttstart.rgb 1
91tux_load_texture track_mark courses/common/buttprint.rgb 1
92tux_load_texture track_tail courses/common/buttstop.rgb 1
93tux_bind_texture track_head track_head
94tux_bind_texture track_mark track_mark
95tux_bind_texture track_tail track_tail
96
97# Splash screen
98tux_load_texture splash_screen_tr textures/splash_tr.rgb 0
99tux_load_texture splash_screen_br textures/splash_br.rgb 0
100tux_load_texture splash_screen_tl textures/splash_tl.rgb 0
101tux_load_texture splash_screen_bl textures/splash_bl.rgb 0
102
103tux_bind_texture splash_screen_tr splash_screen_tr
104tux_bind_texture splash_screen_br splash_screen_br
105tux_bind_texture splash_screen_tl splash_screen_tl
106tux_bind_texture splash_screen_bl splash_screen_bl
107
108# Snow Particle
109tux_load_texture snow_particle courses/common/snowparticles.rgb 0
110tux_bind_texture snow_particle snow_particle
111
112# Fonts
113tux_load_texture trebuchet_yel_blk fonts/trebuchet_yel_blk.rgb 0
114tux_load_font -name trebuchet_yel_blk -file fonts/trebuchet.tfm \
115              -texture trebuchet_yel_blk
116tux_bind_font -binding time_label -font trebuchet_yel_blk -size 20
117tux_bind_font -binding time_value -font trebuchet_yel_blk -size 30
118tux_bind_font -binding time_hundredths -font trebuchet_yel_blk -size 20
119tux_bind_font -binding herring_count -font trebuchet_yel_blk -size 30
120tux_bind_font -binding speed_digits -font trebuchet_yel_blk -size 35
121tux_bind_font -binding speed_units -font trebuchet_yel_blk -size 20
122tux_bind_font -binding fps -font trebuchet_yel_blk -size 20
123
124tux_load_texture trebuchet_white fonts/trebuchet_white.rgb 0
125tux_load_font -name trebuchet_white -file fonts/trebuchet.tfm \
126              -texture trebuchet_white
127tux_bind_font -binding button_label -font trebuchet_white -size 30
128tux_bind_font -binding button_label_hilit -font trebuchet_white -size 30 \
129              -colour { 1.00 0.89 0.01 1.0 }
130tux_bind_font -binding button_label_disabled -font trebuchet_white -size 30 \
131              -colour { 1.0 1.0 1.0 0.5 }
132tux_bind_font -binding menu_label -font trebuchet_white -size 30
133tux_bind_font -binding listbox_item -font trebuchet_white -size 22 \
134              -colour { 1.00 0.89 0.01 1.0 }
135tux_bind_font -binding event_and_cup_label -font trebuchet_white -size 22
136tux_bind_font -binding race_description -font trebuchet_white -size 16
137tux_bind_font -binding race_requirements_label -font trebuchet_white -size 13 \
138              -colour { 1.00 0.95 0.01 1.0 }
139tux_bind_font -binding race_requirements -font trebuchet_white -size 13
140tux_bind_font -binding cup_status -font trebuchet_white -size 16 \
141              -colour { 1.00 0.89 0.01 1.0 }
142tux_bind_font -binding race_over -font trebuchet_yel_blk -size 40
143tux_bind_font -binding race_stats -font trebuchet_yel_blk -size 25
144tux_bind_font -binding race_stats_label -font trebuchet_yel_blk -size 25
145tux_bind_font -binding race_result_msg -font trebuchet_yel_blk -size 25
146tux_bind_font -binding paused -font trebuchet_yel_blk -size 40
147
148tux_bind_font -binding credits_h1 -font trebuchet_yel_blk -size 30
149tux_bind_font -binding credits_h2 -font trebuchet_yel_blk -size 20
150tux_bind_font -binding credits_text -font trebuchet_white -size 20
151tux_bind_font -binding credits_text_small -font trebuchet_white -size 14
152
153tux_bind_font -binding loading -font trebuchet_yel_blk -size 30
154
155# HUD
156tux_load_texture herring_icon textures/herringicon.rgb 0
157tux_bind_texture herring_icon herring_icon
158
159tux_load_texture gauge_outline textures/gaugeoutline.rgb 0
160tux_bind_texture gauge_outline gauge_outline
161
162tux_load_texture gauge_energy_mask textures/gaugeenergymask.rgb 0
163tux_bind_texture gauge_energy_mask gauge_energy_mask
164
165tux_load_texture gauge_speed_mask textures/gaugespeedmask.rgb 0
166tux_bind_texture gauge_speed_mask gauge_speed_mask
167
168# UI widgets
169tux_load_texture listbox_arrows textures/listbox_arrows.rgb 0
170tux_bind_texture listbox_arrows listbox_arrows
171tux_bind_texture textarea_arrows listbox_arrows
172
173tux_load_texture mirror_button textures/mirror_button.rgb 0
174tux_bind_texture mirror_button mirror_button
175
176tux_load_texture conditions_button textures/conditions_button.rgb 0
177tux_bind_texture conditions_button conditions_button
178
179tux_load_texture snow_button textures/snow_button.rgb 0
180tux_bind_texture snow_button snow_button
181
182tux_load_texture wind_button textures/wind_button.rgb 0
183tux_bind_texture wind_button wind_button
184
185
186# Menu decorations
187tux_load_texture menu_bottom_left textures/menu_bottom_left.rgb 0
188tux_bind_texture menu_bottom_left menu_bottom_left
189
190tux_load_texture menu_bottom_right textures/menu_bottom_right.rgb 0
191tux_bind_texture menu_bottom_right menu_bottom_right
192
193tux_load_texture menu_top_left textures/menu_top_left.rgb 0
194tux_bind_texture menu_top_left menu_top_left
195
196tux_load_texture menu_top_right textures/menu_top_right.rgb 0
197tux_bind_texture menu_top_right menu_top_right
198
199tux_load_texture menu_title textures/menu_title.rgb 0
200tux_bind_texture menu_title menu_title
201
202# Tux life icon
203tux_load_texture tux_life textures/tuxlife.rgb 0
204tux_bind_texture tux_life tux_life
205
206# Mouse cursor
207tux_load_texture mouse_cursor textures/mouse_cursor.rgb 0
208tux_bind_texture mouse_cursor mouse_cursor
209