b8 `˜–p[€€P€`€ţ˙üpă€.text€€p] .rdatap]€p]€°p}.data a€ a€P @.sdatapc€pc€đpƒ.sbss`d€`d€H.bss°e€°e€`ž€˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙č˙˝'żŻG— i‘ $ŕ 8– “ ~€ ؑ C— ! ż˝'ŕč˙˝'żŻ’ $ƒ ű‹ ‘ $!(€<Äç$’ !0ż˝'ŕč˙˝'żŻ€ €<Ց ( „$Zƒ S„ ż!ŕ˝'č˙˝'żŻ€ €<Ց ( „$ż!ŕ˝'č˙˝'żŻř€€ŻŠŠ ! ż!ŕ˝'č˙˝'$żŻř€‚ŻŠŠ $ż!ŕ˝'č˙˝'$żŻř€‚ŻŠŠ $ż!ŕ˝'č˙˝'żŻ€< a„$ô€…'€<ÄĆ$€<Е ěç$ż!ŕ˝'č˙˝'żŻ€<ěĆ$€<`a„$đ€…'Е !8Ŕż!ŕ˝'č˙˝'$żŻđ€‚Żô€€Żř€€Żß… … =„ ƒ ? ř€„ŠŠ ,€ ż˝'ŕ€˙˝'$xżŻtˇŻpśŻlľŻh´ŻdłŻ`˛Ż\ąŻá X°Ż$㐠!˜@!¨!°!ˆ@bŽ ‚ƒ`R$%††€2¤€<ž>"¤! !(œ‡—x‡ !0 ‡ ܇ ź$Ŕ$Ÿ” !(h˙$œ˙$8$Č$X$ ŻČ” ˘Ż3‘ €<€€Ż‘ €<ôCB$„‚Ż$ż ˛ą°ŕ(˝'č˙˝' $!(€<üCç$żŻ ‚€Ż’ !0$!(€<ĐCç$’ !0ż˝'ŕ„„Żŕ€‚Ř˙˝'$żŻ ´ŻłŻ˛ŻąŻt@°Ż€<Ř˙”&€<0ĺs&€<°˙R&lŒ ! € „'óŽ O… @ ! ‚€! ƒ€ ! ‚€ ! ‚€!ˆ‚Ż˜Š ! “! ˆ‚!(€0!0€0“‰ !0ŇÒ „‚ ř@S  ! œŠ $ˆ†#S@!f€)!e€!f€!f€šň #ˆC¨ƒ!€@*p`¨Ż ‚‚@€<ě˙ĽŒ€<đ˙Ì€<ô˙猀= 4* 2 ) index = 0; return 0; } static int boxPrev(void) { index--; if (index < 0) index = 4* 2 -1; return 0; } static void findMatrix(VECTOR *a, VECTOR *b, MATRIX *m) { long rotX, rotY; VECTOR delta; MATRIX m2 = GsIDMATRIX; *m = GsIDMATRIX; delta.vx = a->vx - b->vx; delta.vz = a->vz - b->vz; rotY = arcTan2(delta.vx, delta.vz); RotMatrixY(4096 - rotY, &m2); ApplyMatrixLV(&m2, a, a); ApplyMatrixLV(&m2, b, b); delta.vy = a->vy - b->vy; delta.vz = a->vz - b->vz; rotX = 4096 - arcTan2(delta.vy, delta.vz); RotMatrixX(rotX, m); RotMatrixY(rotY, m); } static void findPoint(int segment, VECTOR *src, GsDOBJ2 *dst) { VECTOR temp[6]; { temp[0] .vx = ((( src[1] .vx - src[0] .vx) * segment ) >> 5 ) + src[0] .vx; temp[0] .vy = ((( src[1] .vy - src[0] .vy) * segment ) >> 5 ) + src[0] .vy; temp[0] .vz = ((( src[1] .vz - src[0] .vz) * segment ) >> 5 ) + src[0] .vz; } ; { temp[1] .vx = ((( src[2] .vx - src[1] .vx) * segment ) >> 5 ) + src[1] .vx; temp[1] .vy = ((( src[2] .vy - src[1] .vy) * segment ) >> 5 ) + src[1] .vy; temp[1] .vz = ((( src[2] .vz - src[1] .vz) * segment ) >> 5 ) + src[1] .vz; } ; { temp[2] .vx = ((( src[3] .vx - src[2] .vx) * segment ) >> 5 ) + src[2] .vx; temp[2] .vy = ((( src[3] .vy - src[2] .vy) * segment ) >> 5 ) + src[2] .vy; temp[2] .vz = ((( src[3] .vz - src[2] .vz) * segment ) >> 5 ) + src[2] .vz; } ; { temp[3] .vx = ((( temp[1] .vx - temp[0] .vx) * segment ) >> 5 ) + temp[0] .vx; temp[3] .vy = ((( temp[1] .vy - temp[Lakon ShortLakon LongSelect Coursedir moving: %4d steering: %4d current segment: %d Lap: %d Time: %d accelerate: %3d %3d slowdown: %3d %3d brake: %3d can't register %d cars car x: %6d y: %6d z: %6d ??? TMD %d not contained in TMD file %x ??? bad index for kid (%d) (max=%d) ??? bad index for parent (%d) (max=%d) ??? 2nd TMD %d not contained in TMD file %x memory used for screen shot: %08x-%08x When the prompt (>>) appears press [F10][F4] to save a screen shot! Dsave[1]: .tim %08x %x view x: %5d y: %5d z: %5d view vx: %5d vy: %5d vz: %5d %6d hsyncs needed (max=%d) %6d packets needed (bytes) can't register pad function (Max=%d) can't register pad release function (Max=%d) \data\sound\gogo.seq\data\sound\std0.vh\data\sound\std0.vbSpecial Thanks toFebruary the 14th 1999by Roland BoettcherRev Your Engine|]€€( €p]€<€( €pc€d€( €ˆc€Q€( €€c€°€( €ˆ]€Œ€( €xc€ÄL€( €a€z_ü`€z_Fä`€z_FŘc€Đ`€z_Đc€z_LeptonMusicStartAbout €LoadingŔc€%sSony! ˙˙˙˙˙˙˙˙p  0; bezier[i].rot.vz = 0; RotMatrix(&bezier[i].rot, &bezier[i].coord); if (side < 1) { bezier[i].coord.t[0] = 50000 - j*2* 50000 ; bezier[i].coord.t[2] = -3* 50000 ; } else if (side < 2) { bezier[i].coord.t[0] = -3* 50000 ; bezier[i].coord.t[2] = - 50000 + j*2* 50000 ; } else if (side < 3) { bezier[i].coord.t[0] = - 50000 + j*2* 50000 ; bezier[i].coord.t[2] = 3* 50000 ; } else if (side < 4) { bezier[i].coord.t[0] = 3* 50000 ; bezier[i].coord.t[2] = 50000 - j*2* 50000 ; } bezier[i].coord.t[1] = -500; ApplyMatrixLV(&bezier[i].coord, &bezier[i].len, &bezier[i].ctrl); } static void bezierInit(void) { int i; for (i = 0; i < 2 ; i++) bezierInitSide(i, 0); for (i = 0; i < 2 ; i++) bezierInitSide(i, 1); for (i = 0; i < 2 ; i++) bezierInitSide(i, 2); for (i = 0; i < 2 ; i++) bezierInitSide(i, 3); memcpy(bezier+ 4* 2 , bezier, sizeof(BezierCoord)); } static int lenUp(void) { bezier[index].len.vz += 2000; if (bezier[index].len.vz > 200000 ) bezier[index].len.vz = 200000 ; ApplyMatrixLV(&bezier[index].coord, &bezier[index].len, &bezier[index].ctrl); if (index == 0) memcpy(bezier+ 4* 2 , bezier, sizeof(BezierCoord)); return 1; } static int lenMid(void) { bezier[index].len.vz = 50000 ; ApplyMatrixLV(&bezier[index].coord, &bezier[index].len, &bezier[index].ctrl); if (index == 0) memcpy(bezier+ 4* 2 , bezier, sizeof(BezierCoord)); return 1; } static int lenDown(void) { bezier[index].len.vz -= 2000; if (bezier[index].len.vz < 10000 ) bezier[index].len.vz = 10000 ; ApplyMatrixLV(&bezier[index].coord, &bezier[index].len, &bezier[index].ctrl); if (index == 0) memcpy(bezier+ 4* 2 , bezier, sizeof(BezierCoord)); return 1; } static int rotLeft(void) { bezier[index].rot.vy -= 32; RotMatrix(&bezier[index].rot, &bezier[index].coord); ApplyMatrixLV(&bezier[index].coord, &bezier[index].len, &bezier[index].ctrl); if (index == 0) memcpy(bezier+ 4* 2 , bezier, sizeof(BezierCoord)); return 1; } static int rotRight(void) { bezier[index].rot.vy += 32; RotMatrix(&bezier[index].rot, &bezier[index].coord); ApplyMatrixLV(&bezier[index].coord, &bezier[index].len, &bezier[index].ctrl); if (index == 0) memcpy(bezier+ 4* 2 , bezier, sizeof(BezierCoord)); return 1; } static int incX(void) { bezier[index].coord.t[0] += 6000; if (index == 0) bezier[4* 2 ].coord.t[0] = bezier[0].coord.t[0]; return 1; } static int decX(void) { bezier[index].coord.t[0] -= 6000; ifb