SuperTuxKart 1.5 upstream source (from official release tarball)

This commit is contained in:
Benjamin
2026-06-11 20:04:02 +02:00
commit 2957e51aaa
8551 changed files with 1801800 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 17016 -->
<graph>
<!-- First define all nodes of the graph, and what quads they represent -->
<node-list from-quad="0" to-quad="108"/> <!-- map each quad to a node -->
<!-- Define the main loop -->
<edge-loop from="0" to="108"/>
</graph>
Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

+34
View File
@@ -0,0 +1,34 @@
<?xml version="1.0"?>
<!-- Generated with script from SVN rev Unknown -->
<materials>
<material name="bigFork.png" ignore="Y" shader="alphatest"/>
<material name="cactus.png" shader="alphatest"/>
<material name="sageBrush.jpg" ignore="Y" mask="sageBrush_alpha.jpg" shader="alphatest"/>
<material name="grass.png" ignore="Y" shader="alphatest"/>
<material name="hacienda_ground_dark.jpg">
<particles base="smoke.xml" condition="skid"/>
</material>
<material name="hacienda_groundTodark.jpg">
<particles base="smoke.xml" condition="skid"/>
</material>
<material name="l_lampsglass0.png" shader="alphablend"/>
<material name="mill.png" ignore="Y" shader="alphatest"/>
<material name="millstructure.png" ignore="Y" shader="alphatest"/>
<material name="palmacacia.jpg" ignore="Y" mask="palmacacia_alpha.jpg" shader="alphatest"/>
<material name="pix.png" reset="Y" shader="alphatest"/>
<material name="sageBrush.jpg" ignore="Y" mask="sageBrush_alpha.jpg" shader="alphatest"/>
<material name="tail.png" ignore="Y" shader="alphatest"/>
<material name="traildust.jpg">
<particles base="smoke_brown.xml" condition="skid"/>
</material>
<material name="trailrock.jpg">
<particles base="smoke.xml" condition="skid"/>
</material>
<material name="trailrock2dust.jpg">
<particles base="smoke_brown.xml" condition="skid"/>
</material>
<material name="wind_mill.png" shader="alphatest"/>
<material name="windmill_palm_detail.png" shader="alphatest"/>
<material name="zipper-effect.png" shader="alphablend"/>
<material name="zipper.png" shader="alphablend"/>
</materials>
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

+115
View File
@@ -0,0 +1,115 @@
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 17016 -->
<quads>
<height-testing min="-1.000000" max="5.000000"/>
<!-- Driveline: Curve.001 -->
<quad p0="-4.000 -0.990 0.030" p1="4.000 -0.990 -0.030" p2="4.000 -0.990 9.979" p3="-4.000 -0.990 10.021"/>
<quad p0="0:3" p1="0:2" p2="4.000 -0.990 19.989" p3="-4.000 -0.990 20.011"/>
<quad p0="1:3" p1="1:2" p2="4.000 -0.990 29.998" p3="-4.000 -0.990 30.002"/>
<quad p0="2:3" p1="2:2" p2="4.034 -0.990 40.422" p3="-3.965 -0.990 40.532"/>
<quad p0="3:3" p1="3:2" p2="4.273 -0.990 50.026" p3="-3.718 -0.990 50.412"/>
<quad p0="4:3" p1="4:2" p2="4.912 -0.990 58.743" p3="-3.037 -0.990 59.644"/>
<quad p0="5:3" p1="5:2" p2="6.129 -0.990 66.510" p3="-1.685 -0.990 68.224"/>
<quad p0="6:3" p1="6:2" p2="8.077 -0.990 73.280" p3="0.604 -0.990 76.135"/>
<quad p0="7:3" p1="7:2" p2="10.887 -0.990 79.054" p3="4.113 -0.990 83.310"/>
<quad p0="8:3" p1="8:2" p2="14.730 -0.990 83.921" p3="9.089 -0.990 89.594"/>
<quad p0="9:3" p1="9:2" p2="19.888 -0.990 88.003" p3="15.668 -0.990 94.799"/>
<quad p0="10:3" p1="10:2" p2="26.718 -0.990 91.335" p3="23.907 -0.990 98.825"/>
<quad p0="11:3" p1="11:2" p2="35.534 -0.990 93.845" p3="33.910 -0.990 101.678"/>
<quad p0="12:3" p1="12:2" p2="46.568 -0.990 95.428" p3="45.862 -0.990 103.397"/>
<quad p0="13:3" p1="13:2" p2="60.013 -0.990 96.000" p3="59.987 -0.990 104.000"/>
<quad p0="14:3" p1="14:2" p2="81.262 -0.990 96.000" p3="81.238 -0.990 104.000"/>
<quad p0="15:3" p1="15:2" p2="102.512 -0.990 96.000" p3="102.488 -0.990 104.000"/>
<quad p0="16:3" p1="16:2" p2="123.762 -0.990 96.000" p3="123.738 -0.990 104.000"/>
<quad p0="17:3" p1="17:2" p2="145.011 -0.990 96.000" p3="144.989 -0.990 104.000"/>
<quad p0="18:3" p1="18:2" p2="166.261 -0.990 96.000" p3="166.239 -0.990 104.000"/>
<quad p0="19:3" p1="19:2" p2="187.511 -0.990 96.000" p3="187.489 -0.990 104.000"/>
<quad p0="20:3" p1="20:2" p2="208.760 -0.990 96.000" p3="208.740 -0.990 104.000"/>
<quad p0="21:3" p1="21:2" p2="230.010 -0.990 96.000" p3="229.990 -0.990 104.000"/>
<quad p0="22:3" p1="22:2" p2="241.284 -0.892 96.468" p3="240.443 -0.892 104.424"/>
<quad p0="23:3" p1="23:2" p2="252.741 -0.620 98.412" p3="250.937 -0.620 106.206"/>
<quad p0="24:3" p1="24:2" p2="263.887 -0.209 101.699" p3="261.172 -0.209 109.224"/>
<quad p0="25:3" p1="25:2" p2="274.356 0.306 106.215" p3="270.718 0.306 113.340"/>
<quad p0="26:3" p1="26:2" p2="283.778 0.891 111.867" p3="279.150 0.891 118.393"/>
<quad p0="27:3" p1="27:2" p2="291.772 1.510 118.595" p3="286.054 1.510 124.190"/>
<quad p0="28:3" p1="28:2" p2="297.913 2.129 126.377" p3="291.058 2.129 130.501"/>
<quad p0="29:3" p1="29:2" p2="301.669 2.714 135.184" p3="293.901 2.714 137.099"/>
<quad p0="30:3" p1="30:2" p2="302.390 3.229 144.802" p3="294.436 3.229 143.947"/>
<quad p0="31:3" p1="31:2" p2="299.585 3.640 154.729" p3="292.360 3.640 151.292"/>
<quad p0="32:3" p1="32:2" p2="293.079 3.912 164.553" p3="287.051 3.912 159.294"/>
<quad p0="33:3" p1="33:2" p2="282.272 4.010 174.463" p3="278.315 4.010 167.510"/>
<quad p0="34:3" p1="34:2" p2="268.893 4.108 178.267" p3="267.711 4.108 170.355"/>
<quad p0="35:3" p1="35:2" p2="257.626 4.380 178.228" p3="258.894 4.380 170.330"/>
<quad p0="36:3" p1="36:2" p2="248.064 4.791 174.875" p3="251.919 4.791 167.865"/>
<quad p0="37:3" p1="37:2" p2="240.423 5.306 168.821" p3="246.220 5.306 163.308"/>
<quad p0="38:3" p1="38:2" p2="234.618 5.891 160.853" p3="241.532 5.891 156.829"/>
<quad p0="39:3" p1="39:2" p2="230.334 6.510 151.596" p3="237.815 6.510 148.761"/>
<quad p0="40:3" p1="40:2" p2="227.267 7.129 141.533" p3="235.026 7.129 139.582"/>
<quad p0="41:3" p1="41:2" p2="225.168 7.714 131.110" p3="233.060 7.714 129.804"/>
<quad p0="42:3" p1="42:2" p2="223.824 8.229 120.776" p3="231.780 8.229 119.937"/>
<quad p0="43:3" p1="43:2" p2="223.043 8.640 110.990" p3="231.027 8.640 110.481"/>
<quad p0="44:3" p1="44:2" p2="222.640 8.912 102.225" p3="230.634 8.912 101.921"/>
<quad p0="45:3" p1="45:2" p2="222.432 9.010 94.879" p3="230.432 9.010 94.820"/>
<quad p0="46:3" p1="46:2" p2="222.535 8.813 87.971" p3="230.534 8.813 88.131"/>
<quad p0="47:3" p1="47:2" p2="222.710 8.269 80.900" p3="230.706 8.269 81.172"/>
<quad p0="48:3" p1="48:2" p2="223.024 7.448 73.651" p3="231.011 7.448 74.105"/>
<quad p0="49:3" p1="49:2" p2="223.542 6.417 66.294" p3="231.511 6.417 67.000"/>
<quad p0="50:3" p1="50:2" p2="224.332 5.248 58.901" p3="232.265 5.248 59.933"/>
<quad p0="51:3" p1="51:2" p2="225.462 4.010 51.540" p3="233.332 4.010 52.977"/>
<quad p0="52:3" p1="52:2" p2="227.005 2.772 44.279" p3="234.769 2.772 46.209"/>
<quad p0="53:3" p1="53:2" p2="229.034 1.603 37.188" p3="236.629 1.603 39.703"/>
<quad p0="54:3" p1="54:2" p2="231.627 0.573 30.339" p3="238.963 0.572 33.530"/>
<quad p0="55:3" p1="55:2" p2="234.861 -0.249 23.809" p3="241.819 -0.249 27.758"/>
<quad p0="56:3" p1="56:2" p2="238.816 -0.793 17.685" p3="245.246 -0.793 22.444"/>
<quad p0="57:3" p1="57:2" p2="243.318 -0.990 12.339" p3="249.546 -0.990 17.360"/>
<quad p0="58:3" p1="58:2" p2="250.814 -1.187 2.845" p3="257.603 -1.187 7.078"/>
<quad p0="59:3" p1="59:2" p2="254.922 -1.731 -6.092" p3="262.544 -1.731 -3.663"/>
<quad p0="60:3" p1="60:2" p2="256.422 -2.553 -14.718" p3="264.412 -2.553 -14.322"/>
<quad p0="61:3" p1="61:2" p2="255.745 -3.583 -23.055" p3="263.599 -3.583 -24.577"/>
<quad p0="62:3" p1="62:2" p2="253.222 -4.752 -31.067" p3="260.597 -4.752 -34.168"/>
<quad p0="63:3" p1="63:2" p2="249.171 -5.990 -38.620" p3="255.910 -5.990 -42.931"/>
<quad p0="64:3" p1="64:2" p2="243.949 -7.228 -45.528" p3="250.004 -7.228 -50.757"/>
<quad p0="65:3" p1="65:2" p2="237.953 -8.397 -51.596" p3="243.306 -8.397 -57.542"/>
<quad p0="66:3" p1="66:2" p2="231.606 -9.427 -56.637" p3="236.213 -9.427 -63.177"/>
<quad p0="67:3" p1="67:2" p2="225.362 -10.249 -60.470" p3="229.097 -10.249 -67.545"/>
<quad p0="68:3" p1="68:2" p2="219.726 -10.793 -62.930" p3="222.273 -10.793 -70.514"/>
<quad p0="69:3" p1="69:2" p2="216.010 -10.990 -63.920" p3="215.253 -10.990 -71.884"/>
<quad p0="70:3" p1="70:2" p2="211.794 -11.187 -62.306" p3="210.469 -11.187 -73.720"/>
<quad p0="71:3" p1="71:2" p2="205.212 -11.731 -56.271" p3="203.838 -11.731 -71.695"/>
<quad p0="72:3" p1="72:2" p2="197.261 -12.552 -47.087" p3="195.344 -11.671 -70.523"/>
<quad p0="73:3" p1="73:2" p2="188.552 -13.583 -36.439" p3="189.562 -12.113 -70.118"/>
<quad p0="74:3" p1="74:2" p2="179.419 -14.752 -25.887" p3="182.017 -13.727 -67.592"/>
<quad p0="75:3" p1="75:2" p2="170.047 -15.990 -16.911" p3="177.528 -14.390 -66.351"/>
<quad p0="76:3" p1="76:2" p2="160.265 -17.228 -11.011" p3="169.749 -14.822 -68.142"/>
<quad p0="77:3" p1="77:2" p2="149.622 -18.397 -10.654" p3="163.583 -15.384 -70.998"/>
<quad p0="78:3" p1="78:2" p2="140.665 -19.427 -18.238" p3="160.425 -16.456 -72.872"/>
<quad p0="79:3" p1="79:2" p2="134.446 -20.249 -33.277" p3="157.541 -16.791 -75.193"/>
<quad p0="80:3" p1="80:2" p2="130.186 -20.793 -57.217" p3="155.511 -17.459 -81.694"/>
<quad p0="81:3" p1="81:2" p2="127.904 -20.990 -91.678" p3="151.423 -17.344 -94.877"/>
<quad p0="82:3" p1="82:2" p2="126.353 -20.793 -105.425" p3="147.537 -18.412 -109.421"/>
<quad p0="83:3" p1="83:2" p2="122.976 -20.249 -115.865" p3="139.589 -17.868 -123.008"/>
<quad p0="84:3" p1="84:2" p2="118.240 -19.427 -123.430" p3="129.143 -17.046 -132.937"/>
<quad p0="85:3" p1="85:2" p2="112.560 -18.397 -128.439" p3="116.905 -18.397 -135.156"/>
<quad p0="86:3" p1="86:2" p2="106.204 -17.228 -131.226" p3="108.299 -17.228 -138.947"/>
<quad p0="87:3" p1="87:2" p2="99.346 -15.990 -132.001" p3="99.146 -15.990 -139.999"/>
<quad p0="88:3" p1="88:2" p2="92.221 -14.752 -130.845" p3="89.968 -14.752 -138.521"/>
<quad p0="89:3" p1="89:2" p2="85.164 -13.583 -127.812" p3="81.182 -13.583 -134.750"/>
<quad p0="90:3" p1="90:2" p2="78.557 -12.552 -122.987" p3="73.158 -12.552 -128.890"/>
<quad p0="91:3" p1="91:2" p2="72.788 -11.731 -116.485" p3="66.264 -11.731 -121.115"/>
<quad p0="92:3" p1="92:2" p2="68.229 -11.187 -108.430" p3="60.879 -11.187 -111.590"/>
<quad p0="93:3" p1="93:2" p2="65.107 -10.990 -98.428" p3="57.532 -10.990 -101.001"/>
<quad p0="94:3" p1="94:2" p2="61.683 -10.793 -89.355" p3="54.747 -10.793 -93.342"/>
<quad p0="95:3" p1="95:2" p2="55.789 -10.249 -82.589" p3="50.713 -10.249 -88.773"/>
<quad p0="96:3" p1="96:2" p2="48.461 -9.427 -78.369" p3="45.290 -9.427 -85.714"/>
<quad p0="97:3" p1="97:2" p2="40.526 -8.397 -75.884" p3="38.549 -8.397 -83.636"/>
<quad p0="98:3" p1="98:2" p2="32.473 -7.228 -74.246" p3="30.898 -7.228 -82.089"/>
<quad p0="99:3" p1="99:2" p2="24.723 -5.990 -72.708" p3="22.812 -5.990 -80.477"/>
<quad p0="100:3" p1="100:2" p2="17.736 -4.752 -70.659" p3="14.729 -4.752 -78.073"/>
<quad p0="101:3" p1="101:2" p2="11.928 -3.583 -67.616" p3="7.130 -3.583 -74.018"/>
<quad p0="102:3" p1="102:2" p2="7.438 -2.552 -63.065" p3="0.772 -2.553 -67.488"/>
<quad p0="103:3" p1="103:2" p2="4.278 -1.731 -56.052" p3="-3.457 -1.731 -58.094"/>
<quad p0="104:3" p1="104:2" p2="2.892 -1.187 -45.477" p3="-5.107 -1.187 -45.598"/>
<quad p0="105:3" p1="105:2" p2="4.000 -0.990 -30.059" p3="-4.000 -0.990 -29.941"/>
<quad p0="106:3" p1="106:2" p2="4.000 -0.990 -20.049" p3="-4.000 -0.990 -19.951"/>
<quad p0="107:3" p1="107:2" p2="0:1" p3="0:0"/>
</quads>
Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

+154
View File
@@ -0,0 +1,154 @@
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 17016 -->
<scene>
<lod>
<group name="lantern">
<static-object lod_distance="50" lod_group="lantern" model="Mesh.spm" xyz="-14.00 3.85 0.00" hpr="-90.0 -0.0 0.0" scale="1.00 1.00 1.00" interaction="static" skeletal-animation="false"/>
<static-object lod_distance="225" lod_group="lantern" model="Mesh.001.spm" xyz="-14.00 3.85 -3.00" hpr="-90.0 -0.0 0.0" scale="1.00 1.00 1.00" interaction="static" skeletal-animation="false"/>
</group>
</lod>
<track model="tutorial_track.spm" x="0" y="0" z="0">
<static-object model="CollisionShape2.spm" xyz="0.00 -1.00 0.00" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00" interaction="physics-only"/>
<static-object model="CollisionShape.spm" xyz="0.00 -3.79 0.00" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00" interaction="physics-only"/>
<static-object lod_instance="true" lod_group="lantern" xyz="10.14 6.63 0.06" hpr="-90.0 -0.0 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="22.17 7.75 -34.18" hpr="-90.0 -0.0 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="11.09 7.33 39.96" hpr="-90.0 -0.0 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="13.06 7.33 77.28" hpr="-90.0 14.6 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="46.18 5.93 109.09" hpr="-90.0 -83.7 -0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="92.75 6.03 99.83" hpr="-90.0 -12.5 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="225.33 7.74 98.55" hpr="-90.0 -12.5 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="230.10 15.52 104.96" hpr="-90.0 -12.5 0.0" scale="1.00 1.00 1.00"/>
<static-object lod_instance="true" lod_group="lantern" xyz="155.89 -11.38 -86.34" hpr="-90.0 -12.5 0.0" scale="1.00 1.00 1.00"/>
<static-object model="Plane.002.spm" xyz="309.95 6.82 191.00" hpr="-90.0 45.0 -0.0" scale="1.00 1.00 1.00"/>
<static-object model="Plane.009.spm" xyz="-10.54 3.53 104.22" hpr="-90.0 114.4 0.0" scale="1.00 1.00 1.00"/>
<static-object model="Plane.010.spm" xyz="-16.84 3.61 84.85" hpr="-90.0 90.0 0.0" scale="1.00 1.00 1.00"/>
<static-object model="InvisibleWalls.spm" xyz="-10.00 0.00 0.00" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00" interaction="physics-only"/>
<static-object model="arrow.spm" xyz="305.46 5.51 116.76" hpr="-0.0 -157.4 0.0" scale="1.00 1.00 1.00">
<animated-texture name="zipper.png" dy="1.50000" />
</static-object>
<static-object model="Plane.018.spm" xyz="-9.29 1.06 124.16" hpr="90.0 124.0 -0.0" scale="1.55 1.55 1.55"/>
<static-object model="Plane.019.spm" xyz="-36.55 1.06 94.62" hpr="90.0 124.0 -0.0" scale="2.07 2.07 2.07"/>
<static-object model="arrow2.spm" xyz="305.57 5.51 116.71" hpr="-0.0 -157.4 0.0" scale="1.00 1.00 1.00">
<animated-texture name="zipper-effect.png" dy="0.10000" />
</static-object>
<static-object model="Plane.021.spm" xyz="93.92 5.44 103.47" hpr="0.0 -0.0 -100.0" scale="1.40 1.40 1.40"/>
<static-object model="Plane.023.spm" xyz="93.92 5.24 96.52" hpr="0.0 -0.0 -100.0" scale="1.98 1.98 1.98"/>
<static-object model="Plane.024.spm" xyz="82.68 5.24 102.69" hpr="-2.4 -0.1 -91.5" scale="1.98 1.98 1.98"/>
<static-object model="Plane.025.spm" xyz="73.05 5.24 95.99" hpr="-2.4 -0.1 -91.5" scale="2.35 2.35 2.35"/>
<static-object model="Plane.026.spm" xyz="107.74 5.24 98.91" hpr="0.0 -0.0 -100.0" scale="1.98 1.98 1.98"/>
<static-object model="Plane.043.spm" xyz="388.00 4.05 13.78" hpr="0.0 86.7 0.0" scale="2.51 2.51 2.51"/>
<static-object model="Plane.044.spm" xyz="388.00 11.03 153.43" hpr="0.0 56.7 0.0" scale="2.88 2.88 2.88"/>
<static-object model="Plane.045.spm" xyz="388.00 1.69 -116.02" hpr="0.0 32.7 0.0" scale="3.76 3.76 3.76"/>
<static-object model="Plane.046.spm" xyz="311.03 4.97 68.85" hpr="0.0 56.7 0.0" scale="2.88 2.88 2.88"/>
<static-object model="Plane.047.spm" xyz="309.84 -3.36 13.81" hpr="0.0 56.7 0.0" scale="2.88 2.88 2.88"/>
<static-object model="Plane.049.spm" xyz="384.46 7.75 112.15" hpr="-90.0 45.0 -0.0" scale="1.00 1.00 1.00"/>
<static-object model="Plane.050.spm" xyz="384.46 -7.07 -25.18" hpr="-90.0 45.0 -0.0" scale="1.00 1.00 1.00"/>
<static-object model="arrow2.spm" xyz="150.00 -10.92 -5.08" hpr="-0.0 83.1 -0.0" scale="1.00 1.00 1.00">
<animated-texture name="zipper-effect.png" dy="0.10000" />
</static-object>
<static-object model="arrow.spm" xyz="150.02 -10.92 -5.21" hpr="-0.0 83.1 -0.0" scale="1.00 1.00 1.00">
<animated-texture name="zipper.png" dy="1.50000" />
</static-object>
<static-object model="arrow2.spm" xyz="44.49 -3.15 -69.72" hpr="0.0 105.2 0.0" scale="1.00 1.00 1.00">
<animated-texture name="zipper-effect.png" dy="0.10000" />
</static-object>
<static-object model="arrow.spm" xyz="44.46 -3.15 -69.84" hpr="0.0 105.2 0.0" scale="1.00 1.00 1.00">
<animated-texture name="zipper.png" dy="1.50000" />
</static-object>
</track>
<object type="movable" id="Cube.010" xyz="116.42 0.82 102.46" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00"
shape="box" mass="10.0" model="WoodenBox.spm" skeletal-animation="false"/>
<object type="movable" id="Cube.011" xyz="116.42 0.82 99.65" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00"
shape="box" mass="10.0" model="WoodenBox.spm" skeletal-animation="false"/>
<object type="movable" id="Cube.013" xyz="116.42 0.82 96.67" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00"
shape="box" mass="10.0" model="WoodenBox.spm" skeletal-animation="false"/>
<object type="movable" id="Cube.014" xyz="116.42 3.05 101.01" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00"
shape="box" mass="10.0" model="WoodenBox.spm" skeletal-animation="false"/>
<object type="movable" id="Cube.015" xyz="116.42 3.10 98.08" hpr="0.0 -0.0 0.0" scale="1.00 1.00 1.00"
shape="box" mass="10.0" model="WoodenBox.spm" skeletal-animation="false"/>
<object id="mill" type="animation" xyz="246.51 39.38 -153.97" hpr="-0.0 146.1 -0.0" scale="1.00 1.00 1.00" interaction="none" model="SomeModel.spm" skeletal-animation="false">
<curve channel="RotZ" interpolation="linear" extend="cyclic">
<p c="1.000 -0.000"/>
<p c="100.000 -360.000"/>
</curve>
</object>
<object id="mill.001" type="animation" xyz="310.57 54.23 -218.05" hpr="-0.0 146.1 -0.0" scale="1.00 1.00 1.00" interaction="none" model="mill.001.spm" skeletal-animation="false">
<curve channel="RotZ" interpolation="linear" extend="cyclic">
<p c="1.000 -0.000"/>
<p c="100.000 -360.000"/>
</curve>
</object>
<object id="mill.002" type="animation" xyz="222.11 39.54 -252.99" hpr="-0.0 146.1 -0.0" scale="1.00 1.00 1.00" interaction="none" model="mill.002.spm" skeletal-animation="false">
</object>
<sun xyz="193.18 204.52 138.56" sun-diffuse="147 144 118" ambient="111 113 120"/>
<sky-box texture="blue_sky_top.jpg blue_sky_top.jpg blue_sky_east.jpg blue_sky_west.jpg blue_sky_south.jpg blue_sky_north.jpg" />
<camera far="1000.0"/>
<checks>
<check-lap kind="lap" same-group="0" />
<check-line kind="activate" other-ids="0" p1="92.13 -13.23 -117.80" p2="79.18 -13.23 -140.23"
same-group="1"/>
</checks>
<object type="action-trigger" trigger-type="point" id="Empty.003" action="tutorial_giftboxes" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="28.15 0.86 95.37" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.004" action="tutorial_backgiftboxes" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="125.21 0.86 100.23" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.005" action="tutorial_nitro_use" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="226.90 9.30 72.73" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.008" action="tutorial_rescue" distance="12.0" reenable-timeout="999999.9" triggered-object="" xyz="233.54 -11.72 -58.81" hpr="0.0 -0.0 0.0" scale="12.00 12.00 12.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.009" action="tutorial_skidding" distance="12.0" reenable-timeout="999999.9" triggered-object="" xyz="188.76 -11.72 -48.27" hpr="0.0 -0.0 0.0" scale="12.00 12.00 12.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.010" action="tutorial_bananas" distance="7.0" reenable-timeout="999999.9" triggered-object="" xyz="1.00 0.58 47.38" hpr="0.0 -0.0 0.0" scale="7.00 7.00 7.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.011" action="tutorial_skidding2" distance="12.0" reenable-timeout="999999.9" triggered-object="" xyz="121.40 -21.14 -127.34" hpr="0.0 -0.0 0.0" scale="12.00 12.00 12.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.042" action="tutorial_nitro_collect" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="268.05 -0.17 108.38" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.045" action="tutorial_exit" distance="9.0" reenable-timeout="999999.9" triggered-object="" xyz="0.15 1.72 -48.40" hpr="0.0 -0.0 0.0" scale="9.00 9.00 9.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.046" action="tutorial_endmessage" distance="9.0" reenable-timeout="999999.9" triggered-object="" xyz="1.03 1.72 -60.90" hpr="0.0 -0.0 0.0" scale="9.00 9.00 9.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.054" action="tutorial_discard" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="229.06 9.30 131.47" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.055" action="tutorial_discard" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="255.82 -0.85 -0.73" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.056" action="tutorial_discard" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="54.64 -10.23 -89.26" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.057" action="tutorial_discard" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="206.95 -1.57 -62.88" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<object type="action-trigger" trigger-type="point" id="Empty.058" action="tutorial_discard" distance="10.0" reenable-timeout="999999.9" triggered-object="" xyz="190.12 -0.50 99.73" hpr="0.0 -0.0 0.0" scale="10.00 10.00 10.00"/>
<banana id="Empty" x="6.16" y="0.63" z="71.97" />
<banana id="Empty.001" x="9.47" y="0.63" z="81.96" />
<banana id="Empty.002" x="1.54" y="0.63" z="76.83" />
<item id="Empty.006" x="60.57" y="1.05" z="98.79" />
<small-nitro id="Empty.007" x="294.06" y="6.41" z="147.62" h="-34.18" />
<small-nitro id="Empty.023" x="288.08" y="6.41" z="167.58" />
<big-nitro id="Empty.024" x="286.39" y="6.41" z="165.53" />
<small-nitro id="Empty.025" x="284.44" y="6.41" z="163.37" />
<item id="Empty.026" x="60.57" y="1.05" z="96.53" />
<item id="Empty.027" x="60.57" y="1.05" z="101.07" />
<item id="Empty.028" x="60.57" y="1.05" z="103.34" />
<small-nitro id="Empty.029" x="296.89" y="6.41" z="148.30" h="-34.18" />
<big-nitro id="Empty.032" x="299.44" y="6.41" z="149.05" h="-34.18" />
<big-nitro id="Empty.033" x="292.87" y="6.41" z="122.69" h="-81.83" />
<small-nitro id="Empty.034" x="290.60" y="6.41" z="124.07" h="-81.83" />
<small-nitro id="Empty.035" x="288.19" y="6.41" z="125.70" h="-81.83" />
<small-nitro id="Empty.036" x="264.27" y="6.41" z="171.07" h="45.32" />
<big-nitro id="Empty.037" x="264.12" y="6.41" z="173.98" h="45.32" />
<small-nitro id="Empty.038" x="263.84" y="6.41" z="176.62" h="45.32" />
<small-nitro id="Empty.039" x="241.25" y="6.41" z="167.95" h="83.20" />
<small-nitro id="Empty.040" x="243.09" y="6.41" z="166.02" h="83.20" />
<big-nitro id="Empty.041" x="245.00" y="6.41" z="163.83" h="83.20" />
<item id="Empty.047" x="122.00" y="0.52" z="98.81" />
<item id="Empty.048" x="122.00" y="0.52" z="103.37" />
<item id="Empty.049" x="122.00" y="0.52" z="101.09" />
<item id="Empty.050" x="122.00" y="0.52" z="96.55" />
<big-nitro id="Empty.051" x="235.85" y="7.86" z="145.49" h="110.00" />
<small-nitro id="Empty.052" x="233.16" y="7.87" z="146.59" h="110.00" />
<small-nitro id="Empty.053" x="230.65" y="7.86" z="147.48" h="110.00" />
<default-start karts-per-row ="2"
forwards-distance ="1.50"
sidewards-distance="3.00"
upwards-distance ="0.10"/>
<start x="0.02" y="2.82" z="-1.66" h="-0.00"/>
<start x="1.00" y="0.00" z="47.38" h="-0.00"/>
<start x="53.57" y="0.00" z="99.85" h="89.81"/>
<start x="125.20" y="0.63" z="99.92" h="90.00"/>
<start x="250.94" y="0.63" z="102.90" h="81.55"/>
<start x="282.30" y="3.07" z="115.59" h="53.55"/>
<start x="294.15" y="5.25" z="154.68" h="-25.86"/>
<start x="254.72" y="6.66" z="172.44" h="-106.70"/>
<start x="227.16" y="9.01" z="117.61" h="184.71"/>
<start x="226.89" y="9.01" z="76.23" h="180.00"/>
<start x="233.10" y="5.36" z="40.14" h="160.11"/>
<start x="205.16" y="-10.46" z="-62.27" h="-62.99"/>
<start x="96.04" y="-14.41" z="-133.82" h="-69.73"/>
<start x="37.62" y="-3.96" z="-80.37" h="-72.58"/>
<start x="-0.95" y="0.10" z="-48.34" h="-0.00"/>
</scene>
+203
View File
@@ -0,0 +1,203 @@
void onStart()
{
Utils::logInfo("onStart(): start Driving Tutorial");
switch (GUI::getRaceGUIType())
{
case GUI::KEYBOARD_GAMEPAD:
GUI::displayStaticMessage(
GUI::translate("Accelerate with <%s>, and steer with <%s> and <%s>.",
GUI::getKeyBinding(GUI::PlayerAction::ACCEL),
GUI::getKeyBinding(GUI::PlayerAction::STEER_LEFT),
GUI::getKeyBinding(GUI::PlayerAction::STEER_RIGHT)
)
);
break;
case GUI::STEERING_WHEEL:
GUI::displayStaticMessage(
GUI::translate("Accelerate by touching the upper part of the wheel, and steer by moving left or right.")
);
break;
case GUI::ACCELEROMETER:
GUI::displayStaticMessage(
GUI::translate("Accelerate by moving the accelerator upwards, and steer by tilting your device.")
);
break;
case GUI::GYROSCOPE:
GUI::displayStaticMessage(
GUI::translate("Accelerate by moving the accelerator upwards, and steer by rotating your device.")
);
break;
}
}
void onBoxHitByItem(int itemType, int idKart, const string objID)
{
// Test
Utils::logInfo("ScriptingCallback: onBoxHitByItem. Item = " + itemType + "; idKart = " + idKart + "; objID = " + objID);
}
void onKartKartCollision(int idKart1, int idKart2)
{
// Test
Utils::logInfo("ScriptingCallback: onKartKartCollision: " + idKart1 + " - " + idKart2);
}
void tutorial_bananas(int idKart)
{
Utils::logInfo("tutorial_bananas(Kart " + idKart + "): Triggered");
GUI::displayStaticMessage(
GUI::translate("Avoid bananas!"),
GUI::ERROR);
}
void tutorial_giftboxes(int idKart)
{
Utils::logInfo("tutorial_giftboxes(Kart " + idKart + "): Triggered");
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
{
GUI::displayStaticMessage(
GUI::translate("Collect gift boxes, and fire the weapon with <%s> to blow away these boxes!",
GUI::getKeyBinding(GUI::PlayerAction::FIRE)
)
);
}
else
{
GUI::displayStaticMessage(
GUI::translate("Collect gift boxes, and fire by pressing the bowling icon to blow away these boxes!")
);
}
}
void tutorial_backgiftboxes(int idKart)
{
Utils::logInfo("tutorial_backgiftboxes(Kart " + idKart + "): Triggered");
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
{
GUI::displayStaticMessage(
GUI::translate("Press <%s> to look behind.\nFire the weapon with <%s> while pressing <%s> to fire behind!",
GUI::getKeyBinding(GUI::PlayerAction::LOOK_BACK),
GUI::getKeyBinding(GUI::PlayerAction::FIRE),
GUI::getKeyBinding(GUI::PlayerAction::LOOK_BACK)
)
);
}
else
{
GUI::displayStaticMessage(
GUI::translate("Press the mirror icon to look behind.\nFire the weapon behind by holding the mirror icon and then swiping to the bowling icon!")
);
}
}
void tutorial_nitro_use(int idKart)
{
Utils::logInfo("tutorial_nitro_use(Kart " + idKart + "): Triggered");
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
GUI::displayStaticMessage(
GUI::translate("Use the nitro you collected by pressing <%s>!",
GUI::getKeyBinding(GUI::PlayerAction::NITRO)
)
);
else
GUI::displayStaticMessage(
GUI::translate("Use the nitro you collected by pressing the nitro icon")
);
}
void tutorial_nitro_collect(int idKart)
{
Utils::logInfo("tutorial_nitro_collect(Kart " + idKart + "): Triggered");
GUI::displayStaticMessage(
GUI::translate("Collect nitro bottles (we will use them after the curve).")
);
}
void tutorial_rescue(int idKart)
{
Utils::logInfo("tutorial_rescue(Kart " + idKart + "): Triggered");
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
GUI::displayStaticMessage(
GUI::translate("Oops! When you're in trouble, press <%s> to be rescued.",
GUI::getKeyBinding(GUI::PlayerAction::RESCUE)
),
GUI::ERROR);
else
GUI::displayStaticMessage(
GUI::translate("Oops! When you're in trouble, press the bird icon to be rescued."),
GUI::ERROR);
}
void tutorial_skidding(int idKart)
{
Utils::logInfo("tutorial_skidding(Kart " + idKart + "): Triggered");
if (GUI::getRaceGUIType() == GUI::KEYBOARD_GAMEPAD)
{
GUI::displayStaticMessage(
GUI::translate("Accelerate and press the <%s> key while turning to skid.\nSkidding for a short while can help you turn faster to take sharp turns.",
GUI::getKeyBinding(GUI::PlayerAction::DRIFT)
)
);
}
else
{
GUI::displayStaticMessage(
GUI::translate("Accelerate and press the skid icon while turning to skid.\nSkidding for a short while can help you turn faster to take sharp turns.",
GUI::getKeyBinding(GUI::PlayerAction::DRIFT)
)
);
}
}
void tutorial_skidding2(int idKart)
{
Utils::logInfo("tutorial_skidding2(Kart " + idKart + "): Triggered");
GUI::displayStaticMessage(
GUI::translate("Note that if you manage to skid for several seconds, you will receive a bonus speedup as a reward!")
);
}
void tutorial_endmessage(int idKart)
{
Utils::logInfo("tutorial_endmessage(Kart " + idKart + "): Triggered");
GUI::displayMessage(
GUI::translate("You are now ready to race. Good luck!"),
GUI::ACHIEVEMENT);
}
void tutorial_exit(int idKart)
{
Utils::logInfo("tutorial_exit(Kart " + idKart + "): Tutorial quitted");
Track::exitRace();
}
void tutorial_discard(int idKart)
{
Utils::logInfo("tutorial_discard(Kart " + idKart + "): Discarded a Message");
GUI::discardStaticMessage();
}
// ============= DEBUG TESTS ==============
void debug_squash()
{
int idKart = 0;
Utils::logInfo("Testing squash");
Kart::squash(idKart, 5.0);
}
void debug_set_velocity()
{
int idKart = 0;
Utils::logInfo("Testing setVelocity");
Kart::setVelocity(idKart, Vec3(0, 10, 0));
}
// TODO: teleport doesn't work very well
void debug_teleport()
{
int idKart = 0;
Utils::logInfo("Testing getLocation + teleport");
Vec3 loc = Kart::getLocation(idKart);
Utils::logInfo(Utils::insertValues("Kart %s location : %s %s %s", idKart + "", loc.getX() + "", loc.getY() + "", loc.getZ() + ""));
Kart::teleport(idKart, Vec3(loc.getX() - 3, loc.getY(), loc.getZ() - 3));
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

+17
View File
@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<!-- Generated with script from SVN rev 17016 -->
<track name = "Tutorial"
version = "7"
groups = "standard"
designer = "Jean-Manuel Cl&#233;men&#231;on"
music = "hacienda.music"
internal = "Y"
screenshot = "sshot-hacienda.jpg"
smooth-normals = "true"
default-number-of-laps = "1"
reverse = "Y"
clouds = "N"
is-during-day = "Y"
shadows = "Y"
>
</track>
Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB