commit ec09dde345aacd301f1cb57edf88032046347678 Author: firefox3.5.3 Date: Sun Mar 10 20:27:00 2024 -0400 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0b35186 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +/glu2d3d.dll +/license.txt +/marbleBlast.exe +/ogg.dll +/openal32.dll +/OpenAL64.dll +/opengl2d3d.dll +/readme.txt +/vorbis.dll +/console.log diff --git a/common/client/actionMap.cs.dso b/common/client/actionMap.cs.dso new file mode 100644 index 0000000..16bf3ee Binary files /dev/null and b/common/client/actionMap.cs.dso differ diff --git a/common/client/actionmap.cs b/common/client/actionmap.cs new file mode 100644 index 0000000..a80a693 --- /dev/null +++ b/common/client/actionmap.cs @@ -0,0 +1,45 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Utility remap functions: +//------------------------------------------------------------------------------ + +function ActionMap::copyBind( %this, %otherMap, %command ) +{ + if ( !isObject( %otherMap ) ) + { + error( "ActionMap::copyBind - \"" @ %otherMap @ "\" is not an object!" ); + return; + } + + %bind = %otherMap.getBinding( %command ); + if ( %bind !$= "" ) + { + %device = getField( %bind, 0 ); + %action = getField( %bind, 1 ); + %flags = %otherMap.isInverted( %device, %action ) ? "SDI" : "SD"; + %deadZone = %otherMap.getDeadZone( %device, %action ); + %scale = %otherMap.getScale( %device, %action ); + %this.bind( %device, %action, %flags, %deadZone, %scale, %command ); + } +} + +//------------------------------------------------------------------------------ +function ActionMap::blockBind( %this, %otherMap, %command ) +{ + if ( !isObject( %otherMap ) ) + { + error( "ActionMap::blockBind - \"" @ %otherMap @ "\" is not an object!" ); + return; + } + + %bind = %otherMap.getBinding( %command ); + if ( %bind !$= "" ) + %this.bind( getField( %bind, 0 ), getField( %bind, 1 ), "" ); +} + diff --git a/common/client/audio.cs b/common/client/audio.cs new file mode 100644 index 0000000..0728fe0 --- /dev/null +++ b/common/client/audio.cs @@ -0,0 +1,48 @@ +//----------------------------------------------------------------------------- +// Torque Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +function OpenALInit() +{ + OpenALShutdownDriver(); + + echo(""); + echo("OpenAL Driver Init:"); + + echo ($pref::Audio::driver); + + if($pref::Audio::driver $= "OpenAL") + { + if(!OpenALInitDriver()) + { + error(" Failed to initialize driver."); + $Audio::initFailed = true; + } + } + + echo(" Vendor: " @ alGetString("AL_VENDOR")); + echo(" Version: " @ alGetString("AL_VERSION")); + echo(" Renderer: " @ alGetString("AL_RENDERER")); + echo(" Extensions: " @ alGetString("AL_EXTENSIONS")); + + alxListenerf( AL_GAIN_LINEAR, $pref::Audio::masterVolume ); + + for (%channel=1; %channel <= 8; %channel++) + alxSetChannelVolume(%channel, $pref::Audio::channelVolume[%channel]); + + echo(""); +} + + +//-------------------------------------------------------------------------- + +function OpenALShutdown() +{ + OpenALShutdownDriver(); + //alxStopAll(); + //AudioGui.delete(); + //sButtonDown.delete(); + //sButtonOver.delete(); +} diff --git a/common/client/audio.cs.dso b/common/client/audio.cs.dso new file mode 100644 index 0000000..70e07f0 Binary files /dev/null and b/common/client/audio.cs.dso differ diff --git a/common/client/canvas.cs b/common/client/canvas.cs new file mode 100644 index 0000000..11d0c5c --- /dev/null +++ b/common/client/canvas.cs @@ -0,0 +1,59 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Function to construct and initialize the default canvas window +// used by the games + +function initCanvas(%windowName) +{ + videoSetGammaCorrection($pref::OpenGL::gammaCorrection); + if (!createCanvas(%windowName)) { + quit(); + return; + } + + setOpenGLTextureCompressionHint( $pref::OpenGL::compressionHint ); + setOpenGLAnisotropy( $pref::OpenGL::anisotropy ); + setOpenGLMipReduction( $pref::OpenGL::mipReduction ); + setOpenGLInteriorMipReduction( $pref::OpenGL::interiorMipReduction ); + setOpenGLSkyMipReduction( $pref::OpenGL::skyMipReduction ); + + // Declare default GUI Profiles. + exec("~/ui/defaultProfiles.cs"); + + // Common GUI's + exec("~/ui/GuiEditorGui.gui"); + exec("~/ui/ConsoleDlg.gui"); + exec("~/ui/InspectDlg.gui"); + exec("~/ui/LoadFileDlg.gui"); + exec("~/ui/SaveFileDlg.gui"); + exec("~/ui/MessageBoxOkDlg.gui"); + exec("~/ui/MessageBoxYesNoDlg.gui"); + exec("~/ui/MessageBoxOKCancelDlg.gui"); + exec("~/ui/MessagePopupDlg.gui"); + exec("~/ui/HelpDlg.gui"); + exec("~/ui/RecordingsDlg.gui"); + + // Commonly used helper scripts + exec("./metrics.cs"); + exec("./messageBox.cs"); + exec("./screenshot.cs"); + exec("./cursor.cs"); + exec("./help.cs"); + exec("./recordings.cs"); + + // Init the audio system + OpenALInit(); +} + +function resetCanvas() +{ + if (isObject(Canvas)) + { + Canvas.repaint(); + } +} diff --git a/common/client/canvas.cs.dso b/common/client/canvas.cs.dso new file mode 100644 index 0000000..2d4e7b7 Binary files /dev/null and b/common/client/canvas.cs.dso differ diff --git a/common/client/cursor.cs b/common/client/cursor.cs new file mode 100644 index 0000000..872c5b7 --- /dev/null +++ b/common/client/cursor.cs @@ -0,0 +1,100 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Cursor Control +//------------------------------------------------------------------------------ + +$cursorControlled = true; + +function cursorOff() +{ + if ( $cursorControlled ) + lockMouse(true); + Canvas.cursorOff(); +} + +function cursorOn() +{ + if ( $cursorControlled ) + lockMouse(false); + Canvas.cursorOn(); + Canvas.setCursor(DefaultCursor); +} + +// In the CanvasCursor package we add some additional functionality to the +// built-in GuiCanvas class, of which the global Canvas object is an instance. +// In this case, the behavior we want is for the cursor to automatically display, +// except when the only guis visible want no cursor - most notably, +// in the case of the example, the play gui. +// In order to override or extend an existing class, we use the script package +// feature. + +package CanvasCursor +{ + +// The checkCursor method iterates through all the root controls on the canvas +// (basically the content control and any visible dialogs). If all of them +// have the .noCursor attribute set, the cursor is turned off, otherwise it is +// turned on. + +function GuiCanvas::checkCursor(%this) +{ + %cursorShouldBeOn = false; + for(%i = 0; %i < %this.getCount(); %i++) + { + %control = %this.getObject(%i); + if(%control.noCursor $= "") + { + %cursorShouldBeOn = true; + break; + } + } + if(%cursorShouldBeOn != %this.isCursorOn()) + { + if(%cursorShouldBeOn) + cursorOn(); + else + cursorOff(); + } +} + +// below, all functions which can alter which content controls are visible +// are extended to call the checkCursor function. For package'd functions, +// the Parent:: call refers to the original implementation of that function, +// or a version that was declared in a previously activated package. +// In this case the parent calls should point to the built in versions +// of GuiCanvas functions. + +function GuiCanvas::setContent(%this, %ctrl) +{ + Parent::setContent(%this, %ctrl); + %this.checkCursor(); +} + +function GuiCanvas::pushDialog(%this, %ctrl) +{ + Parent::pushDialog(%this, %ctrl); + %this.checkCursor(); +} + +function GuiCanvas::popDialog(%this, %ctrl) +{ + Parent::popDialog(%this, %ctrl); + %this.checkCursor(); +} + +function GuiCanvas::popLayer(%this, %layer) +{ + Parent::popLayer(%this, %layer); + %this.checkCursor(); +} + +}; + +// activate the package when the script loads. +activatePackage(CanvasCursor); \ No newline at end of file diff --git a/common/client/cursor.cs.dso b/common/client/cursor.cs.dso new file mode 100644 index 0000000..b029e93 Binary files /dev/null and b/common/client/cursor.cs.dso differ diff --git a/common/client/help.cs b/common/client/help.cs new file mode 100644 index 0000000..1934bff --- /dev/null +++ b/common/client/help.cs @@ -0,0 +1,62 @@ +//----------------------------------------------------------------------------- +// Torque Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +function HelpDlg::onWake(%this) +{ + HelpFileList.entryCount = 0; + HelpFileList.clear(); + for(%file = findFirstFile("*.hfl"); %file !$= ""; %file = findNextFile("*.hfl")) + { + HelpFileList.fileName[HelpFileList.entryCount] = %file; + HelpFileList.addRow(HelpFileList.entryCount, fileBase(%file)); + HelpFileList.entryCount++; + } + HelpFileList.sortNumerical(0); + HelpFileList.setSelectedRow(0); +} + +function HelpFileList::onSelect(%this, %row) +{ + %fo = new FileObject(); + %fo.openForRead(%this.fileName[%row]); + %text = ""; + while(!%fo.isEOF()) + %text = %text @ %fo.readLine() @ "\n"; + + %fo.delete(); + HelpText.setText(%text); +} + +function getHelp(%helpName) +{ + Canvas.pushDialog(HelpDlg); + if(%helpName !$= "") + { + %index = HelpFileList.findTextIndex(%helpName); + HelpFileList.setSelectedRow(%index); + } +} + +function contextHelp() +{ + for(%i = 0; %i < Canvas.getCount(); %i++) + { + if(Canvas.getObject(%i).getName() $= HelpDlg) + { + Canvas.popDialog(HelpDlg); + return; + } + } + %content = Canvas.getContent(); + %helpPage = %content.getHelpPage(); + getHelp(%helpPage); +} + +function GuiControl::getHelpPage(%this) +{ + return %this.helpPage; +} + diff --git a/common/client/help.cs.dso b/common/client/help.cs.dso new file mode 100644 index 0000000..02edb00 Binary files /dev/null and b/common/client/help.cs.dso differ diff --git a/common/client/message.cs b/common/client/message.cs new file mode 100644 index 0000000..e0f2878 --- /dev/null +++ b/common/client/message.cs @@ -0,0 +1,81 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +// Functions that process commands sent from the server. + + +// This function is for chat messages only; it is invoked on the client when +// the server does a commandToClient with the tag ChatMessage. (Cf. the +// functions chatMessage* in common/server/message.cs.) + +// This just invokes onChatMessage, which the mod code must define. + +function clientCmdChatMessage(%sender, %voice, %pitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + onChatMessage(detag(%msgString), %voice, %pitch); +} + + +// Game event descriptions, which may or may not include text messages, can be +// sent using the message* functions in common/server/message.cs. Those +// functions do commandToClient with the tag ServerMessage, which invokes the +// function below. + +// For ServerMessage messages, the client can install callbacks that will be +// run, according to the "type" of the message. + +function clientCmdServerMessage(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + // Get the message type; terminates at any whitespace. + %tag = getWord(%msgType, 0); + + // First see if there is a callback installed that doesn't have a type; + // if so, that callback is always executed when a message arrives. + for (%i = 0; (%func = $MSGCB["", %i]) !$= ""; %i++) { + call(%func, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10); + } + + // Next look for a callback for this particular type of ServerMessage. + if (%tag !$= "") { + for (%i = 0; (%func = $MSGCB[%tag, %i]) !$= ""; %i++) { + call(%func, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10); + } + } +} + +// Called by the client to install a callback for a particular type of +// ServerMessage. +function addMessageCallback(%msgType, %func) +{ + for (%i = 0; (%afunc = $MSGCB[%msgType, %i]) !$= ""; %i++) { + // If it already exists as a callback for this type, + // nothing to do. + if (%afunc $= %func) { + return; + } + } + // Set it up. + $MSGCB[%msgType, %i] = %func; +} + + + +// The following is the callback that will be executed for every ServerMessage, +// because we're going to install it without a specified type. Any type- +// specific callbacks will be executed afterward. + +// This just invokes onServerMessage, which the mod code must define. + +function defaultMessageCallback(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10) +{ + onServerMessage(detag(%msgString)); +} + +// Register that default message handler now. +addMessageCallback("", defaultMessageCallback); diff --git a/common/client/message.cs.dso b/common/client/message.cs.dso new file mode 100644 index 0000000..d2522ac Binary files /dev/null and b/common/client/message.cs.dso differ diff --git a/common/client/messageBox.cs.dso b/common/client/messageBox.cs.dso new file mode 100644 index 0000000..cc69592 Binary files /dev/null and b/common/client/messageBox.cs.dso differ diff --git a/common/client/messagebox.cs b/common/client/messagebox.cs new file mode 100644 index 0000000..40fc56c --- /dev/null +++ b/common/client/messagebox.cs @@ -0,0 +1,112 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +function MessageCallback(%dlg,%callback) +{ + Canvas.popDialog(%dlg); + eval(%callback); +} + +// MBSetText resizes the message window, based on the change in size of the text +// area. + +function MBSetText(%text, %frame, %msg) +{ + %ext = %text.getExtent(); + + %text.setText("" @ %msg); + %text.forceReflow(); + + %newExtent = %text.getExtent(); + + %deltaY = getWord(%newExtent, 1) - getWord(%ext, 1); + %windowPos = %frame.getPosition(); + %windowExt = %frame.getExtent(); + + %frame.resize(getWord(%windowPos, 0), getWord(%windowPos, 1) - (%deltaY / 2), getWord(%windowExt, 0), getWord(%windowExt, 1) + %deltaY); +} + +//----------------------------------------------------------------------------- +// MessageBox OK +//----------------------------------------------------------------------------- + +function MessageBoxOK( %title, %message, %callback ) +{ + MBOKFrame.setText( %title ); + MBOKTitle.setText( "" @ %title ); + Canvas.pushDialog( MessageBoxOKDlg ); + MBSetText(MBOKText, MBOKFrame, %message); + MessageBoxOKDlg.callback = %callback; +} + +//------------------------------------------------------------------------------ +function MessageBoxOKDlg::onSleep( %this ) +{ + %this.callback = ""; +} + +//------------------------------------------------------------------------------ +// MessageBox OK/Cancel dialog: +//------------------------------------------------------------------------------ + +function MessageBoxOKCancel( %title, %message, %callback, %cancelCallback ) +{ + MBOKCancelFrame.setText( %title ); + MBOKCancelTitle.setText( "" @ %title ); + Canvas.pushDialog( MessageBoxOKCancelDlg ); + MBSetText(MBOKCancelText, MBOKCancelFrame, %message); + MessageBoxOKCancelDlg.callback = %callback; + MessageBoxOKCancelDlg.cancelCallback = %cancelCallback; +} + +//------------------------------------------------------------------------------ +function MessageBoxOKCancelDlg::onSleep( %this ) +{ + %this.callback = ""; +} + +//------------------------------------------------------------------------------ +// MessageBox Yes/No dialog: +//------------------------------------------------------------------------------ + +function MessageBoxYesNo( %title, %message, %yesCallback, %noCallback ) +{ + MBYesNoFrame.setText( %title ); + Canvas.pushDialog( MessageBoxYesNoDlg ); + MBSetText(MBYesNoText, MBYesNoFrame, %message); + MessageBoxYesNoDlg.yesCallBack = %yesCallback; + MessageBoxYesNoDlg.noCallback = %noCallBack; +} + +//------------------------------------------------------------------------------ +function MessageBoxYesNoDlg::onSleep( %this ) +{ + %this.yesCallback = ""; + %this.noCallback = ""; +} + +//------------------------------------------------------------------------------ +// Message popup dialog: +//------------------------------------------------------------------------------ + +function MessagePopup( %title, %message, %delay ) +{ + // Currently two lines max. + MessagePopFrame.setText( %title ); + Canvas.pushDialog( MessagePopupDlg ); + MBSetText(MessagePopText, MessagePopFrame, %message); + if ( %delay !$= "" ) + schedule( %delay, 0, CloseMessagePopup ); +} + +//------------------------------------------------------------------------------ + +function CloseMessagePopup() +{ + Canvas.popDialog( MessagePopupDlg ); +} + diff --git a/common/client/metrics.cs b/common/client/metrics.cs new file mode 100644 index 0000000..e50743e --- /dev/null +++ b/common/client/metrics.cs @@ -0,0 +1,179 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +// load gui used to display various metric outputs +exec("~/ui/FrameOverlayGui.gui"); + + +function fpsMetricsCallback() +{ + return " FPS: " @ $fps::real @ + " mspf: " @ 1000 / $fps::real; +} + +function terrainMetricsCallback() +{ + return fpsMetricsCallback() @ + " Terrain -" @ + " L0: " @ $T2::levelZeroCount @ + " FMC: " @ $T2::fullMipCount @ + " DTC: " @ $T2::dynamicTextureCount @ + " UNU: " @ $T2::unusedTextureCount @ + " STC: " @ $T2::staticTextureCount @ + " DTSU: " @ $T2::textureSpaceUsed @ + " STSU: " @ $T2::staticTSU @ + " FRB: " @ $T2::FogRejections; +} + +function videoMetricsCallback() +{ + return fpsMetricsCallback() @ + " Video -" @ + " TC: " @ $OpenGL::triCount0 + $OpenGL::triCount1 + $OpenGL::triCount2 + $OpenGL::triCount3 @ + " PC: " @ $OpenGL::primCount0 + $OpenGL::primCount1 + $OpenGL::primCount2 + $OpenGL::primCount3 @ + " T_T: " @ $OpenGL::triCount1 @ + " T_P: " @ $OpenGL::primCount1 @ + " I_T: " @ $OpenGL::triCount2 @ + " I_P: " @ $OpenGL::primCount2 @ + " TS_T: " @ $OpenGL::triCount3 @ + " TS_P: " @ $OpenGL::primCount3 @ + " ?_T: " @ $OpenGL::triCount0 @ + " ?_P: " @ $OpenGL::primCount0; +} + +function interiorMetricsCallback() +{ + return fpsMetricsCallback() @ + " Interior --" @ + " NTL: " @ $Video::numTexelsLoaded @ + " TRP: " @ $Video::texResidentPercentage @ + " INP: " @ $Metrics::Interior::numPrimitives @ + " INT: " @ $Matrics::Interior::numTexturesUsed @ + " INO: " @ $Metrics::Interior::numInteriors; +} + +function textureMetricsCallback() +{ + return fpsMetricsCallback() @ + " Texture --"@ + " NTL: " @ $Video::numTexelsLoaded @ + " TRP: " @ $Video::texResidentPercentage @ + " TCM: " @ $Video::textureCacheMisses; +} + +function waterMetricsCallback() +{ + return fpsMetricsCallback() @ + " Water --"@ + " Tri#: " @ $T2::waterTriCount @ + " Pnt#: " @ $T2::waterPointCount @ + " Hz#: " @ $T2::waterHazePointCount; +} + +function timeMetricsCallback() +{ + return fpsMetricsCallback() @ + " Time -- " @ + " Sim Time: " @ getSimTime() @ + " Mod: " @ getSimTime() % 32; +} + +function vehicleMetricsCallback() +{ + return fpsMetricsCallback() @ + " Vehicle --"@ + " R: " @ $Vehicle::retryCount @ + " C: " @ $Vehicle::searchCount @ + " P: " @ $Vehicle::polyCount @ + " V: " @ $Vehicle::vertexCount; +} + +function audioMetricsCallback() +{ + return fpsMetricsCallback() @ + " Audio --"@ + " OH: " @ $Audio::numOpenHandles @ + " OLH: " @ $Audio::numOpenLoopingHandles @ + " AS: " @ $Audio::numActiveStreams @ + " NAS: " @ $Audio::numNullActiveStreams @ + " LAS: " @ $Audio::numActiveLoopingStreams @ + " LS: " @ $Audio::numLoopingStreams @ + " ILS: " @ $Audio::numInactiveLoopingStreams @ + " CLS: " @ $Audio::numCulledLoopingStreams; +} + +function debugMetricsCallback() +{ + return fpsMetricsCallback() @ + " Debug --"@ + " NTL: " @ $Video::numTexelsLoaded @ + " TRP: " @ $Video::texResidentPercentage @ + " NP: " @ $Metrics::numPrimitives @ + " NT: " @ $Metrics::numTexturesUsed @ + " NO: " @ $Metrics::numObjectsRendered; +} + +function marbleCallback() +{ + return $testCount @ " V: " @ $MarbleVelocity @ " A: " @ $MarbleA @ " O: " @ $MarbleO @ " AR: " @ $Marbleal; +} + +package Metrics +{ + +function onFrameAdvance(%time) +{ + Parent::onFrameAdvance(%time); + if(TextOverlayControl.callback !$= "") + { + eval("$frameVal = " @ TextOverlayControl.callback @ ";"); + TextOverlayControl.setText($frameVal); + } +} + +}; + +activatePackage(Metrics); + +function metrics(%expr) +{ + switch$(%expr) + { + case "audio": %cb = "audioMetricsCallback()"; + case "debug": %cb = "debugMetricsCallback()"; + case "interior": + $fps::virtual = 0; + $Interior::numPolys = 0; + $Interior::numTextures = 0; + $Interior::numTexels = 0; + $Interior::numLightmaps = 0; + $Interior::numLumels = 0; + %cb = "interiorMetricsCallback()"; + + case "fps": %cb = "fpsMetricsCallback()"; + case "time": %cb = "timeMetricsCallback()"; + case "terrain": %cb = "terrainMetricsCallback()"; + case "texture": + GLEnableMetrics(true); + %cb = "textureMetricsCallback()"; + case "marble": %cb = "marbleCallback()"; + case "video": %cb = "videoMetricsCallback()"; + case "vehicle": %cb = "vehicleMetricsCallback()"; + case "water": %cb = "waterMetricsCallback()"; + } + + if (%cb !$= "") + { + Canvas.pushDialog(FrameOverlayGui, 1000); + TextOverlayControl.callback = %cb; + } + else + { + GLEnableMetrics(false); + Canvas.popDialog(FrameOverlayGui); + } +} diff --git a/common/client/metrics.cs.dso b/common/client/metrics.cs.dso new file mode 100644 index 0000000..59d380c Binary files /dev/null and b/common/client/metrics.cs.dso differ diff --git a/common/client/mission.cs b/common/client/mission.cs new file mode 100644 index 0000000..d534583 --- /dev/null +++ b/common/client/mission.cs @@ -0,0 +1,28 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Mission start / end events sent from the server +//---------------------------------------------------------------------------- + +function clientCmdMissionStart(%seq) +{ + // The client recieves a mission start right before + // being dropped into the game. + +} + +function clientCmdMissionEnd(%seq) +{ + // Recieved when the current mission is ended. + //alxStopAll(); + + // Disable mission lighting if it's going, this is here + // in case the mission ends while we are in the process + // of loading it. + $lightingMission = false; + $sceneLighting::terminateLighting = true; +} diff --git a/common/client/mission.cs.dso b/common/client/mission.cs.dso new file mode 100644 index 0000000..3787c72 Binary files /dev/null and b/common/client/mission.cs.dso differ diff --git a/common/client/missionDownload.cs.dso b/common/client/missionDownload.cs.dso new file mode 100644 index 0000000..0c73cb8 Binary files /dev/null and b/common/client/missionDownload.cs.dso differ diff --git a/common/client/missiondownload.cs b/common/client/missiondownload.cs new file mode 100644 index 0000000..c18fdc2 --- /dev/null +++ b/common/client/missiondownload.cs @@ -0,0 +1,95 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Mission Loading +// Server download handshaking. This produces a number of onPhaseX +// calls so the game scripts can update the game's GUI. +// +// Loading Phases: +// Phase 1: Download Datablocks +// Phase 2: Download Ghost Objects +// Phase 3: Scene Lighting +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Phase 1 +//---------------------------------------------------------------------------- + +function clientCmdMissionStartPhase1(%seq, %missionName, %musicTrack) +{ + // These need to come after the cls. + echo ("*** New Mission: " @ %missionName); + echo ("*** Phase 1: Download Datablocks & Targets"); + onMissionDownloadPhase1(%missionName, %musicTrack); + commandToServer('MissionStartPhase1Ack', %seq); +} + +function onDataBlockObjectReceived(%index, %total) +{ + onPhase1Progress(%index / %total); +} + +//---------------------------------------------------------------------------- +// Phase 2 +//---------------------------------------------------------------------------- + +function clientCmdMissionStartPhase2(%seq,%missionName) +{ + onPhase1Complete(); + echo ("*** Phase 2: Download Ghost Objects"); + purgeResources(); + onMissionDownloadPhase2(%missionName); + commandToServer('MissionStartPhase2Ack', %seq); +} + +function onGhostAlwaysStarted(%ghostCount) +{ + $ghostCount = %ghostCount; + $ghostsRecvd = 0; +} + +function onGhostAlwaysObjectReceived() +{ + $ghostsRecvd++; + onPhase2Progress($ghostsRecvd / $ghostCount); +} + +//---------------------------------------------------------------------------- +// Phase 3 +//---------------------------------------------------------------------------- + +function clientCmdMissionStartPhase3(%seq,%missionName) +{ + onPhase2Complete(); + echo ("*** Phase 3: Mission Lighting"); + $MSeq = %seq; + $Client::MissionFile = %missionName; + + onMissionDownloadPhase3(%missionName); + onPhase3Complete(); + // The is also the end of the mission load cycle. + onMissionDownloadComplete(); + commandToServer('MissionStartPhase3Ack', $MSeq); +} + +function updateLightingProgress() +{ + onPhase3Progress($SceneLighting::lightingProgress); + if ($lightingMission) + $lightingProgressThread = schedule(1, 0, "updateLightingProgress"); +} + +function sceneLightingComplete() +{ + echo("Mission lighting done"); + onPhase3Complete(); + + // The is also the end of the mission load cycle. + onMissionDownloadComplete(); + commandToServer('MissionStartPhase3Ack', $MSeq); +} + diff --git a/common/client/prefs.cs b/common/client/prefs.cs new file mode 100644 index 0000000..4bc1111 --- /dev/null +++ b/common/client/prefs.cs @@ -0,0 +1,139 @@ +$pref::Audio::channelVolume1 = "1"; +$pref::Audio::channelVolume2 = "0.527897"; +$pref::Audio::channelVolume3 = 0.8; +$pref::Audio::channelVolume4 = 0.8; +$pref::Audio::channelVolume5 = 0.8; +$pref::Audio::channelVolume6 = 0.8; +$pref::Audio::channelVolume7 = 0.8; +$pref::Audio::channelVolume8 = 0.8; +$pref::Audio::driver = "OpenAL"; +$pref::Audio::environmentEnabled = 0; +$pref::Audio::forceMaxDistanceUpdate = 0; +$pref::Audio::masterVolume = 1; +$pref::backgroundSleepTime = "3000"; +$pref::ChatHudLength = 1; +$pref::checkMOTDAndVersion = "1"; +$pref::CloudOutline = "0"; +$pref::CloudsOn = "1"; +$pref::CurrentMOTD = "\n\n404 Not Found\n\n

404 Not Found

\n
    \n
  • Code: NoSuchKey
  • \n
  • Message: The specified key does not exist.
  • \n
  • Key: marbleblast/motd.html
  • \n
  • RequestId: C1QDCJ0XZ5P6PB6T
  • \n
  • HostId: eFdeXR0iBuB8A/crri0Mzy0sBNwmz47vywEaKd1HplI4nfsX1470/p4E2XtRdv4Nu+wY7enwDvE=
  • \n
\n
\n\n"; +$pref::Decal::decalTimeout = "5000"; +$pref::Decal::maxNumDecals = "256"; +$pref::decalsOn = "1"; +$pref::Editor::visibleDistance = "2100"; +$pref::enableBadWordFilter = "1"; +$pref::environmentMaps = "1"; +$pref::HudMessageLogSize = 40; +$pref::Input::AlwaysFreeLook = 0; +$pref::Input::InvertYAxis = 0; +$pref::Input::JoystickEnabled = "0"; +$pref::Input::KeyboardEnabled = "1"; +$pref::Input::KeyboardTurnSpeed = 0.025; +$pref::Input::LinkMouseSensitivity = 1; +$pref::Input::MouseEnabled = "1"; +$pref::Input::MouseSensitivity = "0.75"; +$pref::Interior::detailAdjust = "1"; +$pref::Interior::DynamicLights = "1"; +$pref::Interior::LightUpdatePeriod = "66"; +$pref::Interior::lockArrays = "1"; +$pref::Interior::sgDetailMaps = "1"; +$pref::Interior::ShowEnvironmentMaps = "1"; +$pref::Interior::TexturedFog = "0"; +$pref::Interior::VertexLighting = "0"; +$pref::LastReadMOTD = "\n\n404 Not Found\n\n

404 Not Found

\n
    \n
  • Code: NoSuchKey
  • \n
  • Message: The specified key does not exist.
  • \n
  • Key: marbleblast/motd.html
  • \n
  • RequestId: DXX6MJ35NJ7F8493
  • \n
  • HostId: f2+MV1j62/Iw34FscUbM/lSi8FtWzOp7ubIWBSeL+ira/VP32FY9Kqm9oHFijEwLj+kK3qPMGzM=
  • \n
\n
\n\n"; +$pref::LightManager::sgBlendedTerrainDynamicLighting = "1"; +$pref::LightManager::sgDynamicLightingOcclusionQuality = "3"; +$pref::LightManager::sgDynamicParticleSystemLighting = "1"; +$pref::LightManager::sgDynamicShadowQuality = "0"; +$pref::LightManager::sgLightingProfileAllowShadows = "1"; +$pref::LightManager::sgLightingProfileQuality = "0"; +$pref::LightManager::sgMaxBestLights = "10"; +$pref::LightManager::sgMultipleDynamicShadows = "1"; +$pref::LightManager::sgUseDynamicShadows = "1"; +$pref::Master0 = "2:master.garagegames.com:28002"; +$Pref::Net::LagThreshold = "400"; +$pref::Net::PacketRateToClient = "10"; +$pref::Net::PacketRateToServer = "32"; +$pref::Net::PacketSize = "200"; +$pref::NumCloudLayers = "3"; +$pref::OpenGL::allowCompression = "0"; +$pref::OpenGL::allowTexGen = "1"; +$pref::OpenGL::disableARBMultitexture = "0"; +$pref::OpenGL::disableARBTextureCompression = "0"; +$pref::OpenGL::disableEXTCompiledVertexArray = "0"; +$pref::OpenGL::disableEXTFogCoord = "0"; +$pref::OpenGL::disableEXTPalettedTexture = "0"; +$pref::OpenGL::disableEXTTexEnvCombine = "0"; +$pref::OpenGL::disableSubImage = "0"; +$pref::OpenGL::force16BitTexture = "0"; +$pref::OpenGL::forcePalettedTexture = "0"; +$pref::OpenGL::gammaCorrection = "0.5"; +$pref::OpenGL::maxHardwareLights = 3; +$pref::OpenGL::noDrawArraysAlpha = "0"; +$pref::OpenGL::noEnvColor = "0"; +$pref::OpenGL::textureAnisotropy = "0"; +$pref::OpenGL::textureTrilinear = "0"; +$pref::Player::defaultFov = 90; +$pref::Player::Name = "Test Guy"; +$pref::Player::renderMyItems = "1"; +$pref::Player::renderMyPlayer = "1"; +$pref::Player::zoomSpeed = 0; +$pref::QualifiedLevelAdvanced = 1; +$pref::QualifiedLevelBeginner = 1; +$pref::QualifiedLevelCustom = 1000; +$pref::QualifiedLevelIntermediate = 1; +$Pref::ResourceManager::excludedDirectories = ".svn;CVS"; +$pref::sceneLighting::cacheLighting = 1; +$pref::sceneLighting::cacheSize = 20000; +$pref::sceneLighting::purgeMethod = "lastCreated"; +$pref::sceneLighting::terrainGenerateLevel = 1; +$Pref::Server::AdminPassword = ""; +$Pref::Server::BanTime = 1800; +$Pref::Server::ConnectionError = "ERROR"; +$Pref::Server::FloodProtectionEnabled = 1; +$Pref::Server::Info = "This is a Torque Game Engine Test Server."; +$Pref::Server::KickBanTime = 300; +$Pref::Server::MaxChatLen = 120; +$Pref::Server::MaxPlayers = 64; +$Pref::Server::Name = "Torque Test Server"; +$Pref::Server::Password = ""; +$Pref::Server::Port = 28000; +$Pref::Server::RegionMask = 2; +$Pref::Server::TimeLimit = 20; +$pref::shadows = "2"; +$pref::SkyOn = "1"; +$pref::Terrain::dynamicLights = "1"; +$pref::Terrain::enableDetails = "1"; +$pref::Terrain::enableEmbossBumps = "1"; +$pref::Terrain::screenError = "4"; +$pref::Terrain::texDetail = "0"; +$pref::Terrain::textureCacheSize = "512"; +$pref::timeManagerProcessInterval = "0"; +$pref::TS::autoDetail = "1"; +$pref::TS::detailAdjust = "1"; +$pref::TS::fogTexture = "0"; +$pref::TS::screenError = "5"; +$pref::TS::skipFirstFog = "0"; +$pref::TS::skipLoadDLs = "0"; +$pref::TS::skipRenderDLs = "0"; +$pref::TS::UseTriangles = "0"; +$Pref::Unix::OpenALFrequency = 44100; +$pref::useStencilShadows = 0; +$pref::Video::allowD3D = "1"; +$pref::Video::allowOpenGL = "1"; +$pref::Video::appliedPref = "1"; +$pref::Video::clipHigh = "0"; +$pref::Video::defaultsRenderer = "NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2"; +$pref::Video::defaultsVendor = "NVIDIA Corporation"; +$pref::Video::deleteContext = "1"; +$pref::Video::disableVerticalSync = 1; +$pref::Video::displayDevice = "OpenGL"; +$pref::Video::fullScreen = "0"; +$pref::Video::monitorNum = 0; +$pref::Video::only16 = "0"; +$pref::Video::preferOpenGL = "1"; +$pref::Video::profiledRenderer = "NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2"; +$pref::Video::profiledVendor = "NVIDIA Corporation"; +$pref::Video::resolution = "1024 768 32"; +$pref::Video::safeModeOn = "1"; +$pref::Video::windowedRes = "800 600"; +$pref::visibleDistanceMod = "1"; diff --git a/common/client/screenshot.cs b/common/client/screenshot.cs new file mode 100644 index 0000000..0c011f6 --- /dev/null +++ b/common/client/screenshot.cs @@ -0,0 +1,58 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + + +function formatImageNumber(%number) +{ + if(%number < 10) + %number = "0" @ %number; + if(%number < 100) + %number = "0" @ %number; + if(%number < 1000) + %number = "0" @ %number; + if(%number < 10000) + %number = "0" @ %number; + return %number; +} + + +//---------------------------------------- +function recordMovie(%movieName, %fps) +{ + $timeAdvance = 1000 / %fps; + $screenGrabThread = schedule("movieGrabScreen(" @ %movieName @ ", 0);", $timeAdvance); +} + +function movieGrabScreen(%movieName, %frameNumber) +{ + screenshot(%movieName @ formatImageNumber(%frameNumber) @ ".png"); + $screenGrabThread = schedule("movieGrabScreen(" @ %movieName @ "," @ %frameNumber + 1 @ ");", $timeAdvance); +} + +function stopMovie() +{ + cancel($screenGrabThread); +} + + +//---------------------------------------- +$screenshotNumber = 0; + +function doScreenShot( %val ) +{ + if (%val) + { + $pref::interior::showdetailmaps = false; + screenShot("screenshot_" @ formatImageNumber($screenshotNumber++) @ ".png"); + } +} + + +// bind key to take screenshots +GlobalActionMap.bind(keyboard, "ctrl p", doScreenShot); +GlobalActionMap.bindCmd(keyboard, "ctrl l", "", "doMiniShot();"); + diff --git a/common/client/screenshot.cs.dso b/common/client/screenshot.cs.dso new file mode 100644 index 0000000..c3378f2 Binary files /dev/null and b/common/client/screenshot.cs.dso differ diff --git a/common/debugger/_ b/common/debugger/_ new file mode 100644 index 0000000..e69de29 diff --git a/common/editor/CVS/Entries b/common/editor/CVS/Entries new file mode 100644 index 0000000..b655e91 --- /dev/null +++ b/common/editor/CVS/Entries @@ -0,0 +1,26 @@ +/AIEButtonBarDlg.gui/2.1/Wed Apr 21 04:27:34 2004// +/AIEFrameSetDlg.gui/2.1/Wed Apr 21 04:27:34 2004// +/AIEWorkingDlg.gui/2.1/Wed Apr 21 04:27:34 2004// +/AIEditorGui.gui/2.1/Wed Apr 21 04:27:34 2004// +/AIEditorToolBar.gui/2.1/Wed Apr 21 04:27:34 2004// +/CUR_3darrow.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_3ddiagleft.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_3ddiagright.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_3dleftright.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_3dupdown.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_grab.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_hand.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/CUR_rotate.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/DefaultHandle.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/EditorGui.cs/2.1/Wed Apr 21 04:27:34 2004// +/EditorGui.gui/2.1/Wed Apr 21 04:27:34 2004// +/LockedHandle.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/SelectHandle.png/2.1/Wed Apr 21 04:27:34 2004/-kb/ +/TerrainEditorVSettingsGui.gui/2.1/Wed Apr 21 04:27:34 2004// +/WorldEditorSettingsDlg.gui/2.1/Wed Apr 21 04:27:34 2004// +/cursors.cs/2.1/Wed Apr 21 04:27:34 2004// +/editor.bind.cs/2.1/Wed Apr 21 04:27:34 2004// +/editor.cs/2.1/Wed Apr 21 04:27:34 2004// +/editorRender.cs/2.1/Wed Apr 21 04:27:34 2004// +/objectBuilderGui.gui/2.1/Wed Apr 21 04:27:34 2004// +D diff --git a/common/editor/CVS/Entries.Extra b/common/editor/CVS/Entries.Extra new file mode 100644 index 0000000..e300ff1 --- /dev/null +++ b/common/editor/CVS/Entries.Extra @@ -0,0 +1,25 @@ +/AIEButtonBarDlg.gui/// +/AIEFrameSetDlg.gui/// +/AIEWorkingDlg.gui/// +/AIEditorGui.gui/// +/AIEditorToolBar.gui/// +/CUR_3darrow.png/// +/CUR_3ddiagleft.png/// +/CUR_3ddiagright.png/// +/CUR_3dleftright.png/// +/CUR_3dupdown.png/// +/CUR_grab.png/// +/CUR_hand.png/// +/CUR_rotate.png/// +/DefaultHandle.png/// +/EditorGui.cs/// +/EditorGui.gui/// +/LockedHandle.png/// +/SelectHandle.png/// +/TerrainEditorVSettingsGui.gui/// +/WorldEditorSettingsDlg.gui/// +/cursors.cs/// +/editor.bind.cs/// +/editor.cs/// +/editorRender.cs/// +/objectBuilderGui.gui/// diff --git a/common/editor/CVS/Repository b/common/editor/CVS/Repository new file mode 100644 index 0000000..04b121b --- /dev/null +++ b/common/editor/CVS/Repository @@ -0,0 +1 @@ +torque/example/common/editor diff --git a/common/editor/CVS/Root b/common/editor/CVS/Root new file mode 100644 index 0000000..3ec8d52 --- /dev/null +++ b/common/editor/CVS/Root @@ -0,0 +1 @@ +:pserver;proxy=210.26.112.136;proxyport=8080:norman@cvs.garagegames.com:/cvs/torque diff --git a/common/editor/EditorGui.cs.dso b/common/editor/EditorGui.cs.dso new file mode 100644 index 0000000..94a5d5f Binary files /dev/null and b/common/editor/EditorGui.cs.dso differ diff --git a/common/editor/EditorGui.gui b/common/editor/EditorGui.gui new file mode 100644 index 0000000..3c0a372 --- /dev/null +++ b/common/editor/EditorGui.gui @@ -0,0 +1,3387 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EditorGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + currentEditor = "World Editor Inspector"; + saveAs = "0"; + + new EditManager() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new WorldEditor(EWorldEditor) { + profile = "MissionEditorProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 22"; + extent = "640 458"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + renderMissionArea = "1"; + missionAreaFillColor = "255 0 0 20"; + missionAreaFrameColor = "255 0 0 128"; + consoleFrameColor = "255 0 0 255"; + consoleFillColor = "0 0 0 0"; + consoleSphereLevel = "1"; + consoleCircleSegments = "32"; + consoleLineWidth = "1"; + isDirty = "0"; + planarMovement = "1"; + undoLimit = "40"; + dropType = "screenCenter"; + projectDistance = "2000"; + boundingBoxCollision = "1"; + renderPlane = "1"; + renderPlaneHashes = "1"; + gridColor = "255 255 255 20"; + planeDim = "500"; + gridSize = "10 10 10"; + renderPopupBackground = "1"; + popupBackgroundColor = "100 100 100 255"; + popupTextColor = "255 255 0 255"; + objectTextColor = "255 255 255 255"; + objectsUseBoxCenter = "1"; + axisGizmoMaxScreenLen = "200"; + axisGizmoActive = "1"; + mouseMoveScale = "0.2"; + mouseRotateScale = "0.01"; + mouseScaleScale = "0.01"; + minScaleFactor = "0.1"; + maxScaleFactor = "4000"; + objSelectColor = "255 0 0 255"; + objMouseOverSelectColor = "0 0 255 255"; + objMouseOverColor = "0 255 0 255"; + showMousePopupInfo = "1"; + dragRectColor = "255 255 0 255"; + renderObjText = "1"; + renderObjHandle = "1"; + objTextFormat = "$id$: $name$"; + faceSelectColor = "0 0 100 100"; + renderSelectionBox = "1"; + selectionBoxColor = "255 255 0 255"; + selectionLocked = "0"; + snapToGrid = "0"; + snapRotations = "0"; + rotationSnap = "15"; + toggleIgnoreList = "0"; + renderNav = "0"; + selectHandle = "common/editor/SelectHandle.png"; + defaultHandle = "common/editor/DefaultHandle.png"; + lockedHandle = "common/editor/LockedHandle.png"; + numEditModes = "3"; + editMode2 = "scale"; + editMode0 = "move"; + editMode1 = "rotate"; + + new GuiControl(EWMissionArea) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "380 0"; + extent = "260 280"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(AE_MainBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "260 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableEditing = $ThisControl.getValue();"; + helpTag = "0"; + text = "Edit Area"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.centerWorld();"; + helpTag = "0"; + text = "Center"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "126 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableMirroring = true;AE_MainBar.setVisible(0);AE_MirrorBar.setVisible(1);"; + helpTag = "0"; + text = "Mirror"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl(AE_MirrorBar) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "260 22"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 3"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + command = "if(AreaEditor.mirrorIndex == 0) AreaEditor.mirrorIndex = 7; else AreaEditor.mirrorIndex--;"; + helpTag = "0"; + text = "<--"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "39 3"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + command = "if(AreaEditor.mirrorIndex == 7) AreaEditor.mirrorIndex = 0; else AreaEditor.mirrorIndex++;"; + helpTag = "0"; + text = "-->"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "80 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableMirroring = false;ETerrainEditor.mirrorTerrain(AreaEditor.mirrorIndex);AreaEditor.updateTerrain();AE_MirrorBar.setVisible(0);AE_MainBar.setVisible(1);"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "143 3"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + command = "AreaEditor.enableMirroring = false;AE_MirrorBar.setVisible(0);AE_MainBar.setVisible(1);"; + helpTag = "0"; + text = "Cancel"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new MissionAreaEditor(AreaEditor) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 22"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + wrap = "0"; + squareBitmap = "1"; + enableEditing = "0"; + renderCamera = "1"; + handleFrameColor = "255 255 255 255"; + handleFillColor = "0 0 0 255"; + defaultObjectColor = "0 255 0 100"; + waterObjectColor = "0 0 255 100"; + missionBoundsColor = "255 0 0 255"; + cameraColor = "255 0 0 255"; + enableMirroring = "0"; + mirrorIndex = "0"; + mirrorLineColor = "255 0 255 255"; + mirrorArrowColor = "255 0 255 128"; + }; + new GuiTextCtrl(AreaEditingText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "7 258"; + extent = "151 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + }; + new GuiFrameSetCtrl(EWFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 0"; + extent = "270 458"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + columns = "0"; + rows = "0 321"; + borderWidth = "4"; + borderColor = "206 206 206 206"; + borderEnable = "dynamic"; + borderMovable = "dynamic"; + autoBalance = "0"; + fudgeFactor = "0"; + + new GuiControl(EWTreePane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 317"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 317"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiTreeViewCtrl(EditorTree) { + profile = "GuiTreeViewProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "2 2"; + extent = "640 11"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + allowMultipleSelections = "1"; + recurseSets = "1"; + }; + }; + }; + new GuiControl(EWCreatorInspectorPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 321"; + extent = "270 137"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiScrollCtrl(EWCreatorPane) { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 137"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new CreatorTree(Creator) { + profile = "GuiTreeViewProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "93 44"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + new GuiControl(EWInspectorPane) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "270 137"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "270 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + new GuiButtonCtrl(ECreateSubsBtn) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 2"; + extent = "64 20"; + minExtent = "8 8"; + visible = "0"; + command = "EWorldEditor.createSubs();"; + helpTag = "0"; + text = "Create Subs"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "40 20"; + minExtent = "8 8"; + visible = "1"; + command = "EWorldEditor.isDirty = true;inspector.apply(InspectorNameEdit.getValue());"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditCtrl(InspectorNameEdit) { + profile = "GuiTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "44 2"; + extent = "160 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "270 113"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiInspector(Inspector) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "2 2"; + extent = "248 74"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + editControlOffset = "5"; + entryHeight = "16"; + textExtent = "80"; + entrySpacing = "2"; + maxMenuExtent = "80"; + }; + }; + }; + }; + }; + }; + new TerrainEditor(ETerrainEditor) { + profile = "MissionEditorProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 22"; + extent = "640 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + renderMissionArea = "1"; + missionAreaFillColor = "255 0 0 20"; + missionAreaFrameColor = "255 0 0 128"; + consoleFrameColor = "255 0 0 255"; + consoleFillColor = "0 0 0 0"; + consoleSphereLevel = "1"; + consoleCircleSegments = "32"; + consoleLineWidth = "1"; + isDirty = "1"; + renderBorder = "1"; + borderHeight = "10"; + borderFillColor = "0 255 0 20"; + borderFrameColor = "0 255 0 128"; + borderLineMode = "0"; + selectionHidden = "1"; + enableSoftBrushes = "1"; + renderVertexSelection = "1"; + processUsesBrush = "0"; + adjustHeightVal = "10"; + setHeightVal = "100"; + scaleVal = "1"; + smoothFactor = "0.1"; + materialGroup = "0"; + softSelectRadius = "50"; + softSelectFilter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + softSelectDefaultFilter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + adjustHeightMouseScale = "0.1"; + currentMode = "paint"; + softSelecting = "1"; + brushSize = "9"; + currentAction = "brushAdjustHeight"; + + new GuiControl(EHeightField) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(HeightfieldTabParent) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 0"; + extent = "270 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "1"; + willFirstRespond = "1"; + + new GuiControl(tab_fBm) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "100 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "fBm Fractal Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 35"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(fbm_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "1 24"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 60"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 136"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + command = "fBm_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 110"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(fBm_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 110"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(fbm_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 60"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "128 85"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Detail:"; + maxLength = "255"; + }; + new GuiPopUpMenuCtrl(fbm_detail) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 85"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + }; + new GuiControl(tab_RMF) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "125 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Rigid MultiFractal Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 35"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 137"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "rmf_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 60"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(rmf_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "1 16"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 111"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed"; + maxLength = "255"; + }; + new GuiTextEditCtrl(rmf_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 110"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(rmf_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 60"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "128 85"; + extent = "29 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Detail:"; + maxLength = "255"; + }; + new GuiPopUpMenuCtrl(rmf_detail) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 85"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + }; + new GuiControl(tab_Canyon) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "118 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Canyon Fractal Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "124 61"; + extent = "34 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Chaos:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(canyon_freq) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "4 10"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 35"; + extent = "95 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Canyon Frequency:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 114"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "canyon_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "88 89"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(canyon_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 89"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(canyon_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 62"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_Smooth) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "95 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Smoothing Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Agressiveness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(smooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(smooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_SmoothWater) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "154 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Water Area Smoothing Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Agressiveness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(watersmooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(watersmooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_SmoothRidge) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "152 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Ridge Area Smoothing Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 64"; + extent = "77 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Agressiveness:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(Ridgesmooth_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 40"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(Ridgesmooth_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + }; + new GuiControl(tab_Filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "101 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Height Filter Settings:"; + maxLength = "255"; + }; + new GuiFilterCtrl(filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 29"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.130770 0.161540 0.223080 0.369230 0.507690 1.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "154 84"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Result"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 167"; + extent = "23 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Input"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 160"; + extent = "16 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "min"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 160"; + extent = "20 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "max"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "150 142"; + extent = "16 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "min"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "150 28"; + extent = "20 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "max"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "189 139"; + extent = "61 18"; + minExtent = "8 8"; + visible = "1"; + variable = "filter.controlPoints"; + command = "filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab($selectedOperation);Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "187 118"; + extent = "66 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points"; + maxLength = "255"; + }; + }; + new GuiControl(tab_Turbulence) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "99 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Turbulence Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 34"; + extent = "91 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Turbulence Factor:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(turbulence_factor) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "75 61"; + extent = "81 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Radius of Effect:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(turbulence_radius) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 61"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "1 40"; + increment = "1"; + }; + }; + new GuiControl(tab_Thermal) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "122 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Thermal Erosion Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 36"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "79 91"; + extent = "80 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Material Loss %:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 63"; + extent = "139 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Erosion Slope (degrees):"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(thermal_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 36"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 50"; + increment = "1"; + }; + new GuiTextEditSliderCtrl(thermal_slope) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 63"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%2.1f"; + range = "0 89"; + increment = "0.1"; + }; + new GuiTextEditSliderCtrl(thermal_cons) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 90"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%2.1f"; + range = "0 100"; + increment = "0.1"; + }; + }; + new GuiControl(tab_Hydraulic) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "259 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "129 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hydraulic Erosion Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "112 34"; + extent = "47 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Iterations:"; + maxLength = "255"; + }; + new GuiFilterCtrl(hydraulic_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "16 57"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextEditSliderCtrl(hydraulic_iter) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 50"; + increment = "1"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 161"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "hydraulic_filter.controlPoints"; + command = "hydraulic_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 141"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_Sinus) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "259 199"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "72 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Sinus Settings:"; + maxLength = "255"; + }; + new GuiFilterCtrl(sinus_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "36 64"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.176920 0.833330 0.876920 0.238460 0.215380 0.166660 0.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "100 32"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(sinus_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "174 32"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 66"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "sinus_seed.setValue(terraFormer.generateSeed());Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "178 171"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "sinus_filter.controlPoints"; + command = "sinus_filter.controlPoints = $ThisControl.getValue();Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 150"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_terrainFile) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 2"; + extent = "53 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "TerrainFile:"; + maxLength = "255"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 20"; + extent = "262 180"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiTextListCtrl(terrainFile_textList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "240 8"; + minExtent = "8 8"; + visible = "1"; + command = "terrainFile_terrFileText.setValue(\"terrains/\" @ terrainFile_textList.getRowTextById(terrainFile_textList.getSelectedId()));Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + new GuiTextCtrl(terrainFile_terrFileText) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 2"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + }; + new GuiControl(tab_General) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "General Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 53"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Height Range:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(general_scale) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 52"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "5 500"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 53"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "meters"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "29 93"; + extent = "74 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Water Level %:"; + maxLength = "255"; + }; + new GuiSliderCtrl(general_water) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 113"; + extent = "200 30"; + minExtent = "8 8"; + visible = "1"; + variable = "value"; + command = "general_water_meters.setValue(general_water.getValue()*general_scale.getValue()+general_min_height.getValue() @ \" meters\");Heightfield::saveTab();Heightfield::preview();"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0"; + }; + new GuiTextCtrl(general_water_meters) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "109 93"; + extent = "42 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0 meters"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 158"; + extent = "135 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::center();"; + helpTag = "0"; + text = "Center on Camera"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextCtrl(general_centerx) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "8 18"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(general_centery) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "8 18"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 28"; + extent = "89 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Terrain Height:"; + maxLength = "255"; + }; + new GuiTextEditSliderCtrl(general_min_height) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "108 27"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "0 500"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "177 28"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "meters"; + maxLength = "255"; + }; + }; + new GuiControl(tab_Bitmap) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "76 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Bitmap settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 43"; + extent = "45 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Filename:"; + maxLength = "255"; + }; + new GuiTextCtrl(bitmap_name) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 43"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiButtonCtrl(bitmap_choose) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 65"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::setBitmap();"; + helpTag = "0"; + text = "Choose..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl(tab_Blend) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "261 198"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(blend_option) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 118"; + extent = "82 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + text = "Add"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 6"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Blend settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 31"; + extent = "34 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Factor:"; + maxLength = "255"; + }; + new GuiSliderCtrl(blend_factor) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "49 29"; + extent = "200 30"; + minExtent = "8 8"; + visible = "1"; + variable = "value"; + command = "Heightfield::saveTab();Heightfield::preview($selectedOperation);"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "5"; + value = "0.584211"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 64"; + extent = "49 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Source A:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 156"; + extent = "205 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "result = (A*factor) operation (B*(1-factor))"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 91"; + extent = "48 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Source B:"; + maxLength = "255"; + }; + new GuiTextEditCtrl(blend_srcB) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 89"; + extent = "33 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "1"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl(blend_srcA) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "64 65"; + extent = "92 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Previous Operation"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 118"; + extent = "50 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Operation:"; + maxLength = "255"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 250"; + extent = "275 210"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Heightfield_options) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Options"; + maxLength = "255"; + maxPopupHeight = "200"; + setText = "false"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::onDelete();"; + helpTag = "0"; + text = "Delete"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 27"; + extent = "261 176"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + childMargin = "0 0"; + + new GuiTextListCtrl(Heightfield_operation) { + profile = "GuiTextListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "257 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "98 229"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Heightfield::apply();"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiTerrPreviewCtrl(HeightfieldPreview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "4 198"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + }; + new GuiControl(ETexture) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 458"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTerrPreviewCtrl(TexturePreview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "4 198"; + extent = "256 256"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new GuiControl(TextureTabParent) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 0"; + extent = "270 458"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + childMargin = "0 0"; + constantThumbHeight = "1"; + willFirstRespond = "1"; + + new GuiControl(tab_DistortMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 1"; + extent = "261 202"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "126 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Fractal Distortion Settings:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 97"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + command = "dmask_seed.setValue(terraFormer.generateSeed());Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditCtrl(dmask_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 71"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(dmask_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 47"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextEditSliderCtrl(dmask_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 23"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "3 36"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "90 23"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "103 47"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "91 71"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiFilterCtrl(dmask_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 96"; + extent = "143 93"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 165"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "dmask_filter.controlPoints"; + command = "dmask_filter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "173 147"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_FractalMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 202"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "106 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Fractal Mask Settings:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 96"; + extent = "77 20"; + minExtent = "8 8"; + visible = "1"; + command = "fBmmask_seed.setValue(terraFormer.generateSeed());Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "New Seed"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiTextEditCtrl(fBmmask_seed) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 70"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditSliderCtrl(fbmmask_rough) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 46"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%0.3f"; + range = "0 1"; + increment = "0.001"; + }; + new GuiTextEditSliderCtrl(fbmmask_interval) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 22"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%1.0f"; + range = "3 36"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "92 22"; + extent = "71 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Hill Frequency:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 46"; + extent = "58 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Roughness:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 70"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Random Seed:"; + maxLength = "255"; + }; + new GuiFilterCtrl(fBmmask_filter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 94"; + extent = "147 98"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166670 0.333330 0.500000 0.666670 0.833330 1.000000"; + }; + new GuiCheckBoxCtrl(fBmDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "166 122"; + extent = "82 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 174"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "fBmmask_filter.controlPoints"; + command = "fBmmask_filter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 155"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_HeightMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "103 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Height Mask Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 26"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Filter:"; + maxLength = "255"; + }; + new GuiFilterCtrl(TextureHeightFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 26"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "6"; + filter = "0.000000 0.200000 0.400000 0.600000 0.800000 1.000000"; + }; + new GuiCheckBoxCtrl(heightDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 134"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "TextureHeightFilter.controlPoints"; + command = "TextureHeightFilter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 115"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_SlopeMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "100 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Slope Mask Settings:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 26"; + extent = "26 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Filter:"; + maxLength = "255"; + }; + new GuiFilterCtrl(TextureSlopeFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 27"; + extent = "130 130"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + controlPoints = "7"; + filter = "0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000"; + }; + new GuiCheckBoxCtrl(slopeDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "44 166"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditSliderCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 134"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + variable = "TextureSlopeFilter.controlPoints"; + command = "TextureSlopeFilter.controlPoints = $ThisControl.getValue();Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + format = "%3.0f"; + range = "2 20"; + increment = "1"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "185 115"; + extent = "69 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Control Points:"; + maxLength = "255"; + }; + }; + new GuiControl(tab_WaterMask) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 0"; + extent = "261 200"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 1"; + extent = "131 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Water Level Mask Settings:"; + maxLength = "255"; + }; + new GuiCheckBoxCtrl(waterDistort) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 165"; + extent = "129 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::saveOperation();Texture::previewOperation();"; + helpTag = "0"; + text = "Use Fractal Distortion"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "371 249"; + extent = "267 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "4 27"; + extent = "261 65"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + childMargin = "0 0"; + + new GuiTextListCtrl(Texture_material) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "257 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::deleteMaterial();"; + helpTag = "0"; + text = "Delete"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 3"; + extent = "78 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::addMaterialTexture();"; + helpTag = "0"; + text = "Add Material..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "height"; + position = "370 349"; + extent = "270 112"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiPopUpMenuCtrl(Texture_operation_menu) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 3"; + extent = "199 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Options"; + maxLength = "255"; + maxPopupHeight = "200"; + setText = "false"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "205 3"; + extent = "53 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::deleteOperation();"; + helpTag = "0"; + text = "Delete"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiScrollCtrl() { + profile = "EditorScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "5 27"; + extent = "261 77"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "1"; + childMargin = "0 0"; + + new GuiTextListCtrl(Texture_operation) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "257 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "1"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "456 219"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Texture::applyMaterials();"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiTextCtrl(TESelectionInfo) { + profile = "EditorTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "254 430"; + extent = "159 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TEMouseBrushInfo) { + profile = "EditorTextProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "6 430"; + extent = "182 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TESelectionInfo1) { + profile = "EditorTextProfileWhite"; + horizSizing = "right"; + vertSizing = "top"; + position = "255 431"; + extent = "159 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextCtrl(TEMouseBrushInfo1) { + profile = "EditorTextProfileWhite"; + horizSizing = "right"; + vertSizing = "top"; + position = "7 431"; + extent = "182 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiControl(EPainter) { + profile = "EditorScrollProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "409 0"; + extent = "231 446"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(ETerrainMaterialBitmap0) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 24"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText0) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 5"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange0) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 125"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(0);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint0) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 6"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(0);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap1) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 170"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText1) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 151"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange1) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 271"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(1);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint1) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 152"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(1);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap2) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 312"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText2) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 293"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange2) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 413"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(2);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint2) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 294"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(2);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 24"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText3) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 5"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange3) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 125"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(3);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint3) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 6"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(3);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap4) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 170"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText4) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 151"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange4) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 271"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(4);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint4) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 152"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(4);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + new GuiBitmapCtrl(ETerrainMaterialBitmap5) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 311"; + extent = "96 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "fps/data/terrains/grassland/grass"; + wrap = "1"; + }; + new GuiTextCtrl(ETerrainMaterialText5) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "123 292"; + extent = "28 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "grass"; + maxLength = "255"; + }; + new GuiButtonCtrl(ETerrainMaterialChange5) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "122 412"; + extent = "96 22"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.changeMaterial(5);"; + helpTag = "0"; + text = "Change..."; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBorderButtonCtrl(ETerrainMaterialPaint5) { + profile = "GuiBorderButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "117 293"; + extent = "106 118"; + minExtent = "8 8"; + visible = "1"; + command = "ETerrainEditor.setPaintMaterial(5);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "RadioButton"; + }; + }; + }; + new GuiMenuBar(EditorMenuBar) { + profile = "GuiMenuBarProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 22"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/common/editor/EditorGui.gui.dso b/common/editor/EditorGui.gui.dso new file mode 100644 index 0000000..8a4ce4a Binary files /dev/null and b/common/editor/EditorGui.gui.dso differ diff --git a/common/editor/ObjectBuilderGui.gui.dso b/common/editor/ObjectBuilderGui.gui.dso new file mode 100644 index 0000000..0450b84 Binary files /dev/null and b/common/editor/ObjectBuilderGui.gui.dso differ diff --git a/common/editor/TerrainEditorVSettingsGui.gui b/common/editor/TerrainEditorVSettingsGui.gui new file mode 100644 index 0000000..ff57927 --- /dev/null +++ b/common/editor/TerrainEditorVSettingsGui.gui @@ -0,0 +1,272 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(TerrainEditorValuesSettingsGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "117 113"; + extent = "408 247"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Terrain Action Values"; + maxLength = "255"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDIalog(TerrainEditorValuesSettingsGui);"; + + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "198 27"; + extent = "203 115"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 12"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.adjustHeightVal"; + command = "ETerrainEditor.adjustHeightVal = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 37"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.setHeightVal"; + command = "ETerrainEditor.setHeightVal = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 62"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.scaleVal"; + command = "ETerrainEditor.scaleVal = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 87"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.smoothFactor"; + command = "ETerrainEditor.smoothFactor = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 12"; + extent = "64 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Adjust Height"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 37"; + extent = "49 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Set Height"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "11 62"; + extent = "60 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Scale Height"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 87"; + extent = "70 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Smooth Factor"; + maxLength = "255"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "218 205"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDIalog(TerrainEditorValuesSettingsGui);"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 27"; + extent = "188 212"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiFilterCtrl(TESoftSelectFilter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 22"; + extent = "155 162"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + controlPoints = "7"; + filter = "1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 4"; + extent = "67 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Soft Selection"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 189"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "0"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 26"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "1"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "60 190"; + extent = "45 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = ""; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 187"; + extent = "50 18"; + minExtent = "8 8"; + visible = "1"; + variable = "ETerrainEditor.softSelectRadius"; + command = "ETerrainEditor.softSelectRadius = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiButtonCtrl(TESettingsApplyButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "307 205"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Apply"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/common/editor/TerrainEditorVSettingsGui.gui.dso b/common/editor/TerrainEditorVSettingsGui.gui.dso new file mode 100644 index 0000000..9319a8a Binary files /dev/null and b/common/editor/TerrainEditorVSettingsGui.gui.dso differ diff --git a/common/editor/WorldEditorSettingsDlg.gui b/common/editor/WorldEditorSettingsDlg.gui new file mode 100644 index 0000000..231b503 --- /dev/null +++ b/common/editor/WorldEditorSettingsDlg.gui @@ -0,0 +1,620 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(WorldEditorSettingsDlg) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "90 55"; + extent = "459 370"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "WorldEditor Settings"; + maxLength = "255"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(WorldEditorSettingsDlg);"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "307 332"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(WorldEditorSettingsDlg);"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiControl(WESettingsGeneralTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 27"; + extent = "220 210"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.planarMovement"; + command = "EWorldEditor.planarMovement = $ThisControl.getValue();"; + helpTag = "0"; + text = "Planar Movement"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 36"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.boundingBoxCollision"; + command = "EWorldEditor.boundingBoxCollision = $ThisControl.getValue();"; + helpTag = "0"; + text = "Collide With Object\'s Bounding Box"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 88"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.axisGizmoActive"; + command = "EWorldEditor.axisGizmoActive = $ThisControl.getValue();"; + helpTag = "0"; + text = "Axis Gizmo Active"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 62"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.objectsUseBoxCenter"; + command = "EWorldEditor.objectsUseBoxCenter = $ThisControl.getValue();"; + helpTag = "0"; + text = "Objects Use Box Center"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 123"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Scale Factor:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 146"; + extent = "83 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Min Scale Factor:"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 123"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.minScaleFactor"; + command = "EWorldEditor.minScaleFactor = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 146"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.maxScaleFactor"; + command = "EWorldEditor.maxScaleFactor = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 178"; + extent = "80 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Visible Distance:"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "104 178"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "pref::Editor::visibleDistance"; + command = "$pref::Editor::visibleDistance = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiControl(WESettingsDisplayTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 27"; + extent = "220 210"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderPlane"; + command = "EWorldEditor.renderPlane = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Plane"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 37"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderPlaneHashes"; + command = "EWorldEditor.renderPlaneHashes = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Plane Hashes"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 64"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderObjText"; + command = "EWorldEditor.renderObjText = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Object Text"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 119"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderSelectionBox"; + command = "EWorldEditor.renderSelectionBox = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Selection Box"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 151"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.planeDim"; + command = "EWorldEditor.planeDim = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 151"; + extent = "59 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Plane Extent"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "18 175"; + extent = "44 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Grid Size"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 175"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.gridSize"; + command = "EWorldEditor.gridSize = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 90"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.renderObjHandle"; + command = "EWorldEditor.renderObjHandle = $ThisControl.getValue();"; + helpTag = "0"; + text = "Render Object Handle"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + }; + new GuiControl(WESettingsSnapTab) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 52"; + extent = "220 210"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 39"; + extent = "44 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Grid Size"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 39"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.gridSize"; + command = "EWorldEditor.gridSize = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.snapToGrid"; + command = "EWorldEditor.snapToGrid = $ThisControl.getValue();"; + helpTag = "0"; + text = "Snap To Grid"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 66"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.snapRotations"; + command = "EWorldEditor.snapRotations = $ThisControl.getValue();"; + helpTag = "0"; + text = "Snap Rotations"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 95"; + extent = "56 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Snap Angle"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "97 95"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.rotationSnap"; + command = "EWorldEditor.rotationSnap = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + new GuiControl(WESettingsMouseTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "7 241"; + extent = "220 121"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 10"; + extent = "200 24"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.showMousePopupInfo"; + command = "EWorldEditor.showMousePopupInfo = $ThisControl.getValue();"; + helpTag = "0"; + text = "Show Mouse Popup Info"; + groupNum = "-1"; + buttonType = "ToggleButton"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 35"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.mouseMoveScale"; + command = "EWorldEditor.mouseMoveScale = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 60"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.mouseRotateScale"; + command = "EWorldEditor.mouseRotateScale = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 85"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.mouseScaleScale"; + command = "EWorldEditor.mouseScaleScale = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 60"; + extent = "61 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Rotate Scale"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 85"; + extent = "57 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Scale Scale"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 35"; + extent = "56 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Move Scale"; + maxLength = "255"; + }; + }; + new GuiControl(WESettingsMiscTab) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "231 241"; + extent = "220 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 35"; + extent = "78 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Project Distance"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 9"; + extent = "89 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Gizmo Screen Len"; + maxLength = "255"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 35"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.projectDistance"; + command = "EWorldEditor.projectDistance = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "101 9"; + extent = "107 18"; + minExtent = "8 8"; + visible = "1"; + variable = "EWorldEditor.axisGizmoMaxScreenLen"; + command = "EWorldEditor.axisGizmoMaxScreenLen = $ThisControl.getValue();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/common/editor/WorldEditorSettingsDlg.gui.dso b/common/editor/WorldEditorSettingsDlg.gui.dso new file mode 100644 index 0000000..ee9d9d6 Binary files /dev/null and b/common/editor/WorldEditorSettingsDlg.gui.dso differ diff --git a/common/editor/cur_3darrow.png b/common/editor/cur_3darrow.png new file mode 100644 index 0000000..1e06287 Binary files /dev/null and b/common/editor/cur_3darrow.png differ diff --git a/common/editor/cur_3ddiagleft.png b/common/editor/cur_3ddiagleft.png new file mode 100644 index 0000000..93e2af4 Binary files /dev/null and b/common/editor/cur_3ddiagleft.png differ diff --git a/common/editor/cur_3ddiagright.png b/common/editor/cur_3ddiagright.png new file mode 100644 index 0000000..59c09bc Binary files /dev/null and b/common/editor/cur_3ddiagright.png differ diff --git a/common/editor/cur_3dleftright.png b/common/editor/cur_3dleftright.png new file mode 100644 index 0000000..63c20e1 Binary files /dev/null and b/common/editor/cur_3dleftright.png differ diff --git a/common/editor/cur_3dupdown.png b/common/editor/cur_3dupdown.png new file mode 100644 index 0000000..c0897e8 Binary files /dev/null and b/common/editor/cur_3dupdown.png differ diff --git a/common/editor/cur_grab.png b/common/editor/cur_grab.png new file mode 100644 index 0000000..7bab05a Binary files /dev/null and b/common/editor/cur_grab.png differ diff --git a/common/editor/cur_hand.png b/common/editor/cur_hand.png new file mode 100644 index 0000000..5e10736 Binary files /dev/null and b/common/editor/cur_hand.png differ diff --git a/common/editor/cur_rotate.png b/common/editor/cur_rotate.png new file mode 100644 index 0000000..24c91b8 Binary files /dev/null and b/common/editor/cur_rotate.png differ diff --git a/common/editor/cursors.cs b/common/editor/cursors.cs new file mode 100644 index 0000000..e673932 --- /dev/null +++ b/common/editor/cursors.cs @@ -0,0 +1,63 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Editor Cursors +//------------------------------------------------------------------------------ + +new GuiCursor(EditorHandCursor) +{ + hotSpot = "7 0"; + bitmapName = "./CUR_hand.png"; +}; + +new GuiCursor(EditorRotateCursor) +{ + hotSpot = "11 18"; + bitmapName = "./CUR_rotate.png"; +}; + +new GuiCursor(EditorMoveCursor) +{ + hotSpot = "9 13"; + bitmapName = "./CUR_grab.png"; +}; + +new GuiCursor(EditorArrowCursor) +{ + hotSpot = "0 0"; + bitmapName = "./CUR_3darrow.png"; +}; + +new GuiCursor(EditorUpDownCursor) +{ + hotSpot = "5 10"; + bitmapName = "./CUR_3dupdown"; +}; +new GuiCursor(EditorLeftRightCursor) +{ + hotSpot = "9 5"; + bitmapName = "./CUR_3dleftright"; +}; + +new GuiCursor(EditorDiagRightCursor) +{ + hotSpot = "8 8"; + bitmapName = "./CUR_3ddiagright"; +}; + +new GuiCursor(EditorDiagLeftCursor) +{ + hotSpot = "8 8"; + bitmapName = "./CUR_3ddiagleft"; +}; + +new GuiControl(EmptyControl) +{ + profile = "GuiButtonProfile"; +}; + + diff --git a/common/editor/cursors.cs.dso b/common/editor/cursors.cs.dso new file mode 100644 index 0000000..a1781af Binary files /dev/null and b/common/editor/cursors.cs.dso differ diff --git a/common/editor/defaulthandle.png b/common/editor/defaulthandle.png new file mode 100644 index 0000000..c32ed3f Binary files /dev/null and b/common/editor/defaulthandle.png differ diff --git a/common/editor/editor.bind.cs b/common/editor/editor.bind.cs new file mode 100644 index 0000000..10b38f3 --- /dev/null +++ b/common/editor/editor.bind.cs @@ -0,0 +1,116 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Mission Editor Manager +new ActionMap(EditorMap); + +EditorMap.bindCmd(keyboard, "f2", "editor.setEditor(WorldEditor);", ""); +EditorMap.bindCmd(keyboard, "f3", "editor.setEditor(TerrainEditor);", ""); +EditorMap.bindCmd(keyboard, "f4", "editor.setEditor(Terraformer);", ""); +EditorMap.bindCmd(keyboard, "f5", "editor.setEditor(AIEditor);", ""); + +EditorMap.bindCmd(keyboard, "alt s", "Canvas.pushDialog(EditorSaveMissionDlg);", ""); +EditorMap.bindCmd(keyboard, "alt r", "lightScene(\"\", forceAlways);", ""); +EditorMap.bindCmd(keyboard, "escape", "editor.close();", ""); + +// alt-#: set bookmark +for(%i = 0; %i < 9; %i++) + EditorMap.bindCmd(keyboard, "alt " @ %i, "editor.setBookmark(" @ %i @ ");", ""); + +// ctrl-#: goto bookmark +for(%i = 0; %i < 9; %i++) + EditorMap.bindCmd(keyboard, "ctrl " @ %i, "editor.gotoBookmark(" @ %i @ ");", ""); + + +//------------------------------------------------------------------------------ +// World Editor +new ActionMap(WorldEditorMap); +WorldEditorMap.bindCmd(keyboard, "space", "wEditor.nextMode();", ""); + +WorldEditorMap.bindCmd(keyboard, "delete", "wEditor.copySelection();wEditor.deleteSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl c", "wEditor.copySelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl x", "wEditor.copySelection();wEditor.deleteSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl v", "wEditor.pasteSelection();", ""); + +WorldEditorMap.bindCmd(keyboard, "ctrl z", "wEditor.undo();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl y", "wEditor.redo();", ""); + +WorldEditorMap.bindCmd(keyboard, "ctrl h", "wEditor.hideSelection(true);", ""); +WorldEditorMap.bindCmd(keyboard, "alt h", "wEditor.hideSelection(false);", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl d", "wEditor.dropSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl q", "wEditor.dropCameraToSelection();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl m", "wEditor.moveSelectionInPlace();", ""); +WorldEditorMap.bindCmd(keyboard, "ctrl r", "wEditor.resetTransforms();", ""); + +WorldEditorMap.bindCmd(keyboard, "i", "Canvas.pushDialog(interiorDebugDialog);", ""); +WorldEditorMap.bindCmd(keyboard, "o", "Canvas.pushDialog(WorldEditorSettingsDlg);", ""); + + +//------------------------------------------------------------------------------ +// Terrain Editor +new ActionMap(TerrainEditorMap); + +TerrainEditorMap.bindCmd(keyboard, "ctrl z", "tEditor.undo();", ""); +TerrainEditorMap.bindCmd(keyboard, "ctrl y", "tEditor.redo();", ""); + +TerrainEditorMap.bindCmd(keyboard, "left", "tEditor.offsetBrush(-1, 0);", ""); +TerrainEditorMap.bindCmd(keyboard, "right", "tEditor.offsetBrush(1, 0);", ""); +TerrainEditorMap.bindCmd(keyboard, "up", "tEditor.offsetBrush(0, 1);", ""); +TerrainEditorMap.bindCmd(keyboard, "down", "tEditor.offsetBrush(0, -1);", ""); + +TerrainEditorMap.bindCmd(keyboard, "1", "TERaiseHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "2", "TELowerHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "3", "TESetHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "4", "TESetEmptyActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "5", "TEClearEmptyActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "6", "TEFlattenHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "7", "TESmoothHeightActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "8", "TESetMaterialActionRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "9", "TEAdjustHeightActionRadio.setValue(1);", ""); + +TerrainEditorMap.bindCmd(keyboard, "shift 1", "tEditor.processUsesBrush = true;TERaiseHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 2", "tEditor.processUsesBrush = true;TELowerHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 3", "tEditor.processUsesBrush = true;TESetHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 4", "tEditor.processUsesBrush = true;TESetEmptyActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 5", "tEditor.processUsesBrush = true;TEClearEmptyActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 6", "tEditor.processUsesBrush = true;TEFlattenHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 7", "tEditor.processUsesBrush = true;TESmoothHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 8", "tEditor.processUsesBrush = true;TESetMaterialActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); +TerrainEditorMap.bindCmd(keyboard, "shift 9", "tEditor.processUsesBrush = true;TEAdjustHeightActionRadio.setValue(1);tEditor.processUsesBrush = false;", ""); + +TerrainEditorMap.bindCmd(keyboard, "h", "TESelectModeRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "j", "TEPaintModeRadio.setValue(1);", ""); +TerrainEditorMap.bindCmd(keyboard, "k", "TEAdjustModeRadio.setValue(1);", ""); + +TerrainEditorMap.bindCmd(keyboard, "i", "Canvas.pushDialog(interiorDebugDialog);", ""); +TerrainEditorMap.bindCmd(keyboard, "o", "Canvas.pushDialog(TerrainEditorValuesSettingsGui, 99);", ""); +TerrainEditorMap.bindCmd(keyboard, "m", "Canvas.pushDialog(TerrainEditorTextureSelectGui, 99);", ""); + +TerrainEditorMap.bindCmd(keyboard, "backspace", "tEditor.clearSelection();", ""); + + +//------------------------------------------------------------------------------ +// AI Editor +new ActionMap(AIEditorMap); + +AIEditorMap.bindCmd(keyboard, "space", "aiEdit.nextMode();", ""); + +AIEditorMap.bindCmd(keyboard, "delete", "aiEdit.copySelection();aiEdit.deleteSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl c", "aiEdit.copySelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl x", "aiEdit.copySelection();aiEdit.deleteSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl v", "aiEdit.pasteSelection();", ""); + +AIEditorMap.bindCmd(keyboard, "ctrl h", "aiEdit.hideSelection(true);", ""); +AIEditorMap.bindCmd(keyboard, "alt h", "aiEdit.hideSelection(false);", ""); +AIEditorMap.bindCmd(keyboard, "ctrl d", "aiEdit.dropSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl q", "aiEdit.dropCameraToSelection();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl m", "aiEdit.moveSelectionInPlace();", ""); +AIEditorMap.bindCmd(keyboard, "ctrl r", "aiEdit.resetTransforms();", ""); + +AIEditorMap.bindCmd(keyboard, "i", "Canvas.pushDialog(interiorDebugDialog);", ""); + diff --git a/common/editor/editor.bind.cs.dso b/common/editor/editor.bind.cs.dso new file mode 100644 index 0000000..63d9d18 Binary files /dev/null and b/common/editor/editor.bind.cs.dso differ diff --git a/common/editor/editor.cs b/common/editor/editor.cs new file mode 100644 index 0000000..d876127 --- /dev/null +++ b/common/editor/editor.cs @@ -0,0 +1,111 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + + +//------------------------------------------------------------------------------ +// Hard coded images referenced from C++ code +//------------------------------------------------------------------------------ + +// editor/SelectHandle.png +// editor/DefaultHandle.png +// editor/LockedHandle.png + + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// Mission Editor +//------------------------------------------------------------------------------ + +function Editor::create() +{ + // Not much to do here, build it and they will come... + // Only one thing... the editor is a gui control which + // expect the Canvas to exist, so it must be constructed + // before the editor. + new EditManager(Editor) + { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + open = false; + }; +} + + +function Editor::onAdd(%this) +{ + // Basic stuff + exec("./cursors.cs"); + + // Tools + exec("./editor.bind.cs"); + exec("./ObjectBuilderGui.gui"); + + // New World Editor + exec("./EditorGui.gui"); + exec("./EditorGui.cs"); + + // World Editor + exec("./WorldEditorSettingsDlg.gui"); + + // Terrain Editor + exec("./TerrainEditorVSettingsGui.gui"); + + // do gui initialization... + EditorGui.init(); + + // + exec("./editorRender.cs"); +} + +function Editor::checkActiveLoadDone() +{ + if(isObject(EditorGui) && EditorGui.loadingMission) + { + Canvas.setContent(EditorGui); + EditorGui.loadingMission = false; + return true; + } + return false; +} + +//------------------------------------------------------------------------------ +function toggleEditor(%make) +{ + if (%make && $testCheats) + { + if (!$missionRunning) + { + MessageBoxOK("Mission Required", "You must load a mission before starting the Mission Editor.", ""); + return; + } + + if (!isObject(Editor)) + { + Editor::create(); + MissionCleanup.add(Editor); + } + if (Canvas.getContent() == EditorGui.getId()) + Editor.close(); + else + Editor.open(); + } +} + +//------------------------------------------------------------------------------ +// The editor action maps are defined in editor.bind.cs +GlobalActionMap.bind(keyboard, "f11", toggleEditor); diff --git a/common/editor/editor.cs.dso b/common/editor/editor.cs.dso new file mode 100644 index 0000000..51c4c50 Binary files /dev/null and b/common/editor/editor.cs.dso differ diff --git a/common/editor/editorRender.cs.dso b/common/editor/editorRender.cs.dso new file mode 100644 index 0000000..f7b34c2 Binary files /dev/null and b/common/editor/editorRender.cs.dso differ diff --git a/common/editor/editorgui.cs b/common/editor/editorgui.cs new file mode 100644 index 0000000..d1200e0 --- /dev/null +++ b/common/editor/editorgui.cs @@ -0,0 +1,2781 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +function EditorGui::getPrefs() +{ + EWorldEditor.dropType = getPrefSetting($Pref::WorldEditor::dropType, "atCamera"); + + // same defaults as WorldEditor ctor + EWorldEditor.planarMovement = getPrefSetting($pref::WorldEditor::planarMovement, true); + EWorldEditor.undoLimit = getPrefSetting($pref::WorldEditor::undoLimit, 40); + EWorldEditor.dropType = getPrefSetting($pref::WorldEditor::dropType, "screenCenter"); + EWorldEditor.projectDistance = getPrefSetting($pref::WorldEditor::projectDistance, 2000); + EWorldEditor.boundingBoxCollision = getPrefSetting($pref::WorldEditor::boundingBoxCollision, true); + EWorldEditor.renderPlane = getPrefSetting($pref::WorldEditor::renderPlane, true); + EWorldEditor.renderPlaneHashes = getPrefSetting($pref::WorldEditor::renderPlaneHashes, true); + EWorldEditor.gridColor = getPrefSetting($pref::WorldEditor::gridColor, "255 255 255 20"); + EWorldEditor.planeDim = getPrefSetting($pref::WorldEditor::planeDim, 500); + EWorldEditor.gridSize = getPrefSetting($pref::WorldEditor::gridSize, "10 10 10"); + EWorldEditor.renderPopupBackground = getPrefSetting($pref::WorldEditor::renderPopupBackground, true); + EWorldEditor.popupBackgroundColor = getPrefSetting($pref::WorldEditor::popupBackgroundColor, "100 100 100"); + EWorldEditor.popupTextColor = getPrefSetting($pref::WorldEditor::popupTextColor, "255 255 0"); + EWorldEditor.selectHandle = getPrefSetting($pref::WorldEditor::selectHandle, "gui/Editor_SelectHandle.png"); + EWorldEditor.defaultHandle = getPrefSetting($pref::WorldEditor::defaultHandle, "gui/Editor_DefaultHandle.png"); + EWorldEditor.lockedHandle = getPrefSetting($pref::WorldEditor::lockedHandle, "gui/Editor_LockedHandle.png"); + EWorldEditor.objectTextColor = getPrefSetting($pref::WorldEditor::objectTextColor, "255 255 255"); + EWorldEditor.objectsUseBoxCenter = getPrefSetting($pref::WorldEditor::objectsUseBoxCenter, true); + EWorldEditor.axisGizmoMaxScreenLen = getPrefSetting($pref::WorldEditor::axisGizmoMaxScreenLen, 200); + EWorldEditor.axisGizmoActive = getPrefSetting($pref::WorldEditor::axisGizmoActive, true); + EWorldEditor.mouseMoveScale = getPrefSetting($pref::WorldEditor::mouseMoveScale, 0.2); + EWorldEditor.mouseRotateScale = getPrefSetting($pref::WorldEditor::mouseRotateScale, 0.01); + EWorldEditor.mouseScaleScale = getPrefSetting($pref::WorldEditor::mouseScaleScale, 0.01); + EWorldEditor.minScaleFactor = getPrefSetting($pref::WorldEditor::minScaleFactor, 0.1); + EWorldEditor.maxScaleFactor = getPrefSetting($pref::WorldEditor::maxScaleFactor, 4000); + EWorldEditor.objSelectColor = getPrefSetting($pref::WorldEditor::objSelectColor, "255 0 0"); + EWorldEditor.objMouseOverSelectColor = getPrefSetting($pref::WorldEditor::objMouseOverSelectColor, "0 0 255"); + EWorldEditor.objMouseOverColor = getPrefSetting($pref::WorldEditor::objMouseOverColor, "0 255 0"); + EWorldEditor.showMousePopupInfo = getPrefSetting($pref::WorldEditor::showMousePopupInfo, true); + EWorldEditor.dragRectColor = getPrefSetting($pref::WorldEditor::dragRectColor, "255 255 0"); + EWorldEditor.renderObjText = getPrefSetting($pref::WorldEditor::renderObjText, true); + EWorldEditor.renderObjHandle = getPrefSetting($pref::WorldEditor::renderObjHandle, true); + EWorldEditor.faceSelectColor = getPrefSetting($pref::WorldEditor::faceSelectColor, "0 0 100 100"); + EWorldEditor.renderSelectionBox = getPrefSetting($pref::WorldEditor::renderSelectionBox, true); + EWorldEditor.selectionBoxColor = getPrefSetting($pref::WorldEditor::selectionBoxColor, "255 255 0"); + EWorldEditor.snapToGrid = getPrefSetting($pref::WorldEditor::snapToGrid, false); + EWorldEditor.snapRotations = getPrefSetting($pref::WorldEditor::snapRotations, false); + EWorldEditor.rotationSnap = getPrefSetting($pref::WorldEditor::rotationSnap, "15"); + + ETerrainEditor.softSelecting = 1; + ETerrainEditor.currentAction = "raiseHeight"; + ETerrainEditor.currentMode = "select"; +} + +function EditorGui::setPrefs() +{ + $Pref::WorldEditor::dropType = EWorldEditor.dropType; + $pref::WorldEditor::planarMovement = EWorldEditor.planarMovement; + $pref::WorldEditor::undoLimit = EWorldEditor.undoLimit; + $pref::WorldEditor::dropType = EWorldEditor.dropType; + $pref::WorldEditor::projectDistance = EWorldEditor.projectDistance; + $pref::WorldEditor::boundingBoxCollision = EWorldEditor.boundingBoxCollision; + $pref::WorldEditor::renderPlane = EWorldEditor.renderPlane; + $pref::WorldEditor::renderPlaneHashes = EWorldEditor.renderPlaneHashes; + $pref::WorldEditor::gridColor = EWorldEditor.GridColor; + $pref::WorldEditor::planeDim = EWorldEditor.planeDim; + $pref::WorldEditor::gridSize = EWorldEditor.GridSize; + $pref::WorldEditor::renderPopupBackground = EWorldEditor.renderPopupBackground; + $pref::WorldEditor::popupBackgroundColor = EWorldEditor.PopupBackgroundColor; + $pref::WorldEditor::popupTextColor = EWorldEditor.PopupTextColor; + $pref::WorldEditor::selectHandle = EWorldEditor.selectHandle; + $pref::WorldEditor::defaultHandle = EWorldEditor.defaultHandle; + $pref::WorldEditor::lockedHandle = EWorldEditor.lockedHandle; + $pref::WorldEditor::objectTextColor = EWorldEditor.ObjectTextColor; + $pref::WorldEditor::objectsUseBoxCenter = EWorldEditor.objectsUseBoxCenter; + $pref::WorldEditor::axisGizmoMaxScreenLen = EWorldEditor.axisGizmoMaxScreenLen; + $pref::WorldEditor::axisGizmoActive = EWorldEditor.axisGizmoActive; + $pref::WorldEditor::mouseMoveScale = EWorldEditor.mouseMoveScale; + $pref::WorldEditor::mouseRotateScale = EWorldEditor.mouseRotateScale; + $pref::WorldEditor::mouseScaleScale = EWorldEditor.mouseScaleScale; + $pref::WorldEditor::minScaleFactor = EWorldEditor.minScaleFactor; + $pref::WorldEditor::maxScaleFactor = EWorldEditor.maxScaleFactor; + $pref::WorldEditor::objSelectColor = EWorldEditor.objSelectColor; + $pref::WorldEditor::objMouseOverSelectColor = EWorldEditor.objMouseOverSelectColor; + $pref::WorldEditor::objMouseOverColor = EWorldEditor.objMouseOverColor; + $pref::WorldEditor::showMousePopupInfo = EWorldEditor.showMousePopupInfo; + $pref::WorldEditor::dragRectColor = EWorldEditor.dragRectColor; + $pref::WorldEditor::renderObjText = EWorldEditor.renderObjText; + $pref::WorldEditor::renderObjHandle = EWorldEditor.renderObjHandle; + $pref::WorldEditor::raceSelectColor = EWorldEditor.faceSelectColor; + $pref::WorldEditor::renderSelectionBox = EWorldEditor.renderSelectionBox; + $pref::WorldEditor::selectionBoxColor = EWorldEditor.selectionBoxColor; + $pref::WorldEditor::snapToGrid = EWorldEditor.snapToGrid; + $pref::WorldEditor::snapRotations = EWorldEditor.snapRotations; + $pref::WorldEditor::rotationSnap = EWorldEditor.rotationSnap; + +} + +function EditorGui::onSleep(%this) +{ + %this.setPrefs(); +} + +function EditorGui::init(%this) +{ + %this.getPrefs(); + + if(!isObject("terraformer")) + new Terraformer("terraformer"); + $SelectedOperation = -1; + $NextOperationId = 1; + $HeightfieldDirtyRow = -1; + + EditorMenuBar.clearMenus(); + EditorMenuBar.addMenu("File", 0); + EditorMenuBar.addMenuItem("File", "New Mission...", 1); + EditorMenuBar.addMenuItem("File", "Open Mission...", 2, "Ctrl O"); + EditorMenuBar.addMenuItem("File", "Save Mission...", 3, "Ctrl S"); + EditorMenuBar.addMenuItem("File", "Save Mission As...", 4); + EditorMenuBar.addMenuItem("File", "-", 0); + EditorMenuBar.addMenuItem("File", "Import Terraform Data...", 6); + EditorMenuBar.addMenuItem("File", "Import Texture Data...", 5); + EditorMenuBar.addMenuItem("File", "-", 0); + EditorMenuBar.addMenuItem("File", "Export Terraform Bitmap...", 5); + + EditorMenuBar.addMenu("Edit", 1); + EditorMenuBar.addMenuItem("Edit", "Undo", 1, "Ctrl Z"); + EditorMenuBar.setMenuItemBitmap("Edit", "Undo", 1); + EditorMenuBar.addMenuItem("Edit", "Redo", 2, "Ctrl R"); + EditorMenuBar.setMenuItemBitmap("Edit", "Redo", 2); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "Cut", 3, "Ctrl X"); + EditorMenuBar.setMenuItemBitmap("Edit", "Cut", 3); + EditorMenuBar.addMenuItem("Edit", "Copy", 4, "Ctrl C"); + EditorMenuBar.setMenuItemBitmap("Edit", "Copy", 4); + EditorMenuBar.addMenuItem("Edit", "Paste", 5, "Ctrl V"); + EditorMenuBar.setMenuItemBitmap("Edit", "Paste", 5); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "Select All", 6, "Ctrl A"); + EditorMenuBar.addMenuItem("Edit", "Select None", 7, "Ctrl N"); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "Relight Scene", 14, "Alt L"); + EditorMenuBar.addMenuItem("Edit", "-", 0); + EditorMenuBar.addMenuItem("Edit", "World Editor Settings...", 12); + EditorMenuBar.addMenuItem("Edit", "Terrain Editor Settings...", 13); + + EditorMenuBar.addMenu("Camera", 7); + EditorMenuBar.addMenuItem("Camera", "Drop Camera at Player", 1, "Alt Q"); + EditorMenuBar.addMenuItem("Camera", "Drop Player at Camera", 2, "Alt W"); + EditorMenuBar.addMenuItem("Camera", "Toggle Camera", 10, "Alt C"); + EditorMenuBar.addMenuItem("Camera", "-", 0); + EditorMenuBar.addMenuItem("Camera", "Slowest", 3, "Shift 1", 1); + EditorMenuBar.addMenuItem("Camera", "Very Slow", 4, "Shift 2", 1); + EditorMenuBar.addMenuItem("Camera", "Slow", 5, "Shift 3", 1); + EditorMenuBar.addMenuItem("Camera", "Medium Pace", 6, "Shift 4", 1); + EditorMenuBar.addMenuItem("Camera", "Fast", 7, "Shift 5", 1); + EditorMenuBar.addMenuItem("Camera", "Very Fast", 8, "Shift 6", 1); + EditorMenuBar.addMenuItem("Camera", "Fastest", 9, "Shift 7", 1); + + EditorMenuBar.addMenu("World", 6); + EditorMenuBar.addMenuItem("World", "Lock Selection", 10, "Ctrl L"); + EditorMenuBar.addMenuItem("World", "Unlock Selection", 11, "Ctrl Shift L"); + EditorMenuBar.addMenuItem("World", "-", 0); + EditorMenuBar.addMenuItem("World", "Hide Selection", 12, "Ctrl H"); + EditorMenuBar.addMenuItem("World", "Show Selection", 13, "Ctrl Shift H"); + EditorMenuBar.addMenuItem("World", "-", 0); + EditorMenuBar.addMenuItem("World", "Delete Selection", 17, "Delete"); + EditorMenuBar.addMenuItem("World", "Camera To Selection", 14); + EditorMenuBar.addMenuItem("World", "Reset Transforms", 15); + EditorMenuBar.addMenuItem("World", "Drop Selection", 16, "Ctrl D"); + EditorMenuBar.addMenuItem("World", "Add Selection to Instant Group", 17); + EditorMenuBar.addMenuItem("World", "-", 0); + EditorMenuBar.addMenuItem("World", "Drop at Origin", 0, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Camera", 1, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Camera w/Rot", 2, "", 1); + EditorMenuBar.addMenuItem("World", "Drop below Camera", 3, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Screen Center", 4, "", 1); + EditorMenuBar.addMenuItem("World", "Drop at Centroid", 5, "", 1); + EditorMenuBar.addMenuItem("World", "Drop to Ground", 6, "", 1); + + EditorMenuBar.addMenu("Action", 3); + EditorMenuBar.addMenuItem("Action", "Select", 1, "", 1); + EditorMenuBar.addMenuItem("Action", "Adjust Selection", 2, "", 1); + EditorMenuBar.addMenuItem("Action", "-", 0); + EditorMenuBar.addMenuItem("Action", "Add Dirt", 6, "", 1); + EditorMenuBar.addMenuItem("Action", "Excavate", 6, "", 1); + EditorMenuBar.addMenuItem("Action", "Adjust Height", 6, "", 1); + EditorMenuBar.addMenuItem("Action", "Flatten", 4, "", 1); + EditorMenuBar.addMenuItem("Action", "Smooth", 5, "", 1); + EditorMenuBar.addMenuItem("Action", "Set Height", 7, "", 1); + EditorMenuBar.addMenuItem("Action", "-", 0); + EditorMenuBar.addMenuItem("Action", "Set Empty", 8, "", 1); + EditorMenuBar.addMenuItem("Action", "Clear Empty", 8, "", 1); + EditorMenuBar.addMenuItem("Action", "-", 0); + EditorMenuBar.addMenuItem("Action", "Paint Material", 9, "", 1); + + EditorMenuBar.addMenu("Brush", 4); + EditorMenuBar.addMenuItem("Brush", "Box Brush", 91, "", 1); + EditorMenuBar.addMenuItem("Brush", "Circle Brush", 92, "", 1); + EditorMenuBar.addMenuItem("Brush", "-", 0); + EditorMenuBar.addMenuItem("Brush", "Soft Brush", 93, "", 2); + EditorMenuBar.addMenuItem("Brush", "Hard Brush", 94, "", 2); + EditorMenuBar.addMenuItem("Brush", "-", 0); + EditorMenuBar.addMenuItem("Brush", "Size 1 x 1", 1, "Alt 1", 3); + EditorMenuBar.addMenuItem("Brush", "Size 3 x 3", 3, "Alt 2", 3); + EditorMenuBar.addMenuItem("Brush", "Size 5 x 5", 5, "Alt 3", 3); + EditorMenuBar.addMenuItem("Brush", "Size 9 x 9", 9, "Alt 4", 3); + EditorMenuBar.addMenuItem("Brush", "Size 15 x 15", 15, "Alt 5", 3); + EditorMenuBar.addMenuItem("Brush", "Size 25 x 25", 25, "Alt 6", 3); + + EditorMenuBar.addMenu("Window", 2); + EditorMenuBar.addMenuItem("Window", "World Editor", 2, "F2", 1); + EditorMenuBar.addMenuItem("Window", "World Editor Inspector", 3, "F3", 1); + EditorMenuBar.addMenuItem("Window", "World Editor Creator", 4, "F4", 1); + EditorMenuBar.addMenuItem("Window", "Mission Area Editor", 5, "F5", 1); + EditorMenuBar.addMenuItem("Window", "-", 0); + EditorMenuBar.addMenuItem("Window", "Terrain Editor", 6, "F6", 1); + EditorMenuBar.addMenuItem("Window", "Terrain Terraform Editor", 7, "F7", 1); + EditorMenuBar.addMenuItem("Window", "Terrain Texture Editor", 8, "F8", 1); + EditorMenuBar.addMenuItem("Window", "Terrain Texture Painter", 9, "", 1); + + EditorMenuBar.onActionMenuItemSelect(0, "Adjust Height"); + EditorMenuBar.onBrushMenuItemSelect(0, "Circle Brush"); + EditorMenuBar.onBrushMenuItemSelect(0, "Soft Brush"); + EditorMenuBar.onBrushMenuItemSelect(9, "Size 9 x 9"); + EditorMenuBar.onCameraMenuItemSelect(6, "Medium Pace"); + EditorMenuBar.onWorldMenuItemSelect(0, "Drop at Screen Center"); + + EWorldEditor.init(); + ETerrainEditor.attachTerrain(); + TerraformerInit(); + TextureInit(); + + // + Creator.init(); + EditorTree.init(); + ObjectBuilderGui.init(); + + EWorldEditor.isDirty = false; + ETerrainEditor.isDirty = false; + ETerrainEditor.isMissionDirty = false; + EditorGui.saveAs = false; +} + +function EditorNewMission() +{ + if(ETerrainEditor.isMissionDirty || ETerrainEditor.isDirty || EWorldEditor.isDirty) + { + MessageBoxYesNo("Mission Modified", "Would you like to save changes to the current mission \"" @ + $Server::MissionFile @ "\" before creating a new mission?", "EditorDoNewMission(true);", "EditorDoNewMission(false);"); + } + else + EditorDoNewMission(false); +} + +function EditorSaveMissionMenu() +{ + if(EditorGui.saveAs) + EditorSaveMissionAs(); + else + EditorSaveMission(); +} + +function EditorSaveMission() +{ + // just save the mission without renaming it + + // first check for dirty and read-only files: + if((EWorldEditor.isDirty || ETerrainEditor.isMissionDirty) && !isWriteableFileName($Server::MissionFile)) + { + MessageBoxOK("Error", "Mission file \""@ $Server::MissionFile @ "\" is read-only."); + return false; + } + if(ETerrainEditor.isDirty && !isWriteableFileName(Terrain.terrainFile)) + { + MessageBoxOK("Error", "Terrain file \""@ Terrain.terrainFile @ "\" is read-only."); + return false; + } + + // now write the terrain and mission files out: + + if(EWorldEditor.isDirty || ETerrainEditor.isMissionDirty) + MissionGroup.save($Server::MissionFile); + if(ETerrainEditor.isDirty) + Terrain.save(Terrain.terrainFile); + EWorldEditor.isDirty = false; + ETerrainEditor.isDirty = false; + ETerrainEditor.isMissionDirty = false; + EditorGui.saveAs = false; + + return true; +} + +function EditorDoSaveAs(%missionName) +{ + ETerrainEditor.isDirty = true; + EWorldEditor.isDirty = true; + %saveMissionFile = $Server::MissionFile; + %saveTerrName = Terrain.terrainFile; + + $Server::MissionFile = %missionName; + Terrain.terrainFile = filePath(%missionName) @ "/" @ fileBase(%missionName) @ ".ter"; + + if(!EditorSaveMission()) + { + $Server::MissionFile = %saveMissionFile; + Terrain.terrainFile = %saveTerrName; + } +} + +function EditorSaveMissionAs() +{ + getSaveFilename("*.mis", "EditorDoSaveAs", $Server::MissionFile); + +} + +function EditorDoLoadMission(%file) +{ + // close the current editor, it will get cleaned up by MissionCleanup + Editor.close(); + + loadMission( %file, true ) ; + + // recreate and open the editor + Editor::create(); + MissionCleanup.add(Editor); + EditorGui.loadingMission = true; + Editor.open(); +} + +function EditorSaveBeforeLoad() +{ + if(EditorSaveMission()) + getLoadFilename("*.mis", "EditorDoLoadMission"); +} + +function EditorDoNewMission(%saveFirst) +{ + if(%saveFirst) + EditorSaveMission(); + + %file = findFirstFile("*/newMission.mis"); + if(%file $= "") + { + MessageBoxOk("Error", "Missing mission template \"newMission.mis\"."); + return; + } + EditorDoLoadMission(%file); + EditorGui.saveAs = true; + EWorldEditor.isDirty = true; + ETerrainEditor.isDirty = true; +} + +function EditorOpenMission() +{ + if(ETerrainEditor.isMissionDirty || ETerrainEditor.isDirty || EWorldEditor.isDirty) + { + MessageBoxYesNo("Mission Modified", "Would you like to save changes to the current mission \"" @ + $Server::MissionFile @ "\" before opening a new mission?", "EditorSaveBeforeLoad();", "getLoadFilename(\"*.mis\", \"EditorDoLoadMission\");"); + } + else + getLoadFilename("*.mis", "EditorDoLoadMission"); +} + +function EditorMenuBar::onMenuSelect(%this, %menuId, %menu) +{ + if(%menu $= "File") + { + %editingHeightfield = ETerrainEditor.isVisible() && EHeightField.isVisible(); + EditorMenuBar.setMenuItemEnable("File", "Export Terraform Bitmap...", %editingHeightfield); + EditorMenuBar.setMenuItemEnable("File", "Save Mission...", ETerrainEditor.isDirty || ETerrainEditor.isMissionDirty || EWorldEditor.isDirty); + } + else if(%menu $= "Edit") + { + // enable/disable undo, redo, cut, copy, paste depending on editor settings + + if(EWorldEditor.isVisible()) + { + // do actions based on world editor... + EditorMenuBar.setMenuItemEnable("Edit", "Select All", true); + EditorMenuBar.setMenuItemEnable("Edit", "Paste", EWorldEditor.canPasteSelection()); + %canCutCopy = EWorldEditor.getSelectionSize() > 0; + + EditorMenuBar.setMenuItemEnable("Edit", "Cut", %canCutCopy); + EditorMenuBar.setMenuItemEnable("Edit", "Copy", %canCutCopy); + + } + else if(ETerrainEditor.isVisible()) + { + EditorMenuBar.setMenuItemEnable("Edit", "Cut", false); + EditorMenuBar.setMenuItemEnable("Edit", "Copy", false); + EditorMenuBar.setMenuItemEnable("Edit", "Paste", false); + EditorMenuBar.setMenuItemEnable("Edit", "Select All", false); + } + } + else if(%menu $= "World") + { + %selSize = EWorldEditor.getSelectionSize(); + %lockCount = EWorldEditor.getSelectionLockCount(); + %hideCount = EWorldEditor.getSelectionHiddenCount(); + + EditorMenuBar.setMenuItemEnable("World", "Lock Selection", %lockCount < %selSize); + EditorMenuBar.setMenuItemEnable("World", "Unlock Selection", %lockCount > 0); + EditorMenuBar.setMenuItemEnable("World", "Hide Selection", %hideCount < %selSize); + EditorMenuBar.setMenuItemEnable("World", "Show Selection", %hideCount > 0); + + EditorMenuBar.setMenuItemEnable("World", "Add Selection to Instant Group", %selSize > 0); + EditorMenuBar.setMenuItemEnable("World", "Camera To Selection", %selSize > 0); + EditorMenuBar.setMenuItemEnable("World", "Reset Transforms", %selSize > 0 && %lockCount == 0); + EditorMenuBar.setMenuItemEnable("World", "Drop Selection", %selSize > 0 && %lockCount == 0); + EditorMenuBar.setMenuItemEnable("World", "Delete Selection", %selSize > 0 && %lockCount == 0); + } +} + +function EditorMenuBar::onMenuItemSelect(%this, %menuId, %menu, %itemId, %item) +{ + switch$(%menu) + { + case "File": + %this.onFileMenuItemSelect(%itemId, %item); + case "Edit": + %this.onEditMenuItemSelect(%itemId, %item); + case "World": + %this.onWorldMenuItemSelect(%itemId, %item); + case "Window": + %this.onWindowMenuItemSelect(%itemId, %item); + case "Action": + %this.onActionMenuItemSelect(%itemId, %item); + case "Brush": + %this.onBrushMenuItemSelect(%itemId, %item); + case "Camera": + %this.onCameraMenuItemSelect(%itemId, %item); + } +} + +function EditorMenuBar::onFileMenuItemSelect(%this, %itemId, %item) +{ + switch$(%item) + { + case "New Mission...": + EditorNewMission(); + case "Open Mission...": + EditorOpenMission(); + case "Save Mission...": + EditorSaveMissionMenu(); + case "Save Mission As...": + EditorSaveMissionAs(); + case "Import Texture Data...": + Texture::import(); + case "Import Terraform Data...": + Heightfield::import(); + case "Export Terraform Bitmap...": + Heightfield::saveBitmap(""); + case "Quit": + } +} + +function EditorMenuBar::onCameraMenuItemSelect(%this, %itemId, %item) +{ + switch$(%item) + { + case "Drop Camera at Player": + commandToServer('dropCameraAtPlayer'); + case "Drop Player at Camera": + commandToServer('DropPlayerAtCamera'); + case "Toggle Camera": + commandToServer('ToggleCamera'); + default: + // all the rest are camera speeds: + // item ids go from 3 (slowest) to 9 (fastest) + %this.setMenuItemChecked("Camera", %itemId, true); + // camera movement speed goes from 5 to 200: + $Camera::movementSpeed = ((%itemId - 3) / 6.0) * 195 + 5; + } +} + +function EditorMenuBar::onActionMenuItemSelect(%this, %itemId, %item) +{ + EditorMenuBar.setMenuItemChecked("Action", %item, true); + switch$(%item) + { + case "Select": + ETerrainEditor.currentMode = "select"; + ETerrainEditor.selectionHidden = false; + ETerrainEditor.renderVertexSelection = true; + ETerrainEditor.setAction("select"); + case "Adjust Selection": + ETerrainEditor.currentMode = "adjust"; + ETerrainEditor.selectionHidden = false; + ETerrainEditor.setAction("adjustHeight"); + ETerrainEditor.currentAction = brushAdjustHeight; + ETerrainEditor.renderVertexSelection = true; + default: + ETerrainEditor.currentMode = "paint"; + ETerrainEditor.selectionHidden = true; + ETerrainEditor.setAction(ETerrainEditor.currentAction); + switch$(%item) + { + case "Add Dirt": + ETerrainEditor.currentAction = raiseHeight; + ETerrainEditor.renderVertexSelection = true; + case "Paint Material": + ETerrainEditor.currentAction = paintMaterial; + ETerrainEditor.renderVertexSelection = true; + case "Excavate": + ETerrainEditor.currentAction = lowerHeight; + ETerrainEditor.renderVertexSelection = true; + case "Set Height": + ETerrainEditor.currentAction = setHeight; + ETerrainEditor.renderVertexSelection = true; + case "Adjust Height": + ETerrainEditor.currentAction = brushAdjustHeight; + ETerrainEditor.renderVertexSelection = true; + case "Flatten": + ETerrainEditor.currentAction = flattenHeight; + ETerrainEditor.renderVertexSelection = true; + case "Smooth": + ETerrainEditor.currentAction = smoothHeight; + ETerrainEditor.renderVertexSelection = true; + case "Set Empty": + ETerrainEditor.currentAction = setEmpty; + ETerrainEditor.renderVertexSelection = false; + case "Clear Empty": + ETerrainEditor.currentAction = clearEmpty; + ETerrainEditor.renderVertexSelection = false; + } + if(ETerrainEditor.currentMode $= "select") + ETerrainEditor.processAction(ETerrainEditor.currentAction); + else if(ETerrainEditor.currentMode $= "paint") + ETerrainEditor.setAction(ETerrainEditor.currentAction); + } +} + +function EditorMenuBar::onBrushMenuItemSelect(%this, %itemId, %item) +{ + EditorMenuBar.setMenuItemChecked("Brush", %item, true); + switch$(%item) + { + case "Box Brush": + ETerrainEditor.setBrushType(box); + case "Circle Brush": + ETerrainEditor.setBrushType(ellipse); + case "Soft Brush": + ETerrainEditor.enableSoftBrushes = true; + case "Hard Brush": + ETerrainEditor.enableSoftBrushes = false; + default: + // the rest are brush sizes: + ETerrainEditor.brushSize = %itemId; + + ETerrainEditor.setBrushSize(%itemId, %itemId); + } +} + +function EditorMenuBar::onWorldMenuItemSelect(%this, %itemId, %item) +{ + // edit commands for world editor... + switch$(%item) + { + case "Lock Selection": + EWorldEditor.lockSelection(true); + case "Unlock Selection": + EWorldEditor.lockSelection(false); + case "Hide Selection": + EWorldEditor.hideSelection(true); + case "Show Selection": + EWorldEditor.hideSelection(false); + case "Camera To Selection": + EWorldEditor.dropCameraToSelection(); + case "Reset Transforms": + EWorldEditor.resetTransforms(); + case "Drop Selection": + EWorldEditor.dropSelection(); + case "Delete Selection": + EWorldEditor.deleteSelection(); + case "Add Selection to Instant Group": + EWorldEditor.addSelectionToAddGroup(); + default: + EditorMenuBar.setMenuItemChecked("World", %item, true); + switch$(%item) + { + case "Drop at Origin": + EWorldEditor.dropType = "atOrigin"; + case "Drop at Camera": + EWorldEditor.dropType = "atCamera"; + case "Drop at Camera w/Rot": + EWorldEditor.dropType = "atCameraRot"; + case "Drop below Camera": + EWorldEditor.dropType = "belowCamera"; + case "Drop at Screen Center": + EWorldEditor.dropType = "screenCenter"; + case "Drop to Ground": + EWorldEditor.dropType = "toGround"; + case "Drop at Centroid": + EWorldEditor.dropType = "atCentroid"; + } + } +} + +function EditorMenuBar::onEditMenuItemSelect(%this, %itemId, %item) +{ + if(%item $= "World Editor Settings...") + Canvas.pushDialog(WorldEditorSettingsDlg); + else if(%item $= "Terrain Editor Settings...") + Canvas.pushDialog(TerrainEditorValuesSettingsGui, 99); + else if(%item $= "Relight Scene") + lightScene("", forceAlways); + else if(EWorldEditor.isVisible()) + { + // edit commands for world editor... + switch$(%item) + { + case "Undo": + EWorldEditor.undo(); + case "Redo": + EWorldEditor.redo(); + case "Copy": + EWorldEditor.copySelection(); + case "Cut": + EWorldEditor.copySelection(); + EWorldEditor.deleteSelection(); + case "Paste": + EWorldEditor.pasteSelection(); + case "Select All": + case "Select None": + } + } + else if(ETerrainEditor.isVisible()) + { + // do some terrain stuffin' + switch$(%item) + { + case "Undo": + ETerrainEditor.undo(); + case "Redo": + ETerrainEditor.redo(); + case "Select None": + ETerrainEditor.clearSelection(); + } + } +} + +function EditorMenuBar::onWindowMenuItemSelect(%this, %itemId, %item) +{ + EditorGui.setEditor(%item); +} + +function EditorGui::setWorldEditorVisible(%this) +{ + EWorldEditor.setVisible(true); + ETerrainEditor.setVisible(false); + EditorMenuBar.setMenuVisible("World", true); + EditorMenuBar.setMenuVisible("Action", false); + EditorMenuBar.setMenuVisible("Brush", false); + EWorldEditor.makeFirstResponder(true); +} + +function EditorGui::setTerrainEditorVisible(%this) +{ + EWorldEditor.setVisible(false); + ETerrainEditor.setVisible(true); + ETerrainEditor.attachTerrain(); + EHeightField.setVisible(false); + ETexture.setVisible(false); + EditorMenuBar.setMenuVisible("World", false); + EditorMenuBar.setMenuVisible("Action", true); + EditorMenuBar.setMenuVisible("Brush", true); + ETerrainEditor.makeFirstResponder(true); + EPainter.setVisible(false); +} + +function EditorGui::setEditor(%this, %editor) +{ + EditorMenuBar.setMenuItemBitmap("Window", %this.currentEditor, -1); + EditorMenuBar.setMenuItemBitmap("Window", %editor, 0); + %this.currentEditor = %editor; + + switch$(%editor) + { + case "World Editor": + EWFrame.setVisible(false); + EWMissionArea.setVisible(false); + %this.setWorldEditorVisible(); + case "World Editor Inspector": + EWFrame.setVisible(true); + EWMissionArea.setVisible(false); + EWCreatorPane.setVisible(false); + EWInspectorPane.setVisible(true); + %this.setWorldEditorVisible(); + case "World Editor Creator": + EWFrame.setVisible(true); + EWMissionArea.setVisible(false); + EWCreatorPane.setVisible(true); + EWInspectorPane.setVisible(false); + %this.setWorldEditorVisible(); + case "Mission Area Editor": + EWFrame.setVisible(false); + EWMissionArea.setVisible(true); + %this.setWorldEditorVisible(); + case "Terrain Editor": + %this.setTerrainEditorVisible(); + case "Terrain Terraform Editor": + %this.setTerrainEditorVisible(); + EHeightField.setVisible(true); + case "Terrain Texture Editor": + %this.setTerrainEditorVisible(); + ETexture.setVisible(true); + case "Terrain Texture Painter": + %this.setTerrainEditorVisible(); + EPainter.setVisible(true); + EPainter.setup(); + + } +} + +function EditorGui::getHelpPage(%this) +{ + switch$(%this.currentEditor) + { + case "World Editor" or "World Editor Inspector" or "World Editor Creator": + return "5. World Editor"; + case "Mission Area Editor": + return "6. Mission Area Editor"; + case "Terrain Editor": + return "7. Terrain Editor"; + case "Terrain Terraform Editor": + return "8. Terrain Terraform Editor"; + case "Terrain Texture Editor": + return "9. Terrain Texture Editor"; + case "Terrain Texture Painter": + return "10. Terrain Texture Painter"; + } +} + + +function ETerrainEditor::setPaintMaterial(%this, %matIndex) +{ + ETerrainEditor.paintMaterial = EPainter.mat[%matIndex]; +} + +function ETerrainEditor::changeMaterial(%this, %matIndex) +{ + EPainter.matIndex = %matIndex; + getLoadFilename("*/terrains/*.png\t*/terrains/*.jpg", EPainterChangeMat); +} + +function EPainterChangeMat(%file) +{ + // make sure the material isn't already in the terrain. + %file = filePath(%file) @ "/" @ fileBase(%file); + for(%i = 0; %i < 6; %i++) + if(EPainter.mat[%i] $= %file) + return; + + EPainter.mat[EPainter.matIndex] = %file; + %mats = ""; + for(%i = 0; %i < 6; %i++) + %mats = %mats @ EPainter.mat[%i] @ "\n"; + ETerrainEditor.setTerrainMaterials(%mats); + EPainter.setup(); + ("ETerrainMaterialPaint" @ EPainter.matIndex).performClick(); +} + +function EPainter::setup(%this) +{ + EditorMenuBar.onActionMenuItemSelect(0, "Paint Material"); + %mats = ETerrainEditor.getTerrainMaterials(); + %valid = true; + for(%i = 0; %i < 6; %i++) + { + %mat = getRecord(%mats, %i); + %this.mat[%i] = %mat; + ("ETerrainMaterialText" @ %i).setText(fileBase(%mat)); + ("ETerrainMaterialBitmap" @ %i).setBitmap(%mat); + ("ETerrainMaterialChange" @ %i).setActive(true); + ("ETerrainMaterialPaint" @ %i).setActive(%mat !$= ""); + if(%mat $= "") + { + ("ETerrainMaterialChange" @ %i).setText("Add..."); + if(%valid) + %valid = false; + else + ("ETerrainMaterialChange" @ %i).setActive(false); + } + else + ("ETerrainMaterialChange" @ %i).setText("Change..."); + } + ETerrainMaterialPaint0.performClick(); +} + +function EditorGui::onWake(%this) +{ + MoveMap.push(); + EditorMap.push(); + %this.setEditor(%this.currentEditor); +} + +function EditorGui::onSleep(%this) +{ + EditorMap.pop(); + MoveMap.pop(); +} + +function AreaEditor::onUpdate(%this, %area) +{ + AreaEditingText.setValue( "X: " @ getWord(%area,0) @ " Y: " @ getWord(%area,1) @ " W: " @ getWord(%area,2) @ " H: " @ getWord(%area,3)); +} + +function AreaEditor::onWorldOffset(%this, %offset) +{ +} + +function EditorTree::init(%this) +{ + %this.open(MissionGroup); + + // context menu + new GuiControl(ETContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiPopUpMenuCtrl(ETContextPopup) + { + profile = "GuiScrollProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + command = "canvas.popDialog(ETContextPopupDlg);"; + }; + }; + ETContextPopup.setVisible(false); +} + +function EditorTree::onInspect(%this, %obj) +{ + Inspector.inspect(%obj); + ECreateSubsBtn.setVisible(%obj.getClassName() $= "InteriorInstance"); + InspectorNameEdit.setValue(%obj.getName()); +} + +function EditorTree::onSelect(%this, %obj) +{ + if($AIEdit) + aiEdit.selectObject(%obj); + else + EWorldEditor.selectObject(%obj); + +} + +function EditorTree::onUnselect(%this, %obj) +{ + if($AIEdit) + aiEdit.unselectObject(%obj); + else + EWorldEditor.unselectObject(%obj); +} + +function ETContextPopup::onSelect(%this, %index, %value) +{ + switch(%index) + { + case 0: + EditorTree.contextObj.delete(); + } +} + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function WorldEditor::createSubs(%this) +{ + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.getClassName() $= "InteriorInstance") + %obj.magicButton(); + } +} + +function WorldEditor::init(%this) +{ + // add objclasses which we do not want to collide with + %this.ignoreObjClass(TerrainBlock, Sky, AIObjective); + + // editing modes + %this.numEditModes = 3; + %this.editMode[0] = "move"; + %this.editMode[1] = "rotate"; + %this.editMode[2] = "scale"; + + // context menu + new GuiControl(WEContextPopupDlg) + { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + + new GuiPopUpMenuCtrl(WEContextPopup) + { + profile = "GuiScrollProfile"; + position = "0 0"; + extent = "0 0"; + minExtent = "0 0"; + maxPopupHeight = "200"; + command = "canvas.popDialog(WEContextPopupDlg);"; + }; + }; + WEContextPopup.setVisible(false); +} + +//------------------------------------------------------------------------------ + +function WorldEditor::onDblClick(%this, %obj) +{ + // Commented out because making someone double click to do this is stupid + // and has the possibility of moving hte object + + //Inspector.inspect(%obj); + //InspectorNameEdit.setValue(%obj.getName()); +} + +function WorldEditor::onClick( %this, %obj ) +{ + Inspector.inspect( %obj ); + ECreateSubsBtn.setVisible(%obj.getClassName() $= "InteriorInstance"); + InspectorNameEdit.setValue( %obj.getName() ); +} + +//------------------------------------------------------------------------------ + +function WorldEditor::export(%this) +{ + getSaveFilename("~/editor/*.mac", %this @ ".doExport", "selection.mac"); +} + +function WorldEditor::doExport(%this, %file) +{ + missionGroup.save("~/editor/" @ %file, true); +} + +function WorldEditor::import(%this) +{ + getLoadFilename("~/editor/*.mac", %this @ ".doImport"); +} + +function WorldEditor::doImport(%this, %file) +{ + exec("~/editor/" @ %file); +} + +function WorldEditor::onGuiUpdate(%this, %text) +{ +} + +function WorldEditor::getSelectionLockCount(%this) +{ + %ret = 0; + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.locked $= "true") + %ret++; + } + return %ret; +} + +function WorldEditor::getSelectionHiddenCount(%this) +{ + %ret = 0; + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + if(%obj.hidden $= "true") + %ret++; + } + return %ret; +} + +function WorldEditor::dropCameraToSelection(%this) +{ + if(%this.getSelectionSize() == 0) + return; + + %pos = %this.getSelectionCentroid(); + %cam = LocalClientConnection.camera.getTransform(); + + // set the pnt + %cam = setWord(%cam, 0, getWord(%pos, 0)); + %cam = setWord(%cam, 1, getWord(%pos, 1)); + %cam = setWord(%cam, 2, getWord(%pos, 2)); + + LocalClientConnection.camera.setTransform(%cam); +} + +// * pastes the selection at the same place (used to move obj from a group to another) +function WorldEditor::moveSelectionInPlace(%this) +{ + %saveDropType = %this.dropType; + %this.dropType = "atCentroid"; + %this.copySelection(); + %this.deleteSelection(); + %this.pasteSelection(); + %this.dropType = %saveDropType; +} + +function WorldEditor::addSelectionToAddGroup(%this) +{ + for(%i = 0; %i < %this.getSelectionSize(); %i++) { + %obj = %this.getSelectedObject(%i); + $InstantGroup.add(%obj); + } + +} +// resets the scale and rotation on the selection set +function WorldEditor::resetTransforms(%this) +{ + %this.addUndoState(); + + for(%i = 0; %i < %this.getSelectionSize(); %i++) + { + %obj = %this.getSelectedObject(%i); + %transform = %obj.getTransform(); + + %transform = setWord(%transform, 3, "0"); + %transform = setWord(%transform, 4, "0"); + %transform = setWord(%transform, 5, "1"); + %transform = setWord(%transform, 6, "0"); + + // + %obj.setTransform(%transform); + %obj.setScale("1 1 1"); + } +} + + +function WorldEditorToolbarDlg::init(%this) +{ + WorldEditorInspectorCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolInspectorGui")); + WorldEditorMissionAreaCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolMissionAreaGui")); + WorldEditorTreeCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolTreeViewGui")); + WorldEditorCreatorCheckBox.setValue(WorldEditorToolFrameSet.isMember("EditorToolCreatorGui")); +} + +function Creator::init( %this ) +{ + %this.clear(); + + $InstantGroup = "MissionGroup"; + + // ---------- INTERIORS + %base = %this.addGroup( 0, "Interiors" ); + + // walk all the interiors and add them to the correct group + %interiorId = ""; + %file = findFirstFile( "*.dif" ); + + while( %file !$= "" ) + { + // Determine which group to put the file in + // and build the group heirarchy as we go + %split = strreplace(%file, "/", " "); + %dirCount = getWordCount(%split)-1; + %parentId = %base; + + for(%i=0; %i<%dirCount; %i++) + { + %parent = getWords(%split, 0, %i); + // if the group doesn't exist create it + if ( !%interiorId[%parent] ) + %interiorId[%parent] = %this.addGroup( %parentId, getWord(%split, %i)); + %parentId = %interiorId[%parent]; + } + // Add the file to the group + %create = "createInterior(" @ "\"" @ %file @ "\"" @ ");"; + %this.addItem( %parentId, fileBase( %file ), %create ); + + %file = findNextFile( "*.dif" ); + } + + + // ---------- SHAPES - add in all the shapes now... + %base = %this.addGroup(0, "Shapes"); + %dataGroup = "DataBlockGroup"; + + for(%i = 0; %i < %dataGroup.getCount(); %i++) + { + %obj = %dataGroup.getObject(%i); + echo ("Obj: " @ %obj.getName() @ " - " @ %obj.category ); + if(%obj.category !$= "" || %obj.category != 0) + { + %grp = %this.addGroup(%base, %obj.category); + %this.addItem(%grp, %obj.getName(), %obj.getClassName() @ "::create(" @ %obj.getName() @ ");"); + } + } + + + // ---------- Static Shapes + %base = %this.addGroup( 0, "Static Shapes" ); + + // walk all the statics and add them to the correct group + %staticId = ""; + %file = findFirstFile( "*.dts" ); + while( %file !$= "" ) + { + // Determine which group to put the file in + // and build the group heirarchy as we go + %split = strreplace(%file, "/", " "); + %dirCount = getWordCount(%split)-1; + %parentId = %base; + + for(%i=0; %i<%dirCount; %i++) + { + %parent = getWords(%split, 0, %i); + // if the group doesn't exist create it + if ( !%staticId[%parent] ) + %staticId[%parent] = %this.addGroup( %parentId, getWord(%split, %i)); + %parentId = %staticId[%parent]; + } + // Add the file to the group + %create = "TSStatic::create(\"" @ %file @ "\");"; + %this.addItem( %parentId, fileBase( %file ), %create ); + + %file = findNextFile( "*.dts" ); + } + + + // *** OBJECTS - do the objects now... + %objGroup[0] = "Environment"; + %objGroup[1] = "Mission"; + %objGroup[2] = "System"; + //%objGroup[3] = "AI"; + + %Environment_Item[0] = "Sky"; + %Environment_Item[1] = "Sun"; + %Environment_Item[2] = "Lightning"; + %Environment_Item[3] = "Water"; + %Environment_Item[4] = "Terrain"; + %Environment_Item[5] = "AudioEmitter"; + %Environment_Item[6] = "Precipitation"; + %Environment_Item[7] = "ParticleEmitter"; + + %Mission_Item[0] = "MissionArea"; + %Mission_Item[1] = "Marker"; + %Mission_Item[2] = "Trigger"; + %Mission_Item[3] = "PhysicalZone"; + %Mission_Item[4] = "Camera"; + //%Mission_Item[5] = "GameType"; + //%Mission_Item[6] = "Forcefield"; + + %System_Item[0] = "SimGroup"; + + //%AI_Item[0] = "Objective"; + //%AI_Item[1] = "NavigationGraph"; + + // objects group + %base = %this.addGroup(0, "Mission Objects"); + + // create 'em + for(%i = 0; %objGroup[%i] !$= ""; %i++) + { + %grp = %this.addGroup(%base, %objGroup[%i]); + + %groupTag = "%" @ %objGroup[%i] @ "_Item"; + + %done = false; + for(%j = 0; !%done; %j++) + { + eval("%itemTag = " @ %groupTag @ %j @ ";"); + if(%itemTag $= "") + %done = true; + else + %this.addItem(%grp, %itemTag, "ObjectBuilderGui.build" @ %itemTag @ "();"); + } + } +} + +function createInterior(%name) +{ + %obj = new InteriorInstance() + { + position = "0 0 0"; + rotation = "0 0 0"; + interiorFile = %name; + }; + + return(%obj); +} + +function Creator::onAction(%this) +{ +// %this.currentSel = -1; +// %this.currentRoot = -1; +// %this.currentObj = -1; + + %sel = %this.getSelected(); + if(%sel == -1 || %this.isGroup(%sel) || !$missionRunning) + return; + + // the value is the callback function.. + if(%this.getValue(%sel) $= "") + return; + +// %this.currentSel = %sel; +// %this.currentRoot = %this.getRootGroup(%sel); + + %this.create(%sel); +} + +function Creator::create(%this, %sel) +{ + // create the obj and add to the instant group + %obj = eval(%this.getValue(%sel)); + + if(%obj == -1 || %obj == 0) + return; + +// %this.currentObj = %obj; + + $InstantGroup.add(%obj); + + // drop it from the editor - only SceneObjects can be selected... + EWorldEditor.clearSelection(); + EWorldEditor.selectObject(%obj); + EWorldEditor.dropSelection(); +} + + +function TSStatic::create(%shapeName) +{ + %obj = new TSStatic() + { + shapeName = %shapeName; + }; + return(%obj); +} + +function TSStatic::damage(%this) +{ + // prevent console error spam +} + + +//function Creator::getRootGroup(%sel) +//{ +// if(%sel == -1 || %sel == 0) +// return(-1); +// +// %parent = %this.getParent(%sel); +// while(%parent != 0 || %parent != -1) +// { +// %sel = %parent; +// %parent = %this.getParent(%sel); +// } +// +// return(%sel); +//} +// +//function Creator::getLastItem(%rootGroup) +//{ +// %traverse = %rootGroup + 1; +// while(%this.getRootGroup(%traverse) == %rootGroup) +// %traverse++; +// return(%traverse - 1); +//} +// +//function Creator::createNext(%this) +//{ +// if(%this.currentSel == -1 || %this.currentRoot == -1 || %this.currentObj == -1) +// return; +// +// %sel = %this.currentSel; +// %this.currentSel++; +// +// while(%this.currentSel != %sel) +// { +// if(%this.getRootGroup(%this.currentSel) != %this.currentRoot) +// %this.currentSel = %this.currentRoot + 1; +// +// if(%this.isGroup(%this.currentSel)) +// %this.currentSel++; +// else +// %sel = %this.currentSel; +// } +// +// // +// %this.currentObj.delete(); +// %this.create(%sel); +//} +// +//function Creator::createPrevious(%this) +//{ +// if(%this.currentSel == -1 || %this.currentGroup == -1 || %this.currentObj == -1) +// return; +// +// %sel = %this.currentSel; +// %this.currentSel--; +// +// while(%this.currentSel != %sel) +// { +// if(%this.getRootGroup(%this.currentSel) != %this.currentRoot) +// %this.currentSel = getLastItem(%this.currentRoot); +// +// if(%this.isGroup(%this.currentSel)) +// %this.currentSel--; +// else +// %sel = %this.currentSel; +// } +// +// // +// %this.currentObj.delete(); +// %this.create(%sel); +//} + + +function TerraformerGui::init(%this) +{ + TerraformerHeightfieldGui.init(); + TerraformerTextureGui.init(); +} + +function TerraformerGui::onWake(%this) +{ + // Only the canvas level gui's get wakes, so udpate manually. + TerraformerTextureGui.update(); +} + +function TerraformerGui::onSleep(%this) +{ + %this.setPrefs(); +} + +$nextTextureId = 1; +$nextTextureRegister = 1000; +$selectedMaterial = -1; +$selectedTextureOperation = -1; +$TerraformerTextureDir = "common/editor/textureScripts"; + +//-------------------------------------- + +function TextureInit() +{ + // Assumes the terrain object is called terrain + + Texture_operation_menu.clear(); + Texture_operation_menu.setText("Placement Operations"); + Texture_operation_menu.add("Place by Fractal", 1); + Texture_operation_menu.add("Place by Height", 2); + Texture_operation_menu.add("Place by Slope", 3); + Texture_operation_menu.add("Place by Water Level", 4); + + $HeightfieldSrcRegister = Heightfield_operation.rowCount()-1; + + // sync up the preview windows + TexturePreview.setValue(HeightfieldPreview.getValue()); + %script = terrain.getTextureScript(); + if(%script !$= "") + Texture::loadFromScript(%script); + + if (Texture_material.rowCount() == 0) + { + Texture_operation.clear(); + $nextTextureRegister = 1000; + } + else + { + // it's difficult to tell if the heightfield was modified so + // just in case flag all dependent operations as dirty. + %rowCount = Texture_material.rowCount(); + for (%row = 0; %row < %rowCount; %row++) + { + %data = Texture_material.getRowText(%row); + %entry= getRecord(%data,0); + %reg = getField(%entry,1); + $dirtyTexture[ %reg ] = true; + + %opCount = getRecordCount(%data); + for (%op = 2; %op < %opCount; %op++) + { + %entry= getRecord(%data,%op); + %label= getField(%entry,0); + if (%label !$= "Place by Fractal" && %label !$= "Fractal Distortion") + { + %reg = getField(%entry,2); + $dirtyTexture[ %reg ] = true; + } + } + } + Texture::previewMaterial(); + } +} + +function TerraformerTextureGui::refresh(%this) +{ +} + + +//-------------------------------------- +function Texture_material_menu::onSelect(%this, %id, %text) +{ + %this.setText("Materials"); + + // FORMAT + // material name + // register + // operation + // name + // tab name + // register + // distortion register + // {field,value}, ... + // operation + // ... + Texture::saveMaterial(); + Texture::hideTab(); + %id = Texture::addMaterial(%text @ "\t" @ $nextTextureRegister++); + + if (%id != -1) + { + Texture_material.setSelectedById(%id); + Texture::addOperation("Fractal Distortion\ttab_DistortMask\t" @ $nextTextureRegister++ @ "\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t" @ terraFormer.generateSeed() @ "\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000"); + } +} + + +function Texture::addMaterialTexture() +{ + %root = filePath(terrain.terrainFile); + getLoadFilename("*/terrains/*.png\t*/terrains/*.jpg", addLoadedMaterial); +} + +function addLoadedMaterial(%file) +{ + Texture::saveMaterial(); + Texture::hideTab(); + %text = filePath(%file) @ "/" @ fileBase(%file); + %id = Texture::addMaterial(%text @ "\t" @ $nextTextureRegister++); + if (%id != -1) + { + Texture_material.setSelectedById(%id); + Texture::addOperation("Fractal Distortion\ttab_DistortMask\t" @ $nextTextureRegister++ @ "\t0\tdmask_interval\t20\tdmask_rough\t0\tdmask_seed\t" @ terraFormer.generateSeed() @ "\tdmask_filter\t0.00000 0.00000 0.13750 0.487500 0.86250 1.00000 1.00000"); + } + Texture::save(); +} + +//-------------------------------------- +function Texture_material::onSelect(%this, %id, %text) +{ + Texture::saveMaterial(); + if (%id != $selectedMaterial) + { + $selectedTextureOperation = -1; + Texture_operation.clear(); + + Texture::hideTab(); + Texture::restoreMaterial(%id); + } + + %matName = getField(%text, 0); + ETerrainEditor.paintMaterial = %matName; + + Texture::previewMaterial(%id); + $selectedMaterial = %id; + $selectedTextureOperation = -1; + Texture_operation.clearSelection(); +} + + +//-------------------------------------- +function Texture_operation_menu::onSelect(%this, %id, %text) +{ + %this.setText("Placement Operations"); + %id = -1; + + if ($selectedMaterial == -1) + return; + + %dreg = getField(Texture_operation.getRowText(0),2); + + switch$ (%text) + { + case "Place by Fractal": + %id = Texture::addOperation("Place by Fractal\ttab_FractalMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\tfbmmask_interval\t16\tfbmmask_rough\t0.000\tfbmmask_seed\t" @ terraFormer.generateSeed() @ "\tfbmmask_filter\t0.000000 0.166667 0.333333 0.500000 0.666667 0.833333 1.000000\tfBmDistort\ttrue"); + + case "Place by Height": + %id = Texture::addOperation("Place by Height\ttab_HeightMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\ttextureHeightFilter\t0 0.2 0.4 0.6 0.8 1.0\theightDistort\ttrue"); + + case "Place by Slope": + %id = Texture::addOperation("Place by Slope\ttab_SlopeMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\ttextureSlopeFilter\t0 0.2 0.4 0.6 0.8 1.0\tslopeDistort\ttrue"); + + case "Place by Water Level": + %id = Texture::addOperation("Place by Water Level\ttab_WaterMask\t" @ $nextTextureRegister++ @ "\t" @ %dreg @ "\twaterDistort\ttrue"); + } + + // select it + Texture::hideTab(); + if (%id != -1) + Texture_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Texture_operation::onSelect(%this, %id, %text) +{ + Texture::saveOperation(); + if (%id !$= $selectedTextureOperation) + { + Texture::hideTab(); + Texture::restoreOperation(%id); + Texture::showTab(%id); + } + + Texture::previewOperation(%id); + $selectedTextureOperation = %id; +} + + +//-------------------------------------- +function Texture::deleteMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %row = Texture_material.getRowNumById(%id); + + Texture_material.removeRow(%row); + + // find the next row to select + %rowCount = Texture_material.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedMaterial) + $selectedMaterial = -1; + + Texture_operation.clear(); + %id = Texture_material.getRowId(%row); + Texture_material.setSelectedById(%id); + Texture::save(); +} + + +//-------------------------------------- +function Texture::deleteOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %row = Texture_operation.getRowNumById(%id); + + // don't delete the first entry + if (%row == 0) + return; + + Texture_operation.removeRow(%row); + + // find the next row to select + %rowCount = Texture_operation.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedTextureOperation) + $selectedTextureOperation = -1; + + %id = Texture_operation.getRowId(%row); + Texture_operation.setSelectedById(%id); + Texture::save(); +} + + +//-------------------------------------- +function Texture::applyMaterials() +{ + Texture::saveMaterial(); + %count = Texture_material.rowCount(); + if (%count > 0) + { + %data = getRecord(Texture_material.getRowText(0),0); + %mat_list = getField( %data, 0); + %reg_list = getField( %data, 1); + Texture::evalMaterial(Texture_material.getRowId(0)); + + for (%i=1; %i<%count; %i++) + { + Texture::evalMaterial(Texture_material.getRowId(%i)); + %data = getRecord(Texture_material.getRowText(%i),0); + %mat_list = %mat_list @ " " @ getField( %data, 0); + %reg_list = %reg_list @ " " @ getField( %data, 1); + } + terraformer.setMaterials(%reg_list, %mat_list); + } +} + + +//-------------------------------------- +function Texture::previewMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %data = Texture_material.getRowTextById(%id); + %row = Texture_material.getRowNumById(%id); + %reg = getField(getRecord(%data,0),1); + + Texture::evalMaterial(%id); + + terraformer.preview(TexturePreview, %reg); +} + + +//-------------------------------------- +function Texture::evalMaterial(%id) +{ + if (%id $= "") + %id = $selectedMaterial; + if (%id == -1) + return; + + %data = Texture_material.getRowTextbyId(%id); + %reg = getField(getRecord(%data,0), 1); + + // make sure all operation on this material are up to date + // and accumulate register data for each + %opCount = getRecordCount(%data); + if (%opCount >= 2) // record0=material record1=fractal + { + %entry = getRecord(%data, 1); + Texture::evalOperationData(%entry, 1); + for (%op=2; %op<%opCount; %op++) + { + %entry = getRecord(%data, %op); + %reg_list = %reg_list @ getField(%entry, 2) @ " "; + Texture::evalOperationData(%entry, %op); + } + // merge the masks in to the dst reg + terraformer.mergeMasks(%reg_list, %reg); + } + Texture::save(); +} + + +//-------------------------------------- +function Texture::evalOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + %row = Texture_operation.getRowNumById(%id); + + if (%row != 0) + Texture::evalOperation( Texture_operation.getRowId(0) ); + + Texture::evalOperationData(%data, %row); + Texture::save(); +} + + +//-------------------------------------- +function Texture::evalOperationData(%data, %row) +{ + %label = getField(%data, 0); + %reg = getField(%data, 2); + %dreg = getField(%data, 3); + %id = Texture_material.getRowId(%row); + + if ( $dirtyTexture[%reg] == false ) + { + return; + } + + switch$ (%label) + { + case "Fractal Distortion": + terraformer.maskFBm( %reg, getField(%data,5), getField(%data,7), getField(%data,9), getField(%data,11), false, 0 ); + + case "Place by Fractal": + terraformer.maskFBm( %reg, getField(%data,5), getField(%data,7), getField(%data,9), getField(%data,11), getField(%data,13), %dreg ); + + case "Place by Height": + terraformer.maskHeight( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data,7), %dreg ); + + case "Place by Slope": + terraformer.maskSlope( $HeightfieldSrcRegister, %reg, getField(%data,5), getField(%data,7), %dreg ); + + case "Place by Water Level": + terraformer.maskWater( $HeightfieldSrcRegister, %reg, getField(%data,5), %dreg ); + } + + + $dirtyTexture[%reg] = false; +} + + + +//-------------------------------------- +function Texture::previewOperation(%id) +{ + if (%id $= "") + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %row = Texture_operation.getRowNumById(%id); + %data = Texture_operation.getRowText(%row); + %reg = getField(%data,2); + + Texture::evalOperation(%id); + terraformer.preview(TexturePreview, %reg); +} + + + +//-------------------------------------- +function Texture::restoreMaterial(%id) +{ + if (%id == -1) + return; + + %data = Texture_material.getRowTextById(%id); + + Texture_operation.clear(); + %recordCount = getRecordCount(%data); + for (%record=1; %record<%recordCount; %record++) + { + %entry = getRecord(%data, %record); + Texture_operation.addRow($nextTextureId++, %entry); + } +} + + +//-------------------------------------- +function Texture::saveMaterial() +{ + %id = $selectedMaterial; + if (%id == -1) + return; + + Texture::SaveOperation(); + %data = Texture_Material.getRowTextById(%id); + %newData = getRecord(%data,0); + + %rowCount = Texture_Operation.rowCount(); + for (%row=0; %row<%rowCount; %row++) + %newdata = %newdata @ "\n" @ Texture_Operation.getRowText(%row); + + Texture_Material.setRowById(%id, %newdata); + Texture::save(); +} + + +//-------------------------------------- +function Texture::restoreOperation(%id) +{ + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + + %fieldCount = getFieldCount(%data); + for (%field=4; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %obj.setValue( getField(%data, %field+1) ); + } + Texture::save(); +} + + +//-------------------------------------- +function Texture::saveOperation() +{ + %id = $selectedTextureOperation; + if (%id == -1) + return; + + %data = Texture_operation.getRowTextById(%id); + %newData = getField(%data,0) @ "\t" @ getField(%data,1) @ "\t" @ getField(%data,2) @ "\t" @ getField(%data,3); + + // go through each object and update its value + %fieldCount = getFieldCount(%data); + for (%field=4; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue(); + } + + %dirty = (%data !$= %newdata); + %reg = getField(%data, 2); + $dirtyTexture[%reg] = %dirty; + + Texture_operation.setRowById(%id, %newdata); + + // mark the material register as dirty too + if (%dirty == true) + { + %data = Texture_Material.getRowTextById($selectedMaterial); + %reg = getField(getRecord(%data,0), 1); + $dirtyTexture[ %reg ] = true; + } + + // if row is zero the fractal mask was modified + // mark everything else in the list as dirty + %row = Texture_material.getRowNumById(%id); + if (%row == 0) + { + %rowCount = Texture_operation.rowCount(); + for (%r=1; %r<%rowCount; %r++) + { + %data = Texture_operation.getRowText(%r); + $dirtyTexture[ getField(%data,2) ] = true; + } + } + Texture::save(); +} + + +//-------------------------------------- +function Texture::addMaterial(%entry) +{ + %id = $nextTextureId++; + Texture_material.addRow(%id, %entry); + + %reg = getField(%entry, 1); + $dirtyTexture[%reg] = true; + + Texture::save(); + return %id; +} + +//-------------------------------------- +function Texture::addOperation(%entry) +{ + // Assumes: operation is being added to selected material + + %id = $nextTextureId++; + Texture_operation.addRow(%id, %entry); + + %reg = getField(%entry, 2); + $dirtyTexture[%reg] = true; + + Texture::save(); + return %id; +} + + +//-------------------------------------- +function Texture::save() +{ + %script = ""; + + // loop through each operation and save it to disk + %rowCount = Texture_material.rowCount(); + for(%row = 0; %row < %rowCount; %row++) + { + if(%row != 0) + %script = %script @ "\n"; + %data = expandEscape(Texture_material.getRowText(%row)); + %script = %script @ %data; + } + terrain.setTextureScript(%script); + ETerrainEditor.isDirty = true; +} + +//-------------------------------------- +function Texture::import() +{ + getLoadFilename("*.ter", "Texture::doLoadTexture"); +} + +function Texture::loadFromScript(%script) +{ + Texture_material.clear(); + Texture_operation.clear(); + $selectedMaterial = -1; + $selectedTextureOperation = -1; + + %i = 0; + for(%rec = getRecord(%script, %i); %rec !$= ""; %rec = getRecord(%script, %i++)) + Texture::addMaterial(collapseEscape(%rec)); + // initialize dirty register array + // patch up register usage + // ...and deterime what the next register should be. + $nextTextureRegister = 1000; + %rowCount = Texture_material.rowCount(); + for (%row = 0; %row < %rowCount; %row++) + { + $dirtyTexture[ $nextTextureRegister ] = true; + %data = Texture_material.getRowText(%row); + %rec = getRecord(%data, 0); + %rec = setField(%rec, 1, $nextTextureRegister); + %data = setRecord(%data, 0, %rec); + $nextTextureRegister++; + + %opCount = getRecordCount(%data); + for (%op = 1; %op < %opCount; %op++) + { + if (%op == 1) + %frac_reg = $nextTextureRegister; + $dirtyTexture[ $nextTextureRegister ] = true; + %rec = getRecord(%data,%op); + %rec = setField(%rec, 2, $nextTextureRegister); + %rec = setField(%rec, 3, %frac_reg); + %data = setRecord(%data, %op, %rec); + $nextTextureRegister++; + } + %id = Texture_material.getRowId(%row); + Texture_material.setRowById(%id, %data); + } + + $selectedMaterial = -1; + Texture_material.setSelectedById(Texture_material.getRowId(0)); +} + +//-------------------------------------- +function Texture::doLoadTexture(%name) +{ + // ok, we're getting a terrain file... + %newTerr = new TerrainBlock() // unnamed - since we'll be deleting it shortly: + { + position = "0 0 0"; + terrainFile = %name; + squareSize = 8; + visibleDistance = 100; + }; + if(isObject(%newTerr)) + { + %script = %newTerr.getTextureScript(); + if(%script !$= "") + Texture::loadFromScript(%script); + %newTerr.delete(); + } +} + + + +//-------------------------------------- +function Texture::hideTab() +{ + tab_DistortMask.setVisible(false); + tab_FractalMask.setVisible(false); + tab_HeightMask.setVisible(false); + tab_SlopeMask.setVisible(false); + tab_waterMask.setVisible(false); +} + + +//-------------------------------------- +function Texture::showTab(%id) +{ + Texture::hideTab(); + %data = Texture_operation.getRowTextById(%id); + %tab = getField(%data,1); + %tab.setVisible(true); +} + + + +$TerraformerHeightfieldDir = "common/editor/heightScripts"; + +function tab_Blend::reset(%this) +{ + blend_option.clear(); + blend_option.add("Add", 0); + blend_option.add("Subtract", 1); + blend_option.add("Max", 2); + blend_option.add("Min", 3); + blend_option.add("Multiply", 4); +} + +function tab_fBm::reset(%this) +{ + fBm_detail.clear(); + fBm_detail.add("Very Low", 0); + fBm_detail.add("Low", 1); + fBm_detail.add("Normal", 2); + fBm_detail.add("High", 3); + fBm_detail.add("Very High", 4); +} + +function tab_RMF::reset(%this) +{ + rmf_detail.clear(); + rmf_detail.add("Very Low", 0); + rmf_detail.add("Low", 1); + rmf_detail.add("Normal", 2); + rmf_detail.add("High", 3); + rmf_detail.add("Very High", 4); +} + +function tab_terrainFile::reset(%this) +{ + // update tab controls.. + terrainFile_textList.clear(); + + %filespec = $TerraformerHeightfieldDir @ "/*.ter"; + for(%file = findFirstFile(%filespec); %file !$= ""; %file = findNextFile(%filespec)) + terrainFile_textList.addRow(%i++, fileBase(%file) @ fileExt(%file)); +} + +function tab_canyon::reset() +{ +} + +function tab_smooth::reset() +{ +} + +function tab_smoothWater::reset() +{ +} + +function tab_smoothRidge::reset() +{ +} + +function tab_filter::reset() +{ +} + +function tab_turbulence::reset() +{ +} + +function tab_thermal::reset() +{ +} + +function tab_hydraulic::reset() +{ +} + +function tab_general::reset() +{ +} + +function tab_bitmap::reset() +{ +} + +function tab_sinus::reset() +{ +} + + +//-------------------------------------- + +function Heightfield::resetTabs() +{ + tab_terrainFile.reset(); + tab_fbm.reset(); + tab_rmf.reset(); + tab_canyon.reset(); + tab_smooth.reset(); + tab_smoothWater.reset(); + tab_smoothRidge.reset(); + tab_filter.reset(); + tab_turbulence.reset(); + tab_thermal.reset(); + tab_hydraulic.reset(); + tab_general.reset(); + tab_bitmap.reset(); + tab_blend.reset(); + tab_sinus.reset(); +} + +//-------------------------------------- +function TerraformerInit() +{ + Heightfield_options.clear(); + Heightfield_options.setText("Operation"); + Heightfield_options.add("fBm Fractal",0); + Heightfield_options.add("Rigid MultiFractal",1); + Heightfield_options.add("Canyon Fractal",2); + Heightfield_options.add("Sinus",3); + Heightfield_options.add("Bitmap",4); + Heightfield_options.add("Turbulence",5); + Heightfield_options.add("Smoothing",6); + Heightfield_options.add("Smooth Water",7); + Heightfield_options.add("Smooth Ridges/Valleys", 8); + Heightfield_options.add("Filter",9); + Heightfield_options.add("Thermal Erosion",10); + Heightfield_options.add("Hydraulic Erosion",11); + Heightfield_options.add("Blend",12); + Heightfield_options.add("Terrain File",13); + + Heightfield::resetTabs(); + + %script = Terrain.getHeightfieldScript(); + if(%script !$= "") + Heightfield::loadFromScript(%script,true); + + if (Heightfield_operation.rowCount() == 0) + { + Heightfield_operation.clear(); + %id1 = Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); + Heightfield_operation.setSelectedById(%id1); + } + + Heightfield::resetTabs(); + Heightfield::preview(); +} + +//-------------------------------------- +function Heightfield_options::onSelect(%this, %_id, %text) +{ + Heightfield_options.setText("Operation"); + %id = -1; + + %rowCount = Heightfield_operation.rowCount(); + + // FORMAT + // item name + // tab name + // control name + // control value + switch$(%text) + { + case "Terrain File": + %id = HeightField::add("Terrain File\ttab_terrainFile\tterrainFile_terrFileText\tterrains/terr1.ter\tterrainFile_textList\tterr1.ter"); + + case "fBm Fractal": + %id = Heightfield::add("fBm Fractal\ttab_fBm\tfbm_interval\t9\tfbm_rough\t0.000\tfBm_detail\tNormal\tfBm_seed\t" @ terraformer.generateSeed()); + + case "Rigid MultiFractal": + %id = Heightfield::add("Rigid MultiFractal\ttab_RMF\trmf_interval\t4\trmf_rough\t0.000\trmf_detail\tNormal\trmf_seed\t" @ terraformer.generateSeed()); + + case "Canyon Fractal": + %id = Heightfield::add("Canyon Fractal\ttab_Canyon\tcanyon_freq\t5\tcanyon_factor\t0.500\tcanyon_seed\t" @ terraformer.generateSeed()); + + case "Sinus": + %id = Heightfield::add("Sinus\ttab_Sinus\tsinus_filter\t1 0.83333 0.6666 0.5 0.33333 0.16666 0\tsinus_seed\t" @ terraformer.generateSeed()); + + case "Bitmap": + %id = Heightfield::add("Bitmap\ttab_Bitmap\tbitmap_name\t"); + Heightfield::setBitmap(); + } + + + if (Heightfield_operation.rowCount() >= 1) + { + switch$(%text) + { + case "Smoothing": + %id = Heightfield::add("Smoothing\ttab_Smooth\tsmooth_factor\t0.500\tsmooth_iter\t0"); + + case "Smooth Water": + %id = Heightfield::add("Smooth Water\ttab_SmoothWater\twatersmooth_factor\t0.500\twatersmooth_iter\t0"); + + case "Smooth Ridges/Valleys": + %id = Heightfield::add("Smooth Ridges/Valleys\ttab_SmoothRidge\tridgesmooth_factor\t0.8500\tridgesmooth_iter\t1"); + + case "Filter": + %id = Heightfield::add("Filter\ttab_Filter\tfilter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1"); + + case "Turbulence": + %id = Heightfield::add("Turbulence\ttab_Turbulence\tturbulence_factor\t0.250\tturbulence_radius\t10"); + + case "Thermal Erosion": + %id = Heightfield::add("Thermal Erosion\ttab_Thermal\tthermal_slope\t30\tthermal_cons\t80.0\tthermal_iter\t0"); + + case "Hydraulic Erosion": + %id = Heightfield::add("Hydraulic Erosion\ttab_Hydraulic\thydraulic_iter\t0\thydraulic_filter\t0 0.16666667 0.3333333 0.5 0.6666667 0.8333333 1"); + } + } + + if (Heightfield_operation.rowCount() >= 2) + { + if("Blend" $= %text) + %id = Heightfield::add("Blend\ttab_Blend\tblend_factor\t0.500\tblend_srcB\t" @ %rowCount-2 @"\tblend_option\tadd"); + } + + + // select it + if (%id != -1) + Heightfield_operation.setSelectedById(%id); +} + + +//-------------------------------------- +function Heightfield::eval(%id) +{ + if (%id == -1) + return; + + %data = restWords(Heightfield_operation.getRowTextById(%id)); + %label = getField(%data,0); + %row = Heightfield_operation.getRowNumById(%id); + + echo("Heightfield::eval:" @ %row @ " " @ %label ); + + switch$(%label) + { + case "General": + if (Terrain.squareSize>0) %size = Terrain.squareSize; + else %size = 8; + terraformer.setTerrainInfo( 256, %size, getField(%data,3), getField(%data,5), getField(%data,7) ); + terraformer.setShift( getField(%data,9), getField(%data,11) ); + terraformer.terrainData(%row); + + case "Terrain File": + terraformer.terrainFile(%row, getField(%data,3)); + + case "fBm Fractal": + terraformer.fBm( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) ); + + case "Sinus": + terraformer.sinus( %row, getField(%data,3), getField(%data,5) ); + + case "Rigid MultiFractal": + terraformer.rigidMultiFractal( %row, getField(%data,3), getField(%data,5), getField(%data,7), getField(%data,9) ); + + case "Canyon Fractal": + terraformer.canyon( %row, getField(%data,3), getField(%data,5), getField(%data,7) ); + + case "Smoothing": + terraformer.smooth( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Smooth Water": + terraformer.smoothWater( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Smooth Ridges/Valleys": + terraformer.smoothRidges( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Filter": + terraformer.filter( %row-1, %row, getField(%data,3) ); + + case "Turbulence": + terraformer.turbulence( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Thermal Erosion": + terraformer.erodeThermal( %row-1, %row, getField(%data,3), getField(%data,5),getField(%data,7) ); + + case "Hydraulic Erosion": + terraformer.erodeHydraulic( %row-1, %row, getField(%data,3), getField(%data,5) ); + + case "Bitmap": + terraformer.loadGreyscale(%row, getField(%data,3)); + + case "Blend": + %rowCount = Heightfield_operation.rowCount(); + if(%rowCount > 2) + { + %a = Heightfield_operation.getRowNumById(%id)-1; + %b = getField(%data, 5); + echo("Blend: " @ %data); + echo("Blend: " @ getField(%data,3) @ " " @ getField(%data,7)); + if(%a < %rowCount || %a > 0 || %b < %rowCount || %b > 0 ) + terraformer.blend(%a, %b, %row, getField(%data,3), getField(%data,7) ); + else + echo("Heightfield Editor: Blend parameters out of range."); + } + } + +} + +//-------------------------------------- +function Heightfield::add(%entry) +{ + Heightfield::saveTab(); + Heightfield::hideTab(); + + %id = $NextOperationId++; + if ($selectedOperation != -1) + { + %row = Heightfield_operation.getRowNumById($selectedOperation) + 1; + %entry = %row @ " " @ %entry; + Heightfield_operation.addRow(%id, %entry, %row); // insert + + // adjust row numbers + for(%i = %row+1; %i < Heightfield_operation.rowCount(); %i++) + { + %id = Heightfield_operation.getRowId(%i); + %text = Heightfield_operation.getRowTextById(%id); + %text = setWord(%text, 0, %i); + Heightfield_operation.setRowById(%id, %text); + } + } + else + { + %entry = Heightfield_operation.rowCount() @ " " @ %entry; + Heightfield_operation.addRow(%id, %entry); // add to end + } + + %row = Heightfield_operation.getRowNumById(%id); + if (%row <= $HeightfieldDirtyRow) + $HeightfieldDirtyRow = %row; + Heightfield::save(); + return %id; +} + + +//-------------------------------------- +function Heightfield::onDelete(%id) +{ + if (%id $= "") + %id = $selectedOperation; + + %row = Heightfield_operation.getRowNumById(%id); + + // don't delete the first entry + if (%row == 0) + return; + + Heightfield_operation.removeRow(%row); + + // adjust row numbers + for(%i = %row; %i < Heightfield_operation.rowCount(); %i++) + { + %id2 = Heightfield_operation.getRowId(%i); + %text = Heightfield_operation.getRowTextById(%id2); + %text = setWord(%text, 0, %i); + Heightfield_operation.setRowById(%id2, %text); + } + + // adjust the Dirty Row position + if ($HeightfieldDirtyRow >= %row) + $HeightfieldDirtyRow = %row; + + // find the next row to select + %rowCount = Heightfield_operation.rowCount()-1; + if (%row > %rowCount) + %row = %rowCount; + + if (%id == $selectedOperation) + $selectedOperation = -1; + + %id = Heightfield_operation.getRowId(%row); + Heightfield_operation.setSelectedById(%id); + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield_operation::onSelect(%this, %id, %text) +{ + Heightfield::saveTab(); + Heightfield::hideTab(); + + $selectedOperation = %id; + Heightfield::restoreTab($selectedOperation); + Heightfield::showTab($selectedOperation); + Heightfield::preview($selectedOperation); +} + + +//-------------------------------------- +function Heightfield::restoreTab(%id) +{ + if (%id == -1) + return; + + Heightfield::hideTab(); + + %data = restWords(Heightfield_operation.getRowTextById(%id)); + + %fieldCount = getFieldCount(%data); + for (%field=2; %field<%fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %obj.setValue( getField(%data, %field+1) ); + } + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield::saveTab() +{ + if ($selectedOperation == -1) + return; + + %data = Heightfield_operation.getRowTextById($selectedOperation); + + %rowNum = getWord(%data, 0); + %data = restWords(%data); + %newdata = getField(%data,0) @ "\t" @ getField(%data,1); + + %fieldCount = getFieldCount(%data); + for (%field=2; %field < %fieldCount; %field += 2) + { + %obj = getField(%data, %field); + %newdata = %newdata @ "\t" @ %obj @ "\t" @ %obj.getValue(); + } + // keep track of the top-most dirty operation + // so we know who to evaluate later + if (%data !$= %newdata) + { + %row = Heightfield_operation.getRowNumById($selectedOperation); + if (%row <= $HeightfieldDirtyRow && %row > 0) + $HeightfieldDirtyRow = %row; + } + + Heightfield_operation.setRowById($selectedOperation, %rowNum @ " " @ %newdata); + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield::preview(%id) +{ + %rowCount = Heightfield_operation.rowCount(); + if (%id $= "") + %id = Heightfield_operation.getRowId(%rowCount-1); + + %row = Heightfield_operation.getRowNumById(%id); + + Heightfield::refresh(%row); + terraformer.previewScaled(HeightfieldPreview, %row); +} + + +//-------------------------------------- +function Heightfield::refresh(%last) +{ + if (%last $= "") + %last = Heightfield_operation.rowCount()-1; + + // always update the general info + Heightfield::eval(Heightfield_operation.getRowId(0)); + + for( 0; $HeightfieldDirtyRow<=%last; $HeightfieldDirtyRow++) + { + %id = Heightfield_operation.getRowId($HeightfieldDirtyRow); + Heightfield::eval(%id); + } + Heightfield::save(); +} + + +//-------------------------------------- +function Heightfield::apply(%id) +{ + %rowCount = Heightfield_operation.rowCount(); + if (%rowCount < 1) + return; + if (%id $= "") + %id = Heightfield_operation.getRowId(%rowCount-1); + + %row = Heightfield_operation.getRowNumById(%id); + + HeightfieldPreview.setRoot(); + Heightfield::refresh(%row); + terraformer.setTerrain(%row); + + terraformer.setCameraPosition(0,0,0); + ETerrainEditor.isDirty = true; +} + +//-------------------------------------- +$TerraformerSaveRegister = 0; +function Heightfield::saveBitmap(%name) +{ + if(%name $= "") + getSaveFilename("*.png", "Heightfield::doSaveBitmap", + $TerraformerHeightfieldDir @ "/" @ fileBase($Client::MissionFile) @ ".png"); + else + Heightfield::doSaveBitmap(%name); +} + +function Heightfield::doSaveBitmap(%name) +{ + terraformer.saveGreyscale($TerraformerSaveRegister, %name); +} + +//-------------------------------------- + +function Heightfield::save() +{ + %script = ""; + %rowCount = Heightfield_operation.rowCount(); + for(%row = 0; %row < %rowCount; %row++) + { + if(%row != 0) + %script = %script @ "\n"; + %data = restWords(Heightfield_operation.getRowText(%row)); + %script = %script @ expandEscape(%data); + } + terrain.setHeightfieldScript(%script); + ETerrainEditor.isDirty = true; +} + +//-------------------------------------- +function Heightfield::import() +{ + getLoadFilename("*.ter", "Heightfield::doLoadHeightfield"); +} + + +//-------------------------------------- +function Heightfield::loadFromScript(%script,%leaveCamera) +{ + echo(%script); + + Heightfield_operation.clear(); + $selectedOperation = -1; + $HeightfieldDirtyRow = -1; + + // zero out all shifting + HeightfieldPreview.reset(); + + for(%rec = getRecord(%script, %i); %rec !$= ""; %rec = getRecord(%script, %i++)) + Heightfield::add(collapseEscape(%rec)); + + if (Heightfield_operation.rowCount() == 0) + { + // if there was a problem executing the script restore + // the operations list to a known state + Heightfield_operation.clear(); + Heightfield::add("General\tTab_general\tgeneral_min_height\t50\tgeneral_scale\t300\tgeneral_water\t0.000\tgeneral_centerx\t0\tgeneral_centery\t0"); + } + %data = restWords(Heightfield_operation.getRowText(0)); + %x = getField(%data,7); + %y = getField(%data,9); + HeightfieldPreview.setOrigin(%x, %y); + Heightfield_operation.setSelectedById(Heightfield_operation.getRowId(0)); + + // Move the control object to the specified position + if (!%leaveCamera) + terraformer.setCameraPosition(%x,%y); +} + +//-------------------------------------- +function strip(%stripStr, %strToStrip) +{ + %len = strlen(%stripStr); + if(strcmp(getSubStr(%strToStrip, 0, %len), %stripStr) == 0) + return getSubStr(%strToStrip, %len, 100000); + return %strToStrip; +} + +function Heightfield::doLoadHeightfield(%name) +{ + // ok, we're getting a terrain file... + + %newTerr = new TerrainBlock() // unnamed - since we'll be deleting it shortly: + { + position = "0 0 -1000"; + terrainFile = strip("terrains/", %name); + squareSize = 8; + visibleDistance = 100; + }; + if(isObject(%newTerr)) + { + %script = %newTerr.getHeightfieldScript(); + if(%script !$= "") + Heightfield::loadFromScript(%script); + %newTerr.delete(); + } +} + + +//-------------------------------------- +function Heightfield::setBitmap() +{ + getLoadFilename($TerraformerHeightfieldDir @ "/*.png", "Heightfield::doSetBitmap"); +} + +//-------------------------------------- +function Heightfield::doSetBitmap(%name) +{ + bitmap_name.setValue(%name); + Heightfield::saveTab(); + Heightfield::preview($selectedOperation); +} + + +//-------------------------------------- +function Heightfield::hideTab() +{ + tab_terrainFile.setVisible(false); + tab_fbm.setvisible(false); + tab_rmf.setvisible(false); + tab_canyon.setvisible(false); + tab_smooth.setvisible(false); + tab_smoothWater.setvisible(false); + tab_smoothRidge.setvisible(false); + tab_filter.setvisible(false); + tab_turbulence.setvisible(false); + tab_thermal.setvisible(false); + tab_hydraulic.setvisible(false); + tab_general.setvisible(false); + tab_bitmap.setvisible(false); + tab_blend.setvisible(false); + tab_sinus.setvisible(false); +} + + +//-------------------------------------- +function Heightfield::showTab(%id) +{ + Heightfield::hideTab(); + %data = restWords(Heightfield_operation.getRowTextById(%id)); + %tab = getField(%data,1); + echo("Tab data: " @ %data @ " tab: " @ %tab); + %tab.setVisible(true); +} + + +//-------------------------------------- +function Heightfield::center() +{ + %camera = terraformer.getCameraPosition(); + %x = getWord(%camera, 0); + %y = getWord(%camera, 1); + + HeightfieldPreview.setOrigin(%x, %y); + + %origin = HeightfieldPreview.getOrigin(); + %x = getWord(%origin, 0); + %y = getWord(%origin, 1); + + %root = HeightfieldPreview.getRoot(); + %x += getWord(%root, 0); + %y += getWord(%root, 1); + + general_centerx.setValue(%x); + general_centery.setValue(%y); + Heightfield::saveTab(); +} + +function ExportHeightfield::onAction() +{ + error("Time to export the heightfield..."); + if (Heightfield_operation.getSelectedId() != -1) { + $TerraformerSaveRegister = getWord(Heightfield_operation.getValue(), 0); + Heightfield::saveBitmap(""); + } +} + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +function TerrainEditor::onGuiUpdate(%this, %text) +{ + %mouseBrushInfo = " (Mouse Brush) #: " @ getWord(%text, 0) @ " avg: " @ getWord(%text, 1); + %selectionInfo = " (Selection) #: " @ getWord(%text, 2) @ " avg: " @ getWord(%text, 3); + + TEMouseBrushInfo.setValue(%mouseBrushInfo); + TEMouseBrushInfo1.setValue(%mouseBrushInfo); + TESelectionInfo.setValue(%selectionInfo); + TESelectionInfo1.setValue(%selectionInfo); +} + +function TerrainEditor::offsetBrush(%this, %x, %y) +{ + %curPos = %this.getBrushPos(); + %this.setBrushPos(getWord(%curPos, 0) + %x, getWord(%curPos, 1) + %y); +} + +function TerrainEditor::swapInLoneMaterial(%this, %name) +{ + // swapped? + if(%this.baseMaterialsSwapped $= "true") + { + %this.baseMaterialsSwapped = "false"; + tEditor.popBaseMaterialInfo(); + } + else + { + %this.baseMaterialsSwapped = "true"; + %this.pushBaseMaterialInfo(); + %this.setLoneBaseMaterial(%name); + } + + // + flushTextureCache(); +} + +//------------------------------------------------------------------------------ +// Functions +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ + + +function TELoadTerrainButton::onAction(%this) +{ + getLoadFilename("terrains/*.ter", %this @ ".gotFileName"); +} + +function TELoadTerrainButton::gotFileName(%this, %name) +{ + // + %pos = "0 0 0"; + %squareSize = "8"; + %visibleDistance = "1200"; + + // delete current + if(isObject(terrain)) + { + %pos = terrain.position; + %squareSize = terrain.squareSize; + %visibleDistance = terrain.visibleDistance; + + terrain.delete(); + } + + // create new + new TerrainBlock(terrain) + { + position = %pos; + terrainFile = %name; + squareSize = %squareSize; + visibleDistance = %visibleDistance; + }; + + ETerrainEditor.attachTerrain(); +} + +function TerrainEditorSettingsGui::onWake(%this) +{ + TESoftSelectFilter.setValue(ETerrainEditor.softSelectFilter); +} + +function TerrainEditorSettingsGui::onSleep(%this) +{ + ETerrainEditor.softSelectFilter = TESoftSelectFilter.getValue(); +} + +function TESettingsApplyButton::onAction(%this) +{ + ETerrainEditor.softSelectFilter = TESoftSelectFilter.getValue(); + ETerrainEditor.resetSelWeights(true); + ETerrainEditor.processAction("softSelect"); +} + +function getPrefSetting(%pref, %default) +{ + // + if(%pref $= "") + return(%default); + else + return(%pref); +} + +//------------------------------------------------------------------------------ + +function Editor::open(%this) +{ + %this.prevContent = Canvas.getContent(); + + Canvas.setContent(EditorGui); +} + +function Editor::close(%this) +{ + if(%this.prevContent == -1 || %this.prevContent $= "") + %this.prevContent = "PlayGui"; + + Canvas.setContent(%this.prevContent); + + MessageHud.close(); +} + +//------------------------------------------------------------------------------ diff --git a/common/editor/editorrender.cs b/common/editor/editorrender.cs new file mode 100644 index 0000000..d062872 --- /dev/null +++ b/common/editor/editorrender.cs @@ -0,0 +1,57 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Console onEditorRender functions: +//------------------------------------------------------------------------------ +// Functions: +// - renderSphere([pos], [radius], ); +// - renderCircle([pos], [normal], [radius], ); +// - renderTriangle([pnt], [pnt], [pnt]); +// - renderLine([start], [end], ); +// +// Variables: +// - consoleFrameColor - line prims are rendered with this +// - consoleFillColor +// - consoleSphereLevel - level of polyhedron subdivision +// - consoleCircleSegments +// - consoleLineWidth +//------------------------------------------------------------------------------ + +function SpawnSphere::onEditorRender(%this, %editor, %selected, %expanded) +{ + if(%selected $= "true") + { + %editor.consoleFrameColor = "255 0 0"; + %editor.consoleFillColor = "0 0 0 0"; + %editor.renderSphere(%this.getWorldBoxCenter(), %this.radius, 1); + } +} + +function AudioEmitter::onEditorRender(%this, %editor, %selected, %expanded) +{ + if(%selected $= "true" && %this.is3D && !%this.useProfileDescription) + { + %editor.consoleFillColor = "0 0 0 0"; + + %editor.consoleFrameColor = "255 0 0"; + %editor.renderSphere(%this.getTransform(), %this.minDistance, 1); + + %editor.consoleFrameColor = "0 0 255"; + %editor.renderSphere(%this.getTransform(), %this.maxDistance, 1); + } +} + +//function Item::onEditorRender(%this, %editor, %selected, %expanded) +//{ +// if(%this.getDataBlock().getName() $= "MineDeployed") +// { +// %editor.consoleFillColor = "0 0 0 0"; +// %editor.consoleFrameColor = "255 0 0"; +// %editor.renderSphere(%this.getWorldBoxCenter(), 6, 1); +// } +//} \ No newline at end of file diff --git a/common/editor/lockedhandle.png b/common/editor/lockedhandle.png new file mode 100644 index 0000000..e4dcd31 Binary files /dev/null and b/common/editor/lockedhandle.png differ diff --git a/common/editor/objectBuilderGui.gui b/common/editor/objectBuilderGui.gui new file mode 100644 index 0000000..2cafd85 --- /dev/null +++ b/common/editor/objectBuilderGui.gui @@ -0,0 +1,650 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ObjectBuilderGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + + new GuiWindowCtrl(OBTargetWindow) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "217 74"; + extent = "256 282"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + + new GuiTextCtrl() { + profile = "GuiCenterTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 31"; + extent = "84 25"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + text = "Object Name:"; + }; + new GuiTextEditCtrl(OBObjectName) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "105 31"; + extent = "143 18"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + historySize = "0"; + }; + new GuiControl(OBContentWindow) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 56"; + extent = "240 193"; + minExtent = "0 0"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + helpTag = "0"; + }; + new GuiButtonCtrl(OBOKButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "70 254"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "ObjectBuilderGui.onOK();"; + helpTag = "0"; + text = "OK"; + }; + new GuiButtonCtrl(OBCancelButton) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "156 254"; + extent = "80 20"; + minExtent = "8 8"; + visible = "1"; + setFirstResponder = "0"; + modal = "1"; + command = "ObjectBuilderGui.onCancel();"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function ObjectBuilderGui::init(%this) +{ + %this.baseOffsetX = 9; + %this.baseOffsetY = 10; + %this.scriptFile = "editor/newObject.cs"; + %this.defaultObjectName = ""; + %this.defaultFieldStep = 26; + %this.columnOffset = 95; + + %this.fieldNameExtent = "132 18"; + %this.textEditExtent = "127 18"; + %this.checkBoxExtent = "18 18"; + %this.popupMenuExtent = "127 18"; + %this.fileButtonExtent = "127 18"; + + // + %this.numControls = 0; + + %this.reset(); +} + +function ObjectBuilderGui::reset(%this) +{ + %this.curXPos = %this.baseOffsetX; + %this.curYPos = %this.baseOffsetY; + %this.createCallback = ""; + %this.currentControl = 0; + + // + OBObjectName.setValue(%this.defaultObjectName); + + // + %this.newObject = 0; + %this.className = ""; + %this.numFields = 0; + + // + for(%i = 0; %i < %this.numControls; %i++) + { + %this.textControls[%i].delete(); + %this.controls[%i].delete(); + } + %this.numControls = 0; +} + +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::createFileType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createFileType: invalid field"); + return; + } + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + extent = %this.fileButtonExtent; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + command = %this @ ".getFileName(" @ %index @ ");"; + }; + + %val = %this.field[%index, value]; + %this.controls[%this.numControls].setValue(fileBase(%val) @ fileExt(%val)); + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +function ObjectBuilderGui::getFileName(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::getFileName: invalid field"); + return; + } + + %val = %this.field[%index, value]; + + %path = filePath(%val); + %ext = fileExt(%val); + + %this.currentControl = %index; + getLoadFilename(%path @ "*" @ %ext, %this @ ".gotFileName"); +} + +function ObjectBuilderGui::gotFileName(%this, %name) +{ + %this.controls[%this.currentControl].setValue(%name); +} + +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::createDataBlockType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createDataBlockType: invalid field"); + return; + } + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiPopupMenuCtrl() { + profile = "GuiPopUpMenuProfile"; + extent = %this.popupMenuExtent; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + maxPopupHeight = "200"; + }; + + %classname = getWord(%this.field[%index, value], 0); + + %this.controls[%this.numControls].add("", -1); + + // add the datablocks + for(%i = 0; %i < DataBlockGroup.getCount(); %i++) + { + %obj = DataBlockGroup.getObject(%i); + if(%obj.getClassName() $= %classname) + %this.controls[%this.numControls].add(%obj.getName(), %i); + } + + %this.controls[%this.numControls].setValue(getWord(%this.field[%index, value], 1)); + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +function ObjectBuilderGui::createBoolType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createBoolType: invalid field"); + return; + } + + // + if(%this.field[%index, value] $= "") + %value = 0; + else + %value = %this.field[%index, value]; + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiCheckBoxCtrl() { + profile = "GuiCheckBoxProfile"; + extent = %this.checkBoxExtent; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + }; + + %this.controls[%this.numControls].setValue(%value); + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +function ObjectBuilderGui::createStringType(%this, %index) +{ + if(%index >= %this.numFields || %this.field[%index, name] $= "") + { + error("ObjectBuilderGui::createStringType: invalid field"); + return; + } + + // + if(%this.field[%index, text] $= "") + %name = %this.field[%index, name]; + else + %name = %this.field[%index, text]; + + // + %this.textControls[%this.numControls] = new GuiTextCtrl() { + profile = "GuiTextProfile"; + text = %name; + extent = %this.fieldNameExtent; + position = %this.curXPos @ " " @ %this.curYPos; + modal = "1"; + }; + + // + %this.controls[%this.numControls] = new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + extent = %this.textEditExtent; + text = %this.field[%index, value]; + position = %this.curXPos + %this.columnOffset @ " " @ %this.curYPos; + modal = "1"; + }; + + %this.numControls++; + %this.curYPos += %this.defaultFieldStep; +} + +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::adjustSizes(%this) +{ + if(%this.numControls == 0) + %this.curYPos = 0; + + OBTargetWindow.extent = "256 " @ %this.curYPos + 88; + OBContentWindow.extent = "240 " @ %this.curYPos; + OBOKButton.position = "70 " @ %this.curYPos + 62; + OBCancelButton.position = "156 " @ %this.curYPos + 62; +} + +function ObjectBuilderGui::process(%this) +{ + if(%this.className $= "") + { + error("ObjectBuilderGui::process: classname is not specified"); + return; + } + + OBTargetWindow.setValue("Building Object: " @ %this.className); + + // + for(%i = 0; %i < %this.numFields; %i++) + { + switch$(%this.field[%i, type]) + { + case "TypeBool": + %this.createBoolType(%i); + + case "TypeDataBlock": + %this.createDataBlockType(%i); + + case "TypeFile": + %this.createFileType(%i); + + default: + %this.createStringType(%i); + } + } + + // add the controls + for(%i = 0; %i < %this.numControls; %i++) + { + OBContentWindow.add(%this.textControls[%i]); + OBContentWindow.add(%this.controls[%i]); + } + + // + %this.adjustSizes(); + + // + Canvas.pushDialog(%this); +} + +function ObjectBuilderGui::processNewObject(%this, %obj) +{ + if(%this.createCallback !$= "") + eval(%this.createCallback); + + if(!isObject(EWorldEditor)) + return; + + $InstantGroup.add(%obj); + EWorldEditor.clearSelection(); + EWorldEditor.selectObject(%obj); + EWorldEditor.dropSelection(); +} + +function ObjectBuilderGui::onOK(%this) +{ + // get current values + for(%i = 0; %i < %this.numControls; %i++) + %this.field[%i, value] = %this.controls[%i].getValue(); + + // + %file = new FileObject(); + + %file.openForWrite(%this.scriptFile); + + %file.writeLine(%this @ ".newObject = new " @ %this.className @ "(" @ OBObjectName.getValue() @ ") {"); + + for(%i = 0; %i < %this.numFields; %i++) + %file.writeLine(" " @ %this.field[%i, name] @ " = \"" @ %this.field[%i, value] @ "\";"); + + %file.writeLine("};"); + + %file.close(); + %file.delete(); + + // + exec(%this.scriptFile); + if(%this.newObject != 0) + %this.processNewObject(%this.newObject); + + %this.reset(); + Canvas.popDialog(%this); +} + +function ObjectBuilderGui::onCancel(%this) +{ + %this.reset(); + Canvas.popDialog(%this); +} + +function ObjectBuilderGui::addField(%this, %name, %type, %text, %value) +{ + %this.field[%this.numFields, name] = %name; + %this.field[%this.numFields, type] = %type; + %this.field[%this.numFields, text] = %text; + %this.field[%this.numFields, value] = %value; + + %this.numFields++; +} + +//------------------------------------------------------------------------------ +// Environment +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildSky(%this) +{ + %this.className = "Sky"; + + %this.addField("materialList", "TypeFile", "Material list", "Lush_l4.dml"); + %this.addField("cloudSpeed[0]", "TypePoint2", "Cloud0 Speed", "0.0000003 0.0000003"); + %this.addField("cloudSpeed[1]", "TypePoint2", "Cloud1 Speed", "0.0000006 0.0000006"); + %this.addField("cloudSpeed[2]", "TypePoint2", "Cloud2 Speed", "0.0000009 0.0000009"); + %this.addField("cloudHeightPer[0]", "TypeFloat", "Cloud0 Height", "0.349971"); + %this.addField("cloudHeightPer[1]", "TypeFloat", "Cloud1 Height", "0.25"); + %this.addField("cloudHeightPer[2]", "TypeFloat", "Cloud2 Height", "0.199973"); + %this.addField("visibleDistance", "TypeFloat", "Visible distance", "900"); + %this.addField("fogDistance", "TypeFloat", "Fog distance", "600"); + %this.addField("fogColor", "TypeColor", "Fog color", "0.5 0.5 0.5"); + %this.addField("fogVolume1", "TypePoint3", "Fog volume", "120 0 100"); + %this.addField("fogVolume2", "TypePoint3", "Fog volume", "0 0 0"); + %this.addField("fogVolume3", "TypePoint3", "Fog volume", "0 0 0"); + + %this.process(); +} + +function ObjectBuilderGui::buildSun(%this) +{ + %this.className = "Sun"; + + %this.addField("direction", "TypeVector", "Direction", "1 1 -1"); + %this.addField("color", "TypeColor", "Sun color", "0.8 0.8 0.8"); + %this.addField("ambient", "TypeColor", "Ambient color", "0.2 0.2 0.2"); + + %this.process(); +} + +function ObjectBuilderGui::buildLightning(%this) +{ + %this.className = "Lightning"; + + %this.addField("dataBlock", "TypeDataBlock", "Data block", "LightningData DefaultStorm"); + + %this.process(); +} + +function ObjectBuilderGui::buildWater(%this) +{ + %this.className = "WaterBlock"; + + // jff: this object needs some work!! + %this.addField("extent", "TypePoint3", "Extent", "100 100 10"); + %this.addField("textureSize", "TypePoint2", "Texture size", "32 32"); + %this.addField("params[0]", "TypePoint4", "Wave Param0", "0.32 -0.67 0.066 0.5"); + %this.addField("params[1]", "TypePoint4", "Wave Param1", "0.63 -2.41 0.33 0.21"); + %this.addField("params[2]", "TypePoint4", "Wave Param2", "0.39 0.39 0.2 0.133"); + %this.addField("params[3]", "TypePoint4", "Wave Param3", "1.21 -0.61 0.13 -0.33"); + %this.addField("floodFill", "TypeBool", "Flood fill?", "true"); + %this.addField("seedPoints", "TypeString", "Seed points", "0 0 1 0 1 1 0 1"); + + %this.addField("surfaceTexture", "TypeString", "Surface Texture", + "fps/data/water/water"); + %this.addField("envMapTexture", "TypeString", "Env Map Texture", + "fps/data/skies/sunset_0007"); + + %this.process(); +} + +function ObjectBuilderGui::buildTerrain(%this) +{ + %this.className = "TerrainBlock"; + %this.createCallback = "ETerrainEditor.attachTerrain();"; + + %this.addField("terrainFile", "TypeFile", "Terrain file", "terrains/terr1.ter"); + %this.addField("squareSize", "TypeInt", "Square size", "8"); + + %this.process(); +} + +function ObjectBuilderGui::buildAudioEmitter(%this) +{ + %this.className = "AudioEmitter"; + %this.addField("profile", "TypeDataBlock", "Sound Profile", "AudioProfile"); + %this.addField("description", "TypeDataBlock", "Sound Description", "AudioDescription"); + %this.addField("fileName", "TypeFile", "Audio file", ""); + %this.addField("useProfileDescription", "TypeBool", "Use profile's desc?", "false"); + %this.addFIeld("volume", "TypeFloat", "Volume", "1.0"); + %this.addField("isLooping", "TypeBool", "Looping?", "true"); + %this.addField("is3D", "TypeBool", "Is 3D sound?", "true"); + %this.addField("minDistance", "TypeFloat", "Min distance", "20.0"); + %this.addField("maxDistance", "TypeFloat", "Max distance", "100.0"); + %this.addField("coneInsideAngle", "TypeInt", "Cone inside angle", "360"); + %this.addField("coneOutsideAngle", "TypeInt", "Cone outside angle", "360"); + %this.addField("coneOutsideVolume", "TypeFloat", "Cone outside volume", "1.0"); + %this.addField("coneVector", "TypePoint3", "Cone Vector", "0 0 1"); + %this.addField("loopCount", "TypeInt", "Loop count", "-1"); + %this.addField("minLoopGap", "TypeInt", "Min loop gap (ms)", "0"); + %this.addField("maxLoopGap", "TypeInt", "Max loop gap (ms)", "0"); + %this.addField("type", "TypeInt", "Audio type", $SimAudioType); + %this.process(); +} + +function ObjectBuilderGui::buildPrecipitation(%this) +{ + %this.className = "Precipitation"; + %this.addField("nameTag", "TypeString", "Name", ""); + %this.addField("dataBlock", "TypeDataBlock", "Precipitation data", "PrecipitationData"); + %this.process(); +} + +function ObjectBuilderGui::buildParticleEmitter(%this) +{ + %this.className = "ParticleEmitterNode"; + %this.addField("dataBlock", "TypeDataBlock", "datablock", "ParticleEmitterNodeData"); + %this.addField("emitter", "TypeDataBlock", "Particle data", "ParticleEmitterData"); + %this.process(); +} + +//------------------------------------------------------------------------------ +// Mission +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildMissionArea(%this) +{ + %this.className = "MissionArea"; + %this.addField("area", "TypeRect", "Bounding area", "0 0 1024 1024"); + %this.process(); +} + +function ObjectBuilderGui::buildMarker(%this) +{ + %this.className = "Marker"; + %this.process(); +} + +//function ObjectBuilderGui::buildForcefield(%this) +//{ +// %this.className = "ForcefieldBare"; +// %this.addField("dataBlock", "TypeDataBlock", "Data Block", "ForceFieldBareData defaultForceFieldBare"); +// %this.process(); +//} + +function ObjectBuilderGui::buildTrigger(%this) +{ + %this.className = "Trigger"; + %this.addField("dataBlock", "TypeDataBlock", "Data Block", "TriggerData defaultTrigger"); + %this.addField("polyhedron", "TypeTriggerPolyhedron", "Polyhedron", "0 0 0 1 0 0 0 -1 0 0 0 1"); + %this.process(); +} + +function ObjectBuilderGui::buildPhysicalZone(%this) +{ + %this.className = "PhysicalZone"; + %this.addField("polyhedron", "TypeTriggerPolyhedron", "Polyhedron", "0 0 0 1 0 0 0 -1 0 0 0 1"); + %this.process(); +} + +function ObjectBuilderGui::buildCamera(%this) +{ + %this.className = "Camera"; + + %this.addField("position", "TypePoint3", "Position", "0 0 0"); + %this.addField("rotation", "TypePoint4", "Rotation", "1 0 0 0"); + %this.addField("dataBlock", "TypeDataBlock", "Data block", "CameraData Observer"); + %this.addField("team", "TypeInt", "Team", "0"); + + %this.process(); +} + +//------------------------------------------------------------------------------ +// System +//------------------------------------------------------------------------------ + +function ObjectBuilderGui::buildSimGroup(%this) +{ + %this.className = "SimGroup"; + %this.process(); +} + +//------------------------------------------------------------------------------ +// AI +//------------------------------------------------------------------------------ + +//function ObjectBuilderGui::buildObjective(%this) +//{ +// %this.className = "AIObjective"; +// %this.process(); +//} + +//function ObjectBuilderGui::buildNavigationGraph(%this) +//{ +// %this.className = "NavigationGraph"; +// %this.process(); +//} diff --git a/common/editor/selecthandle.png b/common/editor/selecthandle.png new file mode 100644 index 0000000..941fcd9 Binary files /dev/null and b/common/editor/selecthandle.png differ diff --git a/common/help/_ b/common/help/_ new file mode 100644 index 0000000..e69de29 diff --git a/common/lighting/lightfalloffmono.png b/common/lighting/lightfalloffmono.png new file mode 100644 index 0000000..6510a0f Binary files /dev/null and b/common/lighting/lightfalloffmono.png differ diff --git a/common/lighting/whitealpha255.png b/common/lighting/whitealpha255.png new file mode 100644 index 0000000..1a36e49 Binary files /dev/null and b/common/lighting/whitealpha255.png differ diff --git a/common/lighting/whitenoalpha.png b/common/lighting/whitenoalpha.png new file mode 100644 index 0000000..7a043a7 Binary files /dev/null and b/common/lighting/whitenoalpha.png differ diff --git a/common/main.cs b/common/main.cs new file mode 100644 index 0000000..b9337cf --- /dev/null +++ b/common/main.cs @@ -0,0 +1,147 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Load up defaults console values. + +exec("./defaults.cs"); + +//----------------------------------------------------------------------------- + +function initCommon() +{ + // All mods need the random seed set + setRandomSeed(); + + // Very basic functions used by everyone + exec("./client/canvas.cs"); + exec("./client/audio.cs"); +} + +function initBaseClient() +{ + // Base client functionality + exec("./client/message.cs"); + exec("./client/mission.cs"); + exec("./client/missionDownload.cs"); + exec("./client/actionMap.cs"); + exec("./editor/editor.cs"); + + // There are also a number of support scripts loaded by the canvas + // when it's first initialized. Check out client/canvas.cs +} + +function initBaseServer() +{ + // Base server functionality + exec("./server/audio.cs"); + exec("./server/server.cs"); + exec("./server/message.cs"); + exec("./server/commands.cs"); + exec("./server/missionInfo.cs"); + exec("./server/missionLoad.cs"); + exec("./server/missionDownload.cs"); + exec("./server/clientConnection.cs"); + exec("./server/kickban.cs"); + exec("./server/game.cs"); +} + + +//----------------------------------------------------------------------------- +package Common { + +function displayHelp() { + Parent::displayHelp(); + error( + "Common Mod options:\n"@ + " -fullscreen Starts game in full screen mode\n"@ + " -windowed Starts game in windowed mode\n"@ + " -autoVideo Auto detect video, but prefers OpenGL\n"@ + " -openGL Force OpenGL acceleration\n"@ + " -directX Force DirectX acceleration\n"@ + " -voodoo2 Force Voodoo2 acceleration\n"@ + " -noSound Starts game without sound\n"@ + " -prefs Exec the config file\n" + ); +} + +function parseArgs() +{ + Parent::parseArgs(); + + // Arguments override defaults... + for (%i = 1; %i < $Game::argc ; %i++) + { + %arg = $Game::argv[%i]; + %nextArg = $Game::argv[%i+1]; + %hasNextArg = $Game::argc - %i > 1; + + switch$ (%arg) + { + //-------------------- + case "-fullscreen": + $pref::Video::fullScreen = 1; + $argUsed[%i]++; + + //-------------------- + case "-windowed": + $pref::Video::fullScreen = 0; + $argUsed[%i]++; + + //-------------------- + case "-noSound": + error("no support yet"); + $argUsed[%i]++; + + //-------------------- + case "-openGL": + $pref::Video::displayDevice = "OpenGL"; + $argUsed[%i]++; + + //-------------------- + case "-directX": + $pref::Video::displayDevice = "D3D"; + $argUsed[%i]++; + + //-------------------- + case "-voodoo2": + $pref::Video::displayDevice = "Voodoo2"; + $argUsed[%i]++; + + //-------------------- + case "-autoVideo": + $pref::Video::displayDevice = ""; + $argUsed[%i]++; + + //-------------------- + case "-prefs": + $argUsed[%i]++; + if (%hasNextArg) { + exec(%nextArg, true, true); + $argUsed[%i+1]++; + %i++; + } + else + error("Error: Missing Command Line argument. Usage: -prefs "); + } + } +} + +function onStart() +{ + Parent::onStart(); + echo("\n--------- Initializing MOD: Common ---------"); + initCommon(); +} + +function onExit() +{ + OpenALShutdown(); + Parent::onExit(); +} + +}; // Common package +activatePackage(Common); diff --git a/common/main.cs.dso b/common/main.cs.dso new file mode 100644 index 0000000..f36de48 Binary files /dev/null and b/common/main.cs.dso differ diff --git a/common/prefs.cs b/common/prefs.cs new file mode 100644 index 0000000..bd7a846 --- /dev/null +++ b/common/prefs.cs @@ -0,0 +1,13 @@ +$Pref::Server::AdminPassword = ""; +$Pref::Server::BanTime = 1800; +$Pref::Server::ConnectionError = "ERROR"; +$Pref::Server::FloodProtectionEnabled = 1; +$Pref::Server::Info = "This is a Torque Game Engine Test Server."; +$Pref::Server::KickBanTime = 300; +$Pref::Server::MaxChatLen = 120; +$Pref::Server::MaxPlayers = 64; +$Pref::Server::Name = "Torque Test Server"; +$Pref::Server::Password = ""; +$Pref::Server::Port = 28000; +$Pref::Server::RegionMask = 2; +$Pref::Server::TimeLimit = 20; diff --git a/common/server/audio.cs b/common/server/audio.cs new file mode 100644 index 0000000..24af1ac --- /dev/null +++ b/common/server/audio.cs @@ -0,0 +1,24 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function ServerPlay2D(%profile) +{ + // Play the given sound profile on every client. + // The sounds will be transmitted as an event, not attached to any object. + for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) + ClientGroup.getObject(%idx).play2D(%profile); +} + +function ServerPlay3D(%profile,%transform) +{ + // Play the given sound profile at the given position on every client + // The sound will be transmitted as an event, not attached to any object. + for(%idx = 0; %idx < ClientGroup.getCount(); %idx++) + ClientGroup.getObject(%idx).play3D(%profile,%transform); +} + diff --git a/common/server/audio.cs.dso b/common/server/audio.cs.dso new file mode 100644 index 0000000..0df7c49 Binary files /dev/null and b/common/server/audio.cs.dso differ diff --git a/common/server/banlist.cs b/common/server/banlist.cs new file mode 100644 index 0000000..e69de29 diff --git a/common/server/clientConnection.cs.dso b/common/server/clientConnection.cs.dso new file mode 100644 index 0000000..9f87a67 Binary files /dev/null and b/common/server/clientConnection.cs.dso differ diff --git a/common/server/clientconnection.cs b/common/server/clientconnection.cs new file mode 100644 index 0000000..119e41a --- /dev/null +++ b/common/server/clientconnection.cs @@ -0,0 +1,207 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +// This script function is called before a client connection +// is accepted. Returning "" will accept the connection, +// anything else will be sent back as an error to the client. +// All the connect args are passed also to onConnectRequest +// +function GameConnection::onConnectRequest( %client, %netAddress, %name ) +{ + echo("Connect request from: " @ %netAddress); + if($Server::PlayerCount >= $pref::Server::MaxPlayers) + return "CR_SERVERFULL"; + return ""; +} + +//----------------------------------------------------------------------------- +// This script function is the first called on a client accept +// +function GameConnection::onConnect( %client, %name ) +{ + // Send down the connection error info, the client is + // responsible for displaying this message if a connection + // error occures. + messageClient(%client,'MsgConnectionError',"",$Pref::Server::ConnectionError); + + // Send mission information to the client + sendLoadInfoToClient( %client ); + + // Simulated client lag for testing... + // %client.setSimulatedNetParams(0.1, 30); + + // if hosting this server, set this client to superAdmin + if (%client.getAddress() $= "local") { + %client.isAdmin = true; + %client.isSuperAdmin = true; + } + + // Get the client's unique id: + // %authInfo = %client.getAuthInfo(); + // %client.guid = getField( %authInfo, 3 ); + %client.guid = 0; + addToServerGuidList( %client.guid ); + + // Set admin status + %client.isAdmin = false; + %client.isSuperAdmin = false; + + // Save client preferences on the connection object for later use. + %client.gender = "Male"; + %client.armor = "Light"; + %client.race = "Human"; + %client.skin = addTaggedString( "base" ); + %client.setPlayerName(%name); + %client.score = 0; + + // + $instantGroup = ServerGroup; + $instantGroup = MissionCleanup; + echo("CADD: " @ %client @ " " @ %client.getAddress()); + + // Inform the client of all the other clients + %count = ClientGroup.getCount(); + for (%cl = 0; %cl < %count; %cl++) { + %other = ClientGroup.getObject(%cl); + if ((%other != %client)) { + // These should be "silent" versions of these messages... + messageClient(%client, 'MsgClientJoin', "", + "", + %other, + %other.sendGuid, + %other.score, + %other.isAIControlled(), + %other.isAdmin, + %other.isSuperAdmin); + } + } + + // Inform the client we've joined up + messageClient(%client, + 'MsgClientJoin', "", + "", + %client, + %client.sendGuid, + %client.score, + %client.isAiControlled(), + %client.isAdmin, + %client.isSuperAdmin); + + // Inform all the other clients of the new guy + messageAllExcept(%client, -1, 'MsgClientJoin', "", + "", + %client, + %client.sendGuid, + %client.score, + %client.isAiControlled(), + %client.isAdmin, + %client.isSuperAdmin); + + // If the mission is running, go ahead download it to the client + if ($missionRunning) + %client.loadMission(); + $Server::PlayerCount++; +} + +//----------------------------------------------------------------------------- +// A player's name could be obtained from the auth server, but for +// now we use the one passed from the client. +// %realName = getField( %authInfo, 0 ); +// +function GameConnection::setPlayerName(%client,%name) +{ + %client.sendGuid = 0; + + // Minimum length requirements + %name = stripTrailingSpaces( strToPlayerName( %name ) ); + if ( strlen( %name ) < 3 ) + %name = "Poser"; + + // Make sure the alias is unique, we'll hit something eventually + if (!isNameUnique(%name)) + { + %isUnique = false; + for (%suffix = 1; !%isUnique; %suffix++) { + %nameTry = %name @ "." @ %suffix; + %isUnique = isNameUnique(%nameTry); + } + %name = %nameTry; + } + + // Tag the name with the "smurf" color: + %client.nameBase = %name; + %client.name = addTaggedString("\cp\c8" @ %name @ "\co"); +} + +function isNameUnique(%name) +{ + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %test = ClientGroup.getObject( %i ); + %rawName = stripChars( detag( getTaggedString( %test.name ) ), "\cp\co\c6\c7\c8\c9" ); + if ( strcmp( %name, %rawName ) == 0 ) + return false; + } + return true; +} + +//----------------------------------------------------------------------------- +// This function is called when a client drops for any reason +// +function GameConnection::onDrop(%client, %reason) +{ + %client.onClientLeaveGame(); + + removeFromServerGuidList( %client.guid ); + messageAllExcept(%client, -1, 'MsgClientDrop', '\c1%1 has left the game.', %client.name, %client); + + removeTaggedString(%client.name); + echo("CDROP: " @ %client @ " " @ %client.getAddress()); + $Server::PlayerCount--; + + // Reset the server if everyone has left the game + if( $Server::PlayerCount == 0 && $Server::Dedicated) + schedule(0, 0, "resetServerDefaults"); +} + + +//----------------------------------------------------------------------------- + +function GameConnection::startMission(%this) +{ + // Inform the client the mission starting + commandToClient(%this, 'MissionStart', $missionSequence); +} + + +function GameConnection::endMission(%this) +{ + // Inform the client the mission is done + commandToClient(%this, 'MissionEnd', $missionSequence); +} + + +//-------------------------------------------------------------------------- +// Sync the clock on the client. + +function GameConnection::syncClock(%client, %time) +{ + commandToClient(%client, 'syncClock', %time); +} + + +//-------------------------------------------------------------------------- +// Update all the clients with the new score + +function GameConnection::incScore(%this,%delta) +{ + %this.score += %delta; + messageAll('MsgClientScoreChanged', "", %this.score, %this); +} diff --git a/common/server/commands.cs b/common/server/commands.cs new file mode 100644 index 0000000..edda558 --- /dev/null +++ b/common/server/commands.cs @@ -0,0 +1,47 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Misc. server commands avialable to clients +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function serverCmdSAD( %client, %password ) +{ + if( %password !$= "" && %password $= $Pref::Server::AdminPassword) + { + %client.isAdmin = true; + %client.isSuperAdmin = true; + %name = getTaggedString( %client.name ); + MessageAll( 'MsgAdminForce', "\c2" @ %name @ " has become Admin by force.", %client ); + } +} + +function serverCmdSADSetPassword(%client, %password) +{ + if(%client.isSuperAdmin) + $Pref::Server::AdminPassword = %password; +} + + +//---------------------------------------------------------------------------- +// Server chat message handlers + +function serverCmdTeamMessageSent(%client, %text) +{ + if(strlen(%text) >= $Pref::Server::MaxChatLen) + %text = getSubStr(%text, 0, $Pref::Server::MaxChatLen); + chatMessageTeam(%client, %client.team, '\c3%1: %2', %client.name, %text); +} + +function serverCmdMessageSent(%client, %text) +{ + if(strlen(%text) >= $Pref::Server::MaxChatLen) + %text = getSubStr(%text, 0, $Pref::Server::MaxChatLen); + chatMessageAll(%client, '\c4%1: %2', %client.name, %text); +} + diff --git a/common/server/commands.cs.dso b/common/server/commands.cs.dso new file mode 100644 index 0000000..8a78690 Binary files /dev/null and b/common/server/commands.cs.dso differ diff --git a/common/server/game.cs b/common/server/game.cs new file mode 100644 index 0000000..88cfd60 --- /dev/null +++ b/common/server/game.cs @@ -0,0 +1,108 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Invoked from the common server & mission loading functions +//----------------------------------------------------------------------------- + +function onServerCreated() +{ + // Invoked by createServer(), when server is created and ready to go + + // Server::GameType is sent to the master server. + // This variable should uniquely identify your game and/or mod. + $Server::GameType = "Test App"; + + // Server::MissionType sent to the master server. Clients can + // filter servers based on mission type. + $Server::MissionType = "Deathmatch"; + + // Load up all datablocks, objects etc. This function is called when + // a server is constructed. + // exec("./foo.cs"); + + // For backwards compatibility... + createGame(); +} + +function onServerDestroyed() +{ + // Invoked by destroyServer(), right before the server is destroyed + destroyGame(); +} + +function onMissionLoaded() +{ + // Called by loadMission() once the mission is finished loading + startGame(); +} + +function onMissionEnded() +{ + // Called by endMission(), right before the mission is destroyed + endGame(); +} + +function onMissionReset() +{ + // Called by resetMission(), after all the temporary mission objects + // have been deleted. +} + + +//----------------------------------------------------------------------------- +// These methods are extensions to the GameConnection class. Extending +// GameConnection make is easier to deal with some of this functionality, +// but these could also be implemented as stand-alone functions. +//----------------------------------------------------------------------------- + +function GameConnection::onClientEnterGame(%this) +{ + // Called for each client after it's finished downloading the + // mission and is ready to start playing. + // Tg: Should think about renaming this onClientEnterMission +} + +function GameConnection::onClientLeaveGame(%this) +{ + // Call for each client that drops + // Tg: Should think about renaming this onClientLeaveMission +} + + +//----------------------------------------------------------------------------- +// Functions that implement game-play +// These are here for backwards compatibilty only, games and/or mods should +// really be overloading the server and mission functions listed ubove. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function createGame() +{ + // This function is called by onServerCreated (ubove) +} + +function destroyGame() +{ + // This function is called by onServerDestroyed (ubove) +} + + +//----------------------------------------------------------------------------- + +function startGame() +{ + // This is where the game play should start + // The default onMissionLoaded function starts the game. +} + +function endGame() +{ + // This is where the game play should end + // The default onMissionEnded function shuts down the game. +} diff --git a/common/server/game.cs.dso b/common/server/game.cs.dso new file mode 100644 index 0000000..1513ab7 Binary files /dev/null and b/common/server/game.cs.dso differ diff --git a/common/server/kickban.cs b/common/server/kickban.cs new file mode 100644 index 0000000..4567a50 --- /dev/null +++ b/common/server/kickban.cs @@ -0,0 +1,26 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function kick(%client) +{ + messageAll( 'MsgAdminForce', '\c2The Admin has kicked %1.', %client.name); + + if (!%client.isAIControlled()) + BanList::add(%client.guid, %client.getAddress(), $Pref::Server::KickBanTime); + %client.delete("You have been banned from this server"); +} + +function ban(%client) +{ + messageAll('MsgAdminForce', '\c2The Admin has banned %1.', %client.name); + + if (!%client.isAIControlled()) + BanList::add(%client.guid, %client.getAddress(), $Pref::Server::BanTime); + %client.delete("You have been kicked from this server"); +} diff --git a/common/server/kickban.cs.dso b/common/server/kickban.cs.dso new file mode 100644 index 0000000..402c9c7 Binary files /dev/null and b/common/server/kickban.cs.dso differ diff --git a/common/server/message.cs b/common/server/message.cs new file mode 100644 index 0000000..64b34d1 --- /dev/null +++ b/common/server/message.cs @@ -0,0 +1,151 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Server side message commands +//----------------------------------------------------------------------------- + +function messageClient(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + commandToClient(%client, 'ServerMessage', %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); +} + +function messageTeam(%team, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + %count = ClientGroup.getCount(); + for(%cl= 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if(%recipient.team == %team) + messageClient(%recipient, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +function messageTeamExcept(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + %team = %client.team; + %count = ClientGroup.getCount(); + for(%cl= 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if((%recipient.team == %team) && (%recipient != %client)) + messageClient(%recipient, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +function messageAll(%msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + %count = ClientGroup.getCount(); + for(%cl = 0; %cl < %count; %cl++) + { + %client = ClientGroup.getObject(%cl); + messageClient(%client, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + +function messageAllExcept(%client, %team, %msgtype, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13) +{ + //can exclude a client, a team or both. A -1 value in either field will ignore that exclusion, so + //messageAllExcept(-1, -1, $Mesblah, 'Blah!'); will message everyone (since there shouldn't be a client -1 or client on team -1). + %count = ClientGroup.getCount(); + for(%cl= 0; %cl < %count; %cl++) + { + %recipient = ClientGroup.getObject(%cl); + if((%recipient != %client) && (%recipient.team != %team)) + messageClient(%recipient, %msgType, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10, %a11, %a12, %a13); + } +} + + +//--------------------------------------------------------------------------- +// Server side client chat'n +//--------------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +// silly spam protection... +$SPAM_PROTECTION_PERIOD = 10000; +$SPAM_MESSAGE_THRESHOLD = 4; +$SPAM_PENALTY_PERIOD = 10000; +$SPAM_MESSAGE = '\c3FLOOD PROTECTION:\cr You must wait another %1 seconds.'; + +function GameConnection::spamMessageTimeout(%this) +{ + if(%this.spamMessageCount > 0) + %this.spamMessageCount--; +} + +function GameConnection::spamReset(%this) +{ + %this.isSpamming = false; +} + +function spamAlert(%client) +{ + if($Pref::Server::FloodProtectionEnabled != true) + return(false); + + if(!%client.isSpamming && (%client.spamMessageCount >= $SPAM_MESSAGE_THRESHOLD)) + { + %client.spamProtectStart = getSimTime(); + %client.isSpamming = true; + %client.schedule($SPAM_PENALTY_PERIOD, spamReset); + } + + if(%client.isSpamming) + { + %wait = mFloor(($SPAM_PENALTY_PERIOD - (getSimTime() - %client.spamProtectStart)) / 1000); + messageClient(%client, "", $SPAM_MESSAGE, %wait); + return(true); + } + + %client.spamMessageCount++; + %client.schedule($SPAM_PROTECTION_PERIOD, spamMessageTimeout); + return(false); +} + + +//--------------------------------------------------------------------------- + +function chatMessageClient( %client, %sender, %voiceTag, %voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ) +{ + //see if the client has muted the sender + if ( !%client.muted[%sender] ) + commandToClient( %client, 'ChatMessage', %sender, %voiceTag, %voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); +} + +function chatMessageTeam( %sender, %team, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ) +{ + if ( ( %msgString $= "" ) || spamAlert( %sender ) ) + return; + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %obj = ClientGroup.getObject( %i ); + if ( %obj.team == %sender.team ) + chatMessageClient( %obj, %sender, %sender.voiceTag, %sender.voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); + } +} + +function chatMessageAll( %sender, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ) +{ + if ( ( %msgString $= "" ) || spamAlert( %sender ) ) + return; + %count = ClientGroup.getCount(); + for ( %i = 0; %i < %count; %i++ ) + { + %obj = ClientGroup.getObject( %i ); + if(%sender.team != 0) + chatMessageClient( %obj, %sender, %sender.voiceTag, %sender.voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); + else + { + // message sender is an observer -- only send message to other observers + if(%obj.team == %sender.team) + chatMessageClient( %obj, %sender, %sender.voiceTag, %sender.voicePitch, %msgString, %a1, %a2, %a3, %a4, %a5, %a6, %a7, %a8, %a9, %a10 ); + } + } +} + diff --git a/common/server/message.cs.dso b/common/server/message.cs.dso new file mode 100644 index 0000000..8322fa9 Binary files /dev/null and b/common/server/message.cs.dso differ diff --git a/common/server/missionDownload.cs.dso b/common/server/missionDownload.cs.dso new file mode 100644 index 0000000..5b990c9 Binary files /dev/null and b/common/server/missionDownload.cs.dso differ diff --git a/common/server/missionInfo.cs.dso b/common/server/missionInfo.cs.dso new file mode 100644 index 0000000..92bcee6 Binary files /dev/null and b/common/server/missionInfo.cs.dso differ diff --git a/common/server/missionLoad.cs.dso b/common/server/missionLoad.cs.dso new file mode 100644 index 0000000..583126d Binary files /dev/null and b/common/server/missionLoad.cs.dso differ diff --git a/common/server/missiondownload.cs b/common/server/missiondownload.cs new file mode 100644 index 0000000..e555af1 --- /dev/null +++ b/common/server/missiondownload.cs @@ -0,0 +1,119 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Mission Loading +// The server portion of the client/server mission loading process +//----------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- +// Loading Phases: +// Phase 1: Transmit Datablocks +// Transmit targets +// Phase 2: Transmit Ghost Objects +// Phase 3: Start Game +// +// The server invokes the client MissionStartPhase[1-3] function to request +// permission to start each phase. When a client is ready for a phase, +// it responds with MissionStartPhase[1-3]Ack. + +function GameConnection::loadMission(%this) +{ + // Send over the information that will display the server info + // when we learn it got there, we'll send the data blocks + %this.currentPhase = 0; + if (%this.isAIControlled()) + { + // Cut to the chase... + %this.onClientEnterGame(); + } + else + { + commandToClient(%this, 'MissionStartPhase1', $missionSequence, + $Server::MissionFile, MissionGroup.musicTrack); + echo("*** Sending mission load to client: " @ $Server::MissionFile); + } +} + +function serverCmdMissionStartPhase1Ack(%client, %seq) +{ + // Make sure to ignore calls from a previous mission load + if (%seq != $missionSequence || !$MissionRunning) + return; + if (%client.currentPhase != 0) + return; + %client.currentPhase = 1; + + // Start with the CRC + %client.setMissionCRC( $missionCRC ); + + // Send over the datablocks... + // OnDataBlocksDone will get called when have confirmation + // that they've all been received. + %client.transmitDataBlocks($missionSequence); +} + +function GameConnection::onDataBlocksDone( %this, %missionSequence ) +{ + // Make sure to ignore calls from a previous mission load + if (%missionSequence != $missionSequence) + return; + if (%this.currentPhase != 1) + return; + %this.currentPhase = 1.5; + + // On to the next phase + commandToClient(%this, 'MissionStartPhase2', $missionSequence, $Server::MissionFile); +} + +function serverCmdMissionStartPhase2Ack(%client, %seq) +{ + // Make sure to ignore calls from a previous mission load + if (%seq != $missionSequence || !$MissionRunning) + return; + if (%client.currentPhase != 1.5) + return; + %client.currentPhase = 2; + + // Update mod paths, this needs to get there before the objects. + %client.transmitPaths(); + + // Start ghosting objects to the client + %client.activateGhosting(); + +} + +function GameConnection::clientWantsGhostAlwaysRetry(%client) +{ + if($MissionRunning) + %client.activateGhosting(); +} + +function GameConnection::onGhostAlwaysFailed(%client) +{ + +} + +function GameConnection::onGhostAlwaysObjectsReceived(%client) +{ + // Ready for next phase. + commandToClient(%client, 'MissionStartPhase3', $missionSequence, $Server::MissionFile); +} + +function serverCmdMissionStartPhase3Ack(%client, %seq) +{ + // Make sure to ignore calls from a previous mission load + if(%seq != $missionSequence || !$MissionRunning) + return; + if(%client.currentPhase != 2) + return; + %client.currentPhase = 3; + + // Server is ready to drop into the game + %client.startMission(); + %client.onClientEnterGame(); +} diff --git a/common/server/missioninfo.cs b/common/server/missioninfo.cs new file mode 100644 index 0000000..8e460c9 --- /dev/null +++ b/common/server/missioninfo.cs @@ -0,0 +1,90 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +// Loading info is text displayed on the client side while the mission +// is being loaded. This information is extracted from the mission file +// and sent to each the client as it joins. +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// clearLoadInfo +// +// Clears the mission info stored +//------------------------------------------------------------------------------ +function clearLoadInfo() { + if (isObject(MissionInfo)) + MissionInfo.delete(); +} + +//------------------------------------------------------------------------------ +// buildLoadInfo +// +// Extract the map description from the .mis file +//------------------------------------------------------------------------------ +function buildLoadInfo( %mission ) { + clearLoadInfo(); + + %infoObject = ""; + %file = new FileObject(); + + if ( %file.openForRead( %mission ) ) { + %inInfoBlock = false; + + while ( !%file.isEOF() ) { + %line = %file.readLine(); + %line = trim( %line ); + + if( %line $= "new ScriptObject(MissionInfo) {" ) + %inInfoBlock = true; + else if( %inInfoBlock && %line $= "};" ) { + %inInfoBlock = false; + %infoObject = %infoObject @ %line; + break; + } + + if( %inInfoBlock ) + %infoObject = %infoObject @ %line @ " "; + } + + %file.close(); + } + + // Will create the object "MissionInfo" + eval( %infoObject ); + %file.delete(); +} + +//------------------------------------------------------------------------------ +// dumpLoadInfo +// +// Echo the mission information to the console +//------------------------------------------------------------------------------ +function dumpLoadInfo() +{ + echo( "Mission Name: " @ MissionInfo.name ); + echo( "Mission Description:" ); + + for( %i = 0; MissionInfo.desc[%i] !$= ""; %i++ ) + echo (" " @ MissionInfo.desc[%i]); +} + +//------------------------------------------------------------------------------ +// sendLoadInfoToClient +// +// Sends mission description to the client +//------------------------------------------------------------------------------ +function sendLoadInfoToClient( %client ) +{ + messageClient( %client, 'MsgLoadInfo', "", MissionInfo.name ); + + // Send Mission Description a line at a time + for( %i = 0; MissionInfo.desc[%i] !$= ""; %i++ ) + messageClient( %client, 'MsgLoadDescripition', "", MissionInfo.desc[%i] ); + + messageClient( %client, 'MsgLoadInfoDone' ); +} diff --git a/common/server/missionload.cs b/common/server/missionload.cs new file mode 100644 index 0000000..b22ad95 --- /dev/null +++ b/common/server/missionload.cs @@ -0,0 +1,150 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Server mission loading +//----------------------------------------------------------------------------- + +// On every mission load except the first, there is a pause after +// the initial mission info is downloaded to the client. +$MissionLoadPause = 5000; + +//----------------------------------------------------------------------------- + +function loadMission( %missionName, %isFirstMission ) +{ + endMission(); + echo("*** LOADING MISSION: " @ %missionName); + echo("*** Stage 1 load"); + + // Reset all of these + clearCenterPrintAll(); + clearBottomPrintAll(); + clearServerPaths(); + + // increment the mission sequence (used for ghost sequencing) + $missionSequence++; + $missionRunning = false; + $Server::MissionFile = %missionName; + + // Extract mission info from the mission file, + // including the display name and stuff to send + // to the client. + buildLoadInfo( %missionName ); + + // Download mission info to the clients + %count = ClientGroup.getCount(); + for( %cl = 0; %cl < %count; %cl++ ) { + %client = ClientGroup.getObject( %cl ); + if (!%client.isAIControlled()) + sendLoadInfoToClient(%client); + } + + // if this isn't the first mission, allow some time for the server + // to transmit information to the clients: + if( %isFirstMission || $Server::ServerType $= "SinglePlayer" ) + loadMissionStage2(); + else + schedule( $MissionLoadPause, ServerGroup, loadMissionStage2 ); +} + +//----------------------------------------------------------------------------- + +function loadMissionStage2() +{ + // Create the mission group off the ServerGroup + echo("*** Stage 2 load"); + $instantGroup = ServerGroup; + + // Make sure the mission exists + %file = $Server::MissionFile; + + if( !isFile( %file ) ) { + error( "Could not find mission " @ %file ); + return; + } + + // Calculate the mission CRC. The CRC is used by the clients + // to caching mission lighting. + $missionCRC = getFileCRC( %file ); + + // Exec the mission, objects are added to the ServerGroup + exec(%file); + + // If there was a problem with the load, let's try another mission + if( !isObject(MissionGroup) ) { + error( "No 'MissionGroup' found in mission \"" @ $missionName @ "\"." ); + schedule( 3000, ServerGroup, CycleMissions ); + return; + } + + // Mission cleanup group + new SimGroup( MissionCleanup ); + $instantGroup = MissionCleanup; + + // Construct MOD paths + pathOnMissionLoadDone(); + + // Mission loading done... + echo("*** Mission loaded"); + + // Start all the clients in the mission + $missionRunning = true; + for( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) + ClientGroup.getObject(%clientIndex).loadMission(); + + // Go ahead and launch the game + onMissionLoaded(); + purgeResources(); +} + + +//----------------------------------------------------------------------------- + +function endMission() +{ + if (!isObject( MissionGroup )) + return; + + echo("*** ENDING MISSION"); + + // Inform the game code we're done. + onMissionEnded(); + + // Inform the clients + for( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) { + // clear ghosts and paths from all clients + %cl = ClientGroup.getObject( %clientIndex ); + %cl.endMission(); + %cl.resetGhosting(); + %cl.clearPaths(); + } + + // Delete everything + MissionGroup.delete(); + MissionCleanup.delete(); + + $ServerGroup.delete(); + $ServerGroup = new SimGroup(ServerGroup); +} + + +//----------------------------------------------------------------------------- + +function resetMission() +{ + echo("*** MISSION RESET"); + + // Remove any temporary mission objects + MissionCleanup.delete(); + $instantGroup = ServerGroup; + new SimGroup( MissionCleanup ); + $instantGroup = MissionCleanup; + + // + onMissionReset(); +} diff --git a/common/server/prefs.cs b/common/server/prefs.cs new file mode 100644 index 0000000..bd7a846 --- /dev/null +++ b/common/server/prefs.cs @@ -0,0 +1,13 @@ +$Pref::Server::AdminPassword = ""; +$Pref::Server::BanTime = 1800; +$Pref::Server::ConnectionError = "ERROR"; +$Pref::Server::FloodProtectionEnabled = 1; +$Pref::Server::Info = "This is a Torque Game Engine Test Server."; +$Pref::Server::KickBanTime = 300; +$Pref::Server::MaxChatLen = 120; +$Pref::Server::MaxPlayers = 64; +$Pref::Server::Name = "Torque Test Server"; +$Pref::Server::Password = ""; +$Pref::Server::Port = 28000; +$Pref::Server::RegionMask = 2; +$Pref::Server::TimeLimit = 20; diff --git a/common/server/server.cs b/common/server/server.cs new file mode 100644 index 0000000..d031bf9 --- /dev/null +++ b/common/server/server.cs @@ -0,0 +1,146 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- + +function portInit(%port) +{ + %failCount = 0; + while(%failCount < 10 && !setNetPort(%port)) { + echo("Port init failed on port " @ %port @ " trying next port."); + %port++; %failCount++; + } +} + +function createServer(%serverType, %mission) +{ + if (%mission $= "") { + error("createServer: mission name unspecified"); + return; + } + + destroyServer(); + + // + $missionSequence = 0; + $Server::PlayerCount = 0; + $Server::ServerType = %serverType; + + // Setup for multi-player, the network must have been + // initialized before now. + if (%serverType $= "MultiPlayer") { + echo("Starting multiplayer mode"); + + // Make sure the network port is set to the correct pref. + portInit($Pref::Server::Port); + allowConnections(true); + + if ($pref::Net::DisplayOnMaster !$= "Never" ) + schedule(0,0,startHeartbeat); + } + + // Load the mission + $ServerGroup = new SimGroup(ServerGroup); + onServerCreated(); + loadMission(%mission, true); +} + + +//----------------------------------------------------------------------------- + +function destroyServer() +{ + $Server::ServerType = ""; + $missionRunning = false; + allowConnections(false); + stopHeartbeat(); + + // Clean up the game scripts + onServerDestroyed(); + + // Delete all the server objects + if (isObject(MissionGroup)) + MissionGroup.delete(); + if (isObject(MissionCleanup)) + MissionCleanup.delete(); + if (isObject($ServerGroup)) + $ServerGroup.delete(); + if (isObject(MissionInfo)) + MissionInfo.delete(); + + // Delete all the connections: + while (ClientGroup.getCount()) + { + %client = ClientGroup.getObject(0); + %client.delete(); + } + + $Server::GuidList = ""; + + // Delete all the data blocks... + deleteDataBlocks(); + + // Dump anything we're not using + purgeResources(); +} + + +//-------------------------------------------------------------------------- + +function resetServerDefaults() +{ + echo( "Resetting server defaults..." ); + + // Override server defaults with prefs: + exec( "~/defaults.cs" ); + exec( "~/prefs.cs" ); + + loadMission( $Server::MissionFile ); +} + + +//------------------------------------------------------------------------------ +// Guid list maintenance functions: +function addToServerGuidList( %guid ) +{ + %count = getFieldCount( $Server::GuidList ); + for ( %i = 0; %i < %count; %i++ ) + { + if ( getField( $Server::GuidList, %i ) == %guid ) + return; + } + + $Server::GuidList = $Server::GuidList $= "" ? %guid : $Server::GuidList TAB %guid; +} + +function removeFromServerGuidList( %guid ) +{ + %count = getFieldCount( $Server::GuidList ); + for ( %i = 0; %i < %count; %i++ ) + { + if ( getField( $Server::GuidList, %i ) == %guid ) + { + $Server::GuidList = removeField( $Server::GuidList, %i ); + return; + } + } + + // Huh, didn't find it. +} + + +//----------------------------------------------------------------------------- + +function onServerInfoQuery() +{ + // When the server is queried for information, the value + // of this function is returned as the status field of + // the query packet. This information is accessible as + // the ServerInfo::State variable. + return "Doing Ok"; +} + diff --git a/common/server/server.cs.dso b/common/server/server.cs.dso new file mode 100644 index 0000000..0ba027d Binary files /dev/null and b/common/server/server.cs.dso differ diff --git a/common/ui/ConsoleDlg.gui b/common/ui/ConsoleDlg.gui new file mode 100644 index 0000000..1f09912 --- /dev/null +++ b/common/ui/ConsoleDlg.gui @@ -0,0 +1,74 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ConsoleDlg) { + profile = "GuiDefaultProfile"; + + new GuiWindowCtrl() + { + profile = "GuiWindowProfile"; + position = "0 0"; + extent = "640 370"; + text = "Console"; + + new GuiScrollCtrl() + { + profile = "GuiScrollProfile"; + position = "0 0"; + extent = "640 350"; + hScrollBar = "alwaysOn"; + vScrollBar = "alwaysOn"; + horizSizing = "width"; + vertSizing = "height"; + + new GuiConsole("testArrayCtrl") + { + profile = "GuiConsoleProfile"; + position = "0 0"; + }; + }; + + new GuiConsoleEditCtrl("ConsoleEntry") + { + profile = "GuiTextEditProfile"; + position = "0 350"; + extent = "640 20"; + historySize = 20; + altCommand = "ConsoleEntry::eval();"; + horizSizing = "width"; + vertSizing = "top"; + }; + }; +}; +//--- OBJECT WRITE END --- + +$ConsoleActive = false; + +function ConsoleEntry::eval() +{ + %text = ConsoleEntry.getValue(); + echo("==>" @ %text); + eval(%text); + ConsoleEntry.setValue(""); +} + +function ToggleConsole(%make) +{ + if (%make) + { + if ($ConsoleActive) + { + if ( $enableDirectInput ) + activateKeyboard(); + Canvas.popDialog(ConsoleDlg); + $ConsoleActive = false; + } + else + { + if ( $enableDirectInput ) + deactivateKeyboard(); + Canvas.pushDialog(ConsoleDlg, 99); + $ConsoleActive = true; + } + } +} + + diff --git a/common/ui/ConsoleDlg.gui.dso b/common/ui/ConsoleDlg.gui.dso new file mode 100644 index 0000000..6f6a946 Binary files /dev/null and b/common/ui/ConsoleDlg.gui.dso differ diff --git a/common/ui/FrameOverlayGui.gui b/common/ui/FrameOverlayGui.gui new file mode 100644 index 0000000..db4270f --- /dev/null +++ b/common/ui/FrameOverlayGui.gui @@ -0,0 +1,29 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(FrameOverlayGui) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "false"; + helpTag = "0"; + noCursor = true; + + new GuiTextCtrl(TextOverlayControl) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 5"; + extent = "15 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "True"; + modal = "True"; + helpTag = "0"; + expression = "10"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/FrameOverlayGui.gui.dso b/common/ui/FrameOverlayGui.gui.dso new file mode 100644 index 0000000..4dde019 Binary files /dev/null and b/common/ui/FrameOverlayGui.gui.dso differ diff --git a/common/ui/GuiEditorGui.gui b/common/ui/GuiEditorGui.gui new file mode 100644 index 0000000..a6eddb3 --- /dev/null +++ b/common/ui/GuiEditorGui.gui @@ -0,0 +1,469 @@ +//---------------------------------------------------------------- + +new GuiControlProfile (BackFillProfile) +{ + opaque = true; + fillColor = "0 94 94"; + border = true; + borderColor = "255 128 128"; + fontType = "Arial"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; +}; + +new GuiControl(GuiEditorGui) { + profile = GuiDefaultProfile; + position = "0 0"; + extent = "800 600"; + helpPage = "3. Gui Editor"; + + new GuiControl() // background + { + profile = "BackFillProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + }; + new GuiControl(GuiEditorContent) + { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + }; + new GuiEditCtrl(GuiEditor) + { + profile = "GuiTextEditProfile"; // so it's tabable + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + }; + new GuiFrameSetCtrl() + { + position = "640 0"; + extent = "160 600"; + profile = "GuiButtonProfile"; + horizSizing = "width"; + vertSizing = "height"; + columns = "0"; + rows = "0 300"; + + //---------------------------------------- + // Tree View + new GuiScrollCtrl() + { + profile = "GuiScrollProfile"; + position = "0 0"; + extent = "160 300"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "alwaysOn"; + hScrollBar = "dynamic"; + + new GuiTreeViewCtrl(GuiEditorTreeView) + { + profile = "GuiTreeViewProfile"; + position = "0 0"; + horizSizing = "width"; + }; + }; + //---------------------------------------- + // Inspector + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "160 300"; + + new GuiButtonCtrl () { + profile = "GuiButtonSmProfile"; + position = "6, 16"; + extent = "40 16"; + font = "12 252 Arial"; + fontHL = "12 253 Arial"; + text = "APPLY"; + command = "GuiEditorInspectApply();"; + fillColor = "249"; + borderColor = "249"; + selectBorderColor = "255"; + }; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + position = "52 4"; + extent = "30 16"; + font = "12 244 Arial"; + text = "Name:"; + }; + + new GuiTextEditCtrl (GuiEditorInspectName) { + profile = "GuiTextEditProfile"; + position = "84 3"; + extent = "72 18"; + text = ""; + horizSizing = "width"; + vertSizing = "bottom"; + }; + + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + position = "0 24"; + extent = "160 276"; + horizSizing = "width"; + vertSizing = "height"; + vScrollBar = "alwaysOn"; + hScrollBar = "alwaysOff"; + + new GuiInspector (GuiEditorInspectFields) { + profile = "GuiDefaultProfile"; + position = "0 0"; + extent = "140 0"; + horizSizing = "width"; + vertSizing = "bottom"; + }; + }; + }; + }; + + //---------------------------------------- + // toolbar + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "0 480"; + extent = "640 120"; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "4 24"; + extent = "70 16"; + text = "Align Left"; + command = "GuiEditor.Justify(0);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "80 24"; + extent = "70 16"; + text = "Align Right"; + command = "GuiEditor.Justify(2);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "156 24"; + extent = "70 16"; + text = "Center Horiz"; + command = "GuiEditor.Justify(1);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "232 24"; + extent = "70 16"; + text = "Align Top"; + command = "GuiEditor.Justify(3);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "308 24"; + extent = "70 16"; + text = "Align Bottom"; + command = "GuiEditor.Justify(4);"; + }; + new GuiControlListPopup(GuiEditorClassPopup) + { + profile = "GuiEditorClassProfile"; + position = "382 24"; + extent = "180 16"; + }; + new GuiPopUpMenuCtrl(GuiEditorContentList) + { + profile = "GuiPopUpMenuProfile"; + position = "382 44"; + extent = "180 16"; + }; + new GuiButtonCtrl () { + profile = "GuiButtonSmProfile"; + position = "570 24"; + extent = "60 16"; + text = "New..."; + command = "GuiEditorStartCreate();"; + }; + new GuiButtonCtrl () { + profile = "GuiButtonSmProfile"; + position = "570 44"; + extent = "60 16"; + text = "Save"; + command = "GuiEditorSaveGui();"; + }; + new GuiButtonCtrl ("GuiEditorButtonToggle") { + profile = "GuiButtonSmProfile"; + position = "4 44"; + extent = "70 16"; + text = "Help"; + command = "getHelp(\"3. Gui Editor\");"; + }; + + new GuiButtonCtrl () { + profile = "GuiButtonSmProfile"; + position = "80 44"; + extent = "70 16"; + text = "Space Vert"; + command = "GuiEditor.Justify(5);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "156 44"; + extent = "70 16"; + text = "Space Horiz"; + command = "GuiEditor.Justify(6);"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "232 44"; + extent = "70 16"; + text = "Bring Front"; + command = "GuiEditor.BringToFront();"; + }; + + new GuiButtonCtrl() { + profile = "GuiButtonSmProfile"; + position = "308 44"; + extent = "70 16"; + text = "Send Back"; + command = "GuiEditor.PushToBack();"; + }; + }; +}; + + +//---------------------------------------- +new GuiControl(NewGuiDialog) +{ + profile = "GuiDialogProfile"; + position = "0 0"; + extent = "640 480"; + + new GuiWindowCtrl() + { + profile = "GuiWindowProfile"; + position = "220 146"; + extent = "200 188"; + text = "Create new GUI"; + canMove = "false"; + canClose = "false"; + canMinimize = "false"; + canMaximize = "false"; + horizSizing = "center"; + vertSizing = "center"; + + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 28"; + text = "GUI Name:"; + }; + new GuiTextEditCtrl(NewGuiDialogName) + { + profile = "GuiTextEditProfile"; + position = "20 44"; + extent = "160 20"; + }; + new GuiTextCtrl() + { + profile = "GuiTextProfile"; + position = "20 68"; + text = "Class:"; + }; + new GuiControlListPopup(NewGuiDialogClass) + { + profile = "GuiControlListPopupProfile"; + position = "20 84"; + extent = "160 20"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "56 156"; + extent = "40 16"; + text = "Create"; + command = "GuiEditorCreate();"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + position = "104 156"; + extent = "40 16"; + text = "Cancel"; + command = "Canvas.popDialog(NewGuiDialog);"; + }; + }; +}; + + +//---------------------------------------- +function GuiEditorStartCreate() +{ + NewGuiDialogClass.setText("GuiControl"); + NewGuiDialogClass.sort(); + NewGuiDialogName.setValue("NewGui"); + Canvas.pushDialog(NewGuiDialog); +} + +//---------------------------------------- +function GuiEditorCreate() +{ + %name = NewGuiDialogName.getValue(); + %class = NewGuiDialogClass.getText(); + Canvas.popDialog(NewGuiDialog); + %obj = eval("return new " @ %class @ "(" @ %name @ ");"); + GuiEditorOpen(%obj); +} + +//---------------------------------------- +function GuiEditorSaveGui() +{ + %obj = GuiEditorContent.getObject(0); + if(%obj == -1 || %obj.getName() $= "") + return; + %name = %obj.getName() @ ".gui"; + getSaveFilename("*.gui", "GuiEditorSaveGuiCallback", %name); +} + +function GuiEditorSaveGuiCallback(%name) +{ + %obj = GuiEditorContent.getObject(0); + + // make sure it is saved... + if(!%obj.save(%name)) + { + MessageBoxOK("GuiEditor Save Failure", "Failed to save '" @ %name @ "'. The file may be read-only."); + } +} + +//---------------------------------------- +function GuiEdit(%val) +{ + if(%val != 0 || !$testCheats) + return; + + %content = Canvas.getContent(); + + if(%content == GuiEditorGui.getId()) + { + //GlobalActionMap.bind(mouse, button1, mouselook); + + %obj = GuiEditorContent.getObject(0); + if(%obj != -1) + { + GuiGroup.add(%obj); + Canvas.setContent(%obj); + } + + GlobalActionMap.unbind( keyboard, "delete" ); + } + else + { + //GlobalActionMap.unbind(mouse, button1); + GuiEditorOpen(%content); + } +} + +//---------------------------------------- +function GuiEditorOpen(%content) +{ + Canvas.setContent(GuiEditorGui); + while((%obj = GuiEditorContent.getObject(0)) != -1) + GuiGroup.add(%obj); // get rid of anything being edited + + %i = 0; + GuiEditorContentList.clear(); + while((%obj = GuiGroup.getObject(%i)) != -1) + { + if(%obj.getName() !$= Canvas) + { + if(%obj.getName() $= "") + %name = "(unnamed) - " @ %obj; + else + %name = %obj.getName() @ " - " @ %obj; + + GuiEditorContentList.add(%name, %obj); + } + %i++; + } + GuiEditorContent.add(%content); + GuiEditorContentList.sort(); + GuiEditorClassPopup.sort(); + + if(%content.getName() $= "") + %name = "(unnamed) - " @ %content; + else + %name = %content.getName() @ " - " @ %content; + + GuiEditorContentList.setText(%name); + GuiEditorClassPopup.setText("New Control"); + GuiEditor.setRoot(%content); + %content.resize(0,0,640,480); + GuiEditorTreeView.open(%content); +} + +//---------------------------------------- +function GuiEditorContentList::onSelect(%this, %id) +{ + GuiEditorOpen(%id); +} + +//---------------------------------------- +function GuiEditorClassPopup::onSelect(%this, %id) +{ + %class = %this.getText(); + %obj = eval("return new " @ %class @ "();"); + GuiEditor.addNewCtrl(%obj); + GuiEditorClassPopup.setText("New Control"); +} + +//---------------------------------------- +function GuiEditorTreeView::onSelect(%this, %obj, %rightMouse) +{ + if(%rightMouse) + GuiEditor.setCurrentAddSet(%obj); + else + { + GuiEditorInspectFields.inspect(%obj); + GuiEditorInspectName.setValue(%obj.getName()); + GuiEditor.select(%obj); + } +} + +//---------------------------------------- +function GuiEditorInspectApply() +{ + GuiEditorInspectFields.apply(GuiEditorInspectName.getValue()); +} + +//---------------------------------------- +function GuiEditor::onSelect(%this, %ctrl) +{ + + GuiEditorInspectFields.inspect(%ctrl); + GuiEditorInspectName.setValue(%ctrl.getName()); + GuiEditor.select(%ctrl); +} + +//---------------------------------------- +function GuiEditorDeleteSelected( %val ) { + if( %val ) + GuiEditor.deleteSelection(); +} + +GlobalActionMap.bind(keyboard, "f10", GuiEdit); diff --git a/common/ui/GuiEditorGui.gui.dso b/common/ui/GuiEditorGui.gui.dso new file mode 100644 index 0000000..01d5648 Binary files /dev/null and b/common/ui/GuiEditorGui.gui.dso differ diff --git a/common/ui/HelpDlg.gui b/common/ui/HelpDlg.gui new file mode 100644 index 0000000..858bc50 --- /dev/null +++ b/common/ui/HelpDlg.gui @@ -0,0 +1,110 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(HelpDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "93 28"; + extent = "495 438"; + minExtent = "300 200"; + visible = "1"; + helpTag = "0"; + bitmap = "marble/client/ui/helpGui"; + wrap = "0"; + text = "Help"; + canMove = "1"; + minSize = "50 50"; + maxLength = "255"; + canClose = "1"; + resizeWidth = "1"; + canMinimize = "1"; + resizeHeight = "1"; + canMaximize = "1"; + + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "height"; + position = "52 91"; + extent = "132 229"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiTextListCtrl(HelpFileList) { + profile = "GuiTextListProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 2"; + extent = "128 176"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "192 91"; + extent = "268 314"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiMLTextCtrl(HelpText) { + profile = "GuiMLTextProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "2 2"; + extent = "250 760"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "93 352"; + extent = "47 41"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "marble/client/ui/ok"; + command = "Canvas.popDialog(HelpDlg);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/HelpDlg.gui.dso b/common/ui/HelpDlg.gui.dso new file mode 100644 index 0000000..623b59e Binary files /dev/null and b/common/ui/HelpDlg.gui.dso differ diff --git a/common/ui/InspectAddFieldDlg.gui b/common/ui/InspectAddFieldDlg.gui new file mode 100644 index 0000000..58721b1 --- /dev/null +++ b/common/ui/InspectAddFieldDlg.gui @@ -0,0 +1,103 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(InspectAddFieldDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "209 177"; + extent = "221 125"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Add dynamic field..."; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(InspectAddFieldDlg);"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "22 32"; + extent = "30 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Name:"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "21 58"; + extent = "31 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Value:"; + }; + new GuiTextEditCtrl(InspectAddFieldValue) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "62 58"; + extent = "146 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + }; + new GuiTextEditCtrl(InspectAddFieldName) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "62 32"; + extent = "146 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + historySize = "0"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "25 88"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "OK"; + command = "canvas.popDialog(InspectAddFieldDlg);InspectAddFieldDlg.doAction();"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "125 88"; + extent = "73 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "CANCEL"; + command = "canvas.popDialog(InspectAddFieldDlg);"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/InspectAddFieldDlg.gui.dso b/common/ui/InspectAddFieldDlg.gui.dso new file mode 100644 index 0000000..3efccee Binary files /dev/null and b/common/ui/InspectAddFieldDlg.gui.dso differ diff --git a/common/ui/InspectDlg.gui b/common/ui/InspectDlg.gui new file mode 100644 index 0000000..7d1a056 --- /dev/null +++ b/common/ui/InspectDlg.gui @@ -0,0 +1,234 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(InspectDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "False"; + helpTag = "0"; + + new GuiWindowCtrl(InspectTitle) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "20 20"; + extent = "200 400"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(InspectDlg);"; + font = "12 244 Arial"; + selectfillColor = "253"; + fillColor = "250"; + opaque = "true"; + + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 24"; + extent = "40 16"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + command = "InspectApply();"; + helpTag = "0"; + text = "APPLY"; + selectBorderColor = "255"; + borderColor = "249"; + fillColor = "249"; + fontHL = "12 253 Arial"; + font = "12 252 Arial"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "56 24"; + extent = "29 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "Name:"; + font = "12 244 Arial"; + }; + new GuiTextEditCtrl(InspectObjectName) { + profile = "GuiTextEditProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "98 23"; + extent = "72 18"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + historySize = "0"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "8 44"; + extent = "184 348"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiInspector(InspectFields) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "184 8"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + }; + }; + }; + new GuiWindowCtrl(InspectTreeTitle) { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "232 20"; + extent = "200 400"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + text = "TREE VIEW"; + resizeWidth = "True"; + resizeHeight = "True"; + canMove = "True"; + canClose = "True"; + canMinimize = "True"; + canMaximize = "True"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(InspectDlg);"; + + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "8 24"; + extent = "184 368"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + willFirstRespond = "True"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "False"; + + new GuiTreeViewCtrl(InspectTreeView) { + profile = "GuiTreeViewProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "True"; + setFirstResponder = "False"; + modal = "True"; + helpTag = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +exec("./InspectAddFieldDlg.gui"); + +function Inspect(%obj) +{ + Canvas.popDialog("InspectDlg"); + Canvas.pushDialog("InspectDlg", 30); + + InspectFields.inspect(%obj); + InspectObjectName.setValue(%obj.getName()); + InspectTitle.setValue(%obj.getId() @ ": " @ %obj.getName()); +} + +function InspectApply() +{ + InspectFields.apply(InspectObjectName.getValue()); +} + +function InspectTreeView::onSelect(%this, %obj) +{ + Inspect(%obj); +} + +function Tree(%obj) +{ + Canvas.popDialog("InspectDlg"); + Canvas.pushDialog("InspectDlg", 20); + InspectTreeView.open(%obj); +} + +// MM: Added Dynamic group toggle support. +function GuiInspector::toggleDynamicGroupScript(%this, %obj) +{ + %this.toggleDynamicGroupExpand(); + %this.inspect(%obj); +} +// MM: Added group toggle support. +function GuiInspector::toggleGroupScript(%this, %obj, %fieldName) +{ + %this.toggleGroupExpand(%obj, %fieldName); + %this.inspect(%obj); +} + +// MM: Set All Group State support. +function GuiInspector::setAllGroupStateScript(%this, %obj, %groupState) +{ + %this.setAllGroupState(%groupState); + %this.inspect(%obj); +} + +function GuiInspector::addDynamicField(%this, %obj) +{ + InspectAddFieldDlg.object = %obj; + InspectAddFieldDlg.inspector = %this; + InspectAddFieldName.setValue(""); + InspectAddFieldValue.setValue(""); + Canvas.pushDialog(InspectAddFieldDlg, 99); +} + +function InspectAddFieldDlg::doAction(%this) +{ + if(InspectAddFieldName.getValue() $= "" || InspectAddFieldValue.getValue() $= "") + return; + eval(%this.object @ "." @ firstWord(InspectAddFieldName.getValue()) @ " = " @ InspectAddFieldValue.getValue() @ ";"); + %this.inspector.inspect(%this.object); +} + + diff --git a/common/ui/InspectDlg.gui.dso b/common/ui/InspectDlg.gui.dso new file mode 100644 index 0000000..a38a2bb Binary files /dev/null and b/common/ui/InspectDlg.gui.dso differ diff --git a/common/ui/LoadFileDlg.gui b/common/ui/LoadFileDlg.gui new file mode 100644 index 0000000..935d379 --- /dev/null +++ b/common/ui/LoadFileDlg.gui @@ -0,0 +1,119 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(LoadFileDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "137 78"; + extent = "378 326"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Load File..."; + maxLength = "255"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(LoadFileDlg);"; + + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 26"; + extent = "282 289"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new GuiTextListCtrl(loadFileList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "161 8"; + minExtent = "8 8"; + visible = "1"; + altCommand = "eval($loadFileCommand); Canvas.popDialog(LoadFileDlg);"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "303 268"; + extent = "60 20"; + minExtent = "8 8"; + visible = "1"; + command = "eval($loadFileCommand); Canvas.popDialog(LoadFileDlg);"; + helpTag = "0"; + text = "Load"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "303 294"; + extent = "60 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(LoadFileDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +function fillFileList(%filespec, %ctrl) +{ + %ctrl.clear(); + %i = 0; + %f = 0; + for(%fld = getField(%filespec, 0); %fld !$= ""; %fld = getField(%filespec, %f++)) + { + for(%file = findFirstFile(%fld); %file !$= ""; %file = findNextFile(%fld)) + if (getSubStr(%file, 0, 4) !$= "CVS/") + %ctrl.addRow(%i++, %file); + } + %ctrl.sort(0); +} + +//------------------------------------------------------------------------------ +// ex: getLoadFilename("stuff\*.*", loadStuff); +// -- calls 'loadStuff(%filename)' on dblclick or ok +//------------------------------------------------------------------------------ +function getLoadFilename(%filespec, %callback) +{ + $loadFileCommand = "if(loadFileList.getSelectedId() >= 0)" @ %callback @ "(loadFileList.getValue());"; + Canvas.pushDialog(LoadFileDlg, 99); + fillFileList(%filespec, loadFileList); +} + diff --git a/common/ui/LoadFileDlg.gui.dso b/common/ui/LoadFileDlg.gui.dso new file mode 100644 index 0000000..f77abe3 Binary files /dev/null and b/common/ui/LoadFileDlg.gui.dso differ diff --git a/common/ui/MessageBoxOKCancelDlg.gui b/common/ui/MessageBoxOKCancelDlg.gui new file mode 100644 index 0000000..0043a5a --- /dev/null +++ b/common/ui/MessageBoxOKCancelDlg.gui @@ -0,0 +1,73 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageBoxOKCancelDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl(MBOKCancelFrame) { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 175"; + extent = "300 129"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + + new GuiMLTextCtrl(MBOKCancelText) { + profile = "GuiTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 39"; + extent = "236 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "158 88"; + extent = "110 23"; + minExtent = "8 8"; + visible = "1"; + command = "MessageCallback(MessageBoxOKCancelDlg,MessageBoxOKCancelDlg.callback);"; + accelerator = "return"; + helpTag = "0"; + text = "OK"; + simpleStyle = "0"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "30 88"; + extent = "110 23"; + minExtent = "8 8"; + visible = "1"; + command = "MessageCallback(MessageBoxOKCancelDlg,MessageBoxOKCancelDlg.cancelCallback);"; + accelerator = "escape"; + helpTag = "0"; + text = "CANCEL"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/MessageBoxOKCancelDlg.gui.dso b/common/ui/MessageBoxOKCancelDlg.gui.dso new file mode 100644 index 0000000..e0d04a9 Binary files /dev/null and b/common/ui/MessageBoxOKCancelDlg.gui.dso differ diff --git a/common/ui/MessageBoxOkDlg.gui b/common/ui/MessageBoxOkDlg.gui new file mode 100644 index 0000000..c53b5ba --- /dev/null +++ b/common/ui/MessageBoxOkDlg.gui @@ -0,0 +1,77 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageBoxOKDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(MBOKFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 159"; + extent = "300 161"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + bitmap = "./dialog.png"; + wrap = "0"; + resizeHeight = "1"; + canMaximize = "0"; + canMove = "1"; + minSize = "50 50"; + canClose = "0"; + maxLength = "255"; + resizeWidth = "1"; + canMinimize = "0"; + + new GuiMLTextCtrl(MBOKTitle) { + profile = "GuiComic24Profile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "43 15"; + extent = "213 23"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "117 85"; + extent = "78 59"; + minExtent = "8 8"; + visible = "1"; + command = "MessageCallback(MessageBoxOKDlg,MessageBoxOKDlg.callback);"; + accelerator = "return"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./ok"; + simpleStyle = "0"; + }; + new GuiMLTextCtrl(MBOKText) { + profile = "GuiTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 50"; + extent = "236 14"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/MessageBoxOkDlg.gui.dso b/common/ui/MessageBoxOkDlg.gui.dso new file mode 100644 index 0000000..5b77b03 Binary files /dev/null and b/common/ui/MessageBoxOkDlg.gui.dso differ diff --git a/common/ui/MessageBoxYesNoDlg.gui b/common/ui/MessageBoxYesNoDlg.gui new file mode 100644 index 0000000..8af5230 --- /dev/null +++ b/common/ui/MessageBoxYesNoDlg.gui @@ -0,0 +1,73 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageBoxYesNoDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(MBYesNoFrame) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "187 156"; + extent = "265 167"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + bitmap = "./dialog.png"; + wrap = "0"; + + new GuiMLTextCtrl(MBYesNoText) { + profile = "GuiComic24Profile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "33 46"; + extent = "198 23"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "44 94"; + extent = "82 47"; + minExtent = "8 8"; + visible = "1"; + command = "MessageCallback(MessageBoxYesNoDlg,MessageBoxYesNoDlg.yesCallback);"; + accelerator = "return"; + helpTag = "0"; + text = "YES"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./yes"; + simpleStyle = "0"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "151 94"; + extent = "75 47"; + minExtent = "8 8"; + visible = "1"; + command = "MessageCallback(MessageBoxYesNoDlg,MessageBoxYesNoDlg.noCallback);"; + accelerator = "escape"; + helpTag = "0"; + text = "NO"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./no"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/MessageBoxYesNoDlg.gui.dso b/common/ui/MessageBoxYesNoDlg.gui.dso new file mode 100644 index 0000000..0de07be Binary files /dev/null and b/common/ui/MessageBoxYesNoDlg.gui.dso differ diff --git a/common/ui/MessagePopupDlg.gui b/common/ui/MessagePopupDlg.gui new file mode 100644 index 0000000..a4fa4fb --- /dev/null +++ b/common/ui/MessagePopupDlg.gui @@ -0,0 +1,45 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessagePopupDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl(MessagePopFrame) { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 175"; + extent = "300 92"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "0"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + + new GuiMLTextCtrl(MessagePopText) { + profile = "GuiTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "32 39"; + extent = "236 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/common/ui/MessagePopupDlg.gui.dso b/common/ui/MessagePopupDlg.gui.dso new file mode 100644 index 0000000..51f714c Binary files /dev/null and b/common/ui/MessagePopupDlg.gui.dso differ diff --git a/common/ui/SaveFileDlg.gui b/common/ui/SaveFileDlg.gui new file mode 100644 index 0000000..ea5675f --- /dev/null +++ b/common/ui/SaveFileDlg.gui @@ -0,0 +1,211 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(SaveFileDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "131 77"; + extent = "378 326"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Save File..."; + maxLength = "255"; + resizeWidth = "1"; + resizeHeight = "1"; + canMove = "1"; + canClose = "1"; + canMinimize = "1"; + canMaximize = "1"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(SaveFileDlg);"; + + new GuiPopUpMenuCtrl(SA_directoryList) { + profile = "GuiPopUpMenuProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "68 23"; + extent = "226 19"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + maxPopupHeight = "200"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 46"; + extent = "285 248"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new GuiTextListCtrl(SA_fileList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "267 144"; + minExtent = "8 8"; + visible = "1"; + altCommand = "doSACallback();"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "303 268"; + extent = "60 20"; + minExtent = "8 8"; + visible = "1"; + command = "doSACallback();"; + helpTag = "0"; + text = "Save"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "303 294"; + extent = "60 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(SaveFileDlg);"; + helpTag = "0"; + text = "Cancel"; + }; + new GuiTextEditCtrl(SA_nameEdit) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 299"; + extent = "286 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 21"; + extent = "55 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Directory"; + maxLength = "255"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +//------------------------------------------------------------------------------ +// ex: getSaveFilename("~/stuff/*.*", saveStuff); +// -- calls 'saveStuff(%filename)' on dblclick or ok +//------------------------------------------------------------------------------ +function getSaveFilename(%filespec, %callback, %currentFile) +{ + $SA_callback = %callback; + $SA_filespec = %filespec; + + %hasPath = (filePath(%currentFile) $= "") ? false : true; + Canvas.pushDialog(SaveFileDlg, 99); + + // Fill the Directory Drop Down + %i = 0; + %unique = 0; + SA_directoryList.clear(); + for(%file = findFirstFile("*"); %file !$= ""; %file = findNextFile("*")) + if (strstr(%file, "/CVS/") == -1) + { + %path = filePath(%file); + if (!%unique[%path]) + { + %i++; + %unique[%path] = %i; + SA_directoryList.add(%path, %i); + if (!%hasPath) + { + if (isFile(%path @ "/" @ %currentFile)) + { + %currentFile = %path @ "/" @ %currentFile; + %hasPath = true; + } + } + } + } + SA_directoryList.sort(); + + // select the directory represented by current file + if ( %unique[filePath(%currentFile)] ) + SA_directoryList.setSelected( %unique[filePath(%currentFile)] ); + else + SA_directoryList.setSelected( 1 ); + + SA_nameEdit.setValue(fileName(%currentFile)); +} + + +//-------------------------------------- +function doSACallback() +{ + if (SA_nameEdit.getValue() !$= "" && SA_directoryList.getValue() !$= "") + { + %file = SA_directoryList.getValue() @ "/" @ SA_nameEdit.getValue(); + eval( $SA_callback @ "(\"" @ %file @"\");" ); + } + Canvas.popDialog(SaveFileDlg); +} + + +//-------------------------------------- +function SA_directoryList::onSelect(%this, %id) +{ + // when a directory is selected put it's files in the file list + SA_fileList.clear(); + %filespec = %this.getTextById(%id) @ "/" @ $SA_filespec; + for(%file = findFirstFile(%filespec); %file !$= ""; %file = findNextFile(%filespec)) + if (strStr(%file, "/CVS/") == -1) + SA_fileList.addRow(%i++, fileName(%file)); + SA_fileList.sort(0); +} + + +//-------------------------------------- +function SA_filelist::onSelect(%this, %id) +{ + // when a file is selected change the current filename + SA_nameEdit.setValue(%this.getRowTextById(%id)); +} + diff --git a/common/ui/SaveFileDlg.gui.dso b/common/ui/SaveFileDlg.gui.dso new file mode 100644 index 0000000..fffaa4c Binary files /dev/null and b/common/ui/SaveFileDlg.gui.dso differ diff --git a/common/ui/cache/Arial 14 (ansi).uft b/common/ui/cache/Arial 14 (ansi).uft new file mode 100644 index 0000000..acbfd09 Binary files /dev/null and b/common/ui/cache/Arial 14 (ansi).uft differ diff --git a/common/ui/cache/Arial_10.gft b/common/ui/cache/Arial_10.gft new file mode 100644 index 0000000..31fbe7c Binary files /dev/null and b/common/ui/cache/Arial_10.gft differ diff --git a/common/ui/cache/Arial_32.gft b/common/ui/cache/Arial_32.gft new file mode 100644 index 0000000..4c25233 Binary files /dev/null and b/common/ui/cache/Arial_32.gft differ diff --git a/common/ui/cache/Arial_36.gft b/common/ui/cache/Arial_36.gft new file mode 100644 index 0000000..fe8e5d6 Binary files /dev/null and b/common/ui/cache/Arial_36.gft differ diff --git a/common/ui/cache/Arial_50.gft b/common/ui/cache/Arial_50.gft new file mode 100644 index 0000000..9ef3af6 Binary files /dev/null and b/common/ui/cache/Arial_50.gft differ diff --git a/common/ui/cache/Comic Sans MS Bold_24.gft b/common/ui/cache/Comic Sans MS Bold_24.gft new file mode 100644 index 0000000..a69cff0 Binary files /dev/null and b/common/ui/cache/Comic Sans MS Bold_24.gft differ diff --git a/common/ui/cache/DomCasualD 32 (ansi).uft b/common/ui/cache/DomCasualD 32 (ansi).uft new file mode 100644 index 0000000..dd4ace1 Binary files /dev/null and b/common/ui/cache/DomCasualD 32 (ansi).uft differ diff --git a/common/ui/cache/DomCasualD_12.gft b/common/ui/cache/DomCasualD_12.gft new file mode 100644 index 0000000..4c0fc2d Binary files /dev/null and b/common/ui/cache/DomCasualD_12.gft differ diff --git a/common/ui/cache/Expo 50 (ansi).uft b/common/ui/cache/Expo 50 (ansi).uft new file mode 100644 index 0000000..1cd2b2f Binary files /dev/null and b/common/ui/cache/Expo 50 (ansi).uft differ diff --git a/common/ui/cache/arial bold_14.gft b/common/ui/cache/arial bold_14.gft new file mode 100644 index 0000000..fa216c4 Binary files /dev/null and b/common/ui/cache/arial bold_14.gft differ diff --git a/common/ui/cache/arial italic_14.gft b/common/ui/cache/arial italic_14.gft new file mode 100644 index 0000000..22fcbee Binary files /dev/null and b/common/ui/cache/arial italic_14.gft differ diff --git a/common/ui/cache/arial_12.gft b/common/ui/cache/arial_12.gft new file mode 100644 index 0000000..a720eef Binary files /dev/null and b/common/ui/cache/arial_12.gft differ diff --git a/common/ui/cache/arial_13.gft b/common/ui/cache/arial_13.gft new file mode 100644 index 0000000..8b1758f Binary files /dev/null and b/common/ui/cache/arial_13.gft differ diff --git a/common/ui/cache/arial_14.gft b/common/ui/cache/arial_14.gft new file mode 100644 index 0000000..0907ab6 Binary files /dev/null and b/common/ui/cache/arial_14.gft differ diff --git a/common/ui/cache/arial_16.gft b/common/ui/cache/arial_16.gft new file mode 100644 index 0000000..ce21cee Binary files /dev/null and b/common/ui/cache/arial_16.gft differ diff --git a/common/ui/cache/arial_24.gft b/common/ui/cache/arial_24.gft new file mode 100644 index 0000000..1f5b2aa Binary files /dev/null and b/common/ui/cache/arial_24.gft differ diff --git a/common/ui/cache/domcasuald_24.gft b/common/ui/cache/domcasuald_24.gft new file mode 100644 index 0000000..bfa8861 Binary files /dev/null and b/common/ui/cache/domcasuald_24.gft differ diff --git a/common/ui/cache/domcasuald_32.gft b/common/ui/cache/domcasuald_32.gft new file mode 100644 index 0000000..9b67e97 Binary files /dev/null and b/common/ui/cache/domcasuald_32.gft differ diff --git a/common/ui/cache/expo_32.gft b/common/ui/cache/expo_32.gft new file mode 100644 index 0000000..d5ed3c7 Binary files /dev/null and b/common/ui/cache/expo_32.gft differ diff --git a/common/ui/cache/expo_50.gft b/common/ui/cache/expo_50.gft new file mode 100644 index 0000000..0c48da5 Binary files /dev/null and b/common/ui/cache/expo_50.gft differ diff --git a/common/ui/cache/lucida console_12.gft b/common/ui/cache/lucida console_12.gft new file mode 100644 index 0000000..0d0a9ac Binary files /dev/null and b/common/ui/cache/lucida console_12.gft differ diff --git a/common/ui/cur_3darrow.png b/common/ui/cur_3darrow.png new file mode 100644 index 0000000..ee03cd4 Binary files /dev/null and b/common/ui/cur_3darrow.png differ diff --git a/common/ui/darkborder.png b/common/ui/darkborder.png new file mode 100644 index 0000000..5d5c38a Binary files /dev/null and b/common/ui/darkborder.png differ diff --git a/common/ui/darkscroll.png b/common/ui/darkscroll.png new file mode 100644 index 0000000..221845c Binary files /dev/null and b/common/ui/darkscroll.png differ diff --git a/common/ui/darkwindow.png b/common/ui/darkwindow.png new file mode 100644 index 0000000..f5d662a Binary files /dev/null and b/common/ui/darkwindow.png differ diff --git a/common/ui/defaultProfiles.cs.dso b/common/ui/defaultProfiles.cs.dso new file mode 100644 index 0000000..94890df Binary files /dev/null and b/common/ui/defaultProfiles.cs.dso differ diff --git a/common/ui/defaultprofiles.cs b/common/ui/defaultprofiles.cs new file mode 100644 index 0000000..137c821 --- /dev/null +++ b/common/ui/defaultprofiles.cs @@ -0,0 +1,470 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//-------------------------------------------------------------------------- + +$Gui::fontCacheDirectory = expandFilename("./cache"); +$Gui::clipboardFile = expandFilename("./cache/clipboard.gui"); + +// GuiDefaultProfile is a special case, all other profiles are initialized +// to the contents of this profile first then the profile specific +// overrides are assigned. + +if(!isObject(GuiDefaultProfile)) new GuiControlProfile (GuiDefaultProfile) +{ + tab = false; + canKeyFocus = false; + hasBitmapArray = false; + mouseOverSelected = false; + + // fill color + opaque = false; + fillColor = ($platform $= "macos") ? "211 211 211" : "192 192 192"; + fillColorHL = ($platform $= "macos") ? "244 244 244" : "220 220 220"; + fillColorNA = ($platform $= "macos") ? "244 244 244" : "220 220 220"; + + // border color + border = false; + borderColor = "0 0 0"; + borderColorHL = "128 128 128"; + borderColorNA = "64 64 64"; + + // font + fontType = "Arial"; + fontSize = 14; + + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fontColorNA = "0 0 0"; + fontColorSEL= "200 200 200"; + + // bitmap information + bitmap = ($platform $= "macos") ? "./osxWindow" : "./darkWindow"; + bitmapBase = ""; + textOffset = "0 0"; + + // used by guiTextControl + modal = true; + justify = "left"; + autoSizeWidth = false; + autoSizeHeight = false; + returnTab = false; + numbersOnly = false; + cursorColor = "0 0 0 255"; + + // sounds + soundButtonDown = ""; + soundButtonOver = ""; +}; + + +if(!isObject(GuiComic18Profile)) new GuiControlProfile ( GuiComic18Profile ) +{ + fontType = "Comic Sans MS Bold"; + fontSize = 18; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + + +if(!isObject(GuiComic24Profile)) new GuiControlProfile ( GuiComic24Profile ) +{ + fontType = "Comic Sans MS Bold"; + fontSize = 24; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + + +if(!isObject(GuiComic36Profile)) new GuiControlProfile ( GuiComic36Profile ) +{ + fontType = "Comic Sans MS Bold"; + fontSize = 36; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + + +if(!isObject(GuiInputCtrlProfile)) new GuiControlProfile( GuiInputCtrlProfile ) +{ + tab = true; + canKeyFocus = true; +}; + +if(!isObject(GuiDialogProfile)) new GuiControlProfile(GuiDialogProfile); + + +if(!isObject(GuiSolidDefaultProfile)) new GuiControlProfile (GuiSolidDefaultProfile) +{ + opaque = true; + border = true; +}; + +if(!isObject(GuiWindowProfile)) new GuiControlProfile (GuiWindowProfile) +{ + opaque = true; + border = 2; + fillColor = ($platform $= "macos") ? "211 211 211" : "192 192 192"; + fillColorHL = ($platform $= "macos") ? "190 255 255" : "64 150 150"; + fillColorNA = ($platform $= "macos") ? "255 255 255" : "150 150 150"; + fontColor = ($platform $= "macos") ? "0 0 0" : "255 255 255"; + fontColorHL = ($platform $= "macos") ? "200 200 200" : "0 0 0"; + text = "GuiWindowCtrl test"; + bitmap = ($platform $= "macos") ? "./osxWindow" : "./darkWindow"; + textOffset = ($platform $= "macos") ? "5 5" : "6 6"; + hasBitmapArray = true; + justify = ($platform $= "macos") ? "center" : "left"; +}; + +if(!isObject(GuiToolWindowProfile)) new GuiControlProfile (GuiToolWindowProfile) +{ + opaque = true; + border = 2; + fillColor = "192 192 192"; + fillColorHL = "64 150 150"; + fillColorNA = "150 150 150"; + fontColor = "255 255 255"; + fontColorHL = "0 0 0"; + bitmap = "./torqueToolWindow"; + textOffset = "6 6"; +}; + +if(!isObject(EditorToolButtonProfile)) new GuiControlProfile (EditorToolButtonProfile) +{ + opaque = true; + border = 2; +}; + +if(!isObject(GuiContentProfile)) new GuiControlProfile (GuiContentProfile) +{ + opaque = true; + fillColor = "255 255 255"; +}; + +if(!isObject(GuiModelessDialogProfile)) new GuiControlProfile("GuiModelessDialogProfile") +{ + modal = false; +}; + +if(!isObject(GuiButtonProfile)) new GuiControlProfile (GuiButtonProfile) +{ + opaque = true; + border = true; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; + canKeyFocus = false; +}; + +if(!isObject(GuiBorderButtonProfile)) new GuiControlProfile (GuiBorderButtonProfile) +{ + fontColorHL = "0 0 0"; +}; + +if(!isObject(GuiMenuBarProfile)) new GuiControlProfile (GuiMenuBarProfile) +{ + opaque = true; + fillColorHL = "0 0 96"; + border = 4; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + fixedExtent = true; + justify = "center"; + canKeyFocus = false; + mouseOverSelected = true; + bitmap = ($platform $= "macos") ? "./osxMenu" : "./torqueMenu"; + hasBitmapArray = true; +}; + +if(!isObject(GuiButtonSmProfile)) new GuiControlProfile (GuiButtonSmProfile : GuiButtonProfile) +{ + fontSize = 14; +}; + +if(!isObject(GuiRadioProfile)) new GuiControlProfile (GuiRadioProfile) +{ + fontSize = 14; + fillColor = "232 232 232"; + fontColorHL = "32 100 100"; + fixedExtent = true; + bitmap = ($platform $= "macos") ? "./osxRadio" : "./torqueRadio"; + hasBitmapArray = true; +}; + +if(!isObject(GuiScrollProfile)) new GuiControlProfile (GuiScrollProfile) +{ + opaque = true; + fillColor = "255 255 255"; + border = 3; + borderThickness = 2; + borderColor = "0 0 0"; + bitmap = ($platform $= "macos") ? "./osxScroll" : "./darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiSliderProfile)) new GuiControlProfile (GuiSliderProfile); + +if(!isObject(GuiTextProfile)) new GuiControlProfile (GuiTextProfile) +{ + fontColor = "0 0 0"; + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(EditorTextProfile)) new GuiControlProfile (EditorTextProfile) +{ + fontType = "Arial Bold"; + fontColor = "0 0 0"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(EditorTextProfileWhite)) new GuiControlProfile (EditorTextProfileWhite) +{ + fontType = "Arial Bold"; + fontColor = "255 255 255"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + +if(!isObject(GuiMediumTextProfile)) new GuiControlProfile (GuiMediumTextProfile : GuiTextProfile) +{ + fontSize = 24; +}; + +if(!isObject(GuiBigTextProfile)) new GuiControlProfile (GuiBigTextProfile : GuiTextProfile) +{ + fontSize = 36; +}; + +if(!isObject(GuiCenterTextProfile)) new GuiControlProfile (GuiCenterTextProfile : GuiTextProfile) +{ + justify = "center"; +}; + +if(!isObject(MissionEditorProfile)) new GuiControlProfile (MissionEditorProfile) +{ + canKeyFocus = true; +}; + +if(!isObject(EditorScrollProfile)) new GuiControlProfile (EditorScrollProfile) +{ + opaque = true; + fillColor = "192 192 192 192"; + border = 3; + borderThickness = 2; + borderColor = "0 0 0"; + bitmap = "./darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiTextEditProfile)) new GuiControlProfile (GuiTextEditProfile) +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = 3; + borderThickness = 2; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +if(!isObject(GuiControlListPopupProfile)) new GuiControlProfile (GuiControlListPopupProfile) +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = true; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; + bitmap = ($platform $= "macos") ? "./osxScroll" : "./darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiTextArrayProfile)) new GuiControlProfile (GuiTextArrayProfile : GuiTextProfile) +{ + fontColorHL = "32 100 100"; + fillColorHL = "200 200 200"; +}; + +if(!isObject(GuiTextListProfile)) new GuiControlProfile (GuiTextListProfile : GuiTextProfile) ; + +if(!isObject(GuiTreeViewProfile)) new GuiControlProfile (GuiTreeViewProfile) +{ + fontSize = 13; // dhc - trying a better fit... + fontColor = "0 0 0"; + fontColorHL = "64 150 150"; +}; + +if(!isObject(GuiCheckBoxProfile)) new GuiControlProfile (GuiCheckBoxProfile) +{ + opaque = false; + fillColor = "232 232 232"; + border = false; + borderColor = "0 0 0"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "left"; + bitmap = ($platform $= "macos") ? "./osxCheck" : "./torqueCheck"; + hasBitmapArray = true; + +}; + +if(!isObject(GuiPopUpMenuProfile)) new GuiControlProfile (GuiPopUpMenuProfile) +{ + opaque = true; + mouseOverSelected = true; + + border = 4; + borderThickness = 2; + borderColor = "0 0 0"; + fontSize = 14; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fontColorSEL = "32 100 100"; + fixedExtent = true; + justify = "center"; + bitmap = ($platform $= "macos") ? "./osxScroll" : "./darkScroll"; + hasBitmapArray = true; +}; + +if(!isObject(GuiEditorClassProfile)) new GuiControlProfile (GuiEditorClassProfile) +{ + opaque = true; + fillColor = "232 232 232"; + border = true; + borderColor = "0 0 0"; + borderColorHL = "127 127 127"; + fontColor = "0 0 0"; + fontColorHL = "32 100 100"; + fixedExtent = true; + justify = "center"; + bitmap = ($platform $= "macos") ? "./osxScroll" : "./darkScroll"; + hasBitmapArray = true; +}; + + +if(!isObject(LoadTextProfile)) new GuiControlProfile ("LoadTextProfile") +{ + fontColor = "66 219 234"; + autoSizeWidth = true; + autoSizeHeight = true; +}; + + +if(!isObject(GuiMLTextProfile)) new GuiControlProfile ("GuiMLTextProfile") +{ + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; +}; + +if(!isObject(GuiMLTextEditProfile)) new GuiControlProfile (GuiMLTextEditProfile) +{ + fontColorLink = "255 96 96"; + fontColorLinkHL = "0 0 255"; + + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + + autoSizeWidth = true; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +//-------------------------------------------------------------------------- +// Console Window + +if(!isObject(GuiConsoleProfile)) new GuiControlProfile ("GuiConsoleProfile") +{ + fontType = ($platform $= "macos") ? "Courier New" : "Lucida Console"; + fontSize = 12; + fontColor = "0 0 0"; + fontColorHL = "130 130 130"; + fontColorNA = "255 0 0"; + fontColors[6] = "50 50 50"; + fontColors[7] = "50 50 0"; + fontColors[8] = "0 0 50"; + fontColors[9] = "0 50 0"; +}; + + +if(!isObject(GuiProgressProfile)) new GuiControlProfile ("GuiProgressProfile") +{ + opaque = false; + fillColor = "44 152 162 100"; + border = true; + borderColor = "78 88 120"; +}; + +if(!isObject(GuiProgressTextProfile)) new GuiControlProfile ("GuiProgressTextProfile") +{ + fontColor = "0 0 0"; + justify = "center"; +}; + + + +//-------------------------------------------------------------------------- +// Gui Inspector + +if(!isObject(GuiInspectorTextEditProfile)) new GuiControlProfile ("GuiInspectorTextEditProfile") +{ + opaque = true; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = true; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = false; + canKeyFocus = true; +}; + +if(!isObject(GuiBitmapBorderProfile)) new GuiControlProfile(GuiBitmapBorderProfile) +{ + bitmap = "./darkBorder"; + hasBitmapArray = true; +}; + +//-------------------------------------- Cursors +// +new GuiCursor(DefaultCursor) +{ + hotSpot = "1 1"; + bitmapName = "./CUR_3darrow"; +}; + diff --git a/common/ui/dialog.png b/common/ui/dialog.png new file mode 100644 index 0000000..b6427a2 Binary files /dev/null and b/common/ui/dialog.png differ diff --git a/common/ui/no_d.png b/common/ui/no_d.png new file mode 100644 index 0000000..738f231 Binary files /dev/null and b/common/ui/no_d.png differ diff --git a/common/ui/no_h.png b/common/ui/no_h.png new file mode 100644 index 0000000..2dd4f34 Binary files /dev/null and b/common/ui/no_h.png differ diff --git a/common/ui/no_n.png b/common/ui/no_n.png new file mode 100644 index 0000000..08c9329 Binary files /dev/null and b/common/ui/no_n.png differ diff --git a/common/ui/ok_d.png b/common/ui/ok_d.png new file mode 100644 index 0000000..ed044e3 Binary files /dev/null and b/common/ui/ok_d.png differ diff --git a/common/ui/ok_h.png b/common/ui/ok_h.png new file mode 100644 index 0000000..abb6f63 Binary files /dev/null and b/common/ui/ok_h.png differ diff --git a/common/ui/ok_n.png b/common/ui/ok_n.png new file mode 100644 index 0000000..68a4400 Binary files /dev/null and b/common/ui/ok_n.png differ diff --git a/common/ui/osxcheck.png b/common/ui/osxcheck.png new file mode 100644 index 0000000..fab21be Binary files /dev/null and b/common/ui/osxcheck.png differ diff --git a/common/ui/osxmenu.png b/common/ui/osxmenu.png new file mode 100644 index 0000000..754e8e4 Binary files /dev/null and b/common/ui/osxmenu.png differ diff --git a/common/ui/osxradio.png b/common/ui/osxradio.png new file mode 100644 index 0000000..7b9df72 Binary files /dev/null and b/common/ui/osxradio.png differ diff --git a/common/ui/osxscroll.png b/common/ui/osxscroll.png new file mode 100644 index 0000000..e838c84 Binary files /dev/null and b/common/ui/osxscroll.png differ diff --git a/common/ui/osxwindow.png b/common/ui/osxwindow.png new file mode 100644 index 0000000..db969e2 Binary files /dev/null and b/common/ui/osxwindow.png differ diff --git a/common/ui/restart_d.png b/common/ui/restart_d.png new file mode 100644 index 0000000..10f5a13 Binary files /dev/null and b/common/ui/restart_d.png differ diff --git a/common/ui/restart_h.png b/common/ui/restart_h.png new file mode 100644 index 0000000..1a5a97c Binary files /dev/null and b/common/ui/restart_h.png differ diff --git a/common/ui/restart_n.png b/common/ui/restart_n.png new file mode 100644 index 0000000..fd9a84a Binary files /dev/null and b/common/ui/restart_n.png differ diff --git a/common/ui/torquecheck.png b/common/ui/torquecheck.png new file mode 100644 index 0000000..544f7c4 Binary files /dev/null and b/common/ui/torquecheck.png differ diff --git a/common/ui/torquemenu.png b/common/ui/torquemenu.png new file mode 100644 index 0000000..754e8e4 Binary files /dev/null and b/common/ui/torquemenu.png differ diff --git a/common/ui/torqueradio.png b/common/ui/torqueradio.png new file mode 100644 index 0000000..5aa55b0 Binary files /dev/null and b/common/ui/torqueradio.png differ diff --git a/common/ui/window.png b/common/ui/window.png new file mode 100644 index 0000000..01a3499 Binary files /dev/null and b/common/ui/window.png differ diff --git a/common/ui/yes_d.png b/common/ui/yes_d.png new file mode 100644 index 0000000..b25cc60 Binary files /dev/null and b/common/ui/yes_d.png differ diff --git a/common/ui/yes_h.png b/common/ui/yes_h.png new file mode 100644 index 0000000..6828271 Binary files /dev/null and b/common/ui/yes_h.png differ diff --git a/common/ui/yes_n.png b/common/ui/yes_n.png new file mode 100644 index 0000000..c57b8ae Binary files /dev/null and b/common/ui/yes_n.png differ diff --git a/editor/newObject.cs.dso b/editor/newObject.cs.dso new file mode 100644 index 0000000..5bbced7 Binary files /dev/null and b/editor/newObject.cs.dso differ diff --git a/main.cs b/main.cs new file mode 100644 index 0000000..c42c34f --- /dev/null +++ b/main.cs @@ -0,0 +1,292 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +$baseMods = "common"; +$userMods = "marble"; +$displayHelp = false; + + +//----------------------------------------------------------------------------- +// Support functions used to manage the mod string + +function pushFront(%list, %token, %delim) +{ + if (%list !$= "") + return %token @ %delim @ %list; + return %token; +} + +function pushBack(%list, %token, %delim) +{ + if (%list !$= "") + return %list @ %delim @ %token; + return %token; +} + +function popFront(%list, %delim) +{ + return nextToken(%list, unused, %delim); +} + +function onFrameAdvance() +{ + +} + +//------------------------------------------------------------------------------ +// Process command line arguments + +for ($i = 1; $i < $Game::argc ; $i++) +{ + $arg = $Game::argv[$i]; + $nextArg = $Game::argv[$i+1]; + $hasNextArg = $Game::argc - $i > 1; + $logModeSpecified = false; + + switch$ ($arg) + { + //-------------------- + case "-log": + $argUsed[$i]++; + if ($hasNextArg) + { + // Turn on console logging + if ($nextArg != 0) + { + // Dump existing console to logfile first. + $nextArg += 4; + } + setLogMode($nextArg); + $logModeSpecified = true; + $argUsed[$i+1]++; + $i++; + } + else + error("Error: Missing Command Line argument. Usage: -log "); + + //-------------------- + case "-mod": + $argUsed[$i]++; + if ($hasNextArg) + { + // Append the mod to the end of the current list + $userMods = strreplace($userMods, $nextArg, ""); + $userMods = pushFront($userMods, $nextArg, ";"); + $argUsed[$i+1]++; + $i++; + } + else + error("Error: Missing Command Line argument. Usage: -mod "); + + //-------------------- + case "-compileguis": + $compileGuis = true; + $argUsed[$i]++; + echo("Compile guis!"); + + case "-compileall": + $compileGuis = true; + $compileScripts = true; + $argUsed[$i]++; + echo("Compile all!"); + + + case "-game": + $argUsed[$i]++; + if ($hasNextArg) + { + // Remove all mods, start over with game + $userMods = $nextArg; + $argUsed[$i+1]++; + $i++; + } + else + error("Error: Missing Command Line argument. Usage: -game "); + + //-------------------- + case "-show": + // A useful shortcut for -mod show + $userMods = strreplace($userMods, "show", ""); + $userMods = pushFront($userMods, "show", ";"); + $argUsed[$i]++; + + //-------------------- + case "-console": + enableWinConsole(true); + $argUsed[$i]++; + + //-------------------- + case "-jSave": + $argUsed[$i]++; + if ($hasNextArg) + { + echo("Saving event log to journal: " @ $nextArg); + saveJournal($nextArg); + $argUsed[$i+1]++; + $i++; + } + else + error("Error: Missing Command Line argument. Usage: -jSave "); + + //-------------------- + case "-jPlay": + $argUsed[$i]++; + if ($hasNextArg) + { + playJournal($nextArg,false); + $argUsed[$i+1]++; + $i++; + } + else + error("Error: Missing Command Line argument. Usage: -jPlay "); + + //-------------------- + case "-jDebug": + $argUsed[$i]++; + if ($hasNextArg) + { + playJournal($nextArg,true); + $argUsed[$i+1]++; + $i++; + } + else + error("Error: Missing Command Line argument. Usage: -jDebug "); + + //------------------- + case "-help": + $displayHelp = true; + $argUsed[$i]++; + } +} + + +//----------------------------------------------------------------------------- +// The displayHelp, onStart, onExit and parseArgs function are overriden +// by mod packages to get hooked into initialization and cleanup. + +function onStart() +{ + // Default startup function + exec("marble/client/scripts/tttimer.cs"); + exec($Con::root @ "/client/scripts/MarbleSkinSelectionDlg.cs"); +} + +function onExit() +{ + // OnExit is called directly from C++ code, whereas onStart is + // invoked at the end of this file. +} + +function parseArgs() +{ + // Here for mod override, the arguments have already + // been parsed. +} + +package Help { + function onExit() { + // Override onExit when displaying help + } +}; + +function displayHelp() { + activatePackage(Help); + + // Notes on logmode: console logging is written to console.log. + // -log 0 disables console logging. + // -log 1 appends to existing logfile; it also closes the file + // (flushing the write buffer) after every write. + // -log 2 overwrites any existing logfile; it also only closes + // the logfile when the application shuts down. (default) + + error( + "Marble Blast command line options:\n"@ + " -log Logging behavior; see main.cs comments for details\n"@ + " -game Reset list of mods to only contain \n"@ + " -mod Add to list of mods\n"@ + " -console Open a separate console\n"@ + " -show Launch the TS show tool\n"@ + " -jSave Record a journal\n"@ + " -jPlay Play back a journal\n"@ + " -jDebug Play back a journal and issue an int3 at the end\n"@ + " -help Display this help message\n" + ); +} + +//-------------------------------------------------------------------------- + +// Default to a new logfile each session. +if (!$logModeSpecified) { + setLogMode(6); +} + +// Set the mod path which dictates which directories will be visible +// to the scripts and the resource engine. +$modPath = pushback($userMods, $baseMods, ";"); +setModPaths($modPath); + +// Get the first mod on the list, which will be the last to be applied... this +// does not modify the list. +nextToken($modPath, currentMod, ";"); + +// Execute startup scripts for each mod, starting at base and working up +echo("--------- Loading MODS ---------"); +function loadMods(%modPath) +{ + %modPath = nextToken(%modPath, token, ";"); + if (%modPath !$= "") + loadMods(%modPath); + + exec(%token @ "/main.cs"); +} +loadMods($modPath); +echo(""); + +// Parse the command line arguments +echo("--------- Parsing Arguments ---------"); +parseArgs(); + +// Either display the help message or startup the app. +if ($compileGuis) +{ + enableWinConsole(true); + activatePackage(Help); + for($file = findFirstFile("*.gui"); $file !$= ""; $file = findNextFile("*.gui")) + { + echo($file); + compile($file); + } + if($compileScripts) + { + for($file = findFirstFile("*.cs"); $file !$= ""; $file = findNextFile("*.cs")) + { + echo($file); + compile($file); + } + } + quit(); +} else if ($displayHelp) { + enableWinConsole(true); + displayHelp(); + quit(); +} +else { + onStart(); + echo("Engine initialized..."); +} + +// Display an error message for unused arguments +for ($i = 1; $i < $Game::argc; $i++) { + if (!$argUsed[$i]) + error("Error: Unkown command line argument: " @ $Game::argv[$i]); +} + +function GuiMLTextCtrl::onURL(%this, %url) +{ + gotoWebPage( %url ); +} + diff --git a/marble/client/config.cs b/marble/client/config.cs new file mode 100644 index 0000000..7cc6bb3 --- /dev/null +++ b/marble/client/config.cs @@ -0,0 +1,20 @@ +// Torque Input Map File +moveMap.delete(); +new ActionMap(moveMap); +moveMap.bindCmd(keyboard, "escape", "", "escapeFromGame();"); +moveMap.bind(keyboard, "a", moveleft); +moveMap.bind(keyboard, "d", moveright); +moveMap.bind(keyboard, "w", moveForward); +moveMap.bind(keyboard, "s", movebackward); +moveMap.bind(keyboard, "space", jump); +moveMap.bind(keyboard, "up", panUp); +moveMap.bind(keyboard, "down", panDown); +moveMap.bind(keyboard, "left", turnLeft); +moveMap.bind(keyboard, "right", turnRight); +moveMap.bind(keyboard, "alt c", toggleCamera); +moveMap.bind(keyboard, "f8", dropCameraAtPlayer); +moveMap.bind(keyboard, "f7", dropPlayerAtCamera); +moveMap.bind(mouse0, "xaxis", yaw); +moveMap.bind(mouse0, "yaxis", pitch); +moveMap.bind(mouse0, "button0", mouseFire); +moveMap.bind(mouse0, "button1", freelook); diff --git a/marble/client/config.cs.dso b/marble/client/config.cs.dso new file mode 100644 index 0000000..96909a0 Binary files /dev/null and b/marble/client/config.cs.dso differ diff --git a/marble/client/defaults.cs b/marble/client/defaults.cs new file mode 100644 index 0000000..37aae8a --- /dev/null +++ b/marble/client/defaults.cs @@ -0,0 +1,83 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +// The master server is declared with the server defaults, which is +// loaded on both clients & dedicated servers. If the server mod +// is not loaded on a client, then the master must be defined. +//$pref::Master[0] = "2:v12master.dyndns.org:28002"; + +$pref::Player::Name = "Test Guy"; +$pref::Player::defaultFov = 90; +$pref::Player::zoomSpeed = 0; + +$pref::QualifiedLevel["Beginner"] = 1; +$pref::QualifiedLevel["Intermediate"] = 1; +$pref::QualifiedLevel["Advanced"] = 1; +$pref::QualifiedLevel["Expert"] = 1000; + +$pref::checkMOTDAndVersion = "1"; // check the version by default + +$pref::Net::LagThreshold = 400; + +$pref::shadows = "2"; +$pref::HudMessageLogSize = 40; +$pref::ChatHudLength = 1; +$pref::useStencilShadows = true; + +$pref::Input::LinkMouseSensitivity = 1; +// DInput keyboard, mouse, and joystick prefs +$pref::Input::KeyboardEnabled = 1; +$pref::Input::MouseEnabled = 1; +$pref::Input::JoystickEnabled = 0; +$pref::Input::KeyboardTurnSpeed = 0.025; + +$pref::Input::MouseSensitivity = 0.75; +$pref::Input::InvertYAxis = false; +$pref::Input::AlwaysFreeLook = true; + +$pref::sceneLighting::cacheSize = 20000; +$pref::sceneLighting::purgeMethod = "lastCreated"; +$pref::sceneLighting::cacheLighting = 1; +$pref::sceneLighting::terrainGenerateLevel = 1; + +$pref::Terrain::DynamicLights = 1; +$pref::Interior::TexturedFog = 0; +$pref::Video::displayDevice = "OpenGL"; +$pref::Video::allowOpenGL = 1; +$pref::Video::allowD3D = 1; +$pref::Video::preferOpenGL = 1; +$pref::Video::appliedPref = 0; +$pref::Video::disableVerticalSync = 1; +$pref::Video::monitorNum = 0; +$pref::Video::resolution = "800 600 32"; +$pref::Video::windowedRes = "800 600"; +$pref::Video::fullScreen = "0"; + +$pref::OpenGL::force16BitTexture = "0"; +$pref::OpenGL::forcePalettedTexture = "0"; +$pref::OpenGL::maxHardwareLights = 3; +$pref::VisibleDistanceMod = 1.0; + +$pref::Audio::driver = "OpenAL"; +$pref::Audio::forceMaxDistanceUpdate = 0; +$pref::Audio::environmentEnabled = 0; +$pref::Audio::masterVolume = 1.0; +$pref::Audio::channelVolume1 = 1.0; +$pref::Audio::channelVolume2 = 0.7; +$pref::Audio::channelVolume3 = 0.8; +$pref::Audio::channelVolume4 = 0.8; +$pref::Audio::channelVolume5 = 0.8; +$pref::Audio::channelVolume6 = 0.8; +$pref::Audio::channelVolume7 = 0.8; +$pref::Audio::channelVolume8 = 0.8; + +$pref::LastReadMOTD = "Welcome to MarbleBlast!"; +$pref::CurrentMOTD = "Welcome to MarbleBlast!"; + +$Pref::Unix::OpenALFrequency = 44100; + +$pref::marbleshape = "ball-superball"; +$pref::marbleSkin = "marble"; diff --git a/marble/client/defaults.cs.dso b/marble/client/defaults.cs.dso new file mode 100644 index 0000000..3cd3646 Binary files /dev/null and b/marble/client/defaults.cs.dso differ diff --git a/marble/client/demos/marblechallenge.rec b/marble/client/demos/marblechallenge.rec new file mode 100644 index 0000000..fa10792 Binary files /dev/null and b/marble/client/demos/marblechallenge.rec differ diff --git a/marble/client/demos/q1e1m1.rec b/marble/client/demos/q1e1m1.rec new file mode 100644 index 0000000..5564e0b Binary files /dev/null and b/marble/client/demos/q1e1m1.rec differ diff --git a/marble/client/demos/superspeed.rec b/marble/client/demos/superspeed.rec new file mode 100644 index 0000000..7ce71bd Binary files /dev/null and b/marble/client/demos/superspeed.rec differ diff --git a/marble/client/help/help_gui.png b/marble/client/help/help_gui.png new file mode 100644 index 0000000..64d6fb0 Binary files /dev/null and b/marble/client/help/help_gui.png differ diff --git a/marble/client/help/help_window.png b/marble/client/help/help_window.png new file mode 100644 index 0000000..d801171 Binary files /dev/null and b/marble/client/help/help_window.png differ diff --git a/marble/client/init.cs b/marble/client/init.cs new file mode 100644 index 0000000..3aecb3b --- /dev/null +++ b/marble/client/init.cs @@ -0,0 +1,288 @@ +//----------------------------------------------------------------------------- + +// Variables used by client scripts & code. The ones marked with (c) +// are accessed from code. Variables preceeded by Pref:: are client +// preferences and stored automatically in the ~/client/prefs.cs file +// in between sessions. +// +// (c) Client::MissionFile Mission file name +// ( ) Client::Password Password for server join + +// (?) Pref::Player::CurrentFOV +// (?) Pref::Player::DefaultFov +// ( ) Pref::Input::KeyboardTurnSpeed + +// (c) pref::Master[n] List of master servers +// (c) pref::Net::RegionMask +// (c) pref::Client::ServerFavoriteCount +// (c) pref::Client::ServerFavorite[FavoriteCount] +// .. Many more prefs... need to finish this off + +// Moves, not finished with this either... +// (c) firstPerson +// $mv*Action... + +//----------------------------------------------------------------------------- +// These are variables used to control the shell scripts and +// can be overriden by mods: + +//----------------------------------------------------------------------------- + +function initClient() +{ + echo("\n--------- Initializing FPS: Client ---------"); + + // Make sure this variable reflects the correct state. + $Server::Dedicated = false; + + // Game information used to query the master server + $Client::GameTypeQuery = "Test App"; + $Client::MissionTypeQuery = "Any"; + + // Default level qualification + if (!$pref::QualifiedLevel["Beginner"]) + $pref::QualifiedLevel["Beginner"] = 1; + if (!$pref::QualifiedLevel["Intermediate"]) + $pref::QualifiedLevel["Intermediate"] = 1; + if (!$pref::QualifiedLevel["Advanced"]) + $pref::QualifiedLevel["Advanced"] = 1; + if (!$pref::QualifiedLevel["Expert"]) + $pref::QualifiedLevel["Expert"] = 1; + + // The common module provides basic client functionality + initBaseClient(); + + // InitCanvas starts up the graphics system. + // The canvas needs to be constructed before the gui scripts are + // run because many of the controls assume the canvas exists at + // load time. + initCanvas(" Kevin Blast 1.3.1 - Created by KevinSoftware"); + + /// Load client-side Audio Profiles/Descriptions + exec("./scripts/audioProfiles.cs"); + + // Load up the Game GUIs + exec("./ui/defaultGameProfiles.cs"); + exec("./ui/PlayGui.gui"); + + // Load up the shell GUIs + exec("./ui/ignitionGui.gui"); + exec("./ui/ignitionStatusGui.gui"); + exec("./ui/presentsGui.gui"); + exec("./ui/productionGui.gui"); + exec("./ui/titleGui.gui"); + exec("./ui/playMissionGui.gui"); + exec("./ui/mainMenuGui.gui"); + exec("./ui/aboutDlg.gui"); + exec("./ui/startMissionGui.gui"); // to be deleted + exec("./ui/chooseGui.gui"); + exec("./ui/joinServerGui.gui"); + exec("./ui/endGameGui.gui"); + exec("./ui/upsell/UpsellGui.gui"); + EndGameGui.preload(); + exec("./ui/loadingGui.gui"); + exec("./ui/optionsDlg.gui"); + exec("./ui/remapDlg.gui"); + exec("./ui/MOTDGui.gui"); + exec("./ui/EnterNameDlg.gui"); + EnterNameDlg.preload(); + exec("./ui/HelpCreditsGui.gui"); + exec("./ui/ExitGameDlg.gui"); + exec("./ui/MiniShotGui.gui"); + + // Client scripts + exec("./scripts/client.cs"); + exec("./scripts/helpCredits.cs"); + exec("./scripts/missionDownload.cs"); + exec("./scripts/serverConnection.cs"); + exec("./scripts/playerList.cs"); + exec("./scripts/loadingGui.cs"); + exec("./scripts/optionsDlg.cs"); + exec("./scripts/chatHud.cs"); + exec("./scripts/messageHud.cs"); + exec("./scripts/playGui.cs"); + exec("./scripts/centerPrint.cs"); + exec("./scripts/game.cs"); + exec("./scripts/version.cs"); + // custom guis + exec("./scripts/MarbleSkinSelectionDlg.cs"); + + // Default player key bindings + exec("./scripts/default.bind.cs"); + exec("./config.cs"); + + // Really shouldn't be starting the networking unless we are + // going to connect to a remote server, or host a multi-player + // game. + // setNetPort(0); + + // Copy saved script prefs into C++ code. + setShadowDetailLevel( $pref::shadows ); + setDefaultFov( $pref::Player::defaultFov ); + setZoomSpeed( $pref::Player::zoomSpeed ); + + // Start up the main menu... this is separated out into a + // method for easier mod override. + loadMainMenu(); + + // Connect to server if requested. + if ($JoinGameAddress !$= "") { + connect($JoinGameAddress, "", $Pref::Player::Name); + } + else if($missionArg !$= "") { + %file = findNamedFile($missionArg, ".mis"); + if(%file !$= "") + { + %this.io = new IgnitionObject(); + %status = %this.io.validate(); + echo("Ignition: " @ %status); + + doCreateGame(%file); + } + } + else if($interiorArg !$= "") { + %file = findNamedFile($interiorArg, ".dif"); + if(%file !$= "") + { + onServerCreated(); // gotta hack here to get the datablocks loaded... + + %this.io = new IgnitionObject(); + %status = %this.io.validate(); + echo("Ignition: " @ %status); + + %missionGroup = createEmptyMission($interiorArg); + %interior = new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = %file; + }; + %missionGroup.add(%interior); + %interior.magicButton(); + + if(!isObject(StartPoint)) + { + %pt = new StaticShape(StartPoint) { + position = "0 -5 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + MissionGroup.add(%pt); + } + + if(!isObject(EndPoint)) + { + %pt = new StaticShape(EndPoint) { + position = "0 5 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + MissionGroup.add(%pt); + } + %box = %interior.getWorldBox(); + %mx = getWord(%box, 0); + %my = getWord(%box, 1); + %mz = getWord(%box, 2); + %MMx = getWord(%box, 3); + %MMy = getWord(%box, 4); + %MMz = getWord(%box, 5); + %pos = (%mx - 3) SPC (%MMy + 3) SPC (%mz - 3); + %scale = (%MMx - %mx + 6) SPC (%MMy - %my + 6) SPC (%MMz - %mz + 20); + echo(%box); + echo(%pos); + echo(%scale); + + new Trigger(Bounds) { + position = %pos; + scale = %scale; + rotation = "1 0 0 0"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + MissionGroup.add(Bounds); + + + %missionGroup.save("marble/data/missions/testMission.mis"); + %missionGroup.delete(); + doCreateGame("marble/data/missions/testMission.mis"); + } + } +} + +function doCreateGame(%file) +{ + echo("creating game!"); + createServer("SinglePlayer", %file); + %conn = new GameConnection(ServerConnection); + RootGroup.add(ServerConnection); + %conn.setConnectArgs($pref::Player::Name); + %conn.setJoinPassword($Client::Password); + %conn.connectLocal(); +} + +function findNamedFile(%file, %ext) +{ + if(fileExt(%file) !$= %ext) + %file = %file @ %ext; + + %found = findFirstFile(%file); + if(%found $= "") + %found = findFirstFile("*/" @ %file); + return %found; +} + +function setPlayMissionGui() +{ + Canvas.setContent(playMissionGui); +} + +//----------------------------------------------------------------------------- + +function loadMainMenu() +{ + // Startup the client with the Main menu... + runPresentation(); + buildMissionList(); + Canvas.setCursor("DefaultCursor"); + playShellMusic(); +} + +function createEmptyMission(%interiorArg) +{ + return new SimGroup(MissionGroup) { + new ScriptObject(MissionInfo) { + level = "001"; + desc = "A test mission for an interior"; + type = "Template"; + name = "Interior Test: " @ %interiorArg; + time = 0; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + materialList = "~/data/skies/sky_day.dml"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + }; +} + diff --git a/marble/client/init.cs.dso b/marble/client/init.cs.dso new file mode 100644 index 0000000..4cc8a0f Binary files /dev/null and b/marble/client/init.cs.dso differ diff --git a/marble/client/scripts/MarbleSkinSelectionDlg.cs.dso b/marble/client/scripts/MarbleSkinSelectionDlg.cs.dso new file mode 100644 index 0000000..79b0633 Binary files /dev/null and b/marble/client/scripts/MarbleSkinSelectionDlg.cs.dso differ diff --git a/marble/client/scripts/audioProfiles.cs.dso b/marble/client/scripts/audioProfiles.cs.dso new file mode 100644 index 0000000..fa9e7a2 Binary files /dev/null and b/marble/client/scripts/audioProfiles.cs.dso differ diff --git a/marble/client/scripts/audioprofiles.cs b/marble/client/scripts/audioprofiles.cs new file mode 100644 index 0000000..c61bbce --- /dev/null +++ b/marble/client/scripts/audioprofiles.cs @@ -0,0 +1,120 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +// Channel assignments (channel 0 is unused in-game). + +$GuiAudioType = 1; +$SimAudioType = 1; +$MessageAudioType = 1; +$EffectAudioType = 1; +$MusicAudioType = 2; + +new AudioDescription(AudioGui) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = $GuiAudioType; +}; + +new AudioDescription(AudioMessage) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = $MessageAudioType; +}; + +new AudioDescription(ClientAudioLooping2D) +{ + volume = 1.0; + isLooping = true; + is3D = false; + type = $EffectAudioType; +}; + +new AudioProfile(TimeTravelLoopSfx) +{ + filename = "~/data/sound/TimeTravelActive.wav"; + description = ClientAudioLooping2d; + preload = true; +}; + +new AudioProfile(AudioButtonOver) +{ + filename = "~/data/sound/buttonOver.wav"; + description = "AudioGui"; + preload = true; +}; + +new AudioProfile(AudioButtonDown) +{ + filename = "~/data/sound/ButtonPress.wav"; + description = "AudioGui"; + preload = true; +}; + +new AudioDescription(AudioMusic) +{ + volume = 1.0; + isLooping = true; + isStreaming = true; + is3D = false; + type = $MusicAudioType; +}; + +function playMusic(%musicFileBase) +{ + alxStop($currentMusicHandle); + if(isObject(MusicProfile)) + MusicProfile.delete(); + + %file = "~/data/sound/" @ %musicFileBase; + new AudioProfile(MusicProfile) { + fileName = %file; + description = "AudioMusic"; + preload = false; + }; + $currentMusicBase = %musicFileBase; + $currentMusicHandle = alxPlay(MusicProfile); //add this line +} + +function playShellMusic() +{ + playMusic("Shell.ogg"); +} + +function playGameMusic() +{ + if(!$musicFound) + { + $NumMusicFiles = 0; + for(%file = findFirstFile("*.ogg"); %file !$= ""; %file = findNextFile("*.ogg")) + { + if(fileBase(%file) !$= "Shell") + { + $Music[$NumMusicFiles] = fileBase(%file) @ ".ogg"; + $NumMusicFiles++; + } + } + $musicFound = true; + } + if($NumMusicFiles) + + else + playMusic("Shell.ogg"); +} + +function pauseMusic() +{ + alxStop($currentMusicHandle); +} + +function resumeMusic() +{ + playMusic($currentMusicBase); +} + diff --git a/marble/client/scripts/centerPrint.cs.dso b/marble/client/scripts/centerPrint.cs.dso new file mode 100644 index 0000000..33c06fa Binary files /dev/null and b/marble/client/scripts/centerPrint.cs.dso differ diff --git a/marble/client/scripts/centerprint.cs b/marble/client/scripts/centerprint.cs new file mode 100644 index 0000000..abc2f38 --- /dev/null +++ b/marble/client/scripts/centerprint.cs @@ -0,0 +1,80 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +$centerPrintActive = 0; +$bottomPrintActive = 0; + +// Selectable window sizes +$CenterPrintSizes[1] = 20; +$CenterPrintSizes[2] = 36; +$CenterPrintSizes[3] = 56; + +// time is specified in seconds +function clientCmdCenterPrint( %message, %time, %size ) +{ + // if centerprint already visible, reset text and time. + if ($centerPrintActive) { + if (centerPrintDlg.removePrint !$= "") + cancel(centerPrintDlg.removePrint); + } + else { + CenterPrintDlg.visible = 1; + $centerPrintActive = 1; + } + + CenterPrintText.setText( "" @ %message ); + CenterPrintDlg.extent = firstWord(CenterPrintDlg.extent) @ " " @ $CenterPrintSizes[%size]; + + if (%time > 0) + centerPrintDlg.removePrint = schedule( ( %time * 1000 ), 0, "clientCmdClearCenterPrint" ); +} + +// time is specified in seconds +function clientCmdBottomPrint( %message, %time, %size ) +{ + // if bottomprint already visible, reset text and time. + if ($bottomPrintActive) { + if( bottomPrintDlg.removePrint !$= "") + cancel(bottomPrintDlg.removePrint); + } + else { + bottomPrintDlg.setVisible(true); + $bottomPrintActive = 1; + } + + bottomPrintText.setText( "" @ %message ); + bottomPrintDlg.extent = firstWord(bottomPrintDlg.extent) @ " " @ $CenterPrintSizes[%size]; + + if (%time > 0) + bottomPrintDlg.removePrint = schedule( ( %time * 1000 ), 0, "clientCmdClearbottomPrint" ); +} + +function BottomPrintText::onResize(%this, %width, %height) +{ + %this.position = "0 0"; +} + +function CenterPrintText::onResize(%this, %width, %height) +{ + %this.position = "0 0"; +} + +//------------------------------------------------------------------------------------------------------- + +function clientCmdClearCenterPrint() +{ + $centerPrintActive = 0; + CenterPrintDlg.visible = 0; + CenterPrintDlg.removePrint = ""; +} + +function clientCmdClearBottomPrint() +{ + $bottomPrintActive = 0; + BottomPrintDlg.visible = 0; + BottomPrintDlg.removePrint = ""; +} diff --git a/marble/client/scripts/chatHud.cs.dso b/marble/client/scripts/chatHud.cs.dso new file mode 100644 index 0000000..27322b3 Binary files /dev/null and b/marble/client/scripts/chatHud.cs.dso differ diff --git a/marble/client/scripts/chathud.cs b/marble/client/scripts/chathud.cs new file mode 100644 index 0000000..0fdf35b --- /dev/null +++ b/marble/client/scripts/chathud.cs @@ -0,0 +1,403 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Message Hud +//----------------------------------------------------------------------------- + +// chat hud sizes +$outerChatLenY[1] = 72; +$outerChatLenY[2] = 140; +$outerChatLenY[3] = 200; + +// Only play sound files that are <= 5000ms in length. +$MaxMessageWavLength = 5000; + +// Helper function to play a sound file if the message indicates. +// Returns starting position of wave file indicator. +function playMessageSound(%message, %voice, %pitch) +{ + // Search for wav tag marker. + %wavStart = strstr(%message, "~w"); + if (%wavStart == -1) { + return -1; + } + + %wav = getSubStr(%message, %wavStart + 2, 1000); + if (%voice !$= "") { + %wavFile = "~/data/sound/voice/" @ %voice @ "/" @ %wav; + } + else { + %wavFile = "~/data/sound/" @ %wav; + } + if (strstr(%wavFile, ".wav") != (strlen(%wavFile) - 4)) { + %wavFile = %wavFile @ ".wav"; + } + // XXX This only expands to a single filepath, of course; it + // would be nice to support checking in each mod path if we + // have multiple mods active. + %wavFile = ExpandFilename(%wavFile); + + if ((%pitch < 0.5) || (%pitch > 2.0)) { + %pitch = 1.0; + } + + %wavLengthMS = alxGetWaveLen(%wavFile) * %pitch; + if (%wavLengthMS == 0) { + error("** WAV file \"" @ %wavFile @ "\" is nonexistent or sound is zero-length **"); + } + else if (%wavLengthMS <= $MaxMessageWavLength) { + if ($ClientChatHandle[%sender] != 0) { + alxStop($ClientChatHandle[%sender]); + } + $ClientChatHandle[%sender] = alxCreateSource(AudioMessage, %wavFile); + if (%pitch != 1.0) { + alxSourcef($ClientChatHandle[%sender], "AL_PITCH", %pitch); + } + alxPlay($ClientChatHandle[%sender]); + } + else { + error("** WAV file \"" @ %wavFile @ "\" is too long **"); + } + + return %wavStart; +} + + +// All messages are stored in this HudMessageVector, the actual +// MainChatHud only displays the contents of this vector. + +new MessageVector(HudMessageVector); +$LastHudTarget = 0; + + +//----------------------------------------------------------------------------- +function onChatMessage(%message, %voice, %pitch) +{ + // XXX Client objects on the server must have voiceTag and voicePitch + // fields for values to be passed in for %voice and %pitch... in + // this example mod, they don't have those fields. + + // Clients are not allowed to trigger general game sounds with their + // chat messages... a voice directory MUST be specified. + if (%voice $= "") { + %voice = "default"; + } + + // See if there's a sound at the end of the message, and play it. + if ((%wavStart = playMessageSound(%message, %voice, %pitch)) != -1) { + // Remove the sound marker from the end of the message. + %message = getSubStr(%message, 0, %wavStart); + } + + // Chat goes to the chat HUD. + addChatLine(%message); +} + +function chatFade(%fade) +{ + ChatTextForeground.setAlpha(0.8 * %fade); + ChatTextBackground.setAlpha(%fade); + if(%fade > 0) + { + %nextFade = %fade - 0.03; + if(%nextFade < 0) + %nextFade = 0; + $ChatFadeTimer = schedule(32, 0, chatFade, %nextFade); + } +} + +function addChatLine(%message) +{ + if (getWordCount(%message)) { + %text = "" @ %message; + ChatTextBackground.setText("" @ %text); + ChatTextForeground.setText(%text); + + cancel($ChatFadeTimer); + ChatTextForeground.setAlpha(0.8); + ChatTextBackground.setAlpha(1.0); + $ChatFadeTimer = schedule(3000, 0, chatFade, 1.0); + } +} + +package GuiMLTextHelper +{ + +// strip out any tags and call the display func on them +function GuiMLTextCtrl::setText(%this, %text) +{ + %start = 0; + while((%pos = strpos(%text, "", %pos + 5); + if(%end == -1) + break; + + %pre = getSubStr(%text, 0, %pos); + %post = getSubStr(%text, %end+1, 100000); + %func = getSubStr(%text, %pos + 6, %end - (%pos + 6)); + %val = %this.evalTextFunc(%func); + %start = strlen(%val) + %pos; + %text = %pre @ %val @ %post; + } + Parent::setText(%this, %text); +} + +}; + +activatePackage(GuiMLTextHelper); + +function GuiMLTextCtrl::evalTextFunc(%this, %text) +{ + %func = getWord(%text, 0); + switch$(%func) + { + case "bind": + %binding = moveMap.getBinding(getWord(%text, 1)); + return getMapDisplayName(getField(%binding, 0), getField(%binding, 1), true); + } +} + +function helpFade(%fade) +{ + HelpTextForeground.setAlpha(1.0 * %fade); + HelpTextBackground.setAlpha(%fade); + if(%fade > 0) + { + %nextFade = %fade - 0.03; + if(%nextFade < 0) + %nextFade = 0; + $HelpFadeTimer = schedule(32, 0, helpFade, %nextFade); + } +} + +function addHelpLine(%message, %playBeep) +{ + if (getWordCount(%message)) { + %text = "" @ %message; + HelpTextBackground.setText("" @ %text); + HelpTextForeground.setText("" @ %text); + + cancel($HelpFadeTimer); + HelpTextForeground.setAlpha(1.0); + HelpTextBackground.setAlpha(1.0); + $HelpFadeTimer = schedule(3000, 0, helpFade, 1.0); + } + if(%playBeep) + { + serverplay2d(HelpDingSfx); + } +} + +function onServerMessage(%message) +{ + // See if there's a sound at the end of the message, and play it. + if ((%wavStart = playMessageSound(%message)) != -1) { + // Remove the sound marker from the end of the message. + %message = getSubStr(%message, 0, %wavStart); + } + + addChatLine(%message); +} + + +//----------------------------------------------------------------------------- +// MainChatHud methods +//----------------------------------------------------------------------------- + +function MainChatHud::onWake( %this ) +{ + // set the chat hud to the users pref + %this.setChatHudLength( $Pref::ChatHudLength ); +} + + +//------------------------------------------------------------------------------ + +function MainChatHud::setChatHudLength( %this, %length ) +{ + %outerChatLenX = firstWord(outerChatHud.extent); + %chatScrollLenX = firstWord(chatScrollHud.extent); + + outerChatHud.extent = %outerChatLenX SPC $outerChatLenY[%length]; + chatScrollHud.extent = %chatScrollLenX SPC $outerChatLenY[%length]; + + //find out how many lines per page are visible + %chatScrollHeight = getWord(chatHud.getGroup().getGroup().extent, 1); + if (%chatScrollHeight <= 0) + return; + + %textHeight = chatHud.profile.fontSize; + if (%textHeight <= 0) + %textHeight = 12; + + %pageLines = mFloor(%chatScrollHeight / %textHeight); + if (%pageLines <= 0) + %pageLines = 1; + + // Put the last line at the bottom. + %pos = HudMessageVector.getNumLines() - %pageLines; + if (%pos < 0) + %pos = 0; + ChatHud.position = "0" SPC (-1 * %pos * %textHeight); + + ChatHud.resize(firstWord(ChatHud.position), getWord(ChatHud.position, 1), firstWord(ChatHud.extent), getWord(ChatHud.extent, 1)); + ChatPageDown.position = (firstWord(outerChatHud.extent) - firstWord(ChatPageDown.extent)) + SPC ($outerChatLenY[%length] - getWord(ChatPageDown.extent, 1)); + ChatPageDown.setVisible(false); +} + + +//------------------------------------------------------------------------------ + +function MainChatHud::nextChatHudLen( %this ) +{ + %len = $pref::ChatHudLength++; + if ($pref::ChatHudLength == 4) + $pref::ChatHudLength = 1; + %this.setChatHudLength($pref::ChatHudLength); +} + + +//----------------------------------------------------------------------------- +// ChatHud methods +// This is the actual message vector/text control which is part of +// the MainChatHud dialog +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function ChatHud::addLine(%this,%text) +{ + //first, see if we're "scrolled up"... + %textHeight = %this.profile.fontSize; + if (%textHeight <= 0) + %textHeight = 12; + %chatScrollHeight = getWord(%this.getGroup().getGroup().extent, 1); + %chatPosition = getWord(%this.extent, 1) - %chatScrollHeight + getWord(%this.position, 1); + %linesToScroll = mFloor((%chatPosition / %textHeight) + 0.5); + if (%linesToScroll > 0) + %origPosition = %this.position; + + //add the message... + while( !chatPageDown.isVisible() && HudMessageVector.getNumLines() && (HudMessageVector.getNumLines() >= $pref::HudMessageLogSize)) + { + %tag = HudMessageVector.getLineTag(0); + if(%tag != 0) + %tag.delete(); + HudMessageVector.popFrontLine(); + } + HudMessageVector.pushBackLine(%text, $LastHudTarget); + $LastHudTarget = 0; + + //now that we've added the message, see if we need to reset the position + if (%linesToScroll > 0) + { + chatPageDown.setVisible(true); + %this.position = %origPosition; + } + else + chatPageDown.setVisible(false); +} + + +//----------------------------------------------------------------------------- + +function ChatHud::pageUp(%this) +{ + // Find out the text line height + %textHeight = %this.profile.fontSize; + if (%textHeight <= 0) + %textHeight = 12; + + // Find out how many lines per page are visible + %chatScrollHeight = getWord(%this.getGroup().getGroup().extent, 1); + if (%chatScrollHeight <= 0) + return; + + %pageLines = mFloor(%chatScrollHeight / %textHeight) - 1; + if (%pageLines <= 0) + %pageLines = 1; + + // See how many lines we actually can scroll up: + %chatPosition = -1 * getWord(%this.position, 1); + %linesToScroll = mFloor((%chatPosition / %textHeight) + 0.5); + if (%linesToScroll <= 0) + return; + + if (%linesToScroll > %pageLines) + %scrollLines = %pageLines; + else + %scrollLines = %linesToScroll; + + // Now set the position + %this.position = firstWord(%this.position) SPC (getWord(%this.position, 1) + (%scrollLines * %textHeight)); + + // Display the pageup icon + chatPageDown.setVisible(true); +} + + +//----------------------------------------------------------------------------- + +function ChatHud::pageDown(%this) +{ + // Find out the text line height + %textHeight = %this.profile.fontSize; + if (%textHeight <= 0) + %textHeight = 12; + + // Find out how many lines per page are visible + %chatScrollHeight = getWord(%this.getGroup().getGroup().extent, 1); + if (%chatScrollHeight <= 0) + return; + + %pageLines = mFloor(%chatScrollHeight / %textHeight) - 1; + if (%pageLines <= 0) + %pageLines = 1; + + // See how many lines we actually can scroll down: + %chatPosition = getWord(%this.extent, 1) - %chatScrollHeight + getWord(%this.position, 1); + %linesToScroll = mFloor((%chatPosition / %textHeight) + 0.5); + if (%linesToScroll <= 0) + return; + + if (%linesToScroll > %pageLines) + %scrollLines = %pageLines; + else + %scrollLines = %linesToScroll; + + // Now set the position + %this.position = firstWord(%this.position) SPC (getWord(%this.position, 1) - (%scrollLines * %textHeight)); + + // See if we have should (still) display the pagedown icon + if (%scrollLines < %linesToScroll) + chatPageDown.setVisible(true); + else + chatPageDown.setVisible(false); +} + + +//----------------------------------------------------------------------------- +// Support functions +//----------------------------------------------------------------------------- + +function pageUpMessageHud() +{ + ChatHud.pageUp(); +} + +function pageDownMessageHud() +{ + ChatHud.pageDown(); +} + +function cycleMessageHudSize() +{ + MainChatHud.nextChatHudLen(); +} diff --git a/marble/client/scripts/client.cs b/marble/client/scripts/client.cs new file mode 100644 index 0000000..1083144 --- /dev/null +++ b/marble/client/scripts/client.cs @@ -0,0 +1,49 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Server Admin Commands +//----------------------------------------------------------------------------- + +function SAD(%password) +{ + if (%password !$= "") + commandToServer('SAD', %password); +} + +function SADSetPassword(%password) +{ + commandToServer('SADSetPassword', %password); +} + + +//---------------------------------------------------------------------------- +// Misc server commands +//---------------------------------------------------------------------------- + +function clientCmdSyncClock(%time) +{ + // Store the base time in the hud control it will automatically increment. + HudClock.setTime(%time); +} + +function GameConnection::prepDemoRecord(%this) +{ + %this.demoChatLines = HudMessageVector.getNumLines(); + for(%i = 0; %i < %this.demoChatLines; %i++) + { + %this.demoChatText[%i] = HudMessageVector.getLineText(%i); + %this.demoChatTag[%i] = HudMessageVector.getLineTag(%i); + echo("Chat line " @ %i @ ": " @ %this.demoChatText[%i]); + } +} + +function GameConnection::prepDemoPlayback(%this) +{ + for(%i = 0; %i < %this.demoChatLines; %i++) + HudMessageVector.pushBackLine(%this.demoChatText[%i], %this.demoChatTag[%i]); + Canvas.setContent(PlayGui); +} \ No newline at end of file diff --git a/marble/client/scripts/client.cs.dso b/marble/client/scripts/client.cs.dso new file mode 100644 index 0000000..8a914e2 Binary files /dev/null and b/marble/client/scripts/client.cs.dso differ diff --git a/marble/client/scripts/default.bind.cs b/marble/client/scripts/default.bind.cs new file mode 100644 index 0000000..536049a --- /dev/null +++ b/marble/client/scripts/default.bind.cs @@ -0,0 +1,359 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +if ( isObject( moveMap ) ) + moveMap.delete(); +new ActionMap(moveMap); + +if ( isObject( demoMap) ) + demoMap.delete(); +new ActionMap(demoMap); + +if ( isObject( gamepadMap ) ) + gamepadMap.delete(); + +new ActionMap(gamepadMap); + +demoMap.bindCmd(keyboard, "escape", "", "onDemoPlayDone(true);"); + +//------------------------------------------------------------------------------ +// Non-remapable binds +//------------------------------------------------------------------------------ + +function escapeFromGame() +{ + if ( $Game::State $= "End") + return; + if ( $Server::ServerType $= "SinglePlayer" ) { + // In single player, we'll pause the game while the dialog box is up. + pauseGame(); + ExitGameText.setText("Exit from this Level?"); + Canvas.pushDialog(ExitGameDlg); + } + else + MessageBoxYesNo( "Disconnect", "Disconnect from the server?", + "disconnect();", ""); +} + +moveMap.bindCmd(keyboard, "escape", "", "escapeFromGame();"); + + +//------------------------------------------------------------------------------ +// Movement Keys +//------------------------------------------------------------------------------ + +$movementSpeed = 1; // m/s + +function setSpeed(%speed) +{ + if(%speed) + $movementSpeed = %speed; +} + +function moveleft(%val) +{ + $mvLeftAction = %val; +} + +function moveright(%val) +{ + $mvRightAction = %val; +} + +function moveforward(%val) +{ + $mvForwardAction = %val; +} + +function movebackward(%val) +{ + $mvBackwardAction = %val; +} + +function moveXAxis(%val) +{ + if(mAbs(%val) < 0.1) + %val = 0; + if(%val < 0) + { + $mvLeftAction = -%val; + $mvRightAction = 0; + } + else + { + $mvLeftAction = 0; + $mvRightAction = %val; + } +} + +function moveYAxis(%val) +{ + if(mAbs(%val) < 0.05) + %val = 0; + if(%val < 0) + { + $mvForwardAction = -%val; + $mvBackwardAction = 0; + } + else + { + $mvForwardAction = 0; + $mvBackwardAction = %val; + } +} + +function moveYawAxis(%val) +{ + if(mAbs(%val) < 0.05) + %val = 0; + if(%val < 0) + { + $mvYawRightSpeed = -%val * $Pref::Input::KeyboardTurnSpeed; + $mvYawLeftSpeed = 0; + } + else + { + $mvYawRightSpeed = 0; + $mvYawLeftSpeed = %val * $Pref::Input::KeyboardTurnSpeed; + } +} + +function movePitchAxis(%val) +{ + //if(mAbs(%val) < 0.3) + //{ + // %val = 0; + //$mvPitchUpSpeed = $mvPitchDownSpeed = 0; + //return; + //} + %ival = %val; + + if(%val < 0) + { + //$mvPitchUpSpeed = -%val * $Pref::Input::KeyboardTurnSpeed; + if(%val < -0.3) + { + %val = (%val + 0.3) * (1.0 / 0.7); + //%val = %val + %destPitch = (-%val * 1.05) + 0.45; + } + else + %destPitch = 0.45; + //$mvPitchDownSpeed = 0; + } + else + { + if(%val > 0.3) + { + %val = (%val - 0.3) * (1.0 / 0.7); + //$mvPitchUpSpeed = 0; + //$mvPitchDownSpeed = %val * $Pref::Input::KeyboardTurnSpeed; + %destPitch = (-1.3 * %val) + 0.45; + } + else + %destPitch = 0.45; + } + $mvPitch = %destPitch - $marblePitch; + //echo("IVAL= " @ %ival @ " MVMP = " @ $marblePitch @ " DestPitch = " @ %destPitch); +// if(%destPitch > $marblePitch) + //{ + //$mvPitchDownSpeed = 0; + //} + //else + //{ + //$mvPitchDownSpeed = $marblePitch - %destPitch; + //$mvPitchUpSpeed = 0; + // $mvPitch = + //} +} + +gamepadMap.bind(joystick, xaxis, moveXAxis); +gamepadMap.bind(joystick, yaxis, moveYAxis); +gamepadMap.bind(joystick, rzaxis, moveYawAxis); +gamepadMap.bind(joystick, slider, movePitchAxis); +gamepadMap.bind(joystick, button6, jump); +gamepadMap.bind(joystick, button7, mouseFire); + +gamepadMap.push(); + +function moveup(%val) +{ + $mvUpAction = %val; +} + +function movedown(%val) +{ + $mvDownAction = %val; +} + +function turnLeft( %val ) +{ + $mvYawRightSpeed = %val ? $Pref::Input::KeyboardTurnSpeed : 0; +} + +function turnRight( %val ) +{ + $mvYawLeftSpeed = %val ? $Pref::Input::KeyboardTurnSpeed : 0; +} + +function panUp( %val ) +{ + $mvPitchDownSpeed = %val ? $Pref::Input::KeyboardTurnSpeed : 0; +} + +function panDown( %val ) +{ + $mvPitchUpSpeed = %val ? $Pref::Input::KeyboardTurnSpeed : 0; +} + +function getMouseAdjustAmount(%val) +{ + // based on a default camera fov of 90' + return($pref::Input::MouseSensitivity * %val * ($cameraFov / 90) * 0.01); +} + +function yaw(%val) +{ + $mvYaw += getMouseAdjustAmount(%val); +} + +function pitch(%val) +{ + if($freelooking || $pref::Input::AlwaysFreeLook) + { + if($pref::input::InvertYAxis) + $mvPitch -= getMouseAdjustAmount(%val); + else + $mvPitch += getMouseAdjustAmount(%val); + } +} + +function jump(%val) +{ + $mvTriggerCount2++; +} + +function freelook(%val) +{ + $freeLooking = %val; +} + +moveMap.bind( keyboard, a, moveleft ); +moveMap.bind( keyboard, d, moveright ); +moveMap.bind( keyboard, w, moveforward ); +moveMap.bind( keyboard, s, movebackward ); +moveMap.bind( keyboard, space, jump ); +moveMap.bind( mouse, xaxis, yaw ); +moveMap.bind( mouse, yaxis, pitch ); +moveMap.bind(keyboard, up, panUp); +moveMap.bind(keyboard, down, panDown); +moveMap.bind(keyboard, left, turnLeft); +moveMap.bind(keyboard, right, turnRight); + + +//------------------------------------------------------------------------------ +// Mouse Trigger +//------------------------------------------------------------------------------ + +function mouseFire(%val) +{ + $mvTriggerCount0++; +} + +function altTrigger(%val) +{ + $mvTriggerCount1++; +} + +moveMap.bind( mouse, button0, mouseFire ); +if($platform $= "macos") + moveMap.bind( keyboard, e, freelook ); +else + moveMap.bind( mouse, button1, freelook ); + + +//------------------------------------------------------------------------------ +// Camera & View functions +//------------------------------------------------------------------------------ + +function toggleCamera(%val) +{ + if (%val && $testCheats) + commandToServer('ToggleCamera'); +} + +moveMap.bind(keyboard, "alt c", toggleCamera); + +//------------------------------------------------------------------------------ +// Helper Functions +//------------------------------------------------------------------------------ + +function dropCameraAtPlayer(%val) +{ + if (%val && $testCheats) + commandToServer('dropCameraAtPlayer'); +} + +function dropPlayerAtCamera(%val) +{ + if (%val && $testCheats) + commandToServer('DropPlayerAtCamera'); +} + +moveMap.bind(keyboard, "F8", dropCameraAtPlayer); +moveMap.bind(keyboard, "F7", dropPlayerAtCamera); + + +//------------------------------------------------------------------------------ +// Dubuging Functions +//------------------------------------------------------------------------------ + +$MFDebugRenderMode = 0; +function cycleDebugRenderMode(%val) +{ + if (!%val) + return; + + if (getBuildString() $= "Debug") + { + if($MFDebugRenderMode == 0) + { + // Outline mode, including fonts so no stats + $MFDebugRenderMode = 1; + GLEnableOutline(true); + } + else if ($MFDebugRenderMode == 1) + { + // Interior debug mode + $MFDebugRenderMode = 2; + GLEnableOutline(false); + setInteriorRenderMode(7); + showInterior(); + } + else if ($MFDebugRenderMode == 2) + { + // Back to normal + $MFDebugRenderMode = 0; + setInteriorRenderMode(0); + GLEnableOutline(false); + show(); + } + } + else + { + echo("Debug render modes only available when running a Debug build."); + } +} + +GlobalActionMap.bind(keyboard, "F9", cycleDebugRenderMode); + + +//------------------------------------------------------------------------------ +// Misc. +//------------------------------------------------------------------------------ + +GlobalActionMap.bind(keyboard, "tilde", toggleConsole); +GlobalActionMap.bindCmd(keyboard, "alt enter", "", "pauseMusic();toggleFullScreen();resumeMusic();"); diff --git a/marble/client/scripts/default.bind.cs.dso b/marble/client/scripts/default.bind.cs.dso new file mode 100644 index 0000000..e2f2bad Binary files /dev/null and b/marble/client/scripts/default.bind.cs.dso differ diff --git a/marble/client/scripts/demo.cs b/marble/client/scripts/demo.cs new file mode 100644 index 0000000..0c50c19 --- /dev/null +++ b/marble/client/scripts/demo.cs @@ -0,0 +1,21 @@ +package Real { + +function setPlayMissionGui() +{ + Canvas.setContent(playMissionGui); +} + +function MainMenuQuit() +{ + quit(); +} + + +function runIgnition() +{ + Canvas.setContent(MainMenuGui); +} + +}; + +activatePackage(Real); \ No newline at end of file diff --git a/marble/client/scripts/endgamegui.cs b/marble/client/scripts/endgamegui.cs new file mode 100644 index 0000000..3609e6d --- /dev/null +++ b/marble/client/scripts/endgamegui.cs @@ -0,0 +1,11 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +function EndGameGui::onWake() +{ + +} \ No newline at end of file diff --git a/marble/client/scripts/game.cs b/marble/client/scripts/game.cs new file mode 100644 index 0000000..1187cdf --- /dev/null +++ b/marble/client/scripts/game.cs @@ -0,0 +1,163 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Game start / end events sent from the server +//---------------------------------------------------------------------------- + +function clientCmdGameStart() +{ +} + +function getBestTimes(%mis) +{ + for(%i = 0; %i < 3; %i++) + { + $hs[%i] = $pref::highScores[%mis, %i]; + if($hs[%i] $= "") + { + if(MissionInfo.time) + $hs[%i] = MissionInfo.time @ "\tKevin"; + else + $hs[%i] = "5998999\tKevin"; + } + } +} + +function clientCmdGameEnd() +{ + if($playingDemo) + return; + + getBestTimes($Server::MissionFile); + $highScoreIndex = ""; + for(%i = 0; %i < 3; %i++) + { + if($Game::ScoreTime < getField($hs[%i], 0)) + { + for(%j = 2; %j > %i; %j--) + { + $hs[%j] = $hs[%j - 1]; + } + $highScoreIndex = %i; + $hs[%i] = $Game::ScoreTime @ "\t" @ $pref::highScoreName; + break; + } + } + reformatGameEndText(); + Canvas.pushDialog(EndGameGui); + if($highScoreIndex !$= "") + { + if($highScoreIndex == 0) + %msgIn = ""; + else if($highScoreIndex == 1) + %msgIn = " 2nd"; + else + %msgIn = " 3rd"; + EnterNameText.setText("YOU\'RE WINNER!\nYou got the" @ %msgIn @ " best time!"); + Canvas.pushDialog(EnterNameDlg); + EnterNameEdit.setSelectionRange(0, 100000); + } +} + +function highScoreNameAccept() +{ + Canvas.popDialog(EnterNameDlg); + for(%i = 0; %i < 3; %i++) + $pref::highScores[$Server::MissionFile, %i] = $hs[%i]; +} + +function highScoreNameChanged() +{ + $hs[$highScoreIndex] = $Game::ScoreTime @ "\t" @ $pref::highScoreName; + reformatGameEndText(); +} + +function reformatGameEndText() +{ + // Final Score + %text = + "" @ + "Final Time:\t" @ + formatTime($Game::ScoreTime) @ "\n"; + + // Qualification time + if($Game::Qualified) + { + %text = %text @ "" @ ((MissionInfo.goldTime && $Game::ScoreTime < MissionInfo.goldTime) ? + "You beat the Superb time!" : "You've qualified!"); + } + else + %text = %text @ "You failed to qualify!"; + + // Basic time info + %text = %text @ + "\n\n"; + if (MissionInfo.time) + %text = %text @ + "" @ + "Qualify Time:\t" @ + ($Game::Qualified? "": "") @ + formatTime(MissionInfo.time) @ "\n"; + else + %text = %text @ "Qualify Time:\t\t99:59.99\n"; + + if(MissionInfo.goldTime) + { + %text = %text @ "Superb Time:\t" @ + formatTime(MissionInfo.goldTime) @ "\n"; + } + + %text = %text @ + "" @ + "Elapsed Time:\t" @ formatTime($Game::ElapsedTime) @ "\n" @ + "Bonus Time:\t" @ formatTime($Game::BonusTime) @ "\n"; + %text = %text @ "\nBest Times:\n"; + for(%i = 0; %i < 3; %i++) + { + %time = getField($hs[%i], 0); + %name = getField($hs[%i], 1); + %text = %text + @ "" @ %i+1 @ ". " @ %name @ "\t" + @ (%time < MissionInfo.goldTime ? "" : "") @ formatTime(%time) @ "\n"; + } + // Display the end-game screen + EndGameGuiDescription.setText(%text); +} + + +//----------------------------------------------------------------------------- + +function formatTime(%time) +{ + %isNeg = "\t"; + if (%time < 0) + { + %time = -%time; + %isNeg = "-\t"; + } + //%hundredth = mFloor((%time % 1000) / 10); + %thousandth = mFloor(%time % 1000); + %totalSeconds = mFloor(%time / 1000); + %seconds = mFloor(%totalSeconds % 60); + %minutes = mFloor(%totalSeconds / 60); + + %secondsOne = mFloor(%seconds % 10); + %secondsTen = mFloor(%seconds / 10); + %minutesOne = mFloor(%minutes % 10); + %minutesTen = mFloor(%minutes / 10); + //%hundredthOne = mFloor(%hundredth % 10); + //%hundredthTen = mFloor(%hundredth / 10); + %thousandthOne = mFloor(%thousandth % 10); + %thousandthTen = mFloor(mFloor(%thousandth / 10) % 10); + %thousandthHundred = mFloor(%thousandth / 100); + + return %isNeg @ %minutesTen @ %minutesOne @ ":" @ + %secondsTen @ %secondsOne @ "." @ + //%hundredthTen @ %hundredthOne; + %thousandthHundred @ %thousandthTen @ %thousandthOne; + //%thousandthHundred @ %thousandthTen; // same as hundredths above but with thousandths +} diff --git a/marble/client/scripts/game.cs.dso b/marble/client/scripts/game.cs.dso new file mode 100644 index 0000000..397048a Binary files /dev/null and b/marble/client/scripts/game.cs.dso differ diff --git a/marble/client/scripts/helpCredits.cs.dso b/marble/client/scripts/helpCredits.cs.dso new file mode 100644 index 0000000..c5d8701 Binary files /dev/null and b/marble/client/scripts/helpCredits.cs.dso differ diff --git a/marble/client/scripts/helpcredits.cs b/marble/client/scripts/helpcredits.cs new file mode 100644 index 0000000..39a29b7 --- /dev/null +++ b/marble/client/scripts/helpcredits.cs @@ -0,0 +1,124 @@ +$NumHelpPages = 12; + +function HelpCreditsGui::onWake(%this) +{ + $CurHelpPage = 1; + %this.setPage($CurHelpPage); +} + +function HelpCreditsGui::setPage(%this, %page) +{ + HC_StartPad.setVisible(false); + HC_EndPad.setVisible(false); + HC_Gem1.setVisible(false); + HC_Gem2.setVisible(false); + HC_Gem3.setVisible(false); + HC_SuperSpeed.setVisible(false); + HC_SuperJump.setVisible(false); + HC_ShockAbsorber.setVisible(false); + HC_AntiGravity.setVisible(false); + HC_Helicopter.setVisible(false); + HC_TimeTravel.setVisible(false); + HC_DuctFan.setVisible(false); + HC_Tornado.setVisible(false); + HC_Trapdoor.setVisible(false); + HC_Oilslick.setVisible(false); + HC_Landmine.setVisible(false); + HC_Bumper.setVisible(false); + HC_SuperBounce.setVisible(false); + + switch(%page) + { + case 1: + %text = "Overview\n\n" @ + "Roll your marble through a rich cartoon landscape of moving platforms and dangerous hazards. Along the way find power ups to increase your speed, jumping ability or flight power, and use them to collect the hidden gems and race to the finish for the fastest time."; + %text = "Overview\n\n" @ + "Roll your marble through a rich cartoon landscape of moving platforms and dangerous hazards. Along the way find power ups to increase your speed, jumping ability or flight power, and use them to collect the hidden gems and race to the finish for the fastest time."; + case 2: + %text = "Basic Controls\n\n" @ + "The marble can be moved forward, back, left and right by pressing , , and , respectively. Pressing causes the marble to jump, and pressing uses whatever powerup you currently have available. All movement is relative to the view direction."; + case 3: + %text = "Camera Controls\n\n" @ + "The camera direction can be changed by moving the mouse or by pressing , , or . In order to look up and down freely with the mouse, hold down . You can turn free look on always from the Mouse pane of the Control Options screen."; + case 4: + %text = "Goals\n\n" @ + "Start Pad - this is where you start the level.\n\nEnd Pad - roll your marble here to end the level.\n\nGems - if a level has gems, you must pick them all up before you can exit."; + HC_StartPad.setVisible(true); + HC_EndPad.setVisible(true); + HC_Gem1.setVisible(true); + HC_Gem2.setVisible(true); + HC_Gem3.setVisible(true); + + case 5: + %text = "Bonus Items (1/2)\n\n" @ + "Super Speed PowerUp - gives you a burst of speed.\n\nSuper Jump PowerUp - gives you a big jump up.\n\nShock Absorber PowerUp - absorbs bounce impacts.\n\nSuper Bounce PowerUp - makes you bounce higher."; + HC_SuperSpeed.setVisible(true); + HC_SuperJump.setVisible(true); + HC_ShockAbsorber.setVisible(true); + HC_SuperBounce.setVisible(true); + case 6: + %text = "Bonus Items (2/2)\n\n" @ + "Gyrocopter PowerUp - slows your fall in the air.\n\nTime Travel - takes some time off the clock.\n\nGravity Modifier - Changes the direction of \"down\" - the new down is in the direction of the arrow."; + HC_AntiGravity.setVisible(true); + HC_Helicopter.setVisible(true); + HC_TimeTravel.setVisible(true); + case 7: + %text = "Hazards (1/2)\n\n" @ + "Duct Fan - be careful this doesn't blow you away!\n\nTornado - it'll pull you in and spit you out.\n\nTrap Door - keep moving when you're rolling over one of these."; + HC_DuctFan.setVisible(true); + HC_Tornado.setVisible(true); + HC_Trapdoor.setVisible(true); + case 8: + %text = "Hazards (2/2)\n\n" @ + "Bumper - this'll bounce you if you touch it.\n\nLand Mine - Warning! Explodes on contact!\n\nOil Slick - you won't have much traction on these surfaces."; + HC_Bumper.setVisible(true); + HC_Landmine.setVisible(true); + HC_Oilslick.setVisible(true); + case 9: + %text = "About GarageGames\n\n" @ + "GarageGames is a unique Internet publishing label for independent games and gamemakers. Our mission is to provide the independent developer with tools, knowledge, co-conspirators - whatever is needed to unleash the creative spirit and get great innovative independent games to market."; + case 10: + %text = "About the Torque\n\n" @ + "The Torque Game Engine (TGE) is a full featured AAA title engine with the latest in scripting, geometry, particle effects, animation and texturing, as well as award winning multi-player networking code. For $100 per programmer, you get the source to the engine! Not possible? Check the FAQ for the details."; + + case 11: + %text = "The Marble Blast Team\n\n" @ + "" @ + "Alex Swanson" @ + "Mark Frohnmayer" @ + "\nJeff Tunnell" @ + "Brian Hahn" @ + "\nLiam Ryan" @ + "Tim Gift" @ + "\nRick Overman" @ + "Kevin Ryan" @ + "\nTimothy Clarke" @ + "Jay Moore" @ + "\nPat Wilson" @ + "John Quigley"; + + case 12: + %text = "Special Thanks\n\n" @ + "We'd like to thank Nullsoft, for the SuperPiMP Install System, " @ + "and Markus F.X.J. Oberhumer, Laszlo Molnar and the rest of the UPX team for the UPX executable packer." @ + " Thanks also to Kurtis Seebaldt for his work on integrating Ogg/Vorbis streaming into the Torque engine, and to the Ogg/Vorbis team."; + + } + HC_Text.setText(%text); +} + +function HelpNext() +{ + $CurHelpPage++; + if($CurHelpPage > $NumHelpPages) + $CurHelpPage = 1; + HelpCreditsGui.setPage($CurHelpPage); +} + +function HelpPrev() +{ + $CurHelpPage--; + if($CurHelpPage < 1) + $CurHelpPage = $NumHelpPages; + HelpCreditsGui.setPage($CurHelpPage); +} \ No newline at end of file diff --git a/marble/client/scripts/loadingGui.cs.dso b/marble/client/scripts/loadingGui.cs.dso new file mode 100644 index 0000000..c075a62 Binary files /dev/null and b/marble/client/scripts/loadingGui.cs.dso differ diff --git a/marble/client/scripts/loadinggui.cs b/marble/client/scripts/loadinggui.cs new file mode 100644 index 0000000..6d12143 --- /dev/null +++ b/marble/client/scripts/loadinggui.cs @@ -0,0 +1,38 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ +function LoadingGui::onAdd(%this) +{ + %this.qLineCount = 0; +} + +//------------------------------------------------------------------------------ +function LoadingGui::onWake(%this) +{ + // Play sound... + CloseMessagePopup(); +} + +//------------------------------------------------------------------------------ +function LoadingGui::onSleep(%this) +{ + // Clear the load info: + if ( %this.qLineCount !$= "" ) + { + for ( %line = 0; %line < %this.qLineCount; %line++ ) + %this.qLine[%line] = ""; + } + %this.qLineCount = 0; + + LOAD_MapName.setText( "" ); + //LOAD_MapDescription.setText( "" ); + LoadingProgress.setValue( 0 ); + LoadingProgressTxt.setValue( "WAITING FOR SERVER" ); + + // Stop sound... +} diff --git a/marble/client/scripts/marbleSkinSelectionDlg.cs b/marble/client/scripts/marbleSkinSelectionDlg.cs new file mode 100644 index 0000000..88526f9 --- /dev/null +++ b/marble/client/scripts/marbleSkinSelectionDlg.cs @@ -0,0 +1,126 @@ +//----------------------------------------------------------------------------- +// MarbleSkinSelectionDlg.cs +// +// Copyright (c) 2015 Jeff Hutchinson +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +// IN THE SOFTWARE. +//----------------------------------------------------------------------------- + +function MarbleSkinSelectionDlg::onWake(%this) { + MSSD_Text.setText("Select Marble Skin!"); + + // build skin list + MSSD_List.clear(); + %path = $Con::root @ "/data/shapes/balls/*.marble.*"; + %file = findFirstFile(%path); + while (%file !$= "") { + // 2 passes of filebase to strip skin name: + // + // 1. base.marble + // 2. base + %skin = fileBase(fileBase(%file)); + MSSD_List.addRow(MSSD_List.rowCount(), %skin); + + // search for next file + %file = findNextFile(%path); + } + + %count = MSSD_List.rowCount(); + if (%count == 0) { + error("No marble skins found!"); + MessageBoxOK("Error", "You don't have any skins!", "Canvas.popDialog(MarbleSkinSelectionDlg);"); + } else { + echo("Found" SPC %count SPC "marble skins!"); + + %setId = 0; + + // set to current skin if we already have it + %skin = trim($pref::marbleSkin); + if (%skin !$= "") { + for (%i = 0; %i < %count; %i ++) { + %text = MSSD_List.getRowTextById(%i); + if (%text $= %skin) { + %setId = %i; + break; + } + } + } + MSSD_List.setSelectedById(%setId); + + // set skin + %skin = MSSD_List.getRowTextById(%setId); + MSSD_ObjectView.setModel($Con::root @ "/data/shapes/balls/ball-superball.dts", %skin); + + if (%count == 1) { + // if theres only one, we only have one choice! + // so disable prev/next buttons + MSSD_prev.setActive(false); + MSSD_next.setActive(false); + } + } +} + +function MarbleSkinSelectionDlg::apply(%this) { + $pref::marbleSkin = MSSD_List.getRowTextById(MSSD_List.getSelectedId()); + Canvas.popDialog(%this); +} + +function MarbleSkinSelectionDlg::next(%this) { + %id = MSSD_List.getSelectedId() + 1; + if (%id >= MSSD_List.rowCount()) + %id = 0; + MSSD_List.setSelectedById(%id); + + // set skin + %skin = MSSD_List.getRowTextById(%id); + MSSD_ObjectView.setModel($Con::root @ "/data/shapes/balls/ball-superball.dts", %skin); +} + +function MarbleSkinSelectionDlg::prev(%this) { + %id = MSSD_List.getSelectedId() - 1; + if (%id < 0) + %id = MSSD_List.rowCount() - 1; + MSSD_List.setSelectedById(%id); + + // set skin + %skin = MSSD_List.getRowTextById(%id); + MSSD_ObjectView.setModel($Con::root @ "/data/shapes/balls/ball-superball.dts", %skin); +} + +//----------------------------------------------------------------------------- + +package ActivateMarbleSkins { + // applying the skin + function GameConnection::createPlayer(%this, %spawnPoint) { + Parent::createPlayer(%this, %spawnPoint); + + // set the marble skin after the player has been created. + // If a skin was never chosen, assume the default skin. + if (trim($pref::marbleSkin) $= "") + %this.player.setSkinName("base"); + else + %this.player.setSkinName($pref::marbleSkin); + } +}; + +// activate first package as soon as the script is executed +activatePackage(ActivateMarbleSkins); + +// execute the GUI file after all the guis have been initialized +exec($Con::Root @ "/client/ui/MarbleSkinSelectionDlg.gui"); \ No newline at end of file diff --git a/marble/client/scripts/messageHud.cs.dso b/marble/client/scripts/messageHud.cs.dso new file mode 100644 index 0000000..f6c80b4 Binary files /dev/null and b/marble/client/scripts/messageHud.cs.dso differ diff --git a/marble/client/scripts/messagehud.cs b/marble/client/scripts/messagehud.cs new file mode 100644 index 0000000..175edfb --- /dev/null +++ b/marble/client/scripts/messagehud.cs @@ -0,0 +1,114 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Enter Chat Message Hud +//---------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ + +function MessageHud::open(%this) +{ + %offset = 6; + + if(%this.isVisible()) + return; + + if(%this.isTeamMsg) + %text = "TEAM:"; + else + %text = "GLOBAL:"; + + MessageHud_Text.setValue(%text); + + %windowPos = "8 " @ ( getWord( outerChatHud.position, 1 ) + getWord( outerChatHud.extent, 1 ) + 1 ); + %windowExt = getWord( OuterChatHud.extent, 0 ) @ " " @ getWord( MessageHud_Frame.extent, 1 ); + + %textExtent = getWord(MessageHud_Text.extent, 0); + %ctrlExtent = getWord(MessageHud_Frame.extent, 0); + + Canvas.pushDialog(%this); + + messageHud_Frame.position = %windowPos; + messageHud_Frame.extent = %windowExt; + MessageHud_Edit.position = setWord(MessageHud_Edit.position, 0, %textExtent + %offset); + MessageHud_Edit.extent = setWord(MessageHud_Edit.extent, 0, %ctrlExtent - %textExtent - (2 * %offset)); + + %this.setVisible(true); + deactivateKeyboard(); + MessageHud_Edit.makeFirstResponder(true); +} + +//------------------------------------------------------------------------------ + +function MessageHud::close(%this) +{ + if(!%this.isVisible()) + return; + + Canvas.popDialog(%this); + %this.setVisible(false); + if ( $enableDirectInput ) + activateKeyboard(); + MessageHud_Edit.setValue(""); +} + + +//------------------------------------------------------------------------------ + +function MessageHud::toggleState(%this) +{ + if(%this.isVisible()) + %this.close(); + else + %this.open(); +} + +//------------------------------------------------------------------------------ + +function MessageHud_Edit::onEscape(%this) +{ + MessageHud.close(); +} + +//------------------------------------------------------------------------------ + +function MessageHud_Edit::eval(%this) +{ + %text = trim(%this.getValue()); + if(%text !$= "") + { + if(MessageHud.isTeamMsg) + commandToServer('teamMessageSent', %text); + else + commandToServer('messageSent', %text); + } + + MessageHud.close(); +} + + +//---------------------------------------------------------------------------- +// MessageHud key handlers + +function toggleMessageHud(%make) +{ + if(%make) + { + MessageHud.isTeamMsg = false; + MessageHud.toggleState(); + } +} + +function teamMessageHud(%make) +{ + if(%make) + { + MessageHud.isTeamMsg = true; + MessageHud.toggleState(); + } +} diff --git a/marble/client/scripts/missionDownload.cs.dso b/marble/client/scripts/missionDownload.cs.dso new file mode 100644 index 0000000..c72f9b5 Binary files /dev/null and b/marble/client/scripts/missionDownload.cs.dso differ diff --git a/marble/client/scripts/missiondownload.cs b/marble/client/scripts/missiondownload.cs new file mode 100644 index 0000000..0f40174 --- /dev/null +++ b/marble/client/scripts/missiondownload.cs @@ -0,0 +1,144 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Mission Loading & Mission Info +// The mission loading server handshaking is handled by the +// common/client/missingLoading.cs. This portion handles the interface +// with the game GUI. +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// Loading Phases: +// Phase 1: Download Datablocks +// Phase 2: Download Ghost Objects +// Phase 3: Scene Lighting + +//---------------------------------------------------------------------------- +// Phase 1 +//---------------------------------------------------------------------------- + +function onMissionDownloadPhase1(%missionName, %musicTrack) +{ + // Close and clear the message hud (in case it's open) + //MessageHud.close(); + //cls(); + + // Reset the loading progress controls: + LoadingProgress.setValue(0); +} + +function onPhase1Progress(%progress) +{ + LoadingProgress.setValue(%progress); + Canvas.repaint(); +} + +function onPhase1Complete() +{ +} + +//---------------------------------------------------------------------------- +// Phase 2 +//---------------------------------------------------------------------------- + +function onMissionDownloadPhase2() +{ + // Reset the loading progress controls: + LoadingProgress.setValue(0); + Canvas.repaint(); +} + +function onPhase2Progress(%progress) +{ + LoadingProgress.setValue(%progress); + Canvas.repaint(); +} + +function onPhase2Complete() +{ +} + +//---------------------------------------------------------------------------- +// Phase 3 +//---------------------------------------------------------------------------- + +function onMissionDownloadPhase3() +{ +} + +function onPhase3Progress(%progress) +{ + LoadingProgress.setValue(%progress); +} + +function onPhase3Complete() +{ + LoadingProgress.setValue( 1 ); + $lightingMission = false; +} + +//---------------------------------------------------------------------------- +// Mission loading done! +//---------------------------------------------------------------------------- + +function onMissionDownloadComplete() +{ + // Client will shortly be dropped into the game, so this is + // good place for any last minute gui cleanup. +} + + +//------------------------------------------------------------------------------ +// Before downloading a mission, the server transmits the mission +// information through these messages. +//------------------------------------------------------------------------------ + +addMessageCallback( 'MsgLoadInfo', handleLoadInfoMessage ); +addMessageCallback( 'MsgLoadDescripition', handleLoadDescriptionMessage ); +addMessageCallback( 'MsgLoadInfoDone', handleLoadInfoDoneMessage ); + +//------------------------------------------------------------------------------ + +function handleLoadInfoMessage( %msgType, %msgString, %mapName ) { + + // Need to pop up the loading gui to display this stuff. + Canvas.setContent("LoadingGui"); + + // Clear all of the loading info lines: + for( %line = 0; %line < LoadingGui.qLineCount; %line++ ) + LoadingGui.qLine[%line] = ""; + LoadingGui.qLineCount = 0; + + // + LOAD_MapName.setText( "" @ %mapName ); +} + +//------------------------------------------------------------------------------ + +function handleLoadDescriptionMessage( %msgType, %msgString, %line ) +{ + LoadingGui.qLine[LoadingGui.qLineCount] = %line; + LoadingGui.qLineCount++; + + // Gather up all the previous lines, append the current one + // and stuff it into the control + %text = ""; + + for( %line = 0; %line < LoadingGui.qLineCount - 1; %line++ ) + %text = %text @ LoadingGui.qLine[%line] @ " "; + %text = %text @ LoadingGui.qLine[%line] @ ""; + + LOAD_MapDescription.setText( %text ); +} + +//------------------------------------------------------------------------------ + +function handleLoadInfoDoneMessage( %msgType, %msgString ) +{ + // This will get called after the last description line is sent. +} diff --git a/marble/client/scripts/optionsDlg.cs.dso b/marble/client/scripts/optionsDlg.cs.dso new file mode 100644 index 0000000..6c0ec10 Binary files /dev/null and b/marble/client/scripts/optionsDlg.cs.dso differ diff --git a/marble/client/scripts/optionsdlg.cs b/marble/client/scripts/optionsdlg.cs new file mode 100644 index 0000000..dcbdea7 --- /dev/null +++ b/marble/client/scripts/optionsdlg.cs @@ -0,0 +1,651 @@ +function optionsDlg::setPane(%this, %pane) +{ + OptAudioPane.setVisible(false); + OptGraphicsPaneMac.setVisible(false); + OptGraphicsPane.setVisible(false); + OptNetworkPane.setVisible(false); + OptControlsPane.setVisible(false); + if(%pane $= "Graphics") + { + if($platform $= "windows") + OptGraphicsPane.setVisible(true); + else + { + OptGraphicsPaneMac.setVisible(true); + if ($platform $= "x86UNIX") + StencilShadowsButtonMac.setVisible(true); + } + } + else + ("Opt" @ %pane @ "Pane").setVisible(true); + OptControlsPane.showMappings(); + %par = OptBoxFrame.getGroup(); + + RootGroup.add(OptBoxFrame); + RootGroup.add("Opt" @ %pane @ "Tab"); + %par.add(OptBoxFrame); + %par.add("Opt" @ %pane @ "Tab"); +} + +function OptGraphicsPane::setResolution(%this, %res) +{ + $pref::Video::resolution = %res SPC getWord($pref::Video::resolution, 2); +} + +function OptGraphicsPane::setMode(%this, %mode) +{ + $pref::Video::fullScreen = (%mode $= "Full"); +} + +function OptGraphicsPane::setDriver(%this, %driver) +{ + $pref::Video::displayDevice = %driver; +} + +function OptGraphicsPane::setDepth(%this, %depth) +{ + $pref::Video::resolution = getWords($pref::Video::resolution, 0, 1) SPC %depth; +} + +function OptionsDlg::onWake(%this) +{ + if ($platform $= "x86UNIX") + // enable stencil shadows button text on unix + OptGfxText.setText("Screen Resolution:\n\nScreen Style:\n\nColor Depth:\n\nStencil Shadows:\n\n"); + else + OptGfxText.setText("Screen Resolution:\n\nScreen Style:\n\nColor Depth:\n\n"); + + %this.setPane("Graphics"); + %buffer = getDisplayDeviceList(); + %count = getFieldCount( %buffer ); + + OptGfx640480.setValue(false); + OptGfx800600.setValue(false); + OptGfx1024768.setValue(false); + OptGfx640480Mac.setValue(false); + OptGfx800600Mac.setValue(false); + OptGfx1024768Mac.setValue(false); + + %res = getWords($pref::Video::resolution, 0, 1); + switch$(%res) + { + case "640 480": + OptGfx640480.setValue(true); + OptGfx640480Mac.setValue(true); + case "800 600": + OptGfx800600.setValue(true); + OptGfx800600Mac.setValue(true); + case "1024 768": + OptGfx1024768.setValue(true); + OptGfx1024768Mac.setValue(true); + } + %isOgl = $pref::Video::displayDevice $= "OpenGL"; + OptGfxOpenGL.setValue(%isOgl); + OptGfxD3D.setValue(!%isOgl); + + OptGfxFull.setValue($pref::Video::fullScreen); + OptGfxWindow.setValue(!$pref::Video::fullScreen); + OptGfxFullMac.setValue($pref::Video::fullScreen); + OptGfxWindowMac.setValue(!$pref::Video::fullScreen); + + %is32 = getWord($pref::Video::resolution, 2) == 32; + OptGfx16.setValue(!%is32); + OptGfx32.setValue(%is32); + OptGfx16Mac.setValue(!%is32); + OptGfx32Mac.setValue(%is32); + + OptGraphicsDriverMenu.clear(); + for(%i = 0; %i < %count; %i++) + OptGraphicsDriverMenu.add(getField(%buffer, %i), %i); + %selId = OptGraphicsDriverMenu.findText( $pref::Video::displayDevice ); + if ( %selId == -1 ) + %selId = 0; // How did THAT happen? + OptGraphicsDriverMenu.setSelected( %selId ); + OptGraphicsDriverMenu.onSelect( %selId, "" ); + + // Audio + OptAudioUpdate(); + OptAudioVolumeMaster.setValue( $pref::Audio::masterVolume); + OptAudioVolumeShell.setValue( $pref::Audio::channelVolume[$GuiAudioType]); + OptAudioVolumeSim.setValue( $pref::Audio::channelVolume[$SimAudioType]); + OptAudioDriverList.clear(); + OptAudioDriverList.add("OpenAL", 1); + OptAudioDriverList.add("none", 2); + %selId = OptAudioDriverList.findText($pref::Audio::driver); + if ( %selId == -1 ) + %selId = 0; // How did THAT happen? + OptAudioDriverList.setSelected( %selId ); + OptAudioDriverList.onSelect( %selId, "" ); +} + +function OptionsDlg::onSleep(%this) +{ + // write out the control config into the fps/config.cs file + moveMap.save( "~/client/config.cs" ); + +} + +function OptGraphicsDriverMenu::onSelect( %this, %id, %text ) +{ + // Attempt to keep the same res and bpp settings: + if ( OptGraphicsResolutionMenu.size() > 0 ) + %prevRes = OptGraphicsResolutionMenu.getText(); + else + %prevRes = getWords( $pref::Video::resolution, 0, 1 ); + + // Check if this device is full-screen only: + if ( isDeviceFullScreenOnly( %this.getText() ) ) + { + OptGraphicsFullscreenToggle.setValue( true ); + OptGraphicsFullscreenToggle.setActive( false ); + OptGraphicsFullscreenToggle.onAction(); + } + else + OptGraphicsFullscreenToggle.setActive( true ); + + if ( OptGraphicsFullscreenToggle.getValue() ) + { + if ( OptGraphicsBPPMenu.size() > 0 ) + %prevBPP = OptGraphicsBPPMenu.getText(); + else + %prevBPP = getWord( $pref::Video::resolution, 2 ); + } + + // Fill the resolution and bit depth lists: + OptGraphicsResolutionMenu.init( %this.getText(), OptGraphicsFullscreenToggle.getValue() ); + OptGraphicsBPPMenu.init( %this.getText() ); + + // Try to select the previous settings: + %selId = OptGraphicsResolutionMenu.findText( %prevRes ); + if ( %selId == -1 ) + %selId = 0; + OptGraphicsResolutionMenu.setSelected( %selId ); + + if ( OptGraphicsFullscreenToggle.getValue() ) + { + %selId = OptGraphicsBPPMenu.findText( %prevBPP ); + if ( %selId == -1 ) + %selId = 0; + OptGraphicsBPPMenu.setSelected( %selId ); + OptGraphicsBPPMenu.setText( OptGraphicsBPPMenu.getTextById( %selId ) ); + } + else + OptGraphicsBPPMenu.setText( "Default" ); + +} + +function OptGraphicsResolutionMenu::init( %this, %device, %fullScreen ) +{ + %this.clear(); + %resList = getResolutionList( %device ); + %resCount = getFieldCount( %resList ); + %deskRes = getDesktopResolution(); + + %count = 0; + for ( %i = 0; %i < %resCount; %i++ ) + { + %res = getWords( getField( %resList, %i ), 0, 1 ); + + if ( !%fullScreen ) + { + if ( firstWord( %res ) >= firstWord( %deskRes ) ) + continue; + if ( getWord( %res, 1 ) >= getWord( %deskRes, 1 ) ) + continue; + } + + // Only add to list if it isn't there already: + if ( %this.findText( %res ) == -1 ) + { + %this.add( %res, %count ); + %count++; + } + } +} + +function OptGraphicsFullscreenToggle::onAction(%this) +{ + Parent::onAction(); + %prevRes = OptGraphicsResolutionMenu.getText(); + + // Update the resolution menu with the new options + OptGraphicsResolutionMenu.init( OptGraphicsDriverMenu.getText(), %this.getValue() ); + + // Set it back to the previous resolution if the new mode supports it. + %selId = OptGraphicsResolutionMenu.findText( %prevRes ); + if ( %selId == -1 ) + %selId = 0; + OptGraphicsResolutionMenu.setSelected( %selId ); +} + + +function OptGraphicsBPPMenu::init( %this, %device ) +{ + %this.clear(); + + if ( %device $= "Voodoo2" ) + %this.add( "16", 0 ); + else + { + %resList = getResolutionList( %device ); + %resCount = getFieldCount( %resList ); + %count = 0; + for ( %i = 0; %i < %resCount; %i++ ) + { + %bpp = getWord( getField( %resList, %i ), 2 ); + + // Only add to list if it isn't there already: + if ( %this.findText( %bpp ) == -1 ) + { + %this.add( %bpp, %count ); + %count++; + } + } + } +} + +function optionsDlg::applyGraphics( %this ) +{ +// %newDriver = OptGraphicsDriverMenu.getText(); +// %newRes = OptGraphicsResolutionMenu.getText(); +// %newBpp = OptGraphicsBPPMenu.getText(); +// %newFullScreen = OptGraphicsFullscreenToggle.getValue(); + pauseMusic(); + if ($pref::Video::displayDevice !$= getDisplayDeviceName()) + { + setDisplayDevice( $pref::Video::displayDevice, + firstWord( $pref::Video::resolution ), + getWord( $pref::Video::resolution, 1 ), + getWord( $pref::Video::resolution, 2), + $pref::Video::fullScreen ); + //OptionsDlg::deviceDependent( %this ); + } + else if($pref::Video::resolution !$= getResolution()) + { + setScreenMode( firstWord( $pref::Video::resolution ), + getWord( $pref::Video::resolution, 1 ), + getWord( $pref::Video::resolution, 2), + $pref::Video::fullScreen ); + } + else if($pref::Video::fullScreen != isFullScreen()) + toggleFullScreen(); + resumeMusic(); +} + + + +$RemapCount = 0; +$RemapName[$RemapCount] = "Move Forward"; +$RemapCmd[$RemapCount] = "moveforward"; +$RemapCount++; +$RemapName[$RemapCount] = "Move Backward"; +$RemapCmd[$RemapCount] = "movebackward"; +$RemapCount++; +$RemapName[$RemapCount] = "Move Left"; +$RemapCmd[$RemapCount] = "moveleft"; +$RemapCount++; +$RemapName[$RemapCount] = "Move Right"; +$RemapCmd[$RemapCount] = "moveright"; +$RemapCount++; +$RemapName[$RemapCount] = "Jump"; +$RemapCmd[$RemapCount] = "jump"; +$RemapCount++; +$RemapName[$RemapCount] = "Use PowerUp"; +$RemapCmd[$RemapCount] = "mouseFire"; +$RemapCount++; +$RemapName[$RemapCount] = "Rotate Camera Left"; +$RemapCmd[$RemapCount] = "turnLeft"; +$RemapCount++; +$RemapName[$RemapCount] = "Rotate Camera Right"; +$RemapCmd[$RemapCount] = "turnRight"; +$RemapCount++; +$RemapName[$RemapCount] = "Rotate Camera Up"; +$RemapCmd[$RemapCount] = "panUp"; +$RemapCount++; +$RemapName[$RemapCount] = "Rotate Camera Down"; +$RemapCmd[$RemapCount] = "panDown"; +$RemapCount++; +$RemapName[$RemapCount] = "Free Look"; +$RemapCmd[$RemapCount] = "freelook"; +$RemapCount++; + + +function restoreDefaultMappings() +{ + moveMap.delete(); + exec( "~/client/scripts/default.bind.cs" ); + OptRemapList.fillList(); +} + +function getMapDisplayName( %device, %action, %fullText ) +{ + if ( %device $= "keyboard" ) + { + if(%action $= "space") + return "Space Bar"; + return( upperFirst(%action) ); + } + else if ( strstr( %device, "mouse" ) != -1 ) + { + // Substitute "mouse" for "button" in the action string: + %pos = strstr( %action, "button" ); + if ( %pos != -1 ) + { + %mods = getSubStr( %action, 0, %pos ); + %object = getSubStr( %action, %pos, 1000 ); + %instance = getSubStr( %object, strlen( "button" ), 1000 ); + if(%fullText) + { + if(%instance < 2) + { + if(%mods $= "") + %mods = "the "; + if($platform $= "macos" && %instance == 0) + return %mods @ "Mouse Button"; + if(%instance == 0) + return %mods @ "Left Mouse Button"; + return %mods @ "Right Mouse Button"; + } + else + return( %mods @ "Mouse Button " @ ( %instance + 1 ) ); + + } + else + { + if(%instance < 2) + { + if($platform $= "macos" && %instance == 0) + return %mods @ "Mouse Button"; + if(%instance == 0) + return %mods @ "Left Mouse"; + return %mods @ "Right Mouse"; + } + else + return( %mods @ "Mouse Btn. " @ ( %instance + 1 ) ); + } + } + else + error( "Mouse input object other than button passed to getDisplayMapName!" ); + } + else if ( strstr( %device, "joystick" ) != -1 ) + { + // Substitute "joystick" for "button" in the action string: + %pos = strstr( %action, "button" ); + if ( %pos != -1 ) + { + %mods = getSubStr( %action, 0, %pos ); + %object = getSubStr( %action, %pos, 1000 ); + %instance = getSubStr( %object, strlen( "button" ), 1000 ); + return( %mods @ "Joystick" @ ( %instance + 1 ) ); + } + else + { + %pos = strstr( %action, "pov" ); + if ( %pos != -1 ) + { + %wordCount = getWordCount( %action ); + %mods = %wordCount > 1 ? getWords( %action, 0, %wordCount - 2 ) @ " " : ""; + %object = getWord( %action, %wordCount - 1 ); + switch$ ( %object ) + { + case "upov": %object = "POV1 up"; + case "dpov": %object = "POV1 down"; + case "lpov": %object = "POV1 left"; + case "rpov": %object = "POV1 right"; + case "upov2": %object = "POV2 up"; + case "dpov2": %object = "POV2 down"; + case "lpov2": %object = "POV2 left"; + case "rpov2": %object = "POV2 right"; + default: %object = "??"; + } + return( %mods @ %object ); + } + else + error( "Unsupported Joystick input object passed to getDisplayMapName!" ); + } + } + + return( "??" ); +} + +function buildFullMapString( %index ) +{ + %name = $RemapName[%index]; + %cmd = $RemapCmd[%index]; + + %temp = moveMap.getBinding( %cmd ); + %device = getField( %temp, 0 ); + %object = getField( %temp, 1 ); + if ( %device !$= "" && %object !$= "" ) + %mapString = getMapDisplayName( %device, %object ); + else + %mapString = ""; + + return( %cmd TAB %mapString ); +} + +function OptRemapList::fillList( %this ) +{ +} + +//------------------------------------------------------------------------------ + +function OptControlsPane::showMappings() +{ + for ( %i = 0; %i < $RemapCount; %i++ ) + { + %str = buildFullMapString(%i); + %ctrl = nameToId("remap_" @ getField(%str, 0)); + %ctrl.setText(getField(%str, 1)); + } +} + +function OptControlsPane::remap(%this, %ctrl, %name ) +{ + OptRemapText.setText( "Press a new key or button for \"" @ %name @ "\"" ); + OptRemapInputCtrl.ctrl = %ctrl; + OptRemapInputCtrl.nameText = %name; + Canvas.pushDialog( RemapDlg ); +} + +//------------------------------------------------------------------------------ +function redoMapping( %device, %action, %cmd) +{ + //%actionMap.bind( %device, %action, $RemapCmd[%newIndex] ); + moveMap.bind( %device, %action, %cmd ); + OptControlsPane.showMappings(); +} + +//------------------------------------------------------------------------------ +function findRemapCmdIndex( %command ) +{ + for ( %i = 0; %i < $RemapCount; %i++ ) + { + if ( %command $= $RemapCmd[%i] ) + return( %i ); + } + return( -1 ); +} + +function OptRemapInputCtrl::onInputEvent( %this, %device, %action ) +{ + //error( "** onInputEvent called - device = " @ %device @ ", action = " @ %action @ " **" ); + Canvas.popDialog( RemapDlg ); + + // Test for the reserved keystrokes: + if ( %device $= "keyboard" ) + { + // Cancel... + if ( %action $= "escape" ) + { + // Do nothing... + return; + } + } + if(%action $= "") + return; + + %cmd = %this.ctrl; + %name = %this.nameText; + + // First check to see if the given action is already mapped: + %prevMap = moveMap.getCommand( %device, %action ); + if ( %prevMap !$= %cmd ) + { + if ( %prevMap $= "" ) + { + moveMap.bind( %device, %action, %cmd ); + OptControlsPane.showMappings(); + } + else + { + %mapName = getMapDisplayName( %device, %action ); + %prevMapIndex = findRemapCmdIndex( %prevMap ); + if ( %prevMapIndex == -1 ) + MessageBoxOK( "REMAP FAILED", "\"" @ %mapName @ "\" is already bound to a non-remappable command!" ); + else + { + %prevCmdName = $RemapName[%prevMapIndex]; + MessageBoxYesNo( "WARNING", + "\"" @ %mapName @ "\" is already bound to \"" + @ %prevCmdName @ "\"!\nDo you want to undo this mapping?", + "redoMapping(" @ %device @ ", \"" @ %action @ "\", \"" @ %cmd @ "\");", "" ); + } + return; + } + } +} + +// Audio +function OptAudioUpdate() +{ + // set the driver text + %text = "Vendor: " @ alGetString("AL_VENDOR") @ + "\nVersion: " @ alGetString("AL_VERSION") @ + "\nRenderer: " @ alGetString("AL_RENDERER"); + + // don't display the extensions on linux. there's too many of them and + // they mess up the control + if ($platform $= "x86UNIX") + %text = %text @ "\nExtensions: (See Console) "; + else + %text = %text @ "\nExtensions: " @ alGetString("AL_EXTENSIONS"); + OptAudioInfo.setText(%text); +} + + +// Channel 0 is unused in-game, but is used here to test master volume. + +new AudioDescription(AudioChannel0) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 0; +}; + +new AudioDescription(AudioChannel1) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 1; +}; + +new AudioDescription(AudioChannel2) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 2; +}; + +new AudioDescription(AudioChannel3) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 3; +}; + +new AudioDescription(AudioChannel4) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 4; +}; + +new AudioDescription(AudioChannel5) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 5; +}; + +new AudioDescription(AudioChannel6) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 6; +}; + +new AudioDescription(AudioChannel7) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 7; +}; + +new AudioDescription(AudioChannel8) +{ + volume = 1.0; + isLooping= false; + is3D = false; + type = 8; +}; + +$AudioTestHandle = 0; + +function OptAudioUpdateMasterVolume(%volume) +{ + if (%volume == $pref::Audio::masterVolume) + return; + alxListenerf(AL_GAIN_LINEAR, %volume); + $pref::Audio::masterVolume = %volume; + if (!alxIsPlaying($AudioTestHandle)) + { + $AudioTestHandle = alxCreateSource("AudioChannel0", expandFilename("~/data/sound/testing.wav")); + alxPlay($AudioTestHandle); + } +} + +function OptAudioUpdateChannelVolume(%channel) +{ + if (%channel < 1 || %channel > 8) + return; + + alxSetChannelVolume(%channel, $pref::Audio::channelVolume[%channel]); + if (!alxIsPlaying($AudioTestHandle) && %channel == 1) + { + $AudioTestHandle = alxCreateSource("AudioChannel"@%channel, expandFilename("~/data/sound/testing.wav")); + alxPlay($AudioTestHandle); + } +} + + +function OptAudioDriverList::onSelect( %this, %id, %text ) +{ + if (%text $= "") + return; + + if ($pref::Audio::driver $= %text) + return; + + $pref::Audio::driver = %text; + OpenALInit(); +} + diff --git a/marble/client/scripts/playGui.cs.dso b/marble/client/scripts/playGui.cs.dso new file mode 100644 index 0000000..99c3d05 Binary files /dev/null and b/marble/client/scripts/playGui.cs.dso differ diff --git a/marble/client/scripts/playgui.cs b/marble/client/scripts/playgui.cs new file mode 100644 index 0000000..d0999cb --- /dev/null +++ b/marble/client/scripts/playgui.cs @@ -0,0 +1,259 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// PlayGui is the main TSControl through which the game is viewed. +// The PlayGui also contains the hud controls. +//----------------------------------------------------------------------------- + +function PlayGui::onWake(%this) +{ + // Turn off any shell sounds... + // alxStop( ... ); + + $enableDirectInput = "1"; + activateDirectInput(); + + // Message hud dialog + Canvas.pushDialog( MainChatHud ); + chatHud.attach(HudMessageVector); + + // Make sure the display is up to date + %this.setGemCount(%this.gemCount); + %this.setMaxGems(%this.maxGems); + %this.timerInc = 50; + + // just update the action map here + if($playingDemo) + demoMap.push(); + else + moveMap.push(); + + // hack city - these controls are floating around and need to be clamped + schedule(0, 0, "refreshCenterTextCtrl"); + schedule(0, 0, "refreshBottomTextCtrl"); + playGameMusic(); +} + +function PlayGui::onSleep(%this) +{ + Canvas.popDialog(MainChatHud); + // Terminate all playing sounds + alxStopAll(); + + playShellMusic(); + + // pop the keymaps + moveMap.pop(); + demoMap.pop(); +} + +//----------------------------------------------------------------------------- + +function PlayGui::setMessage(%this,%bitmap,%timer) +{ + // Set the center message bitmap + if (%bitmap !$= "") { + CenterMessageDlg.setBitmap($Con::Root @ "/client/ui/game/" @ %bitmap @ ".png",true); + CenterMessageDlg.setVisible(true); + cancel(CenterMessageDlg.timer); + if (%timer) + CenterMessageDlg.timer = CenterMessageDlg.schedule(%timer,"setVisible",false); + } + else + CenterMessageDlg.setVisible(false); +} + + +//----------------------------------------------------------------------------- + +function PlayGui::setPowerUp(%this,%shapeFile) +{ + // Update the power up hud control + if (%shapeFile $= "") + HUD_ShowPowerUp.setEmpty(); + else + HUD_ShowPowerUp.setModel(%shapeFile, ""); +} + + +//----------------------------------------------------------------------------- + +function PlayGui::setMaxGems(%this,%count) +{ + %this.maxGems = %count; + + %one = %count % 10; + %ten = ((%count - %one) / 10) % 10; + %hun = ((%count - %one) / 100) % 12; + GemsTotalHun.setNumber(%hun); + GemsTotalTen.setNumber(%ten); + GemsTotalOne.setNumber(%one); + + %visible = %count != 0; + HUD_ShowGem.setVisible(%visible); + GemsFoundHun.setVisible(%visible); + GemsFoundTen.setVisible(%visible); + GemsFoundOne.setVisible(%visible); + GemsSlash.setVisible(%visible); + GemsTotalHun.setVisible(%visible); + GemsTotalTen.setVisible(%visible); + GemsTotalOne.setVisible(%visible); + HUD_ShowGem.setModel("marble/data/shapes/items/gem.dts",""); +} + +function PlayGui::setGemCount(%this,%count) +{ + %this.gemCount = %count; + %one = %count % 10; + %ten = ((%count - %one) / 10) % 10; + %hun = ((%count - %one) / 100) % 12; + GemsFoundHun.setNumber(%hun); + GemsFoundTen.setNumber(%ten); + GemsFoundOne.setNumber(%one); +} + + +//----------------------------------------------------------------------------- +// Elapsed Timer Display + +function PlayGui::setTime(%this,%dt) +{ + %this.elapsedTime = %dt; + %this.updateControls(); +} + +function PlayGui::resetTimer(%this,%dt) +{ + %this.elapsedTime = 0; + %this.bonusTime = 0; + %this.totalBonus = 0; + if($BonusSfx !$= "") + { + alxStop($BonusSfx); + $BonusSfx = ""; + } + + %this.updateControls(); + %this.stopTimer(); +} + +function PlayGui::adjustTimer(%this,%dt) +{ + %this.elapsedTime += %dt; + %this.updateControls(); +} + +function PlayGui::addBonusTime(%this, %dt) +{ + %this.bonusTime += %dt; + if($BonusSfx $= "") + $BonusSfx = alxPlay(TimeTravelLoopSfx); +} + +function PlayGui::startTimer(%this) +{ + $PlayTimerActive = true; +} + +function onFrameAdvance(%timeDelta) +{ + if($PlayTimerActive) + PlayGui.updateTimer(%timeDelta); +} + +function PlayGui::stopTimer(%this) +{ + $PlayTimerActive = false; + if($BonusSfx !$= "") + { + alxStop($BonusSfx); + $BonusSfx = ""; + } +} + +function PlayGui::updateTimer(%this, %timeInc) +{ + if(%this.bonusTime) + { + if(%this.bonusTime > %timeInc) + { + %this.bonusTime -= %timeInc; + %this.totalBonus += %timeInc; + %timeInc = 0; + } + else + { + %timeInc -= %this.bonusTime; + %this.totalBonus += %this.bonusTime; + %this.bonusTime = 0; + alxStop($BonusSfx); + $BonusSfx = ""; + } + } + %this.elapsedTime += %timeInc; + + // Some sanity checking + if (%this.elapsedTime > 3600000) + %this.elapsedTime = 3599999; + + %this.updateControls(); +} + +function PlayGui::updateControls(%this) +{ + %et = %this.elapsedTime; + %drawNeg = false; + if(%et < 0) + { + %et = - %et; + %drawNeg = true; + } + + %hundredth = mFloor((%et % 1000) / 10); + %totalSeconds = mFloor(%et / 1000); + %seconds = %totalSeconds % 60; + %minutes = (%totalSeconds - %seconds) / 60; + + %secondsOne = %seconds % 10; + %secondsTen = (%seconds - %secondsOne) / 10; + %minutesOne = %minutes % 10; + %minutesTen = (%minutes - %minutesOne) / 10; + %hundredthOne = %hundredth % 10; + %hundredthTen = (%hundredth - %hundredthOne) / 10; + + // Update the controls + Min_Ten.setNumber(%minutesTen); + Min_One.setNumber(%minutesOne); + Sec_Ten.setNumber(%secondsTen); + Sec_One.setNumber(%secondsOne); + Sec_Tenth.setNumber(%hundredthTen); + Sec_Hundredth.setNumber(%hundredthOne); + PG_NegSign.setVisible(%drawNeg); +} + + +//----------------------------------------------------------------------------- + +function GuiBitmapCtrl::setNumber(%this,%number) +{ + %this.setBitmap($Con::Root @ "/client/ui/game/numbers/" @ %number @ ".png"); +} + + +//----------------------------------------------------------------------------- + +function refreshBottomTextCtrl() +{ + BottomPrintText.position = "0 0"; +} + +function refreshCenterTextCtrl() +{ + CenterPrintText.position = "0 0"; +} + diff --git a/marble/client/scripts/serverConnection.cs.dso b/marble/client/scripts/serverConnection.cs.dso new file mode 100644 index 0000000..93f7720 Binary files /dev/null and b/marble/client/scripts/serverConnection.cs.dso differ diff --git a/marble/client/scripts/serverconnection.cs b/marble/client/scripts/serverconnection.cs new file mode 100644 index 0000000..c8bb51c --- /dev/null +++ b/marble/client/scripts/serverconnection.cs @@ -0,0 +1,168 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +// Functions dealing with connecting to a server + + +//----------------------------------------------------------------------------- +// Server connection error +//----------------------------------------------------------------------------- + +addMessageCallback( 'MsgConnectionError', handleConnectionErrorMessage ); + +function handleConnectionErrorMessage(%msgType, %msgString, %msgError) +{ + // On connect the server transmits a message to display if there + // are any problems with the connection. Most connection errors + // are game version differences, so hopefully the server message + // will tell us where to get the latest version of the game. + $ServerConnectionErrorMessage = %msgError; +} + + +//---------------------------------------------------------------------------- +// GameConnection client callbacks +//---------------------------------------------------------------------------- + +function GameConnection::initialControlSet(%this) +{ + echo ("*** Initial Control Object"); + + // The first control object has been set by the server + // and we are now ready to go. + + // first check if the editor is active + if (!Editor::checkActiveLoadDone()) + { + if (Canvas.getContent() != PlayGui.getId()) + Canvas.setContent(PlayGui); + } +} + +function GameConnection::setLagIcon(%this, %state) +{ + if (%this.getAddress() $= "local") + return; + LagIcon.setVisible(%state $= "true"); +} + +function GameConnection::onConnectionAccepted(%this) +{ + // Called on the new connection object after connect() succeeds. + LagIcon.setVisible(false); +} + +function GameConnection::onConnectionTimedOut(%this) +{ + // Called when an established connection times out + disconnectedCleanup(); + MessageBoxOK( "TIMED OUT", "The server connection has timed out."); +} + +function GameConnection::onConnectionDropped(%this, %msg) +{ + // Established connection was dropped by the server + disconnectedCleanup(); + MessageBoxOK( "DISCONNECT", "The server has dropped the connection: " @ %msg); +} + +function GameConnection::onConnectionError(%this, %msg) +{ + // General connection error, usually raised by ghosted objects + // initialization problems, such as missing files. We'll display + // the server's connection error message. + disconnectedCleanup(); + MessageBoxOK( "DISCONNECT", $ServerConnectionErrorMessage @ " (" @ %msg @ ")" ); +} + + +//---------------------------------------------------------------------------- +// Connection Failed Events +// These events aren't attached to a GameConnection object because they +// occur before one exists. +//---------------------------------------------------------------------------- + +function GameConnection::onConnectRequestRejected( %this, %msg ) +{ + switch$(%msg) + { + case "CR_INVALID_PROTOCOL_VERSION": + %error = "Incompatible protocol version: Your game version is not compatible with this server."; + case "CR_INVALID_CONNECT_PACKET": + %error = "Internal Error: badly formed network packet"; + case "CR_YOUAREBANNED": + %error = "You are not allowed to play on this server."; + case "CR_SERVERFULL": + %error = "This server is full."; + case "CHR_PASSWORD": + // XXX Should put up a password-entry dialog. + if ($Client::Password $= "") + MessageBoxOK( "REJECTED", "That server requires a password."); + else { + $Client::Password = ""; + MessageBoxOK( "REJECTED", "That password is incorrect."); + } + return; + case "CHR_PROTOCOL": + %error = "Incompatible protocol version: Your game version is not compatible with this server."; + case "CHR_CLASSCRC": + %error = "Incompatible game classes: Your game version is not compatible with this server."; + case "CHR_INVALID_CHALLENGE_PACKET": + %error = "Internal Error: Invalid server response packet"; + default: + %error = "Connection error. Please try another server. Error code: (" @ %msg @ ")"; + } + disconnectedCleanup(); + MessageBoxOK( "REJECTED", %error); +} + +function GameConnection::onConnectRequestTimedOut(%this) +{ + disconnectedCleanup(); + MessageBoxOK( "TIMED OUT", "Your connection to the server timed out." ); +} + + +//----------------------------------------------------------------------------- +// Disconnect +//----------------------------------------------------------------------------- + +function disconnect() +{ + // Delete the connection if it's still there. + if (isObject(ServerConnection)) + ServerConnection.delete(); + disconnectedCleanup(); + + // Call destroyServer in case we're hosting + destroyServer(); +} + +function disconnectedCleanup() +{ + // Clear misc script stuff + HudMessageVector.clear(); + + if (isObject(MusicPlayer)) + MusicPlayer.stop(); + // + //LagIcon.setVisible(false); + //PlayerListGui.clear(); + + // Clear all print messages + clientCmdclearBottomPrint(); + clientCmdClearCenterPrint(); + + // Back to the launch screen + setPlayMissionGui(); + + // Dump anything we're not using + clearTextureHolds(); + purgeResources(); + stopDemo(); +} + diff --git a/marble/client/scripts/tttimer.cs b/marble/client/scripts/tttimer.cs new file mode 100644 index 0000000..f145b6f --- /dev/null +++ b/marble/client/scripts/tttimer.cs @@ -0,0 +1,192 @@ +//HiGuy: We need to wait to execute this! +if (!$TMTimer::Execute) { + $TMTimer::Execute = true; + schedule(1000, 0, exec, $Con::File); + return; +} + +//Determine mod +function getMod() { + if (isFile("marble/server/scripts/speedmeter.cs.dso")) + return "Advanced"; + if (isFile("marble/client/ui/Awards/AllSapphires.png")) + return "Emerald"; + if (isFile("marble/quickFix.cs")) + return "Future"; + if (isFile("marble/quickFix.cs.dso")) + return "Future"; + if (isFile("marble/client/ui/fullVersion.png")) + return "Gold Demo"; + if (isFile("marble/client/ui/STBox.gui.dso")) + return "Opal"; + if (isFile("marble/client/ui/play_rc_d.png")) + return "Platinum"; + if (isFile("platinum/client/ui/play_rc_d.png")) + return "Platinum"; + if (isFile("marble/client/ui/BBLoadingGui.gui.dso")) + return "Reloaded"; + if (isFile("marble/data/particles/debris.png")) + return "Revived"; + if (isFile("marble/client/ui/loading/loadinggui_origin.png")) + return "Space"; + return "Gold"; +} + +//HiGuy: Jeff said I had to. :( +function getGameName() { + if ($platform $= "macos") + return "MarbleBlast"; + return "Marble Blast"; +// return "Murble Blust"; +} + +echo("Initializing TimeModifier Timer scripts in" SPC getGameName() SPC getMod()); + +//HiGuy: Called when we init this script +function initTMTimer() { + //HiGuy: Clean up + if (isObject(PG_TMTimer)) + PG_TMTimer.delete(); + + //HiGuy: Create the whole Gui (unnecessary portions left out) + new GuiControl(PG_TMTimer) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + //HiGuy: Center it! + position = mfloor((getWord(PlayGui.getExtent(), 0) - 237) / 2) SPC "62"; + extent = "237 46"; + visible = "0"; + + new GuiBitmapCtrl(TMMin_One) { + profile = "GuiDefaultProfile"; + position = "74 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/0_green.png"; + }; + new GuiBitmapCtrl(TMMinSec_Colon) { + profile = "GuiDefaultProfile"; + position = "86 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/colon_green.png"; + }; + new GuiBitmapCtrl(TMSec_Ten) { + profile = "GuiDefaultProfile"; + position = "98 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/0_green.png"; + }; + new GuiBitmapCtrl(TMSec_One) { + profile = "GuiDefaultProfile"; + position = "115 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/0_green.png"; + }; + new GuiBitmapCtrl(TMMinSec_Point) { + profile = "GuiDefaultProfile"; + position = "125 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/point_green.png"; + }; + new GuiBitmapCtrl(TMSec_Tenth) { + profile = "GuiDefaultProfile"; + position = "137 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/0_green.png"; + }; + new GuiBitmapCtrl(TMSec_Hundredth) { + profile = "GuiDefaultProfile"; + position = "155 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/0_green.png"; + }; + new GuiBitmapCtrl(TMMin_Ten) { + profile = "GuiDefaultProfile"; + position = "56 3"; + extent = "30 38"; + bitmap = $Con::Root @ "/client/ui/game/numbers/0_green.png"; + }; + }; + //HiGuy: Add it to the PlayGui + PlayGui.add(PG_TMTimer); + + //HiGuy: Pretty ourselves up + if (getMod() $= "Platinum") { + new GuiBitmapCtrl(TMtransparency) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + position = "48 -7"; + extent = "141 55"; + bitmap = $Con::Root @ "/client/ui/game/transparency"; + }; + PG_TMTimer.add(TMtransparency); + + //HiGuy: Send to back (it's strange, I know) + PG_TMTimer.bringToFront(TMtransparency); + } + + //HiGuy: Updating scripts + activatePackage(TMTimer); +} + +//HiGuy: OVERRIDE TIME +package TMTimer { + //HiGuy: General, all-around good functions to call from + + function clientCmdGameStart() { + Parent::clientCmdGameStart(); + PlayGui.updateControls(); + } + function setGameState(%a, %b) { + Parent::setGameState(%a, %b); + PlayGui.updateControls(); + } + function GameConnection::incBonusTime(%this, %a) { + Parent::incBonusTime(%this, %a); + PlayGui.updateControls(); + } + + //HiGuy: Update our things! + function PlayGui::updateControls(%this) { + Parent::updateControls(%this); + + //HiGuy: Copied directly from PlayGui.cs, just changed to BonusTime + %bt = %this.bonusTime; + PG_TMTimer.setVisible(%bt); + + if (%bt) { + %hundredth = mFloor((%bt % 1000) / 10); + %totalSeconds = mFloor(%bt / 1000); + %seconds = %totalSeconds % 60; + %minutes = (%totalSeconds - %seconds) / 60; + + %secondsOne = %seconds % 10; + %secondsTen = (%seconds - %secondsOne) / 10; + %minutesOne = %minutes % 10; + %minutesTen = (%minutes - %minutesOne) / 10; + %hundredthOne = %hundredth % 10; + %hundredthTen = (%hundredth - %hundredthOne) / 10; + + // Update the controls + TMMin_Ten.setTimeNumber(%minutesTen); + TMMin_One.setTimeNumber(%minutesOne); + TMSec_Ten.setTimeNumber(%secondsTen); + TMSec_One.setTimeNumber(%secondsOne); + TMSec_Tenth.setTimeNumber(%hundredthTen); + TMSec_Hundredth.setTimeNumber(%hundredthOne); + + TMMinSec_Colon.setTimeNumber("colon"); + TMMinSec_Point.setTimeNumber("point"); + } + } +}; + +//HiGuy: I know MBP has this, but I don't think MBG does +function GuiBitmapCtrl::setTimeNumber(%this, %number) { + if (getMod() $= "Platinum") + %this.setBitmap($Con::Root @ "/client/ui/game/numbers/" @ %number @ $PlayTimerPrefix @ ".png"); + else + %this.setBitmap($Con::Root @ "/client/ui/game/numbers/" @ %number @ ".png"); +} + +//HiGuy: START HER UP +initTMTimer(); diff --git a/marble/client/scripts/tttimer.cs.dso b/marble/client/scripts/tttimer.cs.dso new file mode 100644 index 0000000..5901c3e Binary files /dev/null and b/marble/client/scripts/tttimer.cs.dso differ diff --git a/marble/client/scripts/version.cs b/marble/client/scripts/version.cs new file mode 100644 index 0000000..0f42912 --- /dev/null +++ b/marble/client/scripts/version.cs @@ -0,0 +1,59 @@ +$THIS_VERSION = "1.3.1"; +$SERVER_VERSION = "1.3.1"; +$BUILD_VERSION = 1; +$VERSION_MESSAGE = ""; + + +//------------------------------------- +function startVersionCheck() +{ + if($pref::checkMOTDAndVersion) + { + new HTTPObject ( Version ); + Version.get("kevinthe.horse", "/kevinblast/index.html"); + echo("Checking Server Version"); + } +} + + +//------------------------------------- +function Version::onLine(%this, %line) +{ + %cmd = firstWord(%line); + %rest = restWords(%line); + if (%cmd $= "VERSION") + %this.handleVersion(%rest); +} + + +//------------------------------------- +function Version::handleVersion(%this, %line) +{ + $SERVER_VERSION = firstWord(%line); + $VERSION_MESSAGE = restWords(%line); + + echo("Server Version = " @ $SERVER_VERSION); + echo("This Version = " @ $THIS_VERSION); + + %this.check(); +} + + +//------------------------------------- +function Version::check() +{ + // only pop-up the notice on the "MainMenuGui" which calls this onWake + // just in case we missed it. + + $content = canvas.getContent().getName(); + + if (($SERVER_VERSION > $THIS_VERSION) && + ($content $= "MainMenuGui") && !$VersionCheckDoneOnce) + { + $VersionCheckDoneOnce = true; + StopDemoTimer(); + MOTDGuiText.setText("New Version Available!\n" @ $VERSION_MESSAGE); + Canvas.pushDialog(MOTDGui); + } +} + diff --git a/marble/client/scripts/version.cs.dso b/marble/client/scripts/version.cs.dso new file mode 100644 index 0000000..9a7c5d5 Binary files /dev/null and b/marble/client/scripts/version.cs.dso differ diff --git a/marble/client/ui/EnterNameDlg.gui b/marble/client/ui/EnterNameDlg.gui new file mode 100644 index 0000000..71a6418 --- /dev/null +++ b/marble/client/ui/EnterNameDlg.gui @@ -0,0 +1,85 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EnterNameDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "112 111"; + extent = "416 257"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "common/ui/dialog"; + wrap = "0"; + + new GuiBitmapButtonCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "163 182"; + extent = "78 59"; + minExtent = "8 8"; + visible = "1"; + command = "highScoreNameAccept();"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "common/ui/ok"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "58 124"; + extent = "295 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "common/ui/window"; + wrap = "0"; + }; + new GuiMLTextCtrl(EnterNameText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "41 30"; + extent = "345 14"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiTextEditCtrl(EnterNameEdit) { + profile = "GuiBigTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "87 136"; + extent = "255 36"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::HighScoreName"; + command = "highScoreNameChanged();"; + altCommand = "highScoreNameAccept();"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + sinkAllKeyEvents = "0"; + maxPixelWidth = 145; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/EnterNameDlg.gui.dso b/marble/client/ui/EnterNameDlg.gui.dso new file mode 100644 index 0000000..8a7cf52 Binary files /dev/null and b/marble/client/ui/EnterNameDlg.gui.dso differ diff --git a/marble/client/ui/ExitGameDlg.gui b/marble/client/ui/ExitGameDlg.gui new file mode 100644 index 0000000..4a9a832 --- /dev/null +++ b/marble/client/ui/ExitGameDlg.gui @@ -0,0 +1,90 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(ExitGameDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + restartCallback = "resumeGame(); restartLevel();"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "134 148"; + extent = "388 186"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + bitmap = "common/ui/dialog.png"; + wrap = "0"; + + new GuiMLTextCtrl(ExitGameText) { + profile = "GuiComic24Profile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "95 46"; + extent = "198 23"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "47 107"; + extent = "88 52"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(ExitGameDlg); resumeGame(); disconnect();"; + accelerator = "return"; + helpTag = "0"; + text = "YES"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "common/ui/yes"; + simpleStyle = "0"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "151 107"; + extent = "83 55"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(ExitGameDlg); resumeGame();"; + accelerator = "escape"; + helpTag = "0"; + text = "NO"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "common/ui/no"; + simpleStyle = "0"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "249 107"; + extent = "103 56"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(ExitGameDlg); resumeGame(); restartLevel();"; + helpTag = "0"; + text = "button"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "common/ui/restart"; + simpleStyle = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/ExitGameDlg.gui.dso b/marble/client/ui/ExitGameDlg.gui.dso new file mode 100644 index 0000000..e683b7d Binary files /dev/null and b/marble/client/ui/ExitGameDlg.gui.dso differ diff --git a/marble/client/ui/HelpCreditsGui.gui b/marble/client/ui/HelpCreditsGui.gui new file mode 100644 index 0000000..1d51d58 --- /dev/null +++ b/marble/client/ui/HelpCreditsGui.gui @@ -0,0 +1,461 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(HelpCreditsGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background"; + useVariable = "0"; + tile = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "15 10"; + extent = "609 460"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/help/help_gui"; + wrap = "0"; + + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "482 376"; + extent = "75 60"; + minExtent = "8 8"; + visible = "1"; + command = "HelpNext();"; + helpTag = "0"; + text = "Next"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./play/next"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "58 383"; + extent = "77 58"; + minExtent = "8 8"; + visible = "1"; + command = "HelpPrev();"; + helpTag = "0"; + text = "Prev"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./play/prev"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "278 378"; + extent = "79 61"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.setContent(MainMenuGui);"; + accelerator = "escape"; + helpTag = "0"; + text = "play"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./play/back"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "30 31"; + extent = "549 338"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/help/help_window"; + wrap = "0"; + + new GuiMLTextCtrl(HC_Text) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "40 24"; + extent = "488 274"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiObjectView(HC_StartPad) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 82"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/pads/startarea.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "5"; + autoSize = "0"; + }; + new GuiObjectView(HC_EndPad) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 146"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/pads/endarea.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "5"; + autoSize = "0"; + }; + new GuiObjectView(HC_Gem1) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "17 234"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/gem.dts"; + skin = "base"; + cameraRotX = "0.4"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.1"; + autoSize = "0"; + }; + new GuiObjectView(HC_Gem3) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "45 250"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/gem.dts"; + skin = "green"; + cameraRotX = "0.4"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.1"; + autoSize = "0"; + }; + new GuiObjectView(HC_Gem2) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "43 215"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/gem.dts"; + skin = "purple"; + cameraRotX = "0.4"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.1"; + autoSize = "0"; + }; + new GuiObjectView(HC_SuperSpeed) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 73"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/superspeed.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2"; + autoSize = "0"; + }; + new GuiObjectView(HC_SuperJump) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 137"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/superjump.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2"; + autoSize = "0"; + }; + new GuiObjectView(HC_ShockAbsorber) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "33 204"; + extent = "72 61"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/shockabsorber.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2"; + autoSize = "0"; + }; + new GuiObjectView(HC_StartPad) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 82"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/pads/startarea.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "5"; + autoSize = "0"; + }; + new GuiObjectView(HC_EndPad) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 146"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/pads/endarea.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "5"; + autoSize = "0"; + }; + new GuiObjectView(HC_Helicopter) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 82"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/images/helicopter.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.2"; + autoSize = "0"; + }; + new GuiObjectView(HC_TimeTravel) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "31 146"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/timetravel.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2"; + autoSize = "0"; + }; + new GuiObjectView(HC_AntiGravity) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 217"; + extent = "72 61"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/antiGravity.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2"; + autoSize = "0"; + }; + new GuiObjectView(HC_DuctFan) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 82"; + extent = "79 66"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/hazards/ductfan.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2.5"; + autoSize = "0"; + }; + new GuiObjectView(HC_Tornado) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 155"; + extent = "91 66"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/hazards/tornado.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "7.79423"; + autoSize = "0"; + }; + new GuiObjectView(HC_Trapdoor) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 217"; + extent = "77 76"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/hazards/trapdoor.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "4"; + autoSize = "0"; + }; + new GuiObjectView(HC_Oilslick) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 217"; + extent = "77 76"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/hazards/oilslick.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "5.5"; + autoSize = "0"; + }; + new GuiObjectView(HC_Landmine) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 155"; + extent = "91 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/hazards/landmine.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1"; + autoSize = "0"; + }; + new GuiObjectView(HC_Bumper) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 82"; + extent = "79 66"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/bumpers/pball_round.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "0.9"; + autoSize = "0"; + }; + new GuiObjectView(HC_SuperBounce) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 260"; + extent = "72 61"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/items/superbounce.dts"; + skin = "base"; + cameraRotX = "0.35"; + cameraZRotSpeed = "0.001"; + orbitDistance = "2"; + autoSize = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/HelpCreditsGui.gui.dso b/marble/client/ui/HelpCreditsGui.gui.dso new file mode 100644 index 0000000..83403a3 Binary files /dev/null and b/marble/client/ui/HelpCreditsGui.gui.dso differ diff --git a/marble/client/ui/MOTDGui.gui b/marble/client/ui/MOTDGui.gui new file mode 100644 index 0000000..38c0416 --- /dev/null +++ b/marble/client/ui/MOTDGui.gui @@ -0,0 +1,169 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MOTDGui) { + profile = "GuiDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "97 134"; + extent = "445 211"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + bitmap = "./motd/new_mess_base"; + wrap = "0"; + canClose = "0"; + maxLength = "255"; + resizeWidth = "1"; + canMinimize = "0"; + resizeHeight = "1"; + canMaximize = "0"; + canMove = "1"; + minSize = "50 50"; + + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "322 139"; + extent = "79 60"; + minExtent = "8 8"; + visible = "1"; + command = "StartDemoTimer();Canvas.popDialog(MOTDGui);"; + accelerator = "return"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./motd/ok"; + simpleStyle = "0"; + }; + new GuiMLTextCtrl(MOTDGuiText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "58 29"; + extent = "312 28"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "33 136"; + extent = "46 54"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::checkMOTDAndVersion"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "ToggleButton"; + bitmap = "./motd/mess_chkbx"; + }; + new GuiMLTextCtrl(MOTDCheckText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "86 158"; + extent = "226 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- + +$MOTDMessage = ""; +$MOTDRecvd = false; + +function MOTDGui::onWake() +{ + MOTDCheckText.setText("Always check for new version/MOTD"); +} + +function showMotd() +{ + MOTDGuiText.setText($pref::currentMOTD); + $pref::LastReadMOTD = $pref::currentMOTD; + stopMOTDBlink(); + Canvas.pushDialog(MOTDGui); +} + +function startMOTDBlinking() +{ + if($MOTDBlinking) + return; + $MOTDBlinking = true; + doMOTDBlink(0); +} + +function doMOTDBlink(%val) +{ + if(%val == 0) + MOTDButton.setBitmap("marble/client/ui/motd/mess_buttn"); + else + MOTDButton.setBitmap("marble/client/ui/motd/motd_buttn"); + $MOTDBlinkSchedule = schedule(500, 0, "doMotdBlink", !%val); +} + +function stopMOTDBlink() +{ + if($MOTDBlinkSchedule !$= "") + { + MOTDButton.setBitmap("marble/client/ui/motd/motd_buttn"); + cancel($MOTDBlinkSchedule); + } + $MOTDBlinking = false; +} + +function checkMOTDBlink() +{ + if($pref::currentMOTD !$= $pref::LastReadMOTD) + startMOTDBlinking(); +} + +function startMotdCheck() +{ + if($pref::checkMOTDAndVersion) + { + new HTTPObject ( MOTD ); + MOTD.get("www.garagegames.com:80", "/marbleblast/motd.html"); + echo("Checking for a message of the day"); + } +} + +function MOTD::onLine(%this, %line) +{ + $MOTDMessage = $MOTDMessage NL %line; +} + +function MOTD::onDisconnect(%this) +{ + if($MOTDMessage !$= "") + { + $pref::currentMOTD = $MOTDMessage; + if($pref::currentMOTD !$= $pref::LastReadMOTD) + startMOTDBlinking(); + } +} diff --git a/marble/client/ui/MOTDGui.gui.dso b/marble/client/ui/MOTDGui.gui.dso new file mode 100644 index 0000000..4cb517a Binary files /dev/null and b/marble/client/ui/MOTDGui.gui.dso differ diff --git a/marble/client/ui/MarbleSkinSelectionDlg.gui b/marble/client/ui/MarbleSkinSelectionDlg.gui new file mode 100644 index 0000000..a3b4b70 --- /dev/null +++ b/marble/client/ui/MarbleSkinSelectionDlg.gui @@ -0,0 +1,126 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MarbleSkinSelectionDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "112 90"; + extent = "416 300"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/help/help_gui"; + wrap = "0"; + + new GuiMLTextCtrl(MSSD_Text) { + profile = "GuiMLTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "35 30"; + extent = "345 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiTextListCtrl(MSSD_List) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "80 16"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + new GuiObjectView(MSSD_ObjectView) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "95 66"; + extent = "226 168"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/balls/ball-superball.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.34641"; + autoSize = "1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "152 218"; + extent = "111 59"; + minExtent = "8 8"; + visible = "1"; + command = "MarbleSkinSelectionDlg.apply();"; + helpTag = "0"; + text = "apply"; + groupNum = "-1"; + buttonType = "PushButton"; + repeatPeriod = "1000"; + repeatDecay = "1"; + bitmap = "./play/play"; + }; + new GuiBitmapButtonCtrl(MSSD_prev) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "center"; + position = "45 121"; + extent = "77 58"; + minExtent = "8 8"; + visible = "1"; + command = "MarbleSkinSelectionDlg.prev();"; + accelerator = "left"; + helpTag = "0"; + text = "Prev"; + groupNum = "-1"; + buttonType = "RepeaterButton"; + repeatPeriod = "350"; + repeatDecay = "0.9"; + bitmap = "./play/prev"; + }; + new GuiBitmapButtonCtrl(MSSD_next) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "center"; + position = "311 120"; + extent = "75 60"; + minExtent = "8 8"; + visible = "1"; + command = "MarbleSkinSelectionDlg.next();"; + accelerator = "right"; + helpTag = "0"; + text = "Next"; + groupNum = "-1"; + buttonType = "RepeaterButton"; + repeatPeriod = "350"; + repeatDecay = "0.9"; + bitmap = "./play/next"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/MarbleSkinSelectionDlg.gui.dso b/marble/client/ui/MarbleSkinSelectionDlg.gui.dso new file mode 100644 index 0000000..b08e27e Binary files /dev/null and b/marble/client/ui/MarbleSkinSelectionDlg.gui.dso differ diff --git a/marble/client/ui/MiniShotGui.gui b/marble/client/ui/MiniShotGui.gui new file mode 100644 index 0000000..af86fdb --- /dev/null +++ b/marble/client/ui/MiniShotGui.gui @@ -0,0 +1,33 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MiniShotGui) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GameTSCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "258 193"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + }; +}; +//--- OBJECT WRITE END --- + +function doMiniShot() +{ + Canvas.setContent(MiniShotGui); + Canvas.repaint(); + screenShot(filePath($Server::MissionFile) @ "/" @ fileBase($Server::MissionFile) @ ".png", 258, 193); + Canvas.setContent(PlayGui); +} \ No newline at end of file diff --git a/marble/client/ui/MiniShotGui.gui.dso b/marble/client/ui/MiniShotGui.gui.dso new file mode 100644 index 0000000..880a9c2 Binary files /dev/null and b/marble/client/ui/MiniShotGui.gui.dso differ diff --git a/marble/client/ui/Options/aud_mus_knb.png b/marble/client/ui/Options/aud_mus_knb.png new file mode 100644 index 0000000..4f84c66 Binary files /dev/null and b/marble/client/ui/Options/aud_mus_knb.png differ diff --git a/marble/client/ui/Options/aud_mus_slide.png b/marble/client/ui/Options/aud_mus_slide.png new file mode 100644 index 0000000..4747410 Binary files /dev/null and b/marble/client/ui/Options/aud_mus_slide.png differ diff --git a/marble/client/ui/Options/aud_snd_knb.png b/marble/client/ui/Options/aud_snd_knb.png new file mode 100644 index 0000000..4ca45da Binary files /dev/null and b/marble/client/ui/Options/aud_snd_knb.png differ diff --git a/marble/client/ui/Options/aud_snd_slide.png b/marble/client/ui/Options/aud_snd_slide.png new file mode 100644 index 0000000..6a5abe8 Binary files /dev/null and b/marble/client/ui/Options/aud_snd_slide.png differ diff --git a/marble/client/ui/Options/aud_tab.png b/marble/client/ui/Options/aud_tab.png new file mode 100644 index 0000000..a5b3919 Binary files /dev/null and b/marble/client/ui/Options/aud_tab.png differ diff --git a/marble/client/ui/Options/aud_txt_wndo.png b/marble/client/ui/Options/aud_txt_wndo.png new file mode 100644 index 0000000..992a46c Binary files /dev/null and b/marble/client/ui/Options/aud_txt_wndo.png differ diff --git a/marble/client/ui/Options/cntr_cam_dwn_d.png b/marble/client/ui/Options/cntr_cam_dwn_d.png new file mode 100644 index 0000000..d01467c Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_dwn_d.png differ diff --git a/marble/client/ui/Options/cntr_cam_dwn_h.png b/marble/client/ui/Options/cntr_cam_dwn_h.png new file mode 100644 index 0000000..245f91a Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_dwn_h.png differ diff --git a/marble/client/ui/Options/cntr_cam_dwn_n.png b/marble/client/ui/Options/cntr_cam_dwn_n.png new file mode 100644 index 0000000..dc4aa0c Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_dwn_n.png differ diff --git a/marble/client/ui/Options/cntr_cam_lft_d.png b/marble/client/ui/Options/cntr_cam_lft_d.png new file mode 100644 index 0000000..0506c5c Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_lft_d.png differ diff --git a/marble/client/ui/Options/cntr_cam_lft_h.png b/marble/client/ui/Options/cntr_cam_lft_h.png new file mode 100644 index 0000000..f8b27fb Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_lft_h.png differ diff --git a/marble/client/ui/Options/cntr_cam_lft_n.png b/marble/client/ui/Options/cntr_cam_lft_n.png new file mode 100644 index 0000000..4391b7f Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_lft_n.png differ diff --git a/marble/client/ui/Options/cntr_cam_rt_d.png b/marble/client/ui/Options/cntr_cam_rt_d.png new file mode 100644 index 0000000..d523438 Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_rt_d.png differ diff --git a/marble/client/ui/Options/cntr_cam_rt_h.png b/marble/client/ui/Options/cntr_cam_rt_h.png new file mode 100644 index 0000000..95c939f Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_rt_h.png differ diff --git a/marble/client/ui/Options/cntr_cam_rt_n.png b/marble/client/ui/Options/cntr_cam_rt_n.png new file mode 100644 index 0000000..cd123e9 Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_rt_n.png differ diff --git a/marble/client/ui/Options/cntr_cam_up_d.png b/marble/client/ui/Options/cntr_cam_up_d.png new file mode 100644 index 0000000..6264fb1 Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_up_d.png differ diff --git a/marble/client/ui/Options/cntr_cam_up_h.png b/marble/client/ui/Options/cntr_cam_up_h.png new file mode 100644 index 0000000..c53dc96 Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_up_h.png differ diff --git a/marble/client/ui/Options/cntr_cam_up_n.png b/marble/client/ui/Options/cntr_cam_up_n.png new file mode 100644 index 0000000..01fe8a1 Binary files /dev/null and b/marble/client/ui/Options/cntr_cam_up_n.png differ diff --git a/marble/client/ui/Options/cntr_mrb_bak_d.png b/marble/client/ui/Options/cntr_mrb_bak_d.png new file mode 100644 index 0000000..42bd794 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_bak_d.png differ diff --git a/marble/client/ui/Options/cntr_mrb_bak_h.png b/marble/client/ui/Options/cntr_mrb_bak_h.png new file mode 100644 index 0000000..979af57 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_bak_h.png differ diff --git a/marble/client/ui/Options/cntr_mrb_bak_n.png b/marble/client/ui/Options/cntr_mrb_bak_n.png new file mode 100644 index 0000000..ec32d20 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_bak_n.png differ diff --git a/marble/client/ui/Options/cntr_mrb_fw_d.png b/marble/client/ui/Options/cntr_mrb_fw_d.png new file mode 100644 index 0000000..18a3e3a Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_fw_d.png differ diff --git a/marble/client/ui/Options/cntr_mrb_fw_h.png b/marble/client/ui/Options/cntr_mrb_fw_h.png new file mode 100644 index 0000000..bf51fdd Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_fw_h.png differ diff --git a/marble/client/ui/Options/cntr_mrb_fw_n.png b/marble/client/ui/Options/cntr_mrb_fw_n.png new file mode 100644 index 0000000..8d5ea32 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_fw_n.png differ diff --git a/marble/client/ui/Options/cntr_mrb_jmp_d.png b/marble/client/ui/Options/cntr_mrb_jmp_d.png new file mode 100644 index 0000000..4e693d6 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_jmp_d.png differ diff --git a/marble/client/ui/Options/cntr_mrb_jmp_h.png b/marble/client/ui/Options/cntr_mrb_jmp_h.png new file mode 100644 index 0000000..fba24da Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_jmp_h.png differ diff --git a/marble/client/ui/Options/cntr_mrb_jmp_n.png b/marble/client/ui/Options/cntr_mrb_jmp_n.png new file mode 100644 index 0000000..7111431 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_jmp_n.png differ diff --git a/marble/client/ui/Options/cntr_mrb_lft_d.png b/marble/client/ui/Options/cntr_mrb_lft_d.png new file mode 100644 index 0000000..c66bc6a Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_lft_d.png differ diff --git a/marble/client/ui/Options/cntr_mrb_lft_h.png b/marble/client/ui/Options/cntr_mrb_lft_h.png new file mode 100644 index 0000000..23a2c97 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_lft_h.png differ diff --git a/marble/client/ui/Options/cntr_mrb_lft_n.png b/marble/client/ui/Options/cntr_mrb_lft_n.png new file mode 100644 index 0000000..1444761 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_lft_n.png differ diff --git a/marble/client/ui/Options/cntr_mrb_pwr_d.png b/marble/client/ui/Options/cntr_mrb_pwr_d.png new file mode 100644 index 0000000..60210d0 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_pwr_d.png differ diff --git a/marble/client/ui/Options/cntr_mrb_pwr_h.png b/marble/client/ui/Options/cntr_mrb_pwr_h.png new file mode 100644 index 0000000..4f9c018 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_pwr_h.png differ diff --git a/marble/client/ui/Options/cntr_mrb_pwr_n.png b/marble/client/ui/Options/cntr_mrb_pwr_n.png new file mode 100644 index 0000000..ac05022 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_pwr_n.png differ diff --git a/marble/client/ui/Options/cntr_mrb_rt_d.png b/marble/client/ui/Options/cntr_mrb_rt_d.png new file mode 100644 index 0000000..e771c78 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_rt_d.png differ diff --git a/marble/client/ui/Options/cntr_mrb_rt_h.png b/marble/client/ui/Options/cntr_mrb_rt_h.png new file mode 100644 index 0000000..1e7833e Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_rt_h.png differ diff --git a/marble/client/ui/Options/cntr_mrb_rt_n.png b/marble/client/ui/Options/cntr_mrb_rt_n.png new file mode 100644 index 0000000..622c340 Binary files /dev/null and b/marble/client/ui/Options/cntr_mrb_rt_n.png differ diff --git a/marble/client/ui/Options/cntr_tab.png b/marble/client/ui/Options/cntr_tab.png new file mode 100644 index 0000000..1d6ffc4 Binary files /dev/null and b/marble/client/ui/Options/cntr_tab.png differ diff --git a/marble/client/ui/Options/cntrl_cam_bse.png b/marble/client/ui/Options/cntrl_cam_bse.png new file mode 100644 index 0000000..bbd95a8 Binary files /dev/null and b/marble/client/ui/Options/cntrl_cam_bse.png differ diff --git a/marble/client/ui/Options/cntrl_marb_bse.png b/marble/client/ui/Options/cntrl_marb_bse.png new file mode 100644 index 0000000..8b9ec86 Binary files /dev/null and b/marble/client/ui/Options/cntrl_marb_bse.png differ diff --git a/marble/client/ui/Options/cntrl_mous_base.png b/marble/client/ui/Options/cntrl_mous_base.png new file mode 100644 index 0000000..edd01c6 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_base.png differ diff --git a/marble/client/ui/Options/cntrl_mous_bttn_d.png b/marble/client/ui/Options/cntrl_mous_bttn_d.png new file mode 100644 index 0000000..ef1f937 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_bttn_d.png differ diff --git a/marble/client/ui/Options/cntrl_mous_bttn_h.png b/marble/client/ui/Options/cntrl_mous_bttn_h.png new file mode 100644 index 0000000..8528128 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_bttn_h.png differ diff --git a/marble/client/ui/Options/cntrl_mous_bttn_n.png b/marble/client/ui/Options/cntrl_mous_bttn_n.png new file mode 100644 index 0000000..8254e16 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_bttn_n.png differ diff --git a/marble/client/ui/Options/cntrl_mous_freel_d.png b/marble/client/ui/Options/cntrl_mous_freel_d.png new file mode 100644 index 0000000..666d0f7 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_freel_d.png differ diff --git a/marble/client/ui/Options/cntrl_mous_freel_h.png b/marble/client/ui/Options/cntrl_mous_freel_h.png new file mode 100644 index 0000000..94c0568 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_freel_h.png differ diff --git a/marble/client/ui/Options/cntrl_mous_freel_n.png b/marble/client/ui/Options/cntrl_mous_freel_n.png new file mode 100644 index 0000000..6e64fc6 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_freel_n.png differ diff --git a/marble/client/ui/Options/cntrl_mous_invrt_d.png b/marble/client/ui/Options/cntrl_mous_invrt_d.png new file mode 100644 index 0000000..01bbdcc Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_invrt_d.png differ diff --git a/marble/client/ui/Options/cntrl_mous_invrt_h.png b/marble/client/ui/Options/cntrl_mous_invrt_h.png new file mode 100644 index 0000000..8d3982d Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_invrt_h.png differ diff --git a/marble/client/ui/Options/cntrl_mous_invrt_n.png b/marble/client/ui/Options/cntrl_mous_invrt_n.png new file mode 100644 index 0000000..efd7db1 Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_invrt_n.png differ diff --git a/marble/client/ui/Options/cntrl_mous_knb.png b/marble/client/ui/Options/cntrl_mous_knb.png new file mode 100644 index 0000000..429c43f Binary files /dev/null and b/marble/client/ui/Options/cntrl_mous_knb.png differ diff --git a/marble/client/ui/Options/graf1024_d.png b/marble/client/ui/Options/graf1024_d.png new file mode 100644 index 0000000..20e2ae9 Binary files /dev/null and b/marble/client/ui/Options/graf1024_d.png differ diff --git a/marble/client/ui/Options/graf1024_h.png b/marble/client/ui/Options/graf1024_h.png new file mode 100644 index 0000000..0a06f39 Binary files /dev/null and b/marble/client/ui/Options/graf1024_h.png differ diff --git a/marble/client/ui/Options/graf1024_n.png b/marble/client/ui/Options/graf1024_n.png new file mode 100644 index 0000000..e79dfe5 Binary files /dev/null and b/marble/client/ui/Options/graf1024_n.png differ diff --git a/marble/client/ui/Options/graf16bt_d.png b/marble/client/ui/Options/graf16bt_d.png new file mode 100644 index 0000000..c1fe91a Binary files /dev/null and b/marble/client/ui/Options/graf16bt_d.png differ diff --git a/marble/client/ui/Options/graf16bt_h.png b/marble/client/ui/Options/graf16bt_h.png new file mode 100644 index 0000000..4903b22 Binary files /dev/null and b/marble/client/ui/Options/graf16bt_h.png differ diff --git a/marble/client/ui/Options/graf16bt_n.png b/marble/client/ui/Options/graf16bt_n.png new file mode 100644 index 0000000..5162810 Binary files /dev/null and b/marble/client/ui/Options/graf16bt_n.png differ diff --git a/marble/client/ui/Options/graf32bt_d.png b/marble/client/ui/Options/graf32bt_d.png new file mode 100644 index 0000000..6bf02bf Binary files /dev/null and b/marble/client/ui/Options/graf32bt_d.png differ diff --git a/marble/client/ui/Options/graf32bt_h.png b/marble/client/ui/Options/graf32bt_h.png new file mode 100644 index 0000000..1834809 Binary files /dev/null and b/marble/client/ui/Options/graf32bt_h.png differ diff --git a/marble/client/ui/Options/graf32bt_n.png b/marble/client/ui/Options/graf32bt_n.png new file mode 100644 index 0000000..9cef231 Binary files /dev/null and b/marble/client/ui/Options/graf32bt_n.png differ diff --git a/marble/client/ui/Options/graf640_d.png b/marble/client/ui/Options/graf640_d.png new file mode 100644 index 0000000..c30ebed Binary files /dev/null and b/marble/client/ui/Options/graf640_d.png differ diff --git a/marble/client/ui/Options/graf640_h.png b/marble/client/ui/Options/graf640_h.png new file mode 100644 index 0000000..4efd22d Binary files /dev/null and b/marble/client/ui/Options/graf640_h.png differ diff --git a/marble/client/ui/Options/graf640_n.png b/marble/client/ui/Options/graf640_n.png new file mode 100644 index 0000000..05620ff Binary files /dev/null and b/marble/client/ui/Options/graf640_n.png differ diff --git a/marble/client/ui/Options/graf800_d.png b/marble/client/ui/Options/graf800_d.png new file mode 100644 index 0000000..c9dd067 Binary files /dev/null and b/marble/client/ui/Options/graf800_d.png differ diff --git a/marble/client/ui/Options/graf800_h.png b/marble/client/ui/Options/graf800_h.png new file mode 100644 index 0000000..fe8a640 Binary files /dev/null and b/marble/client/ui/Options/graf800_h.png differ diff --git a/marble/client/ui/Options/graf800_n.png b/marble/client/ui/Options/graf800_n.png new file mode 100644 index 0000000..4a04642 Binary files /dev/null and b/marble/client/ui/Options/graf800_n.png differ diff --git a/marble/client/ui/Options/graf_chkbx_d.png b/marble/client/ui/Options/graf_chkbx_d.png new file mode 100644 index 0000000..0307c49 Binary files /dev/null and b/marble/client/ui/Options/graf_chkbx_d.png differ diff --git a/marble/client/ui/Options/graf_chkbx_h.png b/marble/client/ui/Options/graf_chkbx_h.png new file mode 100644 index 0000000..4a9700e Binary files /dev/null and b/marble/client/ui/Options/graf_chkbx_h.png differ diff --git a/marble/client/ui/Options/graf_chkbx_n.png b/marble/client/ui/Options/graf_chkbx_n.png new file mode 100644 index 0000000..f4851aa Binary files /dev/null and b/marble/client/ui/Options/graf_chkbx_n.png differ diff --git a/marble/client/ui/Options/graf_tab.png b/marble/client/ui/Options/graf_tab.png new file mode 100644 index 0000000..dc80e8d Binary files /dev/null and b/marble/client/ui/Options/graf_tab.png differ diff --git a/marble/client/ui/Options/graf_txt.png b/marble/client/ui/Options/graf_txt.png new file mode 100644 index 0000000..627b2b5 Binary files /dev/null and b/marble/client/ui/Options/graf_txt.png differ diff --git a/marble/client/ui/Options/grafapply_d.png b/marble/client/ui/Options/grafapply_d.png new file mode 100644 index 0000000..0430ca8 Binary files /dev/null and b/marble/client/ui/Options/grafapply_d.png differ diff --git a/marble/client/ui/Options/grafapply_h.png b/marble/client/ui/Options/grafapply_h.png new file mode 100644 index 0000000..0f72944 Binary files /dev/null and b/marble/client/ui/Options/grafapply_h.png differ diff --git a/marble/client/ui/Options/grafapply_n.png b/marble/client/ui/Options/grafapply_n.png new file mode 100644 index 0000000..41b6922 Binary files /dev/null and b/marble/client/ui/Options/grafapply_n.png differ diff --git a/marble/client/ui/Options/grafdir3d_d.png b/marble/client/ui/Options/grafdir3d_d.png new file mode 100644 index 0000000..776bb04 Binary files /dev/null and b/marble/client/ui/Options/grafdir3d_d.png differ diff --git a/marble/client/ui/Options/grafdir3d_h.png b/marble/client/ui/Options/grafdir3d_h.png new file mode 100644 index 0000000..b57bace Binary files /dev/null and b/marble/client/ui/Options/grafdir3d_h.png differ diff --git a/marble/client/ui/Options/grafdir3d_n.png b/marble/client/ui/Options/grafdir3d_n.png new file mode 100644 index 0000000..bfe14bc Binary files /dev/null and b/marble/client/ui/Options/grafdir3d_n.png differ diff --git a/marble/client/ui/Options/grafful_d.png b/marble/client/ui/Options/grafful_d.png new file mode 100644 index 0000000..c18b178 Binary files /dev/null and b/marble/client/ui/Options/grafful_d.png differ diff --git a/marble/client/ui/Options/grafful_h.png b/marble/client/ui/Options/grafful_h.png new file mode 100644 index 0000000..1ed4a2e Binary files /dev/null and b/marble/client/ui/Options/grafful_h.png differ diff --git a/marble/client/ui/Options/grafful_n.png b/marble/client/ui/Options/grafful_n.png new file mode 100644 index 0000000..62c6b43 Binary files /dev/null and b/marble/client/ui/Options/grafful_n.png differ diff --git a/marble/client/ui/Options/grafopgl_d.png b/marble/client/ui/Options/grafopgl_d.png new file mode 100644 index 0000000..e791011 Binary files /dev/null and b/marble/client/ui/Options/grafopgl_d.png differ diff --git a/marble/client/ui/Options/grafopgl_h.png b/marble/client/ui/Options/grafopgl_h.png new file mode 100644 index 0000000..1fcd057 Binary files /dev/null and b/marble/client/ui/Options/grafopgl_h.png differ diff --git a/marble/client/ui/Options/grafopgl_n.png b/marble/client/ui/Options/grafopgl_n.png new file mode 100644 index 0000000..1f72288 Binary files /dev/null and b/marble/client/ui/Options/grafopgl_n.png differ diff --git a/marble/client/ui/Options/grafwindo_d.png b/marble/client/ui/Options/grafwindo_d.png new file mode 100644 index 0000000..91e31f7 Binary files /dev/null and b/marble/client/ui/Options/grafwindo_d.png differ diff --git a/marble/client/ui/Options/grafwindo_h.png b/marble/client/ui/Options/grafwindo_h.png new file mode 100644 index 0000000..82cc2c1 Binary files /dev/null and b/marble/client/ui/Options/grafwindo_h.png differ diff --git a/marble/client/ui/Options/grafwindo_n.png b/marble/client/ui/Options/grafwindo_n.png new file mode 100644 index 0000000..340c1c3 Binary files /dev/null and b/marble/client/ui/Options/grafwindo_n.png differ diff --git a/marble/client/ui/Options/mainm_d.png b/marble/client/ui/Options/mainm_d.png new file mode 100644 index 0000000..6dd163b Binary files /dev/null and b/marble/client/ui/Options/mainm_d.png differ diff --git a/marble/client/ui/Options/mainm_h.png b/marble/client/ui/Options/mainm_h.png new file mode 100644 index 0000000..d0651bd Binary files /dev/null and b/marble/client/ui/Options/mainm_h.png differ diff --git a/marble/client/ui/Options/mainm_n.png b/marble/client/ui/Options/mainm_n.png new file mode 100644 index 0000000..a415bfe Binary files /dev/null and b/marble/client/ui/Options/mainm_n.png differ diff --git a/marble/client/ui/Options/options_base.png b/marble/client/ui/Options/options_base.png new file mode 100644 index 0000000..cee5b53 Binary files /dev/null and b/marble/client/ui/Options/options_base.png differ diff --git a/marble/client/ui/PlayGui.gui.dso b/marble/client/ui/PlayGui.gui.dso new file mode 100644 index 0000000..5cde414 Binary files /dev/null and b/marble/client/ui/PlayGui.gui.dso differ diff --git a/marble/client/ui/aboutDlg.gui b/marble/client/ui/aboutDlg.gui new file mode 100644 index 0000000..d96d3cd --- /dev/null +++ b/marble/client/ui/aboutDlg.gui @@ -0,0 +1,98 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(aboutDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiWindowCtrl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "132 88"; + extent = "376 303"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "About..."; + maxLength = "255"; + resizeWidth = "0"; + resizeHeight = "0"; + canMove = "1"; + canClose = "1"; + canMinimize = "0"; + canMaximize = "0"; + minSize = "50 50"; + closeCommand = "Canvas.popDialog(aboutDlg);"; + + new GuiMLTextCtrl(aboutText) { + profile = "GuiMLTextProfile"; + horizSizing = "width"; + vertSizing = "relative"; + position = "19 36"; + extent = "336 241"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + text = "This is a test"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "303 268"; + extent = "60 23"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(aboutDlg);"; + helpTag = "0"; + text = "OK"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 268"; + extent = "76 23"; + minExtent = "8 8"; + visible = "1"; + command = "getHelp(\"2. License\");"; + helpTag = "0"; + text = "License..."; + }; + }; +}; +//--- OBJECT WRITE END --- + + +function aboutDlg::onWake(%this) +{ + %text="Torque Game Engine Test Application\n( v1.1.2 )\n"@ + ""@ getCompileTimeString() @", "@ getBuildString() @"Build\n\n"@ + "Copyright (c) 2001 GarageGames.Com\n"@ + "Portions Copyright (c) 2001 by Sierra Online, Inc.\n\n"@ + ""; + aboutText.setText(%text); +} + +function aboutText::onURL(%this, %url) +{ + echo(%this); + echo(%url); + gotoWebPage( %url ); +} + diff --git a/marble/client/ui/aboutDlg.gui.dso b/marble/client/ui/aboutDlg.gui.dso new file mode 100644 index 0000000..0dc1d75 Binary files /dev/null and b/marble/client/ui/aboutDlg.gui.dso differ diff --git a/marble/client/ui/background.jpg b/marble/client/ui/background.jpg new file mode 100644 index 0000000..49b3600 Binary files /dev/null and b/marble/client/ui/background.jpg differ diff --git a/marble/client/ui/choose/_ b/marble/client/ui/choose/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/client/ui/chooseGui.gui b/marble/client/ui/chooseGui.gui new file mode 100644 index 0000000..2de0b3b --- /dev/null +++ b/marble/client/ui/chooseGui.gui @@ -0,0 +1,136 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(chooseGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "579 414"; + extent = "51 56"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.pushDialog(helpDlg);"; + helpTag = "0"; + text = "help"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./help"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "182 61"; + extent = "284 365"; + minExtent = "8 8"; + visible = "1"; + command = "PM_StartMission();"; + helpTag = "0"; + bitmap = "./choose/chooseGui.png"; + wrap = "0"; + + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 68"; + extent = "226 76"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Beginner\";Canvas.setContent(playMissionGui);"; + helpTag = "0"; + text = "Beginner"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./choose/begin"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "28 145"; + extent = "223 71"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Intermediate\";Canvas.setContent(playMissionGui);"; + helpTag = "0"; + text = "Intermediate"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./choose/inter"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "46 212"; + extent = "195 59"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Advanced\";Canvas.setContent(playMissionGui);"; + helpTag = "0"; + text = "Advanced"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./choose/advan"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 266"; + extent = "132 85"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.setContent(mainMenuGui);"; + helpTag = "0"; + text = "Back"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./choose/back"; + }; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "11 413"; + extent = "49 58"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.setContent(mainMenuGui);"; + helpTag = "0"; + text = "help"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./home"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 10"; + extent = "43 40"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Expert\";Canvas.setContent(playMissionGui);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; +}; +//--- OBJECT WRITE END --- + + diff --git a/marble/client/ui/chooseGui.gui.dso b/marble/client/ui/chooseGui.gui.dso new file mode 100644 index 0000000..e5046bf Binary files /dev/null and b/marble/client/ui/chooseGui.gui.dso differ diff --git a/marble/client/ui/crosshair.png b/marble/client/ui/crosshair.png new file mode 100644 index 0000000..6a5af50 Binary files /dev/null and b/marble/client/ui/crosshair.png differ diff --git a/marble/client/ui/defaultGameProfiles.cs.dso b/marble/client/ui/defaultGameProfiles.cs.dso new file mode 100644 index 0000000..2522c8a Binary files /dev/null and b/marble/client/ui/defaultGameProfiles.cs.dso differ diff --git a/marble/client/ui/defaultgameprofiles.cs b/marble/client/ui/defaultgameprofiles.cs new file mode 100644 index 0000000..370ea70 --- /dev/null +++ b/marble/client/ui/defaultgameprofiles.cs @@ -0,0 +1,155 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Override base controls +GuiButtonProfile.soundButtonOver = AudioButtonOver; +GuiButtonProfile.soundButtonDown = AudioButtonDown; + +GuiDefaultProfile.soundButtonDown = AudioButtonDown; + +//----------------------------------------------------------------------------- +// Chat Hud profiles + + +new GuiControlProfile ("ChatHudMessageProfile") +{ + fontType = "Arial"; + fontSize = 16; + fontColor = "255 255 0"; // default color (death msgs, scoring, inventory) + fontColors[1] = "4 235 105"; // client join/drop, tournament mode + fontColors[2] = "219 200 128"; // gameplay, admin/voting, pack/deployable + fontColors[3] = "77 253 95"; // team chat, spam protection message, client tasks + fontColors[4] = "40 231 240"; // global chat + fontColors[5] = "200 200 50 200"; // used in single player game + // WARNING! Colors 6-9 are reserved for name coloring + autoSizeWidth = true; + autoSizeHeight = true; +}; + +new GuiControlProfile ("ChatHudScrollProfile") +{ + opaque = false; + bitmap = "common/ui/darkScroll"; + hasBitmapArray = true; +}; + + +new GuiControlProfile (GuiTPTextEditProfile) +{ + opaque = false; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = false; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile (OverlayScreenProfile) +{ + opaque = true; + fillColor = "0 0 0 96"; + fillColorHL = "128 128 128"; + border = false; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile (GuiBigTextEditProfile) +{ + fontType = "DomCasualD"; + fontSize = 32; + opaque = false; + fillColor = "255 255 255"; + fillColorHL = "128 128 128"; + border = false; + borderColor = "0 0 0"; + fontColor = "0 0 0"; + fontColorHL = "255 255 255"; + fontColorNA = "128 128 128"; + textOffset = "0 2"; + autoSizeWidth = false; + autoSizeHeight = true; + tab = true; + canKeyFocus = true; +}; + +new GuiControlProfile (BevelPurpleProfile) +{ + // fill color + opaque = true; + border = 2; + fillColor = "161 150 229"; + fillColorHL = "255 0 0"; + fillColorNA = "0 0 255"; + + // border color + borderColor = "0 255 0"; + borderColorNA = "92 86 131"; + + textOffset = "6 6"; + +}; + + + +//----------------------------------------------------------------------------- +// Common Hud profiles + +new GuiControlProfile ("HudScrollProfile") +{ + opaque = false; + border = true; + borderColor = "0 255 0"; + bitmap = "common/ui/darkScroll"; + hasBitmapArray = true; +}; + +new GuiControlProfile ("HudTextProfile") +{ + opaque = false; + fillColor = "128 128 128"; + fontColor = "0 255 0"; + border = true; + borderColor = "0 255 0"; +}; + + +//----------------------------------------------------------------------------- +// Center and bottom print + +new GuiControlProfile ("CenterPrintProfile") +{ + opaque = false; + fillColor = "128 128 128"; + fontColor = "0 255 0"; + border = true; + borderColor = "0 255 0"; +}; + +new GuiControlProfile ("CenterPrintTextProfile") +{ + opaque = false; + fontType = "Arial"; + fontSize = 12; + fontColor = "0 255 0"; +}; + + diff --git a/marble/client/ui/endGameGui.gui b/marble/client/ui/endGameGui.gui new file mode 100644 index 0000000..5179576 --- /dev/null +++ b/marble/client/ui/endGameGui.gui @@ -0,0 +1,72 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(EndGameGui) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + useVariable = "0"; + tile = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "77 9"; + extent = "485 461"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./endgame/background.png"; + wrap = "0"; + + new GuiMLTextCtrl(EndGameGuiDescription) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "48 20"; + extent = "429 384"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "333 386"; + extent = "113 47"; + minExtent = "8 8"; + visible = "1"; + command = "setPlayMissionGui();"; + accelerator = "enter"; + helpTag = "0"; + text = "play"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./endgame/continue"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "51 388"; + extent = "104 48"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(EndGameGui);restartLevel();"; + helpTag = "0"; + text = "Prev"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./endgame/replay"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/endGameGui.gui.dso b/marble/client/ui/endGameGui.gui.dso new file mode 100644 index 0000000..6394801 Binary files /dev/null and b/marble/client/ui/endGameGui.gui.dso differ diff --git a/marble/client/ui/endgame/background.png b/marble/client/ui/endgame/background.png new file mode 100644 index 0000000..c0e24f8 Binary files /dev/null and b/marble/client/ui/endgame/background.png differ diff --git a/marble/client/ui/endgame/continue_d.png b/marble/client/ui/endgame/continue_d.png new file mode 100644 index 0000000..eeba4a1 Binary files /dev/null and b/marble/client/ui/endgame/continue_d.png differ diff --git a/marble/client/ui/endgame/continue_h.png b/marble/client/ui/endgame/continue_h.png new file mode 100644 index 0000000..eccb1a6 Binary files /dev/null and b/marble/client/ui/endgame/continue_h.png differ diff --git a/marble/client/ui/endgame/continue_n.png b/marble/client/ui/endgame/continue_n.png new file mode 100644 index 0000000..589ce4c Binary files /dev/null and b/marble/client/ui/endgame/continue_n.png differ diff --git a/marble/client/ui/endgame/replay_d.png b/marble/client/ui/endgame/replay_d.png new file mode 100644 index 0000000..2598a96 Binary files /dev/null and b/marble/client/ui/endgame/replay_d.png differ diff --git a/marble/client/ui/endgame/replay_h.png b/marble/client/ui/endgame/replay_h.png new file mode 100644 index 0000000..e7d6b6d Binary files /dev/null and b/marble/client/ui/endgame/replay_h.png differ diff --git a/marble/client/ui/endgame/replay_i.png b/marble/client/ui/endgame/replay_i.png new file mode 100644 index 0000000..bd6adba Binary files /dev/null and b/marble/client/ui/endgame/replay_i.png differ diff --git a/marble/client/ui/endgame/replay_n.png b/marble/client/ui/endgame/replay_n.png new file mode 100644 index 0000000..e7d6b6d Binary files /dev/null and b/marble/client/ui/endgame/replay_n.png differ diff --git a/marble/client/ui/game/10.png b/marble/client/ui/game/10.png new file mode 100644 index 0000000..1b023a9 Binary files /dev/null and b/marble/client/ui/game/10.png differ diff --git a/marble/client/ui/game/11.png b/marble/client/ui/game/11.png new file mode 100644 index 0000000..6b4c891 Binary files /dev/null and b/marble/client/ui/game/11.png differ diff --git a/marble/client/ui/game/go.png b/marble/client/ui/game/go.png new file mode 100644 index 0000000..f2830ee Binary files /dev/null and b/marble/client/ui/game/go.png differ diff --git a/marble/client/ui/game/numbers/0.png b/marble/client/ui/game/numbers/0.png new file mode 100644 index 0000000..dd0c602 Binary files /dev/null and b/marble/client/ui/game/numbers/0.png differ diff --git a/marble/client/ui/game/numbers/1.png b/marble/client/ui/game/numbers/1.png new file mode 100644 index 0000000..c9d28ef Binary files /dev/null and b/marble/client/ui/game/numbers/1.png differ diff --git a/marble/client/ui/game/numbers/10.png b/marble/client/ui/game/numbers/10.png new file mode 100644 index 0000000..df39cf0 Binary files /dev/null and b/marble/client/ui/game/numbers/10.png differ diff --git a/marble/client/ui/game/numbers/11.png b/marble/client/ui/game/numbers/11.png new file mode 100644 index 0000000..9e29606 Binary files /dev/null and b/marble/client/ui/game/numbers/11.png differ diff --git a/marble/client/ui/game/numbers/12.png b/marble/client/ui/game/numbers/12.png new file mode 100644 index 0000000..12fe8ff Binary files /dev/null and b/marble/client/ui/game/numbers/12.png differ diff --git a/marble/client/ui/game/numbers/13.png b/marble/client/ui/game/numbers/13.png new file mode 100644 index 0000000..86bfb0d Binary files /dev/null and b/marble/client/ui/game/numbers/13.png differ diff --git a/marble/client/ui/game/numbers/14.png b/marble/client/ui/game/numbers/14.png new file mode 100644 index 0000000..0db86e4 Binary files /dev/null and b/marble/client/ui/game/numbers/14.png differ diff --git a/marble/client/ui/game/numbers/15.png b/marble/client/ui/game/numbers/15.png new file mode 100644 index 0000000..9a2cc79 Binary files /dev/null and b/marble/client/ui/game/numbers/15.png differ diff --git a/marble/client/ui/game/numbers/16.png b/marble/client/ui/game/numbers/16.png new file mode 100644 index 0000000..0ed4f86 Binary files /dev/null and b/marble/client/ui/game/numbers/16.png differ diff --git a/marble/client/ui/game/numbers/17.png b/marble/client/ui/game/numbers/17.png new file mode 100644 index 0000000..f3f7ae2 Binary files /dev/null and b/marble/client/ui/game/numbers/17.png differ diff --git a/marble/client/ui/game/numbers/18.png b/marble/client/ui/game/numbers/18.png new file mode 100644 index 0000000..cd8653f Binary files /dev/null and b/marble/client/ui/game/numbers/18.png differ diff --git a/marble/client/ui/game/numbers/19.png b/marble/client/ui/game/numbers/19.png new file mode 100644 index 0000000..16f266f Binary files /dev/null and b/marble/client/ui/game/numbers/19.png differ diff --git a/marble/client/ui/game/numbers/2.png b/marble/client/ui/game/numbers/2.png new file mode 100644 index 0000000..9f89470 Binary files /dev/null and b/marble/client/ui/game/numbers/2.png differ diff --git a/marble/client/ui/game/numbers/20.png b/marble/client/ui/game/numbers/20.png new file mode 100644 index 0000000..8de0bdd Binary files /dev/null and b/marble/client/ui/game/numbers/20.png differ diff --git a/marble/client/ui/game/numbers/21.png b/marble/client/ui/game/numbers/21.png new file mode 100644 index 0000000..fe0cba7 Binary files /dev/null and b/marble/client/ui/game/numbers/21.png differ diff --git a/marble/client/ui/game/numbers/22.png b/marble/client/ui/game/numbers/22.png new file mode 100644 index 0000000..7ddf48c Binary files /dev/null and b/marble/client/ui/game/numbers/22.png differ diff --git a/marble/client/ui/game/numbers/23.png b/marble/client/ui/game/numbers/23.png new file mode 100644 index 0000000..9b82100 Binary files /dev/null and b/marble/client/ui/game/numbers/23.png differ diff --git a/marble/client/ui/game/numbers/24.png b/marble/client/ui/game/numbers/24.png new file mode 100644 index 0000000..5cd922c Binary files /dev/null and b/marble/client/ui/game/numbers/24.png differ diff --git a/marble/client/ui/game/numbers/25.png b/marble/client/ui/game/numbers/25.png new file mode 100644 index 0000000..c2de175 Binary files /dev/null and b/marble/client/ui/game/numbers/25.png differ diff --git a/marble/client/ui/game/numbers/26.png b/marble/client/ui/game/numbers/26.png new file mode 100644 index 0000000..cb7bc54 Binary files /dev/null and b/marble/client/ui/game/numbers/26.png differ diff --git a/marble/client/ui/game/numbers/27.png b/marble/client/ui/game/numbers/27.png new file mode 100644 index 0000000..524e633 Binary files /dev/null and b/marble/client/ui/game/numbers/27.png differ diff --git a/marble/client/ui/game/numbers/28.png b/marble/client/ui/game/numbers/28.png new file mode 100644 index 0000000..30823db Binary files /dev/null and b/marble/client/ui/game/numbers/28.png differ diff --git a/marble/client/ui/game/numbers/29.png b/marble/client/ui/game/numbers/29.png new file mode 100644 index 0000000..75fbd5d Binary files /dev/null and b/marble/client/ui/game/numbers/29.png differ diff --git a/marble/client/ui/game/numbers/3.png b/marble/client/ui/game/numbers/3.png new file mode 100644 index 0000000..a9e2d80 Binary files /dev/null and b/marble/client/ui/game/numbers/3.png differ diff --git a/marble/client/ui/game/numbers/30.png b/marble/client/ui/game/numbers/30.png new file mode 100644 index 0000000..f26fe72 Binary files /dev/null and b/marble/client/ui/game/numbers/30.png differ diff --git a/marble/client/ui/game/numbers/31.png b/marble/client/ui/game/numbers/31.png new file mode 100644 index 0000000..8d9132d Binary files /dev/null and b/marble/client/ui/game/numbers/31.png differ diff --git a/marble/client/ui/game/numbers/32.png b/marble/client/ui/game/numbers/32.png new file mode 100644 index 0000000..dbdc08b Binary files /dev/null and b/marble/client/ui/game/numbers/32.png differ diff --git a/marble/client/ui/game/numbers/33.png b/marble/client/ui/game/numbers/33.png new file mode 100644 index 0000000..9d75195 Binary files /dev/null and b/marble/client/ui/game/numbers/33.png differ diff --git a/marble/client/ui/game/numbers/34.png b/marble/client/ui/game/numbers/34.png new file mode 100644 index 0000000..597c3a4 Binary files /dev/null and b/marble/client/ui/game/numbers/34.png differ diff --git a/marble/client/ui/game/numbers/35.png b/marble/client/ui/game/numbers/35.png new file mode 100644 index 0000000..536e6bc Binary files /dev/null and b/marble/client/ui/game/numbers/35.png differ diff --git a/marble/client/ui/game/numbers/36.png b/marble/client/ui/game/numbers/36.png new file mode 100644 index 0000000..f48f6c0 Binary files /dev/null and b/marble/client/ui/game/numbers/36.png differ diff --git a/marble/client/ui/game/numbers/37.png b/marble/client/ui/game/numbers/37.png new file mode 100644 index 0000000..03b30dc Binary files /dev/null and b/marble/client/ui/game/numbers/37.png differ diff --git a/marble/client/ui/game/numbers/38.png b/marble/client/ui/game/numbers/38.png new file mode 100644 index 0000000..5d3776b Binary files /dev/null and b/marble/client/ui/game/numbers/38.png differ diff --git a/marble/client/ui/game/numbers/39.png b/marble/client/ui/game/numbers/39.png new file mode 100644 index 0000000..c692f5d Binary files /dev/null and b/marble/client/ui/game/numbers/39.png differ diff --git a/marble/client/ui/game/numbers/4.png b/marble/client/ui/game/numbers/4.png new file mode 100644 index 0000000..5261ea0 Binary files /dev/null and b/marble/client/ui/game/numbers/4.png differ diff --git a/marble/client/ui/game/numbers/5.png b/marble/client/ui/game/numbers/5.png new file mode 100644 index 0000000..19cade1 Binary files /dev/null and b/marble/client/ui/game/numbers/5.png differ diff --git a/marble/client/ui/game/numbers/6.png b/marble/client/ui/game/numbers/6.png new file mode 100644 index 0000000..189e46d Binary files /dev/null and b/marble/client/ui/game/numbers/6.png differ diff --git a/marble/client/ui/game/numbers/7.png b/marble/client/ui/game/numbers/7.png new file mode 100644 index 0000000..daec43b Binary files /dev/null and b/marble/client/ui/game/numbers/7.png differ diff --git a/marble/client/ui/game/numbers/8.png b/marble/client/ui/game/numbers/8.png new file mode 100644 index 0000000..4aa3ce2 Binary files /dev/null and b/marble/client/ui/game/numbers/8.png differ diff --git a/marble/client/ui/game/numbers/9.png b/marble/client/ui/game/numbers/9.png new file mode 100644 index 0000000..ca8d0f3 Binary files /dev/null and b/marble/client/ui/game/numbers/9.png differ diff --git a/marble/client/ui/game/numbers/colon.png b/marble/client/ui/game/numbers/colon.png new file mode 100644 index 0000000..afdf3e8 Binary files /dev/null and b/marble/client/ui/game/numbers/colon.png differ diff --git a/marble/client/ui/game/numbers/dash.png b/marble/client/ui/game/numbers/dash.png new file mode 100644 index 0000000..5eee88c Binary files /dev/null and b/marble/client/ui/game/numbers/dash.png differ diff --git a/marble/client/ui/game/numbers/point.png b/marble/client/ui/game/numbers/point.png new file mode 100644 index 0000000..0e256b4 Binary files /dev/null and b/marble/client/ui/game/numbers/point.png differ diff --git a/marble/client/ui/game/numbers/slash.png b/marble/client/ui/game/numbers/slash.png new file mode 100644 index 0000000..9046cb6 Binary files /dev/null and b/marble/client/ui/game/numbers/slash.png differ diff --git a/marble/client/ui/game/outofbounds.png b/marble/client/ui/game/outofbounds.png new file mode 100644 index 0000000..e5124ec Binary files /dev/null and b/marble/client/ui/game/outofbounds.png differ diff --git a/marble/client/ui/game/powerup.png b/marble/client/ui/game/powerup.png new file mode 100644 index 0000000..206bd99 Binary files /dev/null and b/marble/client/ui/game/powerup.png differ diff --git a/marble/client/ui/game/ready.png b/marble/client/ui/game/ready.png new file mode 100644 index 0000000..6d20b5f Binary files /dev/null and b/marble/client/ui/game/ready.png differ diff --git a/marble/client/ui/game/set.png b/marble/client/ui/game/set.png new file mode 100644 index 0000000..3566ce5 Binary files /dev/null and b/marble/client/ui/game/set.png differ diff --git a/marble/client/ui/game/transparency.png b/marble/client/ui/game/transparency.png new file mode 100644 index 0000000..fa7ab47 Binary files /dev/null and b/marble/client/ui/game/transparency.png differ diff --git a/marble/client/ui/gglogo150.png b/marble/client/ui/gglogo150.png new file mode 100644 index 0000000..b6e4d4a Binary files /dev/null and b/marble/client/ui/gglogo150.png differ diff --git a/marble/client/ui/home/exit_d.png b/marble/client/ui/home/exit_d.png new file mode 100644 index 0000000..55ed7c2 Binary files /dev/null and b/marble/client/ui/home/exit_d.png differ diff --git a/marble/client/ui/home/exit_h.png b/marble/client/ui/home/exit_h.png new file mode 100644 index 0000000..cfa8bf8 Binary files /dev/null and b/marble/client/ui/home/exit_h.png differ diff --git a/marble/client/ui/home/exit_n.png b/marble/client/ui/home/exit_n.png new file mode 100644 index 0000000..39bd75c Binary files /dev/null and b/marble/client/ui/home/exit_n.png differ diff --git a/marble/client/ui/home/help_d.png b/marble/client/ui/home/help_d.png new file mode 100644 index 0000000..86863bc Binary files /dev/null and b/marble/client/ui/home/help_d.png differ diff --git a/marble/client/ui/home/help_h.png b/marble/client/ui/home/help_h.png new file mode 100644 index 0000000..b7610a4 Binary files /dev/null and b/marble/client/ui/home/help_h.png differ diff --git a/marble/client/ui/home/help_n.png b/marble/client/ui/home/help_n.png new file mode 100644 index 0000000..e342b1c Binary files /dev/null and b/marble/client/ui/home/help_n.png differ diff --git a/marble/client/ui/home/homegui.png b/marble/client/ui/home/homegui.png new file mode 100644 index 0000000..769926b Binary files /dev/null and b/marble/client/ui/home/homegui.png differ diff --git a/marble/client/ui/home/marbles_d.png b/marble/client/ui/home/marbles_d.png new file mode 100644 index 0000000..b9734d1 Binary files /dev/null and b/marble/client/ui/home/marbles_d.png differ diff --git a/marble/client/ui/home/marbles_h.png b/marble/client/ui/home/marbles_h.png new file mode 100644 index 0000000..81e9f68 Binary files /dev/null and b/marble/client/ui/home/marbles_h.png differ diff --git a/marble/client/ui/home/marbles_n.png b/marble/client/ui/home/marbles_n.png new file mode 100644 index 0000000..b982f62 Binary files /dev/null and b/marble/client/ui/home/marbles_n.png differ diff --git a/marble/client/ui/home/options_d.png b/marble/client/ui/home/options_d.png new file mode 100644 index 0000000..ea1ebda Binary files /dev/null and b/marble/client/ui/home/options_d.png differ diff --git a/marble/client/ui/home/options_h.png b/marble/client/ui/home/options_h.png new file mode 100644 index 0000000..735c478 Binary files /dev/null and b/marble/client/ui/home/options_h.png differ diff --git a/marble/client/ui/home/options_n.png b/marble/client/ui/home/options_n.png new file mode 100644 index 0000000..70374e4 Binary files /dev/null and b/marble/client/ui/home/options_n.png differ diff --git a/marble/client/ui/home/play_d.png b/marble/client/ui/home/play_d.png new file mode 100644 index 0000000..44622d0 Binary files /dev/null and b/marble/client/ui/home/play_d.png differ diff --git a/marble/client/ui/home/play_h.png b/marble/client/ui/home/play_h.png new file mode 100644 index 0000000..b2a2591 Binary files /dev/null and b/marble/client/ui/home/play_h.png differ diff --git a/marble/client/ui/home/play_n.png b/marble/client/ui/home/play_n.png new file mode 100644 index 0000000..2dbbb2b Binary files /dev/null and b/marble/client/ui/home/play_n.png differ diff --git a/marble/client/ui/hudfill.png b/marble/client/ui/hudfill.png new file mode 100644 index 0000000..e435854 Binary files /dev/null and b/marble/client/ui/hudfill.png differ diff --git a/marble/client/ui/ignitionGui.gui b/marble/client/ui/ignitionGui.gui new file mode 100644 index 0000000..a49f514 --- /dev/null +++ b/marble/client/ui/ignitionGui.gui @@ -0,0 +1,127 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(IgnitionGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + io = "2888"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "143 6"; + extent = "354 468"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./register/Registra_gui"; + wrap = "0"; + + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "77 368"; + extent = "84 56"; + minExtent = "8 8"; + visible = "1"; + command = "quit();"; + accelerator = "escape"; + helpTag = "0"; + text = "NO"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./register/cancel"; + simpleStyle = "0"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "199 360"; + extent = "86 66"; + minExtent = "8 8"; + visible = "1"; + command = "IgnitionGui.register();"; + accelerator = "return"; + helpTag = "0"; + text = "YES"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./register/ok"; + simpleStyle = "0"; + }; + new GuiTextEditCtrl(IgnitionGuiKey) { + profile = "GuiTPTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "83 327"; + extent = "205 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + sinkAllKeyEvents = "0"; + }; + new GuiMLTextCtrl(IgnitionGuiText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "81 127"; + extent = "202 112"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function runIgnition() +{ + IgnitionGui.io = new IgnitionObject(); + if(!IgnitionGui.io) + { + Canvas.setContent(MainMenuGui); + return; + } + %status = IgnitionGui.io.validate(); + echo("Ignition: " @ %status); + + if (%status $= "ValidTicket") + Canvas.setContent(MainMenuGui); + else { + Canvas.setContent(IgnitionGui); + IgnitionGuiText.setText( +"You must be connected to the internet in order "@ +"to register this product. Please enter the "@ +"registration code from your purchase order "@ +"confirmation email. If you have lost your "@ +"confirmation email, registration numbers "@ +"for all your GarageGames products can be "@ +"found on your GarageGames home page."@ +"\n\nRegistration ID: " @ IgnitionGui.io.machineGUID); + } + +} + +function IgnitionGui::register(%this) +{ + IgnitionStatusGui.io = %this.io; + IgnitionStatusGui.key = IgnitionGuiKey.getValue(); + Canvas.pushDialog(IgnitionStatusGui); +} diff --git a/marble/client/ui/ignitionGui.gui.dso b/marble/client/ui/ignitionGui.gui.dso new file mode 100644 index 0000000..1035509 Binary files /dev/null and b/marble/client/ui/ignitionGui.gui.dso differ diff --git a/marble/client/ui/ignitionStatusGui.gui b/marble/client/ui/ignitionStatusGui.gui new file mode 100644 index 0000000..4e94a44 --- /dev/null +++ b/marble/client/ui/ignitionStatusGui.gui @@ -0,0 +1,137 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(IgnitionStatusGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + key = "ZZZZ-ZZZZ-ZZZZ-ZZZZ"; + io = "1394"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "143 30"; + extent = "354 420"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./register/status_base"; + wrap = "0"; + + new GuiBitmapButtonCtrl(IgnitionStatusGuiCancel) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "135 319"; + extent = "84 56"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.popDialog(IgnitionStatusGui);"; + accelerator = "escape"; + helpTag = "0"; + text = "NO"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./register/cancel"; + simpleStyle = "0"; + }; + new GuiBitmapButtonCtrl(IgnitionStatusGuiOk) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "133 316"; + extent = "86 66"; + minExtent = "8 8"; + visible = "0"; + command = "Canvas.setContent(MainMenuGui);"; + accelerator = "return"; + helpTag = "0"; + text = "YES"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./register/ok"; + simpleStyle = "0"; + }; + new GuiMLTextCtrl(IgnitionStatusGuiText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "63 118"; + extent = "224 48"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; +}; +//--- OBJECT WRITE END --- + +$IgnitionMessage["InvalidKey"] = "The registration number you have entered is not valid. Please press the cancel button and re-enter your number."; +$IgnitionMessage["DisableKey"] = "The registration number you have entered has been disabled by GarageGames. For further information please contact GarageGames at support@garagegames.com"; +$IgnitionMessage["ConnectionError"] = "The registration server could not be contacted. Please make sure you are connected to the internet before pressing the cancel button to try again.\n\nIf you'd like to use the off-line registration option, visit the www.garagegames.com/ignition page for further information."; +$IgnitionMessage["ServerError"] = "The registration server has reported an internal error. Please contact GarageGames at support@garagegames.com for further information."; +$IgnitionMessage["FileError"] = "The registration system could not write information to the installed volume. Make sure you installed Marble Blast in a directory you can write to."; + +function IgnitionStatusGui::onWake(%this) +{ + if (!isObject(%this.io)) + %this.io = new IgnitionObject(); + IgnitionStatusGuiOk.setVisible(false); + IgnitionStatusGuiCancel.setVisible(true); + IgnitionStatusGuiText.setText("Contacting registation server..."); + IgnitionStatusGui.schedule(200,"checkStatus"); + %this.io.register(%this.key); +} + +function IgnitionStatusGui::onSleep(%this) +{ + %this.io.cancel(); +} + +function IgnitionStatusGui::checkStatus(%this) +{ + %status = %this.io.getStatus(); + if (%status $= "Wait") + IgnitionStatusGui.schedule(200,"checkStatus"); + else + if (%status $= "ValidTicket") { + IgnitionStatusGuiOk.setVisible(true); + IgnitionStatusGuiCancel.setVisible(false); + $pref::Player::Name = %this.io.userName; + + %text = ""@ + "Registration Successful!\n" @ + "Welcome to Marble Blast\n "@ + %this.io.userName @ "\n"; + if (%this.io.expirationTime) { + if (%this.io.expirationDays) + %time = %this.io.expirationDays @ " days"; + else + if (%this.io.expirationHours) + %time = %this.io.expirationHours @ " hours"; + else + if (%this.io.expirationMinutes) + %time = %this.io.expirationMinutes @ " minutes"; + else + %time = %this.io.expirationSeconds @ " seconds"; + %text = %text @ "This game expires in " @ %time; + } + IgnitionStatusGuiText.setText(%text); + } + else { + %text = "Registration Error!\n" @ + "" @ $IgnitionMessage[%status]; + IgnitionStatusGuiText.setText(%text); + } +} diff --git a/marble/client/ui/ignitionStatusGui.gui.dso b/marble/client/ui/ignitionStatusGui.gui.dso new file mode 100644 index 0000000..b7e0979 Binary files /dev/null and b/marble/client/ui/ignitionStatusGui.gui.dso differ diff --git a/marble/client/ui/joinServerGui.gui b/marble/client/ui/joinServerGui.gui new file mode 100644 index 0000000..02c3067 --- /dev/null +++ b/marble/client/ui/joinServerGui.gui @@ -0,0 +1,355 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(JoinServerGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "92 86"; + extent = "455 308"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 42"; + extent = "30 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Pass"; + maxLength = "255"; + }; + new GuiButtonCtrl(JS_queryMaster) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "164 272"; + extent = "127 23"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.getContent().query();"; + helpTag = "0"; + text = "Query Master"; + }; + new GuiButtonCtrl(JS_joinServer) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "318 272"; + extent = "127 23"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.getContent().join();"; + helpTag = "0"; + text = "Join Server"; + active = "0"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 75"; + extent = "437 186"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new GuiTextListCtrl(JS_serverList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "419 8"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0 40 195 260 325 385"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "98 15"; + extent = "134 16"; + minExtent = "8 8"; + visible = "1"; + variable = "pref::Player::Name"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 11"; + extent = "79 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Player Name:"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "269 42"; + extent = "44 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Players"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "335 42"; + extent = "44 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Version"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "412 42"; + extent = "35 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Game"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "212 42"; + extent = "26 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Ping"; + maxLength = "255"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "72 42"; + extent = "74 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Server Name"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "10 272"; + extent = "127 23"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.getContent().exit();"; + helpTag = "0"; + text = "<< Back"; + }; + new GuiControl(JS_queryStatus) { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "72 129"; + extent = "310 50"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiButtonCtrl(JS_cancelQuery) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "9 15"; + extent = "64 20"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.getContent().cancel();"; + helpTag = "0"; + text = "Cancel"; + }; + new GuiProgressCtrl(JS_statusBar) { + profile = "GuiProgressProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "84 15"; + extent = "207 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new GuiTextCtrl(JS_statusText) { + profile = "GuiProgressTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "85 14"; + extent = "205 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +//---------------------------------------- +function JoinServerGui::onWake() +{ + // Double check the status. Tried setting this the control + // inactive to start with, but that didn't seem to work. + JS_joinServer.setActive(JS_serverList.rowCount() > 0); +} + +//---------------------------------------- +function JoinServerGui::query(%this) +{ + queryMasterServer( + 28000, // lanPort for local queries + 0, // Query flags + $Client::GameTypeQuery, // gameTypes + $Client::MissionTypeQuery, // missionType + 0, // minPlayers + 100, // maxPlayers + 0, // maxBots + 2, // regionMask + 0, // maxPing + 100, // minCPU + 0 // filterFlags + ); +} + +//---------------------------------------- +function JoinServerGui::cancel(%this) +{ + cancelServerQuery(); +} + + +//---------------------------------------- +function JoinServerGui::join(%this) +{ + cancelServerQuery(); + %id = JS_serverList.getSelectedId(); + + // The server info index is stored in the row along with the + // rest of displayed info. + %index = getField(JS_serverList.getRowTextById(%id),6); + if (setServerInfo(%index)) { + %conn = new GameConnection(ServerConnection); + %conn.setConnectArgs($pref::Player::Name); + %conn.setJoinPassword($Client::Password); + %conn.connect($ServerInfo::Address); + } +} + +//---------------------------------------- +function JoinServerGui::exit(%this) +{ + cancelServerQuery(); + Canvas.setContent(mainMenuGui); +} + +//---------------------------------------- +function JoinServerGui::update(%this) +{ + // Copy the servers into the server list. + JS_queryStatus.setVisible(false); + JS_serverList.clear(); + %sc = getServerCount(); + for (%i = 0; %i < %sc; %i++) { + setServerInfo(%i); + JS_serverList.addRow(%i, + ($ServerInfo::Password? "Yes": "No") TAB + $ServerInfo::Name TAB + $ServerInfo::Ping TAB + $ServerInfo::PlayerCount @ "/" @ $ServerInfo::MaxPlayers TAB + $ServerInfo::Version TAB + $ServerInfo::GameType TAB + %i); // ServerInfo index stored also + } + JS_serverList.sort(0); + JS_serverList.setSelectedRow(0); + JS_serverList.scrollVisible(0); + + JS_joinServer.setActive(JS_serverList.rowCount() > 0); +} + +//---------------------------------------- +function onServerQueryStatus(%status, %msg, %value) +{ + // Update query status + // States: start, update, ping, query, done + // value = % (0-1) done for ping and query states + if (!JS_queryStatus.isVisible()) + JS_queryStatus.setVisible(true); + + switch$ (%status) { + case "start": + JS_joinServer.setActive(false); + JS_queryMaster.setActive(false); + JS_statusText.setText(%msg); + JS_statusBar.setValue(0); + JS_serverList.clear(); + + case "ping": + JS_statusText.setText("Ping Servers"); + JS_statusBar.setValue(%value); + + case "query": + JS_statusText.setText("Query Servers"); + JS_statusBar.setValue(%value); + + case "done": + JS_queryMaster.setActive(true); + JS_queryStatus.setVisible(false); + JoinServerGui.update(); + } +} + diff --git a/marble/client/ui/joinServerGui.gui.dso b/marble/client/ui/joinServerGui.gui.dso new file mode 100644 index 0000000..cc4fcf7 Binary files /dev/null and b/marble/client/ui/joinServerGui.gui.dso differ diff --git a/marble/client/ui/lagicon.png b/marble/client/ui/lagicon.png new file mode 100644 index 0000000..cf158dd Binary files /dev/null and b/marble/client/ui/lagicon.png differ diff --git a/marble/client/ui/loading/cancel_d.png b/marble/client/ui/loading/cancel_d.png new file mode 100644 index 0000000..efabd4c Binary files /dev/null and b/marble/client/ui/loading/cancel_d.png differ diff --git a/marble/client/ui/loading/cancel_h.png b/marble/client/ui/loading/cancel_h.png new file mode 100644 index 0000000..4aebe0b Binary files /dev/null and b/marble/client/ui/loading/cancel_h.png differ diff --git a/marble/client/ui/loading/cancel_n.png b/marble/client/ui/loading/cancel_n.png new file mode 100644 index 0000000..4144a22 Binary files /dev/null and b/marble/client/ui/loading/cancel_n.png differ diff --git a/marble/client/ui/loading/loadinggui.png b/marble/client/ui/loading/loadinggui.png new file mode 100644 index 0000000..fd6f8e0 Binary files /dev/null and b/marble/client/ui/loading/loadinggui.png differ diff --git a/marble/client/ui/loading/overlay.png b/marble/client/ui/loading/overlay.png new file mode 100644 index 0000000..4387fe2 Binary files /dev/null and b/marble/client/ui/loading/overlay.png differ diff --git a/marble/client/ui/loadingGui.gui b/marble/client/ui/loadingGui.gui new file mode 100644 index 0000000..416fbf6 --- /dev/null +++ b/marble/client/ui/loadingGui.gui @@ -0,0 +1,88 @@ +new GuiControlProfile ("LoadingGuiContentProfile") +{ + opaque = true; + fillColor = "200 200 200"; + border = true; + borderColor = "0 0 0"; +}; + +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(LoadingGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + qLineCount = "0"; + + new GuiBitmapCtrl() { + profile = "GuiContentProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "86 77"; + extent = "468 325"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./loading/loadingGui"; + wrap = "0"; + + new GuiMLTextCtrl(LOAD_MapName) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "134 78"; + extent = "323 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiProgressCtrl(LoadingProgress) { + profile = "GuiProgressProfile"; + horizSizing = "right"; + vertSizing = "top"; + position = "153 133"; + extent = "269 78"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "320 233"; + extent = "88 50"; + minExtent = "8 8"; + visible = "1"; + command = "disconnect();"; + helpTag = "0"; + text = "play"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./loading/cancel"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "151 131"; + extent = "278 86"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./loading/overlay"; + wrap = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/loadingGui.gui.dso b/marble/client/ui/loadingGui.gui.dso new file mode 100644 index 0000000..0bbbef3 Binary files /dev/null and b/marble/client/ui/loadingGui.gui.dso differ diff --git a/marble/client/ui/mainChatHud.gui b/marble/client/ui/mainChatHud.gui new file mode 100644 index 0000000..80da5ee --- /dev/null +++ b/marble/client/ui/mainChatHud.gui @@ -0,0 +1,81 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MainChatHud) { + profile = "GuiModelessDialogProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + noCursor = "1"; + + new GuiNoMouseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "relative"; + vertSizing = "bottom"; + position = "0 133"; + extent = "400 343"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(OuterChatHud) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "8 223"; + extent = "256 72"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiButtonCtrl(chatPageDown) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "220 58"; + extent = "36 14"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + text = "Dwn"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiScrollCtrl(ChatScrollHud) { + profile = "ChatHudScrollProfile"; + horizSizing = "width"; + vertSizing = "bottom"; + position = "0 0"; + extent = "256 72"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "alwaysOff"; + constantThumbHeight = "0"; + childMargin = "0 0"; + + new GuiMessageVectorCtrl(ChatHud) { + profile = "ChatHudMessageProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "252 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "0"; + lineContinuedIndex = "10"; + allowedMatches[0] = "http"; + allowedMatches[1] = "tgeserver"; + matchColor = "0 0 255 255"; + maxColorIndex = "5"; + }; + }; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/mainMenuGui.gui b/marble/client/ui/mainMenuGui.gui new file mode 100644 index 0000000..f4db84a --- /dev/null +++ b/marble/client/ui/mainMenuGui.gui @@ -0,0 +1,167 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(MainMenuGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiTextCtrl(HomeVersion) { + profile = "GuiTextProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "289 457"; + extent = "62 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Version:"; + maxLength = "255"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "145 1"; + extent = "349 477"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./home/homeGui.png"; + wrap = "0"; + + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "50 113"; + extent = "270 95"; + minExtent = "8 8"; + visible = "1"; + command = "StopDemoTimer(); Canvas.setContent(playMissionGui);"; + helpTag = "0"; + text = "play"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./home/play"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "59 200"; + extent = "242 84"; + minExtent = "8 8"; + visible = "1"; + command = "StopDemoTimer(); Canvas.setContent(HelpCreditsGui);"; + helpTag = "0"; + text = "highscore"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./home/help"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "55 279"; + extent = "253 83"; + minExtent = "8 8"; + visible = "1"; + command = "StopDemoTimer(); Canvas.setContent(optionsDlg);"; + helpTag = "0"; + text = "options"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./home/options"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "82 358"; + extent = "203 88"; + minExtent = "8 8"; + visible = "1"; + command = "MainMenuQuit();"; + helpTag = "0"; + text = "exit"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./home/exit"; + }; + }; +}; +//--- OBJECT WRITE END --- + +function MainMenuQuit() +{ + quit(); +} + +function MainMenuGui::onWake() +{ + if($noMotdOrVersionCheck) + { + MOTDButton.setVisible(false); + HomeVersion.setText(""); + } + else + { + HomeVersion.setText("Version " @ $THIS_VERSION); + Version::check(); + checkMOTDBlink(); + } + StartDemoTimer(); + buildDemoList(); +} + +function StartDemoTimer() +{ + $LastInputEventTime = getSimTime(); + $DemoTimerEvent = schedule(1000, 0, "checkDemoPlay"); +} + +function checkDemoPlay() +{ + if($LastInputEventTime + 10000 < getSimTime()) + playNextDemo(); + else + $DemoTimerEvent = schedule(1000, 0, "checkDemoPlay"); +} + +function StopDemoTimer() +{ + cancel($DemoTimerEvent); +} + +function playNextDemo() +{ + if($NumDemoFiles != 0) + { + playDemo($DemoFile[$NextDemoFile]); + $NextDemoFile++; + if($NextDemoFile >= $NumDemoFiles) + $NextDemoFile = 0; + } +} + +function buildDemoList() +{ + if($NumDemoFiles != 0) + return; + + $NumDemoFiles = 0; + $NextDemoFile = 0; + for(%file = findFirstFile("*.rec"); %file !$= ""; %file = findNextFile("*.rec")) + { + $DemoFile[$NumDemoFiles] = %file; + $NumDemoFiles++; + } +} \ No newline at end of file diff --git a/marble/client/ui/mainMenuGui.gui.dso b/marble/client/ui/mainMenuGui.gui.dso new file mode 100644 index 0000000..a030aff Binary files /dev/null and b/marble/client/ui/mainMenuGui.gui.dso differ diff --git a/marble/client/ui/marbleselectordlg.gui b/marble/client/ui/marbleselectordlg.gui new file mode 100644 index 0000000..a3b4b70 --- /dev/null +++ b/marble/client/ui/marbleselectordlg.gui @@ -0,0 +1,126 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MarbleSkinSelectionDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "112 90"; + extent = "416 300"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/help/help_gui"; + wrap = "0"; + + new GuiMLTextCtrl(MSSD_Text) { + profile = "GuiMLTextProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "35 30"; + extent = "345 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiTextListCtrl(MSSD_List) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "80 16"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + new GuiObjectView(MSSD_ObjectView) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "95 66"; + extent = "226 168"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + model = "~/data/shapes/balls/ball-superball.dts"; + skin = "base"; + cameraRotX = "0.5"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.34641"; + autoSize = "1"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "152 218"; + extent = "111 59"; + minExtent = "8 8"; + visible = "1"; + command = "MarbleSkinSelectionDlg.apply();"; + helpTag = "0"; + text = "apply"; + groupNum = "-1"; + buttonType = "PushButton"; + repeatPeriod = "1000"; + repeatDecay = "1"; + bitmap = "./play/play"; + }; + new GuiBitmapButtonCtrl(MSSD_prev) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "center"; + position = "45 121"; + extent = "77 58"; + minExtent = "8 8"; + visible = "1"; + command = "MarbleSkinSelectionDlg.prev();"; + accelerator = "left"; + helpTag = "0"; + text = "Prev"; + groupNum = "-1"; + buttonType = "RepeaterButton"; + repeatPeriod = "350"; + repeatDecay = "0.9"; + bitmap = "./play/prev"; + }; + new GuiBitmapButtonCtrl(MSSD_next) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "center"; + position = "311 120"; + extent = "75 60"; + minExtent = "8 8"; + visible = "1"; + command = "MarbleSkinSelectionDlg.next();"; + accelerator = "right"; + helpTag = "0"; + text = "Next"; + groupNum = "-1"; + buttonType = "RepeaterButton"; + repeatPeriod = "350"; + repeatDecay = "0.9"; + bitmap = "./play/next"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/marbleselectordlg.gui.dso b/marble/client/ui/marbleselectordlg.gui.dso new file mode 100644 index 0000000..b08e27e Binary files /dev/null and b/marble/client/ui/marbleselectordlg.gui.dso differ diff --git a/marble/client/ui/messageHud.gui b/marble/client/ui/messageHud.gui new file mode 100644 index 0000000..048b198 --- /dev/null +++ b/marble/client/ui/messageHud.gui @@ -0,0 +1,53 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(MessageHud) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + noCursor = "1"; + + new GuiControl(MessageHud_Frame) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "120 375"; + extent = "400 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl(MessageHud_Text) { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "6 5"; + extent = "8 18"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + maxLength = "255"; + }; + new GuiTextEditCtrl(MessageHud_Edit) { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 5"; + extent = "10 18"; + minExtent = "8 8"; + visible = "1"; + altCommand = "$ThisControl.eval();"; + helpTag = "0"; + maxLength = "120"; + escapeCommand = "MessageHud_Edit.onEscape();"; + historySize = "5"; + password = "0"; + tabComplete = "0"; + sinkAllKeyEvents = "0"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/motd/mess_buttn_d.png b/marble/client/ui/motd/mess_buttn_d.png new file mode 100644 index 0000000..16f8e54 Binary files /dev/null and b/marble/client/ui/motd/mess_buttn_d.png differ diff --git a/marble/client/ui/motd/mess_buttn_h.png b/marble/client/ui/motd/mess_buttn_h.png new file mode 100644 index 0000000..0fae370 Binary files /dev/null and b/marble/client/ui/motd/mess_buttn_h.png differ diff --git a/marble/client/ui/motd/mess_buttn_n.png b/marble/client/ui/motd/mess_buttn_n.png new file mode 100644 index 0000000..eef3f86 Binary files /dev/null and b/marble/client/ui/motd/mess_buttn_n.png differ diff --git a/marble/client/ui/motd/mess_chkbx_d.png b/marble/client/ui/motd/mess_chkbx_d.png new file mode 100644 index 0000000..6ae9143 Binary files /dev/null and b/marble/client/ui/motd/mess_chkbx_d.png differ diff --git a/marble/client/ui/motd/mess_chkbx_h.png b/marble/client/ui/motd/mess_chkbx_h.png new file mode 100644 index 0000000..b7126f3 Binary files /dev/null and b/marble/client/ui/motd/mess_chkbx_h.png differ diff --git a/marble/client/ui/motd/mess_chkbx_n.png b/marble/client/ui/motd/mess_chkbx_n.png new file mode 100644 index 0000000..91f5b25 Binary files /dev/null and b/marble/client/ui/motd/mess_chkbx_n.png differ diff --git a/marble/client/ui/motd/motd_buttn_d.png b/marble/client/ui/motd/motd_buttn_d.png new file mode 100644 index 0000000..19d8a75 Binary files /dev/null and b/marble/client/ui/motd/motd_buttn_d.png differ diff --git a/marble/client/ui/motd/motd_buttn_h.png b/marble/client/ui/motd/motd_buttn_h.png new file mode 100644 index 0000000..928a538 Binary files /dev/null and b/marble/client/ui/motd/motd_buttn_h.png differ diff --git a/marble/client/ui/motd/motd_buttn_n.png b/marble/client/ui/motd/motd_buttn_n.png new file mode 100644 index 0000000..2813b8f Binary files /dev/null and b/marble/client/ui/motd/motd_buttn_n.png differ diff --git a/marble/client/ui/motd/new_mess_base.png b/marble/client/ui/motd/new_mess_base.png new file mode 100644 index 0000000..dfc9a52 Binary files /dev/null and b/marble/client/ui/motd/new_mess_base.png differ diff --git a/marble/client/ui/motd/ok_d.png b/marble/client/ui/motd/ok_d.png new file mode 100644 index 0000000..8c31991 Binary files /dev/null and b/marble/client/ui/motd/ok_d.png differ diff --git a/marble/client/ui/motd/ok_h.png b/marble/client/ui/motd/ok_h.png new file mode 100644 index 0000000..b0f2578 Binary files /dev/null and b/marble/client/ui/motd/ok_h.png differ diff --git a/marble/client/ui/motd/ok_n.png b/marble/client/ui/motd/ok_n.png new file mode 100644 index 0000000..3f734b5 Binary files /dev/null and b/marble/client/ui/motd/ok_n.png differ diff --git a/marble/client/ui/ok_d.png b/marble/client/ui/ok_d.png new file mode 100644 index 0000000..92206f3 Binary files /dev/null and b/marble/client/ui/ok_d.png differ diff --git a/marble/client/ui/ok_h.png b/marble/client/ui/ok_h.png new file mode 100644 index 0000000..2501437 Binary files /dev/null and b/marble/client/ui/ok_h.png differ diff --git a/marble/client/ui/ok_n.png b/marble/client/ui/ok_n.png new file mode 100644 index 0000000..55bef93 Binary files /dev/null and b/marble/client/ui/ok_n.png differ diff --git a/marble/client/ui/optionsDlg.gui b/marble/client/ui/optionsDlg.gui new file mode 100644 index 0000000..1410b8d --- /dev/null +++ b/marble/client/ui/optionsDlg.gui @@ -0,0 +1,927 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(optionsDlg) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "60 15"; + extent = "520 450"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(OptGraphicsTab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "58 44"; + extent = "149 86"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/graf_tab"; + wrap = "0"; + }; + new GuiBitmapCtrl(OptControlsTab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "315 15"; + extent = "149 65"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/cntr_tab"; + wrap = "0"; + }; + new GuiBitmapCtrl(OptBoxFrame) { + profile = "GuiDialogProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "25 14"; + extent = "470 422"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/options_base.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(OptAudioTab) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "204 33"; + extent = "114 75"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/aud_tab"; + wrap = "0"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "60 15"; + extent = "520 450"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiControl(OptControlsPane) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "44 58"; + extent = "459 339"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiBitmapCtrl(OptMarbleControlsPane) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 5"; + extent = "438 320"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/cntrl_marb_bse"; + wrap = "0"; + + new GuiBitmapButtonTextCtrl(remap_moveforward) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "82 104"; + extent = "117 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(moveforward, \"Move Forward\");"; + helpTag = "0"; + text = "W"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_mrb_fw"; + }; + new GuiBitmapButtonTextCtrl(remap_moveright) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "230 167"; + extent = "112 45"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(moveright, \"Move Right\");"; + helpTag = "0"; + text = "D"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_mrb_rt"; + }; + new GuiBitmapButtonTextCtrl(remap_mouseFire) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "310 84"; + extent = "120 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(mouseFire, \"Use PowerUp\");"; + helpTag = "0"; + text = "Left Mouse"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_mrb_pwr"; + }; + new GuiBitmapButtonTextCtrl(remap_movebackward) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "135 235"; + extent = "118 48"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(movebackward, \"Move Backward\");"; + helpTag = "0"; + text = "S"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_mrb_bak"; + }; + new GuiBitmapButtonTextCtrl(remap_moveleft) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "19 189"; + extent = "108 45"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(moveleft, \"Move Left\");"; + helpTag = "0"; + text = "A"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_mrb_lft"; + }; + new GuiBitmapButtonTextCtrl(remap_jump) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "299 231"; + extent = "120 47"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(jump, \"Jump\");"; + helpTag = "0"; + text = "Space Bar"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_mrb_jmp"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "138 26"; + extent = "121 40"; + minExtent = "8 8"; + visible = "1"; + command = "OptCameraControlsPane.setVisible(true);OptMarbleControlsPane.setVisible(false);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "277 0"; + extent = "121 43"; + minExtent = "8 8"; + visible = "1"; + command = "OptMouseControlsPane.setVisible(true);OptMarbleControlsPane.setVisible(false);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiBitmapCtrl(OptCameraControlsPane) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 5"; + extent = "438 320"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./Options/cntrl_cam_bse"; + wrap = "0"; + + new GuiBitmapButtonTextCtrl(remap_panUp) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "29 133"; + extent = "108 42"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(panUp, \"Rotate Camera Up\");"; + helpTag = "0"; + text = "Up"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_cam_up"; + }; + new GuiBitmapButtonTextCtrl(remap_turnRight) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "312 99"; + extent = "103 36"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(turnRight, \"Rotate Camera Right\");"; + helpTag = "0"; + text = "Right"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_cam_rt"; + }; + new GuiBitmapButtonTextCtrl(remap_panDown) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "42 213"; + extent = "109 39"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(panDown, \"Rotate Camera Down\");"; + helpTag = "0"; + text = "Down"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_cam_dwn"; + }; + new GuiBitmapButtonTextCtrl(remap_turnLeft) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "319 210"; + extent = "99 36"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(turnLeft, \"Rotate Camera Left\");"; + helpTag = "0"; + text = "Left"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntr_cam_lft"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "13 45"; + extent = "121 40"; + minExtent = "8 8"; + visible = "1"; + command = "OptMarbleControlsPane.setVisible(true);OptCameraControlsPane.setVisible(false);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "276 7"; + extent = "121 40"; + minExtent = "8 8"; + visible = "1"; + command = "OptMouseControlsPane.setVisible(true);OptCameraControlsPane.setVisible(false);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiBitmapCtrl(OptMouseControlsPane) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-17 -47"; + extent = "470 425"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./Options/cntrl_mous_base"; + wrap = "0"; + + new GuiBitmapButtonTextCtrl(remap_freelook) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "219 225"; + extent = "105 45"; + minExtent = "8 8"; + visible = "1"; + command = "OptControlsPane.remap(freelook, \"Free Look\");"; + helpTag = "0"; + text = "Right Mouse"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/cntrl_mous_bttn"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 95"; + extent = "121 40"; + minExtent = "8 8"; + visible = "1"; + command = "OptMarbleControlsPane.setVisible(true);OptMouseControlsPane.setVisible(false);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "153 71"; + extent = "121 40"; + minExtent = "8 8"; + visible = "1"; + command = "OptCameraControlsPane.setVisible(true);OptMouseControlsPane.setVisible(false);"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "95 249"; + extent = "43 53"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::Input::InvertYAxis"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "ToggleButton"; + bitmap = "./Options/cntrl_mous_invrt"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "365 269"; + extent = "43 53"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::Input::AlwaysFreeLook"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "ToggleButton"; + bitmap = "./Options/cntrl_mous_freel"; + }; + new GuiSliderCtrl() { + profile = "GuiSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "147 148"; + extent = "258 34"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::Input::MouseSensitivity"; + helpTag = "0"; + range = "0.200000 3.000000"; + ticks = "10"; + value = "0.75"; + bitmap = "./Options/cntrl_mous_knb"; + }; + }; + }; + new GuiControl(OptGraphicsPane) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "35 110"; + extent = "438 298"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiBitmapButtonCtrl(OptGfxWindow) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "174 116"; + extent = "97 55"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setMode(\"Window\");"; + helpTag = "0"; + text = "OK"; + groupNum = "2"; + buttonType = "RadioButton"; + bitmap = "./Options/grafwindo"; + }; + new GuiBitmapButtonCtrl(OptGfxFull) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "288 118"; + extent = "61 55"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setMode(\"Full\");"; + helpTag = "0"; + text = "OK"; + groupNum = "2"; + buttonType = "RadioButton"; + bitmap = "./Options/grafful"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 12"; + extent = "146 261"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/graf_txt"; + wrap = "0"; + }; + new GuiBitmapButtonCtrl(OptGfx640480) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "157 -3"; + extent = "84 53"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setResolution(\"640 480\");"; + helpTag = "0"; + text = "OK"; + groupNum = "0"; + buttonType = "RadioButton"; + bitmap = "./Options/graf640"; + }; + new GuiBitmapButtonCtrl(OptGfx800600) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "237 0"; + extent = "86 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setResolution(\"800 600\");"; + helpTag = "0"; + text = "OK"; + groupNum = "0"; + buttonType = "RadioButton"; + bitmap = "./Options/graf800"; + }; + new GuiBitmapButtonCtrl(OptGfx1024768) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "320 -1"; + extent = "94 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setResolution(\"1024 768\");"; + helpTag = "0"; + text = "OK"; + groupNum = "0"; + buttonType = "RadioButton"; + bitmap = "./Options/graf1024"; + }; + new GuiBitmapButtonCtrl(OptGfxOpenGL) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 58"; + extent = "97 54"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setDriver(\"OpenGL\");"; + helpTag = "0"; + text = "OK"; + groupNum = "1"; + buttonType = "RadioButton"; + bitmap = "./Options/grafopgl"; + }; + new GuiBitmapButtonCtrl(OptGfxD3D) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "270 59"; + extent = "104 52"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setDriver(\"D3D\");"; + helpTag = "0"; + text = "OK"; + groupNum = "1"; + buttonType = "RadioButton"; + bitmap = "./Options/grafdir3d"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "188 239"; + extent = "105 60"; + minExtent = "8 8"; + visible = "1"; + command = "optionsDlg.applyGraphics();"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/grafapply"; + }; + new GuiBitmapButtonCtrl(OptGfx16) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "179 170"; + extent = "78 54"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setDepth(16);"; + helpTag = "0"; + text = "OK"; + groupNum = "3"; + buttonType = "RadioButton"; + bitmap = "./Options/graf16bt"; + }; + new GuiBitmapButtonCtrl(OptGfx32) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "272 174"; + extent = "84 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setDepth(32);"; + helpTag = "0"; + text = "OK"; + groupNum = "3"; + buttonType = "RadioButton"; + bitmap = "./Options/graf32bt"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "141 233"; + extent = "46 54"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::useStencilShadows"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "ToggleButton"; + bitmap = "./Options/graf_chkbx"; + }; + }; + new GuiControl(OptAudioPane) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "41 91"; + extent = "425 281"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "14 92"; + extent = "388 34"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/aud_snd_slide"; + wrap = "0"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "17 32"; + extent = "381 40"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/aud_mus_slide"; + wrap = "0"; + }; + new GuiSliderCtrl() { + profile = "GuiSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "137 37"; + extent = "258 34"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::Audio::channelVolume2"; + altCommand = "OptAudioUpdateChannelVolume(2);"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "10"; + value = "0.527897"; + bitmap = "./Options/aud_mus_knb"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "26 130"; + extent = "396 132"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./Options/aud_txt_wndo"; + wrap = "0"; + + new GuiMLTextCtrl(OptAudioInfo) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "24 41"; + extent = "330 56"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiSliderCtrl() { + profile = "GuiSliderProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "137 95"; + extent = "262 37"; + minExtent = "8 8"; + visible = "1"; + variable = "$pref::Audio::channelVolume1"; + altCommand = "OptAudioUpdateChannelVolume(1);"; + helpTag = "0"; + range = "0.000000 1.000000"; + ticks = "10"; + value = "1"; + bitmap = "./Options/aud_snd_knb"; + }; + }; + new GuiControl(OptGraphicsPaneMac) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "34 109"; + extent = "438 298"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + + new GuiBitmapButtonCtrl(OptGfxWindowMac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "165 60"; + extent = "97 55"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setMode(\"Window\");"; + helpTag = "0"; + text = "OK"; + groupNum = "2"; + buttonType = "RadioButton"; + bitmap = "./Options/grafwindo"; + }; + new GuiBitmapButtonCtrl(OptGfxFullMac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "279 62"; + extent = "61 55"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setMode(\"Full\");"; + helpTag = "0"; + text = "OK"; + groupNum = "2"; + buttonType = "RadioButton"; + bitmap = "./Options/grafful"; + }; + new GuiBitmapButtonCtrl(StencilShadowsButtonMac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "178 179"; + extent = "46 54"; + minExtent = "8 8"; + visible = "0"; // not visible by default + variable = "$pref::useStencilShadows"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "ToggleButton"; + bitmap = "./Options/graf_chkbx"; + }; + new GuiBitmapButtonCtrl(OptGfx640480Mac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "161 -3"; + extent = "84 53"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setResolution(\"640 480\");"; + helpTag = "0"; + text = "OK"; + groupNum = "0"; + buttonType = "RadioButton"; + bitmap = "./Options/graf640"; + }; + new GuiBitmapButtonCtrl(OptGfx800600Mac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "241 0"; + extent = "86 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setResolution(\"800 600\");"; + helpTag = "0"; + text = "OK"; + groupNum = "0"; + buttonType = "RadioButton"; + bitmap = "./Options/graf800"; + }; + new GuiBitmapButtonCtrl(OptGfx1024768Mac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "324 -1"; + extent = "94 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setResolution(\"1024 768\");"; + helpTag = "0"; + text = "OK"; + groupNum = "0"; + buttonType = "RadioButton"; + bitmap = "./Options/graf1024"; + }; + new GuiBitmapButtonCtrl(OptGfx32Mac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "263 124"; + extent = "84 51"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setDepth(32);"; + helpTag = "0"; + text = "OK"; + groupNum = "3"; + buttonType = "RadioButton"; + bitmap = "./Options/graf32bt"; + }; + new GuiBitmapButtonCtrl(OptGfx16Mac) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "170 120"; + extent = "78 54"; + minExtent = "8 8"; + visible = "1"; + command = "OptGraphicsPane.setDepth(16);"; + helpTag = "0"; + text = "OK"; + groupNum = "3"; + buttonType = "RadioButton"; + bitmap = "./Options/graf16bt"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "188 239"; + extent = "105 60"; + minExtent = "8 8"; + visible = "1"; + command = "optionsDlg.applyGraphics();"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/grafapply"; + }; + new GuiMLTextCtrl(OptGfxText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "8 6"; + extent = "154 14"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "330 356"; + extent = "121 53"; + minExtent = "8 8"; + visible = "1"; + command = "OptionsDlg.applyGraphics();Canvas.setContent(MainMenuGui);"; + helpTag = "0"; + text = "OK"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./Options/mainm"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "213 39"; + extent = "92 42"; + minExtent = "8 8"; + visible = "1"; + command = "OptionsDlg.setPane(\"Audio\");"; + helpTag = "0"; + text = "button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "331 24"; + extent = "117 42"; + minExtent = "8 8"; + visible = "1"; + command = "OptionsDlg.setPane(\"Controls\");"; + helpTag = "0"; + text = "button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "70 48"; + extent = "117 48"; + minExtent = "8 8"; + visible = "1"; + command = "OptionsDlg.setPane(\"Graphics\");"; + helpTag = "0"; + text = "button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/optionsDlg.gui.dso b/marble/client/ui/optionsDlg.gui.dso new file mode 100644 index 0000000..c676b0f Binary files /dev/null and b/marble/client/ui/optionsDlg.gui.dso differ diff --git a/marble/client/ui/optionsgui.png b/marble/client/ui/optionsgui.png new file mode 100644 index 0000000..457e995 Binary files /dev/null and b/marble/client/ui/optionsgui.png differ diff --git a/marble/client/ui/play/back_d.png b/marble/client/ui/play/back_d.png new file mode 100644 index 0000000..f618368 Binary files /dev/null and b/marble/client/ui/play/back_d.png differ diff --git a/marble/client/ui/play/back_h.png b/marble/client/ui/play/back_h.png new file mode 100644 index 0000000..7e0cf38 Binary files /dev/null and b/marble/client/ui/play/back_h.png differ diff --git a/marble/client/ui/play/back_i.png b/marble/client/ui/play/back_i.png new file mode 100644 index 0000000..040f960 Binary files /dev/null and b/marble/client/ui/play/back_i.png differ diff --git a/marble/client/ui/play/back_n.png b/marble/client/ui/play/back_n.png new file mode 100644 index 0000000..fada42d Binary files /dev/null and b/marble/client/ui/play/back_n.png differ diff --git a/marble/client/ui/play/cust_tab.png b/marble/client/ui/play/cust_tab.png new file mode 100644 index 0000000..7a3af76 Binary files /dev/null and b/marble/client/ui/play/cust_tab.png differ diff --git a/marble/client/ui/play/exp_tab.png b/marble/client/ui/play/exp_tab.png new file mode 100644 index 0000000..887868d Binary files /dev/null and b/marble/client/ui/play/exp_tab.png differ diff --git a/marble/client/ui/play/goldscore.png b/marble/client/ui/play/goldscore.png new file mode 100644 index 0000000..a5f1674 Binary files /dev/null and b/marble/client/ui/play/goldscore.png differ diff --git a/marble/client/ui/play/level_window.png b/marble/client/ui/play/level_window.png new file mode 100644 index 0000000..8c5d539 Binary files /dev/null and b/marble/client/ui/play/level_window.png differ diff --git a/marble/client/ui/play/next_d.png b/marble/client/ui/play/next_d.png new file mode 100644 index 0000000..7b3dccd Binary files /dev/null and b/marble/client/ui/play/next_d.png differ diff --git a/marble/client/ui/play/next_h.png b/marble/client/ui/play/next_h.png new file mode 100644 index 0000000..e64ebe2 Binary files /dev/null and b/marble/client/ui/play/next_h.png differ diff --git a/marble/client/ui/play/next_i.png b/marble/client/ui/play/next_i.png new file mode 100644 index 0000000..d21727f Binary files /dev/null and b/marble/client/ui/play/next_i.png differ diff --git a/marble/client/ui/play/next_n.png b/marble/client/ui/play/next_n.png new file mode 100644 index 0000000..e00bb7c Binary files /dev/null and b/marble/client/ui/play/next_n.png differ diff --git a/marble/client/ui/play/play_d.png b/marble/client/ui/play/play_d.png new file mode 100644 index 0000000..11d3568 Binary files /dev/null and b/marble/client/ui/play/play_d.png differ diff --git a/marble/client/ui/play/play_h.png b/marble/client/ui/play/play_h.png new file mode 100644 index 0000000..ddc4c93 Binary files /dev/null and b/marble/client/ui/play/play_h.png differ diff --git a/marble/client/ui/play/play_i.png b/marble/client/ui/play/play_i.png new file mode 100644 index 0000000..3e9a92f Binary files /dev/null and b/marble/client/ui/play/play_i.png differ diff --git a/marble/client/ui/play/play_n.png b/marble/client/ui/play/play_n.png new file mode 100644 index 0000000..5caafa0 Binary files /dev/null and b/marble/client/ui/play/play_n.png differ diff --git a/marble/client/ui/play/playgui.png b/marble/client/ui/play/playgui.png new file mode 100644 index 0000000..1661629 Binary files /dev/null and b/marble/client/ui/play/playgui.png differ diff --git a/marble/client/ui/play/prev_d.png b/marble/client/ui/play/prev_d.png new file mode 100644 index 0000000..34b2080 Binary files /dev/null and b/marble/client/ui/play/prev_d.png differ diff --git a/marble/client/ui/play/prev_h.png b/marble/client/ui/play/prev_h.png new file mode 100644 index 0000000..3c4bd0e Binary files /dev/null and b/marble/client/ui/play/prev_h.png differ diff --git a/marble/client/ui/play/prev_i.png b/marble/client/ui/play/prev_i.png new file mode 100644 index 0000000..e71740e Binary files /dev/null and b/marble/client/ui/play/prev_i.png differ diff --git a/marble/client/ui/play/prev_n.png b/marble/client/ui/play/prev_n.png new file mode 100644 index 0000000..b1ef44b Binary files /dev/null and b/marble/client/ui/play/prev_n.png differ diff --git a/marble/client/ui/play/skin_d.png b/marble/client/ui/play/skin_d.png new file mode 100644 index 0000000..1b21d40 Binary files /dev/null and b/marble/client/ui/play/skin_d.png differ diff --git a/marble/client/ui/play/skin_h.png b/marble/client/ui/play/skin_h.png new file mode 100644 index 0000000..22cf14c Binary files /dev/null and b/marble/client/ui/play/skin_h.png differ diff --git a/marble/client/ui/play/skin_i.png b/marble/client/ui/play/skin_i.png new file mode 100644 index 0000000..c7b4bcf Binary files /dev/null and b/marble/client/ui/play/skin_i.png differ diff --git a/marble/client/ui/play/skin_n.png b/marble/client/ui/play/skin_n.png new file mode 100644 index 0000000..5c435ba Binary files /dev/null and b/marble/client/ui/play/skin_n.png differ diff --git a/marble/client/ui/play/tab_adv.png b/marble/client/ui/play/tab_adv.png new file mode 100644 index 0000000..aa562b6 Binary files /dev/null and b/marble/client/ui/play/tab_adv.png differ diff --git a/marble/client/ui/play/tab_begin.png b/marble/client/ui/play/tab_begin.png new file mode 100644 index 0000000..18725dd Binary files /dev/null and b/marble/client/ui/play/tab_begin.png differ diff --git a/marble/client/ui/play/tab_inter.png b/marble/client/ui/play/tab_inter.png new file mode 100644 index 0000000..240248c Binary files /dev/null and b/marble/client/ui/play/tab_inter.png differ diff --git a/marble/client/ui/play/text_window.png b/marble/client/ui/play/text_window.png new file mode 100644 index 0000000..a50467c Binary files /dev/null and b/marble/client/ui/play/text_window.png differ diff --git a/marble/client/ui/playGui.gui b/marble/client/ui/playGui.gui new file mode 100644 index 0000000..2bfd203 --- /dev/null +++ b/marble/client/ui/playGui.gui @@ -0,0 +1,421 @@ +//--- OBJECT WRITE BEGIN --- +new GameTSCtrl(PlayGUI) { + profile = "GuiContentProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + timeInc = "50"; + gemCount = "0"; + maxGems = "0"; + noCursor = "1"; + timerInc = "50"; + elapsedTime = "155150"; + timerId = "3512"; + + new GuiBitmapCtrl(CenterMessageDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "relative"; + position = "263 126"; + extent = "114 44"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/go.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(CenterPrintDlg) { + profile = "CenterPrintProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "45 230"; + extent = "550 20"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./hudfill.png"; + wrap = "0"; + + new GuiMLTextCtrl(CenterPrintText) { + profile = "CenterPrintTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 0"; + extent = "546 12"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiBitmapCtrl(BottomPrintDlg) { + profile = "CenterPrintProfile"; + horizSizing = "center"; + vertSizing = "top"; + position = "45 375"; + extent = "550 20"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./hudfill.png"; + wrap = "0"; + + new GuiMLTextCtrl(BottomPrintText) { + profile = "CenterPrintTextProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "0 0"; + extent = "546 12"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiBitmapCtrl(LagIcon) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "572 3"; + extent = "32 32"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./lagIcon.png"; + wrap = "0"; + }; + new GuiObjectView(HUD_ShowGem) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-4 -4"; + extent = "60 60"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + skin = "base"; + cameraRotX = "0"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.46368"; + autoSize = "1"; + }; + new GuiBitmapCtrl(GemsFoundHun) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "30 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(GemsFoundTen) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "54 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(GemsFoundOne) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "78 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(GemsSlash) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "99 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/slash.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(GemsTotalHun) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "120 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(GemsTotalTen) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "144 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(GemsTotalOne) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "168 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "215 1"; + extent = "210 58"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(Min_Ten) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "23 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/0.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(Min_One) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "47 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/2.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(MinSec_Colon) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "67 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/colon.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(Sec_Ten) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "83 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/3.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(Sec_One) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "107 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/5.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(MinSec_Point) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "127 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/point.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(Sec_Tenth) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "143 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/1.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(Sec_Hundredth) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "167 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/5.png"; + wrap = "0"; + }; + new GuiBitmapCtrl(PG_NegSign) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "43 55"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/numbers/dash.png"; + wrap = "0"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "center"; + position = "0 210"; + extent = "640 60"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(HelpTextBackground) { + profile = "GuiMLTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "640 14"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiMLTextCtrl(HelpTextForeground) { + profile = "ChatHudMessageProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 16"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "top"; + position = "0 418"; + extent = "640 58"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiMLTextCtrl(ChatTextBackground) { + profile = "GuiMLTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "1 1"; + extent = "640 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiMLTextCtrl(ChatTextForeground) { + profile = "ChatHudMessageProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiObjectView(HUD_ShowPowerUp) { + profile = "GuiButtonProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "552 18"; + extent = "68 67"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + cameraZRot = "0"; + forceFOV = "0"; + skin = "base"; + cameraRotX = "0"; + cameraZRotSpeed = "0.001"; + orbitDistance = "1.82456"; + autoSize = "1"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "bottom"; + position = "538 6"; + extent = "97 96"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./game/powerup.png"; + wrap = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/client/ui/playMissionGui.gui b/marble/client/ui/playMissionGui.gui new file mode 100644 index 0000000..4276005 --- /dev/null +++ b/marble/client/ui/playMissionGui.gui @@ -0,0 +1,700 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(playMissionGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiControl() { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "-1 44"; + extent = "641 392"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(PM_TabAdvanced) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "410 21"; + extent = "166 43"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Advanced\";buildMissionList();"; + helpTag = "0"; + bitmap = "./play/tab_adv"; + wrap = "1"; + text = "Advanced"; + }; + new GuiBitmapCtrl(PM_TabIntermediate) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "213 4"; + extent = "205 58"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Intermediate\";buildMissionList();"; + helpTag = "0"; + bitmap = "./play/tab_inter"; + wrap = "1"; + text = "Intermediate"; + }; + new GuiBitmapCtrl(PM_TabExpert) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "589 88"; + extent = "52 151"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Expert\";buildMissionList();"; + bitmap = "./play/exp_tab"; + wrap = "0"; + helpTag = "0"; + text = "Expert"; + }; + new GuiBitmapCtrl(PM_TabCustom) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "587 213"; + extent = "52 158"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Custom\";buildMissionList();"; + bitmap = "./play/cust_tab"; + wrap = "0"; + helpTag = "0"; + text = "Custom"; + }; + new GuiBitmapCtrl(PM_Box) { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 42"; + extent = "610 351"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./play/playGui.png"; + wrap = "0"; + + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "31 29"; + extent = "276 229"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./play/text_window"; + wrap = "0"; + }; + new GuiBitmapCtrl(PM_preview) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "312 42"; + extent = "258 193"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/data/missions/beginner/superspeed"; + wrap = "0"; + + new GuiControl(PM_NoQualOverlay) { + profile = "OverlayScreenProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "2 3"; + extent = "256 190"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; + new GuiBitmapCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "258 194"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./play/level_window.png"; + wrap = "0"; + + new GuiMLTextCtrl(PM_level_bkgnd) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "5 156"; + extent = "254 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiMLTextCtrl(PM_level_fgnd) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "4 155"; + extent = "254 24"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + new GuiMLTextCtrl(PM_NoQualText) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 84"; + extent = "254 32"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + }; + new GuiBitmapButtonCtrl(PM_play) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "391 257"; + extent = "121 62"; + minExtent = "8 8"; + visible = "1"; + command = "PM_StartMission();"; + helpTag = "0"; + text = "play"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./play/play"; + }; + new GuiBitmapButtonCtrl(PM_prev) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "321 260"; + extent = "77 58"; + minExtent = "8 8"; + visible = "1"; + command = "PM_setSelected(4);"; + helpTag = "0"; + text = "Prev"; + groupNum = "-1"; + buttonType = "RepeaterButton"; + repeatPeriod = 350; + repeatDecay = 0.9; + accelerator = "left"; + bitmap = "./play/prev"; + }; + new GuiBitmapButtonCtrl(PM_next) { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "507 262"; + extent = "75 60"; + minExtent = "8 8"; + visible = "1"; + command = "PM_setSelected(6);"; + helpTag = "0"; + text = "Next"; + groupNum = "-1"; + buttonType = "RepeaterButton"; + repeatPeriod = 350; + accelerator = "right"; + repeatDecay = 0.9; + bitmap = "./play/next"; + }; + new GuiTextListCtrl(PM_missionList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "80 384"; + minExtent = "8 8"; + visible = "0"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "102 260"; + extent = "79 61"; + minExtent = "8 8"; + visible = "1"; + command = "disconnect(); Canvas.setContent(MainMenuGui);"; + accelerator = "escape"; + helpTag = "0"; + text = "play"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./play/back"; + }; + new GuiBitmapButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "182 260"; + extent = "79 61"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.pushDialog(MarbleSkinSelectionDlg);"; + helpTag = "0"; + text = "skin"; + groupNum = "-1"; + buttonType = "PushButton"; + bitmap = "./play/skin"; + }; + new GuiMLTextCtrl(PM_description) { + profile = "GuiMLTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "61 43"; + extent = "215 174"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiBitmapCtrl(PM_TabBeginner) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "29 2"; + extent = "184 55"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"Beginner\";buildMissionList();"; + helpTag = "0"; + bitmap = "./play/tab_begin"; + wrap = "1"; + text = "Beginner"; + }; + new GuiControl(PM_TabButtons) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "-4 2"; + extent = "631 61"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "577 18"; + extent = "43 40"; + minExtent = "8 8"; + visible = "1"; + command = "$MissionType=\"\";buildMissionList();"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "428 22"; + extent = "142 36"; + minExtent = "8 8"; + visible = "1"; + command = "PMSetMissionTab(\"Advanced\");"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "236 6"; + extent = "183 52"; + minExtent = "8 8"; + visible = "1"; + command = "PMSetMissionTab(\"Intermediate\");"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "62 7"; + extent = "141 50"; + minExtent = "8 8"; + visible = "1"; + command = "PMSetMissionTab(\"Beginner\");"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + new GuiControl(PM_TabButtons2) { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "597 0"; + extent = "42 380"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 111"; + extent = "42 109"; + minExtent = "8 8"; + visible = "1"; + command = "PMSetMissionTab(\"Expert\");"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 238"; + extent = "42 109"; + minExtent = "8 8"; + visible = "1"; + command = "PMSetMissionTab(\"Custom\");"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; + }; + }; + new GuiButtonBaseCtrl() { + profile = "GuiDefaultProfile"; + horizSizing = "left"; + vertSizing = "top"; + position = "625 465"; + extent = "18 19"; + minExtent = "8 8"; + visible = "1"; + command = "PM_skipQualify();"; + helpTag = "0"; + text = "Button"; + groupNum = "-1"; + buttonType = "PushButton"; + }; +}; +//--- OBJECT WRITE END --- + + +//---------------------------------------- +function playMissionGui::onWake() +{ + if($MissionType $= "") + $MissionType = "Beginner"; + PMSetMissionTab($MissionType); +} + +function PMSetMissionTab(%tab) +{ + $MissionType = %tab; + %par = PM_Box.getGroup(); + RootGroup.add(PM_Box); + RootGroup.add("PM_Tab" @ %tab); + RootGroup.add(PM_TabButtons); + RootGroup.add(PM_TabButtons2); + %par.add(PM_Box); + %par.add("PM_Tab" @ %tab); + %par.add(PM_TabButtons); + %par.add(PM_TabButtons2); + buildMissionList(); +} + +function sortByLevel(%grp) +{ + %ngrp = new SimGroup(); + // take all the objects out of grp and put them in ngrp + while((%obj = %grp.getObject(0)) != -1) + %ngrp.add(%obj); + + while(%ngrp.getCount() != 0) + { + %lowest = %ngrp.getObject(0).level; + %lowestIndex = 0; + for(%i = 1; %i < %ngrp.getCount(); %i++) + { + %level = %ngrp.getObject(%i).level; + if(%level < %lowest) + { + %lowest = %level; + %lowestIndex = %i; + } + } + %obj = %ngrp.getObject(%lowestIndex); + %grp.add(%obj); + %obj.level = %grp.getCount(); + } + %ngrp.delete(); +} + +function buildMissionList() +{ + if (!isObject(PlayMissionGroup)) + { + new SimGroup(PlayMissionGroup); + RootGroup.add(PlayMissionGroup); + + for(%file = findFirstFile($Server::MissionFileSpec); + %file !$= ""; %file = findNextFile($Server::MissionFileSpec)) + { + if (strStr(%file, "CVS/") == -1 && strStr(%file, "common/") == -1) + getMissionObject(%file); + } + for(%i = 0;(%grp = PlayMissionGroup.getObject(%i)) != -1; %i++) + sortByLevel(%grp); + } + PM_missionList.clear(); + %cnt = 0; + for(%i = 0;(%grp = PlayMissionGroup.getObject(%i)) != -1; %i++) + { + if($MissionType $= "" || %grp.getName() $= ("MTYPE_" @ $MissionType)) + { + for(%j = 0; (%mission = %grp.getObject(%j)) != -1; %j++) + { + PM_missionList.addRow(%cnt++, %mission.level TAB %mission); + } + } + } + // Select mission level, or highest qualified + if(isObject(MissionInfo) && $LastMissionType $= $MissionType) + { + if($Game::Qualified) + %level = MissionInfo.level + 1; + else + %level = MissionInfo.level; + } + else + %level = $Pref::QualifiedLevel[$MissionType]; + %selected = PM_missionList.rowCount() - 1; + for (%row = 0; %row < PM_missionList.rowCount(); %row++) + { + %mission = getField(PM_missionList.getRowText(%row), 1); + if (%mission.level + 0 == %level) + { + %selected = %row; + break; + } + } + + PM_setSelected(%selected); +} + +function PM_skipQualify() +{ + %row = PM_MissionList.getRowNumById(PM_MissionList.getSelectedId()); + if($MissionType !$= "" && %row == $pref::QualifiedLevel[$MissionType]) + { + $pref::QualifiedLevel[$MissionType]++; + PM_setSelected(%row); + } +} + +//---------------------------------------- +function PM_StartMission() +{ + + %id = PM_missionList.getSelectedId(); + %mission = getField(PM_missionList.getRowTextById(%id), 1); + $LastMissionType = %mission.type; + + // + if ($pref::HostMultiPlayer) + %serverType = "MultiPlayer"; + else + %serverType = "SinglePlayer"; + + // We need to start a server if one isn't already running + if ($Server::ServerType $= "") { + if($doRecordDemo) + recordDemo("~/client/demos/demo.rec", %mission.file); + createServer(%serverType, %mission.file); + %conn = new GameConnection(ServerConnection); + RootGroup.add(ServerConnection); + %conn.setConnectArgs($pref::Player::Name); + %conn.setJoinPassword($Client::Password); + %conn.connectLocal(); + } + else + loadMission(%mission.file); + if(isObject(MissionInfo)) + MissionInfo.level = %mission.level; +} + +function onDemoPlay(%misFile) +{ + $playingDemo = true; + createServer("SinglePlayer", %misFile); + %conn = new GameConnection(ServerConnection); + RootGroup.add(ServerConnection); + %conn.setConnectArgs($pref::Player::Name); + %conn.setJoinPassword($Client::Password); + %conn.connectLocal(); +} + +function onDemoPlayDone(%forced) +{ + $playingDemo = false; + disconnect(); + if(%forced) + Canvas.setContent(MainMenuGui); + else + runPresentation(); +} + +//---------------------------------------- +function PM_setSelected( %row ) +{ + %playEnabled = (PM_missionList.rowCount() > 0) && ($testCheats || ($MissionType $= "") || (%row < $pref::QualifiedLevel[$MissionType])); + + PM_play.setActive(%playEnabled); + PM_NoQualOverlay.setVisible(!%playEnabled); + PM_NoQualText.setText(%playEnabled ? "" : "Not Qualified!"); + + PM_missionList.setSelectedRow(%row); + %id = PM_missionList.getSelectedId(); + %mission = getField(PM_missionList.getRowTextById(%id), 1); + + // set the preview info + %levelText = "" @ upperFirst(%mission.type) @ " Level " @ (%mission.level+0); + PM_level_fgnd.setText("" @ %levelText); + PM_level_bkgnd.setText("" @ %levelText); + %descText = "" @ %mission.name @ + "\n\n" @ + %mission.desc; + if(%mission.time) + %descText = %descText @ "\nTime to Qualify: " @ formatTime(%mission.time) @ ""; + + %file = %mission.file; + getBestTimes(%file); + %descText = %descText @ "\n\nBest Times:\n\n"; + for(%i = 0; %i < 3; %i++) + { + %time = getField($hs[%i], 0); + %descText = %descText @ "" @ (%i + 1) @ ". " @ getField($hs[%i], 1) TAB formatTime(%time) TAB ((%time < %mission.goldTime) ? "\n" : "\n"); + } + + PM_description.setValue( %descText ); + + PM_preview.setBitmap(filePath(%mission.file) @ "/" @fileBase(%mission.file)); + + %next = %row+1; + PM_next.setActive(%next < PM_missionList.rowCount()); + + if (%next >= PM_missionList.rowCount()) + %next = PM_missionList.rowCount() - 1; + PM_next.command = "PM_setSelected(" @ %next @ ");"; + + %prev = %row-1; + PM_prev.setActive(%prev >= 0); + if (%prev < 0 ) + %prev = 0; + PM_prev.command = "PM_setSelected(" @ %prev @ ");"; +} + + +//---------------------------------------- +function getMissionObject( %missionFile ) +{ + %file = new FileObject(); + + %missionInfoObject = ""; + + if ( %file.openForRead( %missionFile ) ) { + %inInfoBlock = false; + + while ( !%file.isEOF() ) { + %line = %file.readLine(); + %line = trim( %line ); + + if( %line $= "new ScriptObject(MissionInfo) {" ) { + %line = "new ScriptObject() {"; + %inInfoBlock = true; + } + else if( %inInfoBlock && %line $= "};" ) { + %inInfoBlock = false; + %missionInfoObject = %missionInfoObject @ %line; + break; + } + + if( %inInfoBlock ) + %missionInfoObject = %missionInfoObject @ %line @ " "; + } + + %file.close(); + } + %missionInfoObject = "%missionInfoObject = " @ %missionInfoObject; + eval( %missionInfoObject ); + + // find the directory this file belongs in: + + %path = filePath(%missionFile); + %misPath = filePath(%path); + + if(%misPath !$= "marble/data/missions") + %groupTab = "custom"; + else + %groupTab = fileBase(%path); + + %grp = nameToId("MTYPE_" @ %groupTab); + if(%grp == -1) + { + %grp = new SimGroup("MTYPE_" @ %groupTab); + PlayMissionGroup.add(%grp); + } + %missionInfoObject.type = %groupTab; + %missionInfoObject.setName(""); + %grp.add(%missionInfoObject); + %missionInfoObject.file = %missionFile; + %file.delete(); +} diff --git a/marble/client/ui/playMissionGui.gui.dso b/marble/client/ui/playMissionGui.gui.dso new file mode 100644 index 0000000..c838d22 Binary files /dev/null and b/marble/client/ui/playMissionGui.gui.dso differ diff --git a/marble/client/ui/playerList.gui b/marble/client/ui/playerList.gui new file mode 100644 index 0000000..95f1d75 --- /dev/null +++ b/marble/client/ui/playerList.gui @@ -0,0 +1,125 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//--- OBJECT WRITE BEGIN --- +new GuiControl(PlayerListGui) { + profile = "GuiModelessDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + noCursor = true; + + new GuiBitmapCtrl() { + profile = "HudScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "65 175"; + extent = "147 231"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./hudfill.png"; + wrap = "0"; + + new GuiTextCtrl() { + profile = "HudTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "37 2"; + extent = "76 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Score Board"; + maxLength = "255"; + }; + new GuiScrollCtrl() { + profile = "HudScrollProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 24"; + extent = "147 207"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "alwaysOff"; + vScrollBar = "dynamic"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new GuiTextListCtrl(PlayerListGuiList) { + profile = "HudTextProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "145 36"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0 120"; + fitParentWidth = "1"; + clipColumnText = "0"; + }; + }; + }; +}; +//--- OBJECT WRITE END --- + +function PlayerListGui::update(%this,%clientId,%name,%isSuperAdmin,%isAdmin,%isAI,%score) +{ + // Build the row to display. The name can have ML control tags, + // including color and font. Since we're not using and + // ML control here, we need to strip them off. + %tag = %isSuperAdmin? "[Super]": + (%isAdmin? "[Admin]": + (%isAI? "[Bot]": + "")); + %text = StripMLControlChars(%name) SPC %tag TAB %score; + + // Update or add the player to the control + if (PlayerListGuiList.getRowNumById(%clientId) == -1) + PlayerListGuiList.addRow(%clientId, %text); + else + PlayerListGuiList.setRowById(%clientId, %text); + + // Sorts by score + PlayerListGuiList.sortNumerical(1); +} + +function PlayerListGui::updateScore(%this,%clientId,%score) +{ + %text = PlayerListGuiList.getRowTextById(%clientId); + %text = setField(%text,1,%score); + PlayerListGuiList.setRowById(%clientId, %text); + PlayerListGuiList.sortNumerical(1); +} + +function PlayerListGui::remove(%this,%clientId) +{ + PlayerListGuiList.removeRowById(%clientId); +} + +function PlayerListGui::toggle(%this) +{ + if (%this.isAwake()) + Canvas.popDialog(%this); + else + Canvas.pushDialog(%this); +} + +function PlayerListGui::clear(%this) +{ + // Override to clear the list. + PlayerListGuiList.clear(); +} diff --git a/marble/client/ui/presents.jpg b/marble/client/ui/presents.jpg new file mode 100644 index 0000000..8ccbda2 Binary files /dev/null and b/marble/client/ui/presents.jpg differ diff --git a/marble/client/ui/presentsGui.gui b/marble/client/ui/presentsGui.gui new file mode 100644 index 0000000..931a73f --- /dev/null +++ b/marble/client/ui/presentsGui.gui @@ -0,0 +1,55 @@ +//--- OBJECT WRITE BEGIN --- +new GuiFadeinBitmapCtrl(presentsGui) { + profile = "GuiInputCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/ui/presents"; + wrap = "0"; + fadeinTime = "125"; + waitTime = "2500"; + fadeoutTime = "125"; +}; +//--- OBJECT WRITE END --- + +function runPresentation() +{ + presentsGui.done = false; + presentsGui.skip = false; + Canvas.setContent( PresentsGui ); + if(!$presentationRunBefore) + { + $presentationRunBefore = true; + if(!$noMotdOrVersionCheck) + { + startVersionCheck(); + startMotdCheck(); + } + } + schedule(100, 0, checkPresentsDone ); +} + + +//------------------------------------- +function presentsGui::click() +{ + presentsGui.skip = true; +} + + +//------------------------------------- +function checkPresentsDone() +{ + if (presentsGui.skip) + runIgnition(); + else if (presentsGui.done) + runProduction(); + else + schedule(100, 0, checkPresentsDone ); +} + + diff --git a/marble/client/ui/presentsGui.gui.dso b/marble/client/ui/presentsGui.gui.dso new file mode 100644 index 0000000..bdf3e79 Binary files /dev/null and b/marble/client/ui/presentsGui.gui.dso differ diff --git a/marble/client/ui/production.jpg b/marble/client/ui/production.jpg new file mode 100644 index 0000000..3d31e42 Binary files /dev/null and b/marble/client/ui/production.jpg differ diff --git a/marble/client/ui/productionGui.gui b/marble/client/ui/productionGui.gui new file mode 100644 index 0000000..6d7c855 --- /dev/null +++ b/marble/client/ui/productionGui.gui @@ -0,0 +1,45 @@ +//--- OBJECT WRITE BEGIN --- +new GuiFadeinBitmapCtrl(productionGui) { + profile = "GuiInputCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/ui/production"; + wrap = "0"; + fadeinTime = "125"; + waitTime = "2500"; + fadeoutTime = "125"; +}; +//--- OBJECT WRITE END --- + + +//------------------------------------- + +function runProduction() +{ + productionGui.done = true; + productionGui.skip = true; + //productionGui.done = false; + //productionGui.skip = false; + Canvas.setContent( productionGui ); + schedule(100, 0, checkProductionDone ); +} + +//------------------------------------- +function productionGui::click() +{ + productionGui.skip = true; +} + +//------------------------------------- +function checkProductionDone() +{ + if (productionGui.done || productionGui.skip) + runTitle(); + else + schedule(100, 0, checkProductionDone ); +} \ No newline at end of file diff --git a/marble/client/ui/productionGui.gui.dso b/marble/client/ui/productionGui.gui.dso new file mode 100644 index 0000000..7aae0e7 Binary files /dev/null and b/marble/client/ui/productionGui.gui.dso differ diff --git a/marble/client/ui/rebrands/_ b/marble/client/ui/rebrands/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/client/ui/register/Registra_gui.png b/marble/client/ui/register/Registra_gui.png new file mode 100644 index 0000000..b3c0608 Binary files /dev/null and b/marble/client/ui/register/Registra_gui.png differ diff --git a/marble/client/ui/register/cancel_d.png b/marble/client/ui/register/cancel_d.png new file mode 100644 index 0000000..50afdfe Binary files /dev/null and b/marble/client/ui/register/cancel_d.png differ diff --git a/marble/client/ui/register/cancel_h.png b/marble/client/ui/register/cancel_h.png new file mode 100644 index 0000000..ea8b9b6 Binary files /dev/null and b/marble/client/ui/register/cancel_h.png differ diff --git a/marble/client/ui/register/cancel_n.png b/marble/client/ui/register/cancel_n.png new file mode 100644 index 0000000..ea643b7 Binary files /dev/null and b/marble/client/ui/register/cancel_n.png differ diff --git a/marble/client/ui/register/ok_d.png b/marble/client/ui/register/ok_d.png new file mode 100644 index 0000000..3987dc0 Binary files /dev/null and b/marble/client/ui/register/ok_d.png differ diff --git a/marble/client/ui/register/ok_h.png b/marble/client/ui/register/ok_h.png new file mode 100644 index 0000000..ac2410e Binary files /dev/null and b/marble/client/ui/register/ok_h.png differ diff --git a/marble/client/ui/register/ok_n.png b/marble/client/ui/register/ok_n.png new file mode 100644 index 0000000..e67330a Binary files /dev/null and b/marble/client/ui/register/ok_n.png differ diff --git a/marble/client/ui/register/status_base.png b/marble/client/ui/register/status_base.png new file mode 100644 index 0000000..9cfaeb6 Binary files /dev/null and b/marble/client/ui/register/status_base.png differ diff --git a/marble/client/ui/remapDlg.gui b/marble/client/ui/remapDlg.gui new file mode 100644 index 0000000..2f22d70 --- /dev/null +++ b/marble/client/ui/remapDlg.gui @@ -0,0 +1,58 @@ +//--- OBJECT WRITE BEGIN --- +new GuiControl(RemapDlg) { + profile = "GuiDialogProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiBitmapCtrl(OptRemapDlg) { + profile = "GuiDefaultProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "170 159"; + extent = "300 161"; + minExtent = "48 92"; + visible = "1"; + helpTag = "0"; + bitmap = "common/ui/dialog.png"; + wrap = "0"; + resizeHeight = "1"; + canMaximize = "0"; + canMove = "1"; + minSize = "50 50"; + canClose = "0"; + maxLength = "255"; + resizeWidth = "1"; + canMinimize = "0"; + + new GuiMLTextCtrl(OptRemapText) { + profile = "GuiComic24Profile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "46 60"; + extent = "213 23"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + lineSpacing = "2"; + allowColorChars = "0"; + maxChars = "-1"; + }; + }; + new GuiInputCtrl(OptRemapInputCtrl) { + profile = "GuiInputCtrlProfile"; + horizSizing = "center"; + vertSizing = "bottom"; + position = "0 0"; + extent = "64 64"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/client/ui/remapDlg.gui.dso b/marble/client/ui/remapDlg.gui.dso new file mode 100644 index 0000000..d986da7 Binary files /dev/null and b/marble/client/ui/remapDlg.gui.dso differ diff --git a/marble/client/ui/startMissionGui.gui b/marble/client/ui/startMissionGui.gui new file mode 100644 index 0000000..5b7dfd0 --- /dev/null +++ b/marble/client/ui/startMissionGui.gui @@ -0,0 +1,218 @@ +//--- OBJECT WRITE BEGIN --- +new GuiChunkedBitmapCtrl(startMissionGui) { + profile = "GuiContentProfile"; + horizSizing = "width"; + vertSizing = "height"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "./background.jpg"; + useVariable = "0"; + tile = "0"; + + new GuiControl() { + profile = "GuiWindowProfile"; + horizSizing = "center"; + vertSizing = "center"; + position = "60 74"; + extent = "455 308"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 36"; + extent = "90 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Select Mission:"; + maxLength = "255"; + }; + new GuiCheckBoxCtrl(ML_isMultiplayer) { + profile = "GuiCheckBoxProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "155 272"; + extent = "147 23"; + minExtent = "8 8"; + visible = "1"; + variable = "pref::HostMultiPlayer"; + helpTag = "0"; + text = "Multiplayer Mission"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "320 271"; + extent = "127 23"; + minExtent = "8 8"; + visible = "1"; + command = "SM_StartMission();"; + helpTag = "0"; + text = "Launch Mission"; + }; + new GuiScrollCtrl() { + profile = "GuiScrollProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 62"; + extent = "436 200"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + willFirstRespond = "1"; + hScrollBar = "dynamic"; + vScrollBar = "alwaysOn"; + constantThumbHeight = "0"; + defaultLineHeight = "15"; + childMargin = "0 0"; + + new GuiTextListCtrl(SM_missionList) { + profile = "GuiTextArrayProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "394 54"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + enumerate = "0"; + resizeCell = "1"; + columns = "0"; + fitParentWidth = "1"; + clipColumnText = "0"; + noDuplicates = "false"; + }; + }; + new GuiTextEditCtrl() { + profile = "GuiTextEditProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "98 15"; + extent = "134 16"; + minExtent = "8 8"; + visible = "1"; + variable = "pref::Player::Name"; + helpTag = "0"; + maxLength = "255"; + historySize = "0"; + password = "0"; + tabComplete = "0"; + }; + new GuiTextCtrl() { + profile = "GuiTextProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "12 11"; + extent = "79 20"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + text = "Player Name:"; + maxLength = "255"; + }; + new GuiButtonCtrl() { + profile = "GuiButtonProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "10 272"; + extent = "127 23"; + minExtent = "8 8"; + visible = "1"; + command = "Canvas.setContent(mainMenuGui);"; + helpTag = "0"; + text = "<< Back"; + }; + }; +}; +//--- OBJECT WRITE END --- + + +//---------------------------------------- +function SM_StartMission() +{ + %id = SM_missionList.getSelectedId(); + %mission = getField(SM_missionList.getRowTextById(%id), 1); + + // + if ($pref::HostMultiPlayer) + %serverType = "MultiPlayer"; + else + %serverType = "SinglePlayer"; + + // Marble options + $RaceType = 1; +// $RaceIndex = $RaceIndex + $RaceType; + + // + createServer(%serverType, %mission); + %conn = new GameConnection(ServerConnection); + RootGroup.add(ServerConnection); + %conn.setConnectArgs($pref::Player::Name); + %conn.setJoinPassword($Client::Password); + %conn.connectLocal(); +} + + +//---------------------------------------- +function startMissionGui::onWake() +{ + SM_missionList.clear(); + %i = 0; + for(%file = findFirstFile($Server::MissionFileSpec); + %file !$= ""; %file = findNextFile($Server::MissionFileSpec)) + if (strStr(%file, "CVS/") == -1 && strStr(%file, "common/") == -1) + SM_missionList.addRow(%i++, getMissionDisplayName(%file) @ "\t" @ %file ); + SM_missionList.sort(0); + SM_missionList.setSelectedRow(0); + SM_missionList.scrollVisible(0); +} + + +//---------------------------------------- +function getMissionDisplayName( %missionFile ) +{ + %file = new FileObject(); + + %MissionInfoObject = ""; + + if ( %file.openForRead( %missionFile ) ) { + %inInfoBlock = false; + + while ( !%file.isEOF() ) { + %line = %file.readLine(); + %line = trim( %line ); + + if( %line $= "new ScriptObject(MissionInfo) {" ) + %inInfoBlock = true; + else if( %inInfoBlock && %line $= "};" ) { + %inInfoBlock = false; + %MissionInfoObject = %MissionInfoObject @ %line; + break; + } + + if( %inInfoBlock ) + %MissionInfoObject = %MissionInfoObject @ %line @ " "; + } + + %file.close(); + } + %MissionInfoObject = "%MissionInfoObject = " @ %MissionInfoObject; + eval( %MissionInfoObject ); + + %file.delete(); + + if( %MissionInfoObject.name !$= "" ) + return %MissionInfoObject.name; + else + return fileBase(%missionFile); +} + diff --git a/marble/client/ui/startMissionGui.gui.dso b/marble/client/ui/startMissionGui.gui.dso new file mode 100644 index 0000000..e5ab6e1 Binary files /dev/null and b/marble/client/ui/startMissionGui.gui.dso differ diff --git a/marble/client/ui/title.jpg b/marble/client/ui/title.jpg new file mode 100644 index 0000000..11669c7 Binary files /dev/null and b/marble/client/ui/title.jpg differ diff --git a/marble/client/ui/titleGui.gui b/marble/client/ui/titleGui.gui new file mode 100644 index 0000000..83515d3 --- /dev/null +++ b/marble/client/ui/titleGui.gui @@ -0,0 +1,44 @@ +//--- OBJECT WRITE BEGIN --- +new GuiFadeinBitmapCtrl(titleGui) { + profile = "GuiInputCtrlProfile"; + horizSizing = "right"; + vertSizing = "bottom"; + position = "0 0"; + extent = "640 480"; + minExtent = "8 8"; + visible = "1"; + helpTag = "0"; + bitmap = "~/client/ui/title"; + wrap = "0"; + fadeinTime = "125"; + waitTime = "3000"; + fadeoutTime = "125"; +}; +//--- OBJECT WRITE END --- + + +//------------------------------------- +function runTitle() +{ + titleGui.done = false; + titleGui.skip = false; + Canvas.setContent(titleGui); + schedule(100, 0, checkTitleDone ); +} + + +//------------------------------------- +function titleGui::click() +{ + titleGui.skip = true; +} + + +//------------------------------------- +function checkTitleDone() +{ + if (titleGui.done || titleGui.skip) + runIgnition(); + else + schedule(100, 0, checkTitleDone ); +} \ No newline at end of file diff --git a/marble/client/ui/titleGui.gui.dso b/marble/client/ui/titleGui.gui.dso new file mode 100644 index 0000000..fb77aaf Binary files /dev/null and b/marble/client/ui/titleGui.gui.dso differ diff --git a/marble/data/init.cs b/marble/data/init.cs new file mode 100644 index 0000000..9b1c5a4 --- /dev/null +++ b/marble/data/init.cs @@ -0,0 +1,374 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +new MaterialProperty(DefaultMaterial) { + friction = 1; + restitution = 1; + force = 0; +}; + + +// Will need to play with these three friction values to balance game play +new MaterialProperty(NoFrictionMaterial) { + friction = 0.01; + restitution = 0.5; +}; + +new MaterialProperty(LowFrictionMaterial) { + friction = 0.20; + restitution = 0.5; +}; + +new MaterialProperty(HighFrictionMaterial) { + friction = 1.50; + restitution = 0.5; +}; + +new MaterialProperty(VeryHighFrictionMaterial) { + friction = 2; + restitution = 1; +}; + + + +new MaterialProperty(RubberFloorMaterial) { + friction = 1; + restitution = 1; +}; + +new MaterialProperty(IceMaterial) { + friction = 0.05; + restitution = 0.5; +}; + +new MaterialProperty(BumperMaterial) { + friction = 0.5; + restitution = 0; + force = 15; +}; + +new MaterialProperty(ButtonMaterial) { + friction = 1; + restitution = 1; +}; + +new MaterialProperty(LowBounceFloorMaterial) { + friction = 1; + restitution = 1; + force = 5; +}; + +new MaterialProperty(MedBounceFloorMaterial) { + friction = 1; + restitution = 1; + force = 10; +}; + +new MaterialProperty(HighBounceFloorMaterial) { + friction = 1; + restitution = 1; + force = 15; +}; + +new MaterialProperty(GrassFrictionMaterial) { + friction = 1.50; + restitution = 0.35; +}; + +new MaterialProperty(TarmacFrictionMaterial) { + friction = 0.85; + restitution = 0.9; +}; + +new MaterialProperty(RugFrictionMaterial) { + friction = 6; + restitution = 0.5; +}; + +new MaterialProperty(IceFrictionMaterial) { + friction = 0.03; + restitution = 0.95; +}; + +new MaterialProperty(CarpetFrictionMaterial) { + friction = 6; + restitution = 0.5; +}; + +new MaterialProperty(SandFrictionMaterial) { + friction = 4; + restitution = 0.1; +}; + +new MaterialProperty(WaterFrictionMaterial) { + friction = 6; + restitution = 0; +}; + +new MaterialProperty(BounceyFrictionMaterial) { + friction = 0.2; + restitution = 0; + force = 15; +}; + +new MaterialProperty(BackwardsForceMaterial) { + friction = -1; + restitution = 1; +}; + +new MaterialProperty(NoFrictionMaterial) { + friction = 0.01; + restitution = 0.5; +}; + +new MaterialProperty(LowFrictionMaterial) { + friction = 0.20; + restitution = 0.5; +}; + +new MaterialProperty(HighFrictionMaterial) { + friction = 1.50; + restitution = 0.5; +}; + +new MaterialProperty(VeryHighFrictionMaterial) { + friction = 2; + restitution = 1; +}; + +new MaterialProperty(TrampolineFloor) { + friction = 1; + restitution = 3; +}; + +new MaterialProperty(NeverStopBounceFloor) { + friction = 1; + restitution = 2; +}; + +new MaterialProperty(SafeFallFloor) { + friction = 1; + restitution = 0; +}; + +new MaterialProperty(BumperFloor1) { + friction = 1; + restitution = 0; + force = 5; +}; + +new MaterialProperty(BumperFloor2) { + friction = 1; + restitution = 0; + force = 10; +}; + +new MaterialProperty(BumperFloor3) { + friction = 1; + restitution = 0; + force = 15; +}; + +new MaterialProperty(RubberFloorMaterial) { + friction = 1; + restitution = 1; +}; + +new MaterialProperty(IceMaterial) { + friction = 0.05; + restitution = 0.5; +}; + +new MaterialProperty(BumperMaterial) { + friction = 0.5; + restitution = 0; + force = 15; +}; + +new MaterialProperty(ButtonMaterial) { + friction = 1; + restitution = 1; +}; + +new MaterialProperty(LowBounceMaterial) { + friction = 0.5; + restitution = 0; + force = 8; +}; + +new MaterialProperty(NormalBounceMaterial) { + friction = 0.5; + restitution = 0; + force = 15; +}; + +new MaterialProperty(HighBounceMaterial) { + friction = 0.5; + restitution = 0; + force = 30; +}; + +new MaterialProperty(VeryHighBounceMaterial) { + friction = 0.5; + restitution = 0; + force = 45; +}; + +new MaterialProperty(CarpetMaterial) { + friction = 3; + restitution = 0.2; +}; + +new MaterialProperty(GrassMaterial) { + friction = 1.5; + restitution = 0.2; +}; + +new MaterialProperty(SnowMaterial) { + friction = 0.5; + restitution = 0.1; +}; + +new MaterialProperty(WaterMaterial) { + friction = 1; + restitution = 0; +}; + +new MaterialProperty(SteelMaterial) { + friction = 2; + restitution = 0.5; +}; + +new MaterialProperty(GlassMaterial) { + friction = 0.2; + restitution = 1; +}; + +new MaterialProperty(JellyMaterial) { + friction = 0.5; + restitution = 0; + force = 2; +}; + +new MaterialProperty(SandMaterial) { + friction = 1.5; + restitution = 0; +}; + + +// +addMaterialMapping( "", DefaultMaterial); + +// Textures listed in BrianH texture document +addMaterialMapping( "grid_warm" , DefaultMaterial); +addMaterialMapping( "grid_cool" , DefaultMaterial); +addMaterialMapping( "grid_neutral" , DefaultMaterial); + +addMaterialMapping( "stripe_cool" , DefaultMaterial); +addMaterialMapping( "stripe_neutral" , DefaultMaterial); +addMaterialMapping( "stripe_warm" , DefaultMaterial); +addMaterialMapping( "tube_cool" , DefaultMaterial); +addMaterialMapping( "tube_neutral" , DefaultMaterial); +addMaterialMapping( "tube_warm" , DefaultMaterial); + +addMaterialMapping( "solid_cool1" , DefaultMaterial); +addMaterialMapping( "solid_cool2" , DefaultMaterial); +addMaterialMapping( "solid_neutral1" , DefaultMaterial); +addMaterialMapping( "solid_neutral2" , DefaultMaterial); +addMaterialMapping( "solid_warm1" , DefaultMaterial); +addMaterialMapping( "solid_warm2" , DefaultMaterial); + +addMaterialMapping( "pattern_cool1" , DefaultMaterial); +addMaterialMapping( "pattern_cool2" , DefaultMaterial); +addMaterialMapping( "pattern_neutral1" , DefaultMaterial); +addMaterialMapping( "pattern_neutral2" , DefaultMaterial); +addMaterialMapping( "pattern_warm1" , DefaultMaterial); +addMaterialMapping( "pattern_warm2" , DefaultMaterial); + +addMaterialMapping( "friction_none" , NoFrictionMaterial); +addMaterialMapping( "friction_none2" , NoFrictionMaterial); +addMaterialMapping( "friction_low" , LowFrictionMaterial); +addMaterialMapping( "friction_low2" , IceMaterial); +addMaterialMapping( "friction_high" , HighFrictionMaterial); +// used for ramps in escher level +addMaterialMapping( "friction_ramp_yellow" , VeryHighFrictionMaterial); + +// old textures (to be removed?) +addMaterialMapping( "grid1" , RubberFloorMaterial); +addMaterialMapping( "grid2" , RubberFloorMaterial); +addMaterialMapping( "grid3" , RubberFloorMaterial); +addMaterialMapping( "grid4" , RubberFloorMaterial); + + addMaterialMapping( "Bounce1" , LowBounceFloorMaterial); + addMaterialMapping( "Bounce2" , MedBounceFloorMaterial); + addMaterialMapping( "Bounce3" , HighBounceFloorMaterial); + +addMaterialMapping( "grass" , GrassFrictionMaterial); +addMaterialMapping( "ice1" , IceFrictionMaterial); +addMaterialMapping( "rug" , RugFrictionMaterial); +addMaterialMapping( "tarmac" , TarmacFrictionMaterial); +addMaterialMapping( "carpet" , CarpetFrictionMaterial); +addMaterialMapping( "sand" , SandFrictionMaterial); +addMaterialMapping( "water" , WaterFrictionMaterial); +addMaterialMapping( "floor_bounce" , BounceyFrictionMaterial); +addMaterialMapping( "mbp_chevron_friction" , BackwardsForceMaterial); +addMaterialMapping( "mbp_chevron_friction2" , BackwardsForceMaterial); +addMaterialMapping( "mbp_chevron_friction3" , BackwardsForceMaterial); + +// some part textures +addMaterialMapping( "oilslick" , IceMaterial); +addMaterialMapping( "base.slick" , IceMaterial); +addMaterialMapping( "ice.slick" , IceMaterial); +addMaterialMapping( "bumper-rubber" , BumperMaterial); +addMaterialMapping( "triang-side" , BumperMaterial); +addMaterialMapping( "triang-top" , BumperMaterial); +addMaterialMapping( "pball-round-side" , BumperMaterial); +addMaterialMapping( "pball-round-top" , BumperMaterial); +addMaterialMapping( "pball-round-bottm" , BumperMaterial); +addMaterialMapping( "button" , ButtonMaterial); + +addMaterialMapping( "friction_none" , NoFrictionMaterial); +addMaterialMapping( "friction_low" , LowFrictionMaterial); +addMaterialMapping( "friction_high" , HighFrictionMaterial); +// used for ramps in escher level +addMaterialMapping( "friction_ramp_yellow" , VeryHighFrictionMaterial); + +// old textures (to be removed?) +addMaterialMapping( "grid1" , RubberFloorMaterial); +addMaterialMapping( "grid2" , RubberFloorMaterial); +addMaterialMapping( "grid3" , RubberFloorMaterial); +addMaterialMapping( "grid4" , RubberFloorMaterial); + +// some part textures +addMaterialMapping( "oilslick" , IceMaterial); +addMaterialMapping( "base.slick" , IceMaterial); +addMaterialMapping( "ice.slick" , IceMaterial); +addMaterialMapping( "bumper-rubber" , BumperMaterial); +addMaterialMapping( "triang-side" , BumperMaterial); +addMaterialMapping( "triang-top" , BumperMaterial); +addMaterialMapping( "pball-round-side" , BumperMaterial); +addMaterialMapping( "pball-round-top" , BumperMaterial); +addMaterialMapping( "pball-round-bottm" , BumperMaterial); +addMaterialMapping( "button" , ButtonMaterial); + +// some custom floors +addMaterialMapping( "carpet", CarpetMaterial); +addMaterialMapping( "blah", LowBounceMaterial); +addMaterialMapping( "mmg_ice", IceMaterial); +addMaterialMapping( "mmg_grass", GrassMaterial); +addmaterialMapping( "mmg_jelly", JellyMaterial); +addMaterialMapping( "mmg_sand", SandMaterial); +addMaterialMapping( "mmg_water", WaterMaterial); +addMaterialMapping( "water", Watermaterial); +addMaterialMapping( "snow", SnowMaterial); +addMaterialMapping( "steel", SteelMaterial); + +// bumper floors +addMaterialMapping( "floor_bounce_low", LowBounceMaterial); +addMaterialMapping( "floor_bounce", NormalBounceMaterial); +addMaterialMapping( "floor_bounce_high", HighBounceMaterial); +addMaterialMapping( "floor_bounce_very_high", VeryHighBounceMaterial); +$testcheats=1; \ No newline at end of file diff --git a/marble/data/init.cs.dso b/marble/data/init.cs.dso new file mode 100644 index 0000000..f94c6d2 Binary files /dev/null and b/marble/data/init.cs.dso differ diff --git a/marble/data/interiors/3DMAZE.dif b/marble/data/interiors/3DMAZE.dif new file mode 100644 index 0000000..4f26227 Binary files /dev/null and b/marble/data/interiors/3DMAZE.dif differ diff --git a/marble/data/interiors/8trim.dif b/marble/data/interiors/8trim.dif new file mode 100644 index 0000000..2255e08 Binary files /dev/null and b/marble/data/interiors/8trim.dif differ diff --git a/marble/data/interiors/AFRICAN002.jpg b/marble/data/interiors/AFRICAN002.jpg new file mode 100644 index 0000000..d0709fd Binary files /dev/null and b/marble/data/interiors/AFRICAN002.jpg differ diff --git a/marble/data/interiors/AZTEC002.jpg b/marble/data/interiors/AZTEC002.jpg new file mode 100644 index 0000000..5bff320 Binary files /dev/null and b/marble/data/interiors/AZTEC002.jpg differ diff --git a/marble/data/interiors/Andy/Blast.dif b/marble/data/interiors/Andy/Blast.dif new file mode 100644 index 0000000..5694ee7 Binary files /dev/null and b/marble/data/interiors/Andy/Blast.dif differ diff --git a/marble/data/interiors/Andy/ThrillAscent1.dif b/marble/data/interiors/Andy/ThrillAscent1.dif new file mode 100644 index 0000000..f26992b Binary files /dev/null and b/marble/data/interiors/Andy/ThrillAscent1.dif differ diff --git a/marble/data/interiors/Andy/ThrillAscent2.dif b/marble/data/interiors/Andy/ThrillAscent2.dif new file mode 100644 index 0000000..adcb44f Binary files /dev/null and b/marble/data/interiors/Andy/ThrillAscent2.dif differ diff --git a/marble/data/interiors/Andy/blockland.dif b/marble/data/interiors/Andy/blockland.dif new file mode 100644 index 0000000..5de7660 Binary files /dev/null and b/marble/data/interiors/Andy/blockland.dif differ diff --git a/marble/data/interiors/Andy/blocklandrevisited.dif b/marble/data/interiors/Andy/blocklandrevisited.dif new file mode 100644 index 0000000..b9a4598 Binary files /dev/null and b/marble/data/interiors/Andy/blocklandrevisited.dif differ diff --git a/marble/data/interiors/Andy/superjump.dif b/marble/data/interiors/Andy/superjump.dif new file mode 100644 index 0000000..94f924a Binary files /dev/null and b/marble/data/interiors/Andy/superjump.dif differ diff --git a/marble/data/interiors/Andy/superspeed.dif b/marble/data/interiors/Andy/superspeed.dif new file mode 100644 index 0000000..8f9a0f1 Binary files /dev/null and b/marble/data/interiors/Andy/superspeed.dif differ diff --git a/marble/data/interiors/AnotherRoad1.dif b/marble/data/interiors/AnotherRoad1.dif new file mode 100644 index 0000000..9b66e0f Binary files /dev/null and b/marble/data/interiors/AnotherRoad1.dif differ diff --git a/marble/data/interiors/BDCake1.dif b/marble/data/interiors/BDCake1.dif new file mode 100644 index 0000000..d18b3f0 Binary files /dev/null and b/marble/data/interiors/BDCake1.dif differ diff --git a/marble/data/interiors/BDCake2.dif b/marble/data/interiors/BDCake2.dif new file mode 100644 index 0000000..1a5ac1e Binary files /dev/null and b/marble/data/interiors/BDCake2.dif differ diff --git a/marble/data/interiors/BDCake3.dif b/marble/data/interiors/BDCake3.dif new file mode 100644 index 0000000..6556bd7 Binary files /dev/null and b/marble/data/interiors/BDCake3.dif differ diff --git a/marble/data/interiors/BDCake4.dif b/marble/data/interiors/BDCake4.dif new file mode 100644 index 0000000..efba074 Binary files /dev/null and b/marble/data/interiors/BDCake4.dif differ diff --git a/marble/data/interiors/BDCake5.dif b/marble/data/interiors/BDCake5.dif new file mode 100644 index 0000000..04698f0 Binary files /dev/null and b/marble/data/interiors/BDCake5.dif differ diff --git a/marble/data/interiors/BeachStrip1.dif b/marble/data/interiors/BeachStrip1.dif new file mode 100644 index 0000000..7d79c31 Binary files /dev/null and b/marble/data/interiors/BeachStrip1.dif differ diff --git a/marble/data/interiors/BlueRoad1.dif b/marble/data/interiors/BlueRoad1.dif new file mode 100644 index 0000000..911fa2f Binary files /dev/null and b/marble/data/interiors/BlueRoad1.dif differ diff --git a/marble/data/interiors/BlueRoad2.dif b/marble/data/interiors/BlueRoad2.dif new file mode 100644 index 0000000..7471b4e Binary files /dev/null and b/marble/data/interiors/BlueRoad2.dif differ diff --git a/marble/data/interiors/BlueRoad3.dif b/marble/data/interiors/BlueRoad3.dif new file mode 100644 index 0000000..1e7ecbf Binary files /dev/null and b/marble/data/interiors/BlueRoad3.dif differ diff --git a/marble/data/interiors/BlueRoad4.dif b/marble/data/interiors/BlueRoad4.dif new file mode 100644 index 0000000..a275b39 Binary files /dev/null and b/marble/data/interiors/BlueRoad4.dif differ diff --git a/marble/data/interiors/BlueRoad5.dif b/marble/data/interiors/BlueRoad5.dif new file mode 100644 index 0000000..a3f116b Binary files /dev/null and b/marble/data/interiors/BlueRoad5.dif differ diff --git a/marble/data/interiors/BlueRoad6.dif b/marble/data/interiors/BlueRoad6.dif new file mode 100644 index 0000000..adbd7e3 Binary files /dev/null and b/marble/data/interiors/BlueRoad6.dif differ diff --git a/marble/data/interiors/CDC.dif b/marble/data/interiors/CDC.dif new file mode 100644 index 0000000..bbf2f21 Binary files /dev/null and b/marble/data/interiors/CDC.dif differ diff --git a/marble/data/interiors/CELTIC_001.jpg b/marble/data/interiors/CELTIC_001.jpg new file mode 100644 index 0000000..dae6acf Binary files /dev/null and b/marble/data/interiors/CELTIC_001.jpg differ diff --git a/marble/data/interiors/CELTIC_002.jpg b/marble/data/interiors/CELTIC_002.jpg new file mode 100644 index 0000000..950cdcc Binary files /dev/null and b/marble/data/interiors/CELTIC_002.jpg differ diff --git a/marble/data/interiors/Camo-tropic2.jpg b/marble/data/interiors/Camo-tropic2.jpg new file mode 100644 index 0000000..5022584 Binary files /dev/null and b/marble/data/interiors/Camo-tropic2.jpg differ diff --git a/marble/data/interiors/CastleWall1.dif b/marble/data/interiors/CastleWall1.dif new file mode 100644 index 0000000..b2e5f26 Binary files /dev/null and b/marble/data/interiors/CastleWall1.dif differ diff --git a/marble/data/interiors/CastleWall2.dif b/marble/data/interiors/CastleWall2.dif new file mode 100644 index 0000000..d534c9f Binary files /dev/null and b/marble/data/interiors/CastleWall2.dif differ diff --git a/marble/data/interiors/CastleWall3.dif b/marble/data/interiors/CastleWall3.dif new file mode 100644 index 0000000..024862c Binary files /dev/null and b/marble/data/interiors/CastleWall3.dif differ diff --git a/marble/data/interiors/CastleWall4.dif b/marble/data/interiors/CastleWall4.dif new file mode 100644 index 0000000..0e58fb2 Binary files /dev/null and b/marble/data/interiors/CastleWall4.dif differ diff --git a/marble/data/interiors/CastleWall5.dif b/marble/data/interiors/CastleWall5.dif new file mode 100644 index 0000000..2cff824 Binary files /dev/null and b/marble/data/interiors/CastleWall5.dif differ diff --git a/marble/data/interiors/CastleWall6.dif b/marble/data/interiors/CastleWall6.dif new file mode 100644 index 0000000..7969ab5 Binary files /dev/null and b/marble/data/interiors/CastleWall6.dif differ diff --git a/marble/data/interiors/CastleWall7.dif b/marble/data/interiors/CastleWall7.dif new file mode 100644 index 0000000..ec4d2aa Binary files /dev/null and b/marble/data/interiors/CastleWall7.dif differ diff --git a/marble/data/interiors/Castleblock.dif b/marble/data/interiors/Castleblock.dif new file mode 100644 index 0000000..a210cab Binary files /dev/null and b/marble/data/interiors/Castleblock.dif differ diff --git a/marble/data/interiors/Ceiling1.JPG b/marble/data/interiors/Ceiling1.JPG new file mode 100644 index 0000000..be9d386 Binary files /dev/null and b/marble/data/interiors/Ceiling1.JPG differ diff --git a/marble/data/interiors/Complex.dif b/marble/data/interiors/Complex.dif new file mode 100644 index 0000000..e8054fd Binary files /dev/null and b/marble/data/interiors/Complex.dif differ diff --git a/marble/data/interiors/Cube.dif b/marble/data/interiors/Cube.dif new file mode 100644 index 0000000..e6883ad Binary files /dev/null and b/marble/data/interiors/Cube.dif differ diff --git a/marble/data/interiors/CycloneToss.dif b/marble/data/interiors/CycloneToss.dif new file mode 100644 index 0000000..6177f8c Binary files /dev/null and b/marble/data/interiors/CycloneToss.dif differ diff --git a/marble/data/interiors/CycloneToss2.dif b/marble/data/interiors/CycloneToss2.dif new file mode 100644 index 0000000..2a7d432 Binary files /dev/null and b/marble/data/interiors/CycloneToss2.dif differ diff --git a/marble/data/interiors/CycloneToss3.dif b/marble/data/interiors/CycloneToss3.dif new file mode 100644 index 0000000..13f2409 Binary files /dev/null and b/marble/data/interiors/CycloneToss3.dif differ diff --git a/marble/data/interiors/CycloneToss4.dif b/marble/data/interiors/CycloneToss4.dif new file mode 100644 index 0000000..eac7254 Binary files /dev/null and b/marble/data/interiors/CycloneToss4.dif differ diff --git a/marble/data/interiors/DarkBlockWall.dif b/marble/data/interiors/DarkBlockWall.dif new file mode 100644 index 0000000..407a331 Binary files /dev/null and b/marble/data/interiors/DarkBlockWall.dif differ diff --git a/marble/data/interiors/DeckTheHalls.dif b/marble/data/interiors/DeckTheHalls.dif new file mode 100644 index 0000000..3da172f Binary files /dev/null and b/marble/data/interiors/DeckTheHalls.dif differ diff --git a/marble/data/interiors/Doors01.dif b/marble/data/interiors/Doors01.dif new file mode 100644 index 0000000..820466c Binary files /dev/null and b/marble/data/interiors/Doors01.dif differ diff --git a/marble/data/interiors/EGYPTIAN002.jpg b/marble/data/interiors/EGYPTIAN002.jpg new file mode 100644 index 0000000..c7ad781 Binary files /dev/null and b/marble/data/interiors/EGYPTIAN002.jpg differ diff --git a/marble/data/interiors/EGYPTIAN004.jpg b/marble/data/interiors/EGYPTIAN004.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/EGYPTIAN004.jpg differ diff --git a/marble/data/interiors/EGYPTIAN005.jpg b/marble/data/interiors/EGYPTIAN005.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/EGYPTIAN005.jpg differ diff --git a/marble/data/interiors/EGYPTIAN022.jpg b/marble/data/interiors/EGYPTIAN022.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/EGYPTIAN022.jpg differ diff --git a/marble/data/interiors/Emerald Tower.dif b/marble/data/interiors/Emerald Tower.dif new file mode 100644 index 0000000..04a81b9 Binary files /dev/null and b/marble/data/interiors/Emerald Tower.dif differ diff --git a/marble/data/interiors/Emerald_Tower.dif b/marble/data/interiors/Emerald_Tower.dif new file mode 100644 index 0000000..6f292c3 Binary files /dev/null and b/marble/data/interiors/Emerald_Tower.dif differ diff --git a/marble/data/interiors/FLOOR2.jpg b/marble/data/interiors/FLOOR2.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/FLOOR2.jpg differ diff --git a/marble/data/interiors/FLOOR4.jpg b/marble/data/interiors/FLOOR4.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/FLOOR4.jpg differ diff --git a/marble/data/interiors/Floor_Climb.dif b/marble/data/interiors/Floor_Climb.dif new file mode 100644 index 0000000..1050f7e Binary files /dev/null and b/marble/data/interiors/Floor_Climb.dif differ diff --git a/marble/data/interiors/Floor_Climb2.dif b/marble/data/interiors/Floor_Climb2.dif new file mode 100644 index 0000000..500f2a6 Binary files /dev/null and b/marble/data/interiors/Floor_Climb2.dif differ diff --git a/marble/data/interiors/Floor_Top_Borderless.png b/marble/data/interiors/Floor_Top_Borderless.png new file mode 100644 index 0000000..ed6bdf0 Binary files /dev/null and b/marble/data/interiors/Floor_Top_Borderless.png differ diff --git a/marble/data/interiors/FrictionalClimb.dif b/marble/data/interiors/FrictionalClimb.dif new file mode 100644 index 0000000..d21eed7 Binary files /dev/null and b/marble/data/interiors/FrictionalClimb.dif differ diff --git a/marble/data/interiors/GREEK_ROMAN002.jpg b/marble/data/interiors/GREEK_ROMAN002.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/GREEK_ROMAN002.jpg differ diff --git a/marble/data/interiors/GREEK_ROMAN003.jpg b/marble/data/interiors/GREEK_ROMAN003.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/GREEK_ROMAN003.jpg differ diff --git a/marble/data/interiors/GemMarker.jpg b/marble/data/interiors/GemMarker.jpg new file mode 100644 index 0000000..eb90634 Binary files /dev/null and b/marble/data/interiors/GemMarker.jpg differ diff --git a/marble/data/interiors/GravityMarker.png b/marble/data/interiors/GravityMarker.png new file mode 100644 index 0000000..39ba3f2 Binary files /dev/null and b/marble/data/interiors/GravityMarker.png differ diff --git a/marble/data/interiors/GreenRoad1.dif b/marble/data/interiors/GreenRoad1.dif new file mode 100644 index 0000000..f8db9e2 Binary files /dev/null and b/marble/data/interiors/GreenRoad1.dif differ diff --git a/marble/data/interiors/GreenRoad2.dif b/marble/data/interiors/GreenRoad2.dif new file mode 100644 index 0000000..57202f9 Binary files /dev/null and b/marble/data/interiors/GreenRoad2.dif differ diff --git a/marble/data/interiors/GreenRoad3.dif b/marble/data/interiors/GreenRoad3.dif new file mode 100644 index 0000000..12e15b4 Binary files /dev/null and b/marble/data/interiors/GreenRoad3.dif differ diff --git a/marble/data/interiors/Grenade.jpg b/marble/data/interiors/Grenade.jpg new file mode 100644 index 0000000..5abf136 Binary files /dev/null and b/marble/data/interiors/Grenade.jpg differ diff --git a/marble/data/interiors/Half_pipe_dive.dif b/marble/data/interiors/Half_pipe_dive.dif new file mode 100644 index 0000000..7b32858 Binary files /dev/null and b/marble/data/interiors/Half_pipe_dive.dif differ diff --git a/marble/data/interiors/Higher1.dif b/marble/data/interiors/Higher1.dif new file mode 100644 index 0000000..6bfe095 Binary files /dev/null and b/marble/data/interiors/Higher1.dif differ diff --git a/marble/data/interiors/Higher2.dif b/marble/data/interiors/Higher2.dif new file mode 100644 index 0000000..9c8c06e Binary files /dev/null and b/marble/data/interiors/Higher2.dif differ diff --git a/marble/data/interiors/Higher3.dif b/marble/data/interiors/Higher3.dif new file mode 100644 index 0000000..3db2823 Binary files /dev/null and b/marble/data/interiors/Higher3.dif differ diff --git a/marble/data/interiors/Higher4.dif b/marble/data/interiors/Higher4.dif new file mode 100644 index 0000000..7b9670b Binary files /dev/null and b/marble/data/interiors/Higher4.dif differ diff --git a/marble/data/interiors/Higher5.dif b/marble/data/interiors/Higher5.dif new file mode 100644 index 0000000..e7e839c Binary files /dev/null and b/marble/data/interiors/Higher5.dif differ diff --git a/marble/data/interiors/Higher6.dif b/marble/data/interiors/Higher6.dif new file mode 100644 index 0000000..c50a3d9 Binary files /dev/null and b/marble/data/interiors/Higher6.dif differ diff --git a/marble/data/interiors/HoD.dif b/marble/data/interiors/HoD.dif new file mode 100644 index 0000000..393e76d Binary files /dev/null and b/marble/data/interiors/HoD.dif differ diff --git a/marble/data/interiors/How_To_Diagonal_Movement.dif b/marble/data/interiors/How_To_Diagonal_Movement.dif new file mode 100644 index 0000000..f68921d Binary files /dev/null and b/marble/data/interiors/How_To_Diagonal_Movement.dif differ diff --git a/marble/data/interiors/Ice.jpg b/marble/data/interiors/Ice.jpg new file mode 100644 index 0000000..ab68dfd Binary files /dev/null and b/marble/data/interiors/Ice.jpg differ diff --git a/marble/data/interiors/Ice3x3.dif b/marble/data/interiors/Ice3x3.dif new file mode 100644 index 0000000..e9b4882 Binary files /dev/null and b/marble/data/interiors/Ice3x3.dif differ diff --git a/marble/data/interiors/IceBlock2.6x2.6.dif b/marble/data/interiors/IceBlock2.6x2.6.dif new file mode 100644 index 0000000..5b9fc88 Binary files /dev/null and b/marble/data/interiors/IceBlock2.6x2.6.dif differ diff --git a/marble/data/interiors/IceBlock2x2.dif b/marble/data/interiors/IceBlock2x2.dif new file mode 100644 index 0000000..d6c7905 Binary files /dev/null and b/marble/data/interiors/IceBlock2x2.dif differ diff --git a/marble/data/interiors/IceCube.dif b/marble/data/interiors/IceCube.dif new file mode 100644 index 0000000..175873f Binary files /dev/null and b/marble/data/interiors/IceCube.dif differ diff --git a/marble/data/interiors/IceDiamond.dif b/marble/data/interiors/IceDiamond.dif new file mode 100644 index 0000000..9a2cd9f Binary files /dev/null and b/marble/data/interiors/IceDiamond.dif differ diff --git a/marble/data/interiors/IceHall1.dif b/marble/data/interiors/IceHall1.dif new file mode 100644 index 0000000..23fdf67 Binary files /dev/null and b/marble/data/interiors/IceHall1.dif differ diff --git a/marble/data/interiors/IceHall2.dif b/marble/data/interiors/IceHall2.dif new file mode 100644 index 0000000..84a8685 Binary files /dev/null and b/marble/data/interiors/IceHall2.dif differ diff --git a/marble/data/interiors/IceRoad1.dif b/marble/data/interiors/IceRoad1.dif new file mode 100644 index 0000000..b2f2d70 Binary files /dev/null and b/marble/data/interiors/IceRoad1.dif differ diff --git a/marble/data/interiors/IceRoad2.dif b/marble/data/interiors/IceRoad2.dif new file mode 100644 index 0000000..1cc8c21 Binary files /dev/null and b/marble/data/interiors/IceRoad2.dif differ diff --git a/marble/data/interiors/IceStrip1.dif b/marble/data/interiors/IceStrip1.dif new file mode 100644 index 0000000..f57dfac Binary files /dev/null and b/marble/data/interiors/IceStrip1.dif differ diff --git a/marble/data/interiors/IceStrip2.dif b/marble/data/interiors/IceStrip2.dif new file mode 100644 index 0000000..7e9a52f Binary files /dev/null and b/marble/data/interiors/IceStrip2.dif differ diff --git a/marble/data/interiors/IceTrim.jpg b/marble/data/interiors/IceTrim.jpg new file mode 100644 index 0000000..4aa5d8f Binary files /dev/null and b/marble/data/interiors/IceTrim.jpg differ diff --git a/marble/data/interiors/Image1.jpg b/marble/data/interiors/Image1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/Image1.jpg differ diff --git a/marble/data/interiors/Image2.jpg b/marble/data/interiors/Image2.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/Image2.jpg differ diff --git a/marble/data/interiors/Image3.jpg b/marble/data/interiors/Image3.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/Image3.jpg differ diff --git a/marble/data/interiors/Image3_x_edged.jpg b/marble/data/interiors/Image3_x_edged.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/Image3_x_edged.jpg differ diff --git a/marble/data/interiors/Image4.jpg b/marble/data/interiors/Image4.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/Image4.jpg differ diff --git a/marble/data/interiors/ItsTheSun.dif b/marble/data/interiors/ItsTheSun.dif new file mode 100644 index 0000000..3a9a460 Binary files /dev/null and b/marble/data/interiors/ItsTheSun.dif differ diff --git a/marble/data/interiors/Klex.png b/marble/data/interiors/Klex.png new file mode 100644 index 0000000..55f43a5 Binary files /dev/null and b/marble/data/interiors/Klex.png differ diff --git a/marble/data/interiors/LongIceRoad1.dif b/marble/data/interiors/LongIceRoad1.dif new file mode 100644 index 0000000..46f7c2b Binary files /dev/null and b/marble/data/interiors/LongIceRoad1.dif differ diff --git a/marble/data/interiors/LongWoodPlank.jpg b/marble/data/interiors/LongWoodPlank.jpg new file mode 100644 index 0000000..d42755e Binary files /dev/null and b/marble/data/interiors/LongWoodPlank.jpg differ diff --git a/marble/data/interiors/Luke.JPG b/marble/data/interiors/Luke.JPG new file mode 100644 index 0000000..f6fa825 Binary files /dev/null and b/marble/data/interiors/Luke.JPG differ diff --git a/marble/data/interiors/MBE_Bounce_Less.png b/marble/data/interiors/MBE_Bounce_Less.png new file mode 100644 index 0000000..3c6e642 Binary files /dev/null and b/marble/data/interiors/MBE_Bounce_Less.png differ diff --git a/marble/data/interiors/MBE_Bounce_Lots.png b/marble/data/interiors/MBE_Bounce_Lots.png new file mode 100644 index 0000000..7caf9bc Binary files /dev/null and b/marble/data/interiors/MBE_Bounce_Lots.png differ diff --git a/marble/data/interiors/MBE_Bounce_Some.png b/marble/data/interiors/MBE_Bounce_Some.png new file mode 100644 index 0000000..638b35f Binary files /dev/null and b/marble/data/interiors/MBE_Bounce_Some.png differ diff --git a/marble/data/interiors/MBE_camo1.jpg b/marble/data/interiors/MBE_camo1.jpg new file mode 100644 index 0000000..6a1bdf6 Binary files /dev/null and b/marble/data/interiors/MBE_camo1.jpg differ diff --git a/marble/data/interiors/MBE_edge.jpg b/marble/data/interiors/MBE_edge.jpg new file mode 100644 index 0000000..01a4304 Binary files /dev/null and b/marble/data/interiors/MBE_edge.jpg differ diff --git a/marble/data/interiors/MBE_pale1.jpg b/marble/data/interiors/MBE_pale1.jpg new file mode 100644 index 0000000..60acf8a Binary files /dev/null and b/marble/data/interiors/MBE_pale1.jpg differ diff --git a/marble/data/interiors/MBE_pale2.jpg b/marble/data/interiors/MBE_pale2.jpg new file mode 100644 index 0000000..e85c394 Binary files /dev/null and b/marble/data/interiors/MBE_pale2.jpg differ diff --git a/marble/data/interiors/MBE_pale3.jpg b/marble/data/interiors/MBE_pale3.jpg new file mode 100644 index 0000000..807bdbb Binary files /dev/null and b/marble/data/interiors/MBE_pale3.jpg differ diff --git a/marble/data/interiors/MBE_pale4.jpg b/marble/data/interiors/MBE_pale4.jpg new file mode 100644 index 0000000..27803b1 Binary files /dev/null and b/marble/data/interiors/MBE_pale4.jpg differ diff --git a/marble/data/interiors/MBE_pale5.jpg b/marble/data/interiors/MBE_pale5.jpg new file mode 100644 index 0000000..47d4bb0 Binary files /dev/null and b/marble/data/interiors/MBE_pale5.jpg differ diff --git a/marble/data/interiors/MBE_tex1.jpg b/marble/data/interiors/MBE_tex1.jpg new file mode 100644 index 0000000..b9289e7 Binary files /dev/null and b/marble/data/interiors/MBE_tex1.jpg differ diff --git a/marble/data/interiors/MBE_tex2.jpg b/marble/data/interiors/MBE_tex2.jpg new file mode 100644 index 0000000..526d4ea Binary files /dev/null and b/marble/data/interiors/MBE_tex2.jpg differ diff --git a/marble/data/interiors/MBE_tex3.jpg b/marble/data/interiors/MBE_tex3.jpg new file mode 100644 index 0000000..2ee6ece Binary files /dev/null and b/marble/data/interiors/MBE_tex3.jpg differ diff --git a/marble/data/interiors/MBE_tex32.jpg b/marble/data/interiors/MBE_tex32.jpg new file mode 100644 index 0000000..463e4b0 Binary files /dev/null and b/marble/data/interiors/MBE_tex32.jpg differ diff --git a/marble/data/interiors/MBF/3x3_Platform.dif b/marble/data/interiors/MBF/3x3_Platform.dif new file mode 100644 index 0000000..ec8a7d8 Binary files /dev/null and b/marble/data/interiors/MBF/3x3_Platform.dif differ diff --git a/marble/data/interiors/MBF/Bounce1.png b/marble/data/interiors/MBF/Bounce1.png new file mode 100644 index 0000000..4657a0e Binary files /dev/null and b/marble/data/interiors/MBF/Bounce1.png differ diff --git a/marble/data/interiors/MBF/Bounce2.png b/marble/data/interiors/MBF/Bounce2.png new file mode 100644 index 0000000..a1358c0 Binary files /dev/null and b/marble/data/interiors/MBF/Bounce2.png differ diff --git a/marble/data/interiors/MBF/Bounce3.png b/marble/data/interiors/MBF/Bounce3.png new file mode 100644 index 0000000..6ad22a8 Binary files /dev/null and b/marble/data/interiors/MBF/Bounce3.png differ diff --git a/marble/data/interiors/MBF/Bouncy.dif b/marble/data/interiors/MBF/Bouncy.dif new file mode 100644 index 0000000..e4bf48e Binary files /dev/null and b/marble/data/interiors/MBF/Bouncy.dif differ diff --git a/marble/data/interiors/MBF/Bump.dif b/marble/data/interiors/MBF/Bump.dif new file mode 100644 index 0000000..781b954 Binary files /dev/null and b/marble/data/interiors/MBF/Bump.dif differ diff --git a/marble/data/interiors/MBF/Bumpers.dif b/marble/data/interiors/MBF/Bumpers.dif new file mode 100644 index 0000000..b92cadd Binary files /dev/null and b/marble/data/interiors/MBF/Bumpers.dif differ diff --git a/marble/data/interiors/MBF/CUSTOM_WOODBOX.jpg b/marble/data/interiors/MBF/CUSTOM_WOODBOX.jpg new file mode 100644 index 0000000..9f1d7cc Binary files /dev/null and b/marble/data/interiors/MBF/CUSTOM_WOODBOX.jpg differ diff --git a/marble/data/interiors/MBF/CastleHunt.dif b/marble/data/interiors/MBF/CastleHunt.dif new file mode 100644 index 0000000..a0a5a9a Binary files /dev/null and b/marble/data/interiors/MBF/CastleHunt.dif differ diff --git a/marble/data/interiors/MBF/Challenges.dif b/marble/data/interiors/MBF/Challenges.dif new file mode 100644 index 0000000..886c00f Binary files /dev/null and b/marble/data/interiors/MBF/Challenges.dif differ diff --git a/marble/data/interiors/MBF/Challenges.txt b/marble/data/interiors/MBF/Challenges.txt new file mode 100644 index 0000000..f65049d --- /dev/null +++ b/marble/data/interiors/MBF/Challenges.txt @@ -0,0 +1,57 @@ +C:/Program Files/Marble Blast Gold/marble/data/interiors/MBF/Normal/Challenges.dif + + + +Constructor Version: 1.0.6 + + + +Date: 2011/02/23 01:01:44 + + +Detail Level 0 + + + + Zones: 1 + + Points: 1536 + + Surfaces: 1101 + + Null Surfaces: 0 + + BSP Nodes: 781 + + + + Textures From Brushes: + + + + BOUNCE1 + + BOUNCE3 + + CUSTOM_DIRT + + NEW21 + + SUPER_FRICTION + + BOUNCE2 + + FRICTION_NONE + + EDGE7 + + + + Static Meshes and Textures: + + + + -- None -- + + + diff --git a/marble/data/interiors/MBF/CurveChallenge.dif b/marble/data/interiors/MBF/CurveChallenge.dif new file mode 100644 index 0000000..08ca3db Binary files /dev/null and b/marble/data/interiors/MBF/CurveChallenge.dif differ diff --git a/marble/data/interiors/MBF/DangerousElements.dif b/marble/data/interiors/MBF/DangerousElements.dif new file mode 100644 index 0000000..e070b14 Binary files /dev/null and b/marble/data/interiors/MBF/DangerousElements.dif differ diff --git a/marble/data/interiors/MBF/Diagonal.dif b/marble/data/interiors/MBF/Diagonal.dif new file mode 100644 index 0000000..456459b Binary files /dev/null and b/marble/data/interiors/MBF/Diagonal.dif differ diff --git a/marble/data/interiors/MBF/Downhill.dif b/marble/data/interiors/MBF/Downhill.dif new file mode 100644 index 0000000..c704a6d Binary files /dev/null and b/marble/data/interiors/MBF/Downhill.dif differ diff --git a/marble/data/interiors/MBF/EDGE_WHITE2.jpg b/marble/data/interiors/MBF/EDGE_WHITE2.jpg new file mode 100644 index 0000000..27762e6 Binary files /dev/null and b/marble/data/interiors/MBF/EDGE_WHITE2.jpg differ diff --git a/marble/data/interiors/MBF/Endurance2.dif b/marble/data/interiors/MBF/Endurance2.dif new file mode 100644 index 0000000..c6d407b Binary files /dev/null and b/marble/data/interiors/MBF/Endurance2.dif differ diff --git a/marble/data/interiors/MBF/FallingPlatforms.dif b/marble/data/interiors/MBF/FallingPlatforms.dif new file mode 100644 index 0000000..3a7cc47 Binary files /dev/null and b/marble/data/interiors/MBF/FallingPlatforms.dif differ diff --git a/marble/data/interiors/MBF/FastSlide.dif b/marble/data/interiors/MBF/FastSlide.dif new file mode 100644 index 0000000..1827d56 Binary files /dev/null and b/marble/data/interiors/MBF/FastSlide.dif differ diff --git a/marble/data/interiors/MBF/Finale.dif b/marble/data/interiors/MBF/Finale.dif new file mode 100644 index 0000000..394eac0 Binary files /dev/null and b/marble/data/interiors/MBF/Finale.dif differ diff --git a/marble/data/interiors/MBF/Flipside.dif b/marble/data/interiors/MBF/Flipside.dif new file mode 100644 index 0000000..acd8241 Binary files /dev/null and b/marble/data/interiors/MBF/Flipside.dif differ diff --git a/marble/data/interiors/MBF/FrameWork.dif b/marble/data/interiors/MBF/FrameWork.dif new file mode 100644 index 0000000..667cb64 Binary files /dev/null and b/marble/data/interiors/MBF/FrameWork.dif differ diff --git a/marble/data/interiors/MBF/Friction.dif b/marble/data/interiors/MBF/Friction.dif new file mode 100644 index 0000000..a4b51b7 Binary files /dev/null and b/marble/data/interiors/MBF/Friction.dif differ diff --git a/marble/data/interiors/MBF/FrictionAssault.dif b/marble/data/interiors/MBF/FrictionAssault.dif new file mode 100644 index 0000000..5731444 Binary files /dev/null and b/marble/data/interiors/MBF/FrictionAssault.dif differ diff --git a/marble/data/interiors/MBF/FuturisticPole.dif b/marble/data/interiors/MBF/FuturisticPole.dif new file mode 100644 index 0000000..824d987 Binary files /dev/null and b/marble/data/interiors/MBF/FuturisticPole.dif differ diff --git a/marble/data/interiors/MBF/FuturisticPole.txt b/marble/data/interiors/MBF/FuturisticPole.txt new file mode 100644 index 0000000..07b0430 --- /dev/null +++ b/marble/data/interiors/MBF/FuturisticPole.txt @@ -0,0 +1,49 @@ +C:/Program Files/Marble Blast Future/marble/data/interiors/MBF/Extras/FuturisticPole.dif + + + +Constructor Version: 1.0.6 + + + +Date: 2011/03/27 16:14:03 + + +Detail Level 0 + + + + Zones: 1 + + Points: 2893 + + Surfaces: 1210 + + Null Surfaces: 0 + + BSP Nodes: 2209 + + + + Textures From Brushes: + + + + NEW1 + + PATTERN_COOL2 + + EDGE7 + + SOLID_WHITE + + + + Static Meshes and Textures: + + + + -- None -- + + + diff --git a/marble/data/interiors/MBF/GRID_COOL4.jpg b/marble/data/interiors/MBF/GRID_COOL4.jpg new file mode 100644 index 0000000..71d19b9 Binary files /dev/null and b/marble/data/interiors/MBF/GRID_COOL4.jpg differ diff --git a/marble/data/interiors/MBF/Gems.dif b/marble/data/interiors/MBF/Gems.dif new file mode 100644 index 0000000..b6ea7fc Binary files /dev/null and b/marble/data/interiors/MBF/Gems.dif differ diff --git a/marble/data/interiors/MBF/Golf_grass.png b/marble/data/interiors/MBF/Golf_grass.png new file mode 100644 index 0000000..05079c0 Binary files /dev/null and b/marble/data/interiors/MBF/Golf_grass.png differ diff --git a/marble/data/interiors/MBF/Golf_jellyfish.png b/marble/data/interiors/MBF/Golf_jellyfish.png new file mode 100644 index 0000000..812b857 Binary files /dev/null and b/marble/data/interiors/MBF/Golf_jellyfish.png differ diff --git a/marble/data/interiors/MBF/Golf_sand.png b/marble/data/interiors/MBF/Golf_sand.png new file mode 100644 index 0000000..ac37e50 Binary files /dev/null and b/marble/data/interiors/MBF/Golf_sand.png differ diff --git a/marble/data/interiors/MBF/Golf_water.png b/marble/data/interiors/MBF/Golf_water.png new file mode 100644 index 0000000..2bfccd3 Binary files /dev/null and b/marble/data/interiors/MBF/Golf_water.png differ diff --git a/marble/data/interiors/MBF/Gravity.dif b/marble/data/interiors/MBF/Gravity.dif new file mode 100644 index 0000000..6722a89 Binary files /dev/null and b/marble/data/interiors/MBF/Gravity.dif differ diff --git a/marble/data/interiors/MBF/Gyrocopter.dif b/marble/data/interiors/MBF/Gyrocopter.dif new file mode 100644 index 0000000..e8a674a Binary files /dev/null and b/marble/data/interiors/MBF/Gyrocopter.dif differ diff --git a/marble/data/interiors/MBF/Gyrocourse.dif b/marble/data/interiors/MBF/Gyrocourse.dif new file mode 100644 index 0000000..9d75647 Binary files /dev/null and b/marble/data/interiors/MBF/Gyrocourse.dif differ diff --git a/marble/data/interiors/MBF/Jump.dif b/marble/data/interiors/MBF/Jump.dif new file mode 100644 index 0000000..81fa54f Binary files /dev/null and b/marble/data/interiors/MBF/Jump.dif differ diff --git a/marble/data/interiors/MBF/MBFArch.dif b/marble/data/interiors/MBF/MBFArch.dif new file mode 100644 index 0000000..ebeace2 Binary files /dev/null and b/marble/data/interiors/MBF/MBFArch.dif differ diff --git a/marble/data/interiors/MBF/MBFPole.dif b/marble/data/interiors/MBF/MBFPole.dif new file mode 100644 index 0000000..0146148 Binary files /dev/null and b/marble/data/interiors/MBF/MBFPole.dif differ diff --git a/marble/data/interiors/MBF/MBFPole_Green.dif b/marble/data/interiors/MBF/MBFPole_Green.dif new file mode 100644 index 0000000..2efe454 Binary files /dev/null and b/marble/data/interiors/MBF/MBFPole_Green.dif differ diff --git a/marble/data/interiors/MBF/MMG_GRASS.jpg b/marble/data/interiors/MBF/MMG_GRASS.jpg new file mode 100644 index 0000000..c86bc2e Binary files /dev/null and b/marble/data/interiors/MBF/MMG_GRASS.jpg differ diff --git a/marble/data/interiors/MBF/MarbleSprint.dif b/marble/data/interiors/MBF/MarbleSprint.dif new file mode 100644 index 0000000..8d0aef1 Binary files /dev/null and b/marble/data/interiors/MBF/MarbleSprint.dif differ diff --git a/marble/data/interiors/MBF/Mine.dif b/marble/data/interiors/MBF/Mine.dif new file mode 100644 index 0000000..578f947 Binary files /dev/null and b/marble/data/interiors/MBF/Mine.dif differ diff --git a/marble/data/interiors/MBF/MovingChallengeI.dif b/marble/data/interiors/MBF/MovingChallengeI.dif new file mode 100644 index 0000000..77ebd82 Binary files /dev/null and b/marble/data/interiors/MBF/MovingChallengeI.dif differ diff --git a/marble/data/interiors/MBF/MovingChallengeII.dif b/marble/data/interiors/MBF/MovingChallengeII.dif new file mode 100644 index 0000000..4b5a8a2 Binary files /dev/null and b/marble/data/interiors/MBF/MovingChallengeII.dif differ diff --git a/marble/data/interiors/MBF/MovingPlatform.dif b/marble/data/interiors/MBF/MovingPlatform.dif new file mode 100644 index 0000000..fc4e39d Binary files /dev/null and b/marble/data/interiors/MBF/MovingPlatform.dif differ diff --git a/marble/data/interiors/MBF/Platforms.dif b/marble/data/interiors/MBF/Platforms.dif new file mode 100644 index 0000000..042970d Binary files /dev/null and b/marble/data/interiors/MBF/Platforms.dif differ diff --git a/marble/data/interiors/MBF/ProMaster.dif b/marble/data/interiors/MBF/ProMaster.dif new file mode 100644 index 0000000..abce826 Binary files /dev/null and b/marble/data/interiors/MBF/ProMaster.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_3x3.dif b/marble/data/interiors/MBF/RaceTrack_3x3.dif new file mode 100644 index 0000000..5218a4c Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_3x3.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_Curve.dif b/marble/data/interiors/MBF/RaceTrack_Curve.dif new file mode 100644 index 0000000..1d8859d Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_Curve.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_Finnish.dif b/marble/data/interiors/MBF/RaceTrack_Finnish.dif new file mode 100644 index 0000000..bea84f4 Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_Finnish.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_Slope1.dif b/marble/data/interiors/MBF/RaceTrack_Slope1.dif new file mode 100644 index 0000000..2b36c8b Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_Slope1.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_Slope2.dif b/marble/data/interiors/MBF/RaceTrack_Slope2.dif new file mode 100644 index 0000000..76d4223 Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_Slope2.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_Slope3.dif b/marble/data/interiors/MBF/RaceTrack_Slope3.dif new file mode 100644 index 0000000..f5da5ba Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_Slope3.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_Start.dif b/marble/data/interiors/MBF/RaceTrack_Start.dif new file mode 100644 index 0000000..5ea2733 Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_Start.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_loop1.dif b/marble/data/interiors/MBF/RaceTrack_loop1.dif new file mode 100644 index 0000000..a6b3b93 Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_loop1.dif differ diff --git a/marble/data/interiors/MBF/RaceTrack_loop2.dif b/marble/data/interiors/MBF/RaceTrack_loop2.dif new file mode 100644 index 0000000..bbbb8da Binary files /dev/null and b/marble/data/interiors/MBF/RaceTrack_loop2.dif differ diff --git a/marble/data/interiors/MBF/Recoil.dif b/marble/data/interiors/MBF/Recoil.dif new file mode 100644 index 0000000..02a5894 Binary files /dev/null and b/marble/data/interiors/MBF/Recoil.dif differ diff --git a/marble/data/interiors/MBF/Roll.dif b/marble/data/interiors/MBF/Roll.dif new file mode 100644 index 0000000..5a1667a Binary files /dev/null and b/marble/data/interiors/MBF/Roll.dif differ diff --git a/marble/data/interiors/MBF/STRIPE_CAUTION.jpg b/marble/data/interiors/MBF/STRIPE_CAUTION.jpg new file mode 100644 index 0000000..80928f6 Binary files /dev/null and b/marble/data/interiors/MBF/STRIPE_CAUTION.jpg differ diff --git a/marble/data/interiors/MBF/SandSprint.dif b/marble/data/interiors/MBF/SandSprint.dif new file mode 100644 index 0000000..3655917 Binary files /dev/null and b/marble/data/interiors/MBF/SandSprint.dif differ diff --git a/marble/data/interiors/MBF/SpaceRace.dif b/marble/data/interiors/MBF/SpaceRace.dif new file mode 100644 index 0000000..22b1db9 Binary files /dev/null and b/marble/data/interiors/MBF/SpaceRace.dif differ diff --git a/marble/data/interiors/MBF/SpaceRace.txt b/marble/data/interiors/MBF/SpaceRace.txt new file mode 100644 index 0000000..e678f71 --- /dev/null +++ b/marble/data/interiors/MBF/SpaceRace.txt @@ -0,0 +1,61 @@ +C:/Program Files/Marble Blast Future/marble/data/interiors/MBF/Normal/SpaceRace.dif + + + +Constructor Version: 1.0.6 + + + +Date: 2011/03/27 22:08:19 + + +Detail Level 0 + + + + Zones: 1 + + Points: 14994 + + Surfaces: 6297 + + Null Surfaces: 0 + + BSP Nodes: 11580 + + + + Textures From Brushes: + + + + EDGE7 + + GRID_WARM3 + + PATTERN_COOL2 + + SUPER_FRICTION + + SOLID_WHITE + + STRIPE_CAUTION + + BOUNCE1 + + FRICTION_NONE + + CHEVRON_WARM2 + + GRID_NEUTRAL + + + + Static Meshes and Textures: + + + + -- None -- + + + diff --git a/marble/data/interiors/MBF/SuperJump.dif b/marble/data/interiors/MBF/SuperJump.dif new file mode 100644 index 0000000..6d99ca2 Binary files /dev/null and b/marble/data/interiors/MBF/SuperJump.dif differ diff --git a/marble/data/interiors/MBF/TakeAnAir.dif b/marble/data/interiors/MBF/TakeAnAir.dif new file mode 100644 index 0000000..376800c Binary files /dev/null and b/marble/data/interiors/MBF/TakeAnAir.dif differ diff --git a/marble/data/interiors/MBF/TimeRace.dif b/marble/data/interiors/MBF/TimeRace.dif new file mode 100644 index 0000000..6e7f939 Binary files /dev/null and b/marble/data/interiors/MBF/TimeRace.dif differ diff --git a/marble/data/interiors/MBF/Tornado.dif b/marble/data/interiors/MBF/Tornado.dif new file mode 100644 index 0000000..6bf076b Binary files /dev/null and b/marble/data/interiors/MBF/Tornado.dif differ diff --git a/marble/data/interiors/MBF/TowerClimb.dif b/marble/data/interiors/MBF/TowerClimb.dif new file mode 100644 index 0000000..9709a95 Binary files /dev/null and b/marble/data/interiors/MBF/TowerClimb.dif differ diff --git a/marble/data/interiors/MBF/TrainingCourse.dif b/marble/data/interiors/MBF/TrainingCourse.dif new file mode 100644 index 0000000..7f6c612 Binary files /dev/null and b/marble/data/interiors/MBF/TrainingCourse.dif differ diff --git a/marble/data/interiors/MBF/TrainingCourse_smallpart.dif b/marble/data/interiors/MBF/TrainingCourse_smallpart.dif new file mode 100644 index 0000000..1c768f5 Binary files /dev/null and b/marble/data/interiors/MBF/TrainingCourse_smallpart.dif differ diff --git a/marble/data/interiors/MBF/TrapAndGems.dif b/marble/data/interiors/MBF/TrapAndGems.dif new file mode 100644 index 0000000..dba38b5 Binary files /dev/null and b/marble/data/interiors/MBF/TrapAndGems.dif differ diff --git a/marble/data/interiors/MBF/Trim1.dif b/marble/data/interiors/MBF/Trim1.dif new file mode 100644 index 0000000..a6482ad Binary files /dev/null and b/marble/data/interiors/MBF/Trim1.dif differ diff --git a/marble/data/interiors/MBF/WallHit.dif b/marble/data/interiors/MBF/WallHit.dif new file mode 100644 index 0000000..c4f1f42 Binary files /dev/null and b/marble/data/interiors/MBF/WallHit.dif differ diff --git a/marble/data/interiors/MBF/Water_Blueescent.png b/marble/data/interiors/MBF/Water_Blueescent.png new file mode 100644 index 0000000..0e07927 Binary files /dev/null and b/marble/data/interiors/MBF/Water_Blueescent.png differ diff --git a/marble/data/interiors/MBF/Water_Cyanescent.png b/marble/data/interiors/MBF/Water_Cyanescent.png new file mode 100644 index 0000000..46fa26d Binary files /dev/null and b/marble/data/interiors/MBF/Water_Cyanescent.png differ diff --git a/marble/data/interiors/MBF/Water_Greenscent.png b/marble/data/interiors/MBF/Water_Greenscent.png new file mode 100644 index 0000000..6fbb787 Binary files /dev/null and b/marble/data/interiors/MBF/Water_Greenscent.png differ diff --git a/marble/data/interiors/MBF/Water_Pinkscent.png b/marble/data/interiors/MBF/Water_Pinkscent.png new file mode 100644 index 0000000..f370d3c Binary files /dev/null and b/marble/data/interiors/MBF/Water_Pinkscent.png differ diff --git a/marble/data/interiors/MBF/Water_Redscent.png b/marble/data/interiors/MBF/Water_Redscent.png new file mode 100644 index 0000000..1582e0f Binary files /dev/null and b/marble/data/interiors/MBF/Water_Redscent.png differ diff --git a/marble/data/interiors/MBF/arrow_cool1.PNG b/marble/data/interiors/MBF/arrow_cool1.PNG new file mode 100644 index 0000000..ae5b1ef Binary files /dev/null and b/marble/data/interiors/MBF/arrow_cool1.PNG differ diff --git a/marble/data/interiors/MBF/arrow_neutral1.PNG b/marble/data/interiors/MBF/arrow_neutral1.PNG new file mode 100644 index 0000000..4aae208 Binary files /dev/null and b/marble/data/interiors/MBF/arrow_neutral1.PNG differ diff --git a/marble/data/interiors/MBF/arrow_neutral2.PNG b/marble/data/interiors/MBF/arrow_neutral2.PNG new file mode 100644 index 0000000..4f1dc19 Binary files /dev/null and b/marble/data/interiors/MBF/arrow_neutral2.PNG differ diff --git a/marble/data/interiors/MBF/arrow_warm1.PNG b/marble/data/interiors/MBF/arrow_warm1.PNG new file mode 100644 index 0000000..7087db0 Binary files /dev/null and b/marble/data/interiors/MBF/arrow_warm1.PNG differ diff --git a/marble/data/interiors/MBF/bumpy.dif b/marble/data/interiors/MBF/bumpy.dif new file mode 100644 index 0000000..d33aa3e Binary files /dev/null and b/marble/data/interiors/MBF/bumpy.dif differ diff --git a/marble/data/interiors/MBF/chevron_cool.png b/marble/data/interiors/MBF/chevron_cool.png new file mode 100644 index 0000000..1d0d19a Binary files /dev/null and b/marble/data/interiors/MBF/chevron_cool.png differ diff --git a/marble/data/interiors/MBF/chevron_cool2.PNG b/marble/data/interiors/MBF/chevron_cool2.PNG new file mode 100644 index 0000000..634f61f Binary files /dev/null and b/marble/data/interiors/MBF/chevron_cool2.PNG differ diff --git a/marble/data/interiors/MBF/chevron_neutral.PNG b/marble/data/interiors/MBF/chevron_neutral.PNG new file mode 100644 index 0000000..e9324a0 Binary files /dev/null and b/marble/data/interiors/MBF/chevron_neutral.PNG differ diff --git a/marble/data/interiors/MBF/chevron_neutral2.PNG b/marble/data/interiors/MBF/chevron_neutral2.PNG new file mode 100644 index 0000000..25eb8e6 Binary files /dev/null and b/marble/data/interiors/MBF/chevron_neutral2.PNG differ diff --git a/marble/data/interiors/MBF/chevron_warm.png b/marble/data/interiors/MBF/chevron_warm.png new file mode 100644 index 0000000..67efd64 Binary files /dev/null and b/marble/data/interiors/MBF/chevron_warm.png differ diff --git a/marble/data/interiors/MBF/chevron_warm2.PNG b/marble/data/interiors/MBF/chevron_warm2.PNG new file mode 100644 index 0000000..619f692 Binary files /dev/null and b/marble/data/interiors/MBF/chevron_warm2.PNG differ diff --git a/marble/data/interiors/MBF/custom_crate.PNG b/marble/data/interiors/MBF/custom_crate.PNG new file mode 100644 index 0000000..1421837 Binary files /dev/null and b/marble/data/interiors/MBF/custom_crate.PNG differ diff --git a/marble/data/interiors/MBF/custom_dirt.PNG b/marble/data/interiors/MBF/custom_dirt.PNG new file mode 100644 index 0000000..dd08bc4 Binary files /dev/null and b/marble/data/interiors/MBF/custom_dirt.PNG differ diff --git a/marble/data/interiors/MBF/custom_insd_track.PNG b/marble/data/interiors/MBF/custom_insd_track.PNG new file mode 100644 index 0000000..a104938 Binary files /dev/null and b/marble/data/interiors/MBF/custom_insd_track.PNG differ diff --git a/marble/data/interiors/MBF/custom_logend.PNG b/marble/data/interiors/MBF/custom_logend.PNG new file mode 100644 index 0000000..4a36392 Binary files /dev/null and b/marble/data/interiors/MBF/custom_logend.PNG differ diff --git a/marble/data/interiors/MBF/custom_logside.PNG b/marble/data/interiors/MBF/custom_logside.PNG new file mode 100644 index 0000000..60cc36e Binary files /dev/null and b/marble/data/interiors/MBF/custom_logside.PNG differ diff --git a/marble/data/interiors/MBF/custom_mid_track.PNG b/marble/data/interiors/MBF/custom_mid_track.PNG new file mode 100644 index 0000000..92e4fd3 Binary files /dev/null and b/marble/data/interiors/MBF/custom_mid_track.PNG differ diff --git a/marble/data/interiors/MBF/custom_parking.PNG b/marble/data/interiors/MBF/custom_parking.PNG new file mode 100644 index 0000000..d272072 Binary files /dev/null and b/marble/data/interiors/MBF/custom_parking.PNG differ diff --git a/marble/data/interiors/MBF/custom_red_brick.PNG b/marble/data/interiors/MBF/custom_red_brick.PNG new file mode 100644 index 0000000..fc08757 Binary files /dev/null and b/marble/data/interiors/MBF/custom_red_brick.PNG differ diff --git a/marble/data/interiors/MBF/custom_road.PNG b/marble/data/interiors/MBF/custom_road.PNG new file mode 100644 index 0000000..11979e4 Binary files /dev/null and b/marble/data/interiors/MBF/custom_road.PNG differ diff --git a/marble/data/interiors/MBF/custom_sand.PNG b/marble/data/interiors/MBF/custom_sand.PNG new file mode 100644 index 0000000..31307f4 Binary files /dev/null and b/marble/data/interiors/MBF/custom_sand.PNG differ diff --git a/marble/data/interiors/MBF/custom_skyscrape2.png b/marble/data/interiors/MBF/custom_skyscrape2.png new file mode 100644 index 0000000..cde6e98 Binary files /dev/null and b/marble/data/interiors/MBF/custom_skyscrape2.png differ diff --git a/marble/data/interiors/MBF/custom_water.PNG b/marble/data/interiors/MBF/custom_water.PNG new file mode 100644 index 0000000..d0142e3 Binary files /dev/null and b/marble/data/interiors/MBF/custom_water.PNG differ diff --git a/marble/data/interiors/MBF/custom_water_bttm.PNG b/marble/data/interiors/MBF/custom_water_bttm.PNG new file mode 100644 index 0000000..52910b5 Binary files /dev/null and b/marble/data/interiors/MBF/custom_water_bttm.PNG differ diff --git a/marble/data/interiors/MBF/custom_water_lft.PNG b/marble/data/interiors/MBF/custom_water_lft.PNG new file mode 100644 index 0000000..cc30d9b Binary files /dev/null and b/marble/data/interiors/MBF/custom_water_lft.PNG differ diff --git a/marble/data/interiors/MBF/custom_water_rte.PNG b/marble/data/interiors/MBF/custom_water_rte.PNG new file mode 100644 index 0000000..18e86af Binary files /dev/null and b/marble/data/interiors/MBF/custom_water_rte.PNG differ diff --git a/marble/data/interiors/MBF/custom_water_top.PNG b/marble/data/interiors/MBF/custom_water_top.PNG new file mode 100644 index 0000000..0dfb2f3 Binary files /dev/null and b/marble/data/interiors/MBF/custom_water_top.PNG differ diff --git a/marble/data/interiors/MBF/custom_woodblockside.PNG b/marble/data/interiors/MBF/custom_woodblockside.PNG new file mode 100644 index 0000000..30a7a16 Binary files /dev/null and b/marble/data/interiors/MBF/custom_woodblockside.PNG differ diff --git a/marble/data/interiors/MBF/custom_woodblocktop.PNG b/marble/data/interiors/MBF/custom_woodblocktop.PNG new file mode 100644 index 0000000..ba5ef86 Binary files /dev/null and b/marble/data/interiors/MBF/custom_woodblocktop.PNG differ diff --git a/marble/data/interiors/MBF/custom_woodbox.PNG b/marble/data/interiors/MBF/custom_woodbox.PNG new file mode 100644 index 0000000..37a4ee0 Binary files /dev/null and b/marble/data/interiors/MBF/custom_woodbox.PNG differ diff --git a/marble/data/interiors/MBF/edge1.png b/marble/data/interiors/MBF/edge1.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge1.png differ diff --git a/marble/data/interiors/MBF/edge10.png b/marble/data/interiors/MBF/edge10.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge10.png differ diff --git a/marble/data/interiors/MBF/edge2.png b/marble/data/interiors/MBF/edge2.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge2.png differ diff --git a/marble/data/interiors/MBF/edge3.png b/marble/data/interiors/MBF/edge3.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge3.png differ diff --git a/marble/data/interiors/MBF/edge4.png b/marble/data/interiors/MBF/edge4.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge4.png differ diff --git a/marble/data/interiors/MBF/edge5.png b/marble/data/interiors/MBF/edge5.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge5.png differ diff --git a/marble/data/interiors/MBF/edge6.png b/marble/data/interiors/MBF/edge6.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge6.png differ diff --git a/marble/data/interiors/MBF/edge7.png b/marble/data/interiors/MBF/edge7.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge7.png differ diff --git a/marble/data/interiors/MBF/edge8.png b/marble/data/interiors/MBF/edge8.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge8.png differ diff --git a/marble/data/interiors/MBF/edge9.png b/marble/data/interiors/MBF/edge9.png new file mode 100644 index 0000000..b28bdd7 Binary files /dev/null and b/marble/data/interiors/MBF/edge9.png differ diff --git a/marble/data/interiors/MBF/edge_cool1.png b/marble/data/interiors/MBF/edge_cool1.png new file mode 100644 index 0000000..5a64e22 Binary files /dev/null and b/marble/data/interiors/MBF/edge_cool1.png differ diff --git a/marble/data/interiors/MBF/edge_cool2.png b/marble/data/interiors/MBF/edge_cool2.png new file mode 100644 index 0000000..9809417 Binary files /dev/null and b/marble/data/interiors/MBF/edge_cool2.png differ diff --git a/marble/data/interiors/MBF/edge_neutral1.png b/marble/data/interiors/MBF/edge_neutral1.png new file mode 100644 index 0000000..1c1bf79 Binary files /dev/null and b/marble/data/interiors/MBF/edge_neutral1.png differ diff --git a/marble/data/interiors/MBF/edge_neutral2.png b/marble/data/interiors/MBF/edge_neutral2.png new file mode 100644 index 0000000..b0a3504 Binary files /dev/null and b/marble/data/interiors/MBF/edge_neutral2.png differ diff --git a/marble/data/interiors/MBF/edge_warm1.png b/marble/data/interiors/MBF/edge_warm1.png new file mode 100644 index 0000000..10723c0 Binary files /dev/null and b/marble/data/interiors/MBF/edge_warm1.png differ diff --git a/marble/data/interiors/MBF/edge_warm2.png b/marble/data/interiors/MBF/edge_warm2.png new file mode 100644 index 0000000..13979e8 Binary files /dev/null and b/marble/data/interiors/MBF/edge_warm2.png differ diff --git a/marble/data/interiors/MBF/edge_white.png b/marble/data/interiors/MBF/edge_white.png new file mode 100644 index 0000000..7db20b1 Binary files /dev/null and b/marble/data/interiors/MBF/edge_white.png differ diff --git a/marble/data/interiors/MBF/edge_white2.png b/marble/data/interiors/MBF/edge_white2.png new file mode 100644 index 0000000..7db20b1 Binary files /dev/null and b/marble/data/interiors/MBF/edge_white2.png differ diff --git a/marble/data/interiors/MBF/friction_high.png b/marble/data/interiors/MBF/friction_high.png new file mode 100644 index 0000000..a789ad1 Binary files /dev/null and b/marble/data/interiors/MBF/friction_high.png differ diff --git a/marble/data/interiors/MBF/friction_low.PNG b/marble/data/interiors/MBF/friction_low.PNG new file mode 100644 index 0000000..99cdacd Binary files /dev/null and b/marble/data/interiors/MBF/friction_low.PNG differ diff --git a/marble/data/interiors/MBF/friction_low2.PNG b/marble/data/interiors/MBF/friction_low2.PNG new file mode 100644 index 0000000..1ba1106 Binary files /dev/null and b/marble/data/interiors/MBF/friction_low2.PNG differ diff --git a/marble/data/interiors/MBF/friction_none.PNG b/marble/data/interiors/MBF/friction_none.PNG new file mode 100644 index 0000000..c56af12 Binary files /dev/null and b/marble/data/interiors/MBF/friction_none.PNG differ diff --git a/marble/data/interiors/MBF/friction_ramp_yellow.PNG b/marble/data/interiors/MBF/friction_ramp_yellow.PNG new file mode 100644 index 0000000..38231ca Binary files /dev/null and b/marble/data/interiors/MBF/friction_ramp_yellow.PNG differ diff --git a/marble/data/interiors/MBF/grid_cool.png b/marble/data/interiors/MBF/grid_cool.png new file mode 100644 index 0000000..0f0432e Binary files /dev/null and b/marble/data/interiors/MBF/grid_cool.png differ diff --git a/marble/data/interiors/MBF/grid_cool2.png b/marble/data/interiors/MBF/grid_cool2.png new file mode 100644 index 0000000..9a5d19a Binary files /dev/null and b/marble/data/interiors/MBF/grid_cool2.png differ diff --git a/marble/data/interiors/MBF/grid_cool3.png b/marble/data/interiors/MBF/grid_cool3.png new file mode 100644 index 0000000..a7df296 Binary files /dev/null and b/marble/data/interiors/MBF/grid_cool3.png differ diff --git a/marble/data/interiors/MBF/grid_cool4.png b/marble/data/interiors/MBF/grid_cool4.png new file mode 100644 index 0000000..cb3ae81 Binary files /dev/null and b/marble/data/interiors/MBF/grid_cool4.png differ diff --git a/marble/data/interiors/MBF/grid_neutral.png b/marble/data/interiors/MBF/grid_neutral.png new file mode 100644 index 0000000..c3979ca Binary files /dev/null and b/marble/data/interiors/MBF/grid_neutral.png differ diff --git a/marble/data/interiors/MBF/grid_neutral1.png b/marble/data/interiors/MBF/grid_neutral1.png new file mode 100644 index 0000000..c52d6cb Binary files /dev/null and b/marble/data/interiors/MBF/grid_neutral1.png differ diff --git a/marble/data/interiors/MBF/grid_neutral2.png b/marble/data/interiors/MBF/grid_neutral2.png new file mode 100644 index 0000000..d386076 Binary files /dev/null and b/marble/data/interiors/MBF/grid_neutral2.png differ diff --git a/marble/data/interiors/MBF/grid_neutral3.png b/marble/data/interiors/MBF/grid_neutral3.png new file mode 100644 index 0000000..08c72b9 Binary files /dev/null and b/marble/data/interiors/MBF/grid_neutral3.png differ diff --git a/marble/data/interiors/MBF/grid_neutral4.png b/marble/data/interiors/MBF/grid_neutral4.png new file mode 100644 index 0000000..092acc6 Binary files /dev/null and b/marble/data/interiors/MBF/grid_neutral4.png differ diff --git a/marble/data/interiors/MBF/grid_warm.png b/marble/data/interiors/MBF/grid_warm.png new file mode 100644 index 0000000..bc499ec Binary files /dev/null and b/marble/data/interiors/MBF/grid_warm.png differ diff --git a/marble/data/interiors/MBF/grid_warm1.png b/marble/data/interiors/MBF/grid_warm1.png new file mode 100644 index 0000000..04114f1 Binary files /dev/null and b/marble/data/interiors/MBF/grid_warm1.png differ diff --git a/marble/data/interiors/MBF/grid_warm2.png b/marble/data/interiors/MBF/grid_warm2.png new file mode 100644 index 0000000..d81417a Binary files /dev/null and b/marble/data/interiors/MBF/grid_warm2.png differ diff --git a/marble/data/interiors/MBF/grid_warm3.png b/marble/data/interiors/MBF/grid_warm3.png new file mode 100644 index 0000000..89af464 Binary files /dev/null and b/marble/data/interiors/MBF/grid_warm3.png differ diff --git a/marble/data/interiors/MBF/grid_warm4.png b/marble/data/interiors/MBF/grid_warm4.png new file mode 100644 index 0000000..bf7f712 Binary files /dev/null and b/marble/data/interiors/MBF/grid_warm4.png differ diff --git a/marble/data/interiors/MBF/highway.dif b/marble/data/interiors/MBF/highway.dif new file mode 100644 index 0000000..0a3c043 Binary files /dev/null and b/marble/data/interiors/MBF/highway.dif differ diff --git a/marble/data/interiors/MBF/kevin-128.jpg b/marble/data/interiors/MBF/kevin-128.jpg new file mode 100644 index 0000000..2553995 Binary files /dev/null and b/marble/data/interiors/MBF/kevin-128.jpg differ diff --git a/marble/data/interiors/MBF/kevin-128.png b/marble/data/interiors/MBF/kevin-128.png new file mode 100644 index 0000000..80e690a Binary files /dev/null and b/marble/data/interiors/MBF/kevin-128.png differ diff --git a/marble/data/interiors/MBF/new1.png b/marble/data/interiors/MBF/new1.png new file mode 100644 index 0000000..3b84c84 Binary files /dev/null and b/marble/data/interiors/MBF/new1.png differ diff --git a/marble/data/interiors/MBF/new10.png b/marble/data/interiors/MBF/new10.png new file mode 100644 index 0000000..bd19e16 Binary files /dev/null and b/marble/data/interiors/MBF/new10.png differ diff --git a/marble/data/interiors/MBF/new11.png b/marble/data/interiors/MBF/new11.png new file mode 100644 index 0000000..5913962 Binary files /dev/null and b/marble/data/interiors/MBF/new11.png differ diff --git a/marble/data/interiors/MBF/new12.png b/marble/data/interiors/MBF/new12.png new file mode 100644 index 0000000..e154337 Binary files /dev/null and b/marble/data/interiors/MBF/new12.png differ diff --git a/marble/data/interiors/MBF/new13.png b/marble/data/interiors/MBF/new13.png new file mode 100644 index 0000000..081a93f Binary files /dev/null and b/marble/data/interiors/MBF/new13.png differ diff --git a/marble/data/interiors/MBF/new14.png b/marble/data/interiors/MBF/new14.png new file mode 100644 index 0000000..63d4391 Binary files /dev/null and b/marble/data/interiors/MBF/new14.png differ diff --git a/marble/data/interiors/MBF/new15.png b/marble/data/interiors/MBF/new15.png new file mode 100644 index 0000000..1e6cd9b Binary files /dev/null and b/marble/data/interiors/MBF/new15.png differ diff --git a/marble/data/interiors/MBF/new16.png b/marble/data/interiors/MBF/new16.png new file mode 100644 index 0000000..e911b8d Binary files /dev/null and b/marble/data/interiors/MBF/new16.png differ diff --git a/marble/data/interiors/MBF/new17.png b/marble/data/interiors/MBF/new17.png new file mode 100644 index 0000000..7350963 Binary files /dev/null and b/marble/data/interiors/MBF/new17.png differ diff --git a/marble/data/interiors/MBF/new18.png b/marble/data/interiors/MBF/new18.png new file mode 100644 index 0000000..0373dc4 Binary files /dev/null and b/marble/data/interiors/MBF/new18.png differ diff --git a/marble/data/interiors/MBF/new19.png b/marble/data/interiors/MBF/new19.png new file mode 100644 index 0000000..7d17043 Binary files /dev/null and b/marble/data/interiors/MBF/new19.png differ diff --git a/marble/data/interiors/MBF/new2.png b/marble/data/interiors/MBF/new2.png new file mode 100644 index 0000000..3b9d5fd Binary files /dev/null and b/marble/data/interiors/MBF/new2.png differ diff --git a/marble/data/interiors/MBF/new20.png b/marble/data/interiors/MBF/new20.png new file mode 100644 index 0000000..840e196 Binary files /dev/null and b/marble/data/interiors/MBF/new20.png differ diff --git a/marble/data/interiors/MBF/new21.png b/marble/data/interiors/MBF/new21.png new file mode 100644 index 0000000..606d61c Binary files /dev/null and b/marble/data/interiors/MBF/new21.png differ diff --git a/marble/data/interiors/MBF/new22.png b/marble/data/interiors/MBF/new22.png new file mode 100644 index 0000000..2f0b1a5 Binary files /dev/null and b/marble/data/interiors/MBF/new22.png differ diff --git a/marble/data/interiors/MBF/new23.png b/marble/data/interiors/MBF/new23.png new file mode 100644 index 0000000..ad31a93 Binary files /dev/null and b/marble/data/interiors/MBF/new23.png differ diff --git a/marble/data/interiors/MBF/new24.png b/marble/data/interiors/MBF/new24.png new file mode 100644 index 0000000..31ffb8e Binary files /dev/null and b/marble/data/interiors/MBF/new24.png differ diff --git a/marble/data/interiors/MBF/new25.png b/marble/data/interiors/MBF/new25.png new file mode 100644 index 0000000..88bba4b Binary files /dev/null and b/marble/data/interiors/MBF/new25.png differ diff --git a/marble/data/interiors/MBF/new3.png b/marble/data/interiors/MBF/new3.png new file mode 100644 index 0000000..33aaa97 Binary files /dev/null and b/marble/data/interiors/MBF/new3.png differ diff --git a/marble/data/interiors/MBF/new4.png b/marble/data/interiors/MBF/new4.png new file mode 100644 index 0000000..f978723 Binary files /dev/null and b/marble/data/interiors/MBF/new4.png differ diff --git a/marble/data/interiors/MBF/new5.png b/marble/data/interiors/MBF/new5.png new file mode 100644 index 0000000..6fa006c Binary files /dev/null and b/marble/data/interiors/MBF/new5.png differ diff --git a/marble/data/interiors/MBF/new6.png b/marble/data/interiors/MBF/new6.png new file mode 100644 index 0000000..1e88b22 Binary files /dev/null and b/marble/data/interiors/MBF/new6.png differ diff --git a/marble/data/interiors/MBF/new7.png b/marble/data/interiors/MBF/new7.png new file mode 100644 index 0000000..138fb3b Binary files /dev/null and b/marble/data/interiors/MBF/new7.png differ diff --git a/marble/data/interiors/MBF/new8.png b/marble/data/interiors/MBF/new8.png new file mode 100644 index 0000000..2c0c479 Binary files /dev/null and b/marble/data/interiors/MBF/new8.png differ diff --git a/marble/data/interiors/MBF/new9.png b/marble/data/interiors/MBF/new9.png new file mode 100644 index 0000000..5e4ae3c Binary files /dev/null and b/marble/data/interiors/MBF/new9.png differ diff --git a/marble/data/interiors/MBF/pattern_cool1.PNG b/marble/data/interiors/MBF/pattern_cool1.PNG new file mode 100644 index 0000000..b755a4f Binary files /dev/null and b/marble/data/interiors/MBF/pattern_cool1.PNG differ diff --git a/marble/data/interiors/MBF/pattern_cool2.png b/marble/data/interiors/MBF/pattern_cool2.png new file mode 100644 index 0000000..5d4654c Binary files /dev/null and b/marble/data/interiors/MBF/pattern_cool2.png differ diff --git a/marble/data/interiors/MBF/pattern_neutral1.PNG b/marble/data/interiors/MBF/pattern_neutral1.PNG new file mode 100644 index 0000000..2d8e3b3 Binary files /dev/null and b/marble/data/interiors/MBF/pattern_neutral1.PNG differ diff --git a/marble/data/interiors/MBF/pattern_neutral2.PNG b/marble/data/interiors/MBF/pattern_neutral2.PNG new file mode 100644 index 0000000..7bc0461 Binary files /dev/null and b/marble/data/interiors/MBF/pattern_neutral2.PNG differ diff --git a/marble/data/interiors/MBF/pattern_neutral3.PNG b/marble/data/interiors/MBF/pattern_neutral3.PNG new file mode 100644 index 0000000..7214d62 Binary files /dev/null and b/marble/data/interiors/MBF/pattern_neutral3.PNG differ diff --git a/marble/data/interiors/MBF/pattern_warm1.PNG b/marble/data/interiors/MBF/pattern_warm1.PNG new file mode 100644 index 0000000..c24e081 Binary files /dev/null and b/marble/data/interiors/MBF/pattern_warm1.PNG differ diff --git a/marble/data/interiors/MBF/pattern_warm2.PNG b/marble/data/interiors/MBF/pattern_warm2.PNG new file mode 100644 index 0000000..fd2e2db Binary files /dev/null and b/marble/data/interiors/MBF/pattern_warm2.PNG differ diff --git a/marble/data/interiors/MBF/pattern_warm3.PNG b/marble/data/interiors/MBF/pattern_warm3.PNG new file mode 100644 index 0000000..cdbabb0 Binary files /dev/null and b/marble/data/interiors/MBF/pattern_warm3.PNG differ diff --git a/marble/data/interiors/MBF/pattern_warm4.PNG b/marble/data/interiors/MBF/pattern_warm4.PNG new file mode 100644 index 0000000..9900699 Binary files /dev/null and b/marble/data/interiors/MBF/pattern_warm4.PNG differ diff --git a/marble/data/interiors/MBF/playground.dif b/marble/data/interiors/MBF/playground.dif new file mode 100644 index 0000000..0ac8967 Binary files /dev/null and b/marble/data/interiors/MBF/playground.dif differ diff --git a/marble/data/interiors/MBF/solid_cool1.PNG b/marble/data/interiors/MBF/solid_cool1.PNG new file mode 100644 index 0000000..b38d214 Binary files /dev/null and b/marble/data/interiors/MBF/solid_cool1.PNG differ diff --git a/marble/data/interiors/MBF/solid_cool2.PNG b/marble/data/interiors/MBF/solid_cool2.PNG new file mode 100644 index 0000000..6f85bb4 Binary files /dev/null and b/marble/data/interiors/MBF/solid_cool2.PNG differ diff --git a/marble/data/interiors/MBF/solid_neutral1.PNG b/marble/data/interiors/MBF/solid_neutral1.PNG new file mode 100644 index 0000000..c08871c Binary files /dev/null and b/marble/data/interiors/MBF/solid_neutral1.PNG differ diff --git a/marble/data/interiors/MBF/solid_neutral2.PNG b/marble/data/interiors/MBF/solid_neutral2.PNG new file mode 100644 index 0000000..d559883 Binary files /dev/null and b/marble/data/interiors/MBF/solid_neutral2.PNG differ diff --git a/marble/data/interiors/MBF/solid_warm1.PNG b/marble/data/interiors/MBF/solid_warm1.PNG new file mode 100644 index 0000000..8ba6939 Binary files /dev/null and b/marble/data/interiors/MBF/solid_warm1.PNG differ diff --git a/marble/data/interiors/MBF/solid_warm2.PNG b/marble/data/interiors/MBF/solid_warm2.PNG new file mode 100644 index 0000000..1444006 Binary files /dev/null and b/marble/data/interiors/MBF/solid_warm2.PNG differ diff --git a/marble/data/interiors/MBF/solid_white.jpg b/marble/data/interiors/MBF/solid_white.jpg new file mode 100644 index 0000000..115f742 Binary files /dev/null and b/marble/data/interiors/MBF/solid_white.jpg differ diff --git a/marble/data/interiors/MBF/straight.dif b/marble/data/interiors/MBF/straight.dif new file mode 100644 index 0000000..a46962e Binary files /dev/null and b/marble/data/interiors/MBF/straight.dif differ diff --git a/marble/data/interiors/MBF/stripe_caution.png b/marble/data/interiors/MBF/stripe_caution.png new file mode 100644 index 0000000..a33e162 Binary files /dev/null and b/marble/data/interiors/MBF/stripe_caution.png differ diff --git a/marble/data/interiors/MBF/stripe_cool.png b/marble/data/interiors/MBF/stripe_cool.png new file mode 100644 index 0000000..9d8634b Binary files /dev/null and b/marble/data/interiors/MBF/stripe_cool.png differ diff --git a/marble/data/interiors/MBF/stripe_cool2.png b/marble/data/interiors/MBF/stripe_cool2.png new file mode 100644 index 0000000..51ef3a1 Binary files /dev/null and b/marble/data/interiors/MBF/stripe_cool2.png differ diff --git a/marble/data/interiors/MBF/stripe_neutral.png b/marble/data/interiors/MBF/stripe_neutral.png new file mode 100644 index 0000000..e16c5a8 Binary files /dev/null and b/marble/data/interiors/MBF/stripe_neutral.png differ diff --git a/marble/data/interiors/MBF/stripe_neutral2.png b/marble/data/interiors/MBF/stripe_neutral2.png new file mode 100644 index 0000000..1c018ef Binary files /dev/null and b/marble/data/interiors/MBF/stripe_neutral2.png differ diff --git a/marble/data/interiors/MBF/stripe_warm.png b/marble/data/interiors/MBF/stripe_warm.png new file mode 100644 index 0000000..3deca99 Binary files /dev/null and b/marble/data/interiors/MBF/stripe_warm.png differ diff --git a/marble/data/interiors/MBF/stripe_warm2.png b/marble/data/interiors/MBF/stripe_warm2.png new file mode 100644 index 0000000..b854974 Binary files /dev/null and b/marble/data/interiors/MBF/stripe_warm2.png differ diff --git a/marble/data/interiors/MBF/super_friction.png b/marble/data/interiors/MBF/super_friction.png new file mode 100644 index 0000000..044f2d9 Binary files /dev/null and b/marble/data/interiors/MBF/super_friction.png differ diff --git a/marble/data/interiors/MBF/trim_cool1.PNG b/marble/data/interiors/MBF/trim_cool1.PNG new file mode 100644 index 0000000..cb0ab8d Binary files /dev/null and b/marble/data/interiors/MBF/trim_cool1.PNG differ diff --git a/marble/data/interiors/MBF/trim_cool2.PNG b/marble/data/interiors/MBF/trim_cool2.PNG new file mode 100644 index 0000000..e35f82c Binary files /dev/null and b/marble/data/interiors/MBF/trim_cool2.PNG differ diff --git a/marble/data/interiors/MBF/trim_cool3.PNG b/marble/data/interiors/MBF/trim_cool3.PNG new file mode 100644 index 0000000..414ce28 Binary files /dev/null and b/marble/data/interiors/MBF/trim_cool3.PNG differ diff --git a/marble/data/interiors/MBF/trim_neutral1.PNG b/marble/data/interiors/MBF/trim_neutral1.PNG new file mode 100644 index 0000000..7f3735d Binary files /dev/null and b/marble/data/interiors/MBF/trim_neutral1.PNG differ diff --git a/marble/data/interiors/MBF/trim_neutral2.PNG b/marble/data/interiors/MBF/trim_neutral2.PNG new file mode 100644 index 0000000..f556067 Binary files /dev/null and b/marble/data/interiors/MBF/trim_neutral2.PNG differ diff --git a/marble/data/interiors/MBF/trim_warm1.PNG b/marble/data/interiors/MBF/trim_warm1.PNG new file mode 100644 index 0000000..2ffb28c Binary files /dev/null and b/marble/data/interiors/MBF/trim_warm1.PNG differ diff --git a/marble/data/interiors/MBF/trim_warm2.PNG b/marble/data/interiors/MBF/trim_warm2.PNG new file mode 100644 index 0000000..899c2fb Binary files /dev/null and b/marble/data/interiors/MBF/trim_warm2.PNG differ diff --git a/marble/data/interiors/MBF/trim_white2.png b/marble/data/interiors/MBF/trim_white2.png new file mode 100644 index 0000000..75a9aee Binary files /dev/null and b/marble/data/interiors/MBF/trim_white2.png differ diff --git a/marble/data/interiors/MBF/tube0.png b/marble/data/interiors/MBF/tube0.png new file mode 100644 index 0000000..d73290b Binary files /dev/null and b/marble/data/interiors/MBF/tube0.png differ diff --git a/marble/data/interiors/MBF/tube1.png b/marble/data/interiors/MBF/tube1.png new file mode 100644 index 0000000..705c533 Binary files /dev/null and b/marble/data/interiors/MBF/tube1.png differ diff --git a/marble/data/interiors/MBF/tube2.png b/marble/data/interiors/MBF/tube2.png new file mode 100644 index 0000000..1977e6e Binary files /dev/null and b/marble/data/interiors/MBF/tube2.png differ diff --git a/marble/data/interiors/MBF/tube3.png b/marble/data/interiors/MBF/tube3.png new file mode 100644 index 0000000..b42926f Binary files /dev/null and b/marble/data/interiors/MBF/tube3.png differ diff --git a/marble/data/interiors/MBF/tube4.png b/marble/data/interiors/MBF/tube4.png new file mode 100644 index 0000000..898c784 Binary files /dev/null and b/marble/data/interiors/MBF/tube4.png differ diff --git a/marble/data/interiors/MBF/tube5.png b/marble/data/interiors/MBF/tube5.png new file mode 100644 index 0000000..4e2473b Binary files /dev/null and b/marble/data/interiors/MBF/tube5.png differ diff --git a/marble/data/interiors/MBF/tube6.png b/marble/data/interiors/MBF/tube6.png new file mode 100644 index 0000000..4eb497a Binary files /dev/null and b/marble/data/interiors/MBF/tube6.png differ diff --git a/marble/data/interiors/MBF/tube_cool.png b/marble/data/interiors/MBF/tube_cool.png new file mode 100644 index 0000000..d73290b Binary files /dev/null and b/marble/data/interiors/MBF/tube_cool.png differ diff --git a/marble/data/interiors/MBF/tube_neutral.png b/marble/data/interiors/MBF/tube_neutral.png new file mode 100644 index 0000000..705c533 Binary files /dev/null and b/marble/data/interiors/MBF/tube_neutral.png differ diff --git a/marble/data/interiors/MBF/tube_warm.png b/marble/data/interiors/MBF/tube_warm.png new file mode 100644 index 0000000..1977e6e Binary files /dev/null and b/marble/data/interiors/MBF/tube_warm.png differ diff --git a/marble/data/interiors/MBF/wall_cool1.png b/marble/data/interiors/MBF/wall_cool1.png new file mode 100644 index 0000000..730848d Binary files /dev/null and b/marble/data/interiors/MBF/wall_cool1.png differ diff --git a/marble/data/interiors/MBF/wall_cool2.png b/marble/data/interiors/MBF/wall_cool2.png new file mode 100644 index 0000000..e168e9c Binary files /dev/null and b/marble/data/interiors/MBF/wall_cool2.png differ diff --git a/marble/data/interiors/MBF/wall_neutral1.png b/marble/data/interiors/MBF/wall_neutral1.png new file mode 100644 index 0000000..07988dd Binary files /dev/null and b/marble/data/interiors/MBF/wall_neutral1.png differ diff --git a/marble/data/interiors/MBF/wall_neutral2.png b/marble/data/interiors/MBF/wall_neutral2.png new file mode 100644 index 0000000..5b6bcb7 Binary files /dev/null and b/marble/data/interiors/MBF/wall_neutral2.png differ diff --git a/marble/data/interiors/MBF/wall_neutral3.png b/marble/data/interiors/MBF/wall_neutral3.png new file mode 100644 index 0000000..dc458cb Binary files /dev/null and b/marble/data/interiors/MBF/wall_neutral3.png differ diff --git a/marble/data/interiors/MBF/wall_warm1.png b/marble/data/interiors/MBF/wall_warm1.png new file mode 100644 index 0000000..3bfd8a2 Binary files /dev/null and b/marble/data/interiors/MBF/wall_warm1.png differ diff --git a/marble/data/interiors/MBF/wall_warm2.png b/marble/data/interiors/MBF/wall_warm2.png new file mode 100644 index 0000000..c6bfd3b Binary files /dev/null and b/marble/data/interiors/MBF/wall_warm2.png differ diff --git a/marble/data/interiors/MBF/wall_warm3.png b/marble/data/interiors/MBF/wall_warm3.png new file mode 100644 index 0000000..499b449 Binary files /dev/null and b/marble/data/interiors/MBF/wall_warm3.png differ diff --git a/marble/data/interiors/MBF/wall_white.png b/marble/data/interiors/MBF/wall_white.png new file mode 100644 index 0000000..75df536 Binary files /dev/null and b/marble/data/interiors/MBF/wall_white.png differ diff --git a/marble/data/interiors/MBP_wall.jpg b/marble/data/interiors/MBP_wall.jpg new file mode 100644 index 0000000..9bbb0c0 Binary files /dev/null and b/marble/data/interiors/MBP_wall.jpg differ diff --git a/marble/data/interiors/MBP_warm.jpg b/marble/data/interiors/MBP_warm.jpg new file mode 100644 index 0000000..5d39d2f Binary files /dev/null and b/marble/data/interiors/MBP_warm.jpg differ diff --git a/marble/data/interiors/MBPlus_neutral.PNG b/marble/data/interiors/MBPlus_neutral.PNG new file mode 100644 index 0000000..bdda21b Binary files /dev/null and b/marble/data/interiors/MBPlus_neutral.PNG differ diff --git a/marble/data/interiors/MBU_Tile.jpg b/marble/data/interiors/MBU_Tile.jpg new file mode 100644 index 0000000..f706790 Binary files /dev/null and b/marble/data/interiors/MBU_Tile.jpg differ diff --git a/marble/data/interiors/MBU_tiles.jpg b/marble/data/interiors/MBU_tiles.jpg new file mode 100644 index 0000000..bddc613 Binary files /dev/null and b/marble/data/interiors/MBU_tiles.jpg differ diff --git a/marble/data/interiors/MFA.dif b/marble/data/interiors/MFA.dif new file mode 100644 index 0000000..382cbe5 Binary files /dev/null and b/marble/data/interiors/MFA.dif differ diff --git a/marble/data/interiors/MFA2.dif b/marble/data/interiors/MFA2.dif new file mode 100644 index 0000000..0321a6e Binary files /dev/null and b/marble/data/interiors/MFA2.dif differ diff --git a/marble/data/interiors/MFA3.dif b/marble/data/interiors/MFA3.dif new file mode 100644 index 0000000..1f3e90e Binary files /dev/null and b/marble/data/interiors/MFA3.dif differ diff --git a/marble/data/interiors/MFA4.dif b/marble/data/interiors/MFA4.dif new file mode 100644 index 0000000..bdc35b0 Binary files /dev/null and b/marble/data/interiors/MFA4.dif differ diff --git a/marble/data/interiors/MFA5.dif b/marble/data/interiors/MFA5.dif new file mode 100644 index 0000000..b094cec Binary files /dev/null and b/marble/data/interiors/MFA5.dif differ diff --git a/marble/data/interiors/MMGjellyfish_1x1.dif b/marble/data/interiors/MMGjellyfish_1x1.dif new file mode 100644 index 0000000..d78c96c Binary files /dev/null and b/marble/data/interiors/MMGjellyfish_1x1.dif differ diff --git a/marble/data/interiors/MMGwater_1x1.dif b/marble/data/interiors/MMGwater_1x1.dif new file mode 100644 index 0000000..88b0eff Binary files /dev/null and b/marble/data/interiors/MMGwater_1x1.dif differ diff --git a/marble/data/interiors/MMGwater_3x3.dif b/marble/data/interiors/MMGwater_3x3.dif new file mode 100644 index 0000000..55b62eb Binary files /dev/null and b/marble/data/interiors/MMGwater_3x3.dif differ diff --git a/marble/data/interiors/MarbleRecoil.dif b/marble/data/interiors/MarbleRecoil.dif new file mode 100644 index 0000000..316d32b Binary files /dev/null and b/marble/data/interiors/MarbleRecoil.dif differ diff --git a/marble/data/interiors/Mercury.dif b/marble/data/interiors/Mercury.dif new file mode 100644 index 0000000..99b3563 Binary files /dev/null and b/marble/data/interiors/Mercury.dif differ diff --git a/marble/data/interiors/Motocross.jpg b/marble/data/interiors/Motocross.jpg new file mode 100644 index 0000000..5b77cf6 Binary files /dev/null and b/marble/data/interiors/Motocross.jpg differ diff --git a/marble/data/interiors/Normal2x2.dif b/marble/data/interiors/Normal2x2.dif new file mode 100644 index 0000000..0ff5954 Binary files /dev/null and b/marble/data/interiors/Normal2x2.dif differ diff --git a/marble/data/interiors/Oliver_extra1.jpg b/marble/data/interiors/Oliver_extra1.jpg new file mode 100644 index 0000000..1d55ad3 Binary files /dev/null and b/marble/data/interiors/Oliver_extra1.jpg differ diff --git a/marble/data/interiors/Oliver_extra2.jpg b/marble/data/interiors/Oliver_extra2.jpg new file mode 100644 index 0000000..055f628 Binary files /dev/null and b/marble/data/interiors/Oliver_extra2.jpg differ diff --git a/marble/data/interiors/Oliver_extra3.jpg b/marble/data/interiors/Oliver_extra3.jpg new file mode 100644 index 0000000..22b482e Binary files /dev/null and b/marble/data/interiors/Oliver_extra3.jpg differ diff --git a/marble/data/interiors/Oliver_extra4.jpg b/marble/data/interiors/Oliver_extra4.jpg new file mode 100644 index 0000000..c303931 Binary files /dev/null and b/marble/data/interiors/Oliver_extra4.jpg differ diff --git a/marble/data/interiors/Outer1.JPG b/marble/data/interiors/Outer1.JPG new file mode 100644 index 0000000..f1d4c2f Binary files /dev/null and b/marble/data/interiors/Outer1.JPG differ diff --git a/marble/data/interiors/PANEL1.jpg b/marble/data/interiors/PANEL1.jpg new file mode 100644 index 0000000..c0f5e84 Binary files /dev/null and b/marble/data/interiors/PANEL1.jpg differ diff --git a/marble/data/interiors/PANEL2.jpg b/marble/data/interiors/PANEL2.jpg new file mode 100644 index 0000000..dd5c9aa Binary files /dev/null and b/marble/data/interiors/PANEL2.jpg differ diff --git a/marble/data/interiors/PinkRoad1.dif b/marble/data/interiors/PinkRoad1.dif new file mode 100644 index 0000000..a79017a Binary files /dev/null and b/marble/data/interiors/PinkRoad1.dif differ diff --git a/marble/data/interiors/Pool.dif b/marble/data/interiors/Pool.dif new file mode 100644 index 0000000..79ab451 Binary files /dev/null and b/marble/data/interiors/Pool.dif differ diff --git a/marble/data/interiors/Ramps.dif b/marble/data/interiors/Ramps.dif new file mode 100644 index 0000000..824fd48 Binary files /dev/null and b/marble/data/interiors/Ramps.dif differ diff --git a/marble/data/interiors/Ricochet1.dif b/marble/data/interiors/Ricochet1.dif new file mode 100644 index 0000000..299ce56 Binary files /dev/null and b/marble/data/interiors/Ricochet1.dif differ diff --git a/marble/data/interiors/Ricochet2.dif b/marble/data/interiors/Ricochet2.dif new file mode 100644 index 0000000..ca42f9b Binary files /dev/null and b/marble/data/interiors/Ricochet2.dif differ diff --git a/marble/data/interiors/Ricochet3.dif b/marble/data/interiors/Ricochet3.dif new file mode 100644 index 0000000..4fc9ad9 Binary files /dev/null and b/marble/data/interiors/Ricochet3.dif differ diff --git a/marble/data/interiors/Ricochet4.dif b/marble/data/interiors/Ricochet4.dif new file mode 100644 index 0000000..5ab0d6a Binary files /dev/null and b/marble/data/interiors/Ricochet4.dif differ diff --git a/marble/data/interiors/Road_Left.jpg b/marble/data/interiors/Road_Left.jpg new file mode 100644 index 0000000..23d53c4 Binary files /dev/null and b/marble/data/interiors/Road_Left.jpg differ diff --git a/marble/data/interiors/Road_Right.jpg b/marble/data/interiors/Road_Right.jpg new file mode 100644 index 0000000..3acc932 Binary files /dev/null and b/marble/data/interiors/Road_Right.jpg differ diff --git a/marble/data/interiors/SimplePlatform.dif b/marble/data/interiors/SimplePlatform.dif new file mode 100644 index 0000000..44e69f5 Binary files /dev/null and b/marble/data/interiors/SimplePlatform.dif differ diff --git a/marble/data/interiors/Slippery_steps.dif b/marble/data/interiors/Slippery_steps.dif new file mode 100644 index 0000000..5b33d07 Binary files /dev/null and b/marble/data/interiors/Slippery_steps.dif differ diff --git a/marble/data/interiors/Slope40deg.dif b/marble/data/interiors/Slope40deg.dif new file mode 100644 index 0000000..e59dae2 Binary files /dev/null and b/marble/data/interiors/Slope40deg.dif differ diff --git a/marble/data/interiors/Snow.jpg b/marble/data/interiors/Snow.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/Snow.jpg differ diff --git a/marble/data/interiors/TV-DM2.JPG b/marble/data/interiors/TV-DM2.JPG new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/TV-DM2.JPG differ diff --git a/marble/data/interiors/TV.dif b/marble/data/interiors/TV.dif new file mode 100644 index 0000000..678fb51 Binary files /dev/null and b/marble/data/interiors/TV.dif differ diff --git a/marble/data/interiors/Tightrope_caution.dif b/marble/data/interiors/Tightrope_caution.dif new file mode 100644 index 0000000..4c55690 Binary files /dev/null and b/marble/data/interiors/Tightrope_caution.dif differ diff --git a/marble/data/interiors/Tile1.JPG b/marble/data/interiors/Tile1.JPG new file mode 100644 index 0000000..68d2b27 Binary files /dev/null and b/marble/data/interiors/Tile1.JPG differ diff --git a/marble/data/interiors/ToonFencePost.jpg b/marble/data/interiors/ToonFencePost.jpg new file mode 100644 index 0000000..6b4da36 Binary files /dev/null and b/marble/data/interiors/ToonFencePost.jpg differ diff --git a/marble/data/interiors/Traps.dif b/marble/data/interiors/Traps.dif new file mode 100644 index 0000000..f834ce8 Binary files /dev/null and b/marble/data/interiors/Traps.dif differ diff --git a/marble/data/interiors/Tree_Leaves.jpg b/marble/data/interiors/Tree_Leaves.jpg new file mode 100644 index 0000000..0a73361 Binary files /dev/null and b/marble/data/interiors/Tree_Leaves.jpg differ diff --git a/marble/data/interiors/Tree_Trunk.jpg b/marble/data/interiors/Tree_Trunk.jpg new file mode 100644 index 0000000..004f9ae Binary files /dev/null and b/marble/data/interiors/Tree_Trunk.jpg differ diff --git a/marble/data/interiors/Tube_cution.dif b/marble/data/interiors/Tube_cution.dif new file mode 100644 index 0000000..e7125fb Binary files /dev/null and b/marble/data/interiors/Tube_cution.dif differ diff --git a/marble/data/interiors/Tunnel1.dif b/marble/data/interiors/Tunnel1.dif new file mode 100644 index 0000000..0e82543 Binary files /dev/null and b/marble/data/interiors/Tunnel1.dif differ diff --git a/marble/data/interiors/UltraStickyMaterial.jpg b/marble/data/interiors/UltraStickyMaterial.jpg new file mode 100644 index 0000000..05637d6 Binary files /dev/null and b/marble/data/interiors/UltraStickyMaterial.jpg differ diff --git a/marble/data/interiors/UpTheWall1.dif b/marble/data/interiors/UpTheWall1.dif new file mode 100644 index 0000000..d35ebf2 Binary files /dev/null and b/marble/data/interiors/UpTheWall1.dif differ diff --git a/marble/data/interiors/UpTheWall2.dif b/marble/data/interiors/UpTheWall2.dif new file mode 100644 index 0000000..967629e Binary files /dev/null and b/marble/data/interiors/UpTheWall2.dif differ diff --git a/marble/data/interiors/UpTheWall3.dif b/marble/data/interiors/UpTheWall3.dif new file mode 100644 index 0000000..f10e5e9 Binary files /dev/null and b/marble/data/interiors/UpTheWall3.dif differ diff --git a/marble/data/interiors/UpTheWall4.dif b/marble/data/interiors/UpTheWall4.dif new file mode 100644 index 0000000..e867f3d Binary files /dev/null and b/marble/data/interiors/UpTheWall4.dif differ diff --git a/marble/data/interiors/WW_castle.dif b/marble/data/interiors/WW_castle.dif new file mode 100644 index 0000000..c56274b Binary files /dev/null and b/marble/data/interiors/WW_castle.dif differ diff --git a/marble/data/interiors/WWmps.dif b/marble/data/interiors/WWmps.dif new file mode 100644 index 0000000..8dde271 Binary files /dev/null and b/marble/data/interiors/WWmps.dif differ diff --git a/marble/data/interiors/Wall1.JPG b/marble/data/interiors/Wall1.JPG new file mode 100644 index 0000000..6601805 Binary files /dev/null and b/marble/data/interiors/Wall1.JPG differ diff --git a/marble/data/interiors/Wall2.JPG b/marble/data/interiors/Wall2.JPG new file mode 100644 index 0000000..631be21 Binary files /dev/null and b/marble/data/interiors/Wall2.JPG differ diff --git a/marble/data/interiors/Wall_block01.jpg b/marble/data/interiors/Wall_block01.jpg new file mode 100644 index 0000000..5e42b3c Binary files /dev/null and b/marble/data/interiors/Wall_block01.jpg differ diff --git a/marble/data/interiors/Wall_crack.dif b/marble/data/interiors/Wall_crack.dif new file mode 100644 index 0000000..e1f4b78 Binary files /dev/null and b/marble/data/interiors/Wall_crack.dif differ diff --git a/marble/data/interiors/WaterWorld.dif b/marble/data/interiors/WaterWorld.dif new file mode 100644 index 0000000..1292d8a Binary files /dev/null and b/marble/data/interiors/WaterWorld.dif differ diff --git a/marble/data/interiors/WaterWorld2.dif b/marble/data/interiors/WaterWorld2.dif new file mode 100644 index 0000000..d612fe0 Binary files /dev/null and b/marble/data/interiors/WaterWorld2.dif differ diff --git a/marble/data/interiors/WoodChair1.JPG b/marble/data/interiors/WoodChair1.JPG new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/WoodChair1.JPG differ diff --git a/marble/data/interiors/addon/acrobat1.dif b/marble/data/interiors/addon/acrobat1.dif new file mode 100644 index 0000000..087c154 Binary files /dev/null and b/marble/data/interiors/addon/acrobat1.dif differ diff --git a/marble/data/interiors/addon/acrobat2.dif b/marble/data/interiors/addon/acrobat2.dif new file mode 100644 index 0000000..73dc0d4 Binary files /dev/null and b/marble/data/interiors/addon/acrobat2.dif differ diff --git a/marble/data/interiors/addon/acrobat3.dif b/marble/data/interiors/addon/acrobat3.dif new file mode 100644 index 0000000..8291859 Binary files /dev/null and b/marble/data/interiors/addon/acrobat3.dif differ diff --git a/marble/data/interiors/addon/airwalk.dif b/marble/data/interiors/addon/airwalk.dif new file mode 100644 index 0000000..2546e81 Binary files /dev/null and b/marble/data/interiors/addon/airwalk.dif differ diff --git a/marble/data/interiors/addon/arch_blue.dif b/marble/data/interiors/addon/arch_blue.dif new file mode 100644 index 0000000..2dfd3a1 Binary files /dev/null and b/marble/data/interiors/addon/arch_blue.dif differ diff --git a/marble/data/interiors/addon/arch_green.dif b/marble/data/interiors/addon/arch_green.dif new file mode 100644 index 0000000..1110e31 Binary files /dev/null and b/marble/data/interiors/addon/arch_green.dif differ diff --git a/marble/data/interiors/addon/arch_purple.dif b/marble/data/interiors/addon/arch_purple.dif new file mode 100644 index 0000000..518160e Binary files /dev/null and b/marble/data/interiors/addon/arch_purple.dif differ diff --git a/marble/data/interiors/addon/arch_red.dif b/marble/data/interiors/addon/arch_red.dif new file mode 100644 index 0000000..edd052f Binary files /dev/null and b/marble/data/interiors/addon/arch_red.dif differ diff --git a/marble/data/interiors/addon/arrowsign.dif b/marble/data/interiors/addon/arrowsign.dif new file mode 100644 index 0000000..d12600c Binary files /dev/null and b/marble/data/interiors/addon/arrowsign.dif differ diff --git a/marble/data/interiors/addon/battlements.dif b/marble/data/interiors/addon/battlements.dif new file mode 100644 index 0000000..347da22 Binary files /dev/null and b/marble/data/interiors/addon/battlements.dif differ diff --git a/marble/data/interiors/addon/bounce.dif b/marble/data/interiors/addon/bounce.dif new file mode 100644 index 0000000..210df4f Binary files /dev/null and b/marble/data/interiors/addon/bounce.dif differ diff --git a/marble/data/interiors/addon/construction.dif b/marble/data/interiors/addon/construction.dif new file mode 100644 index 0000000..3904037 Binary files /dev/null and b/marble/data/interiors/addon/construction.dif differ diff --git a/marble/data/interiors/addon/daedalus1.dif b/marble/data/interiors/addon/daedalus1.dif new file mode 100644 index 0000000..e639dfb Binary files /dev/null and b/marble/data/interiors/addon/daedalus1.dif differ diff --git a/marble/data/interiors/addon/daedalus2.dif b/marble/data/interiors/addon/daedalus2.dif new file mode 100644 index 0000000..67f7d92 Binary files /dev/null and b/marble/data/interiors/addon/daedalus2.dif differ diff --git a/marble/data/interiors/addon/daedalus3.dif b/marble/data/interiors/addon/daedalus3.dif new file mode 100644 index 0000000..443a037 Binary files /dev/null and b/marble/data/interiors/addon/daedalus3.dif differ diff --git a/marble/data/interiors/addon/darwin.dif b/marble/data/interiors/addon/darwin.dif new file mode 100644 index 0000000..97eb36d Binary files /dev/null and b/marble/data/interiors/addon/darwin.dif differ diff --git a/marble/data/interiors/addon/dive0.dif b/marble/data/interiors/addon/dive0.dif new file mode 100644 index 0000000..aededbd Binary files /dev/null and b/marble/data/interiors/addon/dive0.dif differ diff --git a/marble/data/interiors/addon/dive1.dif b/marble/data/interiors/addon/dive1.dif new file mode 100644 index 0000000..1c46810 Binary files /dev/null and b/marble/data/interiors/addon/dive1.dif differ diff --git a/marble/data/interiors/addon/dive2.dif b/marble/data/interiors/addon/dive2.dif new file mode 100644 index 0000000..f586bf7 Binary files /dev/null and b/marble/data/interiors/addon/dive2.dif differ diff --git a/marble/data/interiors/addon/dive3.dif b/marble/data/interiors/addon/dive3.dif new file mode 100644 index 0000000..a0c67d3 Binary files /dev/null and b/marble/data/interiors/addon/dive3.dif differ diff --git a/marble/data/interiors/addon/dive4.dif b/marble/data/interiors/addon/dive4.dif new file mode 100644 index 0000000..8ec8368 Binary files /dev/null and b/marble/data/interiors/addon/dive4.dif differ diff --git a/marble/data/interiors/addon/eyeofthestorm.dif b/marble/data/interiors/addon/eyeofthestorm.dif new file mode 100644 index 0000000..7d4c141 Binary files /dev/null and b/marble/data/interiors/addon/eyeofthestorm.dif differ diff --git a/marble/data/interiors/addon/freefall0.dif b/marble/data/interiors/addon/freefall0.dif new file mode 100644 index 0000000..adb5ef5 Binary files /dev/null and b/marble/data/interiors/addon/freefall0.dif differ diff --git a/marble/data/interiors/addon/freefall1.dif b/marble/data/interiors/addon/freefall1.dif new file mode 100644 index 0000000..099c03d Binary files /dev/null and b/marble/data/interiors/addon/freefall1.dif differ diff --git a/marble/data/interiors/addon/freefall2.dif b/marble/data/interiors/addon/freefall2.dif new file mode 100644 index 0000000..6a7f650 Binary files /dev/null and b/marble/data/interiors/addon/freefall2.dif differ diff --git a/marble/data/interiors/addon/freefall3.dif b/marble/data/interiors/addon/freefall3.dif new file mode 100644 index 0000000..3ba888e Binary files /dev/null and b/marble/data/interiors/addon/freefall3.dif differ diff --git a/marble/data/interiors/addon/freefall4.dif b/marble/data/interiors/addon/freefall4.dif new file mode 100644 index 0000000..38a1bf0 Binary files /dev/null and b/marble/data/interiors/addon/freefall4.dif differ diff --git a/marble/data/interiors/addon/freefall5.dif b/marble/data/interiors/addon/freefall5.dif new file mode 100644 index 0000000..4acf858 Binary files /dev/null and b/marble/data/interiors/addon/freefall5.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain1.dif b/marble/data/interiors/addon/kingofthemountain1.dif new file mode 100644 index 0000000..ea96e47 Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain1.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain2.dif b/marble/data/interiors/addon/kingofthemountain2.dif new file mode 100644 index 0000000..1f8471d Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain2.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain3.dif b/marble/data/interiors/addon/kingofthemountain3.dif new file mode 100644 index 0000000..12f4f7c Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain3.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain4.dif b/marble/data/interiors/addon/kingofthemountain4.dif new file mode 100644 index 0000000..72450a4 Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain4.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain5.dif b/marble/data/interiors/addon/kingofthemountain5.dif new file mode 100644 index 0000000..7cb7968 Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain5.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain6.dif b/marble/data/interiors/addon/kingofthemountain6.dif new file mode 100644 index 0000000..d0f8ba2 Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain6.dif differ diff --git a/marble/data/interiors/addon/kingofthemountain7.dif b/marble/data/interiors/addon/kingofthemountain7.dif new file mode 100644 index 0000000..0ffd0d8 Binary files /dev/null and b/marble/data/interiors/addon/kingofthemountain7.dif differ diff --git a/marble/data/interiors/addon/leastresist.dif b/marble/data/interiors/addon/leastresist.dif new file mode 100644 index 0000000..32a0f54 Binary files /dev/null and b/marble/data/interiors/addon/leastresist.dif differ diff --git a/marble/data/interiors/addon/mudslide.dif b/marble/data/interiors/addon/mudslide.dif new file mode 100644 index 0000000..1d1ae9f Binary files /dev/null and b/marble/data/interiors/addon/mudslide.dif differ diff --git a/marble/data/interiors/addon/ordeal0.dif b/marble/data/interiors/addon/ordeal0.dif new file mode 100644 index 0000000..6b6f516 Binary files /dev/null and b/marble/data/interiors/addon/ordeal0.dif differ diff --git a/marble/data/interiors/addon/ordeal1.dif b/marble/data/interiors/addon/ordeal1.dif new file mode 100644 index 0000000..ada2fb7 Binary files /dev/null and b/marble/data/interiors/addon/ordeal1.dif differ diff --git a/marble/data/interiors/addon/pathways.dif b/marble/data/interiors/addon/pathways.dif new file mode 100644 index 0000000..a906331 Binary files /dev/null and b/marble/data/interiors/addon/pathways.dif differ diff --git a/marble/data/interiors/addon/pinball0.dif b/marble/data/interiors/addon/pinball0.dif new file mode 100644 index 0000000..75a4c88 Binary files /dev/null and b/marble/data/interiors/addon/pinball0.dif differ diff --git a/marble/data/interiors/addon/pinball1.dif b/marble/data/interiors/addon/pinball1.dif new file mode 100644 index 0000000..13979f9 Binary files /dev/null and b/marble/data/interiors/addon/pinball1.dif differ diff --git a/marble/data/interiors/addon/pinball2.dif b/marble/data/interiors/addon/pinball2.dif new file mode 100644 index 0000000..5e5b4ea Binary files /dev/null and b/marble/data/interiors/addon/pinball2.dif differ diff --git a/marble/data/interiors/addon/pinball3.dif b/marble/data/interiors/addon/pinball3.dif new file mode 100644 index 0000000..6166ad6 Binary files /dev/null and b/marble/data/interiors/addon/pinball3.dif differ diff --git a/marble/data/interiors/addon/pinball4.dif b/marble/data/interiors/addon/pinball4.dif new file mode 100644 index 0000000..ae9c572 Binary files /dev/null and b/marble/data/interiors/addon/pinball4.dif differ diff --git a/marble/data/interiors/addon/pipe.dif b/marble/data/interiors/addon/pipe.dif new file mode 100644 index 0000000..a561fcc Binary files /dev/null and b/marble/data/interiors/addon/pipe.dif differ diff --git a/marble/data/interiors/addon/pipe0.dif b/marble/data/interiors/addon/pipe0.dif new file mode 100644 index 0000000..201927a Binary files /dev/null and b/marble/data/interiors/addon/pipe0.dif differ diff --git a/marble/data/interiors/addon/pipe1.dif b/marble/data/interiors/addon/pipe1.dif new file mode 100644 index 0000000..2639dcf Binary files /dev/null and b/marble/data/interiors/addon/pipe1.dif differ diff --git a/marble/data/interiors/addon/pipe2.dif b/marble/data/interiors/addon/pipe2.dif new file mode 100644 index 0000000..90c334d Binary files /dev/null and b/marble/data/interiors/addon/pipe2.dif differ diff --git a/marble/data/interiors/addon/pipe3.dif b/marble/data/interiors/addon/pipe3.dif new file mode 100644 index 0000000..02353ba Binary files /dev/null and b/marble/data/interiors/addon/pipe3.dif differ diff --git a/marble/data/interiors/addon/pipe3way.dif b/marble/data/interiors/addon/pipe3way.dif new file mode 100644 index 0000000..ef9390b Binary files /dev/null and b/marble/data/interiors/addon/pipe3way.dif differ diff --git a/marble/data/interiors/addon/pipe4.dif b/marble/data/interiors/addon/pipe4.dif new file mode 100644 index 0000000..d2984f6 Binary files /dev/null and b/marble/data/interiors/addon/pipe4.dif differ diff --git a/marble/data/interiors/addon/pipe5.dif b/marble/data/interiors/addon/pipe5.dif new file mode 100644 index 0000000..30f8090 Binary files /dev/null and b/marble/data/interiors/addon/pipe5.dif differ diff --git a/marble/data/interiors/addon/pipe6.dif b/marble/data/interiors/addon/pipe6.dif new file mode 100644 index 0000000..442d2b2 Binary files /dev/null and b/marble/data/interiors/addon/pipe6.dif differ diff --git a/marble/data/interiors/addon/pipe7.dif b/marble/data/interiors/addon/pipe7.dif new file mode 100644 index 0000000..9eb3468 Binary files /dev/null and b/marble/data/interiors/addon/pipe7.dif differ diff --git a/marble/data/interiors/addon/pipecap.dif b/marble/data/interiors/addon/pipecap.dif new file mode 100644 index 0000000..30d7362 Binary files /dev/null and b/marble/data/interiors/addon/pipecap.dif differ diff --git a/marble/data/interiors/addon/pipeturn.dif b/marble/data/interiors/addon/pipeturn.dif new file mode 100644 index 0000000..5663ea3 Binary files /dev/null and b/marble/data/interiors/addon/pipeturn.dif differ diff --git a/marble/data/interiors/addon/plumbing.dif b/marble/data/interiors/addon/plumbing.dif new file mode 100644 index 0000000..aa95a95 Binary files /dev/null and b/marble/data/interiors/addon/plumbing.dif differ diff --git a/marble/data/interiors/addon/reloaded.dif b/marble/data/interiors/addon/reloaded.dif new file mode 100644 index 0000000..fca5c04 Binary files /dev/null and b/marble/data/interiors/addon/reloaded.dif differ diff --git a/marble/data/interiors/addon/scaffold.dif b/marble/data/interiors/addon/scaffold.dif new file mode 100644 index 0000000..6e649f2 Binary files /dev/null and b/marble/data/interiors/addon/scaffold.dif differ diff --git a/marble/data/interiors/addon/selection0.dif b/marble/data/interiors/addon/selection0.dif new file mode 100644 index 0000000..b6a318d Binary files /dev/null and b/marble/data/interiors/addon/selection0.dif differ diff --git a/marble/data/interiors/addon/selection1.dif b/marble/data/interiors/addon/selection1.dif new file mode 100644 index 0000000..b5d8589 Binary files /dev/null and b/marble/data/interiors/addon/selection1.dif differ diff --git a/marble/data/interiors/addon/selection2.dif b/marble/data/interiors/addon/selection2.dif new file mode 100644 index 0000000..c188c89 Binary files /dev/null and b/marble/data/interiors/addon/selection2.dif differ diff --git a/marble/data/interiors/addon/selection3.dif b/marble/data/interiors/addon/selection3.dif new file mode 100644 index 0000000..fc4855f Binary files /dev/null and b/marble/data/interiors/addon/selection3.dif differ diff --git a/marble/data/interiors/addon/selection4.dif b/marble/data/interiors/addon/selection4.dif new file mode 100644 index 0000000..757b9c4 Binary files /dev/null and b/marble/data/interiors/addon/selection4.dif differ diff --git a/marble/data/interiors/addon/selection5.dif b/marble/data/interiors/addon/selection5.dif new file mode 100644 index 0000000..3883220 Binary files /dev/null and b/marble/data/interiors/addon/selection5.dif differ diff --git a/marble/data/interiors/addon/shimmy.dif b/marble/data/interiors/addon/shimmy.dif new file mode 100644 index 0000000..dda877b Binary files /dev/null and b/marble/data/interiors/addon/shimmy.dif differ diff --git a/marble/data/interiors/addon/siege.dif b/marble/data/interiors/addon/siege.dif new file mode 100644 index 0000000..899b29f Binary files /dev/null and b/marble/data/interiors/addon/siege.dif differ diff --git a/marble/data/interiors/addon/ski0.dif b/marble/data/interiors/addon/ski0.dif new file mode 100644 index 0000000..a13afd0 Binary files /dev/null and b/marble/data/interiors/addon/ski0.dif differ diff --git a/marble/data/interiors/addon/ski1.dif b/marble/data/interiors/addon/ski1.dif new file mode 100644 index 0000000..2d05777 Binary files /dev/null and b/marble/data/interiors/addon/ski1.dif differ diff --git a/marble/data/interiors/addon/ski2.dif b/marble/data/interiors/addon/ski2.dif new file mode 100644 index 0000000..8b844d2 Binary files /dev/null and b/marble/data/interiors/addon/ski2.dif differ diff --git a/marble/data/interiors/addon/ski3.dif b/marble/data/interiors/addon/ski3.dif new file mode 100644 index 0000000..7317224 Binary files /dev/null and b/marble/data/interiors/addon/ski3.dif differ diff --git a/marble/data/interiors/addon/smallplatform.dif b/marble/data/interiors/addon/smallplatform.dif new file mode 100644 index 0000000..d5953bb Binary files /dev/null and b/marble/data/interiors/addon/smallplatform.dif differ diff --git a/marble/data/interiors/addon/tightrope.dif b/marble/data/interiors/addon/tightrope.dif new file mode 100644 index 0000000..4843212 Binary files /dev/null and b/marble/data/interiors/addon/tightrope.dif differ diff --git a/marble/data/interiors/addon/towermaze.dif b/marble/data/interiors/addon/towermaze.dif new file mode 100644 index 0000000..f423078 Binary files /dev/null and b/marble/data/interiors/addon/towermaze.dif differ diff --git a/marble/data/interiors/addon/whorl0.dif b/marble/data/interiors/addon/whorl0.dif new file mode 100644 index 0000000..fc98c7d Binary files /dev/null and b/marble/data/interiors/addon/whorl0.dif differ diff --git a/marble/data/interiors/addon/whorl1.dif b/marble/data/interiors/addon/whorl1.dif new file mode 100644 index 0000000..876db2d Binary files /dev/null and b/marble/data/interiors/addon/whorl1.dif differ diff --git a/marble/data/interiors/addon/whorl2.dif b/marble/data/interiors/addon/whorl2.dif new file mode 100644 index 0000000..a82e763 Binary files /dev/null and b/marble/data/interiors/addon/whorl2.dif differ diff --git a/marble/data/interiors/addon/whorl3.dif b/marble/data/interiors/addon/whorl3.dif new file mode 100644 index 0000000..d38110d Binary files /dev/null and b/marble/data/interiors/addon/whorl3.dif differ diff --git a/marble/data/interiors/addon/whorl4.dif b/marble/data/interiors/addon/whorl4.dif new file mode 100644 index 0000000..5f0a1d2 Binary files /dev/null and b/marble/data/interiors/addon/whorl4.dif differ diff --git a/marble/data/interiors/addon/whorl5.dif b/marble/data/interiors/addon/whorl5.dif new file mode 100644 index 0000000..9e12055 Binary files /dev/null and b/marble/data/interiors/addon/whorl5.dif differ diff --git a/marble/data/interiors/advanced/a-maze-ing.dif b/marble/data/interiors/advanced/a-maze-ing.dif new file mode 100644 index 0000000..c272df5 Binary files /dev/null and b/marble/data/interiors/advanced/a-maze-ing.dif differ diff --git a/marble/data/interiors/advanced/blockparty.dif b/marble/data/interiors/advanced/blockparty.dif new file mode 100644 index 0000000..970f5b8 Binary files /dev/null and b/marble/data/interiors/advanced/blockparty.dif differ diff --git a/marble/data/interiors/advanced/escher.dif b/marble/data/interiors/advanced/escher.dif new file mode 100644 index 0000000..4f26227 Binary files /dev/null and b/marble/data/interiors/advanced/escher.dif differ diff --git a/marble/data/interiors/advanced/greatdivide2.dif b/marble/data/interiors/advanced/greatdivide2.dif new file mode 100644 index 0000000..7399e07 Binary files /dev/null and b/marble/data/interiors/advanced/greatdivide2.dif differ diff --git a/marble/data/interiors/advanced/half-pipe0.dif b/marble/data/interiors/advanced/half-pipe0.dif new file mode 100644 index 0000000..ce2ddbb Binary files /dev/null and b/marble/data/interiors/advanced/half-pipe0.dif differ diff --git a/marble/data/interiors/advanced/half-pipe1.dif b/marble/data/interiors/advanced/half-pipe1.dif new file mode 100644 index 0000000..21873df Binary files /dev/null and b/marble/data/interiors/advanced/half-pipe1.dif differ diff --git a/marble/data/interiors/advanced/half-pipe2.dif b/marble/data/interiors/advanced/half-pipe2.dif new file mode 100644 index 0000000..262b739 Binary files /dev/null and b/marble/data/interiors/advanced/half-pipe2.dif differ diff --git a/marble/data/interiors/advanced/naturedash.dif b/marble/data/interiors/advanced/naturedash.dif new file mode 100644 index 0000000..3164da4 Binary files /dev/null and b/marble/data/interiors/advanced/naturedash.dif differ diff --git a/marble/data/interiors/advanced/platform_circle.dif b/marble/data/interiors/advanced/platform_circle.dif new file mode 100644 index 0000000..8c7dc7a Binary files /dev/null and b/marble/data/interiors/advanced/platform_circle.dif differ diff --git a/marble/data/interiors/advanced/platform_circle_huge.dif b/marble/data/interiors/advanced/platform_circle_huge.dif new file mode 100644 index 0000000..12b90d7 Binary files /dev/null and b/marble/data/interiors/advanced/platform_circle_huge.dif differ diff --git a/marble/data/interiors/advanced/slipslide.dif b/marble/data/interiors/advanced/slipslide.dif new file mode 100644 index 0000000..1d4e1c6 Binary files /dev/null and b/marble/data/interiors/advanced/slipslide.dif differ diff --git a/marble/data/interiors/advanced/survival.dif b/marble/data/interiors/advanced/survival.dif new file mode 100644 index 0000000..3d36e92 Binary files /dev/null and b/marble/data/interiors/advanced/survival.dif differ diff --git a/marble/data/interiors/advanced/texturesource/_ b/marble/data/interiors/advanced/texturesource/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/advanced/thrillride.dif b/marble/data/interiors/advanced/thrillride.dif new file mode 100644 index 0000000..f19e517 Binary files /dev/null and b/marble/data/interiors/advanced/thrillride.dif differ diff --git a/marble/data/interiors/advanced/tothemoon.dif b/marble/data/interiors/advanced/tothemoon.dif new file mode 100644 index 0000000..a501c98 Binary files /dev/null and b/marble/data/interiors/advanced/tothemoon.dif differ diff --git a/marble/data/interiors/advanced/trapdoor.dif b/marble/data/interiors/advanced/trapdoor.dif new file mode 100644 index 0000000..801e602 Binary files /dev/null and b/marble/data/interiors/advanced/trapdoor.dif differ diff --git a/marble/data/interiors/advanced/twisting.dif b/marble/data/interiors/advanced/twisting.dif new file mode 100644 index 0000000..63ae16e Binary files /dev/null and b/marble/data/interiors/advanced/twisting.dif differ diff --git a/marble/data/interiors/advanced/willowisp.dif b/marble/data/interiors/advanced/willowisp.dif new file mode 100644 index 0000000..d96ee80 Binary files /dev/null and b/marble/data/interiors/advanced/willowisp.dif differ diff --git a/marble/data/interiors/alien.jpg b/marble/data/interiors/alien.jpg new file mode 100644 index 0000000..e214314 Binary files /dev/null and b/marble/data/interiors/alien.jpg differ diff --git a/marble/data/interiors/arch.dif b/marble/data/interiors/arch.dif new file mode 100644 index 0000000..1f97392 Binary files /dev/null and b/marble/data/interiors/arch.dif differ diff --git a/marble/data/interiors/arch_red.dif b/marble/data/interiors/arch_red.dif new file mode 100644 index 0000000..edd052f Binary files /dev/null and b/marble/data/interiors/arch_red.dif differ diff --git a/marble/data/interiors/archstand.dif b/marble/data/interiors/archstand.dif new file mode 100644 index 0000000..020ddb2 Binary files /dev/null and b/marble/data/interiors/archstand.dif differ diff --git a/marble/data/interiors/arrow_cool1.jpg b/marble/data/interiors/arrow_cool1.jpg new file mode 100644 index 0000000..a19fb3b Binary files /dev/null and b/marble/data/interiors/arrow_cool1.jpg differ diff --git a/marble/data/interiors/arrow_neutral1.jpg b/marble/data/interiors/arrow_neutral1.jpg new file mode 100644 index 0000000..3a38429 Binary files /dev/null and b/marble/data/interiors/arrow_neutral1.jpg differ diff --git a/marble/data/interiors/arrow_neutral2.jpg b/marble/data/interiors/arrow_neutral2.jpg new file mode 100644 index 0000000..77161b3 Binary files /dev/null and b/marble/data/interiors/arrow_neutral2.jpg differ diff --git a/marble/data/interiors/arrow_warm1.jpg b/marble/data/interiors/arrow_warm1.jpg new file mode 100644 index 0000000..6e760fc Binary files /dev/null and b/marble/data/interiors/arrow_warm1.jpg differ diff --git a/marble/data/interiors/arrowsign.dif b/marble/data/interiors/arrowsign.dif new file mode 100644 index 0000000..d12600c Binary files /dev/null and b/marble/data/interiors/arrowsign.dif differ diff --git a/marble/data/interiors/avoiding_hazards.dif b/marble/data/interiors/avoiding_hazards.dif new file mode 100644 index 0000000..ffee4d9 Binary files /dev/null and b/marble/data/interiors/avoiding_hazards.dif differ diff --git a/marble/data/interiors/balltop.jpg b/marble/data/interiors/balltop.jpg new file mode 100644 index 0000000..c6109d8 Binary files /dev/null and b/marble/data/interiors/balltop.jpg differ diff --git a/marble/data/interiors/banner_1.jpg b/marble/data/interiors/banner_1.jpg new file mode 100644 index 0000000..8d3fdb7 Binary files /dev/null and b/marble/data/interiors/banner_1.jpg differ diff --git a/marble/data/interiors/bark1.jpg b/marble/data/interiors/bark1.jpg new file mode 100644 index 0000000..e1d00f4 Binary files /dev/null and b/marble/data/interiors/bark1.jpg differ diff --git a/marble/data/interiors/battlements.dif b/marble/data/interiors/battlements.dif new file mode 100644 index 0000000..347da22 Binary files /dev/null and b/marble/data/interiors/battlements.dif differ diff --git a/marble/data/interiors/beach.jpg b/marble/data/interiors/beach.jpg new file mode 100644 index 0000000..74f121a Binary files /dev/null and b/marble/data/interiors/beach.jpg differ diff --git a/marble/data/interiors/beginner/MiniRace.dif b/marble/data/interiors/beginner/MiniRace.dif new file mode 100644 index 0000000..edd37f1 Binary files /dev/null and b/marble/data/interiors/beginner/MiniRace.dif differ diff --git a/marble/data/interiors/beginner/backagain.dif b/marble/data/interiors/beginner/backagain.dif new file mode 100644 index 0000000..e6b6c71 Binary files /dev/null and b/marble/data/interiors/beginner/backagain.dif differ diff --git a/marble/data/interiors/beginner/beginner_finish.dif b/marble/data/interiors/beginner/beginner_finish.dif new file mode 100644 index 0000000..0a73dd3 Binary files /dev/null and b/marble/data/interiors/beginner/beginner_finish.dif differ diff --git a/marble/data/interiors/beginner/beginner_playground.dif b/marble/data/interiors/beginner/beginner_playground.dif new file mode 100644 index 0000000..7e2e68a Binary files /dev/null and b/marble/data/interiors/beginner/beginner_playground.dif differ diff --git a/marble/data/interiors/beginner/forkinroad.dif b/marble/data/interiors/beginner/forkinroad.dif new file mode 100644 index 0000000..4386b7f Binary files /dev/null and b/marble/data/interiors/beginner/forkinroad.dif differ diff --git a/marble/data/interiors/beginner/goforgreen.dif b/marble/data/interiors/beginner/goforgreen.dif new file mode 100644 index 0000000..9d6e236 Binary files /dev/null and b/marble/data/interiors/beginner/goforgreen.dif differ diff --git a/marble/data/interiors/beginner/hoops.dif b/marble/data/interiors/beginner/hoops.dif new file mode 100644 index 0000000..509fc9b Binary files /dev/null and b/marble/data/interiors/beginner/hoops.dif differ diff --git a/marble/data/interiors/beginner/jumpjumpjump.dif b/marble/data/interiors/beginner/jumpjumpjump.dif new file mode 100644 index 0000000..5f67eb3 Binary files /dev/null and b/marble/data/interiors/beginner/jumpjumpjump.dif differ diff --git a/marble/data/interiors/beginner/pitfall.dif b/marble/data/interiors/beginner/pitfall.dif new file mode 100644 index 0000000..b37faf1 Binary files /dev/null and b/marble/data/interiors/beginner/pitfall.dif differ diff --git a/marble/data/interiors/beginner/platformparty.dif b/marble/data/interiors/beginner/platformparty.dif new file mode 100644 index 0000000..0e18bd8 Binary files /dev/null and b/marble/data/interiors/beginner/platformparty.dif differ diff --git a/marble/data/interiors/beginner/skatepark.dif b/marble/data/interiors/beginner/skatepark.dif new file mode 100644 index 0000000..beb0d71 Binary files /dev/null and b/marble/data/interiors/beginner/skatepark.dif differ diff --git a/marble/data/interiors/beginner/training1.dif b/marble/data/interiors/beginner/training1.dif new file mode 100644 index 0000000..64b2f9d Binary files /dev/null and b/marble/data/interiors/beginner/training1.dif differ diff --git a/marble/data/interiors/beginner/training2.dif b/marble/data/interiors/beginner/training2.dif new file mode 100644 index 0000000..fe10106 Binary files /dev/null and b/marble/data/interiors/beginner/training2.dif differ diff --git a/marble/data/interiors/beginner/training3.dif b/marble/data/interiors/beginner/training3.dif new file mode 100644 index 0000000..f9a60ee Binary files /dev/null and b/marble/data/interiors/beginner/training3.dif differ diff --git a/marble/data/interiors/beginner/training_airmove.dif b/marble/data/interiors/beginner/training_airmove.dif new file mode 100644 index 0000000..0f8c4bc Binary files /dev/null and b/marble/data/interiors/beginner/training_airmove.dif differ diff --git a/marble/data/interiors/beginner/training_bounce.dif b/marble/data/interiors/beginner/training_bounce.dif new file mode 100644 index 0000000..f929460 Binary files /dev/null and b/marble/data/interiors/beginner/training_bounce.dif differ diff --git a/marble/data/interiors/beginner/training_bumpers.dif b/marble/data/interiors/beginner/training_bumpers.dif new file mode 100644 index 0000000..e212150 Binary files /dev/null and b/marble/data/interiors/beginner/training_bumpers.dif differ diff --git a/marble/data/interiors/beginner/training_copter.dif b/marble/data/interiors/beginner/training_copter.dif new file mode 100644 index 0000000..736ff40 Binary files /dev/null and b/marble/data/interiors/beginner/training_copter.dif differ diff --git a/marble/data/interiors/beginner/training_elevator.dif b/marble/data/interiors/beginner/training_elevator.dif new file mode 100644 index 0000000..3fb60ec Binary files /dev/null and b/marble/data/interiors/beginner/training_elevator.dif differ diff --git a/marble/data/interiors/beginner/training_fans.dif b/marble/data/interiors/beginner/training_fans.dif new file mode 100644 index 0000000..e0b7189 Binary files /dev/null and b/marble/data/interiors/beginner/training_fans.dif differ diff --git a/marble/data/interiors/beginner/training_friction.dif b/marble/data/interiors/beginner/training_friction.dif new file mode 100644 index 0000000..3deb573 Binary files /dev/null and b/marble/data/interiors/beginner/training_friction.dif differ diff --git a/marble/data/interiors/beginner/training_gravity.dif b/marble/data/interiors/beginner/training_gravity.dif new file mode 100644 index 0000000..3a2c128 Binary files /dev/null and b/marble/data/interiors/beginner/training_gravity.dif differ diff --git a/marble/data/interiors/beginner/training_jewel.dif b/marble/data/interiors/beginner/training_jewel.dif new file mode 100644 index 0000000..530bac2 Binary files /dev/null and b/marble/data/interiors/beginner/training_jewel.dif differ diff --git a/marble/data/interiors/beginner/training_jump.dif b/marble/data/interiors/beginner/training_jump.dif new file mode 100644 index 0000000..7fd8199 Binary files /dev/null and b/marble/data/interiors/beginner/training_jump.dif differ diff --git a/marble/data/interiors/beginner/training_mines.dif b/marble/data/interiors/beginner/training_mines.dif new file mode 100644 index 0000000..70a9360 Binary files /dev/null and b/marble/data/interiors/beginner/training_mines.dif differ diff --git a/marble/data/interiors/beginner/training_platform.dif b/marble/data/interiors/beginner/training_platform.dif new file mode 100644 index 0000000..27be9d1 Binary files /dev/null and b/marble/data/interiors/beginner/training_platform.dif differ diff --git a/marble/data/interiors/beginner/training_shock.dif b/marble/data/interiors/beginner/training_shock.dif new file mode 100644 index 0000000..4f91397 Binary files /dev/null and b/marble/data/interiors/beginner/training_shock.dif differ diff --git a/marble/data/interiors/beginner/training_speed.dif b/marble/data/interiors/beginner/training_speed.dif new file mode 100644 index 0000000..7e35e06 Binary files /dev/null and b/marble/data/interiors/beginner/training_speed.dif differ diff --git a/marble/data/interiors/beginner/training_time.dif b/marble/data/interiors/beginner/training_time.dif new file mode 100644 index 0000000..efc1309 Binary files /dev/null and b/marble/data/interiors/beginner/training_time.dif differ diff --git a/marble/data/interiors/beginner/training_tornado.dif b/marble/data/interiors/beginner/training_tornado.dif new file mode 100644 index 0000000..661f30c Binary files /dev/null and b/marble/data/interiors/beginner/training_tornado.dif differ diff --git a/marble/data/interiors/beginner/training_trapdoor.dif b/marble/data/interiors/beginner/training_trapdoor.dif new file mode 100644 index 0000000..3713386 Binary files /dev/null and b/marble/data/interiors/beginner/training_trapdoor.dif differ diff --git a/marble/data/interiors/beginner/tritwist.dif b/marble/data/interiors/beginner/tritwist.dif new file mode 100644 index 0000000..5d5b755 Binary files /dev/null and b/marble/data/interiors/beginner/tritwist.dif differ diff --git a/marble/data/interiors/beginner/windingroad.dif b/marble/data/interiors/beginner/windingroad.dif new file mode 100644 index 0000000..9809734 Binary files /dev/null and b/marble/data/interiors/beginner/windingroad.dif differ diff --git a/marble/data/interiors/blackplate.dif b/marble/data/interiors/blackplate.dif new file mode 100644 index 0000000..d66a875 Binary files /dev/null and b/marble/data/interiors/blackplate.dif differ diff --git a/marble/data/interiors/blackplate.jpg b/marble/data/interiors/blackplate.jpg new file mode 100644 index 0000000..55f6286 Binary files /dev/null and b/marble/data/interiors/blackplate.jpg differ diff --git a/marble/data/interiors/blah.jpg b/marble/data/interiors/blah.jpg new file mode 100644 index 0000000..583bb83 Binary files /dev/null and b/marble/data/interiors/blah.jpg differ diff --git a/marble/data/interiors/blue.jpg b/marble/data/interiors/blue.jpg new file mode 100644 index 0000000..1029e50 Binary files /dev/null and b/marble/data/interiors/blue.jpg differ diff --git a/marble/data/interiors/blue_1x1.dif b/marble/data/interiors/blue_1x1.dif new file mode 100644 index 0000000..ca926da Binary files /dev/null and b/marble/data/interiors/blue_1x1.dif differ diff --git a/marble/data/interiors/blue_6x6.dif b/marble/data/interiors/blue_6x6.dif new file mode 100644 index 0000000..47f6cc2 Binary files /dev/null and b/marble/data/interiors/blue_6x6.dif differ diff --git a/marble/data/interiors/blue_grid.jpg b/marble/data/interiors/blue_grid.jpg new file mode 100644 index 0000000..64d8fbe Binary files /dev/null and b/marble/data/interiors/blue_grid.jpg differ diff --git a/marble/data/interiors/blue_grid2.jpg b/marble/data/interiors/blue_grid2.jpg new file mode 100644 index 0000000..180db06 Binary files /dev/null and b/marble/data/interiors/blue_grid2.jpg differ diff --git a/marble/data/interiors/blueball.jpg b/marble/data/interiors/blueball.jpg new file mode 100644 index 0000000..75c0c0b Binary files /dev/null and b/marble/data/interiors/blueball.jpg differ diff --git a/marble/data/interiors/branch1.dif b/marble/data/interiors/branch1.dif new file mode 100644 index 0000000..becb271 Binary files /dev/null and b/marble/data/interiors/branch1.dif differ diff --git a/marble/data/interiors/branch2.dif b/marble/data/interiors/branch2.dif new file mode 100644 index 0000000..c76cbfb Binary files /dev/null and b/marble/data/interiors/branch2.dif differ diff --git a/marble/data/interiors/branch3.dif b/marble/data/interiors/branch3.dif new file mode 100644 index 0000000..3b867e3 Binary files /dev/null and b/marble/data/interiors/branch3.dif differ diff --git a/marble/data/interiors/branch4.dif b/marble/data/interiors/branch4.dif new file mode 100644 index 0000000..b978c97 Binary files /dev/null and b/marble/data/interiors/branch4.dif differ diff --git a/marble/data/interiors/branch5.dif b/marble/data/interiors/branch5.dif new file mode 100644 index 0000000..e4c022f Binary files /dev/null and b/marble/data/interiors/branch5.dif differ diff --git a/marble/data/interiors/bridge_warning.jpg b/marble/data/interiors/bridge_warning.jpg new file mode 100644 index 0000000..b69be19 Binary files /dev/null and b/marble/data/interiors/bridge_warning.jpg differ diff --git a/marble/data/interiors/brown1.png b/marble/data/interiors/brown1.png new file mode 100644 index 0000000..d853904 Binary files /dev/null and b/marble/data/interiors/brown1.png differ diff --git a/marble/data/interiors/brown_1x1.dif b/marble/data/interiors/brown_1x1.dif new file mode 100644 index 0000000..89061e7 Binary files /dev/null and b/marble/data/interiors/brown_1x1.dif differ diff --git a/marble/data/interiors/brown_1x3.dif b/marble/data/interiors/brown_1x3.dif new file mode 100644 index 0000000..d0f74fc Binary files /dev/null and b/marble/data/interiors/brown_1x3.dif differ diff --git a/marble/data/interiors/brown_3x3.dif b/marble/data/interiors/brown_3x3.dif new file mode 100644 index 0000000..49779c0 Binary files /dev/null and b/marble/data/interiors/brown_3x3.dif differ diff --git a/marble/data/interiors/brown_3x4.dif b/marble/data/interiors/brown_3x4.dif new file mode 100644 index 0000000..970f8d4 Binary files /dev/null and b/marble/data/interiors/brown_3x4.dif differ diff --git a/marble/data/interiors/brown_woodend.jpg b/marble/data/interiors/brown_woodend.jpg new file mode 100644 index 0000000..810c9e5 Binary files /dev/null and b/marble/data/interiors/brown_woodend.jpg differ diff --git a/marble/data/interiors/brown_woodside.jpg b/marble/data/interiors/brown_woodside.jpg new file mode 100644 index 0000000..7289df4 Binary files /dev/null and b/marble/data/interiors/brown_woodside.jpg differ diff --git a/marble/data/interiors/build2.jpg b/marble/data/interiors/build2.jpg new file mode 100644 index 0000000..0ecbb6d Binary files /dev/null and b/marble/data/interiors/build2.jpg differ diff --git a/marble/data/interiors/build3.jpg b/marble/data/interiors/build3.jpg new file mode 100644 index 0000000..9716181 Binary files /dev/null and b/marble/data/interiors/build3.jpg differ diff --git a/marble/data/interiors/car.dif b/marble/data/interiors/car.dif new file mode 100644 index 0000000..ed0d6f5 Binary files /dev/null and b/marble/data/interiors/car.dif differ diff --git a/marble/data/interiors/carpet.jpg b/marble/data/interiors/carpet.jpg new file mode 100644 index 0000000..14a6a93 Binary files /dev/null and b/marble/data/interiors/carpet.jpg differ diff --git a/marble/data/interiors/carpet_3x3.dif b/marble/data/interiors/carpet_3x3.dif new file mode 100644 index 0000000..97505e1 Binary files /dev/null and b/marble/data/interiors/carpet_3x3.dif differ diff --git a/marble/data/interiors/castle_3x3.dif b/marble/data/interiors/castle_3x3.dif new file mode 100644 index 0000000..78fd91b Binary files /dev/null and b/marble/data/interiors/castle_3x3.dif differ diff --git a/marble/data/interiors/cem1.jpg b/marble/data/interiors/cem1.jpg new file mode 100644 index 0000000..a99209d Binary files /dev/null and b/marble/data/interiors/cem1.jpg differ diff --git a/marble/data/interiors/checkerboard2.jpg b/marble/data/interiors/checkerboard2.jpg new file mode 100644 index 0000000..5ee8a17 Binary files /dev/null and b/marble/data/interiors/checkerboard2.jpg differ diff --git a/marble/data/interiors/chevron_cool.jpg b/marble/data/interiors/chevron_cool.jpg new file mode 100644 index 0000000..f91618b Binary files /dev/null and b/marble/data/interiors/chevron_cool.jpg differ diff --git a/marble/data/interiors/chevron_cool2.jpg b/marble/data/interiors/chevron_cool2.jpg new file mode 100644 index 0000000..49701f0 Binary files /dev/null and b/marble/data/interiors/chevron_cool2.jpg differ diff --git a/marble/data/interiors/chevron_neutral.jpg b/marble/data/interiors/chevron_neutral.jpg new file mode 100644 index 0000000..31b3f79 Binary files /dev/null and b/marble/data/interiors/chevron_neutral.jpg differ diff --git a/marble/data/interiors/chevron_neutral2.jpg b/marble/data/interiors/chevron_neutral2.jpg new file mode 100644 index 0000000..13f5aff Binary files /dev/null and b/marble/data/interiors/chevron_neutral2.jpg differ diff --git a/marble/data/interiors/chevron_warm.jpg b/marble/data/interiors/chevron_warm.jpg new file mode 100644 index 0000000..35f06b3 Binary files /dev/null and b/marble/data/interiors/chevron_warm.jpg differ diff --git a/marble/data/interiors/chevron_warm2.jpg b/marble/data/interiors/chevron_warm2.jpg new file mode 100644 index 0000000..16706a1 Binary files /dev/null and b/marble/data/interiors/chevron_warm2.jpg differ diff --git a/marble/data/interiors/colmesh.dts b/marble/data/interiors/colmesh.dts new file mode 100644 index 0000000..e0b07b6 Binary files /dev/null and b/marble/data/interiors/colmesh.dts differ diff --git a/marble/data/interiors/colorful.dif b/marble/data/interiors/colorful.dif new file mode 100644 index 0000000..8fd8808 Binary files /dev/null and b/marble/data/interiors/colorful.dif differ diff --git a/marble/data/interiors/concrete.jpg b/marble/data/interiors/concrete.jpg new file mode 100644 index 0000000..7911b08 Binary files /dev/null and b/marble/data/interiors/concrete.jpg differ diff --git a/marble/data/interiors/conee.dif b/marble/data/interiors/conee.dif new file mode 100644 index 0000000..a2d6419 Binary files /dev/null and b/marble/data/interiors/conee.dif differ diff --git a/marble/data/interiors/cottage_detail.jpg b/marble/data/interiors/cottage_detail.jpg new file mode 100644 index 0000000..acefd75 Binary files /dev/null and b/marble/data/interiors/cottage_detail.jpg differ diff --git a/marble/data/interiors/crackedStone.jpg b/marble/data/interiors/crackedStone.jpg new file mode 100644 index 0000000..50c1baf Binary files /dev/null and b/marble/data/interiors/crackedStone.jpg differ diff --git a/marble/data/interiors/crash_course.dif b/marble/data/interiors/crash_course.dif new file mode 100644 index 0000000..a4c4781 Binary files /dev/null and b/marble/data/interiors/crash_course.dif differ diff --git a/marble/data/interiors/cube_blue.png b/marble/data/interiors/cube_blue.png new file mode 100644 index 0000000..99472ea Binary files /dev/null and b/marble/data/interiors/cube_blue.png differ diff --git a/marble/data/interiors/cupBottomCyan.jpg b/marble/data/interiors/cupBottomCyan.jpg new file mode 100644 index 0000000..2c2d903 Binary files /dev/null and b/marble/data/interiors/cupBottomCyan.jpg differ diff --git a/marble/data/interiors/cupTrimCyan.jpg b/marble/data/interiors/cupTrimCyan.jpg new file mode 100644 index 0000000..fa0f8d7 Binary files /dev/null and b/marble/data/interiors/cupTrimCyan.jpg differ diff --git a/marble/data/interiors/cupTrimWhite.jpg b/marble/data/interiors/cupTrimWhite.jpg new file mode 100644 index 0000000..291cb0f Binary files /dev/null and b/marble/data/interiors/cupTrimWhite.jpg differ diff --git a/marble/data/interiors/custom/Level.dif b/marble/data/interiors/custom/Level.dif new file mode 100644 index 0000000..d8976c9 Binary files /dev/null and b/marble/data/interiors/custom/Level.dif differ diff --git a/marble/data/interiors/custom/TricksTripsTribulations-CK.dif b/marble/data/interiors/custom/TricksTripsTribulations-CK.dif new file mode 100644 index 0000000..4fea87f Binary files /dev/null and b/marble/data/interiors/custom/TricksTripsTribulations-CK.dif differ diff --git a/marble/data/interiors/custom/mbu/Glacier.dif b/marble/data/interiors/custom/mbu/Glacier.dif new file mode 100644 index 0000000..c297f7f Binary files /dev/null and b/marble/data/interiors/custom/mbu/Glacier.dif differ diff --git a/marble/data/interiors/custom/mbu/tile_beginner.jpg b/marble/data/interiors/custom/mbu/tile_beginner.jpg new file mode 100644 index 0000000..d6cac69 Binary files /dev/null and b/marble/data/interiors/custom/mbu/tile_beginner.jpg differ diff --git a/marble/data/interiors/custom_Bouncy.jpg b/marble/data/interiors/custom_Bouncy.jpg new file mode 100644 index 0000000..55b21fc Binary files /dev/null and b/marble/data/interiors/custom_Bouncy.jpg differ diff --git a/marble/data/interiors/custom_Bumper1.jpg b/marble/data/interiors/custom_Bumper1.jpg new file mode 100644 index 0000000..6a2027c Binary files /dev/null and b/marble/data/interiors/custom_Bumper1.jpg differ diff --git a/marble/data/interiors/custom_Bumper2.jpg b/marble/data/interiors/custom_Bumper2.jpg new file mode 100644 index 0000000..6c13708 Binary files /dev/null and b/marble/data/interiors/custom_Bumper2.jpg differ diff --git a/marble/data/interiors/custom_Bumper3.jpg b/marble/data/interiors/custom_Bumper3.jpg new file mode 100644 index 0000000..a10f90a Binary files /dev/null and b/marble/data/interiors/custom_Bumper3.jpg differ diff --git a/marble/data/interiors/custom_QB.jpg b/marble/data/interiors/custom_QB.jpg new file mode 100644 index 0000000..ecf571b Binary files /dev/null and b/marble/data/interiors/custom_QB.jpg differ diff --git a/marble/data/interiors/custom_QM.jpg b/marble/data/interiors/custom_QM.jpg new file mode 100644 index 0000000..961fa05 Binary files /dev/null and b/marble/data/interiors/custom_QM.jpg differ diff --git a/marble/data/interiors/custom_SafeFall.jpg b/marble/data/interiors/custom_SafeFall.jpg new file mode 100644 index 0000000..436b7f9 Binary files /dev/null and b/marble/data/interiors/custom_SafeFall.jpg differ diff --git a/marble/data/interiors/custom_Trampoline.jpg b/marble/data/interiors/custom_Trampoline.jpg new file mode 100644 index 0000000..0380e2f Binary files /dev/null and b/marble/data/interiors/custom_Trampoline.jpg differ diff --git a/marble/data/interiors/custom_crate.jpg b/marble/data/interiors/custom_crate.jpg new file mode 100644 index 0000000..fba9399 Binary files /dev/null and b/marble/data/interiors/custom_crate.jpg differ diff --git a/marble/data/interiors/custom_dirt.jpg b/marble/data/interiors/custom_dirt.jpg new file mode 100644 index 0000000..0807563 Binary files /dev/null and b/marble/data/interiors/custom_dirt.jpg differ diff --git a/marble/data/interiors/custom_insd_track.jpg b/marble/data/interiors/custom_insd_track.jpg new file mode 100644 index 0000000..2bf2ca3 Binary files /dev/null and b/marble/data/interiors/custom_insd_track.jpg differ diff --git a/marble/data/interiors/custom_lft_track.jpg b/marble/data/interiors/custom_lft_track.jpg new file mode 100644 index 0000000..c2396e7 Binary files /dev/null and b/marble/data/interiors/custom_lft_track.jpg differ diff --git a/marble/data/interiors/custom_logend.jpg b/marble/data/interiors/custom_logend.jpg new file mode 100644 index 0000000..f4aaca8 Binary files /dev/null and b/marble/data/interiors/custom_logend.jpg differ diff --git a/marble/data/interiors/custom_logside.jpg b/marble/data/interiors/custom_logside.jpg new file mode 100644 index 0000000..054526b Binary files /dev/null and b/marble/data/interiors/custom_logside.jpg differ diff --git a/marble/data/interiors/custom_mid_track.jpg b/marble/data/interiors/custom_mid_track.jpg new file mode 100644 index 0000000..4cde57c Binary files /dev/null and b/marble/data/interiors/custom_mid_track.jpg differ diff --git a/marble/data/interiors/custom_parking.jpg b/marble/data/interiors/custom_parking.jpg new file mode 100644 index 0000000..787f900 Binary files /dev/null and b/marble/data/interiors/custom_parking.jpg differ diff --git a/marble/data/interiors/custom_red_brick.jpg b/marble/data/interiors/custom_red_brick.jpg new file mode 100644 index 0000000..94cf473 Binary files /dev/null and b/marble/data/interiors/custom_red_brick.jpg differ diff --git a/marble/data/interiors/custom_road.jpg b/marble/data/interiors/custom_road.jpg new file mode 100644 index 0000000..319977c Binary files /dev/null and b/marble/data/interiors/custom_road.jpg differ diff --git a/marble/data/interiors/custom_sand.jpg b/marble/data/interiors/custom_sand.jpg new file mode 100644 index 0000000..d43180c Binary files /dev/null and b/marble/data/interiors/custom_sand.jpg differ diff --git a/marble/data/interiors/custom_skyscrape2.jpg b/marble/data/interiors/custom_skyscrape2.jpg new file mode 100644 index 0000000..c17f97d Binary files /dev/null and b/marble/data/interiors/custom_skyscrape2.jpg differ diff --git a/marble/data/interiors/custom_water.jpg b/marble/data/interiors/custom_water.jpg new file mode 100644 index 0000000..4ad5dd0 Binary files /dev/null and b/marble/data/interiors/custom_water.jpg differ diff --git a/marble/data/interiors/custom_water_bttm.jpg b/marble/data/interiors/custom_water_bttm.jpg new file mode 100644 index 0000000..d4f4c49 Binary files /dev/null and b/marble/data/interiors/custom_water_bttm.jpg differ diff --git a/marble/data/interiors/custom_water_lft.jpg b/marble/data/interiors/custom_water_lft.jpg new file mode 100644 index 0000000..f590698 Binary files /dev/null and b/marble/data/interiors/custom_water_lft.jpg differ diff --git a/marble/data/interiors/custom_water_rte.jpg b/marble/data/interiors/custom_water_rte.jpg new file mode 100644 index 0000000..62812e0 Binary files /dev/null and b/marble/data/interiors/custom_water_rte.jpg differ diff --git a/marble/data/interiors/custom_water_top.jpg b/marble/data/interiors/custom_water_top.jpg new file mode 100644 index 0000000..f366550 Binary files /dev/null and b/marble/data/interiors/custom_water_top.jpg differ diff --git a/marble/data/interiors/custom_woodblockside.jpg b/marble/data/interiors/custom_woodblockside.jpg new file mode 100644 index 0000000..c0af2b2 Binary files /dev/null and b/marble/data/interiors/custom_woodblockside.jpg differ diff --git a/marble/data/interiors/custom_woodblocktop.jpg b/marble/data/interiors/custom_woodblocktop.jpg new file mode 100644 index 0000000..267e4b3 Binary files /dev/null and b/marble/data/interiors/custom_woodblocktop.jpg differ diff --git a/marble/data/interiors/custom_woodbox.jpg b/marble/data/interiors/custom_woodbox.jpg new file mode 100644 index 0000000..c5a163d Binary files /dev/null and b/marble/data/interiors/custom_woodbox.jpg differ diff --git a/marble/data/interiors/cyberspace1.jpg b/marble/data/interiors/cyberspace1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/cyberspace1.jpg differ diff --git a/marble/data/interiors/cyberspace2.jpg b/marble/data/interiors/cyberspace2.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/cyberspace2.jpg differ diff --git a/marble/data/interiors/cyberspace3.jpg b/marble/data/interiors/cyberspace3.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/cyberspace3.jpg differ diff --git a/marble/data/interiors/cyberspace4.jpg b/marble/data/interiors/cyberspace4.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/cyberspace4.jpg differ diff --git a/marble/data/interiors/cyberspace5.jpg b/marble/data/interiors/cyberspace5.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/cyberspace5.jpg differ diff --git a/marble/data/interiors/dark_brick1.jpg b/marble/data/interiors/dark_brick1.jpg new file mode 100644 index 0000000..1717272 Binary files /dev/null and b/marble/data/interiors/dark_brick1.jpg differ diff --git a/marble/data/interiors/darkpurple.jpg b/marble/data/interiors/darkpurple.jpg new file mode 100644 index 0000000..c77cf63 Binary files /dev/null and b/marble/data/interiors/darkpurple.jpg differ diff --git a/marble/data/interiors/design2.jpg b/marble/data/interiors/design2.jpg new file mode 100644 index 0000000..e47363d Binary files /dev/null and b/marble/data/interiors/design2.jpg differ diff --git a/marble/data/interiors/diamondsteel.jpg b/marble/data/interiors/diamondsteel.jpg new file mode 100644 index 0000000..363572e Binary files /dev/null and b/marble/data/interiors/diamondsteel.jpg differ diff --git a/marble/data/interiors/dirttrimblock.dif b/marble/data/interiors/dirttrimblock.dif new file mode 100644 index 0000000..731ff21 Binary files /dev/null and b/marble/data/interiors/dirttrimblock.dif differ diff --git a/marble/data/interiors/dirttrimwhite.png b/marble/data/interiors/dirttrimwhite.png new file mode 100644 index 0000000..33837f6 Binary files /dev/null and b/marble/data/interiors/dirttrimwhite.png differ diff --git a/marble/data/interiors/door01.jpg b/marble/data/interiors/door01.jpg new file mode 100644 index 0000000..ab9fccc Binary files /dev/null and b/marble/data/interiors/door01.jpg differ diff --git a/marble/data/interiors/drum1.jpg b/marble/data/interiors/drum1.jpg new file mode 100644 index 0000000..0f3d49d Binary files /dev/null and b/marble/data/interiors/drum1.jpg differ diff --git a/marble/data/interiors/drum2.jpg b/marble/data/interiors/drum2.jpg new file mode 100644 index 0000000..85c0e66 Binary files /dev/null and b/marble/data/interiors/drum2.jpg differ diff --git a/marble/data/interiors/edge_cool1.jpg b/marble/data/interiors/edge_cool1.jpg new file mode 100644 index 0000000..3e3e12d Binary files /dev/null and b/marble/data/interiors/edge_cool1.jpg differ diff --git a/marble/data/interiors/edge_cool2.jpg b/marble/data/interiors/edge_cool2.jpg new file mode 100644 index 0000000..19a5c97 Binary files /dev/null and b/marble/data/interiors/edge_cool2.jpg differ diff --git a/marble/data/interiors/edge_neutral1.jpg b/marble/data/interiors/edge_neutral1.jpg new file mode 100644 index 0000000..ef19e09 Binary files /dev/null and b/marble/data/interiors/edge_neutral1.jpg differ diff --git a/marble/data/interiors/edge_neutral2.jpg b/marble/data/interiors/edge_neutral2.jpg new file mode 100644 index 0000000..6910e73 Binary files /dev/null and b/marble/data/interiors/edge_neutral2.jpg differ diff --git a/marble/data/interiors/edge_warm1.jpg b/marble/data/interiors/edge_warm1.jpg new file mode 100644 index 0000000..887e334 Binary files /dev/null and b/marble/data/interiors/edge_warm1.jpg differ diff --git a/marble/data/interiors/edge_warm2.jpg b/marble/data/interiors/edge_warm2.jpg new file mode 100644 index 0000000..6bb6596 Binary files /dev/null and b/marble/data/interiors/edge_warm2.jpg differ diff --git a/marble/data/interiors/edge_white.jpg b/marble/data/interiors/edge_white.jpg new file mode 100644 index 0000000..09af962 Binary files /dev/null and b/marble/data/interiors/edge_white.jpg differ diff --git a/marble/data/interiors/edge_white2.jpg b/marble/data/interiors/edge_white2.jpg new file mode 100644 index 0000000..ee0697d Binary files /dev/null and b/marble/data/interiors/edge_white2.jpg differ diff --git a/marble/data/interiors/edge_white2.png b/marble/data/interiors/edge_white2.png new file mode 100644 index 0000000..c31d062 Binary files /dev/null and b/marble/data/interiors/edge_white2.png differ diff --git a/marble/data/interiors/edge_whiteII.png b/marble/data/interiors/edge_whiteII.png new file mode 100644 index 0000000..dc41638 Binary files /dev/null and b/marble/data/interiors/edge_whiteII.png differ diff --git a/marble/data/interiors/endbranch1.dif b/marble/data/interiors/endbranch1.dif new file mode 100644 index 0000000..fd92b29 Binary files /dev/null and b/marble/data/interiors/endbranch1.dif differ diff --git a/marble/data/interiors/endbranch2.dif b/marble/data/interiors/endbranch2.dif new file mode 100644 index 0000000..37434be Binary files /dev/null and b/marble/data/interiors/endbranch2.dif differ diff --git a/marble/data/interiors/endbranch3.dif b/marble/data/interiors/endbranch3.dif new file mode 100644 index 0000000..fd546c7 Binary files /dev/null and b/marble/data/interiors/endbranch3.dif differ diff --git a/marble/data/interiors/endbranch4.dif b/marble/data/interiors/endbranch4.dif new file mode 100644 index 0000000..8891ae9 Binary files /dev/null and b/marble/data/interiors/endbranch4.dif differ diff --git a/marble/data/interiors/endbranch5.dif b/marble/data/interiors/endbranch5.dif new file mode 100644 index 0000000..6e9bcdc Binary files /dev/null and b/marble/data/interiors/endbranch5.dif differ diff --git a/marble/data/interiors/expert/TightropeExtreme.dif b/marble/data/interiors/expert/TightropeExtreme.dif new file mode 100644 index 0000000..a61cfc9 Binary files /dev/null and b/marble/data/interiors/expert/TightropeExtreme.dif differ diff --git a/marble/data/interiors/expert/aids.dif b/marble/data/interiors/expert/aids.dif new file mode 100644 index 0000000..a935086 Binary files /dev/null and b/marble/data/interiors/expert/aids.dif differ diff --git a/marble/data/interiors/expert/mbp_BattlecubeFAll.dif b/marble/data/interiors/expert/mbp_BattlecubeFAll.dif new file mode 100644 index 0000000..72e0d94 Binary files /dev/null and b/marble/data/interiors/expert/mbp_BattlecubeFAll.dif differ diff --git a/marble/data/interiors/fish.jpg b/marble/data/interiors/fish.jpg new file mode 100644 index 0000000..6f3343a Binary files /dev/null and b/marble/data/interiors/fish.jpg differ diff --git a/marble/data/interiors/fling.JPG b/marble/data/interiors/fling.JPG new file mode 100644 index 0000000..f602c6e Binary files /dev/null and b/marble/data/interiors/fling.JPG differ diff --git a/marble/data/interiors/floor3.jpg b/marble/data/interiors/floor3.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/floor3.jpg differ diff --git a/marble/data/interiors/floor_bounce.jpg b/marble/data/interiors/floor_bounce.jpg new file mode 100644 index 0000000..b56c71e Binary files /dev/null and b/marble/data/interiors/floor_bounce.jpg differ diff --git a/marble/data/interiors/floor_bounce_high.jpg b/marble/data/interiors/floor_bounce_high.jpg new file mode 100644 index 0000000..4d79321 Binary files /dev/null and b/marble/data/interiors/floor_bounce_high.jpg differ diff --git a/marble/data/interiors/floor_bounce_low.jpg b/marble/data/interiors/floor_bounce_low.jpg new file mode 100644 index 0000000..b19d6f2 Binary files /dev/null and b/marble/data/interiors/floor_bounce_low.jpg differ diff --git a/marble/data/interiors/floor_bounce_very_high.jpg b/marble/data/interiors/floor_bounce_very_high.jpg new file mode 100644 index 0000000..d3d4c53 Binary files /dev/null and b/marble/data/interiors/floor_bounce_very_high.jpg differ diff --git a/marble/data/interiors/forcefield.jpg b/marble/data/interiors/forcefield.jpg new file mode 100644 index 0000000..33dcea2 Binary files /dev/null and b/marble/data/interiors/forcefield.jpg differ diff --git a/marble/data/interiors/forfun/L2R-HR8-hitwall.dif b/marble/data/interiors/forfun/L2R-HR8-hitwall.dif new file mode 100644 index 0000000..7ab8022 Binary files /dev/null and b/marble/data/interiors/forfun/L2R-HR8-hitwall.dif differ diff --git a/marble/data/interiors/forfun/L2R-shortcutweb.dif b/marble/data/interiors/forfun/L2R-shortcutweb.dif new file mode 100644 index 0000000..e0df494 Binary files /dev/null and b/marble/data/interiors/forfun/L2R-shortcutweb.dif differ diff --git a/marble/data/interiors/forfun/L2R_gravity.dif b/marble/data/interiors/forfun/L2R_gravity.dif new file mode 100644 index 0000000..6535303 Binary files /dev/null and b/marble/data/interiors/forfun/L2R_gravity.dif differ diff --git a/marble/data/interiors/forfun/hotwheels.dif b/marble/data/interiors/forfun/hotwheels.dif new file mode 100644 index 0000000..4054030 Binary files /dev/null and b/marble/data/interiors/forfun/hotwheels.dif differ diff --git a/marble/data/interiors/forfun/l2r-marbleswitch.dif b/marble/data/interiors/forfun/l2r-marbleswitch.dif new file mode 100644 index 0000000..b820877 Binary files /dev/null and b/marble/data/interiors/forfun/l2r-marbleswitch.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-helicopter.dif b/marble/data/interiors/forfun/learn2roll-helicopter.dif new file mode 100644 index 0000000..d472d28 Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-helicopter.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-hr1.dif b/marble/data/interiors/forfun/learn2roll-hr1.dif new file mode 100644 index 0000000..60ce4f3 Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-hr1.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-hr12.dif b/marble/data/interiors/forfun/learn2roll-hr12.dif new file mode 100644 index 0000000..6434425 Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-hr12.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-hr2.dif b/marble/data/interiors/forfun/learn2roll-hr2.dif new file mode 100644 index 0000000..6636f3e Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-hr2.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-hr3.dif b/marble/data/interiors/forfun/learn2roll-hr3.dif new file mode 100644 index 0000000..46ce7a3 Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-hr3.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-hr4.dif b/marble/data/interiors/forfun/learn2roll-hr4.dif new file mode 100644 index 0000000..943a859 Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-hr4.dif differ diff --git a/marble/data/interiors/forfun/learn2roll-hr5.dif b/marble/data/interiors/forfun/learn2roll-hr5.dif new file mode 100644 index 0000000..0d27821 Binary files /dev/null and b/marble/data/interiors/forfun/learn2roll-hr5.dif differ diff --git a/marble/data/interiors/forfun/room.dif b/marble/data/interiors/forfun/room.dif new file mode 100644 index 0000000..72b4a0b Binary files /dev/null and b/marble/data/interiors/forfun/room.dif differ diff --git a/marble/data/interiors/forfun/teleport.dif b/marble/data/interiors/forfun/teleport.dif new file mode 100644 index 0000000..ae8448c Binary files /dev/null and b/marble/data/interiors/forfun/teleport.dif differ diff --git a/marble/data/interiors/friction_high.jpg b/marble/data/interiors/friction_high.jpg new file mode 100644 index 0000000..d6162e4 Binary files /dev/null and b/marble/data/interiors/friction_high.jpg differ diff --git a/marble/data/interiors/friction_high2.jpg b/marble/data/interiors/friction_high2.jpg new file mode 100644 index 0000000..3e30839 Binary files /dev/null and b/marble/data/interiors/friction_high2.jpg differ diff --git a/marble/data/interiors/friction_low.jpg b/marble/data/interiors/friction_low.jpg new file mode 100644 index 0000000..0db6a15 Binary files /dev/null and b/marble/data/interiors/friction_low.jpg differ diff --git a/marble/data/interiors/friction_low2.jpg b/marble/data/interiors/friction_low2.jpg new file mode 100644 index 0000000..933ae02 Binary files /dev/null and b/marble/data/interiors/friction_low2.jpg differ diff --git a/marble/data/interiors/friction_none.jpg b/marble/data/interiors/friction_none.jpg new file mode 100644 index 0000000..04a813f Binary files /dev/null and b/marble/data/interiors/friction_none.jpg differ diff --git a/marble/data/interiors/friction_none.png b/marble/data/interiors/friction_none.png new file mode 100644 index 0000000..8f8a38f Binary files /dev/null and b/marble/data/interiors/friction_none.png differ diff --git a/marble/data/interiors/friction_none2.jpg b/marble/data/interiors/friction_none2.jpg new file mode 100644 index 0000000..36482e0 Binary files /dev/null and b/marble/data/interiors/friction_none2.jpg differ diff --git a/marble/data/interiors/friction_ramp_yellow - Copy.jpg b/marble/data/interiors/friction_ramp_yellow - Copy.jpg new file mode 100644 index 0000000..09d59bf Binary files /dev/null and b/marble/data/interiors/friction_ramp_yellow - Copy.jpg differ diff --git a/marble/data/interiors/friction_ramp_yellow.jpg b/marble/data/interiors/friction_ramp_yellow.jpg new file mode 100644 index 0000000..33999cb Binary files /dev/null and b/marble/data/interiors/friction_ramp_yellow.jpg differ diff --git a/marble/data/interiors/friction_ramp_yellow.png b/marble/data/interiors/friction_ramp_yellow.png new file mode 100644 index 0000000..46310e2 Binary files /dev/null and b/marble/data/interiors/friction_ramp_yellow.png differ diff --git a/marble/data/interiors/friction_ramp_yellow2.jpg b/marble/data/interiors/friction_ramp_yellow2.jpg new file mode 100644 index 0000000..c533207 Binary files /dev/null and b/marble/data/interiors/friction_ramp_yellow2.jpg differ diff --git a/marble/data/interiors/frontage035_n1.jpg b/marble/data/interiors/frontage035_n1.jpg new file mode 100644 index 0000000..0ab37c4 Binary files /dev/null and b/marble/data/interiors/frontage035_n1.jpg differ diff --git a/marble/data/interiors/frontage035_n2.jpg b/marble/data/interiors/frontage035_n2.jpg new file mode 100644 index 0000000..f516c2a Binary files /dev/null and b/marble/data/interiors/frontage035_n2.jpg differ diff --git a/marble/data/interiors/frontage035_n3.jpg b/marble/data/interiors/frontage035_n3.jpg new file mode 100644 index 0000000..3a66fe0 Binary files /dev/null and b/marble/data/interiors/frontage035_n3.jpg differ diff --git a/marble/data/interiors/frontage035_n4.jpg b/marble/data/interiors/frontage035_n4.jpg new file mode 100644 index 0000000..0ab2984 Binary files /dev/null and b/marble/data/interiors/frontage035_n4.jpg differ diff --git a/marble/data/interiors/frontage037.jpg b/marble/data/interiors/frontage037.jpg new file mode 100644 index 0000000..5922834 Binary files /dev/null and b/marble/data/interiors/frontage037.jpg differ diff --git a/marble/data/interiors/frontage037_n1.jpg b/marble/data/interiors/frontage037_n1.jpg new file mode 100644 index 0000000..f5132d9 Binary files /dev/null and b/marble/data/interiors/frontage037_n1.jpg differ diff --git a/marble/data/interiors/frontage037_n2.jpg b/marble/data/interiors/frontage037_n2.jpg new file mode 100644 index 0000000..dcad9d9 Binary files /dev/null and b/marble/data/interiors/frontage037_n2.jpg differ diff --git a/marble/data/interiors/frontage037_n3.jpg b/marble/data/interiors/frontage037_n3.jpg new file mode 100644 index 0000000..d084263 Binary files /dev/null and b/marble/data/interiors/frontage037_n3.jpg differ diff --git a/marble/data/interiors/frontage037_n4.jpg b/marble/data/interiors/frontage037_n4.jpg new file mode 100644 index 0000000..980b27f Binary files /dev/null and b/marble/data/interiors/frontage037_n4.jpg differ diff --git a/marble/data/interiors/granite.jpg b/marble/data/interiors/granite.jpg new file mode 100644 index 0000000..8354003 Binary files /dev/null and b/marble/data/interiors/granite.jpg differ diff --git a/marble/data/interiors/granite.png b/marble/data/interiors/granite.png new file mode 100644 index 0000000..b3234c6 Binary files /dev/null and b/marble/data/interiors/granite.png differ diff --git a/marble/data/interiors/granite_arch.jpg b/marble/data/interiors/granite_arch.jpg new file mode 100644 index 0000000..0901f9b Binary files /dev/null and b/marble/data/interiors/granite_arch.jpg differ diff --git a/marble/data/interiors/granite_dark.jpg b/marble/data/interiors/granite_dark.jpg new file mode 100644 index 0000000..638657c Binary files /dev/null and b/marble/data/interiors/granite_dark.jpg differ diff --git a/marble/data/interiors/granite_dark.png b/marble/data/interiors/granite_dark.png new file mode 100644 index 0000000..176c150 Binary files /dev/null and b/marble/data/interiors/granite_dark.png differ diff --git a/marble/data/interiors/granite_detail.jpg b/marble/data/interiors/granite_detail.jpg new file mode 100644 index 0000000..4748008 Binary files /dev/null and b/marble/data/interiors/granite_detail.jpg differ diff --git a/marble/data/interiors/granite_detail2.jpg b/marble/data/interiors/granite_detail2.jpg new file mode 100644 index 0000000..cf7e3bb Binary files /dev/null and b/marble/data/interiors/granite_detail2.jpg differ diff --git a/marble/data/interiors/granite_detail3.jpg b/marble/data/interiors/granite_detail3.jpg new file mode 100644 index 0000000..eba6574 Binary files /dev/null and b/marble/data/interiors/granite_detail3.jpg differ diff --git a/marble/data/interiors/granite_tile.jpg b/marble/data/interiors/granite_tile.jpg new file mode 100644 index 0000000..2a62cd1 Binary files /dev/null and b/marble/data/interiors/granite_tile.jpg differ diff --git a/marble/data/interiors/granite_tile2.jpg b/marble/data/interiors/granite_tile2.jpg new file mode 100644 index 0000000..c9f4ff0 Binary files /dev/null and b/marble/data/interiors/granite_tile2.jpg differ diff --git a/marble/data/interiors/granite_tile3.jpg b/marble/data/interiors/granite_tile3.jpg new file mode 100644 index 0000000..df13e1a Binary files /dev/null and b/marble/data/interiors/granite_tile3.jpg differ diff --git a/marble/data/interiors/grass.jpg b/marble/data/interiors/grass.jpg new file mode 100644 index 0000000..b6eab31 Binary files /dev/null and b/marble/data/interiors/grass.jpg differ diff --git a/marble/data/interiors/grass1.dif b/marble/data/interiors/grass1.dif new file mode 100644 index 0000000..2d040cf Binary files /dev/null and b/marble/data/interiors/grass1.dif differ diff --git a/marble/data/interiors/grass1.jpg b/marble/data/interiors/grass1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/grass1.jpg differ diff --git a/marble/data/interiors/grass2.dif b/marble/data/interiors/grass2.dif new file mode 100644 index 0000000..e6e18e4 Binary files /dev/null and b/marble/data/interiors/grass2.dif differ diff --git a/marble/data/interiors/grass3.dif b/marble/data/interiors/grass3.dif new file mode 100644 index 0000000..7d51803 Binary files /dev/null and b/marble/data/interiors/grass3.dif differ diff --git a/marble/data/interiors/grass4.dif b/marble/data/interiors/grass4.dif new file mode 100644 index 0000000..6a07ad7 Binary files /dev/null and b/marble/data/interiors/grass4.dif differ diff --git a/marble/data/interiors/grass_3x3.dif b/marble/data/interiors/grass_3x3.dif new file mode 100644 index 0000000..80e9d8f Binary files /dev/null and b/marble/data/interiors/grass_3x3.dif differ diff --git a/marble/data/interiors/grass_border_strait.jpg b/marble/data/interiors/grass_border_strait.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/grass_border_strait.jpg differ diff --git a/marble/data/interiors/grassbox.dif b/marble/data/interiors/grassbox.dif new file mode 100644 index 0000000..fbdeaca Binary files /dev/null and b/marble/data/interiors/grassbox.dif differ diff --git a/marble/data/interiors/graveStone.jpg b/marble/data/interiors/graveStone.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/graveStone.jpg differ diff --git a/marble/data/interiors/graveStoneText.jpg b/marble/data/interiors/graveStoneText.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/graveStoneText.jpg differ diff --git a/marble/data/interiors/graystone1.jpg b/marble/data/interiors/graystone1.jpg new file mode 100644 index 0000000..63211e2 Binary files /dev/null and b/marble/data/interiors/graystone1.jpg differ diff --git a/marble/data/interiors/graystone1.png b/marble/data/interiors/graystone1.png new file mode 100644 index 0000000..ff0ffdd Binary files /dev/null and b/marble/data/interiors/graystone1.png differ diff --git a/marble/data/interiors/graystone2.jpg b/marble/data/interiors/graystone2.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/graystone2.jpg differ diff --git a/marble/data/interiors/graywithblackdots.jpg b/marble/data/interiors/graywithblackdots.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/graywithblackdots.jpg differ diff --git a/marble/data/interiors/green.jpg b/marble/data/interiors/green.jpg new file mode 100644 index 0000000..2f42726 Binary files /dev/null and b/marble/data/interiors/green.jpg differ diff --git a/marble/data/interiors/green1.png b/marble/data/interiors/green1.png new file mode 100644 index 0000000..1c45ec0 Binary files /dev/null and b/marble/data/interiors/green1.png differ diff --git a/marble/data/interiors/green2.PNG b/marble/data/interiors/green2.PNG new file mode 100644 index 0000000..fdc2fe3 Binary files /dev/null and b/marble/data/interiors/green2.PNG differ diff --git a/marble/data/interiors/green2_3x3.dif b/marble/data/interiors/green2_3x3.dif new file mode 100644 index 0000000..7c10ec9 Binary files /dev/null and b/marble/data/interiors/green2_3x3.dif differ diff --git a/marble/data/interiors/green3.PNG b/marble/data/interiors/green3.PNG new file mode 100644 index 0000000..930fd04 Binary files /dev/null and b/marble/data/interiors/green3.PNG differ diff --git a/marble/data/interiors/green4.png b/marble/data/interiors/green4.png new file mode 100644 index 0000000..d825177 Binary files /dev/null and b/marble/data/interiors/green4.png differ diff --git a/marble/data/interiors/green_10x10.dif b/marble/data/interiors/green_10x10.dif new file mode 100644 index 0000000..e4e06b8 Binary files /dev/null and b/marble/data/interiors/green_10x10.dif differ diff --git a/marble/data/interiors/green_1x1.dif b/marble/data/interiors/green_1x1.dif new file mode 100644 index 0000000..729b867 Binary files /dev/null and b/marble/data/interiors/green_1x1.dif differ diff --git a/marble/data/interiors/green_2x2.dif b/marble/data/interiors/green_2x2.dif new file mode 100644 index 0000000..0084c47 Binary files /dev/null and b/marble/data/interiors/green_2x2.dif differ diff --git a/marble/data/interiors/green_3x3.dif b/marble/data/interiors/green_3x3.dif new file mode 100644 index 0000000..06841d5 Binary files /dev/null and b/marble/data/interiors/green_3x3.dif differ diff --git a/marble/data/interiors/greenball.jpg b/marble/data/interiors/greenball.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/greenball.jpg differ diff --git a/marble/data/interiors/greenleaves.jpg b/marble/data/interiors/greenleaves.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/greenleaves.jpg differ diff --git a/marble/data/interiors/greenspine.jpg b/marble/data/interiors/greenspine.jpg new file mode 100644 index 0000000..29ac280 Binary files /dev/null and b/marble/data/interiors/greenspine.jpg differ diff --git a/marble/data/interiors/greenswirl1.jpg b/marble/data/interiors/greenswirl1.jpg new file mode 100644 index 0000000..a77a061 Binary files /dev/null and b/marble/data/interiors/greenswirl1.jpg differ diff --git a/marble/data/interiors/grey.jpg b/marble/data/interiors/grey.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/grey.jpg differ diff --git a/marble/data/interiors/grid_X.png b/marble/data/interiors/grid_X.png new file mode 100644 index 0000000..2ce1ec6 Binary files /dev/null and b/marble/data/interiors/grid_X.png differ diff --git a/marble/data/interiors/grid_blue.jpg b/marble/data/interiors/grid_blue.jpg new file mode 100644 index 0000000..5099c9c Binary files /dev/null and b/marble/data/interiors/grid_blue.jpg differ diff --git a/marble/data/interiors/grid_blue1.png b/marble/data/interiors/grid_blue1.png new file mode 100644 index 0000000..c0442e3 Binary files /dev/null and b/marble/data/interiors/grid_blue1.png differ diff --git a/marble/data/interiors/grid_blue2.png b/marble/data/interiors/grid_blue2.png new file mode 100644 index 0000000..d2fc257 Binary files /dev/null and b/marble/data/interiors/grid_blue2.png differ diff --git a/marble/data/interiors/grid_blue3.png b/marble/data/interiors/grid_blue3.png new file mode 100644 index 0000000..09f2321 Binary files /dev/null and b/marble/data/interiors/grid_blue3.png differ diff --git a/marble/data/interiors/grid_blue4.png b/marble/data/interiors/grid_blue4.png new file mode 100644 index 0000000..14b3748 Binary files /dev/null and b/marble/data/interiors/grid_blue4.png differ diff --git a/marble/data/interiors/grid_brown1.png b/marble/data/interiors/grid_brown1.png new file mode 100644 index 0000000..8741fd8 Binary files /dev/null and b/marble/data/interiors/grid_brown1.png differ diff --git a/marble/data/interiors/grid_circle.jpg b/marble/data/interiors/grid_circle.jpg new file mode 100644 index 0000000..2f62a16 Binary files /dev/null and b/marble/data/interiors/grid_circle.jpg differ diff --git a/marble/data/interiors/grid_cool.jpg b/marble/data/interiors/grid_cool.jpg new file mode 100644 index 0000000..bd3507b Binary files /dev/null and b/marble/data/interiors/grid_cool.jpg differ diff --git a/marble/data/interiors/grid_cool2.jpg b/marble/data/interiors/grid_cool2.jpg new file mode 100644 index 0000000..44266ca Binary files /dev/null and b/marble/data/interiors/grid_cool2.jpg differ diff --git a/marble/data/interiors/grid_cool3.jpg b/marble/data/interiors/grid_cool3.jpg new file mode 100644 index 0000000..559b293 Binary files /dev/null and b/marble/data/interiors/grid_cool3.jpg differ diff --git a/marble/data/interiors/grid_cool4.jpg b/marble/data/interiors/grid_cool4.jpg new file mode 100644 index 0000000..f7277d6 Binary files /dev/null and b/marble/data/interiors/grid_cool4.jpg differ diff --git a/marble/data/interiors/grid_coolI.png b/marble/data/interiors/grid_coolI.png new file mode 100644 index 0000000..8b14c31 Binary files /dev/null and b/marble/data/interiors/grid_coolI.png differ diff --git a/marble/data/interiors/grid_coolII.png b/marble/data/interiors/grid_coolII.png new file mode 100644 index 0000000..036dbc9 Binary files /dev/null and b/marble/data/interiors/grid_coolII.png differ diff --git a/marble/data/interiors/grid_green1.png b/marble/data/interiors/grid_green1.png new file mode 100644 index 0000000..3dfac7d Binary files /dev/null and b/marble/data/interiors/grid_green1.png differ diff --git a/marble/data/interiors/grid_green2.png b/marble/data/interiors/grid_green2.png new file mode 100644 index 0000000..3b7039f Binary files /dev/null and b/marble/data/interiors/grid_green2.png differ diff --git a/marble/data/interiors/grid_green3.png b/marble/data/interiors/grid_green3.png new file mode 100644 index 0000000..4b90b1d Binary files /dev/null and b/marble/data/interiors/grid_green3.png differ diff --git a/marble/data/interiors/grid_green4.png b/marble/data/interiors/grid_green4.png new file mode 100644 index 0000000..81ab50e Binary files /dev/null and b/marble/data/interiors/grid_green4.png differ diff --git a/marble/data/interiors/grid_light_blue.jpg b/marble/data/interiors/grid_light_blue.jpg new file mode 100644 index 0000000..e85abc5 Binary files /dev/null and b/marble/data/interiors/grid_light_blue.jpg differ diff --git a/marble/data/interiors/grid_mbublue.jpg b/marble/data/interiors/grid_mbublue.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/grid_mbublue.jpg differ diff --git a/marble/data/interiors/grid_neutral.jpg b/marble/data/interiors/grid_neutral.jpg new file mode 100644 index 0000000..e93c232 Binary files /dev/null and b/marble/data/interiors/grid_neutral.jpg differ diff --git a/marble/data/interiors/grid_neutral1.jpg b/marble/data/interiors/grid_neutral1.jpg new file mode 100644 index 0000000..e8a0332 Binary files /dev/null and b/marble/data/interiors/grid_neutral1.jpg differ diff --git a/marble/data/interiors/grid_neutral1.png b/marble/data/interiors/grid_neutral1.png new file mode 100644 index 0000000..d7c7135 Binary files /dev/null and b/marble/data/interiors/grid_neutral1.png differ diff --git a/marble/data/interiors/grid_neutral1_1x1.dif b/marble/data/interiors/grid_neutral1_1x1.dif new file mode 100644 index 0000000..39c7b70 Binary files /dev/null and b/marble/data/interiors/grid_neutral1_1x1.dif differ diff --git a/marble/data/interiors/grid_neutral1_3x3.dif b/marble/data/interiors/grid_neutral1_3x3.dif new file mode 100644 index 0000000..2cbf966 Binary files /dev/null and b/marble/data/interiors/grid_neutral1_3x3.dif differ diff --git a/marble/data/interiors/grid_neutral1_5x5.dif b/marble/data/interiors/grid_neutral1_5x5.dif new file mode 100644 index 0000000..7ce8c9d Binary files /dev/null and b/marble/data/interiors/grid_neutral1_5x5.dif differ diff --git a/marble/data/interiors/grid_neutral2.jpg b/marble/data/interiors/grid_neutral2.jpg new file mode 100644 index 0000000..1b543a6 Binary files /dev/null and b/marble/data/interiors/grid_neutral2.jpg differ diff --git a/marble/data/interiors/grid_neutral3.jpg b/marble/data/interiors/grid_neutral3.jpg new file mode 100644 index 0000000..fdc2d5c Binary files /dev/null and b/marble/data/interiors/grid_neutral3.jpg differ diff --git a/marble/data/interiors/grid_neutral4.jpg b/marble/data/interiors/grid_neutral4.jpg new file mode 100644 index 0000000..fe0aac3 Binary files /dev/null and b/marble/data/interiors/grid_neutral4.jpg differ diff --git a/marble/data/interiors/grid_neutral4_1x1.dif b/marble/data/interiors/grid_neutral4_1x1.dif new file mode 100644 index 0000000..9d36317 Binary files /dev/null and b/marble/data/interiors/grid_neutral4_1x1.dif differ diff --git a/marble/data/interiors/grid_neutral4_3x3.dif b/marble/data/interiors/grid_neutral4_3x3.dif new file mode 100644 index 0000000..d8970ba Binary files /dev/null and b/marble/data/interiors/grid_neutral4_3x3.dif differ diff --git a/marble/data/interiors/grid_neutral4_5x5.dif b/marble/data/interiors/grid_neutral4_5x5.dif new file mode 100644 index 0000000..dc2adf8 Binary files /dev/null and b/marble/data/interiors/grid_neutral4_5x5.dif differ diff --git a/marble/data/interiors/grid_new1.jpg b/marble/data/interiors/grid_new1.jpg new file mode 100644 index 0000000..6745392 Binary files /dev/null and b/marble/data/interiors/grid_new1.jpg differ diff --git a/marble/data/interiors/grid_new2.jpg b/marble/data/interiors/grid_new2.jpg new file mode 100644 index 0000000..57ce28f Binary files /dev/null and b/marble/data/interiors/grid_new2.jpg differ diff --git a/marble/data/interiors/grid_new3.jpg b/marble/data/interiors/grid_new3.jpg new file mode 100644 index 0000000..48d75ab Binary files /dev/null and b/marble/data/interiors/grid_new3.jpg differ diff --git a/marble/data/interiors/grid_new4.jpg b/marble/data/interiors/grid_new4.jpg new file mode 100644 index 0000000..5568bf6 Binary files /dev/null and b/marble/data/interiors/grid_new4.jpg differ diff --git a/marble/data/interiors/grid_ob_mix.JPG b/marble/data/interiors/grid_ob_mix.JPG new file mode 100644 index 0000000..c19740b Binary files /dev/null and b/marble/data/interiors/grid_ob_mix.JPG differ diff --git a/marble/data/interiors/grid_orange.jpg b/marble/data/interiors/grid_orange.jpg new file mode 100644 index 0000000..0431af2 Binary files /dev/null and b/marble/data/interiors/grid_orange.jpg differ diff --git a/marble/data/interiors/grid_pink1.png b/marble/data/interiors/grid_pink1.png new file mode 100644 index 0000000..28dfd70 Binary files /dev/null and b/marble/data/interiors/grid_pink1.png differ diff --git a/marble/data/interiors/grid_pink2.png b/marble/data/interiors/grid_pink2.png new file mode 100644 index 0000000..96debcd Binary files /dev/null and b/marble/data/interiors/grid_pink2.png differ diff --git a/marble/data/interiors/grid_plain1.jpg b/marble/data/interiors/grid_plain1.jpg new file mode 100644 index 0000000..f153d66 Binary files /dev/null and b/marble/data/interiors/grid_plain1.jpg differ diff --git a/marble/data/interiors/grid_plain2.jpg b/marble/data/interiors/grid_plain2.jpg new file mode 100644 index 0000000..c64bef7 Binary files /dev/null and b/marble/data/interiors/grid_plain2.jpg differ diff --git a/marble/data/interiors/grid_plain_multi.jpg b/marble/data/interiors/grid_plain_multi.jpg new file mode 100644 index 0000000..9bcdae6 Binary files /dev/null and b/marble/data/interiors/grid_plain_multi.jpg differ diff --git a/marble/data/interiors/grid_plus.png b/marble/data/interiors/grid_plus.png new file mode 100644 index 0000000..09f716d Binary files /dev/null and b/marble/data/interiors/grid_plus.png differ diff --git a/marble/data/interiors/grid_purple1.png b/marble/data/interiors/grid_purple1.png new file mode 100644 index 0000000..fcb0414 Binary files /dev/null and b/marble/data/interiors/grid_purple1.png differ diff --git a/marble/data/interiors/grid_purple2.png b/marble/data/interiors/grid_purple2.png new file mode 100644 index 0000000..9367ddf Binary files /dev/null and b/marble/data/interiors/grid_purple2.png differ diff --git a/marble/data/interiors/grid_purple3.png b/marble/data/interiors/grid_purple3.png new file mode 100644 index 0000000..4895114 Binary files /dev/null and b/marble/data/interiors/grid_purple3.png differ diff --git a/marble/data/interiors/grid_purple4.png b/marble/data/interiors/grid_purple4.png new file mode 100644 index 0000000..58b3114 Binary files /dev/null and b/marble/data/interiors/grid_purple4.png differ diff --git a/marble/data/interiors/grid_red1.png b/marble/data/interiors/grid_red1.png new file mode 100644 index 0000000..876b03e Binary files /dev/null and b/marble/data/interiors/grid_red1.png differ diff --git a/marble/data/interiors/grid_red2.png b/marble/data/interiors/grid_red2.png new file mode 100644 index 0000000..41daf9a Binary files /dev/null and b/marble/data/interiors/grid_red2.png differ diff --git a/marble/data/interiors/grid_red3.png b/marble/data/interiors/grid_red3.png new file mode 100644 index 0000000..9ee3175 Binary files /dev/null and b/marble/data/interiors/grid_red3.png differ diff --git a/marble/data/interiors/grid_red4.png b/marble/data/interiors/grid_red4.png new file mode 100644 index 0000000..f12c14e Binary files /dev/null and b/marble/data/interiors/grid_red4.png differ diff --git a/marble/data/interiors/grid_steel.png b/marble/data/interiors/grid_steel.png new file mode 100644 index 0000000..f29a426 Binary files /dev/null and b/marble/data/interiors/grid_steel.png differ diff --git a/marble/data/interiors/grid_turquoise1.png b/marble/data/interiors/grid_turquoise1.png new file mode 100644 index 0000000..182e2c3 Binary files /dev/null and b/marble/data/interiors/grid_turquoise1.png differ diff --git a/marble/data/interiors/grid_turquoise2.png b/marble/data/interiors/grid_turquoise2.png new file mode 100644 index 0000000..68b3388 Binary files /dev/null and b/marble/data/interiors/grid_turquoise2.png differ diff --git a/marble/data/interiors/grid_warm.jpg b/marble/data/interiors/grid_warm.jpg new file mode 100644 index 0000000..083afb7 Binary files /dev/null and b/marble/data/interiors/grid_warm.jpg differ diff --git a/marble/data/interiors/grid_warm1.jpg b/marble/data/interiors/grid_warm1.jpg new file mode 100644 index 0000000..b2fb4af Binary files /dev/null and b/marble/data/interiors/grid_warm1.jpg differ diff --git a/marble/data/interiors/grid_warm1.png b/marble/data/interiors/grid_warm1.png new file mode 100644 index 0000000..7fc094d Binary files /dev/null and b/marble/data/interiors/grid_warm1.png differ diff --git a/marble/data/interiors/grid_warm2.jpg b/marble/data/interiors/grid_warm2.jpg new file mode 100644 index 0000000..130b540 Binary files /dev/null and b/marble/data/interiors/grid_warm2.jpg differ diff --git a/marble/data/interiors/grid_warm3.jpg b/marble/data/interiors/grid_warm3.jpg new file mode 100644 index 0000000..8a55721 Binary files /dev/null and b/marble/data/interiors/grid_warm3.jpg differ diff --git a/marble/data/interiors/grid_warm4.jpg b/marble/data/interiors/grid_warm4.jpg new file mode 100644 index 0000000..dfe45db Binary files /dev/null and b/marble/data/interiors/grid_warm4.jpg differ diff --git a/marble/data/interiors/grid_warm5.jpg b/marble/data/interiors/grid_warm5.jpg new file mode 100644 index 0000000..aa9b64f Binary files /dev/null and b/marble/data/interiors/grid_warm5.jpg differ diff --git a/marble/data/interiors/grid_yellow1.png b/marble/data/interiors/grid_yellow1.png new file mode 100644 index 0000000..ff4a330 Binary files /dev/null and b/marble/data/interiors/grid_yellow1.png differ diff --git a/marble/data/interiors/grid_yellow2.png b/marble/data/interiors/grid_yellow2.png new file mode 100644 index 0000000..9e9f734 Binary files /dev/null and b/marble/data/interiors/grid_yellow2.png differ diff --git a/marble/data/interiors/grid_yellow3.png b/marble/data/interiors/grid_yellow3.png new file mode 100644 index 0000000..9e9f734 Binary files /dev/null and b/marble/data/interiors/grid_yellow3.png differ diff --git a/marble/data/interiors/grnspineH.jpg b/marble/data/interiors/grnspineH.jpg new file mode 100644 index 0000000..cd23cb4 Binary files /dev/null and b/marble/data/interiors/grnspineH.jpg differ diff --git a/marble/data/interiors/half-pipe0.dif b/marble/data/interiors/half-pipe0.dif new file mode 100644 index 0000000..ce2ddbb Binary files /dev/null and b/marble/data/interiors/half-pipe0.dif differ diff --git a/marble/data/interiors/half-pipe2.dif b/marble/data/interiors/half-pipe2.dif new file mode 100644 index 0000000..262b739 Binary files /dev/null and b/marble/data/interiors/half-pipe2.dif differ diff --git a/marble/data/interiors/halftube_long.dif b/marble/data/interiors/halftube_long.dif new file mode 100644 index 0000000..be6504f Binary files /dev/null and b/marble/data/interiors/halftube_long.dif differ diff --git a/marble/data/interiors/hot1_1x1.dif b/marble/data/interiors/hot1_1x1.dif new file mode 100644 index 0000000..b62987a Binary files /dev/null and b/marble/data/interiors/hot1_1x1.dif differ diff --git a/marble/data/interiors/hot1_3x3.dif b/marble/data/interiors/hot1_3x3.dif new file mode 100644 index 0000000..63faa66 Binary files /dev/null and b/marble/data/interiors/hot1_3x3.dif differ diff --git a/marble/data/interiors/hot1_5x5.dif b/marble/data/interiors/hot1_5x5.dif new file mode 100644 index 0000000..20512e0 Binary files /dev/null and b/marble/data/interiors/hot1_5x5.dif differ diff --git a/marble/data/interiors/hot2_1x1.dif b/marble/data/interiors/hot2_1x1.dif new file mode 100644 index 0000000..caca426 Binary files /dev/null and b/marble/data/interiors/hot2_1x1.dif differ diff --git a/marble/data/interiors/hot2_3x3.dif b/marble/data/interiors/hot2_3x3.dif new file mode 100644 index 0000000..5a07bd0 Binary files /dev/null and b/marble/data/interiors/hot2_3x3.dif differ diff --git a/marble/data/interiors/hot2_5x5.dif b/marble/data/interiors/hot2_5x5.dif new file mode 100644 index 0000000..4a0afe6 Binary files /dev/null and b/marble/data/interiors/hot2_5x5.dif differ diff --git a/marble/data/interiors/hot3_1x1.dif b/marble/data/interiors/hot3_1x1.dif new file mode 100644 index 0000000..38c8bbc Binary files /dev/null and b/marble/data/interiors/hot3_1x1.dif differ diff --git a/marble/data/interiors/hot3_3x3.dif b/marble/data/interiors/hot3_3x3.dif new file mode 100644 index 0000000..4f2b479 Binary files /dev/null and b/marble/data/interiors/hot3_3x3.dif differ diff --git a/marble/data/interiors/hot3_5x5.dif b/marble/data/interiors/hot3_5x5.dif new file mode 100644 index 0000000..eb35b02 Binary files /dev/null and b/marble/data/interiors/hot3_5x5.dif differ diff --git a/marble/data/interiors/hot4_1x1.dif b/marble/data/interiors/hot4_1x1.dif new file mode 100644 index 0000000..612d93b Binary files /dev/null and b/marble/data/interiors/hot4_1x1.dif differ diff --git a/marble/data/interiors/hot4_3x3.dif b/marble/data/interiors/hot4_3x3.dif new file mode 100644 index 0000000..ecb2408 Binary files /dev/null and b/marble/data/interiors/hot4_3x3.dif differ diff --git a/marble/data/interiors/hot4_5x5.dif b/marble/data/interiors/hot4_5x5.dif new file mode 100644 index 0000000..3a6e46b Binary files /dev/null and b/marble/data/interiors/hot4_5x5.dif differ diff --git a/marble/data/interiors/hot5_1x1.dif b/marble/data/interiors/hot5_1x1.dif new file mode 100644 index 0000000..b5f072c Binary files /dev/null and b/marble/data/interiors/hot5_1x1.dif differ diff --git a/marble/data/interiors/hot5_3x3.dif b/marble/data/interiors/hot5_3x3.dif new file mode 100644 index 0000000..db298ee Binary files /dev/null and b/marble/data/interiors/hot5_3x3.dif differ diff --git a/marble/data/interiors/hot5_5x5.dif b/marble/data/interiors/hot5_5x5.dif new file mode 100644 index 0000000..f9e4a14 Binary files /dev/null and b/marble/data/interiors/hot5_5x5.dif differ diff --git a/marble/data/interiors/hrdream-blue.jpg b/marble/data/interiors/hrdream-blue.jpg new file mode 100644 index 0000000..be03f05 Binary files /dev/null and b/marble/data/interiors/hrdream-blue.jpg differ diff --git a/marble/data/interiors/hrdream-green.jpg b/marble/data/interiors/hrdream-green.jpg new file mode 100644 index 0000000..59fbd05 Binary files /dev/null and b/marble/data/interiors/hrdream-green.jpg differ diff --git a/marble/data/interiors/hyroglyphs_1.jpg b/marble/data/interiors/hyroglyphs_1.jpg new file mode 100644 index 0000000..ad17efa Binary files /dev/null and b/marble/data/interiors/hyroglyphs_1.jpg differ diff --git a/marble/data/interiors/hyroglyphs_2.jpg b/marble/data/interiors/hyroglyphs_2.jpg new file mode 100644 index 0000000..da5c85c Binary files /dev/null and b/marble/data/interiors/hyroglyphs_2.jpg differ diff --git a/marble/data/interiors/ice1.jpg b/marble/data/interiors/ice1.jpg new file mode 100644 index 0000000..b7dd8c4 Binary files /dev/null and b/marble/data/interiors/ice1.jpg differ diff --git a/marble/data/interiors/ice15angle.dif b/marble/data/interiors/ice15angle.dif new file mode 100644 index 0000000..abc3f6c Binary files /dev/null and b/marble/data/interiors/ice15angle.dif differ diff --git a/marble/data/interiors/ice15angle1.dif b/marble/data/interiors/ice15angle1.dif new file mode 100644 index 0000000..abc3f6c Binary files /dev/null and b/marble/data/interiors/ice15angle1.dif differ diff --git a/marble/data/interiors/ice15angle2.dif b/marble/data/interiors/ice15angle2.dif new file mode 100644 index 0000000..8c5c585 Binary files /dev/null and b/marble/data/interiors/ice15angle2.dif differ diff --git a/marble/data/interiors/ice30angle.dif b/marble/data/interiors/ice30angle.dif new file mode 100644 index 0000000..180d028 Binary files /dev/null and b/marble/data/interiors/ice30angle.dif differ diff --git a/marble/data/interiors/ice30angle1.dif b/marble/data/interiors/ice30angle1.dif new file mode 100644 index 0000000..180d028 Binary files /dev/null and b/marble/data/interiors/ice30angle1.dif differ diff --git a/marble/data/interiors/ice30angle2.dif b/marble/data/interiors/ice30angle2.dif new file mode 100644 index 0000000..faff69a Binary files /dev/null and b/marble/data/interiors/ice30angle2.dif differ diff --git a/marble/data/interiors/ice_10x10_pyramid.dif b/marble/data/interiors/ice_10x10_pyramid.dif new file mode 100644 index 0000000..3a4d5bb Binary files /dev/null and b/marble/data/interiors/ice_10x10_pyramid.dif differ diff --git a/marble/data/interiors/ice_1x1.dif b/marble/data/interiors/ice_1x1.dif new file mode 100644 index 0000000..dcef874 Binary files /dev/null and b/marble/data/interiors/ice_1x1.dif differ diff --git a/marble/data/interiors/ice_1x1_triangle.dif b/marble/data/interiors/ice_1x1_triangle.dif new file mode 100644 index 0000000..b12526f Binary files /dev/null and b/marble/data/interiors/ice_1x1_triangle.dif differ diff --git a/marble/data/interiors/ice_1x2.dif b/marble/data/interiors/ice_1x2.dif new file mode 100644 index 0000000..eb8411b Binary files /dev/null and b/marble/data/interiors/ice_1x2.dif differ diff --git a/marble/data/interiors/ice_1x3.dif b/marble/data/interiors/ice_1x3.dif new file mode 100644 index 0000000..adc8dd6 Binary files /dev/null and b/marble/data/interiors/ice_1x3.dif differ diff --git a/marble/data/interiors/ice_25x25_pyramid.dif b/marble/data/interiors/ice_25x25_pyramid.dif new file mode 100644 index 0000000..a8458f9 Binary files /dev/null and b/marble/data/interiors/ice_25x25_pyramid.dif differ diff --git a/marble/data/interiors/ice_2x2.dif b/marble/data/interiors/ice_2x2.dif new file mode 100644 index 0000000..fa90463 Binary files /dev/null and b/marble/data/interiors/ice_2x2.dif differ diff --git a/marble/data/interiors/ice_3x3.dif b/marble/data/interiors/ice_3x3.dif new file mode 100644 index 0000000..c7b8d71 Binary files /dev/null and b/marble/data/interiors/ice_3x3.dif differ diff --git a/marble/data/interiors/ice_5x5_pyramid.dif b/marble/data/interiors/ice_5x5_pyramid.dif new file mode 100644 index 0000000..dc26bcd Binary files /dev/null and b/marble/data/interiors/ice_5x5_pyramid.dif differ diff --git a/marble/data/interiors/ice_platform.dif b/marble/data/interiors/ice_platform.dif new file mode 100644 index 0000000..b627e66 Binary files /dev/null and b/marble/data/interiors/ice_platform.dif differ diff --git a/marble/data/interiors/ice_tube.dif b/marble/data/interiors/ice_tube.dif new file mode 100644 index 0000000..6782450 Binary files /dev/null and b/marble/data/interiors/ice_tube.dif differ diff --git a/marble/data/interiors/id1/e1m1.dif b/marble/data/interiors/id1/e1m1.dif new file mode 100644 index 0000000..bfb8ea8 Binary files /dev/null and b/marble/data/interiors/id1/e1m1.dif differ diff --git a/marble/data/interiors/idphil1.dif b/marble/data/interiors/idphil1.dif new file mode 100644 index 0000000..ecf82a7 Binary files /dev/null and b/marble/data/interiors/idphil1.dif differ diff --git a/marble/data/interiors/idphil2.dif b/marble/data/interiors/idphil2.dif new file mode 100644 index 0000000..3807a16 Binary files /dev/null and b/marble/data/interiors/idphil2.dif differ diff --git a/marble/data/interiors/idphil3.dif b/marble/data/interiors/idphil3.dif new file mode 100644 index 0000000..4619834 Binary files /dev/null and b/marble/data/interiors/idphil3.dif differ diff --git a/marble/data/interiors/intermediate/aroundtheworld.dif b/marble/data/interiors/intermediate/aroundtheworld.dif new file mode 100644 index 0000000..d53e3b6 Binary files /dev/null and b/marble/data/interiors/intermediate/aroundtheworld.dif differ diff --git a/marble/data/interiors/intermediate/compass_points.dif b/marble/data/interiors/intermediate/compass_points.dif new file mode 100644 index 0000000..ddbfc54 Binary files /dev/null and b/marble/data/interiors/intermediate/compass_points.dif differ diff --git a/marble/data/interiors/intermediate/dancinggreen.dif b/marble/data/interiors/intermediate/dancinggreen.dif new file mode 100644 index 0000000..4251bf1 Binary files /dev/null and b/marble/data/interiors/intermediate/dancinggreen.dif differ diff --git a/marble/data/interiors/intermediate/fan_lift.dif b/marble/data/interiors/intermediate/fan_lift.dif new file mode 100644 index 0000000..a890c83 Binary files /dev/null and b/marble/data/interiors/intermediate/fan_lift.dif differ diff --git a/marble/data/interiors/intermediate/gauntlet.dif b/marble/data/interiors/intermediate/gauntlet.dif new file mode 100644 index 0000000..917997c Binary files /dev/null and b/marble/data/interiors/intermediate/gauntlet.dif differ diff --git a/marble/data/interiors/intermediate/greatdivide.dif b/marble/data/interiors/intermediate/greatdivide.dif new file mode 100644 index 0000000..80ad60c Binary files /dev/null and b/marble/data/interiors/intermediate/greatdivide.dif differ diff --git a/marble/data/interiors/intermediate/highway.dif b/marble/data/interiors/intermediate/highway.dif new file mode 100644 index 0000000..96362f6 Binary files /dev/null and b/marble/data/interiors/intermediate/highway.dif differ diff --git a/marble/data/interiors/intermediate/hopskipjump.dif b/marble/data/interiors/intermediate/hopskipjump.dif new file mode 100644 index 0000000..6a78595 Binary files /dev/null and b/marble/data/interiors/intermediate/hopskipjump.dif differ diff --git a/marble/data/interiors/intermediate/inthighroadlowroad.dif b/marble/data/interiors/intermediate/inthighroadlowroad.dif new file mode 100644 index 0000000..8f548db Binary files /dev/null and b/marble/data/interiors/intermediate/inthighroadlowroad.dif differ diff --git a/marble/data/interiors/intermediate/intskeeball.dif b/marble/data/interiors/intermediate/intskeeball.dif new file mode 100644 index 0000000..c48376b Binary files /dev/null and b/marble/data/interiors/intermediate/intskeeball.dif differ diff --git a/marble/data/interiors/intermediate/intsteppingstones.dif b/marble/data/interiors/intermediate/intsteppingstones.dif new file mode 100644 index 0000000..86523d5 Binary files /dev/null and b/marble/data/interiors/intermediate/intsteppingstones.dif differ diff --git a/marble/data/interiors/intermediate/leapoffaith.dif b/marble/data/interiors/intermediate/leapoffaith.dif new file mode 100644 index 0000000..1e3e92e Binary files /dev/null and b/marble/data/interiors/intermediate/leapoffaith.dif differ diff --git a/marble/data/interiors/intermediate/marbletris.dif b/marble/data/interiors/intermediate/marbletris.dif new file mode 100644 index 0000000..0e4820f Binary files /dev/null and b/marble/data/interiors/intermediate/marbletris.dif differ diff --git a/marble/data/interiors/intermediate/moebius.dif b/marble/data/interiors/intermediate/moebius.dif new file mode 100644 index 0000000..f246fd6 Binary files /dev/null and b/marble/data/interiors/intermediate/moebius.dif differ diff --git a/marble/data/interiors/intermediate/motomarblecross.dif b/marble/data/interiors/intermediate/motomarblecross.dif new file mode 100644 index 0000000..c08fc9f Binary files /dev/null and b/marble/data/interiors/intermediate/motomarblecross.dif differ diff --git a/marble/data/interiors/intermediate/obstacle_course1.dif b/marble/data/interiors/intermediate/obstacle_course1.dif new file mode 100644 index 0000000..5c1f07b Binary files /dev/null and b/marble/data/interiors/intermediate/obstacle_course1.dif differ diff --git a/marble/data/interiors/intermediate/racetrack.dif b/marble/data/interiors/intermediate/racetrack.dif new file mode 100644 index 0000000..4f4fcd6 Binary files /dev/null and b/marble/data/interiors/intermediate/racetrack.dif differ diff --git a/marble/data/interiors/intermediate/rampmatrix.dif b/marble/data/interiors/intermediate/rampmatrix.dif new file mode 100644 index 0000000..6058328 Binary files /dev/null and b/marble/data/interiors/intermediate/rampmatrix.dif differ diff --git a/marble/data/interiors/intermediate/shockdrop.dif b/marble/data/interiors/intermediate/shockdrop.dif new file mode 100644 index 0000000..c08a48e Binary files /dev/null and b/marble/data/interiors/intermediate/shockdrop.dif differ diff --git a/marble/data/interiors/intermediate/skyscraper.dif b/marble/data/interiors/intermediate/skyscraper.dif new file mode 100644 index 0000000..284d42e Binary files /dev/null and b/marble/data/interiors/intermediate/skyscraper.dif differ diff --git a/marble/data/interiors/intermediate/spaceslide.dif b/marble/data/interiors/intermediate/spaceslide.dif new file mode 100644 index 0000000..b15c177 Binary files /dev/null and b/marble/data/interiors/intermediate/spaceslide.dif differ diff --git a/marble/data/interiors/intermediate/the_wave.dif b/marble/data/interiors/intermediate/the_wave.dif new file mode 100644 index 0000000..211cd34 Binary files /dev/null and b/marble/data/interiors/intermediate/the_wave.dif differ diff --git a/marble/data/interiors/intermediate/tornado_jump.dif b/marble/data/interiors/intermediate/tornado_jump.dif new file mode 100644 index 0000000..51b5c22 Binary files /dev/null and b/marble/data/interiors/intermediate/tornado_jump.dif differ diff --git a/marble/data/interiors/intermediate/tornadotoss.dif b/marble/data/interiors/intermediate/tornadotoss.dif new file mode 100644 index 0000000..334c798 Binary files /dev/null and b/marble/data/interiors/intermediate/tornadotoss.dif differ diff --git a/marble/data/interiors/intermediate/tree.dif b/marble/data/interiors/intermediate/tree.dif new file mode 100644 index 0000000..e0e5202 Binary files /dev/null and b/marble/data/interiors/intermediate/tree.dif differ diff --git a/marble/data/interiors/intermediate/upward0.dif b/marble/data/interiors/intermediate/upward0.dif new file mode 100644 index 0000000..d9c36f8 Binary files /dev/null and b/marble/data/interiors/intermediate/upward0.dif differ diff --git a/marble/data/interiors/intermediate/upward1.dif b/marble/data/interiors/intermediate/upward1.dif new file mode 100644 index 0000000..16523bb Binary files /dev/null and b/marble/data/interiors/intermediate/upward1.dif differ diff --git a/marble/data/interiors/intermediate/upward2.dif b/marble/data/interiors/intermediate/upward2.dif new file mode 100644 index 0000000..162751f Binary files /dev/null and b/marble/data/interiors/intermediate/upward2.dif differ diff --git a/marble/data/interiors/intermediate/upward3.dif b/marble/data/interiors/intermediate/upward3.dif new file mode 100644 index 0000000..4f9027c Binary files /dev/null and b/marble/data/interiors/intermediate/upward3.dif differ diff --git a/marble/data/interiors/intermediate/upward4.dif b/marble/data/interiors/intermediate/upward4.dif new file mode 100644 index 0000000..d4d0b2c Binary files /dev/null and b/marble/data/interiors/intermediate/upward4.dif differ diff --git a/marble/data/interiors/intermediate/upward5.dif b/marble/data/interiors/intermediate/upward5.dif new file mode 100644 index 0000000..bb4b31d Binary files /dev/null and b/marble/data/interiors/intermediate/upward5.dif differ diff --git a/marble/data/interiors/intermediate/wind_tunnel.dif b/marble/data/interiors/intermediate/wind_tunnel.dif new file mode 100644 index 0000000..67c17f8 Binary files /dev/null and b/marble/data/interiors/intermediate/wind_tunnel.dif differ diff --git a/marble/data/interiors/iron1.jpg b/marble/data/interiors/iron1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/iron1.jpg differ diff --git a/marble/data/interiors/iron1_x_fuschia.jpg b/marble/data/interiors/iron1_x_fuschia.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/iron1_x_fuschia.jpg differ diff --git a/marble/data/interiors/iron1_x_grey.jpg b/marble/data/interiors/iron1_x_grey.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/iron1_x_grey.jpg differ diff --git a/marble/data/interiors/jellyfith.jpg b/marble/data/interiors/jellyfith.jpg new file mode 100644 index 0000000..8c564cc Binary files /dev/null and b/marble/data/interiors/jellyfith.jpg differ diff --git a/marble/data/interiors/jimmyax/AtG.dif b/marble/data/interiors/jimmyax/AtG.dif new file mode 100644 index 0000000..3ef36ad Binary files /dev/null and b/marble/data/interiors/jimmyax/AtG.dif differ diff --git a/marble/data/interiors/jimmyax/BambooRoad.dif b/marble/data/interiors/jimmyax/BambooRoad.dif new file mode 100644 index 0000000..59ad56d Binary files /dev/null and b/marble/data/interiors/jimmyax/BambooRoad.dif differ diff --git a/marble/data/interiors/jimmyax/Circus_Surprise.dif b/marble/data/interiors/jimmyax/Circus_Surprise.dif new file mode 100644 index 0000000..f8138e1 Binary files /dev/null and b/marble/data/interiors/jimmyax/Circus_Surprise.dif differ diff --git a/marble/data/interiors/jimmyax/Damn_Gravity.dif b/marble/data/interiors/jimmyax/Damn_Gravity.dif new file mode 100644 index 0000000..68949b4 Binary files /dev/null and b/marble/data/interiors/jimmyax/Damn_Gravity.dif differ diff --git a/marble/data/interiors/jimmyax/Gem_Gallery.dif b/marble/data/interiors/jimmyax/Gem_Gallery.dif new file mode 100644 index 0000000..26c5d59 Binary files /dev/null and b/marble/data/interiors/jimmyax/Gem_Gallery.dif differ diff --git a/marble/data/interiors/jimmyax/HdL.dif b/marble/data/interiors/jimmyax/HdL.dif new file mode 100644 index 0000000..a6a68b6 Binary files /dev/null and b/marble/data/interiors/jimmyax/HdL.dif differ diff --git a/marble/data/interiors/jimmyax/IRR.dif b/marble/data/interiors/jimmyax/IRR.dif new file mode 100644 index 0000000..b709998 Binary files /dev/null and b/marble/data/interiors/jimmyax/IRR.dif differ diff --git a/marble/data/interiors/jimmyax/LapTest.dif b/marble/data/interiors/jimmyax/LapTest.dif new file mode 100644 index 0000000..65ef8e5 Binary files /dev/null and b/marble/data/interiors/jimmyax/LapTest.dif differ diff --git a/marble/data/interiors/jimmyax/RCS/rc_beg_lv1.dif b/marble/data/interiors/jimmyax/RCS/rc_beg_lv1.dif new file mode 100644 index 0000000..3c7775d Binary files /dev/null and b/marble/data/interiors/jimmyax/RCS/rc_beg_lv1.dif differ diff --git a/marble/data/interiors/jimmyax/RCS/rc_beg_lv2.dif b/marble/data/interiors/jimmyax/RCS/rc_beg_lv2.dif new file mode 100644 index 0000000..6dbf5bb Binary files /dev/null and b/marble/data/interiors/jimmyax/RCS/rc_beg_lv2.dif differ diff --git a/marble/data/interiors/jimmyax/RCS/rc_beg_lv3.dif b/marble/data/interiors/jimmyax/RCS/rc_beg_lv3.dif new file mode 100644 index 0000000..52aa47c Binary files /dev/null and b/marble/data/interiors/jimmyax/RCS/rc_beg_lv3.dif differ diff --git a/marble/data/interiors/jimmyax/RCS/rc_beg_lv4.dif b/marble/data/interiors/jimmyax/RCS/rc_beg_lv4.dif new file mode 100644 index 0000000..515d51f Binary files /dev/null and b/marble/data/interiors/jimmyax/RCS/rc_beg_lv4.dif differ diff --git a/marble/data/interiors/jimmyax/RCS/rc_beg_lv5.dif b/marble/data/interiors/jimmyax/RCS/rc_beg_lv5.dif new file mode 100644 index 0000000..92cf6fc Binary files /dev/null and b/marble/data/interiors/jimmyax/RCS/rc_beg_lv5.dif differ diff --git a/marble/data/interiors/jimmyax/UT.dif b/marble/data/interiors/jimmyax/UT.dif new file mode 100644 index 0000000..98800b1 Binary files /dev/null and b/marble/data/interiors/jimmyax/UT.dif differ diff --git a/marble/data/interiors/jimmyax/Vamos!.dif b/marble/data/interiors/jimmyax/Vamos!.dif new file mode 100644 index 0000000..9dfe241 Binary files /dev/null and b/marble/data/interiors/jimmyax/Vamos!.dif differ diff --git a/marble/data/interiors/jimmyax/WOTS.dif b/marble/data/interiors/jimmyax/WOTS.dif new file mode 100644 index 0000000..4eb5aa0 Binary files /dev/null and b/marble/data/interiors/jimmyax/WOTS.dif differ diff --git a/marble/data/interiors/jimmyax/Wall_block01.jpg b/marble/data/interiors/jimmyax/Wall_block01.jpg new file mode 100644 index 0000000..ce9592f Binary files /dev/null and b/marble/data/interiors/jimmyax/Wall_block01.jpg differ diff --git a/marble/data/interiors/jimmyax/bamboo_part/bamboo_1.dif b/marble/data/interiors/jimmyax/bamboo_part/bamboo_1.dif new file mode 100644 index 0000000..cc77f8a Binary files /dev/null and b/marble/data/interiors/jimmyax/bamboo_part/bamboo_1.dif differ diff --git a/marble/data/interiors/jimmyax/bamboo_part/bamboo_2.dif b/marble/data/interiors/jimmyax/bamboo_part/bamboo_2.dif new file mode 100644 index 0000000..de84d21 Binary files /dev/null and b/marble/data/interiors/jimmyax/bamboo_part/bamboo_2.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part0.dif b/marble/data/interiors/jimmyax/city/City_part0.dif new file mode 100644 index 0000000..9639570 Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part0.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part1.dif b/marble/data/interiors/jimmyax/city/City_part1.dif new file mode 100644 index 0000000..49d8e5f Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part1.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part2.dif b/marble/data/interiors/jimmyax/city/City_part2.dif new file mode 100644 index 0000000..b5848a2 Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part2.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part3.dif b/marble/data/interiors/jimmyax/city/City_part3.dif new file mode 100644 index 0000000..03669de Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part3.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part4.dif b/marble/data/interiors/jimmyax/city/City_part4.dif new file mode 100644 index 0000000..7030e14 Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part4.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part5.dif b/marble/data/interiors/jimmyax/city/City_part5.dif new file mode 100644 index 0000000..5ab888f Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part5.dif differ diff --git a/marble/data/interiors/jimmyax/city/City_part6.dif b/marble/data/interiors/jimmyax/city/City_part6.dif new file mode 100644 index 0000000..5aeb5b0 Binary files /dev/null and b/marble/data/interiors/jimmyax/city/City_part6.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/holecap.dif b/marble/data/interiors/jimmyax/funnels/holecap.dif new file mode 100644 index 0000000..b028419 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/holecap.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icefunnel11.dif b/marble/data/interiors/jimmyax/funnels/icefunnel11.dif new file mode 100644 index 0000000..9f1d2b8 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icefunnel11.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icefunnel12.dif b/marble/data/interiors/jimmyax/funnels/icefunnel12.dif new file mode 100644 index 0000000..f53d519 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icefunnel12.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icefunnel21.dif b/marble/data/interiors/jimmyax/funnels/icefunnel21.dif new file mode 100644 index 0000000..6348977 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icefunnel21.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icefunnel22.dif b/marble/data/interiors/jimmyax/funnels/icefunnel22.dif new file mode 100644 index 0000000..bbe0abc Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icefunnel22.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icefunnel31.dif b/marble/data/interiors/jimmyax/funnels/icefunnel31.dif new file mode 100644 index 0000000..8dbe056 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icefunnel31.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icefunnel32.dif b/marble/data/interiors/jimmyax/funnels/icefunnel32.dif new file mode 100644 index 0000000..9c376be Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icefunnel32.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icespacefunnel.dif b/marble/data/interiors/jimmyax/funnels/icespacefunnel.dif new file mode 100644 index 0000000..9bffa3c Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icespacefunnel.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/icespacefunnel2.dif b/marble/data/interiors/jimmyax/funnels/icespacefunnel2.dif new file mode 100644 index 0000000..3352179 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/icespacefunnel2.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/pillars.dif b/marble/data/interiors/jimmyax/funnels/pillars.dif new file mode 100644 index 0000000..40391d0 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/pillars.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/spacefunnel1.dif b/marble/data/interiors/jimmyax/funnels/spacefunnel1.dif new file mode 100644 index 0000000..3f5f3c2 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/spacefunnel1.dif differ diff --git a/marble/data/interiors/jimmyax/funnels/spacefunnel2.dif b/marble/data/interiors/jimmyax/funnels/spacefunnel2.dif new file mode 100644 index 0000000..d15c873 Binary files /dev/null and b/marble/data/interiors/jimmyax/funnels/spacefunnel2.dif differ diff --git a/marble/data/interiors/jimmyax/learn2roll-MP.dif b/marble/data/interiors/jimmyax/learn2roll-MP.dif new file mode 100644 index 0000000..0a7cd0b Binary files /dev/null and b/marble/data/interiors/jimmyax/learn2roll-MP.dif differ diff --git a/marble/data/interiors/jplat1.jpg b/marble/data/interiors/jplat1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/jplat1.jpg differ diff --git a/marble/data/interiors/kevin.jpg b/marble/data/interiors/kevin.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/kevin.jpg differ diff --git a/marble/data/interiors/kevin.png b/marble/data/interiors/kevin.png new file mode 100644 index 0000000..49d7f3e Binary files /dev/null and b/marble/data/interiors/kevin.png differ diff --git a/marble/data/interiors/kingofthemountain4.dif b/marble/data/interiors/kingofthemountain4.dif new file mode 100644 index 0000000..72450a4 Binary files /dev/null and b/marble/data/interiors/kingofthemountain4.dif differ diff --git a/marble/data/interiors/lava.jpg b/marble/data/interiors/lava.jpg new file mode 100644 index 0000000..47e51a0 Binary files /dev/null and b/marble/data/interiors/lava.jpg differ diff --git a/marble/data/interiors/lavaFlowing.jpg b/marble/data/interiors/lavaFlowing.jpg new file mode 100644 index 0000000..a45d9da Binary files /dev/null and b/marble/data/interiors/lavaFlowing.jpg differ diff --git a/marble/data/interiors/levels/_ b/marble/data/interiors/levels/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/little_slope.dif b/marble/data/interiors/little_slope.dif new file mode 100644 index 0000000..7a54af9 Binary files /dev/null and b/marble/data/interiors/little_slope.dif differ diff --git a/marble/data/interiors/logcabin.dif b/marble/data/interiors/logcabin.dif new file mode 100644 index 0000000..a51b953 Binary files /dev/null and b/marble/data/interiors/logcabin.dif differ diff --git a/marble/data/interiors/maroon.jpg b/marble/data/interiors/maroon.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/maroon.jpg differ diff --git a/marble/data/interiors/marshmallow.dif b/marble/data/interiors/marshmallow.dif new file mode 100644 index 0000000..aa91f2a Binary files /dev/null and b/marble/data/interiors/marshmallow.dif differ diff --git a/marble/data/interiors/matanblock.dif b/marble/data/interiors/matanblock.dif new file mode 100644 index 0000000..cf13991 Binary files /dev/null and b/marble/data/interiors/matanblock.dif differ diff --git a/marble/data/interiors/matankite.dif b/marble/data/interiors/matankite.dif new file mode 100644 index 0000000..79151da Binary files /dev/null and b/marble/data/interiors/matankite.dif differ diff --git a/marble/data/interiors/mazewood.jpg b/marble/data/interiors/mazewood.jpg new file mode 100644 index 0000000..2b4182c Binary files /dev/null and b/marble/data/interiors/mazewood.jpg differ diff --git a/marble/data/interiors/mbe_edge_file1.jpg b/marble/data/interiors/mbe_edge_file1.jpg new file mode 100644 index 0000000..dc03f14 Binary files /dev/null and b/marble/data/interiors/mbe_edge_file1.jpg differ diff --git a/marble/data/interiors/mbp-online_tripledecker.dif b/marble/data/interiors/mbp-online_tripledecker.dif new file mode 100644 index 0000000..4b1c0dd Binary files /dev/null and b/marble/data/interiors/mbp-online_tripledecker.dif differ diff --git a/marble/data/interiors/mbp_1neon3x3.dif b/marble/data/interiors/mbp_1neon3x3.dif new file mode 100644 index 0000000..c2e9d55 Binary files /dev/null and b/marble/data/interiors/mbp_1neon3x3.dif differ diff --git a/marble/data/interiors/mbp_1road.dif b/marble/data/interiors/mbp_1road.dif new file mode 100644 index 0000000..ef5f56c Binary files /dev/null and b/marble/data/interiors/mbp_1road.dif differ diff --git a/marble/data/interiors/mbp_2neon3x3.dif b/marble/data/interiors/mbp_2neon3x3.dif new file mode 100644 index 0000000..1cba13a Binary files /dev/null and b/marble/data/interiors/mbp_2neon3x3.dif differ diff --git a/marble/data/interiors/mbp_2road.dif b/marble/data/interiors/mbp_2road.dif new file mode 100644 index 0000000..897bee1 Binary files /dev/null and b/marble/data/interiors/mbp_2road.dif differ diff --git a/marble/data/interiors/mbp_3neon3x3.dif b/marble/data/interiors/mbp_3neon3x3.dif new file mode 100644 index 0000000..7d309a4 Binary files /dev/null and b/marble/data/interiors/mbp_3neon3x3.dif differ diff --git a/marble/data/interiors/mbp_3road.dif b/marble/data/interiors/mbp_3road.dif new file mode 100644 index 0000000..5ae556b Binary files /dev/null and b/marble/data/interiors/mbp_3road.dif differ diff --git a/marble/data/interiors/mbp_4road.dif b/marble/data/interiors/mbp_4road.dif new file mode 100644 index 0000000..c5fbc4e Binary files /dev/null and b/marble/data/interiors/mbp_4road.dif differ diff --git a/marble/data/interiors/mbp_5road.dif b/marble/data/interiors/mbp_5road.dif new file mode 100644 index 0000000..6ded455 Binary files /dev/null and b/marble/data/interiors/mbp_5road.dif differ diff --git a/marble/data/interiors/mbp_6road.dif b/marble/data/interiors/mbp_6road.dif new file mode 100644 index 0000000..ba1a234 Binary files /dev/null and b/marble/data/interiors/mbp_6road.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeF1.dif b/marble/data/interiors/mbp_BattlecubeF1.dif new file mode 100644 index 0000000..5ddc36c Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeF1.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeF2.dif b/marble/data/interiors/mbp_BattlecubeF2.dif new file mode 100644 index 0000000..606243e Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeF2.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeF3.dif b/marble/data/interiors/mbp_BattlecubeF3.dif new file mode 100644 index 0000000..a7ea5df Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeF3.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeF4.dif b/marble/data/interiors/mbp_BattlecubeF4.dif new file mode 100644 index 0000000..2495862 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeF4.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeF5.dif b/marble/data/interiors/mbp_BattlecubeF5.dif new file mode 100644 index 0000000..15e2ba2 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeF5.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeF6.dif b/marble/data/interiors/mbp_BattlecubeF6.dif new file mode 100644 index 0000000..83ebdb0 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeF6.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeFAll.dif b/marble/data/interiors/mbp_BattlecubeFAll.dif new file mode 100644 index 0000000..72e0d94 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeFAll.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeR1.dif b/marble/data/interiors/mbp_BattlecubeR1.dif new file mode 100644 index 0000000..11e1606 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeR1.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeR2.dif b/marble/data/interiors/mbp_BattlecubeR2.dif new file mode 100644 index 0000000..7880e85 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeR2.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeR3.dif b/marble/data/interiors/mbp_BattlecubeR3.dif new file mode 100644 index 0000000..590f846 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeR3.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeR4.dif b/marble/data/interiors/mbp_BattlecubeR4.dif new file mode 100644 index 0000000..a7d979c Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeR4.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeR5.dif b/marble/data/interiors/mbp_BattlecubeR5.dif new file mode 100644 index 0000000..9c0f87d Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeR5.dif differ diff --git a/marble/data/interiors/mbp_BattlecubeR6.dif b/marble/data/interiors/mbp_BattlecubeR6.dif new file mode 100644 index 0000000..27ae2e8 Binary files /dev/null and b/marble/data/interiors/mbp_BattlecubeR6.dif differ diff --git a/marble/data/interiors/mbp_FBattlecube1.dif b/marble/data/interiors/mbp_FBattlecube1.dif new file mode 100644 index 0000000..d5bebc1 Binary files /dev/null and b/marble/data/interiors/mbp_FBattlecube1.dif differ diff --git a/marble/data/interiors/mbp_FBattlecube2.dif b/marble/data/interiors/mbp_FBattlecube2.dif new file mode 100644 index 0000000..74d05b2 Binary files /dev/null and b/marble/data/interiors/mbp_FBattlecube2.dif differ diff --git a/marble/data/interiors/mbp_FBattlecube3.dif b/marble/data/interiors/mbp_FBattlecube3.dif new file mode 100644 index 0000000..1621d7e Binary files /dev/null and b/marble/data/interiors/mbp_FBattlecube3.dif differ diff --git a/marble/data/interiors/mbp_FBattlecube4.dif b/marble/data/interiors/mbp_FBattlecube4.dif new file mode 100644 index 0000000..2442119 Binary files /dev/null and b/marble/data/interiors/mbp_FBattlecube4.dif differ diff --git a/marble/data/interiors/mbp_FBattlecube5.dif b/marble/data/interiors/mbp_FBattlecube5.dif new file mode 100644 index 0000000..5ac41dc Binary files /dev/null and b/marble/data/interiors/mbp_FBattlecube5.dif differ diff --git a/marble/data/interiors/mbp_FBattlecube6.dif b/marble/data/interiors/mbp_FBattlecube6.dif new file mode 100644 index 0000000..ac4fe52 Binary files /dev/null and b/marble/data/interiors/mbp_FBattlecube6.dif differ diff --git a/marble/data/interiors/mbp_MPtemplate1.dif b/marble/data/interiors/mbp_MPtemplate1.dif new file mode 100644 index 0000000..c4957e3 Binary files /dev/null and b/marble/data/interiors/mbp_MPtemplate1.dif differ diff --git a/marble/data/interiors/mbp_MPtemplate2.dif b/marble/data/interiors/mbp_MPtemplate2.dif new file mode 100644 index 0000000..2b4ce1d Binary files /dev/null and b/marble/data/interiors/mbp_MPtemplate2.dif differ diff --git a/marble/data/interiors/mbp_SandStorm.dif b/marble/data/interiors/mbp_SandStorm.dif new file mode 100644 index 0000000..190501b Binary files /dev/null and b/marble/data/interiors/mbp_SandStorm.dif differ diff --git a/marble/data/interiors/mbp_TTMR1.dif b/marble/data/interiors/mbp_TTMR1.dif new file mode 100644 index 0000000..a18a974 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR1.dif differ diff --git a/marble/data/interiors/mbp_TTMR10.dif b/marble/data/interiors/mbp_TTMR10.dif new file mode 100644 index 0000000..ae34712 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR10.dif differ diff --git a/marble/data/interiors/mbp_TTMR11.dif b/marble/data/interiors/mbp_TTMR11.dif new file mode 100644 index 0000000..6d2b190 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR11.dif differ diff --git a/marble/data/interiors/mbp_TTMR12.dif b/marble/data/interiors/mbp_TTMR12.dif new file mode 100644 index 0000000..c64ba79 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR12.dif differ diff --git a/marble/data/interiors/mbp_TTMR13.dif b/marble/data/interiors/mbp_TTMR13.dif new file mode 100644 index 0000000..128de0a Binary files /dev/null and b/marble/data/interiors/mbp_TTMR13.dif differ diff --git a/marble/data/interiors/mbp_TTMR14.dif b/marble/data/interiors/mbp_TTMR14.dif new file mode 100644 index 0000000..2e3290b Binary files /dev/null and b/marble/data/interiors/mbp_TTMR14.dif differ diff --git a/marble/data/interiors/mbp_TTMR2.dif b/marble/data/interiors/mbp_TTMR2.dif new file mode 100644 index 0000000..678fc4a Binary files /dev/null and b/marble/data/interiors/mbp_TTMR2.dif differ diff --git a/marble/data/interiors/mbp_TTMR3.dif b/marble/data/interiors/mbp_TTMR3.dif new file mode 100644 index 0000000..262ede2 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR3.dif differ diff --git a/marble/data/interiors/mbp_TTMR4.dif b/marble/data/interiors/mbp_TTMR4.dif new file mode 100644 index 0000000..9dfe8d9 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR4.dif differ diff --git a/marble/data/interiors/mbp_TTMR5.dif b/marble/data/interiors/mbp_TTMR5.dif new file mode 100644 index 0000000..2bc89af Binary files /dev/null and b/marble/data/interiors/mbp_TTMR5.dif differ diff --git a/marble/data/interiors/mbp_TTMR6.dif b/marble/data/interiors/mbp_TTMR6.dif new file mode 100644 index 0000000..75482ba Binary files /dev/null and b/marble/data/interiors/mbp_TTMR6.dif differ diff --git a/marble/data/interiors/mbp_TTMR7.dif b/marble/data/interiors/mbp_TTMR7.dif new file mode 100644 index 0000000..2246ac7 Binary files /dev/null and b/marble/data/interiors/mbp_TTMR7.dif differ diff --git a/marble/data/interiors/mbp_TTMR8.dif b/marble/data/interiors/mbp_TTMR8.dif new file mode 100644 index 0000000..a3b9e5d Binary files /dev/null and b/marble/data/interiors/mbp_TTMR8.dif differ diff --git a/marble/data/interiors/mbp_TTMR9.dif b/marble/data/interiors/mbp_TTMR9.dif new file mode 100644 index 0000000..aed5e0b Binary files /dev/null and b/marble/data/interiors/mbp_TTMR9.dif differ diff --git a/marble/data/interiors/mbp_battlecube1.dif b/marble/data/interiors/mbp_battlecube1.dif new file mode 100644 index 0000000..9eec528 Binary files /dev/null and b/marble/data/interiors/mbp_battlecube1.dif differ diff --git a/marble/data/interiors/mbp_battlecube2.dif b/marble/data/interiors/mbp_battlecube2.dif new file mode 100644 index 0000000..91fb0f2 Binary files /dev/null and b/marble/data/interiors/mbp_battlecube2.dif differ diff --git a/marble/data/interiors/mbp_battlecube3.dif b/marble/data/interiors/mbp_battlecube3.dif new file mode 100644 index 0000000..e9a8cd9 Binary files /dev/null and b/marble/data/interiors/mbp_battlecube3.dif differ diff --git a/marble/data/interiors/mbp_benslvl.dif b/marble/data/interiors/mbp_benslvl.dif new file mode 100644 index 0000000..1f8e304 Binary files /dev/null and b/marble/data/interiors/mbp_benslvl.dif differ diff --git a/marble/data/interiors/mbp_blue_rope.jpg b/marble/data/interiors/mbp_blue_rope.jpg new file mode 100644 index 0000000..c122119 Binary files /dev/null and b/marble/data/interiors/mbp_blue_rope.jpg differ diff --git a/marble/data/interiors/mbp_bumpyhighway.dif b/marble/data/interiors/mbp_bumpyhighway.dif new file mode 100644 index 0000000..d05211a Binary files /dev/null and b/marble/data/interiors/mbp_bumpyhighway.dif differ diff --git a/marble/data/interiors/mbp_chevron_friction.dif b/marble/data/interiors/mbp_chevron_friction.dif new file mode 100644 index 0000000..8d69458 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_friction.dif differ diff --git a/marble/data/interiors/mbp_chevron_friction.jpg b/marble/data/interiors/mbp_chevron_friction.jpg new file mode 100644 index 0000000..a02cbef Binary files /dev/null and b/marble/data/interiors/mbp_chevron_friction.jpg differ diff --git a/marble/data/interiors/mbp_chevron_friction2.dif b/marble/data/interiors/mbp_chevron_friction2.dif new file mode 100644 index 0000000..5e69983 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_friction2.dif differ diff --git a/marble/data/interiors/mbp_chevron_friction2.jpg b/marble/data/interiors/mbp_chevron_friction2.jpg new file mode 100644 index 0000000..498c491 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_friction2.jpg differ diff --git a/marble/data/interiors/mbp_chevron_friction3.dif b/marble/data/interiors/mbp_chevron_friction3.dif new file mode 100644 index 0000000..67ec568 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_friction3.dif differ diff --git a/marble/data/interiors/mbp_chevron_friction3.jpg b/marble/data/interiors/mbp_chevron_friction3.jpg new file mode 100644 index 0000000..5571773 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_friction3.jpg differ diff --git a/marble/data/interiors/mbp_chevron_neutral.dif b/marble/data/interiors/mbp_chevron_neutral.dif new file mode 100644 index 0000000..f2f0e0a Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral.dif differ diff --git a/marble/data/interiors/mbp_chevron_neutral.jpg b/marble/data/interiors/mbp_chevron_neutral.jpg new file mode 100644 index 0000000..07d9f5e Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral.jpg differ diff --git a/marble/data/interiors/mbp_chevron_neutral1.dif b/marble/data/interiors/mbp_chevron_neutral1.dif new file mode 100644 index 0000000..73cc1d8 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral1.dif differ diff --git a/marble/data/interiors/mbp_chevron_neutral1.jpg b/marble/data/interiors/mbp_chevron_neutral1.jpg new file mode 100644 index 0000000..e7da2fb Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral1.jpg differ diff --git a/marble/data/interiors/mbp_chevron_neutral2.dif b/marble/data/interiors/mbp_chevron_neutral2.dif new file mode 100644 index 0000000..7a938e5 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral2.dif differ diff --git a/marble/data/interiors/mbp_chevron_neutral2.jpg b/marble/data/interiors/mbp_chevron_neutral2.jpg new file mode 100644 index 0000000..47b3898 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral2.jpg differ diff --git a/marble/data/interiors/mbp_chevron_neutral3.dif b/marble/data/interiors/mbp_chevron_neutral3.dif new file mode 100644 index 0000000..caeb1dc Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral3.dif differ diff --git a/marble/data/interiors/mbp_chevron_neutral3.jpg b/marble/data/interiors/mbp_chevron_neutral3.jpg new file mode 100644 index 0000000..8e0e2ad Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral3.jpg differ diff --git a/marble/data/interiors/mbp_chevron_neutral4.dif b/marble/data/interiors/mbp_chevron_neutral4.dif new file mode 100644 index 0000000..5c4a0f9 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral4.dif differ diff --git a/marble/data/interiors/mbp_chevron_neutral4.jpg b/marble/data/interiors/mbp_chevron_neutral4.jpg new file mode 100644 index 0000000..d99f6d0 Binary files /dev/null and b/marble/data/interiors/mbp_chevron_neutral4.jpg differ diff --git a/marble/data/interiors/mbp_circlenukefield.dif b/marble/data/interiors/mbp_circlenukefield.dif new file mode 100644 index 0000000..745e2a4 Binary files /dev/null and b/marble/data/interiors/mbp_circlenukefield.dif differ diff --git a/marble/data/interiors/mbp_diamondseekingfun.dif b/marble/data/interiors/mbp_diamondseekingfun.dif new file mode 100644 index 0000000..2c7e486 Binary files /dev/null and b/marble/data/interiors/mbp_diamondseekingfun.dif differ diff --git a/marble/data/interiors/mbp_floor_bounce_3x3.dif b/marble/data/interiors/mbp_floor_bounce_3x3.dif new file mode 100644 index 0000000..549da4c Binary files /dev/null and b/marble/data/interiors/mbp_floor_bounce_3x3.dif differ diff --git a/marble/data/interiors/mbp_grass_100x100.dif b/marble/data/interiors/mbp_grass_100x100.dif new file mode 100644 index 0000000..b94818a Binary files /dev/null and b/marble/data/interiors/mbp_grass_100x100.dif differ diff --git a/marble/data/interiors/mbp_grid_black.jpg b/marble/data/interiors/mbp_grid_black.jpg new file mode 100644 index 0000000..8572162 Binary files /dev/null and b/marble/data/interiors/mbp_grid_black.jpg differ diff --git a/marble/data/interiors/mbp_grid_blackwhite_2x2.dif b/marble/data/interiors/mbp_grid_blackwhite_2x2.dif new file mode 100644 index 0000000..8318bb7 Binary files /dev/null and b/marble/data/interiors/mbp_grid_blackwhite_2x2.dif differ diff --git a/marble/data/interiors/mbp_grid_blackwhite_3x3.dif b/marble/data/interiors/mbp_grid_blackwhite_3x3.dif new file mode 100644 index 0000000..f118e36 Binary files /dev/null and b/marble/data/interiors/mbp_grid_blackwhite_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_blue1.jpg b/marble/data/interiors/mbp_grid_blue1.jpg new file mode 100644 index 0000000..7e3d6e4 Binary files /dev/null and b/marble/data/interiors/mbp_grid_blue1.jpg differ diff --git a/marble/data/interiors/mbp_grid_blue1_3x3.dif b/marble/data/interiors/mbp_grid_blue1_3x3.dif new file mode 100644 index 0000000..48a2101 Binary files /dev/null and b/marble/data/interiors/mbp_grid_blue1_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_green1_3x3.dif b/marble/data/interiors/mbp_grid_green1_3x3.dif new file mode 100644 index 0000000..ff66e3d Binary files /dev/null and b/marble/data/interiors/mbp_grid_green1_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_green2_3x3.dif b/marble/data/interiors/mbp_grid_green2_3x3.dif new file mode 100644 index 0000000..bd60c26 Binary files /dev/null and b/marble/data/interiors/mbp_grid_green2_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_new1_1x1.dif b/marble/data/interiors/mbp_grid_new1_1x1.dif new file mode 100644 index 0000000..6dee0de Binary files /dev/null and b/marble/data/interiors/mbp_grid_new1_1x1.dif differ diff --git a/marble/data/interiors/mbp_grid_new1_3x3.dif b/marble/data/interiors/mbp_grid_new1_3x3.dif new file mode 100644 index 0000000..69e4db6 Binary files /dev/null and b/marble/data/interiors/mbp_grid_new1_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_new2_1x1.dif b/marble/data/interiors/mbp_grid_new2_1x1.dif new file mode 100644 index 0000000..705abd9 Binary files /dev/null and b/marble/data/interiors/mbp_grid_new2_1x1.dif differ diff --git a/marble/data/interiors/mbp_grid_new2_3x3.dif b/marble/data/interiors/mbp_grid_new2_3x3.dif new file mode 100644 index 0000000..2b4e90a Binary files /dev/null and b/marble/data/interiors/mbp_grid_new2_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_new3_1x1.dif b/marble/data/interiors/mbp_grid_new3_1x1.dif new file mode 100644 index 0000000..9beff01 Binary files /dev/null and b/marble/data/interiors/mbp_grid_new3_1x1.dif differ diff --git a/marble/data/interiors/mbp_grid_new3_3x3.dif b/marble/data/interiors/mbp_grid_new3_3x3.dif new file mode 100644 index 0000000..e3de879 Binary files /dev/null and b/marble/data/interiors/mbp_grid_new3_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_new4_1x1.dif b/marble/data/interiors/mbp_grid_new4_1x1.dif new file mode 100644 index 0000000..e3cc636 Binary files /dev/null and b/marble/data/interiors/mbp_grid_new4_1x1.dif differ diff --git a/marble/data/interiors/mbp_grid_new4_3x3.dif b/marble/data/interiors/mbp_grid_new4_3x3.dif new file mode 100644 index 0000000..2500242 Binary files /dev/null and b/marble/data/interiors/mbp_grid_new4_3x3.dif differ diff --git a/marble/data/interiors/mbp_grid_warm1_2x2.dif b/marble/data/interiors/mbp_grid_warm1_2x2.dif new file mode 100644 index 0000000..a4eb78d Binary files /dev/null and b/marble/data/interiors/mbp_grid_warm1_2x2.dif differ diff --git a/marble/data/interiors/mbp_grid_white.jpg b/marble/data/interiors/mbp_grid_white.jpg new file mode 100644 index 0000000..2cc3d06 Binary files /dev/null and b/marble/data/interiors/mbp_grid_white.jpg differ diff --git a/marble/data/interiors/mbp_hollow1.dif b/marble/data/interiors/mbp_hollow1.dif new file mode 100644 index 0000000..8879071 Binary files /dev/null and b/marble/data/interiors/mbp_hollow1.dif differ diff --git a/marble/data/interiors/mbp_hot2.jpg b/marble/data/interiors/mbp_hot2.jpg new file mode 100644 index 0000000..578ae54 Binary files /dev/null and b/marble/data/interiors/mbp_hot2.jpg differ diff --git a/marble/data/interiors/mbp_hot3.jpg b/marble/data/interiors/mbp_hot3.jpg new file mode 100644 index 0000000..09664cd Binary files /dev/null and b/marble/data/interiors/mbp_hot3.jpg differ diff --git a/marble/data/interiors/mbp_hot4.jpg b/marble/data/interiors/mbp_hot4.jpg new file mode 100644 index 0000000..c14d058 Binary files /dev/null and b/marble/data/interiors/mbp_hot4.jpg differ diff --git a/marble/data/interiors/mbp_hot5.jpg b/marble/data/interiors/mbp_hot5.jpg new file mode 100644 index 0000000..b6f0125 Binary files /dev/null and b/marble/data/interiors/mbp_hot5.jpg differ diff --git a/marble/data/interiors/mbp_hot6.jpg b/marble/data/interiors/mbp_hot6.jpg new file mode 100644 index 0000000..46e803b Binary files /dev/null and b/marble/data/interiors/mbp_hot6.jpg differ diff --git a/marble/data/interiors/mbp_hot7.jpg b/marble/data/interiors/mbp_hot7.jpg new file mode 100644 index 0000000..720ebaf Binary files /dev/null and b/marble/data/interiors/mbp_hot7.jpg differ diff --git a/marble/data/interiors/mbp_icetriangle.dif b/marble/data/interiors/mbp_icetriangle.dif new file mode 100644 index 0000000..1e3e5bb Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle.dif differ diff --git a/marble/data/interiors/mbp_icetriangle1.dif b/marble/data/interiors/mbp_icetriangle1.dif new file mode 100644 index 0000000..1e3e5bb Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle1.dif differ diff --git a/marble/data/interiors/mbp_icetriangle152.dif b/marble/data/interiors/mbp_icetriangle152.dif new file mode 100644 index 0000000..33c499d Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle152.dif differ diff --git a/marble/data/interiors/mbp_icetriangle2.dif b/marble/data/interiors/mbp_icetriangle2.dif new file mode 100644 index 0000000..a4726b5 Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle2.dif differ diff --git a/marble/data/interiors/mbp_icetriangle215.dif b/marble/data/interiors/mbp_icetriangle215.dif new file mode 100644 index 0000000..33c499d Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle215.dif differ diff --git a/marble/data/interiors/mbp_icetriangle230.dif b/marble/data/interiors/mbp_icetriangle230.dif new file mode 100644 index 0000000..c84bcb7 Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle230.dif differ diff --git a/marble/data/interiors/mbp_icetriangle3.dif b/marble/data/interiors/mbp_icetriangle3.dif new file mode 100644 index 0000000..ef4bb41 Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle3.dif differ diff --git a/marble/data/interiors/mbp_icetriangle302.dif b/marble/data/interiors/mbp_icetriangle302.dif new file mode 100644 index 0000000..c84bcb7 Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle302.dif differ diff --git a/marble/data/interiors/mbp_icetriangle303.dif b/marble/data/interiors/mbp_icetriangle303.dif new file mode 100644 index 0000000..03e0dea Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle303.dif differ diff --git a/marble/data/interiors/mbp_icetriangle4.dif b/marble/data/interiors/mbp_icetriangle4.dif new file mode 100644 index 0000000..71790c4 Binary files /dev/null and b/marble/data/interiors/mbp_icetriangle4.dif differ diff --git a/marble/data/interiors/mbp_icetunnel.dif b/marble/data/interiors/mbp_icetunnel.dif new file mode 100644 index 0000000..f29b1bc Binary files /dev/null and b/marble/data/interiors/mbp_icetunnel.dif differ diff --git a/marble/data/interiors/mbp_keeponrollin.dif b/marble/data/interiors/mbp_keeponrollin.dif new file mode 100644 index 0000000..01d60c8 Binary files /dev/null and b/marble/data/interiors/mbp_keeponrollin.dif differ diff --git a/marble/data/interiors/mbp_learn_backwards.dif b/marble/data/interiors/mbp_learn_backwards.dif new file mode 100644 index 0000000..52c9c62 Binary files /dev/null and b/marble/data/interiors/mbp_learn_backwards.dif differ diff --git a/marble/data/interiors/mbp_letsroll.dif b/marble/data/interiors/mbp_letsroll.dif new file mode 100644 index 0000000..d227790 Binary files /dev/null and b/marble/data/interiors/mbp_letsroll.dif differ diff --git a/marble/data/interiors/mbp_lightningice.dif b/marble/data/interiors/mbp_lightningice.dif new file mode 100644 index 0000000..1ca8b65 Binary files /dev/null and b/marble/data/interiors/mbp_lightningice.dif differ diff --git a/marble/data/interiors/mbp_minimountain.dif b/marble/data/interiors/mbp_minimountain.dif new file mode 100644 index 0000000..30e7e83 Binary files /dev/null and b/marble/data/interiors/mbp_minimountain.dif differ diff --git a/marble/data/interiors/mbp_mountaintopretreat.dif b/marble/data/interiors/mbp_mountaintopretreat.dif new file mode 100644 index 0000000..5fe5af8 Binary files /dev/null and b/marble/data/interiors/mbp_mountaintopretreat.dif differ diff --git a/marble/data/interiors/mbp_multi.jpg b/marble/data/interiors/mbp_multi.jpg new file mode 100644 index 0000000..515f09d Binary files /dev/null and b/marble/data/interiors/mbp_multi.jpg differ diff --git a/marble/data/interiors/mbp_multi1.jpg b/marble/data/interiors/mbp_multi1.jpg new file mode 100644 index 0000000..3f7bb9a Binary files /dev/null and b/marble/data/interiors/mbp_multi1.jpg differ diff --git a/marble/data/interiors/mbp_multi1_3x3.dif b/marble/data/interiors/mbp_multi1_3x3.dif new file mode 100644 index 0000000..b979128 Binary files /dev/null and b/marble/data/interiors/mbp_multi1_3x3.dif differ diff --git a/marble/data/interiors/mbp_multi2.jpg b/marble/data/interiors/mbp_multi2.jpg new file mode 100644 index 0000000..2f7fb12 Binary files /dev/null and b/marble/data/interiors/mbp_multi2.jpg differ diff --git a/marble/data/interiors/mbp_multi2_3x3.dif b/marble/data/interiors/mbp_multi2_3x3.dif new file mode 100644 index 0000000..0eb3a71 Binary files /dev/null and b/marble/data/interiors/mbp_multi2_3x3.dif differ diff --git a/marble/data/interiors/mbp_multi_3x3.dif b/marble/data/interiors/mbp_multi_3x3.dif new file mode 100644 index 0000000..5f417bd Binary files /dev/null and b/marble/data/interiors/mbp_multi_3x3.dif differ diff --git a/marble/data/interiors/mbp_neon1.jpg b/marble/data/interiors/mbp_neon1.jpg new file mode 100644 index 0000000..798837f Binary files /dev/null and b/marble/data/interiors/mbp_neon1.jpg differ diff --git a/marble/data/interiors/mbp_neon2.jpg b/marble/data/interiors/mbp_neon2.jpg new file mode 100644 index 0000000..8a87e18 Binary files /dev/null and b/marble/data/interiors/mbp_neon2.jpg differ diff --git a/marble/data/interiors/mbp_neon3.jpg b/marble/data/interiors/mbp_neon3.jpg new file mode 100644 index 0000000..ba12507 Binary files /dev/null and b/marble/data/interiors/mbp_neon3.jpg differ diff --git a/marble/data/interiors/mbp_neontriangle.dif b/marble/data/interiors/mbp_neontriangle.dif new file mode 100644 index 0000000..5795da4 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle.dif differ diff --git a/marble/data/interiors/mbp_neontriangle1.dif b/marble/data/interiors/mbp_neontriangle1.dif new file mode 100644 index 0000000..5795da4 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle1.dif differ diff --git a/marble/data/interiors/mbp_neontriangle15.dif b/marble/data/interiors/mbp_neontriangle15.dif new file mode 100644 index 0000000..ae7052b Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle15.dif differ diff --git a/marble/data/interiors/mbp_neontriangle151.dif b/marble/data/interiors/mbp_neontriangle151.dif new file mode 100644 index 0000000..ae7052b Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle151.dif differ diff --git a/marble/data/interiors/mbp_neontriangle2.dif b/marble/data/interiors/mbp_neontriangle2.dif new file mode 100644 index 0000000..9c283f9 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle2.dif differ diff --git a/marble/data/interiors/mbp_neontriangle3.dif b/marble/data/interiors/mbp_neontriangle3.dif new file mode 100644 index 0000000..533eab6 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle3.dif differ diff --git a/marble/data/interiors/mbp_neontriangle30.dif b/marble/data/interiors/mbp_neontriangle30.dif new file mode 100644 index 0000000..6b80478 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle30.dif differ diff --git a/marble/data/interiors/mbp_neontriangle302.dif b/marble/data/interiors/mbp_neontriangle302.dif new file mode 100644 index 0000000..6b80478 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle302.dif differ diff --git a/marble/data/interiors/mbp_neontriangle4.dif b/marble/data/interiors/mbp_neontriangle4.dif new file mode 100644 index 0000000..e0f97e0 Binary files /dev/null and b/marble/data/interiors/mbp_neontriangle4.dif differ diff --git a/marble/data/interiors/mbp_ofm.dif b/marble/data/interiors/mbp_ofm.dif new file mode 100644 index 0000000..9c856d8 Binary files /dev/null and b/marble/data/interiors/mbp_ofm.dif differ diff --git a/marble/data/interiors/mbp_pfm.dif b/marble/data/interiors/mbp_pfm.dif new file mode 100644 index 0000000..88664c8 Binary files /dev/null and b/marble/data/interiors/mbp_pfm.dif differ diff --git a/marble/data/interiors/mbp_pyramid1.dif b/marble/data/interiors/mbp_pyramid1.dif new file mode 100644 index 0000000..0906298 Binary files /dev/null and b/marble/data/interiors/mbp_pyramid1.dif differ diff --git a/marble/data/interiors/mbp_pyramid2.dif b/marble/data/interiors/mbp_pyramid2.dif new file mode 100644 index 0000000..a0617f7 Binary files /dev/null and b/marble/data/interiors/mbp_pyramid2.dif differ diff --git a/marble/data/interiors/mbp_quakedpath.dif b/marble/data/interiors/mbp_quakedpath.dif new file mode 100644 index 0000000..aa954b6 Binary files /dev/null and b/marble/data/interiors/mbp_quakedpath.dif differ diff --git a/marble/data/interiors/mbp_road1.dif b/marble/data/interiors/mbp_road1.dif new file mode 100644 index 0000000..2943a96 Binary files /dev/null and b/marble/data/interiors/mbp_road1.dif differ diff --git a/marble/data/interiors/mbp_rock.dif b/marble/data/interiors/mbp_rock.dif new file mode 100644 index 0000000..a3234a5 Binary files /dev/null and b/marble/data/interiors/mbp_rock.dif differ diff --git a/marble/data/interiors/mbp_rock.jpg b/marble/data/interiors/mbp_rock.jpg new file mode 100644 index 0000000..1f744e4 Binary files /dev/null and b/marble/data/interiors/mbp_rock.jpg differ diff --git a/marble/data/interiors/mbp_rock_3x3.dif b/marble/data/interiors/mbp_rock_3x3.dif new file mode 100644 index 0000000..c63df72 Binary files /dev/null and b/marble/data/interiors/mbp_rock_3x3.dif differ diff --git a/marble/data/interiors/mbp_spinpractice.dif b/marble/data/interiors/mbp_spinpractice.dif new file mode 100644 index 0000000..ec2bb56 Binary files /dev/null and b/marble/data/interiors/mbp_spinpractice.dif differ diff --git a/marble/data/interiors/mbp_stamina.dif b/marble/data/interiors/mbp_stamina.dif new file mode 100644 index 0000000..790a447 Binary files /dev/null and b/marble/data/interiors/mbp_stamina.dif differ diff --git a/marble/data/interiors/mbp_strategyclimb.dif b/marble/data/interiors/mbp_strategyclimb.dif new file mode 100644 index 0000000..32c453e Binary files /dev/null and b/marble/data/interiors/mbp_strategyclimb.dif differ diff --git a/marble/data/interiors/mbp_takeastroll.dif b/marble/data/interiors/mbp_takeastroll.dif new file mode 100644 index 0000000..152c0e0 Binary files /dev/null and b/marble/data/interiors/mbp_takeastroll.dif differ diff --git a/marble/data/interiors/mbp_technoropes.dif b/marble/data/interiors/mbp_technoropes.dif new file mode 100644 index 0000000..6347a84 Binary files /dev/null and b/marble/data/interiors/mbp_technoropes.dif differ diff --git a/marble/data/interiors/mbp_the_hill.dif b/marble/data/interiors/mbp_the_hill.dif new file mode 100644 index 0000000..bd0994d Binary files /dev/null and b/marble/data/interiors/mbp_the_hill.dif differ diff --git a/marble/data/interiors/mbp_tower.dif b/marble/data/interiors/mbp_tower.dif new file mode 100644 index 0000000..5b659d3 Binary files /dev/null and b/marble/data/interiors/mbp_tower.dif differ diff --git a/marble/data/interiors/mbp_treachery.dif b/marble/data/interiors/mbp_treachery.dif new file mode 100644 index 0000000..7e5bb5b Binary files /dev/null and b/marble/data/interiors/mbp_treachery.dif differ diff --git a/marble/data/interiors/mbp_tree.dif b/marble/data/interiors/mbp_tree.dif new file mode 100644 index 0000000..389be57 Binary files /dev/null and b/marble/data/interiors/mbp_tree.dif differ diff --git a/marble/data/interiors/mbp_tri.jpg b/marble/data/interiors/mbp_tri.jpg new file mode 100644 index 0000000..7756774 Binary files /dev/null and b/marble/data/interiors/mbp_tri.jpg differ diff --git a/marble/data/interiors/mbp_tri_3x3.dif b/marble/data/interiors/mbp_tri_3x3.dif new file mode 100644 index 0000000..7956553 Binary files /dev/null and b/marble/data/interiors/mbp_tri_3x3.dif differ diff --git a/marble/data/interiors/mbp_turn1.dif b/marble/data/interiors/mbp_turn1.dif new file mode 100644 index 0000000..a494881 Binary files /dev/null and b/marble/data/interiors/mbp_turn1.dif differ diff --git a/marble/data/interiors/mbp_wall_blue.jpg b/marble/data/interiors/mbp_wall_blue.jpg new file mode 100644 index 0000000..8634d6a Binary files /dev/null and b/marble/data/interiors/mbp_wall_blue.jpg differ diff --git a/marble/data/interiors/mbp_wall_blue_6x6.dif b/marble/data/interiors/mbp_wall_blue_6x6.dif new file mode 100644 index 0000000..b16cf89 Binary files /dev/null and b/marble/data/interiors/mbp_wall_blue_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_brown.jpg b/marble/data/interiors/mbp_wall_brown.jpg new file mode 100644 index 0000000..2febbb2 Binary files /dev/null and b/marble/data/interiors/mbp_wall_brown.jpg differ diff --git a/marble/data/interiors/mbp_wall_brown_6x6.dif b/marble/data/interiors/mbp_wall_brown_6x6.dif new file mode 100644 index 0000000..242fc51 Binary files /dev/null and b/marble/data/interiors/mbp_wall_brown_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_crack1_3x3.dif b/marble/data/interiors/mbp_wall_crack1_3x3.dif new file mode 100644 index 0000000..3cb2d4e Binary files /dev/null and b/marble/data/interiors/mbp_wall_crack1_3x3.dif differ diff --git a/marble/data/interiors/mbp_wall_crack2_3x3.dif b/marble/data/interiors/mbp_wall_crack2_3x3.dif new file mode 100644 index 0000000..fec22cd Binary files /dev/null and b/marble/data/interiors/mbp_wall_crack2_3x3.dif differ diff --git a/marble/data/interiors/mbp_wall_crack3_3x3.dif b/marble/data/interiors/mbp_wall_crack3_3x3.dif new file mode 100644 index 0000000..004f529 Binary files /dev/null and b/marble/data/interiors/mbp_wall_crack3_3x3.dif differ diff --git a/marble/data/interiors/mbp_wall_crack4_3x3.dif b/marble/data/interiors/mbp_wall_crack4_3x3.dif new file mode 100644 index 0000000..276ab40 Binary files /dev/null and b/marble/data/interiors/mbp_wall_crack4_3x3.dif differ diff --git a/marble/data/interiors/mbp_wall_crack5_3x3.dif b/marble/data/interiors/mbp_wall_crack5_3x3.dif new file mode 100644 index 0000000..a49eea0 Binary files /dev/null and b/marble/data/interiors/mbp_wall_crack5_3x3.dif differ diff --git a/marble/data/interiors/mbp_wall_dark.jpg b/marble/data/interiors/mbp_wall_dark.jpg new file mode 100644 index 0000000..043bf9f Binary files /dev/null and b/marble/data/interiors/mbp_wall_dark.jpg differ diff --git a/marble/data/interiors/mbp_wall_dark_6x6.dif b/marble/data/interiors/mbp_wall_dark_6x6.dif new file mode 100644 index 0000000..fd1d14c Binary files /dev/null and b/marble/data/interiors/mbp_wall_dark_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_green.jpg b/marble/data/interiors/mbp_wall_green.jpg new file mode 100644 index 0000000..af2d40d Binary files /dev/null and b/marble/data/interiors/mbp_wall_green.jpg differ diff --git a/marble/data/interiors/mbp_wall_green_6x6.dif b/marble/data/interiors/mbp_wall_green_6x6.dif new file mode 100644 index 0000000..eaab43a Binary files /dev/null and b/marble/data/interiors/mbp_wall_green_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_orange.jpg b/marble/data/interiors/mbp_wall_orange.jpg new file mode 100644 index 0000000..131e23f Binary files /dev/null and b/marble/data/interiors/mbp_wall_orange.jpg differ diff --git a/marble/data/interiors/mbp_wall_pink.jpg b/marble/data/interiors/mbp_wall_pink.jpg new file mode 100644 index 0000000..15be0ef Binary files /dev/null and b/marble/data/interiors/mbp_wall_pink.jpg differ diff --git a/marble/data/interiors/mbp_wall_pink_6x6.dif b/marble/data/interiors/mbp_wall_pink_6x6.dif new file mode 100644 index 0000000..0d50d0b Binary files /dev/null and b/marble/data/interiors/mbp_wall_pink_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_purple.jpg b/marble/data/interiors/mbp_wall_purple.jpg new file mode 100644 index 0000000..c3ae57e Binary files /dev/null and b/marble/data/interiors/mbp_wall_purple.jpg differ diff --git a/marble/data/interiors/mbp_wall_purple_6x6.dif b/marble/data/interiors/mbp_wall_purple_6x6.dif new file mode 100644 index 0000000..e03446b Binary files /dev/null and b/marble/data/interiors/mbp_wall_purple_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_red.jpg b/marble/data/interiors/mbp_wall_red.jpg new file mode 100644 index 0000000..f9ba020 Binary files /dev/null and b/marble/data/interiors/mbp_wall_red.jpg differ diff --git a/marble/data/interiors/mbp_wall_red_6x6.dif b/marble/data/interiors/mbp_wall_red_6x6.dif new file mode 100644 index 0000000..cb0e419 Binary files /dev/null and b/marble/data/interiors/mbp_wall_red_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_white.jpg b/marble/data/interiors/mbp_wall_white.jpg new file mode 100644 index 0000000..15fffbe Binary files /dev/null and b/marble/data/interiors/mbp_wall_white.jpg differ diff --git a/marble/data/interiors/mbp_wall_white_6x6.dif b/marble/data/interiors/mbp_wall_white_6x6.dif new file mode 100644 index 0000000..fb7a24f Binary files /dev/null and b/marble/data/interiors/mbp_wall_white_6x6.dif differ diff --git a/marble/data/interiors/mbp_wall_yellow.jpg b/marble/data/interiors/mbp_wall_yellow.jpg new file mode 100644 index 0000000..bd0379d Binary files /dev/null and b/marble/data/interiors/mbp_wall_yellow.jpg differ diff --git a/marble/data/interiors/mbp_wall_yellow_6x6.dif b/marble/data/interiors/mbp_wall_yellow_6x6.dif new file mode 100644 index 0000000..3956164 Binary files /dev/null and b/marble/data/interiors/mbp_wall_yellow_6x6.dif differ diff --git a/marble/data/interiors/mbp_wood_3x3.dif b/marble/data/interiors/mbp_wood_3x3.dif new file mode 100644 index 0000000..388b667 Binary files /dev/null and b/marble/data/interiors/mbp_wood_3x3.dif differ diff --git a/marble/data/interiors/mbu_edge_white.jpg b/marble/data/interiors/mbu_edge_white.jpg new file mode 100644 index 0000000..bb338fc Binary files /dev/null and b/marble/data/interiors/mbu_edge_white.jpg differ diff --git a/marble/data/interiors/mbu_edge_white2.jpg b/marble/data/interiors/mbu_edge_white2.jpg new file mode 100644 index 0000000..965c18e Binary files /dev/null and b/marble/data/interiors/mbu_edge_white2.jpg differ diff --git a/marble/data/interiors/mbu_glass.jpg b/marble/data/interiors/mbu_glass.jpg new file mode 100644 index 0000000..05cb182 Binary files /dev/null and b/marble/data/interiors/mbu_glass.jpg differ diff --git a/marble/data/interiors/mbu_grid_blue1.jpg b/marble/data/interiors/mbu_grid_blue1.jpg new file mode 100644 index 0000000..713b2a4 Binary files /dev/null and b/marble/data/interiors/mbu_grid_blue1.jpg differ diff --git a/marble/data/interiors/mbu_grid_cool1.jpg b/marble/data/interiors/mbu_grid_cool1.jpg new file mode 100644 index 0000000..bdce983 Binary files /dev/null and b/marble/data/interiors/mbu_grid_cool1.jpg differ diff --git a/marble/data/interiors/mbu_grid_green1.jpg b/marble/data/interiors/mbu_grid_green1.jpg new file mode 100644 index 0000000..6e422e4 Binary files /dev/null and b/marble/data/interiors/mbu_grid_green1.jpg differ diff --git a/marble/data/interiors/mbu_grid_green2.jpg b/marble/data/interiors/mbu_grid_green2.jpg new file mode 100644 index 0000000..006ed88 Binary files /dev/null and b/marble/data/interiors/mbu_grid_green2.jpg differ diff --git a/marble/data/interiors/mbu_grid_hot1.jpg b/marble/data/interiors/mbu_grid_hot1.jpg new file mode 100644 index 0000000..c63039a Binary files /dev/null and b/marble/data/interiors/mbu_grid_hot1.jpg differ diff --git a/marble/data/interiors/mbu_grid_neutral1.jpg b/marble/data/interiors/mbu_grid_neutral1.jpg new file mode 100644 index 0000000..c26b40b Binary files /dev/null and b/marble/data/interiors/mbu_grid_neutral1.jpg differ diff --git a/marble/data/interiors/mbu_grid_warm5.jpg b/marble/data/interiors/mbu_grid_warm5.jpg new file mode 100644 index 0000000..6122527 Binary files /dev/null and b/marble/data/interiors/mbu_grid_warm5.jpg differ diff --git a/marble/data/interiors/mbu_neutral.jpg b/marble/data/interiors/mbu_neutral.jpg new file mode 100644 index 0000000..218516f Binary files /dev/null and b/marble/data/interiors/mbu_neutral.jpg differ diff --git a/marble/data/interiors/mbu_neutral2.jpg b/marble/data/interiors/mbu_neutral2.jpg new file mode 100644 index 0000000..3e9fa6e Binary files /dev/null and b/marble/data/interiors/mbu_neutral2.jpg differ diff --git a/marble/data/interiors/mbu_neutral3.jpg b/marble/data/interiors/mbu_neutral3.jpg new file mode 100644 index 0000000..2c4154f Binary files /dev/null and b/marble/data/interiors/mbu_neutral3.jpg differ diff --git a/marble/data/interiors/mbu_neutral4.jpg b/marble/data/interiors/mbu_neutral4.jpg new file mode 100644 index 0000000..cd5d849 Binary files /dev/null and b/marble/data/interiors/mbu_neutral4.jpg differ diff --git a/marble/data/interiors/mbu_neutral5.jpg b/marble/data/interiors/mbu_neutral5.jpg new file mode 100644 index 0000000..a6a3bd7 Binary files /dev/null and b/marble/data/interiors/mbu_neutral5.jpg differ diff --git a/marble/data/interiors/mbu_pattern_cool2.jpg b/marble/data/interiors/mbu_pattern_cool2.jpg new file mode 100644 index 0000000..dc33d41 Binary files /dev/null and b/marble/data/interiors/mbu_pattern_cool2.jpg differ diff --git a/marble/data/interiors/metal001.jpg b/marble/data/interiors/metal001.jpg new file mode 100644 index 0000000..6ecc964 Binary files /dev/null and b/marble/data/interiors/metal001.jpg differ diff --git a/marble/data/interiors/metal013.jpg b/marble/data/interiors/metal013.jpg new file mode 100644 index 0000000..e007f3f Binary files /dev/null and b/marble/data/interiors/metal013.jpg differ diff --git a/marble/data/interiors/midnight_crawler.jpg b/marble/data/interiors/midnight_crawler.jpg new file mode 100644 index 0000000..9aa4547 Binary files /dev/null and b/marble/data/interiors/midnight_crawler.jpg differ diff --git a/marble/data/interiors/minesweeper_texture.png b/marble/data/interiors/minesweeper_texture.png new file mode 100644 index 0000000..024dc5a Binary files /dev/null and b/marble/data/interiors/minesweeper_texture.png differ diff --git a/marble/data/interiors/mmg_10flag.dif b/marble/data/interiors/mmg_10flag.dif new file mode 100644 index 0000000..27e9c2c Binary files /dev/null and b/marble/data/interiors/mmg_10flag.dif differ diff --git a/marble/data/interiors/mmg_11flag.dif b/marble/data/interiors/mmg_11flag.dif new file mode 100644 index 0000000..27e4905 Binary files /dev/null and b/marble/data/interiors/mmg_11flag.dif differ diff --git a/marble/data/interiors/mmg_12flag.dif b/marble/data/interiors/mmg_12flag.dif new file mode 100644 index 0000000..11d5b70 Binary files /dev/null and b/marble/data/interiors/mmg_12flag.dif differ diff --git a/marble/data/interiors/mmg_13flag.dif b/marble/data/interiors/mmg_13flag.dif new file mode 100644 index 0000000..dfc1a7a Binary files /dev/null and b/marble/data/interiors/mmg_13flag.dif differ diff --git a/marble/data/interiors/mmg_14flag.dif b/marble/data/interiors/mmg_14flag.dif new file mode 100644 index 0000000..c5a0aac Binary files /dev/null and b/marble/data/interiors/mmg_14flag.dif differ diff --git a/marble/data/interiors/mmg_15flag.dif b/marble/data/interiors/mmg_15flag.dif new file mode 100644 index 0000000..c4a66ce Binary files /dev/null and b/marble/data/interiors/mmg_15flag.dif differ diff --git a/marble/data/interiors/mmg_16flag.dif b/marble/data/interiors/mmg_16flag.dif new file mode 100644 index 0000000..8f52c9f Binary files /dev/null and b/marble/data/interiors/mmg_16flag.dif differ diff --git a/marble/data/interiors/mmg_17flag.dif b/marble/data/interiors/mmg_17flag.dif new file mode 100644 index 0000000..c98e51a Binary files /dev/null and b/marble/data/interiors/mmg_17flag.dif differ diff --git a/marble/data/interiors/mmg_18flag.dif b/marble/data/interiors/mmg_18flag.dif new file mode 100644 index 0000000..7e72255 Binary files /dev/null and b/marble/data/interiors/mmg_18flag.dif differ diff --git a/marble/data/interiors/mmg_1flag.dif b/marble/data/interiors/mmg_1flag.dif new file mode 100644 index 0000000..f2caca9 Binary files /dev/null and b/marble/data/interiors/mmg_1flag.dif differ diff --git a/marble/data/interiors/mmg_2flag.dif b/marble/data/interiors/mmg_2flag.dif new file mode 100644 index 0000000..0315bc6 Binary files /dev/null and b/marble/data/interiors/mmg_2flag.dif differ diff --git a/marble/data/interiors/mmg_3flag.dif b/marble/data/interiors/mmg_3flag.dif new file mode 100644 index 0000000..3d7d6e8 Binary files /dev/null and b/marble/data/interiors/mmg_3flag.dif differ diff --git a/marble/data/interiors/mmg_4flag.dif b/marble/data/interiors/mmg_4flag.dif new file mode 100644 index 0000000..fd39127 Binary files /dev/null and b/marble/data/interiors/mmg_4flag.dif differ diff --git a/marble/data/interiors/mmg_5flag.dif b/marble/data/interiors/mmg_5flag.dif new file mode 100644 index 0000000..e1e937f Binary files /dev/null and b/marble/data/interiors/mmg_5flag.dif differ diff --git a/marble/data/interiors/mmg_6flag.dif b/marble/data/interiors/mmg_6flag.dif new file mode 100644 index 0000000..5411c12 Binary files /dev/null and b/marble/data/interiors/mmg_6flag.dif differ diff --git a/marble/data/interiors/mmg_7flag.dif b/marble/data/interiors/mmg_7flag.dif new file mode 100644 index 0000000..669840e Binary files /dev/null and b/marble/data/interiors/mmg_7flag.dif differ diff --git a/marble/data/interiors/mmg_8flag.dif b/marble/data/interiors/mmg_8flag.dif new file mode 100644 index 0000000..dd690ab Binary files /dev/null and b/marble/data/interiors/mmg_8flag.dif differ diff --git a/marble/data/interiors/mmg_9flag.dif b/marble/data/interiors/mmg_9flag.dif new file mode 100644 index 0000000..920ab63 Binary files /dev/null and b/marble/data/interiors/mmg_9flag.dif differ diff --git a/marble/data/interiors/mmg_banana.dif b/marble/data/interiors/mmg_banana.dif new file mode 100644 index 0000000..d94fa3d Binary files /dev/null and b/marble/data/interiors/mmg_banana.dif differ diff --git a/marble/data/interiors/mmg_finishflag.dif b/marble/data/interiors/mmg_finishflag.dif new file mode 100644 index 0000000..0bc3318 Binary files /dev/null and b/marble/data/interiors/mmg_finishflag.dif differ diff --git a/marble/data/interiors/mmg_flower.dif b/marble/data/interiors/mmg_flower.dif new file mode 100644 index 0000000..c43bd0e Binary files /dev/null and b/marble/data/interiors/mmg_flower.dif differ diff --git a/marble/data/interiors/mmg_grass.jpg b/marble/data/interiors/mmg_grass.jpg new file mode 100644 index 0000000..0564348 Binary files /dev/null and b/marble/data/interiors/mmg_grass.jpg differ diff --git a/marble/data/interiors/mmg_grass_1x1.dif b/marble/data/interiors/mmg_grass_1x1.dif new file mode 100644 index 0000000..89469a2 Binary files /dev/null and b/marble/data/interiors/mmg_grass_1x1.dif differ diff --git a/marble/data/interiors/mmg_grass_3x3.dif b/marble/data/interiors/mmg_grass_3x3.dif new file mode 100644 index 0000000..d04058f Binary files /dev/null and b/marble/data/interiors/mmg_grass_3x3.dif differ diff --git a/marble/data/interiors/mmg_grass_tube.dif b/marble/data/interiors/mmg_grass_tube.dif new file mode 100644 index 0000000..c2cec34 Binary files /dev/null and b/marble/data/interiors/mmg_grass_tube.dif differ diff --git a/marble/data/interiors/mmg_ice.png b/marble/data/interiors/mmg_ice.png new file mode 100644 index 0000000..bdfbcf7 Binary files /dev/null and b/marble/data/interiors/mmg_ice.png differ diff --git a/marble/data/interiors/mmg_ice_1x1.dif b/marble/data/interiors/mmg_ice_1x1.dif new file mode 100644 index 0000000..aa45978 Binary files /dev/null and b/marble/data/interiors/mmg_ice_1x1.dif differ diff --git a/marble/data/interiors/mmg_ice_3x3.dif b/marble/data/interiors/mmg_ice_3x3.dif new file mode 100644 index 0000000..39e88fb Binary files /dev/null and b/marble/data/interiors/mmg_ice_3x3.dif differ diff --git a/marble/data/interiors/mmg_ice_tube.dif b/marble/data/interiors/mmg_ice_tube.dif new file mode 100644 index 0000000..9980d55 Binary files /dev/null and b/marble/data/interiors/mmg_ice_tube.dif differ diff --git a/marble/data/interiors/mmg_jelly.jpg b/marble/data/interiors/mmg_jelly.jpg new file mode 100644 index 0000000..56e165e Binary files /dev/null and b/marble/data/interiors/mmg_jelly.jpg differ diff --git a/marble/data/interiors/mmg_jellyfish.jpg b/marble/data/interiors/mmg_jellyfish.jpg new file mode 100644 index 0000000..2be2e58 Binary files /dev/null and b/marble/data/interiors/mmg_jellyfish.jpg differ diff --git a/marble/data/interiors/mmg_orange.dif b/marble/data/interiors/mmg_orange.dif new file mode 100644 index 0000000..47ccc9c Binary files /dev/null and b/marble/data/interiors/mmg_orange.dif differ diff --git a/marble/data/interiors/mmg_sand.jpg b/marble/data/interiors/mmg_sand.jpg new file mode 100644 index 0000000..47ee95c Binary files /dev/null and b/marble/data/interiors/mmg_sand.jpg differ diff --git a/marble/data/interiors/mmg_sand_1x1.dif b/marble/data/interiors/mmg_sand_1x1.dif new file mode 100644 index 0000000..57daf26 Binary files /dev/null and b/marble/data/interiors/mmg_sand_1x1.dif differ diff --git a/marble/data/interiors/mmg_sand_3x3.dif b/marble/data/interiors/mmg_sand_3x3.dif new file mode 100644 index 0000000..75e5bdc Binary files /dev/null and b/marble/data/interiors/mmg_sand_3x3.dif differ diff --git a/marble/data/interiors/mmg_sand_tube.dif b/marble/data/interiors/mmg_sand_tube.dif new file mode 100644 index 0000000..2156bb8 Binary files /dev/null and b/marble/data/interiors/mmg_sand_tube.dif differ diff --git a/marble/data/interiors/mmg_t1flag.dif b/marble/data/interiors/mmg_t1flag.dif new file mode 100644 index 0000000..e5a6efb Binary files /dev/null and b/marble/data/interiors/mmg_t1flag.dif differ diff --git a/marble/data/interiors/mmg_t2flag.dif b/marble/data/interiors/mmg_t2flag.dif new file mode 100644 index 0000000..819bd0f Binary files /dev/null and b/marble/data/interiors/mmg_t2flag.dif differ diff --git a/marble/data/interiors/mmg_t3flag.dif b/marble/data/interiors/mmg_t3flag.dif new file mode 100644 index 0000000..fefcdcc Binary files /dev/null and b/marble/data/interiors/mmg_t3flag.dif differ diff --git a/marble/data/interiors/mmg_tree_7x7x12.dif b/marble/data/interiors/mmg_tree_7x7x12.dif new file mode 100644 index 0000000..88cb45d Binary files /dev/null and b/marble/data/interiors/mmg_tree_7x7x12.dif differ diff --git a/marble/data/interiors/mmg_water.jpg b/marble/data/interiors/mmg_water.jpg new file mode 100644 index 0000000..5b5abf6 Binary files /dev/null and b/marble/data/interiors/mmg_water.jpg differ diff --git a/marble/data/interiors/mosaic_black.png b/marble/data/interiors/mosaic_black.png new file mode 100644 index 0000000..77b9cfd Binary files /dev/null and b/marble/data/interiors/mosaic_black.png differ diff --git a/marble/data/interiors/mosaic_blue.png b/marble/data/interiors/mosaic_blue.png new file mode 100644 index 0000000..7b11a4d Binary files /dev/null and b/marble/data/interiors/mosaic_blue.png differ diff --git a/marble/data/interiors/mosaic_cyan.png b/marble/data/interiors/mosaic_cyan.png new file mode 100644 index 0000000..411eade Binary files /dev/null and b/marble/data/interiors/mosaic_cyan.png differ diff --git a/marble/data/interiors/mosaic_green.png b/marble/data/interiors/mosaic_green.png new file mode 100644 index 0000000..f2c8efc Binary files /dev/null and b/marble/data/interiors/mosaic_green.png differ diff --git a/marble/data/interiors/mosaic_indigo.png b/marble/data/interiors/mosaic_indigo.png new file mode 100644 index 0000000..79148ad Binary files /dev/null and b/marble/data/interiors/mosaic_indigo.png differ diff --git a/marble/data/interiors/mosaic_orange.png b/marble/data/interiors/mosaic_orange.png new file mode 100644 index 0000000..6a20426 Binary files /dev/null and b/marble/data/interiors/mosaic_orange.png differ diff --git a/marble/data/interiors/mosaic_purple.png b/marble/data/interiors/mosaic_purple.png new file mode 100644 index 0000000..d924669 Binary files /dev/null and b/marble/data/interiors/mosaic_purple.png differ diff --git a/marble/data/interiors/mosaic_red.png b/marble/data/interiors/mosaic_red.png new file mode 100644 index 0000000..7a7518f Binary files /dev/null and b/marble/data/interiors/mosaic_red.png differ diff --git a/marble/data/interiors/mosaic_yellow.png b/marble/data/interiors/mosaic_yellow.png new file mode 100644 index 0000000..83b5970 Binary files /dev/null and b/marble/data/interiors/mosaic_yellow.png differ diff --git a/marble/data/interiors/movingplatformtemplate.dif b/marble/data/interiors/movingplatformtemplate.dif new file mode 100644 index 0000000..315ee0f Binary files /dev/null and b/marble/data/interiors/movingplatformtemplate.dif differ diff --git a/marble/data/interiors/multitexture.dif b/marble/data/interiors/multitexture.dif new file mode 100644 index 0000000..802ec99 Binary files /dev/null and b/marble/data/interiors/multitexture.dif differ diff --git a/marble/data/interiors/neon11x1.dif b/marble/data/interiors/neon11x1.dif new file mode 100644 index 0000000..0bdd9e9 Binary files /dev/null and b/marble/data/interiors/neon11x1.dif differ diff --git a/marble/data/interiors/neon12x2.dif b/marble/data/interiors/neon12x2.dif new file mode 100644 index 0000000..89af832 Binary files /dev/null and b/marble/data/interiors/neon12x2.dif differ diff --git a/marble/data/interiors/neon1_1x1_triangle.dif b/marble/data/interiors/neon1_1x1_triangle.dif new file mode 100644 index 0000000..0c83088 Binary files /dev/null and b/marble/data/interiors/neon1_1x1_triangle.dif differ diff --git a/marble/data/interiors/neon2_1x1_triangle.dif b/marble/data/interiors/neon2_1x1_triangle.dif new file mode 100644 index 0000000..d7efaf9 Binary files /dev/null and b/marble/data/interiors/neon2_1x1_triangle.dif differ diff --git a/marble/data/interiors/neon3_1x1_triangle.dif b/marble/data/interiors/neon3_1x1_triangle.dif new file mode 100644 index 0000000..61e8955 Binary files /dev/null and b/marble/data/interiors/neon3_1x1_triangle.dif differ diff --git a/marble/data/interiors/neutral2_3x3.dif b/marble/data/interiors/neutral2_3x3.dif new file mode 100644 index 0000000..b790d25 Binary files /dev/null and b/marble/data/interiors/neutral2_3x3.dif differ diff --git a/marble/data/interiors/neutral2_square.dif b/marble/data/interiors/neutral2_square.dif new file mode 100644 index 0000000..681dffe Binary files /dev/null and b/marble/data/interiors/neutral2_square.dif differ diff --git a/marble/data/interiors/neutral3_square.dif b/marble/data/interiors/neutral3_square.dif new file mode 100644 index 0000000..71dce78 Binary files /dev/null and b/marble/data/interiors/neutral3_square.dif differ diff --git a/marble/data/interiors/neutral4_square.dif b/marble/data/interiors/neutral4_square.dif new file mode 100644 index 0000000..4e04c4f Binary files /dev/null and b/marble/data/interiors/neutral4_square.dif differ diff --git a/marble/data/interiors/new01.dif b/marble/data/interiors/new01.dif new file mode 100644 index 0000000..ad5f748 Binary files /dev/null and b/marble/data/interiors/new01.dif differ diff --git a/marble/data/interiors/obelisk_bottom.jpg b/marble/data/interiors/obelisk_bottom.jpg new file mode 100644 index 0000000..9842cf0 Binary files /dev/null and b/marble/data/interiors/obelisk_bottom.jpg differ diff --git a/marble/data/interiors/obelisk_top.jpg b/marble/data/interiors/obelisk_top.jpg new file mode 100644 index 0000000..0c7d6db Binary files /dev/null and b/marble/data/interiors/obelisk_top.jpg differ diff --git a/marble/data/interiors/offwhite.jpg b/marble/data/interiors/offwhite.jpg new file mode 100644 index 0000000..565c49b Binary files /dev/null and b/marble/data/interiors/offwhite.jpg differ diff --git a/marble/data/interiors/orange.jpg b/marble/data/interiors/orange.jpg new file mode 100644 index 0000000..622ff84 Binary files /dev/null and b/marble/data/interiors/orange.jpg differ diff --git a/marble/data/interiors/orange_2x2.dif b/marble/data/interiors/orange_2x2.dif new file mode 100644 index 0000000..24277f5 Binary files /dev/null and b/marble/data/interiors/orange_2x2.dif differ diff --git a/marble/data/interiors/orange_3x3.dif b/marble/data/interiors/orange_3x3.dif new file mode 100644 index 0000000..92b0e9b Binary files /dev/null and b/marble/data/interiors/orange_3x3.dif differ diff --git a/marble/data/interiors/origin.jpg b/marble/data/interiors/origin.jpg new file mode 100644 index 0000000..beda468 Binary files /dev/null and b/marble/data/interiors/origin.jpg differ diff --git a/marble/data/interiors/paleyellow.jpg b/marble/data/interiors/paleyellow.jpg new file mode 100644 index 0000000..492fb0e Binary files /dev/null and b/marble/data/interiors/paleyellow.jpg differ diff --git a/marble/data/interiors/parared.dif b/marble/data/interiors/parared.dif new file mode 100644 index 0000000..6c00521 Binary files /dev/null and b/marble/data/interiors/parared.dif differ diff --git a/marble/data/interiors/parts/boxes/_ b/marble/data/interiors/parts/boxes/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/parts/halftubes/blue_grid.jpg b/marble/data/interiors/parts/halftubes/blue_grid.jpg new file mode 100644 index 0000000..c18dc71 Binary files /dev/null and b/marble/data/interiors/parts/halftubes/blue_grid.jpg differ diff --git a/marble/data/interiors/parts/halftubes/blue_grid2.jpg b/marble/data/interiors/parts/halftubes/blue_grid2.jpg new file mode 100644 index 0000000..340cf22 Binary files /dev/null and b/marble/data/interiors/parts/halftubes/blue_grid2.jpg differ diff --git a/marble/data/interiors/parts/halftubes/halftube_long.dif b/marble/data/interiors/parts/halftubes/halftube_long.dif new file mode 100644 index 0000000..be6504f Binary files /dev/null and b/marble/data/interiors/parts/halftubes/halftube_long.dif differ diff --git a/marble/data/interiors/parts/jumps/_ b/marble/data/interiors/parts/jumps/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/parts/obstacles/_ b/marble/data/interiors/parts/obstacles/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/parts/pads/_ b/marble/data/interiors/parts/pads/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/parts/platforms/_ b/marble/data/interiors/parts/platforms/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/parts/segments/_ b/marble/data/interiors/parts/segments/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/parts/tubes/blue_grid.jpg b/marble/data/interiors/parts/tubes/blue_grid.jpg new file mode 100644 index 0000000..ad9949c Binary files /dev/null and b/marble/data/interiors/parts/tubes/blue_grid.jpg differ diff --git a/marble/data/interiors/parts/tubes/blue_grid2.jpg b/marble/data/interiors/parts/tubes/blue_grid2.jpg new file mode 100644 index 0000000..340cf22 Binary files /dev/null and b/marble/data/interiors/parts/tubes/blue_grid2.jpg differ diff --git a/marble/data/interiors/parts/tubes/tube_lintersect.dif b/marble/data/interiors/parts/tubes/tube_lintersect.dif new file mode 100644 index 0000000..4bd268e Binary files /dev/null and b/marble/data/interiors/parts/tubes/tube_lintersect.dif differ diff --git a/marble/data/interiors/parts/tubes/tube_long.dif b/marble/data/interiors/parts/tubes/tube_long.dif new file mode 100644 index 0000000..09169fe Binary files /dev/null and b/marble/data/interiors/parts/tubes/tube_long.dif differ diff --git a/marble/data/interiors/parts/tubes/tube_turn.dif b/marble/data/interiors/parts/tubes/tube_turn.dif new file mode 100644 index 0000000..dad141a Binary files /dev/null and b/marble/data/interiors/parts/tubes/tube_turn.dif differ diff --git a/marble/data/interiors/parts/white.jpg b/marble/data/interiors/parts/white.jpg new file mode 100644 index 0000000..f6e4e51 Binary files /dev/null and b/marble/data/interiors/parts/white.jpg differ diff --git a/marble/data/interiors/pascal_castle_3x3.dif b/marble/data/interiors/pascal_castle_3x3.dif new file mode 100644 index 0000000..78fd91b Binary files /dev/null and b/marble/data/interiors/pascal_castle_3x3.dif differ diff --git a/marble/data/interiors/pattern1.png b/marble/data/interiors/pattern1.png new file mode 100644 index 0000000..7139bc9 Binary files /dev/null and b/marble/data/interiors/pattern1.png differ diff --git a/marble/data/interiors/pattern_cool1.jpg b/marble/data/interiors/pattern_cool1.jpg new file mode 100644 index 0000000..4eed93d Binary files /dev/null and b/marble/data/interiors/pattern_cool1.jpg differ diff --git a/marble/data/interiors/pattern_cool2.jpg b/marble/data/interiors/pattern_cool2.jpg new file mode 100644 index 0000000..6d7d101 Binary files /dev/null and b/marble/data/interiors/pattern_cool2.jpg differ diff --git a/marble/data/interiors/pattern_neutral1.jpg b/marble/data/interiors/pattern_neutral1.jpg new file mode 100644 index 0000000..ce91bbb Binary files /dev/null and b/marble/data/interiors/pattern_neutral1.jpg differ diff --git a/marble/data/interiors/pattern_neutral2.jpg b/marble/data/interiors/pattern_neutral2.jpg new file mode 100644 index 0000000..f5bc2a3 Binary files /dev/null and b/marble/data/interiors/pattern_neutral2.jpg differ diff --git a/marble/data/interiors/pattern_neutral3.jpg b/marble/data/interiors/pattern_neutral3.jpg new file mode 100644 index 0000000..1e1e086 Binary files /dev/null and b/marble/data/interiors/pattern_neutral3.jpg differ diff --git a/marble/data/interiors/pattern_warm1.jpg b/marble/data/interiors/pattern_warm1.jpg new file mode 100644 index 0000000..84e6f16 Binary files /dev/null and b/marble/data/interiors/pattern_warm1.jpg differ diff --git a/marble/data/interiors/pattern_warm2.jpg b/marble/data/interiors/pattern_warm2.jpg new file mode 100644 index 0000000..a93d75f Binary files /dev/null and b/marble/data/interiors/pattern_warm2.jpg differ diff --git a/marble/data/interiors/pattern_warm3.jpg b/marble/data/interiors/pattern_warm3.jpg new file mode 100644 index 0000000..f6bc173 Binary files /dev/null and b/marble/data/interiors/pattern_warm3.jpg differ diff --git a/marble/data/interiors/pattern_warm4.jpg b/marble/data/interiors/pattern_warm4.jpg new file mode 100644 index 0000000..1727449 Binary files /dev/null and b/marble/data/interiors/pattern_warm4.jpg differ diff --git a/marble/data/interiors/perplexingness1.dif b/marble/data/interiors/perplexingness1.dif new file mode 100644 index 0000000..5d40990 Binary files /dev/null and b/marble/data/interiors/perplexingness1.dif differ diff --git a/marble/data/interiors/perplexingness2.dif b/marble/data/interiors/perplexingness2.dif new file mode 100644 index 0000000..add1a69 Binary files /dev/null and b/marble/data/interiors/perplexingness2.dif differ diff --git a/marble/data/interiors/perplexingness3.dif b/marble/data/interiors/perplexingness3.dif new file mode 100644 index 0000000..b565e10 Binary files /dev/null and b/marble/data/interiors/perplexingness3.dif differ diff --git a/marble/data/interiors/philsmbu_dirttrim.jpg b/marble/data/interiors/philsmbu_dirttrim.jpg new file mode 100644 index 0000000..87917bd Binary files /dev/null and b/marble/data/interiors/philsmbu_dirttrim.jpg differ diff --git a/marble/data/interiors/philsmbu_grid_cool2.jpg b/marble/data/interiors/philsmbu_grid_cool2.jpg new file mode 100644 index 0000000..ecb01de Binary files /dev/null and b/marble/data/interiors/philsmbu_grid_cool2.jpg differ diff --git a/marble/data/interiors/philsmbu_takeastroll.dif b/marble/data/interiors/philsmbu_takeastroll.dif new file mode 100644 index 0000000..152c0e0 Binary files /dev/null and b/marble/data/interiors/philsmbu_takeastroll.dif differ diff --git a/marble/data/interiors/pinball0.dif b/marble/data/interiors/pinball0.dif new file mode 100644 index 0000000..75a4c88 Binary files /dev/null and b/marble/data/interiors/pinball0.dif differ diff --git a/marble/data/interiors/pinball1.dif b/marble/data/interiors/pinball1.dif new file mode 100644 index 0000000..13979f9 Binary files /dev/null and b/marble/data/interiors/pinball1.dif differ diff --git a/marble/data/interiors/pink.jpg b/marble/data/interiors/pink.jpg new file mode 100644 index 0000000..f67c507 Binary files /dev/null and b/marble/data/interiors/pink.jpg differ diff --git a/marble/data/interiors/pink1.png b/marble/data/interiors/pink1.png new file mode 100644 index 0000000..28dfd70 Binary files /dev/null and b/marble/data/interiors/pink1.png differ diff --git a/marble/data/interiors/pink2.png b/marble/data/interiors/pink2.png new file mode 100644 index 0000000..96debcd Binary files /dev/null and b/marble/data/interiors/pink2.png differ diff --git a/marble/data/interiors/pink_3x3.dif b/marble/data/interiors/pink_3x3.dif new file mode 100644 index 0000000..34668ab Binary files /dev/null and b/marble/data/interiors/pink_3x3.dif differ diff --git a/marble/data/interiors/pipe.dif b/marble/data/interiors/pipe.dif new file mode 100644 index 0000000..a561fcc Binary files /dev/null and b/marble/data/interiors/pipe.dif differ diff --git a/marble/data/interiors/pipe3way.dif b/marble/data/interiors/pipe3way.dif new file mode 100644 index 0000000..ef9390b Binary files /dev/null and b/marble/data/interiors/pipe3way.dif differ diff --git a/marble/data/interiors/pipe4.dif b/marble/data/interiors/pipe4.dif new file mode 100644 index 0000000..d2984f6 Binary files /dev/null and b/marble/data/interiors/pipe4.dif differ diff --git a/marble/data/interiors/pipecap.dif b/marble/data/interiors/pipecap.dif new file mode 100644 index 0000000..30d7362 Binary files /dev/null and b/marble/data/interiors/pipecap.dif differ diff --git a/marble/data/interiors/pipeturn.dif b/marble/data/interiors/pipeturn.dif new file mode 100644 index 0000000..5663ea3 Binary files /dev/null and b/marble/data/interiors/pipeturn.dif differ diff --git a/marble/data/interiors/platform_circle.dif b/marble/data/interiors/platform_circle.dif new file mode 100644 index 0000000..8c7dc7a Binary files /dev/null and b/marble/data/interiors/platform_circle.dif differ diff --git a/marble/data/interiors/platform_circle_huge.dif b/marble/data/interiors/platform_circle_huge.dif new file mode 100644 index 0000000..12b90d7 Binary files /dev/null and b/marble/data/interiors/platform_circle_huge.dif differ diff --git a/marble/data/interiors/purpcirc.dif b/marble/data/interiors/purpcirc.dif new file mode 100644 index 0000000..aaa025c Binary files /dev/null and b/marble/data/interiors/purpcirc.dif differ diff --git a/marble/data/interiors/purple1.PNG b/marble/data/interiors/purple1.PNG new file mode 100644 index 0000000..0d6234a Binary files /dev/null and b/marble/data/interiors/purple1.PNG differ diff --git a/marble/data/interiors/purple2.PNG b/marble/data/interiors/purple2.PNG new file mode 100644 index 0000000..d777f2f Binary files /dev/null and b/marble/data/interiors/purple2.PNG differ diff --git a/marble/data/interiors/purptriangles_1x5.dif b/marble/data/interiors/purptriangles_1x5.dif new file mode 100644 index 0000000..6d779fa Binary files /dev/null and b/marble/data/interiors/purptriangles_1x5.dif differ diff --git a/marble/data/interiors/quarksource/_ b/marble/data/interiors/quarksource/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/random_floor.dif b/marble/data/interiors/random_floor.dif new file mode 100644 index 0000000..5ef54b9 Binary files /dev/null and b/marble/data/interiors/random_floor.dif differ diff --git a/marble/data/interiors/randombcf.dif b/marble/data/interiors/randombcf.dif new file mode 100644 index 0000000..69e0e67 Binary files /dev/null and b/marble/data/interiors/randombcf.dif differ diff --git a/marble/data/interiors/red.jpg b/marble/data/interiors/red.jpg new file mode 100644 index 0000000..8f6e251 Binary files /dev/null and b/marble/data/interiors/red.jpg differ diff --git a/marble/data/interiors/red_barnwood.jpg b/marble/data/interiors/red_barnwood.jpg new file mode 100644 index 0000000..d85addd Binary files /dev/null and b/marble/data/interiors/red_barnwood.jpg differ diff --git a/marble/data/interiors/redball.jpg b/marble/data/interiors/redball.jpg new file mode 100644 index 0000000..c939d6b Binary files /dev/null and b/marble/data/interiors/redball.jpg differ diff --git a/marble/data/interiors/redhotcircle.dif b/marble/data/interiors/redhotcircle.dif new file mode 100644 index 0000000..5962f47 Binary files /dev/null and b/marble/data/interiors/redhotcircle.dif differ diff --git a/marble/data/interiors/repairbay.jpg b/marble/data/interiors/repairbay.jpg new file mode 100644 index 0000000..94a4a71 Binary files /dev/null and b/marble/data/interiors/repairbay.jpg differ diff --git a/marble/data/interiors/rivets.jpg b/marble/data/interiors/rivets.jpg new file mode 100644 index 0000000..43df740 Binary files /dev/null and b/marble/data/interiors/rivets.jpg differ diff --git a/marble/data/interiors/road.dif b/marble/data/interiors/road.dif new file mode 100644 index 0000000..b3a67d8 Binary files /dev/null and b/marble/data/interiors/road.dif differ diff --git a/marble/data/interiors/rock.dif b/marble/data/interiors/rock.dif new file mode 100644 index 0000000..2c06b8d Binary files /dev/null and b/marble/data/interiors/rock.dif differ diff --git a/marble/data/interiors/rock.jpg b/marble/data/interiors/rock.jpg new file mode 100644 index 0000000..99833b7 Binary files /dev/null and b/marble/data/interiors/rock.jpg differ diff --git a/marble/data/interiors/rooftiles.jpg b/marble/data/interiors/rooftiles.jpg new file mode 100644 index 0000000..c9b9826 Binary files /dev/null and b/marble/data/interiors/rooftiles.jpg differ diff --git a/marble/data/interiors/rug.jpg b/marble/data/interiors/rug.jpg new file mode 100644 index 0000000..313fbc0 Binary files /dev/null and b/marble/data/interiors/rug.jpg differ diff --git a/marble/data/interiors/rug_3x3.dif b/marble/data/interiors/rug_3x3.dif new file mode 100644 index 0000000..7d29c4f Binary files /dev/null and b/marble/data/interiors/rug_3x3.dif differ diff --git a/marble/data/interiors/rust1.jpg b/marble/data/interiors/rust1.jpg new file mode 100644 index 0000000..d2b4b93 Binary files /dev/null and b/marble/data/interiors/rust1.jpg differ diff --git a/marble/data/interiors/sand.jpg b/marble/data/interiors/sand.jpg new file mode 100644 index 0000000..3e70eb5 Binary files /dev/null and b/marble/data/interiors/sand.jpg differ diff --git a/marble/data/interiors/sand004.jpg b/marble/data/interiors/sand004.jpg new file mode 100644 index 0000000..d4532af Binary files /dev/null and b/marble/data/interiors/sand004.jpg differ diff --git a/marble/data/interiors/sand005.jpg b/marble/data/interiors/sand005.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/sand005.jpg differ diff --git a/marble/data/interiors/sand014.jpg b/marble/data/interiors/sand014.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/sand014.jpg differ diff --git a/marble/data/interiors/sand_3x3.dif b/marble/data/interiors/sand_3x3.dif new file mode 100644 index 0000000..d722d8a Binary files /dev/null and b/marble/data/interiors/sand_3x3.dif differ diff --git a/marble/data/interiors/sand_edge.jpg b/marble/data/interiors/sand_edge.jpg new file mode 100644 index 0000000..0c85a78 Binary files /dev/null and b/marble/data/interiors/sand_edge.jpg differ diff --git a/marble/data/interiors/selection0.dif b/marble/data/interiors/selection0.dif new file mode 100644 index 0000000..b6a318d Binary files /dev/null and b/marble/data/interiors/selection0.dif differ diff --git a/marble/data/interiors/sidewalk.jpg b/marble/data/interiors/sidewalk.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/sidewalk.jpg differ diff --git a/marble/data/interiors/signwood.jpg b/marble/data/interiors/signwood.jpg new file mode 100644 index 0000000..a62df82 Binary files /dev/null and b/marble/data/interiors/signwood.jpg differ diff --git a/marble/data/interiors/sky_BK.jpg b/marble/data/interiors/sky_BK.jpg new file mode 100644 index 0000000..1f28458 Binary files /dev/null and b/marble/data/interiors/sky_BK.jpg differ diff --git a/marble/data/interiors/sky_DN.jpg b/marble/data/interiors/sky_DN.jpg new file mode 100644 index 0000000..475ec1e Binary files /dev/null and b/marble/data/interiors/sky_DN.jpg differ diff --git a/marble/data/interiors/sky_FR.jpg b/marble/data/interiors/sky_FR.jpg new file mode 100644 index 0000000..ab15221 Binary files /dev/null and b/marble/data/interiors/sky_FR.jpg differ diff --git a/marble/data/interiors/sky_LF.jpg b/marble/data/interiors/sky_LF.jpg new file mode 100644 index 0000000..4585d17 Binary files /dev/null and b/marble/data/interiors/sky_LF.jpg differ diff --git a/marble/data/interiors/sky_RT.jpg b/marble/data/interiors/sky_RT.jpg new file mode 100644 index 0000000..c3752ba Binary files /dev/null and b/marble/data/interiors/sky_RT.jpg differ diff --git a/marble/data/interiors/sky_UP.jpg b/marble/data/interiors/sky_UP.jpg new file mode 100644 index 0000000..9d06e59 Binary files /dev/null and b/marble/data/interiors/sky_UP.jpg differ diff --git a/marble/data/interiors/skyscraper.dif b/marble/data/interiors/skyscraper.dif new file mode 100644 index 0000000..284d42e Binary files /dev/null and b/marble/data/interiors/skyscraper.dif differ diff --git a/marble/data/interiors/slipslide.dif b/marble/data/interiors/slipslide.dif new file mode 100644 index 0000000..1d4e1c6 Binary files /dev/null and b/marble/data/interiors/slipslide.dif differ diff --git a/marble/data/interiors/smallplatform.dif b/marble/data/interiors/smallplatform.dif new file mode 100644 index 0000000..d5953bb Binary files /dev/null and b/marble/data/interiors/smallplatform.dif differ diff --git a/marble/data/interiors/smallsquare3.dif b/marble/data/interiors/smallsquare3.dif new file mode 100644 index 0000000..65a9700 Binary files /dev/null and b/marble/data/interiors/smallsquare3.dif differ diff --git a/marble/data/interiors/snow2.jpg b/marble/data/interiors/snow2.jpg new file mode 100644 index 0000000..b3264bb Binary files /dev/null and b/marble/data/interiors/snow2.jpg differ diff --git a/marble/data/interiors/snow_gravel.jpg b/marble/data/interiors/snow_gravel.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/snow_gravel.jpg differ diff --git a/marble/data/interiors/snowpine1.jpg b/marble/data/interiors/snowpine1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/snowpine1.jpg differ diff --git a/marble/data/interiors/snowwindow1.jpg b/marble/data/interiors/snowwindow1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/snowwindow1.jpg differ diff --git a/marble/data/interiors/snowwood1.jpg b/marble/data/interiors/snowwood1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/snowwood1.jpg differ diff --git a/marble/data/interiors/solar.jpg b/marble/data/interiors/solar.jpg new file mode 100644 index 0000000..2685c4d Binary files /dev/null and b/marble/data/interiors/solar.jpg differ diff --git a/marble/data/interiors/solid_black.jpg b/marble/data/interiors/solid_black.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_black.jpg differ diff --git a/marble/data/interiors/solid_cool1.jpg b/marble/data/interiors/solid_cool1.jpg new file mode 100644 index 0000000..a6204fe Binary files /dev/null and b/marble/data/interiors/solid_cool1.jpg differ diff --git a/marble/data/interiors/solid_cool2.jpg b/marble/data/interiors/solid_cool2.jpg new file mode 100644 index 0000000..8c2cb72 Binary files /dev/null and b/marble/data/interiors/solid_cool2.jpg differ diff --git a/marble/data/interiors/solid_dkblue.jpg b/marble/data/interiors/solid_dkblue.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dkblue.jpg differ diff --git a/marble/data/interiors/solid_dkbrown.jpg b/marble/data/interiors/solid_dkbrown.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dkbrown.jpg differ diff --git a/marble/data/interiors/solid_dkgreen.jpg b/marble/data/interiors/solid_dkgreen.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dkgreen.jpg differ diff --git a/marble/data/interiors/solid_dkred.jpg b/marble/data/interiors/solid_dkred.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dkred.jpg differ diff --git a/marble/data/interiors/solid_dktan.jpg b/marble/data/interiors/solid_dktan.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dktan.jpg differ diff --git a/marble/data/interiors/solid_dkwhite.jpg b/marble/data/interiors/solid_dkwhite.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dkwhite.jpg differ diff --git a/marble/data/interiors/solid_dkyellow.jpg b/marble/data/interiors/solid_dkyellow.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_dkyellow.jpg differ diff --git a/marble/data/interiors/solid_green.jpg b/marble/data/interiors/solid_green.jpg new file mode 100644 index 0000000..6ace338 Binary files /dev/null and b/marble/data/interiors/solid_green.jpg differ diff --git a/marble/data/interiors/solid_green_3x3.dif b/marble/data/interiors/solid_green_3x3.dif new file mode 100644 index 0000000..4ca7f0e Binary files /dev/null and b/marble/data/interiors/solid_green_3x3.dif differ diff --git a/marble/data/interiors/solid_ltblue.jpg b/marble/data/interiors/solid_ltblue.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_ltblue.jpg differ diff --git a/marble/data/interiors/solid_ltbrown.jpg b/marble/data/interiors/solid_ltbrown.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_ltbrown.jpg differ diff --git a/marble/data/interiors/solid_ltgreen.jpg b/marble/data/interiors/solid_ltgreen.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_ltgreen.jpg differ diff --git a/marble/data/interiors/solid_ltgrey.jpg b/marble/data/interiors/solid_ltgrey.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_ltgrey.jpg differ diff --git a/marble/data/interiors/solid_ltred.jpg b/marble/data/interiors/solid_ltred.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_ltred.jpg differ diff --git a/marble/data/interiors/solid_lttan.jpg b/marble/data/interiors/solid_lttan.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_lttan.jpg differ diff --git a/marble/data/interiors/solid_lttan_inbounds.jpg b/marble/data/interiors/solid_lttan_inbounds.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_lttan_inbounds.jpg differ diff --git a/marble/data/interiors/solid_ltyellow.jpg b/marble/data/interiors/solid_ltyellow.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_ltyellow.jpg differ diff --git a/marble/data/interiors/solid_mdwhite.jpg b/marble/data/interiors/solid_mdwhite.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/solid_mdwhite.jpg differ diff --git a/marble/data/interiors/solid_neutral1.jpg b/marble/data/interiors/solid_neutral1.jpg new file mode 100644 index 0000000..69c026b Binary files /dev/null and b/marble/data/interiors/solid_neutral1.jpg differ diff --git a/marble/data/interiors/solid_neutral2.jpg b/marble/data/interiors/solid_neutral2.jpg new file mode 100644 index 0000000..2e1c522 Binary files /dev/null and b/marble/data/interiors/solid_neutral2.jpg differ diff --git a/marble/data/interiors/solid_warm1.jpg b/marble/data/interiors/solid_warm1.jpg new file mode 100644 index 0000000..861a82f Binary files /dev/null and b/marble/data/interiors/solid_warm1.jpg differ diff --git a/marble/data/interiors/solid_warm2.jpg b/marble/data/interiors/solid_warm2.jpg new file mode 100644 index 0000000..82048ea Binary files /dev/null and b/marble/data/interiors/solid_warm2.jpg differ diff --git a/marble/data/interiors/solid_white.jpg b/marble/data/interiors/solid_white.jpg new file mode 100644 index 0000000..70cacd2 Binary files /dev/null and b/marble/data/interiors/solid_white.jpg differ diff --git a/marble/data/interiors/sonewall.jpg b/marble/data/interiors/sonewall.jpg new file mode 100644 index 0000000..d4bfded Binary files /dev/null and b/marble/data/interiors/sonewall.jpg differ diff --git a/marble/data/interiors/spaceblock.dif b/marble/data/interiors/spaceblock.dif new file mode 100644 index 0000000..cf37834 Binary files /dev/null and b/marble/data/interiors/spaceblock.dif differ diff --git a/marble/data/interiors/spicy/addon/ski0.dif b/marble/data/interiors/spicy/addon/ski0.dif new file mode 100644 index 0000000..b2dea30 Binary files /dev/null and b/marble/data/interiors/spicy/addon/ski0.dif differ diff --git a/marble/data/interiors/spicy/addon/ski1.dif b/marble/data/interiors/spicy/addon/ski1.dif new file mode 100644 index 0000000..29a9d29 Binary files /dev/null and b/marble/data/interiors/spicy/addon/ski1.dif differ diff --git a/marble/data/interiors/spicy/addon/ski2.dif b/marble/data/interiors/spicy/addon/ski2.dif new file mode 100644 index 0000000..fd7b905 Binary files /dev/null and b/marble/data/interiors/spicy/addon/ski2.dif differ diff --git a/marble/data/interiors/spicy/addon/ski3.dif b/marble/data/interiors/spicy/addon/ski3.dif new file mode 100644 index 0000000..e86d607 Binary files /dev/null and b/marble/data/interiors/spicy/addon/ski3.dif differ diff --git a/marble/data/interiors/square.dif b/marble/data/interiors/square.dif new file mode 100644 index 0000000..76a4be1 Binary files /dev/null and b/marble/data/interiors/square.dif differ diff --git a/marble/data/interiors/square2.dif b/marble/data/interiors/square2.dif new file mode 100644 index 0000000..51fe2b1 Binary files /dev/null and b/marble/data/interiors/square2.dif differ diff --git a/marble/data/interiors/steel.jpg b/marble/data/interiors/steel.jpg new file mode 100644 index 0000000..8da40f3 Binary files /dev/null and b/marble/data/interiors/steel.jpg differ diff --git a/marble/data/interiors/stonewall.jpg b/marble/data/interiors/stonewall.jpg new file mode 100644 index 0000000..c1208a8 Binary files /dev/null and b/marble/data/interiors/stonewall.jpg differ diff --git a/marble/data/interiors/stonewall_grasstop.jpg b/marble/data/interiors/stonewall_grasstop.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/stonewall_grasstop.jpg differ diff --git a/marble/data/interiors/stripe_blue.png b/marble/data/interiors/stripe_blue.png new file mode 100644 index 0000000..233103e Binary files /dev/null and b/marble/data/interiors/stripe_blue.png differ diff --git a/marble/data/interiors/stripe_caution.jpg b/marble/data/interiors/stripe_caution.jpg new file mode 100644 index 0000000..d46d9fb Binary files /dev/null and b/marble/data/interiors/stripe_caution.jpg differ diff --git a/marble/data/interiors/stripe_caution.png b/marble/data/interiors/stripe_caution.png new file mode 100644 index 0000000..9142cd5 Binary files /dev/null and b/marble/data/interiors/stripe_caution.png differ diff --git a/marble/data/interiors/stripe_cool.jpg b/marble/data/interiors/stripe_cool.jpg new file mode 100644 index 0000000..ff91a12 Binary files /dev/null and b/marble/data/interiors/stripe_cool.jpg differ diff --git a/marble/data/interiors/stripe_cool2.jpg b/marble/data/interiors/stripe_cool2.jpg new file mode 100644 index 0000000..f8aa3ed Binary files /dev/null and b/marble/data/interiors/stripe_cool2.jpg differ diff --git a/marble/data/interiors/stripe_green.png b/marble/data/interiors/stripe_green.png new file mode 100644 index 0000000..9963861 Binary files /dev/null and b/marble/data/interiors/stripe_green.png differ diff --git a/marble/data/interiors/stripe_neutral.jpg b/marble/data/interiors/stripe_neutral.jpg new file mode 100644 index 0000000..d029246 Binary files /dev/null and b/marble/data/interiors/stripe_neutral.jpg differ diff --git a/marble/data/interiors/stripe_neutral2.jpg b/marble/data/interiors/stripe_neutral2.jpg new file mode 100644 index 0000000..881c462 Binary files /dev/null and b/marble/data/interiors/stripe_neutral2.jpg differ diff --git a/marble/data/interiors/stripe_red.png b/marble/data/interiors/stripe_red.png new file mode 100644 index 0000000..be55249 Binary files /dev/null and b/marble/data/interiors/stripe_red.png differ diff --git a/marble/data/interiors/stripe_warm.jpg b/marble/data/interiors/stripe_warm.jpg new file mode 100644 index 0000000..25d2be9 Binary files /dev/null and b/marble/data/interiors/stripe_warm.jpg differ diff --git a/marble/data/interiors/stripe_warm2.jpg b/marble/data/interiors/stripe_warm2.jpg new file mode 100644 index 0000000..0361938 Binary files /dev/null and b/marble/data/interiors/stripe_warm2.jpg differ diff --git a/marble/data/interiors/stripes.jpg b/marble/data/interiors/stripes.jpg new file mode 100644 index 0000000..d856717 Binary files /dev/null and b/marble/data/interiors/stripes.jpg differ diff --git a/marble/data/interiors/sweeper10.dif b/marble/data/interiors/sweeper10.dif new file mode 100644 index 0000000..55ac44b Binary files /dev/null and b/marble/data/interiors/sweeper10.dif differ diff --git a/marble/data/interiors/sweeper8.dif b/marble/data/interiors/sweeper8.dif new file mode 100644 index 0000000..2014e65 Binary files /dev/null and b/marble/data/interiors/sweeper8.dif differ diff --git a/marble/data/interiors/t_high_rope.dif b/marble/data/interiors/t_high_rope.dif new file mode 100644 index 0000000..5588711 Binary files /dev/null and b/marble/data/interiors/t_high_rope.dif differ diff --git a/marble/data/interiors/t_high_ropes.dif b/marble/data/interiors/t_high_ropes.dif new file mode 100644 index 0000000..503245f Binary files /dev/null and b/marble/data/interiors/t_high_ropes.dif differ diff --git a/marble/data/interiors/tanwood.jpg b/marble/data/interiors/tanwood.jpg new file mode 100644 index 0000000..05c8477 Binary files /dev/null and b/marble/data/interiors/tanwood.jpg differ diff --git a/marble/data/interiors/tarmac.jpg b/marble/data/interiors/tarmac.jpg new file mode 100644 index 0000000..f5c26c9 Binary files /dev/null and b/marble/data/interiors/tarmac.jpg differ diff --git a/marble/data/interiors/tarmac_3x3.dif b/marble/data/interiors/tarmac_3x3.dif new file mode 100644 index 0000000..8c258ee Binary files /dev/null and b/marble/data/interiors/tarmac_3x3.dif differ diff --git a/marble/data/interiors/tee.dif b/marble/data/interiors/tee.dif new file mode 100644 index 0000000..847c4b6 Binary files /dev/null and b/marble/data/interiors/tee.dif differ diff --git a/marble/data/interiors/test/maps/_ b/marble/data/interiors/test/maps/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/testMap.dif b/marble/data/interiors/testMap.dif new file mode 100644 index 0000000..44e69f5 Binary files /dev/null and b/marble/data/interiors/testMap.dif differ diff --git a/marble/data/interiors/texture.jpg b/marble/data/interiors/texture.jpg new file mode 100644 index 0000000..b19cc1e Binary files /dev/null and b/marble/data/interiors/texture.jpg differ diff --git a/marble/data/interiors/texturesource/_ b/marble/data/interiors/texturesource/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/interiors/thatch.jpg b/marble/data/interiors/thatch.jpg new file mode 100644 index 0000000..ac77a3c Binary files /dev/null and b/marble/data/interiors/thatch.jpg differ diff --git a/marble/data/interiors/thrillride.dif b/marble/data/interiors/thrillride.dif new file mode 100644 index 0000000..f19e517 Binary files /dev/null and b/marble/data/interiors/thrillride.dif differ diff --git a/marble/data/interiors/trail_warning.jpg b/marble/data/interiors/trail_warning.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/trail_warning.jpg differ diff --git a/marble/data/interiors/training_speed.dif b/marble/data/interiors/training_speed.dif new file mode 100644 index 0000000..7e35e06 Binary files /dev/null and b/marble/data/interiors/training_speed.dif differ diff --git a/marble/data/interiors/training_time.dif b/marble/data/interiors/training_time.dif new file mode 100644 index 0000000..efc1309 Binary files /dev/null and b/marble/data/interiors/training_time.dif differ diff --git a/marble/data/interiors/trapdoor.dif b/marble/data/interiors/trapdoor.dif new file mode 100644 index 0000000..801e602 Binary files /dev/null and b/marble/data/interiors/trapdoor.dif differ diff --git a/marble/data/interiors/tree3big.dif b/marble/data/interiors/tree3big.dif new file mode 100644 index 0000000..4f85339 Binary files /dev/null and b/marble/data/interiors/tree3big.dif differ diff --git a/marble/data/interiors/trigger.jpg b/marble/data/interiors/trigger.jpg new file mode 100644 index 0000000..65e7d2f Binary files /dev/null and b/marble/data/interiors/trigger.jpg differ diff --git a/marble/data/interiors/trim_cool1.jpg b/marble/data/interiors/trim_cool1.jpg new file mode 100644 index 0000000..79806dd Binary files /dev/null and b/marble/data/interiors/trim_cool1.jpg differ diff --git a/marble/data/interiors/trim_cool2.jpg b/marble/data/interiors/trim_cool2.jpg new file mode 100644 index 0000000..771abea Binary files /dev/null and b/marble/data/interiors/trim_cool2.jpg differ diff --git a/marble/data/interiors/trim_cool3.jpg b/marble/data/interiors/trim_cool3.jpg new file mode 100644 index 0000000..8701531 Binary files /dev/null and b/marble/data/interiors/trim_cool3.jpg differ diff --git a/marble/data/interiors/trim_neutral1.jpg b/marble/data/interiors/trim_neutral1.jpg new file mode 100644 index 0000000..4cfe635 Binary files /dev/null and b/marble/data/interiors/trim_neutral1.jpg differ diff --git a/marble/data/interiors/trim_neutral2.jpg b/marble/data/interiors/trim_neutral2.jpg new file mode 100644 index 0000000..05c9667 Binary files /dev/null and b/marble/data/interiors/trim_neutral2.jpg differ diff --git a/marble/data/interiors/trim_stand_10.dif b/marble/data/interiors/trim_stand_10.dif new file mode 100644 index 0000000..6461201 Binary files /dev/null and b/marble/data/interiors/trim_stand_10.dif differ diff --git a/marble/data/interiors/trim_stand_25.dif b/marble/data/interiors/trim_stand_25.dif new file mode 100644 index 0000000..42a3a6b Binary files /dev/null and b/marble/data/interiors/trim_stand_25.dif differ diff --git a/marble/data/interiors/trim_stand_50.dif b/marble/data/interiors/trim_stand_50.dif new file mode 100644 index 0000000..04eaf3a Binary files /dev/null and b/marble/data/interiors/trim_stand_50.dif differ diff --git a/marble/data/interiors/trim_warm1.jpg b/marble/data/interiors/trim_warm1.jpg new file mode 100644 index 0000000..ff60238 Binary files /dev/null and b/marble/data/interiors/trim_warm1.jpg differ diff --git a/marble/data/interiors/trim_warm2.jpg b/marble/data/interiors/trim_warm2.jpg new file mode 100644 index 0000000..105139b Binary files /dev/null and b/marble/data/interiors/trim_warm2.jpg differ diff --git a/marble/data/interiors/trim_white1.jpg b/marble/data/interiors/trim_white1.jpg new file mode 100644 index 0000000..c48bd0e Binary files /dev/null and b/marble/data/interiors/trim_white1.jpg differ diff --git a/marble/data/interiors/trim_white2.jpg b/marble/data/interiors/trim_white2.jpg new file mode 100644 index 0000000..a11fb63 Binary files /dev/null and b/marble/data/interiors/trim_white2.jpg differ diff --git a/marble/data/interiors/tube_cool.jpg b/marble/data/interiors/tube_cool.jpg new file mode 100644 index 0000000..1f2085e Binary files /dev/null and b/marble/data/interiors/tube_cool.jpg differ diff --git a/marble/data/interiors/tube_lintersect.dif b/marble/data/interiors/tube_lintersect.dif new file mode 100644 index 0000000..4bd268e Binary files /dev/null and b/marble/data/interiors/tube_lintersect.dif differ diff --git a/marble/data/interiors/tube_long.dif b/marble/data/interiors/tube_long.dif new file mode 100644 index 0000000..09169fe Binary files /dev/null and b/marble/data/interiors/tube_long.dif differ diff --git a/marble/data/interiors/tube_neutral.jpg b/marble/data/interiors/tube_neutral.jpg new file mode 100644 index 0000000..3931cc2 Binary files /dev/null and b/marble/data/interiors/tube_neutral.jpg differ diff --git a/marble/data/interiors/tube_space.dif b/marble/data/interiors/tube_space.dif new file mode 100644 index 0000000..4687919 Binary files /dev/null and b/marble/data/interiors/tube_space.dif differ diff --git a/marble/data/interiors/tube_turn.dif b/marble/data/interiors/tube_turn.dif new file mode 100644 index 0000000..dad141a Binary files /dev/null and b/marble/data/interiors/tube_turn.dif differ diff --git a/marble/data/interiors/tube_warm.jpg b/marble/data/interiors/tube_warm.jpg new file mode 100644 index 0000000..bd55c4b Binary files /dev/null and b/marble/data/interiors/tube_warm.jpg differ diff --git a/marble/data/interiors/tube_warm_long.dif b/marble/data/interiors/tube_warm_long.dif new file mode 100644 index 0000000..2db69ac Binary files /dev/null and b/marble/data/interiors/tube_warm_long.dif differ diff --git a/marble/data/interiors/turquoise1.png b/marble/data/interiors/turquoise1.png new file mode 100644 index 0000000..68b3388 Binary files /dev/null and b/marble/data/interiors/turquoise1.png differ diff --git a/marble/data/interiors/umbrella.dif b/marble/data/interiors/umbrella.dif new file mode 100644 index 0000000..51a0cee Binary files /dev/null and b/marble/data/interiors/umbrella.dif differ diff --git a/marble/data/interiors/uoy.dif b/marble/data/interiors/uoy.dif new file mode 100644 index 0000000..0ec953f Binary files /dev/null and b/marble/data/interiors/uoy.dif differ diff --git a/marble/data/interiors/utmp1.dif b/marble/data/interiors/utmp1.dif new file mode 100644 index 0000000..bc20a54 Binary files /dev/null and b/marble/data/interiors/utmp1.dif differ diff --git a/marble/data/interiors/utmp2.dif b/marble/data/interiors/utmp2.dif new file mode 100644 index 0000000..760e1fb Binary files /dev/null and b/marble/data/interiors/utmp2.dif differ diff --git a/marble/data/interiors/wall1.png b/marble/data/interiors/wall1.png new file mode 100644 index 0000000..2c8c770 Binary files /dev/null and b/marble/data/interiors/wall1.png differ diff --git a/marble/data/interiors/wall2.png b/marble/data/interiors/wall2.png new file mode 100644 index 0000000..4f329fd Binary files /dev/null and b/marble/data/interiors/wall2.png differ diff --git a/marble/data/interiors/wall3.png b/marble/data/interiors/wall3.png new file mode 100644 index 0000000..8f8c5fe Binary files /dev/null and b/marble/data/interiors/wall3.png differ diff --git a/marble/data/interiors/wall4.png b/marble/data/interiors/wall4.png new file mode 100644 index 0000000..04af846 Binary files /dev/null and b/marble/data/interiors/wall4.png differ diff --git a/marble/data/interiors/wall_1x1.dif b/marble/data/interiors/wall_1x1.dif new file mode 100644 index 0000000..7da1058 Binary files /dev/null and b/marble/data/interiors/wall_1x1.dif differ diff --git a/marble/data/interiors/wall_3x3.dif b/marble/data/interiors/wall_3x3.dif new file mode 100644 index 0000000..4c085b1 Binary files /dev/null and b/marble/data/interiors/wall_3x3.dif differ diff --git a/marble/data/interiors/wall_5x5.dif b/marble/data/interiors/wall_5x5.dif new file mode 100644 index 0000000..324a0d6 Binary files /dev/null and b/marble/data/interiors/wall_5x5.dif differ diff --git a/marble/data/interiors/wall_cool1.jpg b/marble/data/interiors/wall_cool1.jpg new file mode 100644 index 0000000..fb89ee7 Binary files /dev/null and b/marble/data/interiors/wall_cool1.jpg differ diff --git a/marble/data/interiors/wall_cool2.jpg b/marble/data/interiors/wall_cool2.jpg new file mode 100644 index 0000000..19e2981 Binary files /dev/null and b/marble/data/interiors/wall_cool2.jpg differ diff --git a/marble/data/interiors/wall_crack1.jpg b/marble/data/interiors/wall_crack1.jpg new file mode 100644 index 0000000..c607fc8 Binary files /dev/null and b/marble/data/interiors/wall_crack1.jpg differ diff --git a/marble/data/interiors/wall_crack2.jpg b/marble/data/interiors/wall_crack2.jpg new file mode 100644 index 0000000..19e0bec Binary files /dev/null and b/marble/data/interiors/wall_crack2.jpg differ diff --git a/marble/data/interiors/wall_crack3.jpg b/marble/data/interiors/wall_crack3.jpg new file mode 100644 index 0000000..278fd9b Binary files /dev/null and b/marble/data/interiors/wall_crack3.jpg differ diff --git a/marble/data/interiors/wall_crack4.jpg b/marble/data/interiors/wall_crack4.jpg new file mode 100644 index 0000000..832afb1 Binary files /dev/null and b/marble/data/interiors/wall_crack4.jpg differ diff --git a/marble/data/interiors/wall_crack5.jpg b/marble/data/interiors/wall_crack5.jpg new file mode 100644 index 0000000..1be452b Binary files /dev/null and b/marble/data/interiors/wall_crack5.jpg differ diff --git a/marble/data/interiors/wall_neutral1.jpg b/marble/data/interiors/wall_neutral1.jpg new file mode 100644 index 0000000..0ca5164 Binary files /dev/null and b/marble/data/interiors/wall_neutral1.jpg differ diff --git a/marble/data/interiors/wall_neutral2.jpg b/marble/data/interiors/wall_neutral2.jpg new file mode 100644 index 0000000..d302e9c Binary files /dev/null and b/marble/data/interiors/wall_neutral2.jpg differ diff --git a/marble/data/interiors/wall_neutral3.jpg b/marble/data/interiors/wall_neutral3.jpg new file mode 100644 index 0000000..67aec84 Binary files /dev/null and b/marble/data/interiors/wall_neutral3.jpg differ diff --git a/marble/data/interiors/wall_warm1.jpg b/marble/data/interiors/wall_warm1.jpg new file mode 100644 index 0000000..441c42e Binary files /dev/null and b/marble/data/interiors/wall_warm1.jpg differ diff --git a/marble/data/interiors/wall_warm2.jpg b/marble/data/interiors/wall_warm2.jpg new file mode 100644 index 0000000..5f0657b Binary files /dev/null and b/marble/data/interiors/wall_warm2.jpg differ diff --git a/marble/data/interiors/wall_warm3.jpg b/marble/data/interiors/wall_warm3.jpg new file mode 100644 index 0000000..02ddac3 Binary files /dev/null and b/marble/data/interiors/wall_warm3.jpg differ diff --git a/marble/data/interiors/wall_white.jpg b/marble/data/interiors/wall_white.jpg new file mode 100644 index 0000000..71d86a4 Binary files /dev/null and b/marble/data/interiors/wall_white.jpg differ diff --git a/marble/data/interiors/wallgreen_2x2.dif b/marble/data/interiors/wallgreen_2x2.dif new file mode 100644 index 0000000..87ac05b Binary files /dev/null and b/marble/data/interiors/wallgreen_2x2.dif differ diff --git a/marble/data/interiors/warm1_1x1.dif b/marble/data/interiors/warm1_1x1.dif new file mode 100644 index 0000000..3a93a45 Binary files /dev/null and b/marble/data/interiors/warm1_1x1.dif differ diff --git a/marble/data/interiors/warm1_3x3.dif b/marble/data/interiors/warm1_3x3.dif new file mode 100644 index 0000000..e871615 Binary files /dev/null and b/marble/data/interiors/warm1_3x3.dif differ diff --git a/marble/data/interiors/warm1_5x5.dif b/marble/data/interiors/warm1_5x5.dif new file mode 100644 index 0000000..eda2a6d Binary files /dev/null and b/marble/data/interiors/warm1_5x5.dif differ diff --git a/marble/data/interiors/warm_1x1.dif b/marble/data/interiors/warm_1x1.dif new file mode 100644 index 0000000..c901605 Binary files /dev/null and b/marble/data/interiors/warm_1x1.dif differ diff --git a/marble/data/interiors/warm_1x1_mp.dif b/marble/data/interiors/warm_1x1_mp.dif new file mode 100644 index 0000000..c959f62 Binary files /dev/null and b/marble/data/interiors/warm_1x1_mp.dif differ diff --git a/marble/data/interiors/warm_3x3.dif b/marble/data/interiors/warm_3x3.dif new file mode 100644 index 0000000..5686925 Binary files /dev/null and b/marble/data/interiors/warm_3x3.dif differ diff --git a/marble/data/interiors/warm_5x5.dif b/marble/data/interiors/warm_5x5.dif new file mode 100644 index 0000000..9c010af Binary files /dev/null and b/marble/data/interiors/warm_5x5.dif differ diff --git a/marble/data/interiors/water.jpg b/marble/data/interiors/water.jpg new file mode 100644 index 0000000..ceb2d0c Binary files /dev/null and b/marble/data/interiors/water.jpg differ diff --git a/marble/data/interiors/water_1x1.dif b/marble/data/interiors/water_1x1.dif new file mode 100644 index 0000000..272135c Binary files /dev/null and b/marble/data/interiors/water_1x1.dif differ diff --git a/marble/data/interiors/water_20x20.dif b/marble/data/interiors/water_20x20.dif new file mode 100644 index 0000000..ab907fb Binary files /dev/null and b/marble/data/interiors/water_20x20.dif differ diff --git a/marble/data/interiors/water_3x3.dif b/marble/data/interiors/water_3x3.dif new file mode 100644 index 0000000..766cb5c Binary files /dev/null and b/marble/data/interiors/water_3x3.dif differ diff --git a/marble/data/interiors/wawa.dif b/marble/data/interiors/wawa.dif new file mode 100644 index 0000000..3140686 Binary files /dev/null and b/marble/data/interiors/wawa.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-0.dif b/marble/data/interiors/wc/WoodenCurve-0.dif new file mode 100644 index 0000000..130c790 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-0.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-1.dif b/marble/data/interiors/wc/WoodenCurve-1.dif new file mode 100644 index 0000000..a64a15f Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-1.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-10.dif b/marble/data/interiors/wc/WoodenCurve-10.dif new file mode 100644 index 0000000..92eda9a Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-10.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-11.dif b/marble/data/interiors/wc/WoodenCurve-11.dif new file mode 100644 index 0000000..3b424f1 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-11.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-12.dif b/marble/data/interiors/wc/WoodenCurve-12.dif new file mode 100644 index 0000000..ba6afea Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-12.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-13.dif b/marble/data/interiors/wc/WoodenCurve-13.dif new file mode 100644 index 0000000..85d1656 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-13.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-14.dif b/marble/data/interiors/wc/WoodenCurve-14.dif new file mode 100644 index 0000000..266f250 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-14.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-15.dif b/marble/data/interiors/wc/WoodenCurve-15.dif new file mode 100644 index 0000000..37a772f Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-15.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-2.dif b/marble/data/interiors/wc/WoodenCurve-2.dif new file mode 100644 index 0000000..d1a9db6 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-2.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-3.dif b/marble/data/interiors/wc/WoodenCurve-3.dif new file mode 100644 index 0000000..421117c Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-3.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-4.dif b/marble/data/interiors/wc/WoodenCurve-4.dif new file mode 100644 index 0000000..44712f3 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-4.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-5.dif b/marble/data/interiors/wc/WoodenCurve-5.dif new file mode 100644 index 0000000..cdc3e17 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-5.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-6.dif b/marble/data/interiors/wc/WoodenCurve-6.dif new file mode 100644 index 0000000..c9657d2 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-6.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-7.dif b/marble/data/interiors/wc/WoodenCurve-7.dif new file mode 100644 index 0000000..8d5536b Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-7.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-8.dif b/marble/data/interiors/wc/WoodenCurve-8.dif new file mode 100644 index 0000000..2c9ed35 Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-8.dif differ diff --git a/marble/data/interiors/wc/WoodenCurve-9.dif b/marble/data/interiors/wc/WoodenCurve-9.dif new file mode 100644 index 0000000..3cbe1ef Binary files /dev/null and b/marble/data/interiors/wc/WoodenCurve-9.dif differ diff --git a/marble/data/interiors/white.jpg b/marble/data/interiors/white.jpg new file mode 100644 index 0000000..eca572c Binary files /dev/null and b/marble/data/interiors/white.jpg differ diff --git a/marble/data/interiors/whiteball.jpg b/marble/data/interiors/whiteball.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/whiteball.jpg differ diff --git a/marble/data/interiors/whiteedge.jpg b/marble/data/interiors/whiteedge.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/whiteedge.jpg differ diff --git a/marble/data/interiors/whitewood.jpg b/marble/data/interiors/whitewood.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/whitewood.jpg differ diff --git a/marble/data/interiors/wood.png b/marble/data/interiors/wood.png new file mode 100644 index 0000000..c1d86d2 Binary files /dev/null and b/marble/data/interiors/wood.png differ diff --git a/marble/data/interiors/wood1.jpg b/marble/data/interiors/wood1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/wood1.jpg differ diff --git a/marble/data/interiors/wood1x3.dif b/marble/data/interiors/wood1x3.dif new file mode 100644 index 0000000..06ffbf5 Binary files /dev/null and b/marble/data/interiors/wood1x3.dif differ diff --git a/marble/data/interiors/wood2x2.dif b/marble/data/interiors/wood2x2.dif new file mode 100644 index 0000000..7ee180a Binary files /dev/null and b/marble/data/interiors/wood2x2.dif differ diff --git a/marble/data/interiors/wood2x2exit1.dif b/marble/data/interiors/wood2x2exit1.dif new file mode 100644 index 0000000..070bca0 Binary files /dev/null and b/marble/data/interiors/wood2x2exit1.dif differ diff --git a/marble/data/interiors/wood2x2exit2.dif b/marble/data/interiors/wood2x2exit2.dif new file mode 100644 index 0000000..41a7f59 Binary files /dev/null and b/marble/data/interiors/wood2x2exit2.dif differ diff --git a/marble/data/interiors/wood2x2exit3.dif b/marble/data/interiors/wood2x2exit3.dif new file mode 100644 index 0000000..53cf962 Binary files /dev/null and b/marble/data/interiors/wood2x2exit3.dif differ diff --git a/marble/data/interiors/wood2x2hole.dif b/marble/data/interiors/wood2x2hole.dif new file mode 100644 index 0000000..4e45520 Binary files /dev/null and b/marble/data/interiors/wood2x2hole.dif differ diff --git a/marble/data/interiors/wooden.dif b/marble/data/interiors/wooden.dif new file mode 100644 index 0000000..8498f96 Binary files /dev/null and b/marble/data/interiors/wooden.dif differ diff --git a/marble/data/interiors/wrappingpaper1.jpg b/marble/data/interiors/wrappingpaper1.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/wrappingpaper1.jpg differ diff --git a/marble/data/interiors/xbox/ascend.dif b/marble/data/interiors/xbox/ascend.dif new file mode 100644 index 0000000..4ca0212 Binary files /dev/null and b/marble/data/interiors/xbox/ascend.dif differ diff --git a/marble/data/interiors/xbox/blackdiamond1.dif b/marble/data/interiors/xbox/blackdiamond1.dif new file mode 100644 index 0000000..9e3b9ed Binary files /dev/null and b/marble/data/interiors/xbox/blackdiamond1.dif differ diff --git a/marble/data/interiors/xbox/blackdiamond2.dif b/marble/data/interiors/xbox/blackdiamond2.dif new file mode 100644 index 0000000..af09881 Binary files /dev/null and b/marble/data/interiors/xbox/blackdiamond2.dif differ diff --git a/marble/data/interiors/xbox/blackdiamond3.dif b/marble/data/interiors/xbox/blackdiamond3.dif new file mode 100644 index 0000000..4e0c515 Binary files /dev/null and b/marble/data/interiors/xbox/blackdiamond3.dif differ diff --git a/marble/data/interiors/xbox/cube.dif b/marble/data/interiors/xbox/cube.dif new file mode 100644 index 0000000..2b0c293 Binary files /dev/null and b/marble/data/interiors/xbox/cube.dif differ diff --git a/marble/data/interiors/xbox/divergence.dif b/marble/data/interiors/xbox/divergence.dif new file mode 100644 index 0000000..888a400 Binary files /dev/null and b/marble/data/interiors/xbox/divergence.dif differ diff --git a/marble/data/interiors/xbox/endurance.dif b/marble/data/interiors/xbox/endurance.dif new file mode 100644 index 0000000..e5f3b00 Binary files /dev/null and b/marble/data/interiors/xbox/endurance.dif differ diff --git a/marble/data/interiors/xbox/urban_jungle_xbox.dif b/marble/data/interiors/xbox/urban_jungle_xbox.dif new file mode 100644 index 0000000..64d013f Binary files /dev/null and b/marble/data/interiors/xbox/urban_jungle_xbox.dif differ diff --git a/marble/data/interiors/xbox/ziggurat.dif b/marble/data/interiors/xbox/ziggurat.dif new file mode 100644 index 0000000..b5da268 Binary files /dev/null and b/marble/data/interiors/xbox/ziggurat.dif differ diff --git a/marble/data/interiors/yellow2_15x15.dif b/marble/data/interiors/yellow2_15x15.dif new file mode 100644 index 0000000..13a7e9e Binary files /dev/null and b/marble/data/interiors/yellow2_15x15.dif differ diff --git a/marble/data/interiors/yellow2_1x1.dif b/marble/data/interiors/yellow2_1x1.dif new file mode 100644 index 0000000..8675ad8 Binary files /dev/null and b/marble/data/interiors/yellow2_1x1.dif differ diff --git a/marble/data/interiors/yellow2_2x2.dif b/marble/data/interiors/yellow2_2x2.dif new file mode 100644 index 0000000..a9b7ba4 Binary files /dev/null and b/marble/data/interiors/yellow2_2x2.dif differ diff --git a/marble/data/interiors/yellow2_3x3.dif b/marble/data/interiors/yellow2_3x3.dif new file mode 100644 index 0000000..41454ff Binary files /dev/null and b/marble/data/interiors/yellow2_3x3.dif differ diff --git a/marble/data/interiors/yellow_1x1.dif b/marble/data/interiors/yellow_1x1.dif new file mode 100644 index 0000000..04d53b2 Binary files /dev/null and b/marble/data/interiors/yellow_1x1.dif differ diff --git a/marble/data/interiors/yellow_3x3.dif b/marble/data/interiors/yellow_3x3.dif new file mode 100644 index 0000000..eb38fca Binary files /dev/null and b/marble/data/interiors/yellow_3x3.dif differ diff --git a/marble/data/interiors/yellow_woodend.jpg b/marble/data/interiors/yellow_woodend.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/yellow_woodend.jpg differ diff --git a/marble/data/interiors/yellow_woodside.jpg b/marble/data/interiors/yellow_woodside.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/yellow_woodside.jpg differ diff --git a/marble/data/interiors/yellow_woodvert.jpg b/marble/data/interiors/yellow_woodvert.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/yellow_woodvert.jpg differ diff --git a/marble/data/interiors/yellowball.jpg b/marble/data/interiors/yellowball.jpg new file mode 100644 index 0000000..6f61438 Binary files /dev/null and b/marble/data/interiors/yellowball.jpg differ diff --git a/marble/data/missions/advanced/AdventureIsland.mis b/marble/data/missions/advanced/AdventureIsland.mis new file mode 100644 index 0000000..6bebfef --- /dev/null +++ b/marble/data/missions/advanced/AdventureIsland.mis @@ -0,0 +1,1274 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + desc = "A long treacherous journey across a vast plane."; + level = "1"; + name = "Adventure Island"; + startHelpText = "Move next to other marbles to receive hints"; + goldTime = "210000"; + type = "Advanced"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-45.3733 62.8725 531.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "297.193 -640.132 419.43"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new StaticShape() { + position = "-61.977 67.5554 340.03"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "-45.2918 63.0792 506.14"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.0034 63.4709 548.668"; + rotation = "0 0 1 1.14602"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.1925 62.8839 542.762"; + rotation = "0 0 1 36.0963"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.7037 63.1437 533.544"; + rotation = "0 0 -1 72.1927"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.8656 62.9721 523.944"; + rotation = "0 0 -1 111.154"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.2019 62.9219 514.16"; + rotation = "0 0 1 29.7938"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.338 62.9261 498.821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-43.0223 60.4215 393.431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/tree.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.1969 63.6871 461.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-64.6565 37.648 362.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/tree.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-36.948 62.3562 422.408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/smallsquare.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "7301"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "330.729 -272.861 393.946"; + rotation = "-0.703772 0.710339 0.0111548 179.653"; + scale = "5 25 10"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "261.62 77.4547 406.156"; + rotation = "0 0 1 90.5273"; + scale = "3 3 3"; + interiorFile = "~/data/interiors/addon/mudslide.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "227.827 190.592 367.688"; + rotation = "1 0 0 17.7617"; + scale = "1 3 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "226.33 -204.786 407.218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle_huge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "286.274 -222.775 404.441"; + rotation = "1 0 0 90.5273"; + scale = "10 1 1"; + interiorFile = "~/data/interiors/smallsquare.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "259.2 -208.266 406.596"; + rotation = "0.99639 6.76178e-005 -0.0848976 179.909"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "274.933 -210.271 402.622"; + rotation = "0.975222 -0.175061 -0.135262 165.069"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "289.658 -214.914 397.965"; + rotation = "0.988944 -0.0336914 -0.14441 205.984"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "318.061 -224.477 394.95"; + rotation = "0.0103121 -0.00999931 -0.999897 88.2414"; + scale = "0.5 1.5 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "339.94 -635.511 401.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl0.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "11848"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "326.084 -319.649 393.704"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "327.083 -323.646 393.373"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.891 -327.034 393.824"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.697 -330.415 394.274"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.506 -333.794 394.725"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.317 -337.169 395.176"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "326.126 -340.542 395.627"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "325.931 -343.945 396.078"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "325.743 -347.248 396.53"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "325.544 -350.648 396.98"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "325.353 -354.122 397.43"; + rotation = "-1 0 0 0.569237"; + scale = "5 2 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "328.248 -438.402 397.346"; + rotation = "1 0 0 0"; + scale = "5 40 10"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "328.408 -585.647 389.096"; + rotation = "1 0 0 0"; + scale = "1 2 1"; + interiorFile = "~/data/interiors/advanced/platform_circle_huge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.3341 62.9143 531.405"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "13658"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "302.595 -641.188 419.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-64.6549 37.8142 399.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-64.7345 37.6778 401.864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.9435 60.4273 385.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "227.762 53.6188 412.773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "227.515 -21.2256 433.889"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "227.617 -50.4357 443.687"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "323.298 -634.092 402.121"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "320.454 -634.027 402.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "345.873 49.967 406.311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "233.216 39.4831 397.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "351.442 25.9911 407.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "315.399 103.479 430.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-58.6235 39.521 392.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/smallsquare.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-42.512 71.5949 458.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new StaticShape() { + position = "-63.4857 22.5927 411.937"; + rotation = "0.865119 -0.363553 0.34554 95.3819"; + scale = "2 2 2"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "-52.6147 54.6101 397.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-42.0936 64.4912 430.627"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new StaticShape() { + position = "-59.7174 31.9653 427.303"; + rotation = "0 0 1 231.085"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "-58.1456 28.2696 427.829"; + rotation = "1 0 0 179.336"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "-56.7529 36.8878 409.934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2148"; + bonusTime = "0"; + time = "0"; + }; + new Item() { + position = "-50.2794 89.7389 432.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-45.2804 62.6925 503.038"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "367.894 -18.1485 420.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-78.4192 18.1442 395.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-57.5725 56.4216 396.934"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "-57.6177 56.4358 398.404"; + rotation = "0 0 -1 33.8045"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "-64.6901 41.6656 400.414"; + rotation = "0 0 1 181.628"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "-71.559 66.6221 401.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "239.331 -3.68912 404.979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "227.707 14.6119 422.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "228.428 65.4992 412.361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "317.654 -631.224 403.469"; + rotation = "0 0 -1 46.9825"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "373.806 -297.826 397.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "359.26 -281.162 395.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "288.16 -312.305 398.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "298.894 -260.335 397.374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "313.226 -242.439 395.61"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3718"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "330.229 -222.938 395.739"; + rotation = "0.999388 -2.78707e-005 0.0349928 179.909"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "304.031 -216.364 393.419"; + rotation = "0.9799 0.0657368 -0.18835 217.582"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "317.789 -215.419 390.375"; + rotation = "1 0 0 169.023"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "333.131 -215.689 392.894"; + rotation = "0.984724 0.00247312 0.174108 181.603"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "346.453 -217.658 399.25"; + rotation = "0.952991 -0.143502 0.266861 173.778"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "345.85 -222.167 399.367"; + rotation = "0.982655 0.0481347 0.179089 180.373"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "347.439 -222.406 400.028"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "357.791 -271.476 395.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "340.041 -239.395 395.394"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "333.007 -244.736 394.652"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "326.006 -255.525 394.988"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "339.866 -298.392 394.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "334.468 -300.716 393.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "324.406 -300.672 394.212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "348.366 -297.964 394.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "371.046 -288.986 397.309"; + rotation = "0 1 0 16.0429"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "367.407 -307.805 396.418"; + rotation = "0 1 0 11.4591"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "291.672 -313.174 398.262"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "316.187 -239.419 395.356"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "313.407 -238.416 395.665"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "304.338 -256.872 396.464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "300.164 -255.765 397.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "298.523 -255.081 397.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "302.525 -255.412 396.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "302.441 -256.969 396.888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "287.661 -313.866 399.116"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "289.558 -313.642 398.646"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "306.622 -262.774 396.907"; + rotation = "0 1 0 60.1606"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "306.699 -260.847 396.963"; + rotation = "0 1 0 68.7549"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "306.566 -259.086 396.856"; + rotation = "0 1 0 61.8794"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "338.701 -611.382 389.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "340.162 -576.611 389.43"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "326.306 -560.208 389.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "324.855 -594.455 389.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "323.144 -653.771 392.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "344.852 -621.926 395.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "344.774 -621.028 395.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "344.792 -620.138 395.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "344.875 -619.398 395.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "344.876 -618.474 395.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "344.981 -617.639 395.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "342.989 -617.518 396.002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "342.884 -618.353 395.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "342.883 -619.277 395.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "342.8 -620.017 395.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "342.782 -620.907 395.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "342.86 -621.805 395.852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "338.881 -619.019 395.889"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "339.134 -619.821 395.764"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "339.518 -620.662 395.739"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "339.751 -621.369 395.739"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "340.106 -622.186 395.739"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "340.551 -622.969 395.739"; + rotation = "0 0 -1 24.6372"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "349.035 -618.681 395.802"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "348.516 -619.344 395.677"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "348.04 -620.135 395.652"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "347.588 -620.728 395.652"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "347.115 -621.482 395.652"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "346.72 -622.292 395.652"; + rotation = "0 0 1 30.9397"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "335.283 -622.326 395.802"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "335.918 -622.879 395.677"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "336.685 -623.394 395.652"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "337.253 -623.875 395.652"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "337.983 -624.386 395.652"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "338.772 -624.822 395.652"; + rotation = "0 0 -1 56.1499"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "335.279 -651.282 393.579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "329.969 -655.484 392.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "-95.5517 -2.52309 341.785"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-26.2825 69.7615 333.138"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-99.4825 31.5615 341.338"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-23.0932 31.0796 337.246"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-59.304 31.5977 341.354"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-94.7147 73.9158 341.262"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-24.7299 -2.1332 337.781"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-59.9517 -1.92309 338.385"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Trigger() { + position = "-48.5409 65.6887 459.894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Follow the arrow signs for a safe passage"; + }; + new TSStatic() { + position = "-47.915 65.1957 460.031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3518"; + bonusTime = "0"; + time = "0"; + }; + new TSStatic() { + position = "-55.9915 37.2047 426.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new Trigger() { + position = "-56.5114 37.9694 426.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Fall inwards toward the higher of the two levels"; + }; + new Trigger() { + position = "-30.3723 61.7766 388.528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Get a running start, activate the gyro then the super jump"; + }; + new Trigger() { + position = "-57.974 36.6797 408.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Don\'t use the gyrocopter until later"; + }; + new TSStatic() { + position = "-57.3661 36.1878 408.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new TSStatic() { + position = "-29.8965 61.2764 388.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new TSStatic() { + position = "231.065 57.0688 412.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new Trigger() { + position = "230.281 57.7557 412.263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Straighten yourself, then run through the tube, holding down the powerup button"; + }; + new Trigger() { + position = "336.956 -633.514 395.752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use the tornadoes to your advantage. Roll at them then swing yourself around to roll up the hill"; + }; + new TSStatic() { + position = "337.403 -634.107 395.869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new TSStatic() { + position = "318.463 -634.79 402.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/balls/ball-superball.dts"; + }; + new Trigger() { + position = "318.062 -634.39 402.146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use the gyrocopter, then the superjump to propel yourself upward"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Trigger() { + position = "-189.807 161.398 330.073"; + rotation = "1 0 0 0"; + scale = "700 900 200"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/CHighRopes.mis b/marble/data/missions/advanced/CHighRopes.mis new file mode 100644 index 0000000..08bc663 --- /dev/null +++ b/marble/data/missions/advanced/CHighRopes.mis @@ -0,0 +1,129 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Advanced"; + startHelpText = "And get the gem."; + artist = "Kevin"; + desc = "Yarrrr"; + goldTime = "20000"; + name = "Walk the Plank"; + level = "2"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/advanced/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + locked = "true"; + scale = "1 1 1"; + position = "0 0 0"; + rotation = "1 0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "0.0682294 0.50582 499.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-0.00422919 34.7512 499.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new InteriorInstance() { + position = "1.77 4.63291 498.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/t_high_ropes.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + pad = "2137"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new ScriptObject() { + pad = "1588"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new ScriptObject() { + pad = "2477"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "-24.1149 16.1744 504.792"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.9804 13.3836 499.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/FinalChallenge.mis b/marble/data/missions/advanced/FinalChallenge.mis new file mode 100644 index 0000000..5b7234b --- /dev/null +++ b/marble/data/missions/advanced/FinalChallenge.mis @@ -0,0 +1,3594 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + time = "0"; + desc = "Can you get all 360 gems?"; + startHelpText = "The advanced finale!"; + level = "2000000000"; + type = "advanced"; + name = "A Whole Lotta Gems"; + goldTime = "330000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new SimGroup(PathNodeGroup) { + }; + new Item() { + position = "405.368 6.49972 51.5271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "0.435218 -41.8135 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "356.549 7.43829 39.6082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "356.366 8.61237 44.4112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new InteriorInstance() { + position = "12.3997 -30.4941 0.160512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "67.8857 -37.2291 0.0245624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jewel.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "33.7018 -25.1597 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.268 -27.8622 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.9576 -29.8005 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.8104 -31.429 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.9533 -32.8343 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.3914 -34.3331 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "35.218 -35.9983 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.0938 -37.3095 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.3978 -38.8804 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.8574 -40.1931 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.1444 -41.0322 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.6785 -41.6578 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.9882 -41.881 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.1969 -41.2857 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.1758 -40.7873 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.9621 -40.1391 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.3792 -39.4798 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.6702 -37.9889 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.5583 -36.6428 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.1129 -35.4814 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.4461 -34.3963 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.4045 -33.1095 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.0207 -31.6985 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.6999 -30.3262 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.4834 -28.775 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.5726 -27.0928 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.0262 -25.5012 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.693 -23.6058 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.6349 -21.5449 1.61997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "51.5861 -27.9879 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "51.9469 -30.5678 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.3942 -34.7971 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.0973 -42.9637 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.12 -45.6712 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.9111 -49.4384 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.8046 -50.8193 1.51252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.2356 -52.887 2.04176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.2032 -51.9961 0.740292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "44.2933 -38.5857 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "44.7576 -37.3919 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.4111 -35.9567 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.2277 -34.7938 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.1535 -33.8059 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.6761 -32.4991 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.0619 -31.2486 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.4561 -26.8251 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.2157 -25.7139 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.4491 -22.3109 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.2327 -22.6695 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3106 -24.1904 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.614 -25.1665 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.0688 -26.3893 1.34187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "63.7428 -20.9772 1.58749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "65.813 -21.571 1.58751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "65.5147 -21.4657 1.58751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.9171 -21.3009 1.58751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.2193 -21.1246 1.58751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "89.75 8.5 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training2.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "77.0909 -11.954 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.0134 -10.6988 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.9343 -9.42359 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.8358 -7.83744 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.723 -6.02273 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3063 -1.90371 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.9182 -0.151306 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.59 1.19428 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.2607 2.42399 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.1365 3.27891 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.2188 3.85781 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.4112 4.14443 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.5578 4.05844 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.88 3.02011 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.2208 0.786825 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3647 -0.439394 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.5507 -1.90762 1.33555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.3929 -3.30501 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.624 -4.79795 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.8307 -5.92767 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.1191 -7.41535 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.4436 -9.13353 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.5951 -10.7945 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.56 -12.4133 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.3593 -14.0599 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.1323 -15.5927 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.9875 -17.4416 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.9123 -18.9895 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.8278 -20.7312 1.38026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.6876 -22.3343 1.53822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.4632 -24.2193 1.56628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.531 8.08144 7.23741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.494 8.54064 7.23741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.434 9.17096 7.23741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.34 10.0815 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.24 11.017 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.123 12.0808 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.014 13.3099 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "104.968 14.6167 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "104.889 16.191 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "104.889 17.8468 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.031 20.5568 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.084 21.9286 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.12 23.614 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.143 24.755 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.168 26.172 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.169 28.5567 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.17 29.6182 7.2374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "100.479 42.5148 5.35688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jump.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "89.7965 40.8417 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.7505 40.8423 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.7121 40.8427 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.6754 40.8432 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.642 40.8436 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.6143 40.844 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5929 40.8442 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5732 40.8445 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5571 40.8447 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5417 40.8449 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5269 40.8451 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5097 40.8453 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.5014 40.8454 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.494 40.8455 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4869 40.8456 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4825 40.8456 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4778 40.8457 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4735 40.8457 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4699 40.8458 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4668 40.8458 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4642 40.8459 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.462 40.8459 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4602 40.8459 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4585 40.8459 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4571 40.846 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4558 40.846 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4548 40.846 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "89.4538 40.846 12.0801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "88.8482 45.9228 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "88.1674 46.0533 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "87.4255 46.0337 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "86.678 45.9946 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.954 45.919 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.5389 45.5923 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.3022 45.2229 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.1491 44.9054 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.2953 44.7374 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.7737 44.5284 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "86.4258 44.4384 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "87.207 44.5856 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "87.8583 44.848 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "88.283 45.2051 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "88.3787 45.6719 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "88.1069 46.0531 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "87.6075 46.1782 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "86.891 46.1369 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "86.1526 45.9693 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "85.208 45.4378 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.5877 44.9393 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "84.0104 44.4754 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "83.3032 44.0435 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "82.57 43.7762 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "82.0588 43.5963 11.9504"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "101.799 43.5343 6.69976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "118.58 40.4234 10.3197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "111.391 42.1095 10.4235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "111.838 44.6073 10.3635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new Item() { + position = "115.393 43.349 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "115.925 43.4842 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "116.515 43.6375 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "117.29 43.9522 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "117.934 44.3429 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "118.181 44.5994 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "118.101 44.739 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "117.674 44.7862 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "117.024 44.7375 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "116.138 44.5173 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "115.428 44.104 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "114.906 43.6133 11.6023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "134.776 42.5312 8.73019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_speed.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "140.464 43.0041 10.7468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "137.922 43.2158 10.9111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "136.684 43.3119 11.0615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "135.649 43.2021 11.0262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "139.225 43.0458 10.9449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "394.021 44.4881 15.5888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/windingroad.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "355.22 57.7528 24.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "355.266 58.1618 24.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "355.222 58.8718 24.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "355.023 59.6529 24.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "354.841 60.7747 24.6937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "354.729 61.9237 24.4825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "354.621 63.107 23.9066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "354.561 64.5918 23.3948"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "354.582 66.1208 22.8852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "354.743 68.0151 22.2537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "355.071 69.4205 21.7853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "355.655 70.8748 21.3005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "356.542 72.3676 20.8029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "357.485 73.5278 20.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "358.751 74.64 20.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "360.418 75.6415 20.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "361.957 76.2702 20.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.491 76.6991 20.5634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "365.141 77.1288 20.0098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "367.083 77.5785 19.0765"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "368.737 77.8046 18.5254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "370.752 77.9328 17.8538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "372.529 77.8208 17.2614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "374.192 77.5954 16.707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "376.299 77.2561 16.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "377.371 77.2803 16.6947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.863 82.7482 16.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "380.78 82.963 16.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "379.422 83.2566 16.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "377.936 83.4793 16.4605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "376.531 83.6058 16.9291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "375.133 83.7292 17.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "373.808 83.7111 17.8364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "372.524 83.5638 18.2645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "371.085 83.4173 18.7441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "369.758 83.2526 19.1866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "368.464 82.8106 19.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "367.699 82.3883 19.873"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "366.994 81.6406 20.1079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "366.457 80.7013 20.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "365.868 79.1738 20.4212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "365.377 77.7418 20.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "364.847 76.1009 20.406"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "364.343 74.3445 20.6987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "364.005 72.4199 21.3402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.856 71.2615 21.7263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.54 67.9028 22.8459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.582 66.6502 23.2634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.626 65.5479 23.6309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.658 64.8176 23.8743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "361.387 55.8124 25.6997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "363.501 55.5665 25.4473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "364.5 55.3802 25.5728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "365.945 55.0943 26.1174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "367.007 54.9961 26.199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "368.223 55.0503 26.6042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "369.433 55.2972 27.0077"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "370.427 55.8268 27.3389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "371.249 56.4612 27.6128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "372.126 57.1913 27.9054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "373.055 58.1631 28.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "373.797 59.4233 28.4624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "374.385 60.8037 28.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "375.008 62.2277 29.0376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "375.612 63.6766 29.5206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "376.416 65.6843 30.1898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "377.033 67.2752 30.7202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "377.766 69.2248 31.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "378.433 70.7585 31.8812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "379.339 71.9886 32.2913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "380.42 73.032 32.614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.619 73.986 32.5568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "383.022 74.8197 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "384.674 75.442 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "386.627 75.8853 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "388.179 76.1324 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "389.851 76.3881 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "391.266 76.5343 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "392.362 76.5537 32.5361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.403 54.1988 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.399 54.193 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.394 54.1869 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.391 54.1825 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.388 54.1781 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.385 54.1743 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.383 54.1712 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.381 54.1684 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.379 54.1655 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.378 54.1638 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.376 54.1617 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.375 54.16 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.374 54.1587 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.372 54.1564 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "381.372 54.1555 28.6003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "396.649 81.3793 31.8818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "416.361 82.4285 31.9682"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.725 79.8407 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.853 79.7174 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "425.121 79.2003 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.962 77.6817 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.501 77.0224 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.821 76.4728 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.058 76.1941 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "422.151 76.2441 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "421.338 76.5873 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "420.338 77.3729 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "419.682 78.3303 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "419.523 80.0469 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "419.937 81.0094 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "420.757 81.8819 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "421.868 82.6944 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "422.988 83.1642 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.078 83.2977 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "425.263 83.0943 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.336 82.5929 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.125 81.902 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.696 81.0024 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.983 79.9866 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.954 79.1034 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.691 78.1894 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.318 77.4637 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.287 76.9275 32.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.551 75.7926 33.3644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.158 73.2275 34.0628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.301 72.3296 33.7629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.302 71.0069 34.3342"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.234 69.551 34.6283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.118 68.3092 34.9725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.871 66.7753 35.4838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.681 65.8472 35.7931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.347 64.6562 36.1901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.945 63.4855 36.5804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.794 62.5065 36.8627"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.781 61.3167 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.998 59.8813 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.545 58.5172 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "429.015 56.9 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "429.694 56.6531 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.252 56.7001 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.622 57.0763 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.775 57.8096 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.59 58.3294 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.121 58.644 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "429.342 58.7812 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.361 58.7419 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.214 58.5493 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "425.956 58.0899 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.933 57.4858 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.973 56.7124 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.399 56.0918 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.194 55.34 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.293 54.3758 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "423.719 53.6789 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.466 53.2018 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "425.202 52.8542 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.2 52.5972 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "427.312 52.6248 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.165 52.9195 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.778 53.4166 36.7923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "418.071 56.9433 38.7861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "414.914 55.8866 39.8383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "413.92 55.2722 40.1696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "413.129 54.4148 40.4286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "412.449 53.3727 40.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.784 51.8249 40.4893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.467 50.6467 40.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.303 49.687 41.2019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.016 47.6236 41.8897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "410.961 45.8757 42.4724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.141 42.4349 43.6193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.265 41.2133 44.0265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.661 39.9748 44.4349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "412.414 38.5956 44.4395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "413.093 37.6815 44.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "414.136 36.5186 44.7268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "414.992 35.8544 45.0118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "416.082 35.276 45.3754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "417.263 34.8932 45.7688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "418.723 34.6607 46.2555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "420.242 34.6051 46.762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "422.934 34.8009 47.6594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "424.693 34.8578 48.2455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.071 34.0121 48.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.871 33.2582 48.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "429.502 32.216 48.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "429.932 31.0363 48.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.485 29.2904 48.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "431.095 27.3592 48.6445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "431.602 25.8619 49.1436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "432.1 23.964 49.7763"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "432.275 22.0778 50.405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "432.329 20.5854 50.9025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "432.243 18.8964 51.4655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "431.735 17.5138 51.9263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "430.81 16.3792 52.3045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "429.469 15.3445 52.4722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "428.306 14.5615 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "426.606 13.602 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "422.63 12.2405 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "420.786 12.0217 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "419.118 11.959 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "417.166 11.8943 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "415.556 11.8409 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "414.245 11.8015 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "412.869 11.868 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "411.383 11.985 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "410.411 12.0615 52.4019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/Flipside.mis b/marble/data/missions/advanced/Flipside.mis new file mode 100644 index 0000000..292bf92 --- /dev/null +++ b/marble/data/missions/advanced/Flipside.mis @@ -0,0 +1,227 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + type = "advanced"; + goldTime = "14000"; + artist = "Kevin"; + desc = "Get the diamonds on both sides of this level, can you survive the trials ahead?"; + startHelpText = "Explore both sides of this level!"; + level = "13"; + name = "On the Flipside"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.433884 0.614021 -0.659336"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "31.7446 18.5445 -9.64176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Flipside.dif"; + showTerrainInside = "0"; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new Item() { + position = "-7.54071 36.4587 -20.3477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new SimGroup(Platform1_g) { + + new Path() { + }; + }; + new StaticShape(EndPoint) { + position = "31.7467 12.5362 -4.89144"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new Item() { + position = "31.7633 36.5258 -4.34475"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2137"; + bonusTime = "0"; + }; + new Item() { + position = "25.2566 38.8076 -3.36573"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.3307 38.7535 -3.39098"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.9835 36.7984 -5.64659"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "31.745 15.5287 -9.38806"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1863"; + bonusTime = "0"; + }; + new Item() { + position = "31.7789 0.474319 -0.245051"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.7815 0.621479 -12.1533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.46982 36.5055 -9.9941"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.7696 3.5124 -5.57833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.756 0.522467 -5.39287"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.45861 36.422 -15.4432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/Gyrocourse.mis b/marble/data/missions/advanced/Gyrocourse.mis new file mode 100644 index 0000000..c67060b --- /dev/null +++ b/marble/data/missions/advanced/Gyrocourse.mis @@ -0,0 +1,782 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Arnie Gape"; + name = "Take Flight Revisited"; + startHelpText = "Where are the planets?"; + desc = "Except its a completely different level."; + level = "16"; + type = "advanced"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.403469 0.613363 -0.678968"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new SimGroup(CheckPoints) { + }; + new StaticShape(StartPoint) { + position = "-50.5619 -106.002 495.146"; + rotation = "0 0 1 179.909"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new InteriorInstance() { + position = "-43.5686 -101.002 494.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Gyrocourse.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + time = "0"; + pad = "2363"; + bonusTime = "0"; + }; + new Item() { + position = "-70.3672 -5.63277 519.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.5904 -118.041 494.892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.5977 -135.986 494.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.5776 -160.964 490.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.6266 -196.491 494.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.5225 -194.529 529.395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-56.5228 -82.5323 529.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-38.5774 -82.5845 497.416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.4128 -82.4747 502.392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.3802 -115.965 519.393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.4069 -90.5935 536.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.4375 78.4909 537.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-66.7074 -5.51941 513.227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.4166 64.4875 537.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-97.1291 55.0378 532.402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-97.073 42.0903 532.398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.1427 41.6228 534.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.2582 52.4311 536.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-74.4981 52.605 536.905"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-74.4268 29.9666 536.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.4826 17.7313 539.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.0481 -24.4271 543.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.0815 -5.54649 509.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-55.5997 -5.58285 515.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-51.5954 -32.8043 532.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.0486 -50.6979 549.636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.6582 -118.116 504.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-47.5928 -177.003 496.589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-53.8687 -176.983 496.642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.568 -235.207 500.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.4815 -116.288 529.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-69.2342 -82.5033 513.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-35.8561 -82.4958 498.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "24.7167 -82.4393 503.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.5403 -139.328 520.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.4686 78.8858 558.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.6759 79.7723 540.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.5157 66.6759 560.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.047 9.25201 543.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.1278 -34.1595 543.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + time = "0"; + pad = "6666"; + bonusTime = "0"; + }; + new Item() { + position = "-28.0856 -64.7741 550.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-51.5655 -5.46235 515.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-51.5069 -34.889 533.047"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + dataBlock = "TriangleBumper"; + }; + new StaticShape(EndPoint) { + position = "-28.0596 -234.511 514.652"; + rotation = "0 0 1 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new Item() { + position = "-50.7058 -212.511 533.034"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.0576 -113.993 499.157"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.0537 -122.026 499.155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-57.0575 -122.002 499.161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-57.0558 -113.998 499.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.5631 -158.998 491.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.4789 -143.537 534.671"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.4281 -86.5352 537.346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-56.5691 -82.499 524.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.5152 -94.1946 520.77"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.4124 -136.704 522.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.4395 68.5021 536.891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.5662 67.0247 486.668"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-74.4797 40.3874 546.148"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.0983 -26.5381 543.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.1508 -220.443 516.154"; + rotation = "1 0 0 0"; + scale = "2 2 3"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-54.5402 -26.7679 532.915"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 15: Triangle fly!"; + }; + new Trigger() { + position = "-53.5848 -108.018 495.154"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Let\'s start with an easy trial!"; + }; + new Trigger() { + position = "-53.5876 -111.008 495.154"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 1: Flying all alone!"; + }; + new Trigger() { + position = "-53.5581 -132.014 495.171"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 2: Crossing gaps!"; + }; + new Trigger() { + position = "-53.599 -190.508 495.167"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 3: Gyrocopter wall-hit!"; + }; + new Trigger() { + position = "-53.5513 -199.521 529.667"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 4: Crossing big gaps!"; + }; + new Trigger() { + position = "-53.5719 -97.5019 529.665"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 5: Slow fall!"; + }; + new Trigger() { + position = "18.4444 -110.018 519.654"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 8: Slope hit!"; + }; + new Trigger() { + position = "18.4715 -117.533 537.152"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 9: Crossing the abyss!"; + }; + new Trigger() { + position = "18.4638 59.5021 537.153"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 10: Big bounce!"; + }; + new Trigger() { + position = "-89.0788 -17.5109 543.657"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 12: Safe landing I"; + }; + new Trigger() { + position = "-31.0757 -38.7398 549.911"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 16: Safe landing II"; + }; + new Trigger() { + position = "2.45892 -79.4748 502.653"; + rotation = "1 0 0 0"; + scale = "1 6 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 7: Bouncy boost!"; + }; + new Trigger() { + position = "-42.5629 -79.4996 497.656"; + rotation = "1 0 0 0"; + scale = "1 6 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 6: Extra boost!"; + }; + new Trigger() { + position = "-88.0428 70.0098 532.653"; + rotation = "1 0 0 0"; + scale = "1 6 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 11: Flying on ice!"; + }; + new Trigger() { + position = "-57.5639 -2.51783 515.66"; + rotation = "1 0 0 0"; + scale = "1 6 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 14: Round fly!"; + }; + new Trigger() { + position = "-89.0666 -11.5011 509.666"; + rotation = "1 0 0 0"; + scale = "6 1 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 13: Bouncy slope!"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "4050"; + bonusTime = "0"; + }; + new Trigger() { + position = "-138.909 110.299 483.562"; + rotation = "1 0 0 0"; + scale = "200 400 500"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "4955"; + bonusTime = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/Moving Challenge II.mis b/marble/data/missions/advanced/Moving Challenge II.mis new file mode 100644 index 0000000..6b40034 --- /dev/null +++ b/marble/data/missions/advanced/Moving Challenge II.mis @@ -0,0 +1,870 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Sprint Challenge Revisited"; + time = "0"; + type = "Advanced"; + desc = "Pass the moving platform challenges ahead, and don\'t fall!"; + level = "18"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MovingChallengeII.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 -15 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 -15 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 -15 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-11 -13 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-11 -13 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-11 -13 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 -13 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 -13 -2.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 -13 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-11 -15 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-11 -15 -2.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-11 -15 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-17.5 -7 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-6.5 -7 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-17.5 -7 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-6.5 -5 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-17.5 -5 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-6.5 -5 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-17.5 -3 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-6.5 -3 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-17.5 -3 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-6.5 -1 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-17.5 -1 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-6.5 -1 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "7"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-17.5 1 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-6.5 1 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-17.5 1 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "8"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-6.5 3 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-17.5 3 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-6.5 3 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "9"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-4 10 3.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4 10 13.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-4 10 13.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-4 10 3.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-4 10 3.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "10"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-17.5 1 14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-17.5 19 14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-17.5 1 14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "11"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-23 19 14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-23 1 14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-23 19 14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "12"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-32 10 13.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-32 -29.5 13.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-32 10 13.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeII.dif"; + interiorIndex = "13"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new StaticShape(StartPoint) { + position = "-17.9935 -18.0179 0.50314"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0 5 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-41.5 15.5 0.200001"; + rotation = "1 0 0 0"; + scale = "43 50.5 58.5"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1898"; + }; + new StaticShape() { + position = "-26.7916 11.0027 13.4932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-14.9779 9.01398 13.5032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-14.9779 11.014 13.5032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-16.9482 11.0137 13.5032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-16.9482 9.01372 13.5032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-20.8819 11.0039 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-20.8819 9.00387 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-18.9116 11.0042 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-18.9116 9.00414 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-24.822 11.0042 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-24.822 9.00422 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-22.8517 11.0045 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-22.8517 9.00448 13.5045"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-26.7916 9.00264 13.4932"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new StaticShape() { + position = "-29.4868 -16.461 13.5094"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-28.9554 -20.3089 13.5159"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-29.5239 -21.4719 13.5299"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-28.4645 -19.0448 13.5199"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "-11.0173 -15.1164 1.32438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new StaticShape() { + position = "-28.9839 -17.7006 13.5111"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape(EndPoint) { + position = "-35.9935 -29.5073 13.4997"; + rotation = "0 0 1 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/NatureDash.mis b/marble/data/missions/advanced/NatureDash.mis new file mode 100644 index 0000000..e753ed6 --- /dev/null +++ b/marble/data/missions/advanced/NatureDash.mis @@ -0,0 +1,313 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + time = "0"; + goldTime = "20000"; + type = "advanced"; + name = "Nature Dash"; + desc = "A nice roll in the forest. Oh no, there are hazards too?"; + level = "19"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.614021 -0.433884 -0.659336"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new StaticShape(EndPoint) { + position = "276.755 -133.635 100.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new InteriorInstance() { + position = "215.127 -81.5275 109.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Advanced/naturedash.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "213.781 -81.9384 106.519"; + rotation = "0 0 1 89.9087"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape() { + position = "268.208 -58.987 81.6952"; + rotation = "0 0 1 98.5485"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new Item() { + position = "277.545 -57.9408 83.5305"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.616 -69.6132 81.5376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "275.673 -81.9954 88.0455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "276.671 -88.9631 81.543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "276.566 -91.1019 81.73"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "282.377 -62.5557 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "280.487 -58.1755 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "283.3 -59.5325 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "280.988 -59.8556 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "279.36 -60.1415 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "281.418 -61.6082 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "284.279 -64.3378 83.5137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "281.846 -58.2838 83.724"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "283.656 -61.2653 83.724"; + rotation = "0 0 1 61.3065"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "270.113 -60.2779 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "267.487 -60.3382 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "269.317 -57.6777 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "267.65 -57.3449 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "267.782 -62.9917 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "265.721 -59.4559 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "263.084 -62.3877 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "264.909 -63.0596 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "263.097 -65.2025 81.5191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "265.524 -65.348 81.6952"; + rotation = "0 0 1 132.353"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new InteriorInstance() { + position = "244.168 -76.0138 113.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "225.571 -89.529 121.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "260.168 -72.4138 96.6423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "275.368 -72.4138 102.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "296.466 -62.431 94.4423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "268.184 -90.5033 106.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "260.489 -53.3097 89.8423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "281.968 -113.214 118.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "267.768 -135.614 116.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tree3big.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "270.079 -86.9314 101.896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sapphire"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/Terrortower.mis b/marble/data/missions/advanced/Terrortower.mis new file mode 100644 index 0000000..1f5c84b --- /dev/null +++ b/marble/data/missions/advanced/Terrortower.mis @@ -0,0 +1,339 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + level = "8"; + goldTime = "12000"; + startHelpText = "Are you a brave marble?"; + type = "Custom"; + artist = "Kevin"; + name = "Tower of Terror"; + desc = "Bigger, Longer, Harder."; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "0.0526099 -79.9136 472.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + }; + new InteriorInstance() { + position = "0.0682294 -4.5794 372.266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/skyscraper.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "2122"; + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new InteriorInstance() { + position = "-20.4695 -2.16377 475.012"; + rotation = "-0.235711 -0.235898 0.942758 93.3299"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_speed.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "0.0292082 5.35555 550.205"; + rotation = "0 0 -1 89.3814"; + scale = "1 0.499892 0.663337"; + dataBlock = "EndPad"; + }; + new InteriorInstance() { + position = "-20.254 7.27967 480.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.5383 -13.2039 499.2"; + rotation = "0 0 -1 89.5639"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-2.77525 -22.19 499.2"; + rotation = "0 0 1 0.389667"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.903355 11.2305 496.876"; + rotation = "0 -1 0 14.324"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-20.0194 8.09705 482.455"; + rotation = "-0.188062 0.50731 -0.840993 47.5752"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1.26261 23.5711 489.138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.5268 20.4586 490.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.85617 15.9394 491.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.868912 11.2778 493.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.754967 11.2135 495.069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.647404 11.347 492.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.163011 6.76561 499.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-5.70934 5.66245 499.363"; + rotation = "-1 0 0 89.9544"; + scale = "0.831616 2.56538 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.08426 5.61953 499.26"; + rotation = "-1 0 0 89.9544"; + scale = "0.831616 2.56538 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.242558 5.25473 500.397"; + rotation = "1 0 0 0"; + scale = "1.76834 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "0.121441 9.65959 499.496"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new InteriorInstance() { + position = "-9.23302 5.18358 500.489"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.66848 6.21947 518.868"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.5876 2.67709 508.284"; + rotation = "-1 0 0 21.1995"; + scale = "1 4.71938 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "4.40194 15.288 509.947"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.07166 12.1545 507.931"; + rotation = "1 0 0 0"; + scale = "1 2.1497 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.17375 5.75335 509.047"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.14669 4.90409 510.236"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.16261 5.55359 511.456"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.26079 4.53966 512.539"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.184933 2.94824 513.588"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.21599 4.42246 514.943"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.16057 6.28176 516.11"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.0770552 7.80083 517.769"; + rotation = "1 0 0 0"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.40968 5.27993 516.588"; + rotation = "0 0 1 90.5273"; + scale = "1 0.609426 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-1.27851 7.98109 520.317"; + rotation = "1 0 0 0"; + scale = "1 1 0.247914"; + dataBlock = "RoundBumper"; + }; + new InteriorInstance() { + position = "1.54629 3.82972 523.763"; + rotation = "-0.577503 0.577504 -0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/arch_purple.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "3.02669 5.8249 524.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.18126 5.72718 526.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/ThrillAscent.mis b/marble/data/missions/advanced/ThrillAscent.mis new file mode 100644 index 0000000..b0e65c3 --- /dev/null +++ b/marble/data/missions/advanced/ThrillAscent.mis @@ -0,0 +1,182 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Do you dare to climb this?"; + type = "Advanced"; + level = "19"; + artist = "Kevin"; + name = "Thrill Ascent"; + time = "0"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.5"; + cloudHeightPer[1] = "0.37"; + cloudHeightPer[2] = "0.42"; + cloudSpeed1 = "0.0021"; + cloudSpeed2 = "0.0015"; + cloudSpeed3 = "0.0007"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "-2 0 0.7"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-49.5 1 205.25"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Andy/ThrillAscent2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Andy/ThrillAscent1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-23.5 8.75 59.25"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-26.5 6 59.75"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-27.5 3 60.25"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-58.201 0.0408811 60.7256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.5 -10.5 87.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.6 36.75 74.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.5 36.75 116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.6 38.75 95.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-71.5 0.5 189.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new Item() { + position = "-71.5 -4.5 189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-136.733 111.309 -17.5231"; + rotation = "1 0 0 0"; + scale = "200 200 300"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-49.75 0.75 213.25"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/Trap Madness.mis b/marble/data/missions/advanced/Trap Madness.mis new file mode 100644 index 0000000..3b03016 --- /dev/null +++ b/marble/data/missions/advanced/Trap Madness.mis @@ -0,0 +1,1481 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + level = "14"; + name = "Trap madness!"; + goldTime = "20000"; + time = "0"; + author = "Kevin"; + type = "Advanced"; + desc = "Can you survive the trials ahead without fall trough?"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 2.75507e-039 2.75507e-039"; + fogVolume2 = "-1 2.02043e-039 2.2041e-039"; + fogVolume3 = "-1 1.37761e-039 4.22451e-039"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/TrapAndGems.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-3 5 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 5 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 5 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 7 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 7 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 7 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 9 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 9 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 9 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 11 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 11 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 11 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 13 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 13 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 13 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 15 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 15 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 15 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 17 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 17 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 17 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 19 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 19 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 19 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 41 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 41 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 41 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 43 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 43 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 43 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 45 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 45 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 45 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 49 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 49 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 49 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 51 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "-0.940571 43.0549 4.48864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "1 51 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-3 53 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-1 53 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "1 53 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "5 49 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "7 49 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "9 49 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "5 51 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "7 51 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "9 51 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "5 53 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "7 53 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "9 53 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "5 57 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "7 57 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "9 57 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "5 59 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "7 59 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "9 59 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "5 61 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "7 61 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "9 61 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-11 77 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-11 79 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-11 81 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-15 77 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-15 79 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-15 81 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-19 77 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-19 79 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-19 81 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-23 77 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-23 79 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-23 81 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 65 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 65 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 65 4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 61 5.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 61 5.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 61 5.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 57 7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 57 7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 57 7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 51 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 51 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 51 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 40 9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 31 9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 22 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 13 7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 11 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 9 9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 7 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -2 10.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -6 10.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -15 10.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -17 11.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -21 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -19 9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -29 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -29 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -29 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -31 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -31 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -31 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -33 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -33 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -33 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -35 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -35 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -35 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -37 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -37 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -37 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -39 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -39 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -39 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -41 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -41 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -41 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -43 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -43 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -43 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-43 -45 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-41 -45 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "-39 -45 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape(StartPoint) { + position = "-7 -11 0.5"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-34 -31 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-47 -31 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-34 -31 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/TrapAndGems.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-34 -35 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-47 -35 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-34 -35 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/TrapAndGems.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-34 -39 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-47 -39 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-34 -39 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/TrapAndGems.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-34 -43 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-47 -43 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-34 -43 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/TrapAndGems.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new StaticShape(EndPoint) { + position = "-40.9835 -49.0005 9.9976"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-51 89 -5.6"; + rotation = "1 0 0 0"; + scale = "68 148 98"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + time = "0"; + pad = "1825"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + time = "0"; + pad = "3059"; + }; + new StaticShape() { + position = "-1.00064 50.9987 3.99946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "-3.04851 7.01616 0.998638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.08476 17.0035 0.998638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2268"; + }; + new Item() { + position = "-17.0502 79.043 2.90864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.940801 50.9916 4.4981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.05138 51.0213 4.50864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.02388 58.9923 4.49864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-43.0353 -44.7657 8.67671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.9502 -36.9713 10.4986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.8202 -48.937 19.4068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Coin"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/TrapdoorMasterEdition.mis b/marble/data/missions/advanced/TrapdoorMasterEdition.mis new file mode 100644 index 0000000..cd6c9a0 --- /dev/null +++ b/marble/data/missions/advanced/TrapdoorMasterEdition.mis @@ -0,0 +1,2180 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Trapdoor Masters"; + time = "0"; + artist = "Kevin"; + desc = "Master the trapdoors"; + goldTime = "25500"; + type = "Asvanced"; + level = "9"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.464958 0.626025 -0.626025"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "2.07137 -4.43343 495.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + }; + new Trigger(Bounds) { + position = "-20.0522 25.7081 452.131"; + rotation = "1 0 0 0"; + scale = "50 50 50"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new SimGroup(Quad1) { + + new StaticShape() { + position = "4 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.99001 3.97288 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + }; + new SimGroup(Quad1) { + + new StaticShape() { + position = "12 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14 4 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14 0 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14 2 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10 6 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + }; + new StaticShape() { + position = "4.00087 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.00087 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.00087 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.99088 11.9667 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.00087 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.000868797 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.000868797 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.000868797 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.00087 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.00087 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.00087 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.000868797 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.00087 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.00087 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.00087 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.00087 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12.0009 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12.0009 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.0009 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.0009 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.0009 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.00087 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.00087 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.00087 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12.0009 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14.0009 11.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "12.0009 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.00087 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14.0009 7.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14.0009 9.99387 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "14.0009 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.0009 13.9939 495.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new InteriorInstance() { + position = "-0.962045 -1.04772 495.108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "1.92724 -0.615041 461.563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "4.03986 10.1227 494.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29716 -1.0312 454.285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.84 6.10273 495.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "2.3182 2.5061 455.129"; + rotation = "-0.999876 0.0146511 0.00574405 90.5402"; + scale = "0.35 0.35 0.35"; + dataBlock = "EndPad"; + }; + new Item() { + position = "1.96624 -0.486211 461.463"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "20"; + penaltyTime = "0"; + powerUp = "0"; + pad = "5980"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "4486"; + }; + new Item() { + position = "0.730785 0.831836 487.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.72187 8.82492 486.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "2.68201 2.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.6829 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68288 10.6961 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68288 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68288 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68291 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68291 10.6961 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68291 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.6829 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.6829 10.6961 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.682015 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68288 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68288 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.672025 2.6751 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.68201 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68288 10.6961 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.68288 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31712 10.6961 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31712 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31712 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.682885 6.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.672895 10.6689 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.682885 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.68288 10.6961 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.68288 8.69609 487.007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68201 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68201 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.682 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.682 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68201 2.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68201 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.68201 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68201 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68201 2.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8.68201 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.682 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10.682 2.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.682015 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68201 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68201 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68201 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31799 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.68201 4.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.68201 2.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.68201 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31799 2.70222 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31799 0.702216 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.31799 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.682015 -1.29778 487.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "7.05687 5.01937 481.972"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.934363 1.04626 481.971"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.05673 9.03934 481.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "1.01687 2.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-2.98313 2.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.01774 10.9105 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.01774 8.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.01774 6.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "7.01777 6.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "7.01777 10.9105 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "7.01777 8.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.01687 0.916641 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.01687 4.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.983132 0.916641 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.01774 8.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.01774 6.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.993123 2.88952 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.01687 0.916641 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.01774 10.9105 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.01774 6.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-2.98226 10.9105 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-2.98226 8.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-2.98226 6.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.982262 6.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.992251 10.8833 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.982262 8.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.01774 10.9105 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.01774 8.91051 481.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "7.01687 4.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.01687 4.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.983132 4.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.01687 4.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.01687 2.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.01687 0.916641 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.01687 2.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-2.98313 0.916641 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "7.01687 2.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "7.01687 0.916641 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-2.98313 4.91664 481.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.9078 -0.569235 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "-2.0591 -0.639615 478.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "0.0930023 3.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.907 3.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "-1.868 5.55346 478.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.0931 3.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.0930023 5.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.0930023 7.42466 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.093 7.42466 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.0922031 -0.569235 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.9078 1.43076 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.907 5.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.093 5.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.093 3.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.0922031 1.43076 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1.907 7.42466 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.0922 -0.569235 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.0931 3.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.0931 7.42466 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.0922 -0.569235 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.0931 5.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.0931 5.42463 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "6.0931 7.42466 478.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.0922 -0.569235 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "5.9322 1.53349 478.916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.0922 1.43076 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.0922 1.43076 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.0922 1.43076 478.815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "1.87016 -3.58157 475.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.86126 0.611505 475.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "1.82226 0.482675 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.82226 -1.51733 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.177743 0.482675 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.82226 0.482675 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.82226 2.4827 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.82226 0.482675 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.177743 -1.51733 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "6.06146 -3.40847 475.634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "3.82146 -3.5112 475.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.178543 -3.5112 475.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.82226 -1.51733 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.81226 2.4555 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.82146 -3.5112 475.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "1.82146 -3.5112 475.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "5.82226 2.4827 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "3.82226 -1.51733 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-0.177743 2.4827 475.534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "5.09449 -4.15473 470.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.903187 -4.32783 470.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.89429 -0.134753 470.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "4.85529 -0.263583 470.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.85529 -2.26359 470.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.855287 -0.263583 470.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.85529 -2.26359 470.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.854487 -4.25746 470.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.85449 -4.25746 470.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.85449 -4.25746 470.399"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "0.855287 -2.26359 470.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.85529 -0.263583 470.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new Item() { + position = "2.81734 -1.6178 465.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.00864 -1.6447 465.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.80844 0.57528 465.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "2.76944 0.44645 465.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.76944 -1.55356 465.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "4.76944 0.44645 465.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "2.76944 -1.55356 465.345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new InteriorInstance() { + position = "2.32568 2.41508 455.87"; + rotation = "0.580821 -0.575711 -0.575503 239.404"; + scale = "0.25 0.25 0.25"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "8.68143 0.73379 486.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3560"; + }; + new Item() { + position = "2.30456 2.435 454.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.22317 1.95448 495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/TrapdoorMonsterCourse.mis b/marble/data/missions/advanced/TrapdoorMonsterCourse.mis new file mode 100644 index 0000000..cfa7bc0 --- /dev/null +++ b/marble/data/missions/advanced/TrapdoorMonsterCourse.mis @@ -0,0 +1,4254 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + time = "0"; + desc = " Master your trapdoor skills in this amazing course!"; + startHelpText = "Welcome to the Trapdoor Monster Course!"; + level = "10"; + type = "advanced"; + name = "Trapdoor Monster Course"; + goldTime = "25000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "10792"; + bonusTime = "0"; + gemCount = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "3.5 0 3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "90"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-2 0 3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-2 0 3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "3.5 0 3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "~/data/interiors/addon/acrobat1.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2192"; + bonusTime = "0"; + gemCount = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1667"; + bonusTime = "0"; + gemCount = "0"; + }; + new StaticShape(StartPoint) { + position = "6 -6 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1520"; + bonusTime = "0"; + gemCount = "0"; + }; + new InteriorInstance() { + position = "6.96265 14.1803 9.23234"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.51704 24.4117 9.23086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "34.0847 24.9872 9.21932"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "34.0989 53.3507 7.7481"; + rotation = "0.128557 -0.128659 -0.983321 90.9181"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "34.1216 80.7283 1.90411"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "23.6545 110.104 1.02557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "47.3391 109.116 1.02911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "28.982 112.257 5.94616"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "46.1622 119.568 5.78165"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "21.9129 120.443 5.87497"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "47.1164 113.119 1.43011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "35.3444 106.286 2.21299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new StaticShape() { + position = "43.0147 178.836 -1.70517"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "8.99023 14.1836 12.9941"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.460097 14.2452 13.0414"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.73912 14.2429 18.5878"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.96437 -6.85697 -5.94218"; + rotation = "0.577044 0.577503 0.577504 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "34.7626 104.229 -3.77882"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "35.6693 131.499 -4.1361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "35.6688 127.773 -4.1361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "35.6653 129.521 -4.1361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "35.9931 132.741 -4.16163"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "37.8771 135.956 -4.16163"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "36.8737 134.251 -4.16163"; + rotation = "0 0 1 30.3668"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.1924 137.306 -4.17892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.1929 141.032 -4.17892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.1889 139.054 -4.17892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "37.538 147.432 -3.17276"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Trigger(welcome) { + position = "2.18665 2.28042 8.01697"; + rotation = "1 0 0 0"; + scale = "8 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "It\'s time to master your trapdoor skills..."; + }; + new Trigger(welcome) { + position = "30.4099 27.9786 8.05976"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Master all the challenges, and you won\'t have another trouble with trapdoors ever again."; + }; + new Trigger(Falldowngoodluck) { + position = "29.9999 87.5819 -1.72089"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Fall down the hole to begin. Good luck!"; + }; + new Trigger(No1) { + position = "30.8074 114.281 -7.40382"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 1: Basic Trapdoors"; + }; + new Trigger(Hah) { + position = "33.4076 149.773 -6.79776"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "That was easy, but just wait, they get alot harder."; + }; + new Trigger(No2) { + position = "33.6017 165.11 -6.79776"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 2: Trapdoor Jumping"; + }; + new StaticShape() { + position = "38.3582 175.065 -2.67353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.3833 171.357 -4.2604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.373 173.253 -3.53005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "36.4144 182.028 -2.67862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "39.5533 180.614 -1.44751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "46.7228 178.827 -0.118295"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "44.9107 178.829 -0.974815"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "47.6919 182.018 -0.343143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "50.0288 152.933 0.779279"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "53.5909 178.823 0.907331"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Trigger(No3) { + position = "46.0563 156.022 -2.84572"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 3: Trapdoor There and Back Again"; + }; + new StaticShape() { + position = "41.5896 148.679 2.21955"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "55.5081 148.488 -0.302085"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "57.4041 148.481 0.428271"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "59.2162 148.479 1.28479"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "45.2976 148.713 0.63267"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "43.4016 148.698 1.36303"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Item() { + position = "59.0477 148.626 1.32569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.5893 148.674 2.23136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "57.1285 131.649 -13.7881"; + rotation = "-0.321216 0.213122 -0.922713 117.05"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "53.7386 147.691 0.798626"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "50.7382 147.637 0.903924"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new StaticShape() { + position = "47.1323 147.553 0.863862"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new InteriorInstance() { + position = "37.4794 42.4183 12.9169"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "33.4058 20.9609 12.9112"; + rotation = "-0.000563089 0.707389 0.706824 179.935"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "37.41 70.8439 6.78605"; + rotation = "-0.525471 0.669568 0.524938 112.357"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "37.5469 97.9496 5.77706"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "4516"; + bonusTime = "0"; + gemCount = "0"; + }; + new InteriorInstance() { + position = "58.1068 109.952 -16.9959"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "56.9705 130.732 -17.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new InteriorInstance() { + position = "55.7517 104.786 -18.1095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Trigger(No4) { + position = "54.182 121.867 -20.6209"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 4: Fan-Trapdoor-Fan"; + }; + new StaticShape() { + position = "58.8698 101.668 -18.1127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new InteriorInstance() { + position = "51.7952 99.5831 -7.57617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "56.9676 101.521 -13.6589"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "55.0766 101.449 -13.6886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "55.0963 101.473 -13.7176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "58.8239 98.9368 -16.8974"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Trigger(No5) { + position = "50.3076 82.6921 -10.0898"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 5: Mines and Trapdoors"; + }; + new InteriorInstance() { + position = "54.1898 70.8649 -6.46483"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "54.8402 61.035 -6.82211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8848 64.7399 -6.82211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.863 62.952 -6.82211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8795 53.7032 -6.79779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.817 62.9928 -6.84699"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.8221 57.5341 -6.85309"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.8453 55.5763 -6.82821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8681 57.4933 -6.82821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8899 59.2812 -6.82821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8117 51.9561 -6.82267"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.8349 49.9983 -6.79779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8577 51.9153 -6.79779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.8276 49.9699 -6.81897"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "35.2499 104.384 0.686966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.8679 134.342 -4.14247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.3272 173.185 -3.52474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "44.8249 178.857 -0.998796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.8718 101.657 -16.7989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.9914 101.631 -12.8081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.9965 96.5539 -7.54669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.8173 57.5417 -5.75752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "51.4191 46.2101 -6.11306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "51.7538 49.3476 -6.88078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "49.51 46.2241 -6.11472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "44.4905 45.8627 -6.13467"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "45.7162 46.2481 -6.11991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "47.6253 46.2341 -6.11825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.6385 42.8656 -6.14152"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "41.2635 43.8678 -6.13986"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "42.8656 44.8605 -6.13633"; + rotation = "0 0 -1 32.0857"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.3378 42.494 -6.15774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "32.6349 42.532 -6.16459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "34.544 42.518 -6.16293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "36.4287 42.508 -6.1594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "51.8689 46.7392 -6.12898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "31.0991 98.9958 -4.4016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.3981 42.6426 -4.5748"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.4769 -18.361 -9.30046"; + rotation = "1 0 0 37.2422"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "50.8207 46.2091 -6.12454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "6.16734 26.3454 9.26628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "37.7508 23.6145 9.2697"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "51.4308 45.5663 -6.08057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "50.4007 45.6333 -6.08321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "26.9761 -54.132 -9.12391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "50.351 46.8018 -6.08514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "51.3811 46.7348 -6.0825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "51.363 46.1377 -6.07542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "30.8658 -62.1862 -9.36809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.9184 -7.90923 -15.1117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "48.2756 46.1661 -6.08176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.9351 46.7723 -6.08884"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "26.8701 -66.0439 -7.50836"; + rotation = "0 0 1 178.763"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "26.8313 -45.009 -9.11362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "49.3815 46.7676 -6.13532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "45.6478 99.5865 -7.32617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "48.8312 45.5991 -6.13339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "49.8613 45.5321 -6.13075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "49.7935 46.1035 -6.1256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "27.5899 -26.7235 -6.06108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.4412 7.11547 -16.7912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "46.2774 45.6264 -6.10647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "46.2096 46.1978 -6.10132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "46.2277 46.7949 -6.1084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.7791 46.2336 -6.10576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.2397 46.1308 -6.09868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "29.9722 -18.4196 -9.28109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.3685 45.9021 -2.02501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "46.7652 45.6308 -6.15295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.7953 45.5638 -6.15031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "57.9996 99.5852 -7.32617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "41.6275 44.6977 -6.16871"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.8301 43.4622 -6.1203"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "40.9029 43.0085 -6.12294"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "40.5601 43.4707 -6.11779"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "40.2791 43.9978 -6.12487"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.2064 44.4515 -6.12223"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.4873 43.9244 -6.11515"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "40.7003 44.244 -6.17135"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "40.9812 43.7169 -6.16427"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.324 43.2547 -6.16942"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.2512 43.7084 -6.16678"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.9085 44.1706 -6.16163"; + rotation = "0 0 -1 29.7938"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "33.3875 43.1123 -6.20039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.9494 41.9394 -6.15198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "31.9193 42.0064 -6.15461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "31.8515 42.5778 -6.14947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "31.8696 43.1749 -6.15655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.8997 43.1079 -6.15391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.8816 42.5108 -6.14683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.3574 43.1793 -6.20303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.3393 42.5822 -6.19595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.4071 42.0108 -6.2011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "33.4372 41.9438 -6.19846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "33.3694 42.5152 -6.19331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "52.6725 44.5532 -5.65381"; + rotation = "0 0 1 229.939"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "54.7686 43.3738 -5.54865"; + rotation = "0 0 1 180.482"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "52.7311 47.925 -5.66022"; + rotation = "0 0 -1 57.2958"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new Item() { + position = "47.2891 72.7105 -5.58582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "49.303 72.7363 -6.82211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "47.3637 72.7087 -6.02997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Item() { + position = "58.4336 42.7022 -6.34895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "25.2659 45.7011 -5.81294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "28.4672 42.6719 -5.78346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "27.6654 18.3329 -14.3778"; + rotation = "-0.208673 0.208175 -0.955573 92.7396"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "25.6233 42.6418 -4.56741"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new InteriorInstance() { + position = "24.8364 29.5261 12.8017"; + rotation = "-0.000563089 0.707389 0.706824 179.935"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "29.0331 50.2392 12.2949"; + rotation = "-0.577504 0.577503 0.577044 119.947"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "25.0933 14.2554 -17.7224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "28.4883 5.59876 -16.9579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.4859 7.43284 -16.9547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5278 -13.7679 -12.8112"; + rotation = "1 0 0 37.2422"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.4932 1.85767 -16.9686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.4908 3.69175 -16.9654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5077 -5.36424 -15.8447"; + rotation = "1 0 0 10.3132"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5053 -3.55922 -16.1699"; + rotation = "1 0 0 10.3132"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5028 -1.68167 -16.504"; + rotation = "1 0 0 10.3132"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5004 0.123346 -16.8292"; + rotation = "1 0 0 10.3132"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5312 -12.2706 -13.5826"; + rotation = "1 0 0 19.4805"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5288 -10.5404 -14.1912"; + rotation = "1 0 0 19.4805"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5263 -8.74007 -14.8201"; + rotation = "1 0 0 19.4805"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5239 -7.00992 -15.4288"; + rotation = "1 0 0 19.4805"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5351 -18.2146 -9.44814"; + rotation = "1 0 0 37.2422"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5327 -16.7525 -10.5555"; + rotation = "1 0 0 37.2422"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "28.5302 -15.2299 -11.7037"; + rotation = "1 0 0 37.2422"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Trigger(No6) { + position = "23.5916 31.1274 -10.2142"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 6: Trapdoor Ramps"; + }; + new InteriorInstance() { + position = "26.1448 -60.7654 -8.04589"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.899 -55.7498 -8.71994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "22.1374 -46.0091 -8.69201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.9094 -37.7673 -8.69743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "28.5407 42.5385 -5.64028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-0.769211 -61.3523 -8.0498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Trigger(No7) { + position = "11.3191 -66.3192 -11.6748"; + rotation = "0 0 -1 89.9544"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 7: Trapdoor Hills"; + }; + new StaticShape() { + position = "-9.01956 -62.0573 -9.04394"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-29.8482 -62.1158 -3.78974"; + rotation = "0.304398 -0.304155 0.90268 95.8107"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-31.3708 -62.1195 -2.64154"; + rotation = "0.304398 -0.304155 0.90268 95.8107"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-32.8329 -62.1231 -1.53418"; + rotation = "0.304398 -0.304155 0.90268 95.8107"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-21.6282 -62.103 -7.51484"; + rotation = "0.16694 -0.166807 0.971754 91.5958"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-23.3584 -62.1067 -6.90614"; + rotation = "0.16694 -0.166807 0.971754 91.5958"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-25.1587 -62.1107 -6.27724"; + rotation = "0.16694 -0.166807 0.971754 91.5958"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-26.8889 -62.1145 -5.66864"; + rotation = "0.16694 -0.166807 0.971754 91.5958"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-14.495 -62.0738 -8.91524"; + rotation = "0.0895879 -0.0895166 0.991948 90.4175"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-16.3 -62.0776 -8.59003"; + rotation = "0.0895879 -0.0895166 0.991948 90.4175"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-18.1775 -62.0816 -8.25594"; + rotation = "0.0895879 -0.0895166 0.991948 90.4175"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-19.9825 -62.0855 -7.93074"; + rotation = "0.0895879 -0.0895166 0.991948 90.4175"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-10.9266 -62.0614 -9.05144"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-12.7606 -62.0652 -9.05464"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-28.3862 -62.1123 -4.89724"; + rotation = "0.304398 -0.304155 0.90268 95.8107"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-7.09358 -62.0534 -9.16478"; + rotation = "0.059904 -0.0598563 0.996408 90.1605"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-35.2408 -62.1482 1.05873"; + rotation = "0.399058 -0.398912 0.825604 100.865"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-34.0982 -62.1447 -0.376046"; + rotation = "0.399058 -0.398912 0.825604 100.865"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-37.5747 -62.1555 3.9826"; + rotation = "0.399058 -0.398912 0.825604 100.865"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-36.432 -62.1519 2.54794"; + rotation = "0.399058 -0.398912 0.825604 100.865"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-38.9016 -62.1435 6.92382"; + rotation = "0.507731 -0.507716 0.696013 110.27"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-38.3377 -62.14 5.17852"; + rotation = "0.507731 -0.507716 0.696013 110.27"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-40.0559 -62.1508 10.4824"; + rotation = "0.507731 -0.507716 0.696013 110.27"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-39.4919 -62.1472 8.7372"; + rotation = "0.507731 -0.507716 0.696013 110.27"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-40.3661 -62.1559 13.9752"; + rotation = "0.577261 -0.577348 0.577442 119.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-40.3615 -62.1524 12.141"; + rotation = "0.577261 -0.577348 0.577442 119.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-40.3798 -62.1632 17.7162"; + rotation = "0.577261 -0.577348 0.577442 119.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-40.375 -62.1596 15.8822"; + rotation = "0.577261 -0.577348 0.577442 119.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-52.4435 -61.8348 -4.72649"; + rotation = "0.303518 0.304245 -0.902946 95.9755"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-41.9257 -61.7779 13.0385"; + rotation = "-0.576521 -0.577353 0.578175 239.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-41.9168 -61.7742 14.9454"; + rotation = "-0.576521 -0.577353 0.578175 239.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-41.912 -61.7706 16.7794"; + rotation = "-0.576521 -0.577353 0.578175 239.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-41.9303 -61.7814 11.2043"; + rotation = "-0.576521 -0.577353 0.578175 239.937"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-43.3902 -61.7927 5.98707"; + rotation = "0.506872 0.507695 -0.696653 110.412"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-42.7999 -61.788 7.80044"; + rotation = "0.506872 0.507695 -0.696653 110.412"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-42.2359 -61.7835 9.54565"; + rotation = "0.506872 0.507695 -0.696653 110.412"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-43.9541 -61.797 4.24177"; + rotation = "0.506872 0.507695 -0.696653 110.412"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-47.051 -61.7938 0.121969"; + rotation = "0.398144 0.398924 -0.826039 101.022"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-45.8598 -61.7882 1.61118"; + rotation = "0.398144 0.398924 -0.826039 101.022"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-44.7171 -61.7828 3.04584"; + rotation = "0.398144 0.398924 -0.826039 101.022"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-48.1936 -61.7991 -1.3128"; + rotation = "0.398144 0.398924 -0.826039 101.022"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-73.272 -61.9265 -9.98069"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-75.106 -61.9331 -9.97749"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-53.9055 -61.8406 -5.83399"; + rotation = "0.303518 0.304245 -0.902946 95.9755"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.5309 -61.9126 -9.99139"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-71.3649 -61.9193 -9.98819"; + rotation = "0 0 -1 90.1369"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-62.3091 -61.8808 -8.86749"; + rotation = "0.0893049 0.0895184 -0.991973 90.5987"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-64.1141 -61.8876 -9.19269"; + rotation = "0.0893049 0.0895184 -0.991973 90.5987"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-65.9916 -61.8945 -9.52678"; + rotation = "0.0893049 0.0895184 -0.991973 90.5987"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-67.7965 -61.9012 -9.85199"; + rotation = "0.0893049 0.0895184 -0.991973 90.5987"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-55.4028 -61.8408 -6.60539"; + rotation = "0.166423 0.166822 -0.97184 91.7734"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-57.133 -61.8474 -7.21399"; + rotation = "0.166423 0.166822 -0.97184 91.7734"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-58.9333 -61.8542 -7.84289"; + rotation = "0.166423 0.166822 -0.97184 91.7734"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-60.6635 -61.8607 -8.45159"; + rotation = "0.166423 0.166822 -0.97184 91.7734"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-49.4588 -61.8227 -2.47093"; + rotation = "0.303518 0.304245 -0.902946 95.9755"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-50.9209 -61.8286 -3.57829"; + rotation = "0.303518 0.304245 -0.902946 95.9755"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "24.8871 -62.8146 -8.74028"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.5872 -55.7702 -8.9248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.4632 -55.7684 -8.9248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.22315 -55.7636 -9.14259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.0991516 -55.7654 -9.14259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.21265 -55.745 -8.93773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.23503 -62.8284 -9.16293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.111032 -62.8302 -9.16293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.20077 -62.8098 -8.95807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.4513 -62.8332 -8.94514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.5753 -62.835 -8.94514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "25.1671 -62.4305 -8.97491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.8687 -62.4123 -9.09338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-93.1187 -58.9534 -3.81626"; + rotation = "0 -1 0 20.0535"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-81.8436 -58.9642 -7.90167"; + rotation = "0 -1 0 20.0535"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-87.2588 -58.9587 -5.96022"; + rotation = "0 -1 0 20.0535"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-98.5339 -58.9479 -1.87481"; + rotation = "0 -1 0 20.0535"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-103.264 -59.6234 -0.943278"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-106.246 -61.0492 -0.777555"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "-75.0713 -61.9151 -9.96128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-102.615 -31.7385 -1.30056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Trigger(No8) { + position = "-107.338 -45.4903 -4.56828"; + rotation = "0 0 -1 0.0395647"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 8: Tornado Trapdoors"; + }; + new StaticShape() { + position = "-102.601 -35.7055 -1.30056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.603 -33.6802 -1.30056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.432 -27.233 0.0538707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new StaticShape() { + position = "-102.072 18.9995 2.70313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.086 22.9665 2.70313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.074 21.0248 2.70313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.062 30.3489 4.18537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.053 24.662 2.91026"; + rotation = "-1 0 0 15.4698"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.055 26.6139 3.45046"; + rotation = "-1 0 0 15.4698"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.067 28.4852 3.96838"; + rotation = "-1 0 0 15.4698"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.043 36.0114 4.3925"; + rotation = "-1 0 0 15.4698"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.045 37.9634 4.9327"; + rotation = "-1 0 0 15.4698"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.057 39.8347 5.45062"; + rotation = "-1 0 0 15.4698"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.076 34.3159 4.18537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-102.064 32.3742 4.18537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "-102.925 46.3576 6.8126"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-102.078 69.1375 6.90216"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "-102.185 -14.3469 11.4471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "15355"; + bonusTime = "0"; + gemCount = "0"; + }; + new StaticShape() { + position = "-97.0167 64.9573 6.45531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-97.0183 66.6616 6.45531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-88.6184 66.6279 9.50555"; + rotation = "0 0 1 19.4805"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-94.8314 64.9519 7.22303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-94.833 66.6562 10.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-92.6395 64.959 7.51713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-92.6411 66.6633 7.99075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-90.6107 65.0348 8.73783"; + rotation = "0 0 -1 38.3881"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-90.5868 66.6657 8.73783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-88.6262 65.0227 9.50555"; + rotation = "0 0 -1 30.3667"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-86.3781 66.6572 10.2505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-77.9714 66.6629 13.3007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-77.9698 64.9586 12.3514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-79.9466 66.6614 12.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-79.945 64.9571 10.1967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-82.0222 66.7266 11.7859"; + rotation = "0 0 -1 34.9504"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-81.9993 64.9547 11.7859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-84.1928 66.6518 11.0182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-84.2182 64.8724 11.0182"; + rotation = "0 0 1 39.5341"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-86.5611 65.0505 10.2505"; + rotation = "0 0 1 235.668"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-70.8757 75.694 16.1329"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-70.9211 71.9421 16.1532"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.902 70.576 16.1532"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-72.5045 70.7612 15.3855"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-71.4853 69.3951 15.3855"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-74.1507 69.5324 14.6384"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-73.1316 68.1664 14.6384"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-77.9351 70.9449 13.8995"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-74.8855 66.8517 13.8707"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-76.6416 65.551 13.103"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-77.6606 66.9171 13.103"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-70.8747 84.1006 19.1831"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.1704 84.1008 19.1831"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-70.8747 82.1254 18.4154"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.1703 82.1256 18.4154"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-70.8739 80.0711 17.6683"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.1696 80.0714 17.6683"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-70.8686 77.8792 16.9006"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.1642 77.8795 16.9006"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.1714 75.6942 16.1329"; + rotation = "0 0 -1 89.9543"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-57.4691 98.1583 21.3642"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-62.942 94.7017 21.4738"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-61.9229 93.3356 21.4738"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-64.5254 93.5208 20.7061"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-63.5062 92.1547 20.7061"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-66.1716 92.292 19.959"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-65.1525 90.926 19.959"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-67.9255 90.9774 19.1913"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-66.9064 89.6113 19.1913"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-68.6625 88.3106 18.4236"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-69.6815 89.6767 18.4236"; + rotation = "0 0 -1 36.6693"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-49.6916 94.9675 24.4144"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-50.3381 93.3906 24.4144"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-51.5191 95.717 23.6467"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-52.1656 94.14 23.6467"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-53.4201 96.4957 22.8996"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-54.0665 94.9188 22.8996"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-55.45 97.3225 22.1319"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-56.0965 95.7456 22.1319"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-58.1157 96.5814 21.3642"; + rotation = "0 0 1 22.3453"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "-72.1874 76.4668 13.6469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-77.5108 65.9837 12.5944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-48.005 96.6513 24.2943"; + rotation = "0 0 1 23.4913"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-74.4439 62.8262 12.6142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-67.283 71.5171 13.6923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-46.4408 92.4174 24.3325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(No9) { + position = "-106.9 53.0673 3.1876"; + rotation = "0 0 -1 0.0395647"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 9: Destroyed Trapdoor Staircase"; + }; + new InteriorInstance() { + position = "-33.901 92.4288 25.3083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.1854 94.8127 24.2217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Trigger(Easier) { + position = "-38.9048 96.2118 21.7943"; + rotation = "0 0 1 90.4877"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Its time for things to get a bit easier."; + }; + new Item() { + position = "-11.5141 91.6597 24.37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.8941 93.6533 24.904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-13.7841 93.5632 25.692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-9.13227 86.8529 37.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-8.36411 93.958 46.9079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Item() { + position = "-9.18762 86.8206 37.6128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-11.1539 89.1605 25.4098"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new InteriorInstance() { + position = "-11.4925 101.252 46.7738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Trigger(No10) { + position = "-25.2884 96.3383 22.378"; + rotation = "0 0 1 90.4877"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 10: SuperJump Trapdoors"; + }; + new Item() { + position = "-8.33625 98.0655 46.8102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(No11) { + position = "-13.0748 106.615 44.9917"; + rotation = "0 0 -1 0.0395647"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 11: Back and Fourth Trapdoors"; + }; + new InteriorInstance() { + position = "-9.13306 106.29 48.6167"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-6.74371 135.2 48.5384"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-8.28621 129.95 48.2594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-8.2787 131.955 48.2594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-6.32229 143.356 48.7249"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-9.96736 136.744 48.5124"; + rotation = "0 -1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-9.701 140.21 48.6733"; + rotation = "0 -1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-6.47735 138.666 48.6993"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-6.05593 146.822 48.8858"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-9.27957 148.366 48.8598"; + rotation = "0 -1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-9.54593 144.9 48.6989"; + rotation = "0 -1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new InteriorInstance() { + position = "-11.1113 156.455 48.1292"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-11.4243 135.264 46.3384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-11.4059 141.191 46.3602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-77.8959 70.755 14.3397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-68.7277 70.3732 17.3198"; + rotation = "0 0 1 88.2355"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "-7.98384 153.263 48.1577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "21.9747 153.179 52.918"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Item() { + position = "22.0662 153.273 48.9067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "0.106368 154.089 49.6604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-6.38788 140.964 48.7591"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "-9.61874 142.581 48.6795"; + rotation = "0 -1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "25.6886 153.194 52.9066"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "23.841 153.189 52.9176"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "27.5549 153.204 52.9042"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Item() { + position = "24.6958 153.086 52.8703"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.6713 153.182 52.519"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(No12) { + position = "17.5839 158.113 46.0354"; + rotation = "0 0 1 90.4877"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 12: Gravity Trapdoors"; + }; + new InteriorInstance() { + position = "33.113 153.885 49.6126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "55.6374 153.103 49.7195"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Trigger(No13) { + position = "43.6135 157.843 45.9876"; + rotation = "0 0 1 90.4877"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Challenge 13: The Final Run!"; + }; + new StaticShape() { + position = "50.7211 147.965 49.2553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "50.514 138.741 50.3765"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "50.7217 146.174 50.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "50.7405 144.323 50.7907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.2542 142.394 52.8228"; + rotation = "0 0 -1 88.991"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "52.4032 142.408 52.0551"; + rotation = "0 0 -1 88.991"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "50.6124 142.439 51.2874"; + rotation = "0 0 -1 88.991"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "56.0366 138.517 52.4086"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "56.1048 140.307 53.1763"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "56.1573 142.157 53.944"; + rotation = "0 0 1 182.201"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "54.1556 138.684 51.9119"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "52.3047 138.704 51.1442"; + rotation = "0 0 -1 88.8084"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "49.1824 138.493 50.9618"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.956 138.508 52.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.9563 136.717 52.8507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.9748 134.866 53.6184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "43.4887 132.937 55.6505"; + rotation = "0 0 -1 88.9905"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "41.638 132.951 54.8828"; + rotation = "0 0 -1 88.9905"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.847 132.982 54.1151"; + rotation = "0 0 -1 88.9905"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "43.6553 138.487 52.9939"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "43.6616 136.696 53.7616"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "43.6861 134.845 54.5293"; + rotation = "0 0 -1 0.181308"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "45.5416 138.398 52.4972"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "47.3918 138.455 51.7295"; + rotation = "0 0 1 88.8084"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new Item() { + position = "55.8918 142.138 54.4421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "29.8187 143.464 51.173"; + rotation = "0 0 -1 62.4524"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "37.9012 139.015 52.2942"; + rotation = "0 0 1 208.739"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "38.7621 140.585 53.0619"; + rotation = "0 0 1 208.739"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.6359 142.217 53.8296"; + rotation = "0 0 1 208.739"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "37.4824 145.598 55.8617"; + rotation = "0 0 1 119.749"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "39.0983 144.696 55.094"; + rotation = "0 0 1 119.749"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "40.6539 143.808 54.3263"; + rotation = "0 0 1 119.749"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "34.6679 140.812 53.2051"; + rotation = "0 0 1 208.557"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "35.5237 142.386 53.9728"; + rotation = "0 0 1 208.557"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "36.3921 144.02 54.7405"; + rotation = "0 0 1 208.557"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "33.0568 141.797 52.7084"; + rotation = "0 0 -1 62.4524"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "31.4069 142.637 51.9407"; + rotation = "0 0 -1 62.4524"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "25.5039 143.865 51.3854"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "17.3561 139.536 52.5066"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "18.1992 137.956 53.2743"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "19.0866 136.332 54.042"; + rotation = "0 0 -1 28.0749"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "23.0949 136.284 56.0741"; + rotation = "0 0 -1 117.065"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "21.4554 135.425 55.3064"; + rotation = "0 0 -1 117.065"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "19.8606 134.609 54.5387"; + rotation = "0 0 -1 117.065"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "16.3411 141.164 53.4175"; + rotation = "0 0 -1 28.2575"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "21.4786 139.681 54.1852"; + rotation = "0 0 -1 28.2575"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "22.3713 138.06 54.9529"; + rotation = "0 0 -1 28.2575"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "22.3363 142.068 52.9208"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "23.9418 142.989 52.1531"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "7.22473 123.192 55.8696"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "11.3253 137.349 54.9903"; + rotation = "0 0 -1 28.2575"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "13.0315 138.159 54.4936"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "14.6369 139.08 53.7259"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "20.4881 140.05 52.9582"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "7.78268 131.414 56.7063"; + rotation = "0 0 -1 28.2575"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "9.48888 132.224 56.2096"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "11.0944 133.145 55.4419"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "12.6565 134.021 54.6742"; + rotation = "0 0 1 60.7335"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "7.26908 128.719 57.9017"; + rotation = "0 0 1 90.3448"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "7.16343 126.833 57.405"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape() { + position = "7.20339 124.983 56.6373"; + rotation = "0 0 1 179.336"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + open = "0"; + timeout = "200"; + }; + new StaticShape(EndPoint) { + position = "7.24004 123.198 55.8543"; + rotation = "0 0 1 179.909"; + scale = "0.3 0.3 0.3"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "7.32395 123.176 64.3568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger(finish) { + position = "6.73927 123.513 55.6946"; + rotation = "1 0 0 0"; + scale = "1 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Congratulations! You beat the Trapdoor Monster Course! Come back and play again soon!"; + }; + new StaticShape() { + position = "-7.95493 156.169 49.3703"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new InteriorInstance() { + position = "77.3156 190.462 118.42"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-36.7515 202.075 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "83.6579 133.141 148.152"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "100.112 73.6637 150.368"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "124.759 -11.8967 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "90.6017 -101.064 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-12.5949 -127.994 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-101.318 -100.886 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-180.83 -55.6638 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-182.838 44.9272 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.07 104.34 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-99.8455 158.381 145.406"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.6008 202.317 143.748"; + rotation = "1 0 0 0"; + scale = "1 1 400"; + interiorFile = "~/data/interiors/trapdoor.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "7726"; + bonusTime = "0"; + gemCount = "0"; + }; + new Trigger(All13) { + position = "30.1019 61.984 3.36272"; + rotation = "1 0 0 0"; + scale = "9 1 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Complete all 13 trap-infested challenges to reach the goal."; + }; + new Trigger(Stayhere) { + position = "-208.858 285.525 -56.1803"; + rotation = "1 0 0 0"; + scale = "400 400 200"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/marble/data/missions/advanced/UltimateMountain.mis b/marble/data/missions/advanced/UltimateMountain.mis new file mode 100644 index 0000000..2c374db --- /dev/null +++ b/marble/data/missions/advanced/UltimateMountain.mis @@ -0,0 +1,1493 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "110000"; + type = "advanced"; + desc = "Climb the mountain and get the gems."; + name = "Ultimate Mountain"; + artist = "Kevin"; + level = "11"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new SimGroup(PathNodeGroup) { + + new StaticShape(CameraPath1) { + position = "-68.5007 -1.99993 68.7495"; + rotation = "0.128172 -0.128171 0.983435 90.9571"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath2"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath2) { + position = "-64.4776 -9.65362 65.5"; + rotation = "0.189898 -0.126885 0.97357 68.9251"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath3"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath3) { + position = "-60.1421 -16.1422 65.5"; + rotation = "0.297851 -0.123374 0.946606 47.2654"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath4"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath4) { + position = "-53.6535 -20.4776 65.5"; + rotation = "0.544823 -0.108372 0.831519 26.9065"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath5"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath5) { + position = "-45.9998 -22 65.5"; + rotation = "1 6.87511e-012 -1.95341e-005 14.8511"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath6"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath6) { + position = "-38.3463 -20.4775 65.5"; + rotation = "0.544822 0.108372 -0.831519 26.9066"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath7"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath7) { + position = "-31.8579 -16.1421 65.5"; + rotation = "0.297847 0.123372 -0.946608 47.2661"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath8"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath8) { + position = "-27.5224 -9.65367 65.5"; + rotation = "0.189897 0.126886 -0.97357 68.9251"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath9"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath9) { + position = "-26 -2 65.5"; + rotation = "0.128172 0.128172 -0.983435 90.9571"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath10"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath10) { + position = "-27.5224 5.65367 65.5"; + rotation = "0.0860335 0.128759 -0.987937 113.141"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath11"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath11) { + position = "-31.858 12.1423 65.5"; + rotation = "-0.0534551 -0.129053 0.990196 224.602"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath12"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath12) { + position = "-38.3464 16.4776 65.5"; + rotation = "-0.0256981 -0.129195 0.991286 202.309"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath13"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath13) { + position = "-46 18 65.5"; + rotation = "4.5243e-007 -0.129237 0.991614 180"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath14"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath14) { + position = "-53.6538 16.4775 65.5"; + rotation = "0.0256984 -0.129195 0.991286 157.691"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath15"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath15) { + position = "-60.1422 12.1421 65.5"; + rotation = "0.0534554 -0.129052 0.990196 135.398"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath16"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath16) { + position = "-64.4776 5.65364 65.5"; + rotation = "0.086034 -0.128759 0.987937 113.141"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath1"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + }; + new StaticShape() { + position = "313.828 -12.2967 94.1225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new InteriorInstance() { + position = "71.1142 -3.30012 65.3215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/greatdivide.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.5496 -47.3128 67.3772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/daedalus1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.09725 1.69816 74.724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/selection4.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "20.7769 -15.6237 77.0508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.1966 -12.5869 99.6623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "58.1375 -0.289787 111.042"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "39.8147 -12.4895 118.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "20.8614 27.0158 96.5052"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl5.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "39.0207 -5.50626 129.604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-96.4446 -260.495 257.006"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/ski3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-7.4993 -0.500632 161.75"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/leastresist.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.2542 32.374 165.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/half-pipe2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.9862 9.78756 193.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/half-pipe1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.5766 7.74844 208.898"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/bonus/ascend.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "10.1063 21.7862 201.751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.0421 21.788 199.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "29.0577 12.7767 212.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "29.0088 -15.2733 221.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.11069 11.7683 209.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "6.93998 13.6511 209.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "9.21142 13.8344 209.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "7.15449 11.8807 209.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "51.4219 7.06012 225.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "70.1003 -12.377 225.901"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new InteriorInstance() { + position = "142.964 -2.59521 211.908"; + rotation = "0.103961 -0.103961 0.989133 90.6264"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/backagain.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "184.133 -2.2769 204.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "223.591 -4.48275 71.523"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/leapoffaith.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "39.0367 -3.85629 89.8301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EasterEgg_MBG"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "34.7275 19.1758 199.841"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "196.612 -4.66641 163.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "184.154 -3.73965 205.241"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "-7.02213 -27.1662 170.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "20000"; + }; + new StaticShape(EndPoint) { + position = "341.358 -2.35705 114.343"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "290.301 -10.2155 172.483"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "15.674 11.0357 191.749"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Trigger() { + position = "25.8305 8.1154 175.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + center = "1"; + displayonce = "0"; + persistTime = "5000"; + text = "It\'s halfpipe time!! :)"; + }; + new StaticShape() { + position = "341.416 -2.40225 123.965"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape() { + position = "212.141 -4.96453 170.176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "209.386 -4.88674 168.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "199.368 -4.711 164.492"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new Item() { + position = "313.733 -28.3882 100.282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "206.969 -4.84563 167.685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "204.387 -4.8806 166.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "201.809 -4.84176 165.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new Item() { + position = "223.439 -4.4815 171.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "290.932 -8.47038 171.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "313.992 -3.57962 -26.9298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-63.0997 -2.22641 65.3115"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape() { + position = "314.007 -27.9075 73.1225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "329.496 -27.1512 80.1225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "329.718 -12.7474 87.1225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new InteriorInstance() { + position = "315.724 -30.1161 73.086"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/fan_lift.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "23.5138 0.645188 73.4495"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.9179 -12.4932 84.7056"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "30.5964 -16.3839 84.4194"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "28.2523 -12.3748 84.7981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.1753 -14.0428 88.8379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.0582 -14.2252 90.8663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "56.8046 -11.548 92.5994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "55.7446 -13.3065 92.5994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "56.8802 -14.4561 92.5994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "55.2616 -15.3744 92.5994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "55.5358 -17.5258 92.5994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "56.6023 -15.9369 92.5994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "55.0775 -12.1097 92.6956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "55.567 -13.3159 98.6293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "54.7723 -14.0387 92.7128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.0279 -15.0955 92.7128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.4835 -16.9116 92.7128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.9161 -12.4731 92.7128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "39.4876 -8.03418 111.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "39.5627 -2.3314 111.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "39.5122 3.20511 111.297"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "39.7231 -12.2401 118.802"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.5347 23.5863 146.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.5308 24.9249 146.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "37.0442 19.4816 146.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "37.2587 21.298 146.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "35.6287 22.0225 146.095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "17.7726 0.882315 156.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.0508 13.6508 204.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.1433 1.35987 153.637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "29.4197 3.21946 161.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.8163 -5.62052 163.832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.1035 -16.7918 167.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.3398 -12.7852 167.835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.4068 -16.7514 169.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.3186 -0.581585 174.031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.4689 -5.43552 171.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.9463 -2.49505 172.172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "42.7208 -8.33369 172.336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "20.037 10.6099 175.708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-32.018 16.0754 193.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-35.659 4.74858 199.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "-35.6506 10.0067 199.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "-35.635 -0.209009 199.209"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "-19.4877 4.76861 186.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.7501 9.59464 186.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.5561 -0.16512 186.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.92693 9.01663 211.389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-27.831 6.05249 215.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.9592 -6.22501 153.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "327.81 -2.36756 114.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.09 21.7937 189.36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.2936 -5.29603 221.088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "72.9285 -2.02719 225.655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "142.174 -2.13043 213.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "191.509 -2.51025 162.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "218.359 -4.91917 171.709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "288.084 -8.70517 171.697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "288.364 -8.32905 72.1978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "313.916 -8.89806 73.2582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "314.205 -27.1935 77.8564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "328.977 -27.2335 85.1993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "329.241 -12.2221 94.4306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "314.559 -12.6035 98.8361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "20.0346 -16.7899 78.3973"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "55.2045 -10.8831 93.6042"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "39.0186 -10.1832 100.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "41.6558 24.7441 146.864"; + rotation = "0 0 -1 39.0003"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "14.5382 -8.77911 161.327"; + rotation = "0 0 1 190"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "27.7729 -3.4535 162.66"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "31.1882 -3.41041 162.66"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new Trigger() { + position = "220.092 -3.93143 171.523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + center = "1"; + displayonce = "0"; + persistTime = "5000"; + text = "Use the gyrocopter instead"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/beginnercourse.mis b/marble/data/missions/advanced/beginnercourse.mis new file mode 100644 index 0000000..e9f798c --- /dev/null +++ b/marble/data/missions/advanced/beginnercourse.mis @@ -0,0 +1,1878 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Conquer this course!"; + startHelpText = "Can you conquer this course?"; + level = "6"; + type = "advanced"; + name = "Beginner Monster Course"; + artist = "Kevin"; + time = "0"; + goldTime = "240000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "0.25 -8 0.0885501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new InteriorInstance() { + position = "12.25 4 -0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "36.25 -13 -0.250015"; + rotation = "-1.26759e-006 -1.26759e-006 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jewel.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "76.75 32.75 3.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "105.5 66.5 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jump.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "169.022 66.9562 -26.8384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_platform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "151.982 70.2216 5.28659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "157.77 61.8897 5.28659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "167.724 59.6002 5.28659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "176.788 64.1152 5.28659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "184.694 70.7384 5.28659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "199.039 50.1421 3.5"; + rotation = "0 0 1 89.9996"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_speed.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "199.008 -0.481928 3.41159"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_speed.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "198.417 -15.2757 11.2186"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_elevator.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "193.802 -6.64829 12.75"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "202.045 -6.81903 20.5756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "198.357 -86.7486 -7.9016"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_airmove.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "197.907 -49.2699 22.2168"; + rotation = "-0.129428 0.129428 -0.983106 90.9767"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "197.903 -66.3287 4.15704"; + rotation = "-0.357407 0.357406 -0.862857 98.4218"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "197.898 -65.6803 -2.09375"; + rotation = "0.577352 0.57735 0.57735 120"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "197.865 -65.6381 -22.0108"; + rotation = "0.577352 -0.57735 0.57735 240"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "198.32 -126.835 -136.64"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_copter.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "62.3372 -150.892 -72.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "29.9083 -150.833 -103.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bounce.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-96.9842 -150.722 -84.9405"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_gravity.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.75 -138.25 -92"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_shock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.5 -142.25 -132.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.497 -137.688 -132.208"; + rotation = "-1 0 0 19.9999"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.5 -52.5 -132.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/backagain.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-111.5 -41.0027 -127.25"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_friction.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-30.6727 -29.8018 -127.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bumpers.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-20.9322 -41.0472 -127.897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_fans.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "44.2868 -45.3076 -127.5"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_mines.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "56.28 -8.80118 -159.5"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "56.3021 50.7666 -134.171"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_tornado.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "40.2383 102.6 -135.835"; + rotation = "0 0 -1 89.9996"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/pitfall.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "136.223 150.602 -116"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/platformparty.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "121.037 163.735 -102.202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "125.596 171.379 -103.876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "131.035 178.47 -105.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "156.076 156.603 -115.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "148.729 154.526 -114.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "142.41 148.813 -114.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "148.21 129.787 -108.067"; + rotation = "0 1 0 9.99989"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "176.587 132.534 -104.719"; + rotation = "-0.0868257 0.0868253 -0.992433 90.4357"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "176.584 129.68 -106.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "176.573 145.986 -102.613"; + rotation = "-0.357407 0.357406 -0.862857 98.4218"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "226.714 165.721 -100.379"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/windingroad.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "262.738 74.7641 -84.483"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/beginner_finish.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "262.75 116.75 -108.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "262.835 118.531 -102.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "12.25 16 0.14375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "60.5 -22.5 0.143773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.5 -7.75 0.143782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "70.5 -8.5 0.143834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "78.75 32.75 3.84291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "111.75 66.5 1.575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "70.736 36.0174 0.44375"; + rotation = "1 0 0 0"; + scale = "0.2 0.2 0.2"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new Item() { + position = "59.25 -13.5 0.593793"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "3000"; + }; + new Item() { + position = "-3.43444 19.8889 -0.439041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "122.25 66.5 5.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.593 66.5154 10.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "8000"; + }; + new InteriorInstance() { + position = "166.501 70.7301 5.28659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "167.5 59.75 5.71159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "166.5 70.75 6.16159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "6000"; + }; + new Item() { + position = "199 23.5 9.60429"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + }; + new Item() { + position = "199.083 23.5252 15.7943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "12000"; + }; + new Item() { + position = "199 46.25 5.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "199 3.5 5.09859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "199 -4.5 5.11159"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "194 -6.75 13.325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "202 -6.75 21.1506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "193.243 -7.60636 32.5991"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "6000"; + }; + new Item() { + position = "197.934 -67.8584 18.9646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new Item() { + position = "197.933 -67.7414 14.3955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "197.996 -67.6621 9.00653"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "3000"; + }; + new Item() { + position = "198 -61.75 -3.2814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "198 -17.25 28.7686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "198.25 -82.75 -55.3516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "198.516 -87.8305 -39.7372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new Item() { + position = "198.25 -104.75 -55.9066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "198.402 -126.895 -58.6898"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + }; + new Item() { + position = "198.269 -133.224 -63.7785"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new Item() { + position = "160.25 -148 -71.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "2000"; + }; + new Item() { + position = "82.25 -153.5 -71.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "2000"; + }; + new Item() { + position = "122.25 -150.75 -71.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.75 -150.75 -71.544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.75 -150.5 -102.839"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + }; + new Item() { + position = "16.1427 -154.032 -91.7895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "-53.1231 -149.945 -87.4253"; + rotation = "1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-80.75 -148.5 -84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-101 -152 -83.25"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-121 -152.75 -85.75"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-90.9593 -150.744 -82.1"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-91 -150.75 -80.4717"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "12000"; + }; + new Item() { + position = "-158.548 -146.136 -91.3"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + showHelpOnPickup = "0"; + }; + new Item() { + position = "-150.736 -139.912 -91.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-144.75 -136 -116.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new Item() { + position = "-156.75 -136 -116.278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new Item() { + position = "-150.75 -131 -133.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-150.5 -8.75 -131.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-150.394 -7.89636 -131.474"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "-83.5 -41 -127.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-81.6736 -31.2377 -122.834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7500"; + }; + new Item() { + position = "-81.561 -50.9943 -122.833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7500"; + }; + new Item() { + position = "-30.6777 -17.812 -127.356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-35.4912 -19.5446 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-33.5184 -20.9321 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-35.8118 -15.682 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-33.3717 -16.727 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-31.7724 -19.1558 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-30.9991 -15.5985 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-29.1647 -19.9229 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-27.8148 -16.9538 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-26.631 -15.0728 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-26.1394 -19.8325 -127.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "-33.5415 -20.8772 -123.742"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new Item() { + position = "-27.8272 -16.9666 -123.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new Item() { + position = "-150.633 -142.209 -132.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "11.0622 -36.0484 -126.5"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "-5 -46.0467 -126.75"; + rotation = "1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new Item() { + position = "-4.97801 -44.9419 -126.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "3000"; + }; + new Item() { + position = "11.0526 -36.9466 -126.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "3000"; + }; + new Item() { + position = "3.62251 -41.1446 -127.347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "40.3761 -54.2075 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "39.5853 -55.4603 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "37.7662 -60.6826 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "39.1441 -57.8623 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "40.1446 -60.0452 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.3281 -58.4116 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5538 -60.3961 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5886 -58.3507 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.4453 -55.7822 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.2295 -54.3419 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.9725 -56.4133 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.9003 -54.6185 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "46.0057 -57.8249 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.4329 -59.8828 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.2856 -56.4538 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "48.4107 -53.8882 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "49.4479 -55.9462 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.8864 -58.7627 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "49.8165 -60.5484 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "50.4931 -58.2391 -127.531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "44.25 -57.25 -127.481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "44 -57.25 -123.781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new StaticShape() { + position = "51.2726 -5.80717 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new Item() { + position = "51.25 -5.75 -127.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "61.2795 -7.80359 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new Item() { + position = "61.25 -7.75 -127.45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "55.2716 -5.79395 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new Item() { + position = "55.2528 -5.88217 -128.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new StaticShape() { + position = "63.2622 -9.77796 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "63.2554 -11.7678 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "61.2859 -11.7875 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "59.2919 -11.7787 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "57.2979 -11.8045 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "55.3168 -11.8007 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "53.2863 -11.7957 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "51.3096 -11.7952 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "49.2874 -11.7947 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "55.2779 -9.79884 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "59.2855 -9.79074 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "51.3094 -9.82282 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "53.2854 -7.77813 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "49.2874 -7.79561 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "57.2859 -7.79177 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "59.2867 -5.7903 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "63.3001 -5.81904 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "61.2875 -3.80159 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "57.2952 -3.81291 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "53.2705 -3.80482 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "49.2921 -3.81674 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "49.3 -1.85308 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "51.2717 -1.8111 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "53.2762 -1.80511 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "55.2918 -1.7916 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "57.283 -1.80032 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "61.2888 -1.79652 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "63.281 -1.79921 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "59.2737 -1.79286 -127.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new Item() { + position = "63.3141 -9.83242 -128.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new StaticShape() { + position = "56.25 47.5 -139.609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new Item() { + position = "63.2528 40.5734 -139.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.3242 54.6347 -139.559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.233 66.5998 -131.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "6000"; + }; + new Item() { + position = "88.4809 122.854 -127.585"; + rotation = "1 0 0 0"; + scale = "0.2 0.2 0.2"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new Item() { + position = "-5.78341 92.5509 -115.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.1651 120.443 -106.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "4000"; + }; + new Item() { + position = "94.2502 153.576 -103.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "166.192 184.597 -111.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "176.473 129.784 -106.279"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "142.273 148.844 -113.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "191.205 165.677 -84.179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "215.187 177.69 -76.329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "148.722 129.653 -109.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "263.25 177.75 -64.6456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "250.805 178.516 -65.3688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "9000"; + }; + new Item() { + position = "262.744 114.76 -76.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "222.749 74.7326 -76.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "302.753 74.7764 -76.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.713 74.7928 -84.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.701 74.7502 -96.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.75 34.8018 -92.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "239.096 114.761 -92.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "286.363 114.77 -92.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.75 102.75 -92.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "246.998 58.5662 -93.233"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new Item() { + position = "278.51 90.9963 -93.233"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.3"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "7000"; + }; + new Trigger(Bounds) { + position = "-179.078 -173.835 -1273"; + rotation = "1 0 0 0"; + scale = "505.316 397.056 1351.72"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "263.195 205.561 -965"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "easterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "263.75 76.25 -50.483"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/bumpy.mis b/marble/data/missions/advanced/bumpy.mis new file mode 100644 index 0000000..4b5259e --- /dev/null +++ b/marble/data/missions/advanced/bumpy.mis @@ -0,0 +1,248 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + level = "15"; + name = "Gem Bouncing"; + time = "0"; + author = "Kevin"; + type = "Advanced"; + desc = "Do NOT touch the red floor. Worst mistake of my life!"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 2.5228e+014 3767.15"; + fogVolume2 = "-1 6.7422e+022 2.81751e+020"; + fogVolume3 = "-1 1.01726e+031 7.68135e+031"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 17927695353571035000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 260370609189287730000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 8221.096680"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/bumpy.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-17 10 0.5"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "17 -21 16.5"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-27 17 -3"; + rotation = "1 0 0 0"; + scale = "50 44 36.5"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-19.0393 -14.8731 8.86895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "-19.1596 -9.01906 0.99857"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-10.0914 -21.8289 15.5633"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-23.4623 -21.8798 15.5347"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new Item() { + position = "-23.0055 -21.0307 15.0411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-15.0499 2.87859 0.969475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.9102 -19.1294 17.0057"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.09233 -19.068 16.9218"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.905053 -22.9906 16.9219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.2757 -19.1022 16.9147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.38817 -23.0355 16.8997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-27.1056 11.1097 4.66478"; + rotation = "1 0 0 0"; + scale = "20 20 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-23.7101 -13.636 14.2335"; + rotation = "1 0 0 0"; + scale = "6 6 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-7.19605 -14.6255 20.9887"; + rotation = "1 0 0 0"; + scale = "20 20 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1565"; + bonusTime = "0"; + gemCount = "0"; + }; + new InteriorInstance() { + position = "20.0634 -14.0119 6.41799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.9366 -16.6119 6.41799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFArch.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.4634 -6.4119 6.41799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.463401 -22.0119 6.41799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.9366 -11.2119 6.41799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "8561"; + bonusTime = "0"; + gemCount = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/dive2eternity.mis b/marble/data/missions/advanced/dive2eternity.mis new file mode 100644 index 0000000..7ccf271 --- /dev/null +++ b/marble/data/missions/advanced/dive2eternity.mis @@ -0,0 +1,284 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Set a new marble speed record!"; + startHelpText = "One mistake and you're outta here!"; + level = "3"; + type = "intermediate"; + name = "Dive To Eternity"; + artist = "Kevin"; + time = "0"; + goldTime = "60000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1 0.711231"; + fogVolume2 = "-1 -1 0.129878"; + fogVolume3 = "-1 -3.35192e+038 -3.3785e+038"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -263245941870854330000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -335191624087289120000000000000000000000.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -335191603804879520000000000000000000000.000000"; + }; + new Sun() { + direction = "0.392451 0.18875 -0.900197"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "62.5748 1.30147 36.077"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "2942"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1776"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; + new StaticShape(EndPoint) { + position = "-1178.14 -53.65 -1242.71"; + rotation = "0 1 0 135"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new StaticShape(StartPoint) { + position = "24.0003 8.8 3.1"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "7257"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-828.504 -98.0186 -628.425"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive1.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "2665"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-92.4234 -22.994 -78.8603"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.192192 -11.1928 -10.6968"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-253.11 -47.9766 -199.118"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-163.16 -35.3923 -131.986"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-470.727 -60.5719 -361.023"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive1.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1904"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-464.288 -60.5739 -356.26"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-555.239 -73.0028 -423.022"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-618.658 -85.5277 -470.901"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "55.627 8.92613 -12.8862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bounce.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "145.127 -85.8787 -114.25"; + rotation = "0 0 1 180"; + scale = "3 1 3"; + interiorFile = "~/data/interiors/addon/dive4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-948.923 -98.0317 -719.431"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-996.518 -90.8659 -753.408"; + rotation = "0 1 0 25"; + scale = "1 2.5 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1000.22 -90.9115 -754.869"; + rotation = "0 1 0 15"; + scale = "1 2.5 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1005.11 -90.9037 -755.773"; + rotation = "0 1 0 4.99997"; + scale = "1 2.5 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1908.98 -58.4025 -792.455"; + rotation = "1 0 0 0"; + scale = "5 1 5"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-1867.13 -90.8581 -831.129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1864.09 -90.8833 -831.039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-1890.93 -83.3892 -798.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1904"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-1809.97 -70.8682 -859.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1191.87 -53.5734 -1279.92"; + rotation = "0 1 0 45"; + scale = "3 0.4 3"; + interiorFile = "~/data/interiors/intermediate/wind_tunnel.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1904"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/highway.mis b/marble/data/missions/advanced/highway.mis new file mode 100644 index 0000000..8e15620 --- /dev/null +++ b/marble/data/missions/advanced/highway.mis @@ -0,0 +1,790 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "A trip on the Highway"; + goldTime = "35400"; + time = "0"; + artist = "Kevin"; + type = "advanced"; + desc = "The dangerous trip on the Highway."; + level = "17"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 1.65774e-042 2.8026e-045"; + fogVolume2 = "-1 2.8026e-045 1.9422e-042"; + fogVolume3 = "-1 2.8026e-045 1.91698e-042"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/highway.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "4 0.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4 20.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "2500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-16 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-36 41 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-56 41 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "5"; + msToNext = "2400"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-76 41 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "6"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-96 40.7 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "7"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-116 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "8"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-136 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "9"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-156 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "10"; + msToNext = "2500"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-176 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "11"; + msToNext = "2000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-196 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "12"; + msToNext = "1800"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-216 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "13"; + msToNext = "1800"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-236 40.5 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "14"; + msToNext = "1800"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-256 41 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "15"; + msToNext = "1800"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "4 0.5 3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-10.0000000 -10.0000000 1.0000000 0.0000000 20.0000000 0.0000000 20.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/highway.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-296 53 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-296 53 14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-296 53 28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "-296 53.5 12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -2.0000000 1.0000000 0.0000000 4.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/highway.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-98 30.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-98 51.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-98 30.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/highway.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-124 51.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-124 30.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-124 51.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/highway.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-148.5 30.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-148.5 51.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-148.5 30.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/highway.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-171.5 51.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-171.5 31 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + new Marker() { + position = "-171.5 51.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Spline"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/highway.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new StaticShape(StartPoint) { + position = "4 -34 12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-296 41 29"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-309.5 62.5 -3.00005"; + rotation = "1 0 0 0"; + scale = "327 108 49"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1674"; + }; + new Item() { + position = "-1.20268 -23.3221 2.45925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-306.195 52.187 11.4774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "12000"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2063"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2675"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3811"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "4137"; + }; + new TSStatic() { + position = "-172.527 36.3599 -6.6"; + rotation = "1 0 0 0"; + scale = "6 6 1"; + shapeName = "~/data/shapes/water/water100x100.dts"; + }; + new StaticShape() { + position = "-66.9546 31.6058 10.4284"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "4752"; + }; + new StaticShape() { + position = "9.54375 56.1821 6.223"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "9.49596 56.2511 1.32639"; + rotation = "0 1 0 180"; + scale = "0.3 0.3 2"; + dataBlock = "SmallDuctFan"; + }; + new StaticShape() { + position = "-46.415 49.5297 4.248"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-66.9546 50.4058 10.4284"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new InteriorInstance() { + position = "-211.077 51.6515 16.0979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.793259 -38.5 12.1171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.9659 -22.3011 11.7025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-11.2149 -22.8477 11.7459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.3617 30.5178 11.7764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.2878 63.3515 12.6308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-60.5279 35.7957 11.8482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-58.6016 63.2134 12.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-219.134 42.7758 16.3068"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-229.954 53.5973 16.5724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-228.123 49.5562 16.5289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-233.823 42.3551 16.6773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-239.154 46.9051 16.8086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-244.315 55.4336 17.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-245.349 42.3467 17.2651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-253.8 53.4126 17.2944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-252.008 46.5322 17.1328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-219.277 49.712 16.3058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-202.132 43.7071 15.8777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-202.376 53.0414 15.8777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-208.678 48.7881 16.0393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-210.915 44.0031 16.0989"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new InteriorInstance() { + position = "-234.81 52.8889 16.2771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-242.854 45.6858 16.4326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-243.28 51.5427 16.4755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-258.343 41.6257 16.7866"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-258.682 49.9453 16.841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-241.093 49.1965 16.4093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-237.769 57.7968 16.3763"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-231.382 45.1403 16.1507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-241.304 44.0684 16.3095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-247.409 53.6617 13.3126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-253.636 43.7499 16.7822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MBFPole.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/marblechallenge.mis b/marble/data/missions/advanced/marblechallenge.mis new file mode 100644 index 0000000..4c3ce38 --- /dev/null +++ b/marble/data/missions/advanced/marblechallenge.mis @@ -0,0 +1,1813 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + startHelpText = "Test your skills on this course!"; + name = "Marble Monster Course"; + desc = "The extreme marble challenge."; + type = "Advanced"; + level = "5"; + goldTime = "50000"; + artist = "Kevin"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "0.0682294 0.50582 499.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + }; + new InteriorInstance() { + position = "-2.99708 3.42163 499.365"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "15149"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "3638"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "1928"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new InteriorInstance() { + position = "3.20422 16.5796 502.607"; + rotation = "1 0 0 20"; + scale = "1 10 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.05066 16.1388 502.739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "6.28122 -48.8413 535.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-3.04359 21.9182 502.729"; + rotation = "1 0 0 0"; + scale = "2 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.21711 -42.0864 523.981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.23589 -45.7152 527.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.21712 -53.5234 525.736"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.23091 -41.8208 532.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.19983 -49.7197 531.056"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.20444 -46.8591 540.156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "6.4125 -46.9288 524.357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.41047 -50.2347 526.387"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.36311 -53.1334 528.785"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.37735 -51.1511 528.847"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.36942 -46.9781 527.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.40015 -44.0109 531.287"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.027985 2.48125 499.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "41.3579 45.0463 561.209"; + rotation = "1 0 0 0"; + scale = "1 1 0.01"; + interiorFile = "~/data/interiors/space.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.19547 11.5359 561.504"; + rotation = "-1 0 0 20"; + scale = "1 10 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "64.0891 80.5478 562.339"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "60.9475 81.781 561.547"; + rotation = "1 0 0 0"; + scale = "1 1 1.3"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "63.1888 82.5589 545.283"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "0.474726 -52.1643 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "3.95975 12.7783 561.52"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new InteriorInstance() { + position = "-11.574 -46.8623 540.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-4.40267 -47.0426 536.215"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-1.28306 -48.4204 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-3.0496 -48.4185 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "0.513325 -48.4141 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-1.3024 -50.2689 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-3.08685 -50.2829 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "0.492249 -50.2777 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-3.25451 -52.1607 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-1.37497 -52.1594 536.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-8.47303 -41.9439 543.408"; + rotation = "1 0 0 0"; + scale = "0 0 0"; + dataBlock = "tornado"; + }; + new InteriorInstance() { + position = "-11.5697 2.98108 538.337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "26.5777 36.0366 538.027"; + rotation = "1 0 0 0"; + scale = "1 1 0.01"; + interiorFile = "~/data/interiors/space.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-16.8564 -10.8972 538.998"; + rotation = "-1 0 0 45"; + scale = "15 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "52.1088 64.9267 540.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "76.3652 64.8871 540.894"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "101.157 67.851 540.907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "119.354 81.141 535.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "118.338 87.12 535.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "118.337 93.1856 534.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "118.337 99.1856 534.935"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "111.132 55.3347 533.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/backagain.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.4044 -10.4032 533.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-16.8406 -6.40904 534.517"; + rotation = "1 0 0 45"; + scale = "15 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-50.0251 -9.58076 534.731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "1930"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "1.26534 15.8565 502.779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.8896 -10.6149 534.663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-50.7334 -15.1088 534.69"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-55.7415 -10.7497 534.69"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-42.3524 -5.7832 534.71"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-46.0204 -11.598 534.73"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-51.631 -6.461 534.69"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-56.939 -4.47076 534.73"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-49.8363 -2.04893 534.73"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "-56.789 -15.9411 534.73"; + rotation = "1 0 0 0"; + scale = "15 15 15"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new Item() { + position = "-60.5253 -9.62453 534.913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-74.8712 24.5364 534.681"; + rotation = "1 0 0 0"; + scale = "1 5 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-41.8782 36.9872 529.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/half-pipe1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-17.4266 57.9588 524.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/half-pipe2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.40975 143.696 498.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bounce.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "113.324 79.0441 538.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "112.232 85.1572 538.038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "112.417 91.1778 537.975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "112.313 97.1448 537.975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "101.865 64.7927 538.459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "68.8228 64.9585 538.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.8331 49.3144 538.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.3115 53.97 538.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9702 44.5208 538.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.39911 52.5825 538.397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-54.2617 32.0553 522.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.4208 42.2109 522.373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.0229 39.212 549.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.5909 39.201 542.256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.2785 33.0895 561.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "24.8735 48.3097 561.582"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.6269 24.022 561.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.28762 11.9059 561.562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0140829 -10.9845 534.521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.27196 -18.9537 550.498"; + rotation = "-1 0 0 20"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-49.9333 -10.8344 534.771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.32335 -50.0802 540.196"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.09474 -49.4062 539.616"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.22612 -49.6797 535.529"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.45212 -49.09 527.631"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.62821 -53.4834 528.862"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.49391 -43.4879 524.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.73653 -13.1845 513.492"; + rotation = "1 0 0 20"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-8.22285 1.38106 538.377"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "111.493 57.2651 534.548"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-8.45802 -50.8954 540.688"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-26.5375 120.366 618.138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle_huge.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.5699 97.2105 533.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/backagain.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "3276"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "-42.7416 144.056 518.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.7416 144.056 520.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.7416 144.056 516.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.7416 144.056 514.596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.21221 143.665 530.753"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.2732 133.718 548.259"; + rotation = "1 0 0 20"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "6.46253 118.54 586.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall0.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-4.10034 118.741 618.318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-8.26539 153.735 540.939"; + rotation = "1 0 0 20"; + scale = "5 7 5"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.68703 161.7 508.995"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.11108 123.279 612.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.81886 119.508 607.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.56728 121.794 626.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.16011 119.562 585.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.87976 116.361 562.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.1569 121.172 565.692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.92006 121.985 604.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.963 116.475 627.672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.6279 115.626 638.018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.35684 120.841 625.247"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.93727 114.327 616.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.65092 113.194 612.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.15158 121.138 618.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.36306 160.176 557.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.34162 159.333 553.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.94876 162.222 525.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.17772 153.053 504.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.21202 163.226 519.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.91864 159.22 511.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.65375 165.942 547.615"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.04443 162.393 498.191"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.1131 153.13 543.759"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "15.1376 162.426 503.082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.20458 165.484 539.745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new ParticleEmitterNode() { + position = "-8.35777 -47.4456 540.648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FireWorkNode"; + emitter = "LandMineEmitter"; + velocity = "1"; + }; + new StaticShape() { + position = "15.5415 143.735 544.582"; + rotation = "1 0 0 20"; + scale = "20 20 20"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new Item() { + position = "12.8626 75.8021 534.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "5.28373 153.734 543.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.91194 113.572 598.074"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.6554 117.931 602.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.96105 120.27 602.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.71105 115.564 634.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.1954 116.986 653.496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "14.4054 112.696 641.167"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.87133 111.378 593.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.88785 116.861 608.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.30058 117.499 617.16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.29919 115.457 616.442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.9729 116.976 641.41"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.62506 115.468 641.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.59093 107.609 628.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.64296 112.423 631.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.03598 116.251 642.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.90438 119.193 620.539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.85971 116.184 619.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.52893 113.374 596.918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.07023 113.802 599.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.15803 115.886 602.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.86604 115.81 615.168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "3.65803 118.23 555.645"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.73046 154.537 520.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.7831 160.734 534.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.0007 156.195 557.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.42698 155.121 567.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "12.8161 162.39 578.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.0817 152.734 569.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.4476 165.984 525.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.01934 163.458 544.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.45729 159.898 552.67"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.59774 157.796 549.425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.26616 163.398 503.691"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "4.86671 159.913 482.135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.87121 165.96 489.011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.89634 158.71 512.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "4.26616 164.949 499.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.26616 160.031 484.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.65746 161.21 490.181"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.0337 159.11 512.767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.39168 156.355 522.574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.9329 160.074 511.716"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.58466 161.21 489.999"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.82235 161.69 511.062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "10.1205 158.386 521.049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-88.8817 140.345 469.437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "5491"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "1930"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Trigger() { + position = "-8.92535 -50.4256 540.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Start running and jump just before the magic puff."; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "1764"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new StaticShape() { + position = "7.6899 122.732 552.226"; + rotation = "1 0 0 20"; + scale = "20 20 20"; + dataBlock = "LandMine"; + resetTime = "1"; + }; + new StaticShape() { + position = "2.50059 131.863 548.901"; + rotation = "1 0 0 20"; + scale = "10 10 10"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "12.0587 136.1 547.358"; + rotation = "1 0 0 20"; + scale = "10 10 10"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "19.8094 123.096 551.879"; + rotation = "1 0 0 20"; + scale = "10 10 10"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "7.83026 143.272 544.748"; + rotation = "1 0 0 20"; + scale = "10 10 10"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-3.48123 138.064 546.564"; + rotation = "1 0 0 20"; + scale = "10 10 10"; + dataBlock = "RoundBumper"; + }; + new InteriorInstance() { + position = "-105.587 142.324 462.482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl3.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-14.4412 161.799 454.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-0.41297 161.7 442.11"; + rotation = "1 0 0 0"; + scale = "5 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.5188 143.818 419.98"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl5.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-10.8564 161.753 442.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.84517 161.782 442.525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "11.5457 175.183 355.044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/upward5.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-12.4522 161.753 442.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-68.831 157.822 469.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new Trigger() { + position = "-124.696 -62.4462 438.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 250.0000000 0.0000000 0.0000000 0.0000000 250.0000000 0.0000000 0.0000000 0.0000000 250.0000000"; + }; + new Item() { + position = "-114.73 176.321 482.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-113.769 176.321 481.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-115.73 176.321 482.153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-120.431 176.286 482.022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "4337"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "2638"; + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new InteriorInstance() { + position = "-27.4042 94.6469 592.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "101.589 94.6469 512.394"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "50.4974 102.592 483.967"; + rotation = "1 0 0 0"; + scale = "10 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "114.755 99.672 490.764"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "EndPad"; + }; + new InteriorInstance() { + position = "26.905 128.958 484.117"; + rotation = "1 0 0 0"; + scale = "1 10 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "26.8439 118.047 484.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.6137 102.737 484.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-111.536 110.425 674.643"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-111.932 105.922 676.31"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.1835 159.817 472.249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.3685 169.902 461.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.1335 178.692 461.825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "121.888 156.382 710.077"; + rotation = "1 0 0 0"; + scale = "1 10 10"; + interiorFile = "~/data/interiors/addon/pinball0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "46.8024 157.142 726.303"; + rotation = "1 0 0 0"; + scale = "1 10 10"; + interiorFile = "~/data/interiors/addon/pinball0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "67.5978 158.592 736.646"; + rotation = "1 0 0 0"; + scale = "1 10 10"; + interiorFile = "~/data/interiors/addon/pinball0.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1772"; + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new InteriorInstance() { + position = "-116.646 76.2421 670.115"; + rotation = "1 0 0 0"; + scale = "0.1 0.1 1"; + interiorFile = "~/data/interiors/addon/pipe4.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/skislope2.mis b/marble/data/missions/advanced/skislope2.mis new file mode 100644 index 0000000..5494b1a --- /dev/null +++ b/marble/data/missions/advanced/skislope2.mis @@ -0,0 +1,191 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + level = "6"; + type = "Advanced"; + name = "Stunt Slopes"; + goldTime = "30000"; + artist = "Kevin"; + time = "45000"; + desc = "Skiing has never been so fun! AND hard!"; + startHelpText = "Expert skiers are advised to use caution!"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.280868 0.579493 -0.76505"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new StaticShape() { + position = "149.152 116.637 271.822"; + rotation = "0 0 1 43"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape(StartPoint) { + position = "-10 221.6 370.8"; + rotation = "0 0 1 180.091"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "148.721 116.498 260.2"; + rotation = "0 0 1 43"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-133.003 230.064 -4"; + rotation = "1 0 0 0"; + scale = "500 500 500"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + pad = "4755"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new InteriorInstance() { + position = "-4.41963 216.185 370.785"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/ski0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "4.11079 261.18 396.786"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/ski2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.0106 121.274 340.764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/ski1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "152.49 262.913 201.327"; + rotation = "1 0 0 40"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/ski3.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + pad = "2146"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new InteriorInstance() { + position = "164.739 156.48 268.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/plumbing.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + pad = "1896"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new InteriorInstance() { + position = "86.4922 190.207 238.956"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/ski1.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + pad = "1896"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new ScriptObject() { + pad = "2099"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new Item() { + position = "20.8827 -21.8923 298.293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.09226 115.171 352.586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + pad = "1898"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/advanced/slipperyslopes.mis b/marble/data/missions/advanced/slipperyslopes.mis new file mode 100644 index 0000000..35c6878 --- /dev/null +++ b/marble/data/missions/advanced/slipperyslopes.mis @@ -0,0 +1,306 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Jumping is important"; + name = "Slippery Slopes"; + artist = "Kevin"; + goldTime = "18000"; + type = "advanced"; + level = "7"; + startHelpText = "Jumping is advised!"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-31 1.3684e-38"; + fogVolume2 = "-1 1.07208e-14 8.756e-14"; + fogVolume3 = "-1 5.1012e-10 2.05098e-08"; + materialList = "~/data/skies/advanced/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.4102161 0.6656821 -0.6233701"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/spicy/addon/ski2.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "1 9 0"; + rotation = "0 0 1 223.063"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-140 -284 -111"; + rotation = "0 0 1 227.074"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-147 15 -114.5"; + rotation = "1 0 0 0"; + scale = "158 306 131.5"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-43.6425 -84.1647 -25.2837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new StaticShape() { + position = "-139.932 -284.231 -102.978"; + rotation = "0 0 1 35.52341"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "-40.0143 -47.9915 -13.2126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "-24.0175 -0.0532719 -5.34089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Trigger() { + position = "-148.72 -76.8479 -91.265"; + rotation = "1 0 0 0"; + scale = "192 127.845 14.5803"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-122.125 52.2244 -29.9846"; + rotation = "1 0 0 0"; + scale = "164.488 87.0324 14.5803"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-125.7 -24.1675 -63.4057"; + rotation = "1 0 0 0"; + scale = "164.488 87.0324 14.5803"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/spicy/addon/ski0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/spicy/addon/ski1.dif"; + showTerrainInside = "0"; + }; + new SimGroup(PathNodeGroup) { + + new StaticShape(CameraPath1) { + position = "-3.288565 22.04987 16.44071"; + rotation = "-0.03016703 -0.2610456 0.964855 192.7245"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath2"; + useRotation = "1"; + timeToNext = "4000"; + }; + new StaticShape(CameraPath2) { + position = "-33.99393 -1.315515 2.458342"; + rotation = "0.0146631 -0.2273009 0.9737142 172.8115"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath3"; + useRotation = "1"; + timeToNext = "4000"; + }; + new StaticShape(CameraPath3) { + position = "-55.10973 -29.38058 -8.406583"; + rotation = "0.03212503 -0.2101908 0.9771325 163.0122"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath4"; + useRotation = "1"; + timeToNext = "0"; + }; + new StaticShape(CameraPath4) { + position = "-34.86208 -115.9736 -18.30007"; + rotation = "0.9043807 0.05621292 -0.4230079 16.71829"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath5"; + useRotation = "1"; + timeToNext = "4000"; + }; + new StaticShape(CameraPath5) { + position = "-21.83129 -131.2509 -24.03154"; + rotation = "0.8362968 -0.1457766 0.5285422 36.50487"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + Spline = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath6"; + useRotation = "1"; + timeToNext = "2000"; + }; + new StaticShape(CameraPath6) { + position = "-17.50277 -135.9753 -25.82756"; + rotation = "0.4435081 -0.3397307 0.8293875 85.45007"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + Spline = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath7"; + useRotation = "1"; + timeToNext = "1900"; + }; + new StaticShape(CameraPath7) { + position = "-16.39292 -139.5217 -27.74456"; + rotation = "0.2357193 -0.4517747 0.8604279 131.6456"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + Spline = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath8"; + useRotation = "1"; + timeToNext = "2000"; + }; + new StaticShape(CameraPath8) { + position = "-19.08883 -143.6111 -31.18117"; + rotation = "0.008893713 -0.3996969 0.9166043 177.6631"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + Spline = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath9"; + useRotation = "1"; + timeToNext = "2000"; + }; + new StaticShape(CameraPath9) { + position = "-26.10586 -147.5601 -35.17464"; + rotation = "-0.04066528 -0.2943503 0.9548321 195.0293"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath10"; + useRotation = "1"; + timeToNext = "3000"; + }; + new StaticShape(CameraPath10) { + position = "-35.00695 -151.4449 -39.40434"; + rotation = "-0.07058822 -0.2483995 0.9660824 210.7028"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath11"; + useRotation = "1"; + timeToNext = "5000"; + }; + new StaticShape(CameraPath11) { + position = "-35.00695 -151.4449 -39.40434"; + rotation = "-0.07058822 -0.2483995 0.9660824 210.7028"; + scale = "1 1 1"; + dataBlock = "PathNode"; + usePosition = "1"; + placed = "1"; + reverseRotation = "0"; + useScale = "0"; + nextNode = "CameraPath1"; + useRotation = "1"; + timeToNext = "0"; + }; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/spicy/addon/ski3.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/Battlecube.mis b/marble/data/missions/beginner/Battlecube.mis new file mode 100644 index 0000000..983f915 --- /dev/null +++ b/marble/data/missions/beginner/Battlecube.mis @@ -0,0 +1,556 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "beginner"; + goldTime = "33000"; + name = "Gem Hunt II"; + time = "120000"; + desc = "Find the gems!"; + startHelpText = "Find the gems but don\'t fall off!"; + level = "19"; + artist = "Kevin"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/beginner/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new StaticShape(EndPoint) { + position = "2 -42.1 12.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "-1 3 0.5"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Item() { + position = "15.9 -41.35 1.2"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13 -42 7.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "4.8 -28.8 0.25"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/mbp_battlecube1.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "2 -42 5.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "9.28 -42.238 8.965"; + rotation = "0 0.707107 0.707107 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/mbp_battlecube3.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "18 -31 0.9"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.4 -41.35 3.7"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.2 -41.7 26.3"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.5 -40 28"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7 -41.812 30.6969"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "13.925 -28.8 15.125"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/mbp_battlecube2.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "2 -36.7 12.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "-19 -42 6"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-9.7 -42 30.2"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7 -42 15.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.5 -41.9 30.7"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20 -17 11.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.8 -33.9 30.7"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.45 4.94 0.95"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.6 -12.3 9.6"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7 -41.5 4.5"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20 -29 7.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20 -33 25.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.2684 -41.4757 18.8461"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20 -6 5.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.56 -20 1.32"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.57755 -42.6855 24.2505"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.65"; + dataBlock = "EasterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-25.1 -30 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.3 -40.35 13.1"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.3 -40.35 13.1"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.3 -40.35 13.1"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3 6.1 0.8"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.17885 -41.8284 24.3423"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.3 -39 1.1"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22 -18 0.56"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.96 -37 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.9 -6 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.4 -6 15.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0 -41.46 1.56"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.97 -14.94 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.97 -21 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-12.16 -41.62 1.28"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20 -36 16.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.99218 -31.9883 0.9"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-26 -41.45 1.27"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(stayhere) { + position = "-51.3792 14.9658 -4.8"; + rotation = "1 0 0 0"; + scale = "80 80 60"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-7.06 -34.9896 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.15 -15.88 0.685"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20 3 15.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7 -11.7 0.75"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.8 -15.7 18.6"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14 -41.8 12.5"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.8 -36 9.6"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.5 2.44 2.35"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14 -42 24.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "3 -42.6 15.365"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow_3x3.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/Gravity.mis b/marble/data/missions/beginner/Gravity.mis new file mode 100644 index 0000000..a3d5e1f --- /dev/null +++ b/marble/data/missions/beginner/Gravity.mis @@ -0,0 +1,147 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + startHelpText = "Use the Gravity Modifiers to slove this puzzle!"; + name = "Gravity Cube"; + desc = "Use the Gravity Modifiers to change the direction of the gravity to the direction of the arrow!"; + artist = "Kevin"; + level = "13"; + goldTime = "2000"; + type = "beginner"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/beginner/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.560395 0.341545 -0.754522"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new SimGroup(CheckPoints) { + }; + new Item() { + position = "48.8979 -26.035 480.833"; + rotation = "0 -1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2453"; + bonusTime = "0"; + }; + new InteriorInstance() { + position = "-50.1985 -133.563 480.467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Gravity.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "52.3093 -26.0602 486.469"; + rotation = "0 0 1 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "49.3095 -26.0625 483.467"; + rotation = "0 1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new Item() { + position = "55.7085 -26.0633 485.5"; + rotation = "0 1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.9291 -22.6626 483.491"; + rotation = "-1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.3335 -23.3881 480.062"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.31 -29.4711 480.906"; + rotation = "1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1912"; + bonusTime = "0"; + }; + new Trigger() { + position = "37.8276 -10.0453 471.111"; + rotation = "1 0 0 0"; + scale = "30 30 30"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/How_To_Diagonal_Movement.mis b/marble/data/missions/beginner/How_To_Diagonal_Movement.mis new file mode 100644 index 0000000..46054d7 --- /dev/null +++ b/marble/data/missions/beginner/How_To_Diagonal_Movement.mis @@ -0,0 +1,281 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + goldTime = "25000"; + desc = "Go really fast!"; + level = "11"; + artist = "Kevin"; + startHelpText = "Turn the camera 45 degrees to the left or right, also use the AW and WD to navigate your marble. Jumping helps you go faster too!"; + name = "Diagonal Movement"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.614021 -0.433884 -0.659336"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "226.86 -118.721 109.606"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new InteriorInstance() { + position = "230.86 -122.721 109.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/How_To_Diagonal_Movement.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "156.542 71.6978 143.712"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape(EndPoint) { + position = "156.808 73.3554 139.098"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Help3) { + position = "174.007 77.2518 139.085"; + rotation = "1 0 0 0"; + scale = "8 8 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Congratulations! You now know the basics of Diagonal Movement!"; + }; + new Item() { + position = "222.712 -57.1563 110.271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "7500"; + }; + new Item() { + position = "226.84 -46.7746 119.267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "183.052 -46.6687 119.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "174.955 -46.6761 129.237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "174.802 -16.7699 129.419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "174.901 53.1446 129.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "216.68 65.2849 129.787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "15700"; + }; + new Item() { + position = "217.103 61.1269 139.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "194.839 73.2329 139.261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Help) { + position = "170.876 -42.8232 129.041"; + rotation = "1 0 0 0"; + scale = "8 8 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use Diagonal Movement to cross the large gap."; + }; + new Trigger(Help2) { + position = "171.007 69.2985 128.967"; + rotation = "1 0 0 0"; + scale = "8 8 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use Diagonal Movement to get to that platform!"; + }; + new Item() { + position = "231.132 -57.0936 110.118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-10000"; + }; + new Trigger(OOB) { + position = "140.863 104.668 93.538"; + rotation = "1 0 0 0"; + scale = "110 250 70"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(OOB3) { + position = "178.897 43.2515 129.064"; + rotation = "1 0 0 0"; + scale = "0.6 58 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(OOB2) { + position = "170.314 43.2639 128.97"; + rotation = "1 0 0 0"; + scale = "0.6 58 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "179.135 -11.52 130.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "216.919 -115.885 151.333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PushButton"; + triggerMesg = "true"; + activated = "0"; + resetTime = "Default"; + }; + new Item() { + position = "216.307 -57.3289 113.085"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "231.007 -42.3574 120.39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "170.655 -50.7566 130.399"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "171.017 69.5247 130.438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "216.553 77.456 140.316"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "170.719 -11.503 130.308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new Item() { + position = "226.882 -124.46 111.094"; + rotation = "1 0 0 0"; + scale = "-0.5 -0.5 -0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/data/missions/beginner/MineField.mis b/marble/data/missions/beginner/MineField.mis new file mode 100644 index 0000000..70b0703 --- /dev/null +++ b/marble/data/missions/beginner/MineField.mis @@ -0,0 +1,844 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + startHelpText = "Don\'t touch or they will explode!"; + name = "Boom"; + desc = "Meet with the explosive things!"; + level = "15"; + artist = "Kevin"; + goldTime = "12000"; + type = "beginner"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/beginner/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.442343 0.475025 -0.760713"; + color = "1.400000 1.200000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1804"; + bonusTime = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1872"; + bonusTime = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1634"; + bonusTime = "0"; + }; + new InteriorInstance() { + position = "71.871 -12.8162 -3.31236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Mine.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2027"; + bonusTime = "0"; + }; + new StaticShape(EndPoint) { + position = "43.8901 47.1734 1.18136"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "63.8795 -10.8277 -2.82591"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new StaticShape() { + position = "63.8469 -6.77402 -2.77409"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "52.4071 -3.82835 -0.777537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "55.3871 -3.82835 -0.777537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.3771 -3.82835 -0.777537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "53.2771 -3.82835 -0.777537"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "53.2932 -1.78492 -0.782878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.3932 -1.78492 -0.782878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "55.4032 -1.78492 -0.782878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "52.4232 -1.78492 -0.782878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "53.2681 0.197133 -0.807829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.3681 0.197133 -0.807829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "55.3781 0.197133 -0.807829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "52.3981 0.197133 -0.807829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "53.3034 2.2013 -0.797269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "54.4034 2.2013 -0.797269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "55.4134 2.2013 -0.797269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "52.4334 2.2013 -0.797269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "62.9965 18.6873 -2.80624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "64.0964 18.6873 -2.80624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "65.1064 18.6873 -2.80624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "62.1265 18.6873 -2.80624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "63.5184 18.6881 -2.80194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "64.6184 18.6881 -2.80194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "65.6284 18.6881 -2.80194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "62.6484 18.6881 -2.80194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "62.578 21.5114 -2.80391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "65.648 21.5114 -2.80391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "64.598 21.5114 -2.80391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "63.568 21.5114 -2.80391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "62.0661 21.5106 -2.80821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "65.146 21.5106 -2.80821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "64.076 21.5106 -2.80821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "63.0861 21.5106 -2.80821"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.0725 34.1836 1.18599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.0624 34.1836 1.18599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.1324 34.1836 1.18599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.0525 34.1836 1.18599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5544 34.1844 1.19029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.5844 34.1844 1.19029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.6344 34.1844 1.19029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5644 34.1844 1.19029"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.0671 35.1719 1.17977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.057 35.1719 1.17977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.127 35.1719 1.17977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.0471 35.1719 1.17977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.549 35.1727 1.18407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.579 35.1727 1.18407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.629 35.1727 1.18407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.559 35.1727 1.18407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.548 37.1773 1.19388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.618 37.1773 1.19388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.568 37.1773 1.19388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.538 37.1773 1.19388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.0361 37.1765 1.18958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.116 37.1765 1.18958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.046 37.1765 1.18958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.0561 37.1765 1.18958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5534 36.189 1.2001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.6234 36.189 1.2001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.5734 36.189 1.2001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5434 36.189 1.2001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.0415 36.1882 1.1958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.1214 36.1882 1.1958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.0514 36.1882 1.1958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.0615 36.1882 1.1958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.0484 40.2252 1.18899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.0383 40.2252 1.18899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.1083 40.2252 1.18899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.0284 40.2252 1.18899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5303 40.226 1.19329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.5603 40.226 1.19329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.6103 40.226 1.19329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5403 40.226 1.19329"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.043 41.2135 1.18277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.0329 41.2135 1.18277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.1029 41.2135 1.18277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.023 41.2135 1.18277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5249 41.2143 1.18707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.5549 41.2143 1.18707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.6049 41.2143 1.18707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5349 41.2143 1.18707"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5459 39.2097 1.17726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.6159 39.2097 1.17726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.5659 39.2097 1.17726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5359 39.2097 1.17726"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.034 39.2089 1.17296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.1139 39.2089 1.17296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.0439 39.2089 1.17296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.054 39.2089 1.17296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.5513 38.2214 1.18348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.6213 38.2214 1.18348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.5713 38.2214 1.18348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.5413 38.2214 1.18348"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "42.0394 38.2206 1.17918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "45.1193 38.2206 1.17918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "44.0493 38.2206 1.17918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "43.0594 38.2206 1.17918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "44.8183 36.6848 1.68975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "63.8426 -6.75925 -1.91384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.8769 -2.8283 -0.30637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.8869 1.2017 -0.30637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.8483 35.6748 1.68975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.8483 37.6548 1.68975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "34.6445 53.044 -3.851"; + rotation = "1 0 0 0"; + scale = "40 70 30"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/RampMadness.mis b/marble/data/missions/beginner/RampMadness.mis new file mode 100644 index 0000000..3b47a3c --- /dev/null +++ b/marble/data/missions/beginner/RampMadness.mis @@ -0,0 +1,980 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Beginner"; + desc = "Ramp Mayhem!"; + artist = "Kevin"; + level = "20000"; + name = "Ramp Madness"; + goldTime = "70000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/beginner/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.481726 0.481726 -0.732038"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-0.45 0.45 498.132"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + }; + new InteriorInstance() { + position = "2.63796 -2.60243 497.63"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1609"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2340"; + }; + new InteriorInstance() { + position = "2.63987 3.14853 497.697"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1723"; + }; + new InteriorInstance() { + position = "2.63231 -7.5452 494.695"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.11219 -2.60301 497.697"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.58316 -2.60521 494.697"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.7625 -14.045 506.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.06225 -13.7768 497.71"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8128 -13.7753 497.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.807 -7.54404 497.71"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8089 -2.59603 500.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.57208 -2.59863 500.71"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.63051 -2.63495 503.643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.62781 -8.27551 506.533"; + rotation = "1 0 0 27.6"; + scale = "1 1.02 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.62714 -13.7655 494.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-2.98981 -14.0469 506.53"; + rotation = "0 1 0 29.3"; + scale = "0.97 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.28881 -13.992 503.639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.4028 -13.7829 503.7"; + rotation = "0 -1 0 30"; + scale = "1.02 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.29189 -8.21538 503.7"; + rotation = "1 0 0 27"; + scale = "1 1.1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.27438 -2.59402 500.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.22251 3.16764 500.83"; + rotation = "1 0 0 30"; + scale = "1 1.03 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.23921 7.9894 494.775"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.19746 7.98389 497.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.7592 8.40048 494.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "19.1126 -2.80441 497.652"; + rotation = "0 1 0 30"; + scale = "1 1.03 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8133 -2.60777 494.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.8635 3.30214 497.569"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.863 -2.8 497.585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.8629 8.24848 500.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.8521 8.23074 500.559"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.906 8.23471 503.49"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.6934 -2.99742 506.473"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.701 2.76161 506.54"; + rotation = "1 0 0 29.3"; + scale = "1 1.03 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.6973 -14.0814 503.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.6961 -7.94399 503.54"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.70901 -14.0627 503.54"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.12282 -13.7648 494.694"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.56038 -13.7644 491.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.56945 -7.63652 491.694"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.57017 -2.69331 494.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.11909 -2.60841 503.71"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.4395 -13.7863 506.696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.4978 -24.9265 500.77"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.4375 -18.7278 503.762"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.4435 -24.9305 503.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.3283 -24.9261 500.74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.279 -18.9318 500.705"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.66787 -24.9155 497.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.4425 -24.9229 497.722"; + rotation = "0 -1 0 31"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.66576 -19.1626 497.73"; + rotation = "1 0 0 29.7"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8344 -24.8965 494.685"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "25 -24.9 491.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.78 -24.9 491.753"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.62 -24.9 494.735"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.8646 -7.74703 494.652"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "25 -13.8053 494.647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "25 -18.75 491.714"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.7594 -13.8061 494.71"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2485"; + }; + new InteriorInstance() { + position = "13.8137 -18.7206 494.71"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8127 3.14226 494.715"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.8099 8.40288 491.773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.69933 8.41382 491.777"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.4213 3.11179 503.802"; + rotation = "1 0 0 33"; + scale = "1 0.93 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.4281 -2.6151 503.727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.4413 -8.04024 506.762"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.378 7.98772 500.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.4246 7.98983 497.754"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.4829 -2.61015 500.8"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.2767 19.1637 497.687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.2733 13.7263 500.753"; + rotation = "1 0 0 30"; + scale = "1.01 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-14.3312 19.1636 494.753"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.1435 19.0452 494.7"; + rotation = "1 0 0 0"; + scale = "1 1.03 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.19466 13.741 497.775"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.02504 19.2364 497.708"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.72516 19.2221 497.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "2.7279 14.2928 494.716"; + rotation = "-1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.15886 19.2204 500.7"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.9091 19.2151 500.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "13.9086 13.9778 503.559"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.8623 13.9953 500.57"; + rotation = "1 0 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.8591 19.2071 497.7"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/pink_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.8743 19.2196 497.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/green2_3x3.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "-22.1313 -10.983 507.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2414"; + }; + new Item() { + position = "-22.0472 11.0843 501.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.0467 22.1206 495.146"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.161 22.2899 498.18"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0427554 11.0421 495.141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.9435 10.9887 498.335"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.220049 22.239 498.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.2753 22.1306 501.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.1104 22.0174 498.157"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.8563 11.2873 500.947"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.8715 0.160816 498.059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.7996 -21.8779 492.288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.8956 -10.8012 495.142"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.1983 0.125501 504.26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.7682 -21.8653 495.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.152146 -22.0265 498.264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.184 -21.9206 501.246"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.2059 -21.9507 504.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.9568 11.0702 492.273"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.6398 11.15 503.978"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.6792 0.136147 506.973"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.8558 0.229768 495.166"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.9812 0.232315 501.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.117 -10.8308 498.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.7124 -10.8684 504.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.9877 -10.9781 504.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0884451 -10.9144 495.128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.00495405 -10.7935 507.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.2636 -10.9354 492.096"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.2498 -0.0252649 495.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.9153 -0.0519391 501.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0288252 0.355512 504.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Bounds) { + position = "-34.1496 31.2427 477.478"; + rotation = "1 0 0 0"; + scale = "70 70 70"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3488"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "25210"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/Recoil.mis b/marble/data/missions/beginner/Recoil.mis new file mode 100644 index 0000000..f38cc90 --- /dev/null +++ b/marble/data/missions/beginner/Recoil.mis @@ -0,0 +1,215 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + name = "Recoil Course"; + desc = "Learn the basics about landing skills!"; + level = "14"; + artist = "Kevin"; + goldTime = "16500"; + type = "Beginner"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/beginner/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.701976 -0.52137 -0.485184"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1802"; + bonusTime = "0"; + }; + new Item() { + position = "53.6724 42.5303 33.9772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.7096 3.54855 -2.67542"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "39.7054 49.56 46.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Recoil.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "37.7202 41.5498 47.124"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new Item() { + position = "37.7084 56.5759 43.1368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.7002 56.5508 38.6224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.7227 56.5403 34.1416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.7455 35.0651 23.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.7393 19.5736 32.1446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.7171 11.5116 -2.36261"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.6815 11.5961 31.8184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1991"; + bonusTime = "0"; + }; + new StaticShape(EndPoint) { + position = "45.7001 -9.41786 -2.86008"; + rotation = "0 0 1 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new Trigger() { + position = "34.711 51.5613 47.1388"; + rotation = "1 0 0 0"; + scale = "6 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Control your spin on the way down!"; + }; + new Trigger() { + position = "50.7018 47.5732 33.6487"; + rotation = "1 0 0 0"; + scale = "6 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Jump and use the Super Bounce to bounce your marble to the platform there!"; + }; + new Trigger() { + position = "50.701 16.5734 31.6375"; + rotation = "1 0 0 0"; + scale = "6 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use the Shock Absorber to fall and not bounce!"; + }; + new Trigger() { + position = "42.7056 6.56876 -2.86123"; + rotation = "1 0 0 0"; + scale = "6 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Aim for the hole and activate Shock Absorber to pass!"; + }; + new Trigger() { + position = "27.1443 75.2595 -8.4842"; + rotation = "1 0 0 0"; + scale = "50 100 150"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "4661"; + bonusTime = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/airmove.mis b/marble/data/missions/beginner/airmove.mis new file mode 100644 index 0000000..fa946c1 --- /dev/null +++ b/marble/data/missions/beginner/airmove.mis @@ -0,0 +1,300 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Be aware!"; + type = "Beginner"; + artist = "Kevin"; + name = "Hazard Path"; + time = "0"; + level = "8"; + startHelpText = "Watch your step."; + goldTime = "6000"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume2 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume3 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.701976 -0.52137 -0.485184"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1802"; + time = "0"; + }; + new StaticShape(StartPoint) { + position = "62.4892 -14.0766 -1.6326"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-66.1787 -14.2479 -1.72004"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "51.0325 -15.7736 -1.63984"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1941"; + time = "0"; + }; + new InteriorInstance() { + position = "-62.0236 -14.1542 -2.53892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "56.4585 -12.3411 -1.65349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "57.796 -15.4056 -1.87844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "47.0838 -12.4942 -1.67722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "39.3692 -12.5576 -1.46625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "53.9268 -14.0725 -1.67043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "50.7586 -12.7653 -1.5958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "37.1066 -14.9209 -1.5131"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "40.6632 -15.9933 -1.50624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "38.0555 -16.2386 -1.48579"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new Item() { + position = "37.3954 -15.6013 -1.16079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new StaticShape() { + position = "35.907 -15.882 -1.44634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "46.3177 -15.5489 -1.4423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "45.042 -13.6255 -1.53347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "42.2929 -11.5556 -1.53624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-14.5658 -11.4451 -2.28277"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "36.577 -12.594 -1.65163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "30.866 -12.7305 -1.67841"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SmallDuctFan"; + }; + new StaticShape() { + position = "25.6724 -15.8209 -1.63177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SmallDuctFan"; + }; + new StaticShape() { + position = "19.1184 -13.5218 -1.61527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SmallDuctFan"; + }; + new StaticShape() { + position = "22.853 -13.791 -1.64505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "16.4834 -16.5775 -1.68092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new Item() { + position = "17.6067 -14.8158 -1.67284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "5.92962 -14.0196 -3.16392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new StaticShape() { + position = "-14.0056 -14.9002 -1.63584"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-16.3827 -12.6653 -1.68307"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17.3493 -16.5044 -1.64008"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19.3266 -11.5013 -1.7421"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-20.8201 -14.1971 -1.625"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "-21.6247 -16.4408 -1.86392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-55.8846 -14.2344 -1.705"; + rotation = "1 0 0 0"; + scale = "16 16 16"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/copter.mis b/marble/data/missions/beginner/copter.mis new file mode 100644 index 0000000..3eeb33d --- /dev/null +++ b/marble/data/missions/beginner/copter.mis @@ -0,0 +1,192 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Beginner"; + name = "Take Flight"; + artist = "Kevin"; + level = "9"; + time = "0"; + goldTime = "35000"; + startHelpText = "Fly between the planets and collect the gems"; + desc = "Fly and collect the gems!"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -2.19536e+38 -2.19536e+38"; + fogVolume2 = "-1 -2.2087e+38 -2.19536e+38"; + fogVolume3 = "-1 -2.18196e+38 -2.16867e+38"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222204871403647643306393613037507444736.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -219535990253541534601988090029785743360.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -214193076221289989668889361412515692544.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.481726 0.481726 -0.732038"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "16.119 5.4979 -8.54774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "17.5661 0.0558258 91.4793"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "22.9482 17.0368 -3.40953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "18 0 81"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + showHelpOnPickup = "1"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + pad = "1493"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "2673"; + time = "0"; + }; + new Item() { + position = "12.8443 0.132938 91.1232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-144.709 -9.96946 -55.7371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-147.167 -15.0003 43.9338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-145.44 -14.8648 44.2827"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-132.95 -83.721 -45.3153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-134.652 -91.2178 54.3556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-132.354 -89.5366 54.4847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-12.9816 -76.5806 -67.0175"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-11.1955 -84.3488 32.6534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-12.9594 -82.0862 32.7825"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "23.0042 21.2811 -103.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/dancinggreen.mis b/marble/data/missions/beginner/dancinggreen.mis new file mode 100644 index 0000000..1e6f515 --- /dev/null +++ b/marble/data/missions/beginner/dancinggreen.mis @@ -0,0 +1,248 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "beginner"; + artist = "Kevin"; + StartTextHelp = "Look at those steps!"; + desc = "Are you good at dancing? Try it out!"; + name = "Dancing Green"; + goldTime = "18000"; + level = "18"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume2 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume3 = "-1 -1.73483e+09 -1.73483e+09"; + materialList = "~/data/skies/beginner/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.701976 -0.52137 -0.485184"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1802"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "2435"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "2435"; + }; + new StaticShape(StartPoint) { + position = "-48.4288 42.5838 -12.15"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-14.9072 37.5251 2.34642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "2435"; + }; + new Trigger(IBT) { + position = "-84.2855 77.1271 -16.1513"; + rotation = "1 0 0 0"; + scale = "100 100 100"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-14.6455 37.4495 9.1687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "2102"; + }; + new InteriorInstance() { + position = "-46.4986 43.5825 -14.1013"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/dancinggreen.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-14.8484 0.112382 2.36014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1609"; + }; + new Item() { + position = "-53.9393 42.4956 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-48.399 38.6018 -11.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-52.5051 58.6058 -7.54133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.5568 58.6374 -4.14711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.4971 45.8063 -0.016771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-47.6114 41.1132 -0.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.532 37.089 0.343702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.6418 21.9558 0.616053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-36.9882 -12.0028 2.39458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.9072 0.0838108 -0.146517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "3094"; + }; + new Item() { + position = "-15.0019 -14.6707 1.41135"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FourLeafCloverItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/elevator.mis b/marble/data/missions/beginner/elevator.mis new file mode 100644 index 0000000..251bdbb --- /dev/null +++ b/marble/data/missions/beginner/elevator.mis @@ -0,0 +1,183 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Flip Gravity!"; + type = "Beginner"; + name = "The Gravity Shaker"; + level = "7"; + time = "0"; + startHelpText = "Flip gravity and collect the gems."; + artist = "Kevin"; + goldTime = "15000"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -2.45543e+38 -2.46872e+38"; + fogVolume2 = "-1 -1.70141e+38 -1.7281e+38"; + fogVolume3 = "-1 -3.33835e+38 -3.33835e+38"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -265481509622188023444981134948233641984.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -333834609190347201087272200195195011072.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.433884 0.614021 -0.659336"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + pad = "1507"; + time = "0"; + }; + new StaticShape(StartPoint) { + position = "4.25975 -14.4797 -618.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-14.7097 -14.76 -618.331"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 -8 -14.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "0 -8 17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + }; + }; + new StaticShape() { + position = "0.48522 1.55173 24.5222"; + rotation = "0 0 -1 23.4913"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1798"; + time = "0"; + }; + new Item() { + position = "-2.83231 -14.6043 -617.982"; + rotation = "1 0 0 1.00014"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-5.03623 -13.9912 -618.327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.0042 -14.8162 -610.225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-3.28523 -9.69345 -610.929"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.31158 -14.2615 -610.925"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.0312 -13.6621 -610.925"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.80298 -3.30407 -610.925"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.128 -22.5211 -610.926"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/gems.mis b/marble/data/missions/beginner/gems.mis new file mode 100644 index 0000000..effd22f --- /dev/null +++ b/marble/data/missions/beginner/gems.mis @@ -0,0 +1,161 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Kevin\'s Powerup Course"; + level = "2"; + goldTime = "15000"; + startHelpText = "Use the Gyrocopter to collect a gem then roll to the finish with the Super speed"; + artist = "Kevin"; + desc = "Use the powerups to collect the gems then head to the finish"; + type = "Beginner"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "-0.473121 -0.225982 -0.851521"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "35.7087 -0.988139 497.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "1.36303 -61.2232 480.72"; + rotation = "0 0 1 229.366"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new Item() { + position = "35.4766 -4.93076 497.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "23.6907 2.98635 496.879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jewel.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Item() { + position = "1.8584 -8.45332 497.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.97823 12.0277 496.941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.21199 7.61776 499.849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "1.41073 -60.4028 480.509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1918"; + time = "0"; + gemCount = "0"; + }; + new Item() { + position = "-1.15599 7.60256 500.165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.9432 0.198442 497.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.0185 -2.26371 505.634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/jumping.mis b/marble/data/missions/beginner/jumping.mis new file mode 100644 index 0000000..ec66443 --- /dev/null +++ b/marble/data/missions/beginner/jumping.mis @@ -0,0 +1,135 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Kevin's Jump Course"; + level = "3"; + desc = "Use the space bar to jump"; + artist = "Kevin"; + goldTime = "3000"; + startHelpText = "Jump onto the platforms to finish"; + type = "Beginner"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.481726 0.481726 -0.732038"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + position = "0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "16.4225 43.7492 504.303"; + rotation = "0 0 1 0.0559529"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "9.16188 56.2183 508.676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + pad = "1609"; + time = "0"; + }; + new Trigger() { + position = "-11.298 103.375 478.493"; + rotation = "1 0 0 0"; + scale = "49.2618 126.785 50"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "16.6412 43.6906 503.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1978"; + time = "0"; + }; + new InteriorInstance() { + position = "9.42452 50.0866 506.128"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "16.5182 50.1621 505.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "9.37033 50.0916 506.68"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "9.41278 56.1743 508.284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/learn2roll-hr12.mis b/marble/data/missions/beginner/learn2roll-hr12.mis new file mode 100644 index 0000000..81cf494 --- /dev/null +++ b/marble/data/missions/beginner/learn2roll-hr12.mis @@ -0,0 +1,258 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + time = "0"; + name = "Kevin\'s Tower"; + level = "16"; + type = "Beginner"; + desc = "Climb Kevin\'s Tower!"; + }; + new Trigger() { + position = "5 5 112.5"; + rotation = "1 0 0 0"; + scale = "4 6 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Jump onto the center of the big landmine and you will get a boost."; + }; + new Trigger() { + position = "1.5 -5 111"; + rotation = "1 0 0 0"; + scale = "1 4 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This is landmine. It will explode if you touch it."; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/beginner/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 7.45949e-31 1.3684e-38"; + fogVolume2 = "-1 1.07208e-14 8.756e-14"; + fogVolume3 = "-1 5.1012e-10 2.05098e-08"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "-2.5 0 99"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0 2 114"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-25 25 50"; + rotation = "1 0 0 0"; + scale = "50 50 100"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-9 3 108"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This is oil slick. It is very slippery."; + }; + new StaticShape() { + position = "-3.15 -7.1 100.7"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "2 -7 102"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Trigger() { + position = "-9 -5 99"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "A bumper can also be used to bump the marble up. Jump onto the top of the bumper to be bumped onto the stair."; + }; + new Trigger() { + position = "-9 9 108"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This is trapdoor. It will open when you stand on it."; + }; + new Trigger() { + position = "5 5 103.5"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Do a wall hit to get to the next platform."; + }; + new StaticShape() { + position = "-7 1 108.01"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "-6 4 108"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8 4 108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new Item() { + position = "-4 7 113.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "4.75 -8 110.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "3.75 -7 111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "8 -8 111.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "7 -7 112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.15 -7.05 99.2"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-6 -4 99"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-8.01007 -4.00004 99"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new InteriorInstance() { + position = "0 0 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/forfun/learn2roll-hr12.dif"; + showTerrainInside = "0"; + }; + new Trigger() { + position = "5 -1 103.5"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "7 3 112.5"; + rotation = "1 0 0 0"; + scale = "5 5 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Trigger() { + position = "-9 -1 99"; + rotation = "1 0 0 0"; + scale = "4 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This is bumper. A bumper can bump you away when you touch it. So try to avoid touching these bumpers."; + }; + new Item() { + position = "7.0284 6.9932 104.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1727"; + time = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/learn2roll-hr9.mis b/marble/data/missions/beginner/learn2roll-hr9.mis new file mode 100644 index 0000000..900d4da --- /dev/null +++ b/marble/data/missions/beginner/learn2roll-hr9.mis @@ -0,0 +1,541 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + desc = "Test your platform skills"; + type = "Beginner"; + time = "0"; + name = "Platform Challenge"; + level = "17"; + startHelpText = "Make it through this challenge!"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/beginner/sky_day.dml"; + cloudHeightPer[0] = "0.2"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.45"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.0003"; + cloudSpeed3 = "0.0004"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 3.53893e-09 4.23764e-06"; + fogVolume2 = "-1 1.24476e-21 1.59999e-20"; + fogVolume3 = "-1 3.16001e-38 -1.30603e+34"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + windVelocity = "0 1 1"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/learn2roll-MP.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-14 -48 -10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "5500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "49 -48 -10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "2500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "49 -30.5 -10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-14 -48.1 -9.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-6.0000000 -6.0000000 1.2500000 0.0000000 12.0000000 0.0000000 12.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.5000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/jimmyax/learn2roll-MP.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "49 1.5 -10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "3500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "49 34 -10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "5500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-14 34 -10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "49 1.6 -9.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-6.0000000 -6.0000000 1.2500000 0.0000000 12.0000000 0.0000000 12.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.5000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/jimmyax/learn2roll-MP.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-46 34 -10.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "5500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-46 -48 -10.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-46 -48 30.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-45.9757 34.1 -9.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-6.0000000 -6.0000000 1.2500000 0.0000000 12.0000000 0.0000000 12.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.5000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/jimmyax/learn2roll-MP.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-30 -32 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-30 18 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-30 18 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-30 -32 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + type = "Normal"; + msToNext = "500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-30 -32 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + type = "Normal"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/jimmyax/learn2roll-MP.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-14 34 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "3500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "13.5 34 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "5500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "13.5 -30.5 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "3500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "49 -30.5 31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + type = "Normal"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-14 34 31.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-6.0000000 -6.0000000 1.2500000 0.0000000 12.0000000 0.0000000 12.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.5000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/jimmyax/learn2roll-MP.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new StaticShape(StartPoint) { + position = "-30 -48 -10.5"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "49 -14.5 30.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-60.9868 49.5006 -30.45"; + rotation = "1 0 0 0"; + scale = "127.875 111.5 120"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.4971 -39.6925 -10.5299"; + rotation = "1 0 0 0"; + scale = "1 17 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "A triggered platform is infront of you. Just roll on it, and it will move."; + }; + new StaticShape() { + position = "48.9455 -14.0773 50.82"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger() { + position = "-30.9 42.5097 -10.7041"; + rotation = "1 0 0 0"; + scale = "3 17 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Platform can move not only horizenallly, but also vertically."; + }; + new Trigger() { + position = "40.5729 -14.1216 -10.6636"; + rotation = "1 0 0 0"; + scale = "17 1 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Another one, let\'s practise it again!"; + }; + new Item() { + position = "18.493 40.5613 34.3504"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-38.3877 -39.478 30.3597"; + rotation = "1 0 0 0"; + scale = "17 17 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Some platforms won\'t stay there to wait for you rolling on, so just grab the right chance!"; + }; + new Trigger() { + position = "-38.4359 42.4069 30.2959"; + rotation = "1 0 0 0"; + scale = "17 17 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "The last one simple moving platform."; + }; + new Trigger() { + position = "40.5931 -21.4738 30.3036"; + rotation = "1 0 0 0"; + scale = "17 4 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Awesome! You\'ve done this level very well!"; + }; + new Item() { + position = "40.5299 -55.4989 -8.15721"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.9598 30.7375 -7.61286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-43.3739 -45.248 15.4371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.8442 -48.6804 5.34033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.2023 -51.063 18.7235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-49.6375 -49.2245 22.7439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "24.2519 -30.9014 31.5165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.3722 -50.2575 -9.08845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.5282 6.04897 -10.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.9757 34.3309 -9.67322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.43341 33.2615 31.7515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.0705 -24.0927 30.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/movement.mis b/marble/data/missions/beginner/movement.mis new file mode 100644 index 0000000..81b2bba --- /dev/null +++ b/marble/data/missions/beginner/movement.mis @@ -0,0 +1,145 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + goldTime = "5000"; + type = "Beginner"; + desc = "Roll and grab the gem to finish the level."; + startHelpText = "Press to roll the marble forward and grab the gem."; + name = "Kevin's Introduction"; + level = "1"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "0.0682294 0.50582 499.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "23.8797 7.95231 499.43"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new InteriorInstance() { + position = "12.0128 12.1969 499.11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training1.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new Trigger() { + position = "-4.67891 11.1502 499.001"; + rotation = "1 0 0 0"; + scale = "9.45734 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Press to roll the marble to the left!"; + }; + new Trigger() { + position = "-4.56054 17.8698 498.774"; + rotation = "1 0 0 0"; + scale = "9.45734 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Press to roll the marble to the right!"; + }; + new StaticShape() { + position = "27.8874 23.868 500.519"; + rotation = "-0.0993088 0.0943882 0.99057 87.6319"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-0.600503 28.231 500.524"; + rotation = "0 0 -1 8.02137"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Trigger() { + position = "10.6099 29.1587 499.001"; + rotation = "1 0 0 0"; + scale = "1.80313 10.9996 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Press to roll the marble backward!"; + }; + new ScriptObject() { + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "2137"; + }; + new Item() { + position = "10.6099 24.2995 499.594"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.179459 -2.73436 499.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/platform.mis b/marble/data/missions/beginner/platform.mis new file mode 100644 index 0000000..20efb6e --- /dev/null +++ b/marble/data/missions/beginner/platform.mis @@ -0,0 +1,180 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Beginner"; + startHelpText = "Ride the platform and collect the gem."; + name = "Kevin's Platform Course"; + level = "5"; + time = "0"; + artist = "Kevin"; + goldTime = "3000"; + desc = "Ride the platform between the towers and collect the gems"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume2 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume3 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.430715 0.505317 -0.747756"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_platform.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "34 -1.49333e-07 32"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-34 1.75394e-07 32"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-9 6.5 31.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "22 6.5 31.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "22 6.5 31.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "6000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 6.5 31.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + type = "Normal"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 6.5 31.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + type = "Normal"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/beginner/training_platform.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new Trigger(Bounds) { + position = "-41 11 27.9105"; + rotation = "1 0 0 0"; + scale = "82 22 27.5192"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-33.0539 0.927056 40.4222"; + rotation = "0 0 -1 108.862"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "-8.30217 6.21102 32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "36.6174 -0.342465 32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.71232 0.222126 31.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/powerjump.mis b/marble/data/missions/beginner/powerjump.mis new file mode 100644 index 0000000..12e84be --- /dev/null +++ b/marble/data/missions/beginner/powerjump.mis @@ -0,0 +1,184 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Beginner"; + goldTime = "8000"; + time = "15000"; + desc = "Get to the end within 15 seconds with the Time travels!"; + startHelpText = "Use the Time travels to get to the finish within the qualify time"; + artist = "Kevin"; + name = "Kevin's Time Course"; + level = "4"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.512126 0.512126 -0.689532"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + locked = "true"; + scale = "1 1 1"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-3.93136 -83.0181 505.837"; + rotation = "0 0 -1 30.9398"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-0.156509 -11.7716 505.799"; + rotation = "0 0 -1 29.7937"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new InteriorInstance() { + position = "-3.98776 -77.1541 405.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/leapoffaith.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + time = "0"; + pad = "2080"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new MessageVector(HudMessageVector) { + }; + new ScriptObject() { + time = "0"; + pad = "1585"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new ScriptObject() { + time = "0"; + pad = "1704"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "-11.6237 -72.3005 506.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.68035 -70.8975 506.704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "7.53241 -60.0362 506.571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.14091 -50.2165 506.344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.82117 -40.2708 506.549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.53298 -29.2439 506.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.36032 -21.2431 506.376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-13.1205 -17.917 506.666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/rampmatrix.mis b/marble/data/missions/beginner/rampmatrix.mis new file mode 100644 index 0000000..9dd7b42 --- /dev/null +++ b/marble/data/missions/beginner/rampmatrix.mis @@ -0,0 +1,245 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + name = "Gem Hunt"; + startHelpText = "Find 17 gems!"; + level = "12"; + desc = "Hunt for the gems."; + artist = "Kevin"; + goldTime = 30000; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.441853 0.594916 -0.671447"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/rampmatrix.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0 0 -15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "16 0 -3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + time = "0"; + gemCount = "0"; + bonusTime = "0"; + pad = "1510"; + powerUp = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "-16 0 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0 -24 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "32 -16 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-32 8 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16 16 -6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16 -16 -6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16 24 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16 24 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16 0 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Bounds) { + position = "-47.6789 40.7632 -19"; + rotation = "1 0 0 0"; + scale = "97.2822 82.6963 91.207"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "16 -16 -5.79041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16 16 -5.79523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16 -24 -8.79583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-32 -8 -8.7964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "32 16 -8.78872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0 24 -11.8019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0 -8 -14.7963"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "0.49673 -0.071725 -8.10371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/superspeed.mis b/marble/data/missions/beginner/superspeed.mis new file mode 100644 index 0000000..deaf283 --- /dev/null +++ b/marble/data/missions/beginner/superspeed.mis @@ -0,0 +1,207 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Race around the track collecting the gems."; + name = "Kevin Grand Prix"; + level = "6"; + artist = "Kevin"; + type = "Beginner"; + goldTime = "35000"; + startHelpText = "Race around the track and collect gems"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.481726 0.481726 -0.732038"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + rotation = "1 0 0 0"; + locked = "true"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-20.1582 23.4995 491.913"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-16.7416 23.6036 491.881"; + rotation = "0 0 1 90.5273"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new InteriorInstance() { + position = "-19.9535 -38.983 392.049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/motomarblecross.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1704"; + }; + new Item() { + position = "-19.7588 31.0336 492.219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.05779 49.4048 492.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.179 -40.8597 492.052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.3996 14.6207 492.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-26.3984 -55.2547 492.114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.716 61.7143 491.921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.8294 60.9529 495.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.64436 37.2829 492.163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.928327 -41.1231 492.31"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.2931 33.5727 492.427"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.78065 63.4579 492.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-34.7711 17.1664 492.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.6143 -41.2877 492.173"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/beginner/timetrial.mis b/marble/data/missions/beginner/timetrial.mis new file mode 100644 index 0000000..ab9375c --- /dev/null +++ b/marble/data/missions/beginner/timetrial.mis @@ -0,0 +1,228 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Beginner"; + time = "45000"; + startHelpText = "Skate for the gems and avoid the comically large land mine!"; + name = "Gem Park"; + goldTime = "25000"; + level = "10"; + artist = "Kevin"; + desc = "Collect the gems, using the Time Travels and powerups to help!"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.481726 0.481726 -0.732038"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "25.8573 -40.9889 494.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "3.75313 -89.0195 493.025"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "2151"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "2204"; + time = "0"; + }; + new InteriorInstance() { + position = "3.82414 -78.9944 391.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/skatepark.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1704"; + time = "0"; + }; + new Item() { + position = "0.108998 -38.8448 493.231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.77002 -66.1368 492.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.19391 -69.6451 492.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.8103 -74.1712 492.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.97994 -77.7995 492.618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.5715 -70.2669 487.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.9203 -87.4795 488.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-3.69754 -54.1622 490.937"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new StaticShape() { + position = "-0.304524 -82.0599 490.997"; + rotation = "1 0 0 0"; + scale = "20 20 20"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "-0.166496 -35.9745 491.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.6141 -43.48 491.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.1887 -38.1877 491.417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.0861 -53.8884 493.52"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.1545 -43.0865 493.488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/custom/template.mis b/marble/data/missions/custom/template.mis new file mode 100644 index 0000000..2c3bc2e --- /dev/null +++ b/marble/data/missions/custom/template.mis @@ -0,0 +1,86 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Kevin Blast Template"; + level = "1"; + desc = "Press F11 to open the level editor"; + artist = "Kevin"; + type = "Custom"; + startHelpText = "Your text here"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-0.43101 -19.1654 494.212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-0.155241 1.60454 494.251"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new InteriorInstance() { + position = "0.514137 -9.14225 491.966"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Arrival to Marbleland.mis b/marble/data/missions/expert/Arrival to Marbleland.mis new file mode 100644 index 0000000..fffc97d --- /dev/null +++ b/marble/data/missions/expert/Arrival to Marbleland.mis @@ -0,0 +1,3144 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + level = "1"; + goldTime = "490000"; + type = "Custom"; + startHelpText = "Welcome to Kevin World!"; + time = "0"; + artist = "Kevin"; + name = "Arrival to Kevin World!"; + desc = "Enjoy your stay at Kevin World."; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.581654 -0.481653 -0.655506"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-80 80 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 80 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-80 0 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-160 0 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-160 160 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-80 160 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 160 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-160 80 0"; + rotation = "1 0 0 0"; + scale = "20 20 0.5"; + interiorFile = "~/data/interiors/grassbox.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.266 102.758 68.593"; + rotation = "0 -1 0 76"; + scale = "1 0.33 16"; + interiorFile = "~/data/interiors/wawa.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-237.599 101.106 -126.986"; + rotation = "0 0 1 90"; + scale = "1.8 1.4 2.5"; + interiorFile = "~/data/interiors/kingofthemountain4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-126.944 102.758 23.1832"; + rotation = "0 -1 0 76"; + scale = "1 0.33 16"; + interiorFile = "~/data/interiors/wawa.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.55964 12.5346 -0.671348"; + rotation = "1 0 0 125"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-92.334 109.512 -1.955"; + rotation = "0 1 0 180"; + scale = "1 7 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-94.2528 64.0593 -2.23418"; + rotation = "0 0 1 110"; + scale = "2.5 1.55 1.7"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-94.2955 152.311 -2.23418"; + rotation = "0 0 1 35"; + scale = "1.55 2 1.7"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-190.088 110.523 -3.3"; + rotation = "1 0 0 0"; + scale = "0.36 0.84 2"; + interiorFile = "~/data/interiors/wawa.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-108.308 153.49 -1.955"; + rotation = "1 0 0 0"; + scale = "7 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-92.334 137.512 -1.955"; + rotation = "0 1 0 180"; + scale = "1 7 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-92.334 81.512 -1.955"; + rotation = "0 1 0 180"; + scale = "1 7 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-180.276 136.101 -1.955"; + rotation = "0 1 0 180"; + scale = "1 7 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-180.557 121.279 -1.955"; + rotation = "0 0 1 45"; + scale = "1.2 1.2 1.2"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-191.446 120.681 -1.955"; + rotation = "1 0 0 0"; + scale = "4.9 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-180.276 77.501 -1.955"; + rotation = "0 1 0 180"; + scale = "1 7 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-164.308 153.49 -1.955"; + rotation = "1 0 0 0"; + scale = "7 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-108.308 61.49 -1.955"; + rotation = "1 0 0 0"; + scale = "7 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-136.308 153.49 -1.955"; + rotation = "1 0 0 0"; + scale = "7 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-178.574 63.4626 -2.23418"; + rotation = "0 0 1 35"; + scale = "1.55 1.55 1.7"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-181.898 91.1694 -2.9375"; + rotation = "0 0 1 35"; + scale = "1.55 1.55 1.7"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.389 121.228 -3.3"; + rotation = "1 0 0 0"; + scale = "1.46 2.75 2"; + interiorFile = "~/data/interiors/wawa.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-136.308 61.49 -1.955"; + rotation = "1 0 0 0"; + scale = "7 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-164.308 61.49 -1.955"; + rotation = "1 0 0 0"; + scale = "7 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-191.446 91.881 -1.955"; + rotation = "1 0 0 0"; + scale = "4.9 1 0.9"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-178.709 151.29 -1.955"; + rotation = "0 0 1 120"; + scale = "2 1.2 1.2"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-143.442 99.2926 96.04"; + rotation = "1 0 0 0"; + scale = "2.72 1.8165 1.91"; + interiorFile = "~/data/interiors/pascal_castle_3x3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-124.84 106.561 48.0482"; + rotation = "0 1 0 18"; + scale = "2.5 1 29"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-124.84 96.1605 48.0483"; + rotation = "0 1 0 18"; + scale = "2.5 1 29"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-115.47 92.9421 1.245"; + rotation = "0 0 1 120"; + scale = "2 2 3"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-120.105 109.789 1.245"; + rotation = "0 0 1 240"; + scale = "2 2 3"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-119.909 107.206 16.7164"; + rotation = "0 1 0 18"; + scale = "2.5 0.5 11"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-65.68 58.4354 255.863"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/ItsTheSun.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.503 101.555 257.663"; + rotation = "1 0 0 0"; + scale = "16 16 5"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-69.026 -1.68244 272.923"; + rotation = "0 1 0 25"; + scale = "16 16 5"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-65.0954 -6.26475 272.247"; + rotation = "0 1 0 25"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/ItsTheSun.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-196.129 79.3758 -3.86368"; + rotation = "1 0 0 0"; + scale = "18 18 10"; + interiorFile = "~/data/interiors/arch_red.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.2506 180.55 -2.95"; + rotation = "1 0 0 0"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-191.625 95.206 27.885"; + rotation = "0 0 -1 90"; + scale = "0.8 0.8 0.8"; + interiorFile = "~/data/interiors/training_speed.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-69.0073 62.5184 257.663"; + rotation = "1 0 0 0"; + scale = "16 16 9"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.116 97.438 250.333"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/ItsTheSun.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "20.9298 -17.4376 -1.242"; + rotation = "1 0 0 0"; + scale = "1.7 1.7 6.8"; + interiorFile = "~/data/interiors/matanblock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-191.625 117.606 27.885"; + rotation = "0 0 1 90"; + scale = "0.8 0.8 0.8"; + interiorFile = "~/data/interiors/training_speed.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-110.978 84.1062 187.505"; + rotation = "0 0 1 110"; + scale = "4 4 1"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-172.379 115.496 260.76"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-111.345 83.7824 197.217"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "tornado"; + }; + new Item() { + position = "-42.6623 -1.57292 288.387"; + rotation = "0 1 0 25"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-19.6165 59.7563 285.618"; + rotation = "0 0 1 75"; + scale = "1.5 1.5 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-2.94601 5.93962 286.487"; + rotation = "0 0 1 110"; + scale = "5 8 4"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-19.6165 59.7563 288.218"; + rotation = "0 0 1 75"; + scale = "1.5 1.5 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-124.63 35.1421 250.884"; + rotation = "0 0 1 100"; + scale = "5 7 3"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-134.384 36.8798 257.07"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-43.1456 109.089 270.974"; + rotation = "0 -1 0 17"; + scale = "1.5 1.5 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-43.1456 115.889 270.974"; + rotation = "0 -1 0 17"; + scale = "1.5 1.5 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-100.141 115.889 288.399"; + rotation = "0 -1 0 17"; + scale = "1.5 1.5 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-100.141 109.089 288.399"; + rotation = "0 -1 0 17"; + scale = "1.5 1.5 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-179.407 114.28 310.733"; + rotation = "0 0 1 210"; + scale = "13 9 3.8"; + interiorFile = "~/data/interiors/rock.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-111.345 83.7824 197.217"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "tornado"; + }; + new Item() { + position = "-116.326 113.738 291.613"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.1749 118.094 260.39"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-36.7177 114.303 267.358"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-59.4118 110.726 274.294"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-93.6553 118.053 284.764"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-151.874 -15.5301 335.964"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/aroundtheworld.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-151.874 -20.9577 425.564"; + rotation = "1 0 0 45"; + scale = "13 13 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-178.989 116.43 317.604"; + rotation = "0 0 1 30"; + scale = "20 20 3"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-151.431 -21.1028 425.814"; + rotation = "1 0 0 90"; + scale = "18 18 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-151.031 -21.1028 425.814"; + rotation = "0 1 0 90"; + scale = "18 18 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-151.874 -20.6748 425.564"; + rotation = "-1 0 0 45"; + scale = "13 13 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-141.872 18.6218 338.066"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-141.872 18.6218 338.066"; + rotation = "1 0 0 0"; + scale = "19 19 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-133.872 32.4218 338.066"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-125.672 18.6218 338.066"; + rotation = "1 0 0 0"; + scale = "4 4 1"; + interiorFile = "~/data/interiors/pipecap.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-125.672 18.6218 338.066"; + rotation = "1 0 0 0"; + scale = "19 19 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-133.872 32.4218 338.066"; + rotation = "1 0 0 0"; + scale = "19 19 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "-151.893 -20.7962 435.965"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + dataBlock = "EndPad"; + }; + new InteriorInstance() { + position = "-146.733 11.4547 2.5626"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_tornado.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-149.853 10.4722 8.2625"; + rotation = "0 0 -1 90"; + scale = "0.9235 1 1"; + interiorFile = "~/data/interiors/logcabin.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.354 3.45 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.354 19.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.354 15.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.354 11.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.354 7.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.354 23.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.354 23.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.354 7.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.754 23.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.354 23.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 23.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.354 23.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.354 19.35 25.843"; + rotation = "1 0 0 0"; + scale = "1 1 1e-020"; + interiorFile = "~/data/interiors/square.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 3.45 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.354 3.45 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.754 3.45 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.754 7.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.754 11.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.754 15.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.754 19.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 -4.55 23.843"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.354 3.45 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.354 11.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.354 7.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.354 19.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.354 11.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.354 15.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.354 7.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.354 15.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.354 11.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 7.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 11.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.354 15.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.354 19.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 15.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.354 19.35 23.843"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/square2.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-154.84 15.9773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-154.84 15.9773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-154.84 15.9773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-158.64 20.1773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-143.84 18.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-146.04 12.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-157.04 5.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-150.84 5.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-150.84 20.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-158.64 20.1773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-150.84 5.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-157.04 5.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-146.04 12.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-143.84 18.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-150.84 20.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-154.143 -0.373701 10.3265"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-148.143 -0.373701 10.3265"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-161.679 9.85735 10.3265"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-142.032 23.1711 10.3265"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-147.232 23.1711 10.3265"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new StaticShape() { + position = "-161.679 9.85735 10.3265"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new Item() { + position = "-146.089 101.167 113.756"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-146.316 88.602 241.945"; + rotation = "1 0 0 45"; + scale = "5 5 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-146.316 83.602 254.345"; + rotation = "1 0 0 90"; + scale = "5 5 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-133.54 101.347 269.545"; + rotation = "0 1 0 180"; + scale = "5 5 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-130.74 88.9474 254.545"; + rotation = "0 1 0 90"; + scale = "5 5 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-157.111 22.5463 16.7314"; + rotation = "1 0 0 0"; + scale = "0.825 0.15 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-157.111 0.546267 16.7314"; + rotation = "1 0 0 0"; + scale = "0.825 0.15 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-25.6301 112.539 12.8127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-150.84 5.3773 8.775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ductfan"; + }; + new InteriorInstance() { + position = "-149.911 11.4689 24.2001"; + rotation = "1 0 0 0"; + scale = "0.02 0.02 1"; + interiorFile = "~/data/interiors/redhotcircle.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-30.6849 126.426 5.79252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-149.841 11.5169 20.55"; + rotation = "1 0 0 180"; + scale = "0.7 0.7 1"; + interiorFile = "~/data/interiors/conee.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-144.933 4.3315 10.5532"; + rotation = "0 0 1 90"; + scale = "0.2 0.25 0.2"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-142.82 4.44454 10.5532"; + rotation = "1 0 0 0"; + scale = "0.2 0.25 0.2"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-141.25 3.72607 11.975"; + rotation = "0 1 0 90"; + scale = "0.3 0.3 0.3"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-143.934 3.72607 11.975"; + rotation = "0 1 0 90"; + scale = "0.3 0.3 0.3"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-138.45 3.72607 11.975"; + rotation = "0 1 0 90"; + scale = "0.3 0.3 0.3"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-143.934 0.72607 11.975"; + rotation = "0 1 0 90"; + scale = "0.3 0.3 0.3"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-150.389 1.48005 17.237"; + rotation = "-1 0 0 50"; + scale = "0.05 0.15 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-160.77 11.4718 16.8189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-138.94 11.4697 16.8189"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-150.389 21.5592 17.1215"; + rotation = "1 0 0 50"; + scale = "0.05 0.15 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-161.249 178.55 -2.95"; + rotation = "0 0 1 90"; + scale = "2.6 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-129.748 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new InteriorInstance() { + position = "-24.8742 -8.21917 2.62"; + rotation = "1 0 0 0"; + scale = "1.40225 1 0.05"; + interiorFile = "~/data/interiors/spaceblock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "38.7494 180.55 -2.95"; + rotation = "1 0 0 0"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.0496 -11.4151 -0.671351"; + rotation = "1 0 0 125"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.0496 -4.98906 -0.721999"; + rotation = "1 0 0 235"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.0498 50.3805 -0.671349"; + rotation = "1 0 0 125"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-161.249 229.25 -2.95"; + rotation = "0 0 1 90"; + scale = "2.6 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-25.0496 56.8077 -0.721999"; + rotation = "1 0 0 235"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-24.8744 53.5769 2.62"; + rotation = "1 0 0 0"; + scale = "1.40225 1 0.05"; + interiorFile = "~/data/interiors/spaceblock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-39.9675 42.7034 -0.722"; + rotation = "1 0 0 235"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-39.9675 36.2779 -0.671347"; + rotation = "1 0 0 125"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-39.7921 39.4722 2.62"; + rotation = "1 0 0 0"; + scale = "1.40225 1 0.05"; + interiorFile = "~/data/interiors/spaceblock.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.5597 18.9649 -0.722"; + rotation = "1 0 0 235"; + scale = "0.33 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.38426 15.7298 2.62"; + rotation = "1 0 0 0"; + scale = "1.40225 1 0.05"; + interiorFile = "~/data/interiors/spaceblock.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-103.64 328.23 -1.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "-103.64 328.23 -1.2"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + shapeName = "~/data/shapes/images/glow_bounce.dts"; + }; + new TSStatic(1) { + position = "-127.249 328.247 -2.569"; + rotation = "1 0 0 0"; + scale = "47.275 9.0905 0.18"; + shapeName = "~/data/shapes/quicksand.dts"; + }; + new InteriorInstance() { + position = "-101.251 325.25 -2.95"; + rotation = "1 0 0 0"; + scale = "2.6 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-161.249 281.25 -2.95"; + rotation = "0 0 1 90"; + scale = "2.6 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new TSStatic(1) { + position = "-158.249 307.247 -2.569"; + rotation = "1 0 0 0"; + scale = "9.0905 47.275 0.18"; + shapeName = "~/data/shapes/quicksand.dts"; + }; + new InteriorInstance() { + position = "-89.2506 180.55 -2.95"; + rotation = "1 0 0 0"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-49.7482 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-69.7482 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-89.7482 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-109.748 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "10.2518 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "30.2518 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-9.7482 193.308 -0.4895"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SignCautionCaution"; + }; + new InteriorInstance() { + position = "-181.4 162.657 69.4906"; + rotation = "1 0 0 0"; + scale = "3 3 1.5"; + interiorFile = "~/data/interiors/umbrella.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-181.68 -21.7162 57.0625"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "31.1494 129.37 82.1812"; + rotation = "0 0 1 90"; + scale = "0.4 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-30.3519 72.2357 82.37"; + rotation = "1 0 0 0"; + scale = "2.4 2.4 0.5"; + interiorFile = "~/data/interiors/intermediate/tornadotoss.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-55.1813 71.9773 49.4329"; + rotation = "0 0 1 45"; + scale = "2 2 2"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-181.68 -16.9162 56.8625"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-66.988 -40.4371 0.207"; + rotation = "-1 0 0 90"; + scale = "3.571 0.63 1.5"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-10.3564 -36.2971 -0.722001"; + rotation = "1 0 0 235"; + scale = "3 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-61.3471 -36.2971 -0.722001"; + rotation = "1 0 0 235"; + scale = "3 2 2"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-116.784 11.6847 -2.745"; + rotation = "0 0 -1 90"; + scale = "3 3 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-122.655 11.0109 -0.545"; + rotation = "0 0 1 90"; + scale = "3 3 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-150.536 11.2078 -4.55203"; + rotation = "0 0 -1 72"; + scale = "60 60 11"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "-165.391 26.4284 -2.82782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-165.391 -4.17159 -2.82782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-48.9933 71.9371 55.4185"; + rotation = "1 0 0 90"; + scale = "0.85 0.85 0.85"; + interiorFile = "~/data/interiors/pinball1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.7314 12.2631 46.5398"; + rotation = "0 -1 0 30"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-56.1858 4.26379 14.5375"; + rotation = "1 0 0 0"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "11.5383 72.262 14.5375"; + rotation = "0 0 1 90"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-24.5492 13.1751 14.5375"; + rotation = "0 0 -1 63.55"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-55.1937 72.262 48.6062"; + rotation = "0 0 1 90"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-66.8586 71.9849 14.5375"; + rotation = "0 0 1 80"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-55.3297 56.2373 14.5375"; + rotation = "0 0 -1 20"; + scale = "0.5 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-59.4977 23.0809 22.1029"; + rotation = "0 -1 0 30"; + scale = "0.4 1 0.5"; + interiorFile = "~/data/interiors/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-48.9933 68.1371 55.4185"; + rotation = "1 0 0 90"; + scale = "0.85 0.85 0.85"; + interiorFile = "~/data/interiors/pinball1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "31.6991 -33.3735 -2.54752"; + rotation = "-1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "trapdoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "24.4741 -32.1508 -0.812881"; + rotation = "0 -1 0 35"; + scale = "2.5 2.5 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "26.7541 -29.1597 3.28288"; + rotation = "0 -1 0 35"; + scale = "2.5 2.5 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "29.09 -32.2013 7.42482"; + rotation = "0 -1 0 35"; + scale = "2.5 2.5 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "29.3247 -21.633 14.5852"; + rotation = "0 1 0 35"; + scale = "2.5 2.5 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "26.167 -24.9739 18.6809"; + rotation = "0 1 0 35"; + scale = "2.5 2.5 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-181.68 -19.1162 -3.0375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new InteriorInstance() { + position = "-181.68 -19.1162 26.6625"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 30"; + interiorFile = "~/data/interiors/purpcirc.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-181.68 -19.1162 -3.0375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new StaticShape() { + position = "-181.68 -19.1162 -3.0375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new StaticShape() { + position = "-181.68 -19.1162 -3.0375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "tornado"; + }; + new InteriorInstance() { + position = "-138.68 -30.1162 19.8625"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 23"; + interiorFile = "~/data/interiors/purpcirc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-73.1566 32.1612 5.8625"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 9"; + interiorFile = "~/data/interiors/purpcirc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-101.119 -8.18913 12.8625"; + rotation = "1 0 0 0"; + scale = "1.4 1.4 16"; + interiorFile = "~/data/interiors/purpcirc.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-73.1566 32.1612 15.0443"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-73.1566 32.1612 19.4443"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-101.119 -8.18913 33.4"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-101.119 -8.18913 29"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-138.68 -30.1162 47.3625"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-138.68 -30.1162 42.9625"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-170.217 47.5943 25.2776"; + rotation = "-1 0 0 15"; + scale = "1.8 1.8 1"; + interiorFile = "~/data/interiors/matankite.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-182.122 36.0836 29.2975"; + rotation = "-1 0 0 15"; + scale = "12 12 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-140.736 72.7316 37.6149"; + rotation = "-1 0 0 15"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-94.6439 72.0025 82.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-22.7398 162.024 -10.6375"; + rotation = "-1 0 0 90"; + scale = "0.8 0.8 0.8"; + interiorFile = "~/data/interiors/half-pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-45.7757 164.36 -0.7875"; + rotation = "1 0 0 0"; + scale = "1.2815 2.5 26"; + interiorFile = "~/data/interiors/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-28.7012 71.759 70.805"; + rotation = "0 1 0 90"; + scale = "0.681 1.525 0.845"; + interiorFile = "~/data/interiors/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(q) { + position = "35.0539 47.8835 76.5874"; + rotation = "-1 0 0 9.99997"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/tube_space.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(q) { + position = "35.0539 17.3545 71.2043"; + rotation = "-1 0 0 9.99997"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/tube_space.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(q) { + position = "0.891022 116.17 48.391"; + rotation = "0 1 0 54"; + scale = "1.875 4 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "20.9938 123.547 74.0264"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "20.9938 101.747 74.0264"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance(q) { + position = "-30.4967 116.17 5.18949"; + rotation = "0 1 0 54"; + scale = "1.875 4 1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "14.0807 118.257 64.5256"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-6.3296 127.009 36.422"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.25748 107.092 53.7455"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-2.022 99.6634 42.3455"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.83484 114.125 47.6287"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-23.6386 110.548 12.6127"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-11.9847 102.331 28.6073"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-15.2212 118.829 24.1363"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-28.7099 124.437 5.59252"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-18.8668 97.528 19.1501"; + rotation = "1 0 0 0"; + scale = "1 1 0.2"; + interiorFile = "~/data/interiors/smallsquare3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "27.9038 127.741 86"; + rotation = "0 0 1 180"; + scale = "0.6 0.6 0.6"; + interiorFile = "~/data/interiors/arrowsign.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "27.9038 112.741 86"; + rotation = "0 0 1 180"; + scale = "0.6 0.6 0.6"; + interiorFile = "~/data/interiors/arrowsign.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "27.9038 97.741 86"; + rotation = "0 0 1 180"; + scale = "0.6 0.6 0.6"; + interiorFile = "~/data/interiors/arrowsign.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.082 114.545 -2.95"; + rotation = "0 0 1 90"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "102.749 180.55 -2.95"; + rotation = "1 0 0 0"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.082 50.545 -2.95"; + rotation = "0 0 1 90"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "24.082 -13.455 -2.95"; + rotation = "0 0 1 90"; + scale = "3.2 4 6"; + interiorFile = "~/data/interiors/road.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "97.0732 183.508 3.395"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new InteriorInstance() { + position = "90.1162 188.593 -2.533"; + rotation = "0 0 1 180"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-127.684 188.593 -2.533"; + rotation = "0 0 1 180"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.5162 188.593 -2.533"; + rotation = "0 0 1 180"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-153.147 270.408 -2.533"; + rotation = "0 0 -1 90"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "22.0623 27.532 -2.533"; + rotation = "0 0 1 90"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "22.0623 135.332 -2.533"; + rotation = "0 0 1 90"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-102.901 18.7923 3.6501"; + rotation = "0 0 -1 90"; + scale = "1.4 1 2.7"; + interiorFile = "~/data/interiors/little_slope.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.8188 183.872 -1.572"; + rotation = "0 -1 0 55"; + scale = "0.03 0.555 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-58.0838 188.593 -2.533"; + rotation = "0 0 1 180"; + scale = "1.25 1.25 1.25"; + interiorFile = "~/data/interiors/car.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-231.368 193.992 71.3787"; + rotation = "0 1 0 50"; + scale = "2 2 2.4"; + interiorFile = "~/data/interiors/umbrella.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "25.5362 37.987 -1.82"; + rotation = "1 0 0 55"; + scale = "0.175 0.1 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-31.6745 71.759 43.605"; + rotation = "0 1 0 90"; + scale = "0.681 1.525 0.845"; + interiorFile = "~/data/interiors/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "9.65761 132.357 -2.1375"; + rotation = "0 0 -1 90"; + scale = "1.5 1.5 1.5"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-64.4674 193.266 58.4032"; + rotation = "1 0 0 50"; + scale = "2.8 2.8 2"; + interiorFile = "~/data/interiors/parared.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "14.1658 133.091 -2.1375"; + rotation = "0 0 1 90"; + scale = "3 1.5 1.5"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-4.19634 44.6305 -2.1375"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + interiorFile = "~/data/interiors/parts/tubes/tube_turn.dif"; + showTerrainInside = "0"; + }; + new Item(redblock) { + position = "31.822 -27.61 -2.71"; + rotation = "1 0 0 0"; + scale = "0.4 0.4 0.4"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "20000"; + }; + new Item() { + position = "-150.126 11.0192 -2.15203"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "35000"; + }; + new Item() { + position = "-144.337 5.30837 27.243"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "25000"; + }; + new Item() { + position = "-193.067 195.058 37.2892"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "12000"; + }; + new Item() { + position = "-9.96251 193.733 -0.00137"; + rotation = "1 0 0 0"; + scale = "0.2 0.2 0.2"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "9000"; + }; + new Item() { + position = "-30.3519 72.2357 144.37"; + rotation = "1 0 0 0"; + scale = "7 7 3"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "6000"; + }; + new Item() { + position = "31.0273 66.9578 81.3747"; + rotation = "1 0 0 0"; + scale = "0.4 0.4 0.4"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "12000"; + }; + new Item() { + position = "-115.36 92.742 7.85921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "-119.583 110.26 7.85921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "-137.65 101.016 110.773"; + rotation = "1 0 0 0"; + scale = "0.8 0.8 0.8"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "15000"; + }; + new InteriorInstance() { + position = "-82.1033 15.3931 11.75"; + rotation = "0 0 1 180"; + scale = "1.4 1 2.7"; + interiorFile = "~/data/interiors/little_slope.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-47.6175 20.5341 12.537"; + rotation = "-1 0 0 11"; + scale = "6 1.6 6"; + interiorFile = "~/data/interiors/Tightrope_caution.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-18.5023 67.0638 289.909"; + rotation = "1 0 0 0"; + scale = "2 2 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "-22.9369 158.201 9.275"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "5.46799 109.093 53.2724"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-35.7978 -36.8638 -2.5375"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new StaticShape() { + position = "-63.8439 -38.1201 3.9"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "27.078 -10.5724 -0.999999"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "16.302 -20.2271 -1.84906"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "11.5663 9.31966 16.198"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-35.8439 -38.1201 3.9"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "-7.8439 -38.1201 3.9"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-24.9557 5.23767 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-107.522 7.33207 6.07287"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-106.018 7.33207 6.07287"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "-18.8721 21.1931 11.8855"; + rotation = "1 0 0 180"; + scale = "2 2 2"; + dataBlock = "SignPlainLeft"; + }; + new Item() { + position = "-70.8796 -22.9896 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.879624 -22.9896 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.1253 52.5822 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.67519 1.98253 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.1253 25.5822 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.67519 29.3825 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-25.027 66.2701 -2.73009"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-25.027 39.4701 -2.73009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "18.5839 -2.09445 18.2"; + rotation = "1 0 0 0"; + scale = "1 1 0.05"; + interiorFile = "~/data/interiors/purpcirc.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-143.887 107.146 22.9505"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-191.835 120.783 302.277"; + rotation = "0 0 1 180"; + scale = "1.5 1.5 1.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "20000"; + }; + new Item() { + position = "-162.131 118.892 47.3505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-143.557 123.76 26.3505"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-146.339 111.141 -2.4495"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-144.44 116.761 17.1505"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-76.523 11.4286 13.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-144.49 130.626 16.7505"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-145.497 126.473 5.9505"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-96.8952 62.5172 260.075"; + rotation = "0 -1 0 90"; + scale = "3 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-96.6952 62.5172 260.075"; + rotation = "0 -1 0 90"; + scale = "2 2 2"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.9931 39.4434 14.3263"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-146.207 101.718 271.663"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-142.653 114.894 36.3505"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-160.435 15.1156 4.59038"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-149.725 11.2674 4.59038"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-142.376 18.5436 4.59038"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-45.7429 147.855 -2.5"; + rotation = "0 0 1 90"; + scale = "2 2 2"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-165.054 122.504 -1.135"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-195.865 106.498 -2.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-164.958 130.502 14.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-165.813 115.129 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-163.906 120.763 25.35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-49.3756 62.6582 260.359"; + rotation = "0 1 0 90"; + scale = "5 5 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-163.988 134.632 24.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-163.028 127.754 34.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-163.367 111.152 31.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-58.3756 62.6582 276.359"; + rotation = "0 1 0 180"; + scale = "5 5 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.3135 62.5176 260.075"; + rotation = "0 1 0 90"; + scale = "2 2 2"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-96.8952 62.5172 260.075"; + rotation = "0 -1 0 90"; + scale = "3 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-25.0322 53.4488 14.3263"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-162.131 118.892 44.5505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.56976 15.7564 14.3263"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-25.0675 -8.20011 14.3263"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-59.1133 164.626 -2.5"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-158.4 164.674 -2.73009"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-110.58 101.39 -2.0774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.0582 95.4454 3.0625"; + rotation = "1 0 0 0"; + scale = "0.7 0.7 0.7"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "-178.803 151.291 0.500001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-167.559 89.21 -2.0774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-191.528 106.511 47.2312"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-184.402 164.158 37.5218"; + rotation = "1 0 0 0"; + scale = "2.5 2.5 2.5"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-45.9324 164.581 9.0625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.6951 -15.6869 23.608"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.5381 -37.5618 28.877"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.2227 -37.5618 28.877"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-35.8439 -37.5201 56.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "6500"; + }; + new Item() { + position = "-140.883 0.580741 9.1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-149.911 11.4689 23.4001"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-152.087 7.37146 15.4001"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-145.287 14.9715 15.4001"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-149.908 11.3862 30.5625"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-187.799 -19.3162 -2.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-67.2986 144.62 17.8035"; + rotation = "-1 0 0 50"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-161.136 12.6187 16.7314"; + rotation = "1 0 0 0"; + scale = "0.041 2.2945 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "19.006 125.545 74.2264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.006 103.745 74.0264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.081 120.252 64.7256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.2682 109.079 53.9455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.169472 116.149 47.8287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.01431 101.656 42.5455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-8.34556 129.015 36.622"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.9714 104.334 28.6073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.2108 120.821 24.3363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.8447 99.5528 19.3501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-139.299 12.6187 16.7314"; + rotation = "1 0 0 0"; + scale = "0.041 2.2945 0.1"; + interiorFile = "~/data/interiors/SimplePlatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-55.1605 31.2846 49.1437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.3519 72.2357 104.37"; + rotation = "1 0 0 0"; + scale = "10 10 10"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.6476 72.1141 16.0625"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-32.771 166.438 -2.5375"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-67.1801 74.037 15.075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-82.0986 53.3121 -2.8375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.1474 95.587 -1.6375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-158.214 3.16929 4.59038"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-144.134 6.1835 4.59038"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-162.131 118.892 45.9505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.32207 4.38009 294.852"; + rotation = "1 0 0 0"; + scale = "4 4 4"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.1749 113.211 260.198"; + rotation = "1 0 0 0"; + scale = "2.5 2.5 2.5"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(UleaveUdie) { + position = "-259.037 357.478 -50.9532"; + rotation = "1 0 0 0"; + scale = "400 500 875"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(waterfall) { + position = "-104.441 106.594 -2.4"; + rotation = "1 0 0 0"; + scale = "0.5 10.5 8"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "What a beautiful waterfall!"; + }; + new Trigger(aircabin) { + position = "-138.233 12.5122 8.9001"; + rotation = "1 0 0 0"; + scale = "0.3 4 5.5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "The sun is hot! Go refresh yourself inside!"; + }; + new Trigger(roof) { + position = "-144.999 23.252 26.743"; + rotation = "0 0 1 45"; + scale = "0.33 23.5 3.2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Looks like this place hasn\'t been visited for ages."; + }; + new Trigger(wheeee) { + position = "-33.7504 168.006 -2.9375"; + rotation = "1 0 0 0"; + scale = "2 2.8 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Whhheeeeeeeee!!!"; + }; + new Trigger(knockknock) { + position = "31.3844 -33.3735 -3.0375"; + rotation = "1 0 0 0"; + scale = "0.6 0.1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Knock! Knock!"; + }; + new Trigger(finalstretch) { + position = "-132.012 127.865 295.079"; + rotation = "0 0 1 90"; + scale = "25 2 40"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Figure this puzzle out to the finish. It is on the green & blue planet."; + }; + new Trigger(spacetornado) { + position = "-119.532 106.275 260.063"; + rotation = "1 0 0 0"; + scale = "5 9 2.5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Look down. Use that tornado to your advantage."; + }; + new Trigger(starthelptwo) { + position = "61.0431 189.075 -3.04732"; + rotation = "1 0 0 0"; + scale = "0.7 11 15"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Enjoy your free time on this wonderful island!"; + }; + new Trigger(illusionroad) { + position = "-164.775 275.071 -2.3"; + rotation = "1 0 0 0"; + scale = "13 1 16"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "What happened to this road?"; + }; + new Trigger(jumptofreedom) { + position = "26.9916 94.8343 82.1187"; + rotation = "1 0 0 0"; + scale = "8.25 1 12"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Jump down to freedom!"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/marble/data/missions/expert/Bamboo Challenge.mis b/marble/data/missions/expert/Bamboo Challenge.mis new file mode 100644 index 0000000..535c8b8 --- /dev/null +++ b/marble/data/missions/expert/Bamboo Challenge.mis @@ -0,0 +1,605 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Bamboo Challenges"; + time = "0"; + startHelpText = "Welcome to my bamboo park!"; + desc = "Green bamboos are challenging you, will you beat all challenges?"; + artist = "Kevin"; + type = "Expert"; + level = "15"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.64002"; + cloudHeightPer[1] = "0.53104"; + cloudHeightPer[2] = "0.48021"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -2.4843e+033 -3.45218e+035"; + fogVolume2 = "-1 -1.75562e+028 -5.21074e+024"; + fogVolume3 = "-1 -7.94611e+019 -1.34738e+026"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -0.022428"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -82675706676379648.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -2512331530036648300000000000000000000.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 96.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/BambooRoad.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-20.75 79.5 102.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "0 1.19209e-007 97.3 0.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-118 96 103.3 0.95"; + rotation = "-0.00370368 0 -0.999993 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-144.25 118.75 93.2"; + rotation = "1 0 0 0"; + scale = "175.5 130.25 40.25"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-57.8024 95.9622 97.6245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + Pad = "1563"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new InteriorInstance() { + position = "-69.865 94.224 97.2384"; + rotation = "-0.0111104 0 0.999938 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.7913 108.352 92.9223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + Pad = "6067"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "-36.1884 67.8891 103.119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new InteriorInstance() { + position = "-69.0709 99.1883 97.3114"; + rotation = "0.00555547 0 0.999985 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-72.3201 99.3304 97.183"; + rotation = "0.0074072 0 0.999973 135"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-71.4621 96.5684 97.2559"; + rotation = "0.0222167 0 0.999753 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-97.921 84.0451 97.7286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-68.3541 96.699 97.1647"; + rotation = "0.0166644 0 0.999861 60"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-21.2739 56.7519 92.1903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "7.46927 110.603 96.595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "easterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-75.2103 96.4254 97.1409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-72.7921 93.6777 97.1371"; + rotation = "0.00555547 0 0.999985 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-135.14 82.2154 97.1237"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-99.5631 109.555 97.1619"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-99.6733 82.229 97.1658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-135.202 108.554 97.0605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-122.41 95.2502 103.138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-122.25 97.7535 103.318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-97.4898 108.784 97.5588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + Pad = "1555"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "-83.9736 96.0395 103.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "6.07809 109.437 97.2469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_2.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-71.2627 95.9895 108.633"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.5079 91.605 97.4892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.3895 93.11 97.5047"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.3638 93.1162 97.4745"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.7044 82.0294 97.4003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.9553 75.0935 101.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-12.3788 73.1264 97.4957"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.6717 72.8409 97.5336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.2302 81.628 97.5024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.5348 55.4236 97.43"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.2174 41.7793 97.5592"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.8477 16.0194 97.3997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16.3788 32.4601 97.3104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.1073 51.8678 97.3766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-120.183 100.382 103.194"; + rotation = "1 0 0 0"; + scale = "9 9 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Congratulations! You beat all challenges!"; + }; + new Trigger() { + position = "-8.47317 7.64493 97.1878"; + rotation = "1 0 0 0"; + scale = "17 1 3"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "In & Out: Gain some speed. 5 gems in total in this section."; + }; + new Trigger() { + position = "-9.17226 68.0391 97.3427"; + rotation = "1 0 0 0"; + scale = "6 1 3"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Bamboo Maze: Don\'t be lost. Wall hits are needed. The red bamboo is the entrance. 8 gems in total in this section."; + }; + new Trigger() { + position = "-53.9228 100.517 97.0038"; + rotation = "1 0 0 0"; + scale = "1 9 3"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Big Gem: It\'s above the bamboos!"; + }; + new Item() { + position = "-79.0576 96.1807 98.0214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-78.1727 95.2979 97.9885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-78.224 96.2102 97.918"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-78.3321 97.1691 97.9393"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.84615 100.139 103.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new InteriorInstance() { + position = "15.8382 15.6612 92.505"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "21.6983 35.4478 92.386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.20563 32.3634 92.8268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-46.8136 83.5464 92.6822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "8.66838 55.0651 93.1001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/bamboo_part/bamboo_1.dif"; + showTerrainInside = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "-10.9763 77.2982 102.198"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.0029 86.3172 101.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.9212 86.2505 102.465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.9341 77.283 102.508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.0054 77.281 101.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-31.2615 85.3316 100.927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.661 93.0202 102.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-104.999 77.1788 97.8725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "7500"; + }; + new Item() { + position = "-104.645 114.562 97.8849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "7500"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/BattlecubeFinale.mis b/marble/data/missions/expert/BattlecubeFinale.mis new file mode 100644 index 0000000..c05db0a --- /dev/null +++ b/marble/data/missions/expert/BattlecubeFinale.mis @@ -0,0 +1,2045 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "expert"; + time = "840000"; + startHelpText = "Can you find all 96 gems in this mad level?"; + desc = "Collect 96 gems!"; + level = "4"; + name = "Battlecube"; + goldTime = "720000"; + UltimateTime = "540000"; + artist = "Kevin"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new Item() { + position = "72.0356 -55.2469 1.2"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "16.5 3.8 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new InteriorInstance() { + position = "17.596 -60.2376 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/expert/mbp_BattlecubeFAll.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "74.3483 1.21416 0.95"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.585 -4.922 119.303"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.4778 13.1794 119.412"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "35.6087 62.7981 1"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.46969 -54.2323 0.960002"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.3819 63.0778 118.969"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.6 62.9 118.2"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.1 59.73 119"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.95001 63.3 119.2"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.6221 62.4235 119.532"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-38.9683 -54.3409 1.27"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.015 18.8406 118.725"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 62.7 116.8"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.9 62.3 116.4"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "74.8583 33.8142 1.32"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.4456 -50.7682 1.6222"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.8778 -7.1577 119.464"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.9537 59.5689 1.17829"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.8291 58.7693 1.15"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.6778 62.8522 49"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.60662 63.2682 1.00134"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.4537 62.2789 1.02829"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.815 -51.4705 118.818"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "74.7291 62.8293 5.2"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.1 62.1 4"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.5261 -55.4778 39.5199"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.585 63.176 51.3319"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.9101 -55.4625 1.08"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.1356 -55.2469 3.7"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "72.5 -55.4 119.6"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.7692 -55.17 118.915"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.1873 18.8678 1.13505"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.4778 63.3598 69.1616"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.2672 -7.9147 1.0222"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.4356 -52.8969 1.1"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.0358 63.43 119.133"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.0684 -55.2757 78.6461"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 -55 116.3"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.0132 -55.0778 119.496"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.5683 -54.8409 4.8"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.4 -55.35 115.4"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75.1 -54.15 44.3"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.0609 62.8778 81"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.7 -55.3 118.8"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.9 -50.6 119.5"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.4778 -55.3966 75.3372"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "71.9291 62.4793 1.2"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.5 4.2 134.4"; + rotation = "1 0 0 180"; + scale = "3 3 3"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.637 -52.9392 121.622"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.563 61.2608 121.622"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.563 -52.9392 121.622"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.637 61.4608 121.622"; + rotation = "1 0 0 180"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.7436 37.0439 -11.712"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.7367 61.085 -1.2"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.4633 60.485 -1.2"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.7367 -53.315 -1.2"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.4633 -53.315 -1.2"; + rotation = "1 0 0 0"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "67.4978 -70.5588 99.1601"; + rotation = "1 0 0 90"; + scale = "3 3 3"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.801 -57.4536 3.24259"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.6086 -57.6535 117.216"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.1914 -57.6535 117.216"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.399 -57.4536 3.24259"; + rotation = "1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.0454 78.3696 58.9262"; + rotation = "-1 0 0 90"; + scale = "3 3 3"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.4894 65.4909 117.317"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.3106 65.4909 117.317"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.491 65.8803 3.33424"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40.509 65.8803 3.33424"; + rotation = "-1 0 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "90.7286 43.0032 62.5842"; + rotation = "0 1 0 90"; + scale = "3 3 3"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.937 61.001 117.745"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.937 61.2076 3"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.937 -53 117.745"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.937 -52.5924 3"; + rotation = "0 1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.6074 -53.2897 117.723"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-59 4 60.2"; + rotation = "0 -1 0 90"; + scale = "3 3 3"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.6074 60.9103 117.723"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-45.2074 60.829 3.13036"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-45.2074 -53.371 3.13036"; + rotation = "0 -1 0 90"; + scale = "0.6 0.6 0.6"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.8 -10.8 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-34.6 14.8 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.4 -29.2 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49 -29.2 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49 -8.6 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "68.6 36.2 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.2 36.2 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.4 46 0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 -21 104.4"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 55 21.1"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 34 30.1"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 -11.2 21.1"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 -47.2 15.1"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 49 69.1"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 -44.2 69.1"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.3 7.8 84.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 -17.1 39.35"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 -28.9 93.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 -29.1 27.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 25.1 39.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 36.9 27.35"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 36.9 81.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 24.9 81.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.8 -17.1 93.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.6 5.6 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.8 -5 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.6 -17 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.6 36.8 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.4 49 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.4 -41 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.8 13 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.4 4 120.2"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.4 -17 -0.3"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.2 45.8 -0.3"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.4 -17 -0.3"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-40 7 -0.3"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.2 14 -0.300001"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.8 -50.4 -0.3"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.6 52.4 -0.300001"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "66.6 -50.4 -0.3"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2002 36.9142 93.15"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 -29.1 39.35"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 -17.1 27.15"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 24.9 27.15"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 36.7 39.35"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 -17.1 81.15"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 24.9 93.15"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-44.2 -29.1 81.35"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.4 -29.2 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50 37.4 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.6 4 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.6 -16.8 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.2 13 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.2 -34 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.8 61.2 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.2 11.2 120.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 -17.1 39.35"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 -41.3 85.55"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 13.1 49.15"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 48.3 56.95"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 51.9 38.75"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 6.1 116.35"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 -25.1 103.95"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.4 19.7 2.35"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.7 -55.7 105.1"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.3 -55.7 15.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16.5 -55.7 21.9"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.5 -55.7 50.3"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.9 -55.7 45.1"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.1 -55.7 81.7"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.5 -55.7 69.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.1 -55.7 92.1"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.5 -56.5 105.1"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.1 -56.5 4.1"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.5 -56.5 116.9"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.1 -56.5 92.9"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.1 -56.5 69.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16.5 -56.5 64.1"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-33.7 -56.5 26.7"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.3 -56.5 20.7"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.2 63.7 23.8"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.2 63.7 83"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.4 63.7 26.4"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.4 63.7 20.6"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.2 63.7 60.4"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.6 63.7 46.4"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.2 63.7 95.8"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.2 64.3 95.8"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.6 63.7 98.4"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.8 64.3 83.2"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.6 64.3 97.6"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.8 64.3 46"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.8 64.3 60.4"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.6 64.3 19.8"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.4 64.3 24.8"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.6 64.3 26.8"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "17.7 3.8 -8.35"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape(EndPoint) { + position = "16.5 3.8 0.05"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "16.6049 3.96536 -8.91088"; + rotation = "1 0 0 0"; + scale = "0.9 0.9 1"; + dataBlock = "EasterEgg"; + collideable = "0"; + static = "1"; + rotate = "0"; + }; + new Item() { + position = "61.4511 22.3713 -0.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.8272 -26.6843 -0.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-37.5719 42.9002 60.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-4.89317 -31.6225 0.582689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.9011 -21.8238 -0.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.6091 51.9241 -0.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-37.5719 3.90019 21.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "32.5233 22.4148 0.514677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-49.1719 4.3002 21.3791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-49.1719 -35.2998 60.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-37.5719 3.90019 60.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-37.5719 3.90019 99.3791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-49.1719 42.9002 60.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-49.1719 4.3002 60.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-37.5719 -34.8998 60.1791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-49.1719 4.3002 99.3791"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "76.1168 25.1272 51.3457"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.5157 -23.4661 44.1939"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.1551 18.8419 104.166"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.2148 37.059 68.5294"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "76.6813 -43.8505 105.136"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.4374 3.9634 119.436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.05913 -55.4887 68.8477"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.1788 -55.6157 25.7873"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.4362 -56.6197 57.2057"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.6059 -56.8816 106.406"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.9876 64.1862 45.1424"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.6176 63.3727 67.2972"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.6628 63.2508 77.2158"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.8809 63.3806 45.2189"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "35.627 64.0689 17.1574"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.4093 64.685 63.0132"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-26.4769 63.0123 83.358"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.4049 62.8315 99.1217"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.6379 63.2192 53.4777"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.3934 64.8746 43.5442"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "63.3468 64.7803 61.3101"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "60.3088 -53.385 120.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.1262 23.6589 120.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.4548 1.16222 119.9"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-16.5266 9.95893 119.9"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(stayhere) { + position = "-283.4 306.2 -300"; + rotation = "1 0 0 0"; + scale = "600 600 600"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Rising Temper.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Curve Challenge.mis b/marble/data/missions/expert/Curve Challenge.mis new file mode 100644 index 0000000..0c28466 --- /dev/null +++ b/marble/data/missions/expert/Curve Challenge.mis @@ -0,0 +1,890 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Curve"; + time = "0"; + desc = "The best name that wins in originality!"; + type = "Expert"; + level = "5"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/CurveChallenge.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "4 20 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "6 18 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "8 18 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "8 20 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "10 20 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "16 20 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "14 18 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "12 18 8.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "26.5 48.5 6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "26.5 46.5 6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22.5 46.5 6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22.5 48.5 6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "trapdoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "17 41 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "18 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19 41 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17 37 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19 37 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "18 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15 41 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15 37 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13 41 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13 37 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "11 41 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "11 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "11 37 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "19 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "17 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "17 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "15 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "15 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "13 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "13 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "11 40 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "11 38 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "12 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "14 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "16 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "18 39 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-9 36 21.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 51 21.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 36 21.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-9 72 21.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 57.25 21.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 72 21.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "28.5 43.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "28.5 51.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "28.5 43.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "24.5 51.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "24.5 43.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "24.5 51.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "20.5 43.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "20.5 51.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "20.5 43.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "18.5 51.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18.5 43.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18.5 51.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "11.5 40.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "11.5 26 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "11.5 40.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/CurveChallenge.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new StaticShape(StartPoint) { + position = "-3.00802 -6.98613 0.497805"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0 5 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-23 93 0.9"; + rotation = "1 0 0 0"; + scale = "79 146 72"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2471"; + bonusTime = "0"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5095 17.2947 6.01259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Sensor"; + resetTime = "Default"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Damn Gravity.mis b/marble/data/missions/expert/Damn Gravity.mis new file mode 100644 index 0000000..3d65609 --- /dev/null +++ b/marble/data/missions/expert/Damn Gravity.mis @@ -0,0 +1,1376 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + name = "Damn Gravity"; + desc = "Damn it, Jimmy! Damn it, Gravity!"; + level = "14"; + type = "Advanced"; + artist = "Kevin"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.5"; + cloudHeightPer[1] = "0.37"; + cloudHeightPer[2] = "0.42"; + cloudSpeed1 = "0.0021"; + cloudSpeed2 = "0.0015"; + cloudSpeed3 = "0.0007"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "6.51471 114.958 125.85"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0.508878 -111.817 100.125"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-35.4 129.8 88.3"; + rotation = "1 0 0 0"; + scale = "75 300 125"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "6.50918 116.936 111.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/Damn_Gravity.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "6.50727 98.8419 133.331"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.533839 -41.5454 121.92"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.50453 76.0881 126.717"; + rotation = "-1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.60918 76.6077 129.987"; + rotation = "0 0.707107 0.707107 180.065"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "6.43928 76.6239 121.425"; + rotation = "0.845501 -0.377577 -0.377577 99.5711"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-0.553159 76.6497 121.488"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "6.4015 72.6687 128.303"; + rotation = "0.577657 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "7.41031 71.4364 128.299"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.71524 75.0167 123.943"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.341182 75.0227 123.755"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.45458 69.478 129.963"; + rotation = "-0.573808 0.579113 -0.579113 120.305"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "0.394292 74.5467 125.736"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "0.385955 -103.272 100.119"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger() { + position = "-0.927979 74.5597 122.252"; + rotation = "1 0 0 0"; + scale = "3 1 3"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use diagonal movement to climb up."; + }; + new StaticShape() { + position = "6.64027 73.4953 130.008"; + rotation = "-1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "14.5569 73.7467 121.421"; + rotation = "0.228725 0.688362 -0.688362 205.767"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new Item() { + position = "8.71663 74.5819 123.482"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.41247 69.516 126.719"; + rotation = "-0.577657 0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new Item() { + position = "6.52217 24.9286 133.245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.12768 70.1201 128.174"; + rotation = "-1 0 0 89.3814"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.532647 65.4458 128.872"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.60149 64.6849 122.767"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.4514 63.0506 125.748"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.73144 65.2443 126.873"; + rotation = "0.577656 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "8.07873 64.2943 126.796"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.509163 64.9213 128.896"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.418468 64.0328 122.592"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "4.4889 61.9502 127.05"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "14.6366 61.4653 123.714"; + rotation = "-0.577197 -0.577197 0.577657 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "14.5785 61.5299 121.413"; + rotation = "0.276033 0.679634 -0.679634 210.863"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new Item() { + position = "7.12165 63.6823 127.004"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.58611 66.5811 122.774"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "2.64392 65.4971 123.878"; + rotation = "-0.577657 0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "3.57886 66.215 124.824"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-1.32435 56.0905 121.677"; + rotation = "0.577657 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new StaticShape() { + position = "-1.26939 56.0214 129.67"; + rotation = "-0.0005632 0.707107 0.707107 180.065"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new Item() { + position = "6.52789 54.0028 127.887"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.4663 53.1048 130.028"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.5377 43.3381 127.83"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "2.79776 44.3421 127.926"; + rotation = "0.577657 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "4.22282 43.6221 127.806"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.476357 50.5383 130.024"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.9068 51.9522 130.012"; + rotation = "-1 0 0 90.5273"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.73758 67.7178 126.944"; + rotation = "-0.577657 -0.577197 0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.01401 56.3496 123.521"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.08037 53.8539 123.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.16504 52.7452 123.738"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0696384 54.1871 125.742"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.8448 55.1937 124.929"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.48339 24.9973 132.388"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.2274 23.0371 133.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.86253 23.0607 133.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.552204 -117.341 116.889"; + rotation = "0.571332 -0.571332 -0.589203 118.987"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-3.70177 -31.4775 118.191"; + rotation = "1 0 0 0"; + scale = "8 2 5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Try to back to the blue color face, though standing on this face may work."; + }; + new Item() { + position = "4.48207 -11.1012 132.086"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-1.22087 -12.7526 133.033"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-3.51037 -15.0827 135.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.55222 -3.11975 135.936"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.76487 -11.9983 132.551"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.63559 -15.035 133.907"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.74304 -11.0838 133.897"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-9.57326 -11.0527 129.858"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-9.55919 -15.0931 113.865"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-9.2595 -2.94415 113.88"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-10.6931 -11.0528 124.105"; + rotation = "0.577197 0.577657 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-10.6659 -16.7989 126.857"; + rotation = "-0.707107 0.000563147 0.707107 179.935"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "-13.5908 -3.02927 125.855"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.5908 -7.06564 117.866"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.61362 -3.04697 117.87"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.62655 -15.0909 121.893"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.77683 -15.0707 117.899"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-2.65402 -9.29022 128.122"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-5.74064 -3.07956 129.912"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.0466 -11.9369 126.891"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.74139 -10.1102 126.804"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "2.69103 -10.2122 135.722"; + rotation = "-0.577657 0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "0.528886 -5.16622 133.934"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.45722 -5.26863 129.839"; + rotation = "-0.577197 0.577197 -0.577657 119.974"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-9.84103 -6.22123 124.3"; + rotation = "0.159191 -0.69809 0.69809 198.09"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-7.4558 -9.18058 117.844"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.571466 -9.20177 125.93"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.69039 -10.2588 125.935"; + rotation = "-0.577657 0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "12.4793 -5.12173 121.88"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.568506 -1.20158 125.846"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.54635 -0.92232 129.896"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.42837 -1.18872 117.916"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.49895 -1.3595 113.841"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.50752 -9.32046 113.896"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.51781 -21.1149 113.849"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.06826 -2.26578 112.134"; + rotation = "-0.573808 -0.579113 0.579113 120.305"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "10.2605 -10.1621 112.126"; + rotation = "0.000563438 0.707107 -0.707106 180.064"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-7.75882 -17.185 125.924"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.56383 -16.058 127.139"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-5.68137 -18.2378 124.065"; + rotation = "-0.289516 -0.676824 0.676824 147.707"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "-8.44639 -16.0888 120.318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.38613 -11.0096 125.913"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-4.25536 -9.46461 124.307"; + rotation = "0.577197 -0.577657 0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-1.1526 -11.0399 121.837"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "0.215854 -7.95387 122.964"; + rotation = "0 1 0 207.593"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "0.482756 -7.94267 120.951"; + rotation = "0 -1 0 22.3454"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-4.264 -5.34881 131.522"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-1.41565 -3.09172 129.903"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.34679 -7.06194 121.866"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.56192 -15.0671 117.839"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "3.70438 -16.7232 127.577"; + rotation = "-0.577197 -0.577657 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainDown"; + }; + new Item() { + position = "-1.36587 -15.0519 133.883"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-0.311489 -9.3037 135.605"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-1.22252 -15.0488 129.916"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.84634 -11.1081 129.922"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.6592 -11.0714 125.931"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.582 4.9283 117.911"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.63539 -19.0506 113.9"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.31562 -13.9705 114.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "10.227 -16.7812 114.72"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-3.49301 -11.1012 111.787"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.538 0.936397 111.778"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.3584 -12.0204 131.076"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.462747 -12.2283 116.756"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.53664 -19.0555 116.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.556124 -35.0631 123.983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.5518 -126.064 134.025"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.45644 -3.08715 111.769"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-0.74688 -12.0343 120.651"; + rotation = "1 0 0 0"; + scale = "2.5 1 2.5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Go to the top to get gems then back to here. Don\'t forget that Shock Absorber on the wall."; + }; + new StaticShape() { + position = "-5.88703 -11.8827 119.558"; + rotation = "-0.00056318 0.707107 0.707107 180.065"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "2.73828 -11.9019 112.156"; + rotation = "0.577657 -0.577197 -0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-7.4815 -13.2449 113.919"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-9.42039 -11.9614 119.744"; + rotation = "-0.000563169 0.707107 0.707107 180.065"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-0.829746 -11.9225 119.483"; + rotation = "0.910892 -0.291784 -0.291784 95.3397"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "4.534 -12.9886 113.849"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.47868 -8.8323 133.919"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.541302 -0.77206 121.823"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.55222 7.01922 117.847"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.40696 -0.86987 125.853"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.51593 -4.93259 125.9"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "6.04887 -4.17118 127.182"; + rotation = "-0.436096 0.706761 0.557054 183.581"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "-1.77391 -7.90738 132.259"; + rotation = "0.821601 0.402769 0.403423 101.209"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new StaticShape() { + position = "-1.24434 0.169146 133.899"; + rotation = "0.577657 0.577197 0.577197 119.974"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new Item() { + position = "12.5125 3.34753 121.842"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.53314 -112.1 127.654"; + rotation = "-1 0 0 90"; + scale = "3 3 3"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.46451 -111.737 127.621"; + rotation = "0.579113 0.579113 0.573808 120.305"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.359818 -111.667 105.46"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "easterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "7.05702 2.44799 131.849"; + rotation = "1 0 0 0"; + scale = "3 3 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "If you fall down to the bottom, and there is few items to use, find a comparatively long straight path, then do diagonal movement and wall-hit to bring you up."; + }; + new Trigger() { + position = "3.02603 10.3017 130.195"; + rotation = "1 0 0 0"; + scale = "7 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Go up."; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "1.36227 -11.8711 116.67"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.64393 -12.1386 130.868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.45539 -12.2265 129.059"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.59447 -12.2559 129.141"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.51281 -15.9139 115.127"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.2612 -10.0542 132.863"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.33266 -17.9616 124.729"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.56153 -9.9057 124.847"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.49069 1.99366 116.431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.59305 -0.027886 114.922"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.37045 -1.98 116.881"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.56659 -19.0128 124.709"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.69805 -18.019 121.908"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.409 -19.0111 121.939"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.53603 -21.9428 121.822"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Darwin's Dilemma Revisited.mis b/marble/data/missions/expert/Darwin's Dilemma Revisited.mis new file mode 100644 index 0000000..8a766c2 --- /dev/null +++ b/marble/data/missions/expert/Darwin's Dilemma Revisited.mis @@ -0,0 +1,922 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + name = "Kevin\'s Dillema"; + goldTime = "25000"; + startHelpText = "Beat this dillema!"; + desc = "Now you\'re thinking with Kevin Blast."; + level = "17"; + type = "custom"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new SimGroup(PathNodeGroup) { + + new StaticShape(CameraPath1) { + position = "20 0 7.5"; + rotation = "0.128171 0.128172 -0.983435 90.9571"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath2"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath2) { + position = "18.4776 7.65367 7.5"; + rotation = "0.0860331 0.128758 -0.987937 113.141"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath3"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath3) { + position = "14.1421 14.1421 7.5"; + rotation = "-0.0534557 -0.129053 0.990196 224.602"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath4"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath4) { + position = "7.65362 18.4776 7.5"; + rotation = "-0.0256987 -0.129195 0.991286 202.309"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath5"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath5) { + position = "-7.23998e-005 20 7.5"; + rotation = "-1.6382e-007 -0.129238 0.991614 180"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath6"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath6) { + position = "-7.65375 18.4776 7.5"; + rotation = "0.0256983 -0.129195 0.991286 157.691"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath7"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath7) { + position = "-14.1421 14.1422 7.5"; + rotation = "0.0534553 -0.129053 0.990196 135.398"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath8"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath8) { + position = "-18.4776 7.65374 7.5"; + rotation = "0.0860336 -0.128758 0.987937 113.141"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath9"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath9) { + position = "-20 5.07036e-005 7.5"; + rotation = "0.128172 -0.128172 0.983435 90.9571"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath10"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath10) { + position = "-18.4776 -7.65364 7.5"; + rotation = "0.189899 -0.126886 0.97357 68.9251"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath11"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath11) { + position = "-14.1421 -14.1421 7.5"; + rotation = "0.297847 -0.123372 0.946608 47.266"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath12"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath12) { + position = "-7.65366 -18.4776 7.5"; + rotation = "0.544828 -0.108372 0.831516 26.9063"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath13"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath13) { + position = "1.9312e-005 -20 7.5"; + rotation = "1 2.23319e-006 -1.71348e-005 14.851"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath14"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath14) { + position = "7.65371 -18.4776 7.5"; + rotation = "0.544828 0.108372 -0.831515 26.9063"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath15"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath15) { + position = "14.1422 -14.1421 7.5"; + rotation = "0.297847 0.123372 -0.946608 47.2659"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath16"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath16) { + position = "18.4776 -7.6536 7.5"; + rotation = "0.189899 0.126886 -0.97357 68.9251"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath1"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + }; + new InteriorInstance() { + position = "-44.1226 14.7157 47.3822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/darwin.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "61.453 14.649 53.4632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "91.4384 14.6055 53.5356"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "18.9892 14.5764 51.6559"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "55.6197 -5.57039 46.8583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "31.1147 -5.96691 34.4595"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "22.7992 -5.76925 34.3064"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "17.0961 -5.27191 30.5395"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "25.9415 -1.37275 26.0155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "28.3153 -4.24291 6.38486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "22.5416 -9.49762 6.97385"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "89.0341 -10.0514 14.7448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "48.5175 -48.7516 24.197"; + rotation = "0.0595226 0.222141 0.973196 30.7875"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-48.0599 6.90641 7.52499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-38.434 3.51956 -5.42439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-27.6429 6.57673 -4.7763"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-13.1068 1.25577 -7.25391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "15.6132 6.61333 -8.4781"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-49.2855 14.5748 51.3722"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "23.898 6.74436 -8.62783"; + rotation = "0 0 1 90.0002"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "21.2441 7.29535 2.01489"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "34.8835 13.8319 47.2998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "35000"; + }; + new Item() { + position = "36.1064 -23.9738 34.0953"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "36.1109 -0.0732143 34.1322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "6.21375 20.2065 13.6617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "10000"; + }; + new Item() { + position = "30.4834 20.2099 13.6322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + skin = "mbg"; + timeBonus = "10000"; + }; + new Item() { + position = "20.7797 -9.4142 7.63846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-22.9037 14.8756 -4.86575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new InteriorInstance() { + position = "-19.8491 4.36551 -3.83301"; + rotation = "0 1 0 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-20.2007 9.96356 -4.32842"; + rotation = "0 1 0 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-14.6894 10.592 -4.40795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-11.8355 1.33053 -6.85141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-3.7909 2.62765 -4.01814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "-2.24267 5.43926 -3.26814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new StaticShape() { + position = "3.60175 9.78682 -4.47556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + mbuanim = "0"; + resetTime = "5000"; + skin = "skin1"; + }; + new InteriorInstance() { + position = "0.379873 6.40223 -3.6268"; + rotation = "0 1 0 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0.0971897 1.14198 -3.9668"; + rotation = "0 1 0 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.70965 14.182 -3.37307"; + rotation = "0 1 0 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.98096 8.47487 -3.28791"; + rotation = "0 1 0 90.0002"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "18.8669 -7.11906 31.888"; + rotation = "0 0 -1 60.0001"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "20.3355 -10.672 8.46831"; + rotation = "0 0 -1 90.0002"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new InteriorInstance() { + position = "-34.3844 5.29374 -3.65723"; + rotation = "0.577352 0.577349 -0.577351 120"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-43.8608 8.09131 -3.35731"; + rotation = "0 0 1 210"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new Item() { + position = "36.2213 14.5225 51.6241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "51.6148 -7.52478 40.9522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.5181 -9.56527 34.4931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.5057 10.192 20.3962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.5462 9.24465 7.44881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-48.2896 7.07275 7.9994"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-42.1415 19.7406 -0.455698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-32.1875 -1.01557 -4.69609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-42.6971 9.14393 -4.73239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + center = "1"; + displayonce = "0"; + extended = "0"; + persistTime = "5000"; + text = "Follow the platforms"; + }; + new Item() { + position = "-4.14911 -1.07514 -4.81962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.65585 9.21811 -2.56783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.37726 9.13907 -6.56783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.683 3.70522 -4.11783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Trigger() { + position = "18.3262 15.1112 51.8359"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + center = "1"; + displayonce = "0"; + extended = "0"; + persistTime = "5000"; + text = "There\'s a 35 second of time travel here"; + }; + new Trigger() { + position = "-54.7506 10.9501 7.38217"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + center = "1"; + displayonce = "0"; + extended = "0"; + persistTime = "5000"; + text = "Don\'t go too fast on this slope"; + }; + new Item() { + position = "-10.6182 7.12759 -6.1178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + skin = "mbg"; + timeBonus = "5000"; + }; + new Item() { + position = "-14.1886 6.90583 -10.7446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-44.2794 9.56402 8.72748"; + rotation = "-0.250562 0.935113 -0.250563 93.8413"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Emerald_Tower.mis b/marble/data/missions/expert/Emerald_Tower.mis new file mode 100644 index 0000000..a8bef1d --- /dev/null +++ b/marble/data/missions/expert/Emerald_Tower.mis @@ -0,0 +1,701 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "0"; + goldTime = "180000"; + desc = "Climb Kevin\'s Tower to reach the finish."; + name = "Kevin\'s Tower Revisited"; + level = "8"; + artist = "Kevin"; + startHelpText = "Explore the grounds for Time Stoppers before making your ascent!"; + type = "Expert"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/expert/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume2 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume3 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.614021 -0.433884 -0.659336"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "139.288 -119.176 67.64"; + rotation = "0 0 1 35"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape() { + position = "146.081 -26.591 188.392"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger(Bounds) { + position = "92.2127 -2.13481 28"; + rotation = "1 0 0 0"; + scale = "101 120 243"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape(EndPoint) { + position = "145.807 -26.8028 181.165"; + rotation = "0 0 1 45"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new InteriorInstance() { + position = "159.357 -41.051 59.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Emerald_Tower.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "161.348 -22.7728 173.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "126.205 -34.7852 160.214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "155.594 -43.0487 158.971"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "145.583 -43.6513 164.367"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "132.632 -11.0908 127.388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "113.314 -14.1215 127.257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "125.845 -26.6897 127.289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "116.398 -36.8838 127.312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "156.268 -43.9344 84.4852"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "124.924 -12.4716 127.797"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "143.41 -43.0458 123.379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "162.992 -18.9581 107.023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "156.368 -9.58593 97.5524"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "153.443 -9.45104 97.5357"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "135.365 -9.41463 93.9563"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "141.478 -9.04554 95.0019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "126.404 -28.0133 90.2207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "160.318 -23.3143 81.8419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "160.387 -17.683 85.0933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "130.336 -23.0941 70.2599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "136.487 -9.84698 165.657"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "163.96 -25.7192 146.63"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "137.979 -9.86404 165.657"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "138.636 -79.4367 60.1533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "161.383 -19.5989 143.325"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "154.496 -10.5685 136.197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "98.1391 -68.8661 60.1117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "15000"; + }; + new StaticShape() { + position = "136.962 -11.3217 165.657"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "117.879 -56.5844 59.7423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "166.074 -75.5109 65.4321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "30000"; + }; + new StaticShape() { + position = "140.239 -11.4422 165.692"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "184.685 -59.9955 89.0719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new StaticShape() { + position = "149.38 -42.4973 85.8111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "162.027 -13.5535 140.655"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "162.033 -39.2154 152.83"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "161.213 -16.8986 142.157"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "170.781 -64.3392 72.1269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "2688"; + }; + new StaticShape() { + position = "152.449 -10.5262 135.103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "150.494 -10.5383 133.987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "162.107 -36.6725 151.43"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "2692"; + }; + new StaticShape() { + position = "158.499 -10.6153 138.457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "137.179 -43.6786 86.904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "139.371 -10.9741 127.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new Item() { + position = "131.628 -13.2704 189.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "127.716 -42.3086 53.844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "163.168 -30.8976 149.03"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "134.615 -42.4205 86.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "133.265 -44.0205 86.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "153.167 -43.0973 84.8284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "161.542 -22.5605 144.431"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "163.931 -23.2255 145.43"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "128.754 -34.1596 161.591"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "145.193 -43.7693 85.6428"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "160.511 -10.6332 139.527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "140.135 -10.0801 165.657"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "156.459 -10.5908 137.435"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "175.178 -69.2374 69.6718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "159.318 -40.9078 189.77"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "144.368 -41.7851 85.6242"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "165.358 -76.6596 60.2286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "162.162 -42.3814 154.347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "143.149 -44.579 60.1282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "15000"; + }; + new StaticShape() { + position = "163.618 -28.1373 147.83"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "138.798 -10.9104 165.65"; + rotation = "1 0 0 0"; + scale = "3.5 3.5 3.5"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "138.874 -13.0294 166.86"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "135.396 -13.046 166.777"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "162.092 -42.5269 154.03"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new StaticShape() { + position = "162.194 -33.7613 150.23"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "162.928 -18.6445 95.4259"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "162.97 -18.4509 95.7417"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Endurance2.mis b/marble/data/missions/expert/Endurance2.mis new file mode 100644 index 0000000..30bb72f --- /dev/null +++ b/marble/data/missions/expert/Endurance2.mis @@ -0,0 +1,611 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Expert"; + Autor = "Kevin"; + goldTime = "75000"; + time = "0"; + desc = "Stay on the moving platform!"; + name = "Endurance"; + level = "6"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Endurance2.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "10 77 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-21 77 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "10 77 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-21 117 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "10 117 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-21 117 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "10 87 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-21 87 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "10 87 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-21 107.25 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "10 107.25 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-21 107.25 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-99 -30 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130 -30 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 -30 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-130 -34 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 -34 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130 -34 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-130 -16 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 -16 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130 -16 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-99 -2 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130 -2 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 -2 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "7"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-130 12 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 12 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130 12 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "8"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-99 26 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130 26 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 26 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "9"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-130 43 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-99 43 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-130.25 43 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "10"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-4 -4 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "27000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-4 134 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "23000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-116 134 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "44000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-116 -56 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "50000"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-4 -4 1.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-6.0000000 -6.0000000 1.2500000 0.0000000 12.0000000 0.0000000 12.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -2.5000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/Endurance2.dif"; + interiorIndex = "11"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new StaticShape(EndPoint) { + position = "-115.992 -69.7656 0.496936"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2224"; + }; + new Trigger(Bounds) { + position = "-144 157 -2.85"; + rotation = "1 0 0 0"; + scale = "161 246 82.25"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape(StartPoint) { + position = "-3.99163 -18.0203 0.502327"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/Icy River Rafting.mis b/marble/data/missions/expert/Icy River Rafting.mis new file mode 100644 index 0000000..b93a4e6 --- /dev/null +++ b/marble/data/missions/expert/Icy River Rafting.mis @@ -0,0 +1,360 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Expert"; + time = "0"; + desc = "Ice Age comes again!"; + artist = "Kevin"; + name = "Ice Rink"; + level = "20"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.4"; + cloudHeightPer[1] = "0.5"; + cloudHeightPer[2] = "0.257"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 1.03057e-032 1.15321e-023"; + fogVolume2 = "-1 2.96712e-032 4.74335e-033"; + fogVolume3 = "-1 8.18222e-036 2.4064e-029"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/IRR.dif"; + showTerrainInside = "0"; + locked = "true"; + }; + new StaticShape(EndPoint) { + position = "-9.75 -2 -57.25"; + rotation = "0.0111104 0 0.999938 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "-3.75 -2.05 18.75"; + rotation = "0.0111104 0 0.999938 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Trigger(Bounds) { + position = "-51.75 22 -61.25"; + rotation = "1 0 0 0"; + scale = "90 78 98"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + bonusTime = "0"; + powerUp = "0"; + Pad = "1740"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Trigger() { + position = "-6.9444 1.09664 18.7"; + rotation = "1 0 0 0"; + scale = "6.2 6.2 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Collect gems when rafting, and handle your boat well."; + }; + new Item() { + position = "-23.4313 -0.30376 -51.8449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.8423 -4.025 -57.1628"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.0371 -25.6543 -50.2448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-45.1409 3.23354 -36.4867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-26.6668 -3.06765 -48.4051"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.73769 -47.2621 -32.7647"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.4555 -49.1432 -30.2672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-15.5751 -42.8183 -24.8721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.01332 -36.3509 -28.453"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.27723 -18.0375 -24.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-8.57792 -19.7228 -23.5636"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.10424 -9.31713 -18.2106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.33151 2.55944 -12.3023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.3461 7.11825 -12.1521"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.2345 14.3901 -7.46987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.31 -3.1314 -1.39279"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.31407 -10.9172 3.16888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.4889 -18.6077 6.63315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.2703 -29.0251 6.62716"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.16892 -37.3482 9.09868"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.10706 -23.0279 10.555"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.22971 -12.6033 8.56528"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.9698 -11.0174 11.1794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.0968 -10.1307 12.0374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.6651 4.14838 15.3432"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.3444 6.02175 19.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.20111 -0.293841 20.95"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.0675 -23.0573 -53.4078"; + rotation = "1 0 0 0"; + scale = "5 5 5"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "5.54111 2.03494 -15.0571"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EasterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/TightropeExtreme.mis b/marble/data/missions/expert/TightropeExtreme.mis new file mode 100644 index 0000000..79bf844 --- /dev/null +++ b/marble/data/missions/expert/TightropeExtreme.mis @@ -0,0 +1,223 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Expert"; + artist = "Kevin"; + goldTime = "12000"; + name = "Tightrope X-Treme"; + desc = "Be careful when you walk on this paths!"; + level = "3"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1 0.711231"; + fogVolume2 = "-1 -1 0.129878"; + fogVolume3 = "-1 -3.35192e+38 -3.3785e+38"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -263245941870854329027512821016986386432.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -335191624087289119748656814989737197568.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -335191603804879516096986391042485911552.000000"; + }; + new Sun() { + direction = "0.392451 0.18875 -0.900197"; + color = "3.400000 3.200000 3.400000 3.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1535"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1548"; + }; + new StaticShape(StartPoint) { + position = "-61.7774 -116.392 64.3903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1546"; + }; + new InteriorInstance() { + position = "-61.8185 -116.314 63.9903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/expert/TightropeExtreme.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-65.0592 -105.063 64.4903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-54.1034 -107.888 65.0903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "2000"; + }; + new Item() { + position = "-54.5487 -92.55 65.0903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "1500"; + }; + new Item() { + position = "-39.3747 -94.7725 65.0903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "3000"; + }; + new Item() { + position = "-51.5411 -102.038 64.4903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.5845 -106.06 64.4903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-33.5473 -116.01 64.4903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-33.5133 -87.4801 64.4903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-51.0652 -111.995 64.4903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-43.5845 -102.08 65.0903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "1500"; + }; + new StaticShape(EndPoint) { + position = "-22.8526 -91.3041 64.3903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "-22.7374 -90.9662 68.8126"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger(Bounds) { + position = "-72.7601 -71.3818 59.1903"; + rotation = "1 0 0 0"; + scale = "60 60 60"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "7977"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "-61.5482 -117.179 61.5904"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FourLeafCloverItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/TricksTripsTribulations.mis b/marble/data/missions/expert/TricksTripsTribulations.mis new file mode 100644 index 0000000..3978312 --- /dev/null +++ b/marble/data/missions/expert/TricksTripsTribulations.mis @@ -0,0 +1,1160 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + name = "Tricks, Trips, and Tribulations"; + goldTime = "270000"; + startHelpText = "You\'re going to need to wall hit. Several. SEVERAL times."; + desc = "Have fun."; + level = "18"; + type = "custom"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/custom/TricksTripsTribulations-CK.dif"; + showTerrainInside = "0"; + }; + new SimGroup(PathNodeGroup) { + + new StaticShape(CameraPath1) { + position = "0.056795 -9.39792 32.7024"; + rotation = "0.999999 0.000525625 -0.00138897 41.4562"; + scale = "1 1 1"; + dataBlock = "PathNode"; + nextNode = "CameraPath1"; + placed = "1"; + reverseRotation = "0"; + timeToNext = "3000"; + usePosition = "1"; + useRotation = "1"; + useScale = "0"; + }; + }; + new Trigger(Bounds) { + position = "-26.5 147.75 -8.25"; + rotation = "1 0 0 0"; + scale = "200 200 200"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape(StartPoint) { + position = "0 4 1.00225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "144 84 97.0023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "90 63 41.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "67 65 42"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "62 80 34.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "134 32 77.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "146 38 77.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "158 32 77.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "58 33 53.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54 33 53.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "128 52 85.75"; + rotation = "-1 0 0 89.9996"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "163 52 88.25"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "119 -7.00045 66"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "97 -7.00045 66"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "108 -7.00045 66"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "94 -22 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "96 -24 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "97 -21 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "99 -23 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "101 -22.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "103 -24.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "105 -21.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "107 -23.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "121 -23.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "119 -21.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "117 -24.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "115 -22.5 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "113 -23 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "110 -24 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "111 -21 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "108 -22 65.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "116 -8 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new StaticShape() { + position = "162 2 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "160 4 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "156 4 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "158 6 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "154 6 66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "152 8 66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "150 6 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "148 4 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "144 4 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "146 2 65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "136 8 66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "138 6 66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "140 4 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "142 6 65.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "134 6 66.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "132 4 66.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "128 8 68.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "126 6 68.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "128 4 67.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "130 2 67.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "142 14 72.4995"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "142 16 72.4995"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "144 16 72.4995"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "144 14 72.4995"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new Item() { + position = "127 15 69.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "161.25 17.75 69.2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new Item() { + position = "164 15 73.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new StaticShape() { + position = "152 28.9995 74"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "140 28.9995 74"; + rotation = "-1 0 0 90.0002"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "139 20 74"; + rotation = "-0.57735 0.57735 0.577352 120"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "141 22 74"; + rotation = "0.577352 0.577348 0.577351 240"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "125 21.0005 74"; + rotation = "-8.96324e-007 0.707106 0.707108 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "134 38 77.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "134 32 77.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "146 34 77.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "146 38 77.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "133 48 82"; + rotation = "0.577352 0.577348 0.577351 240"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "165 48 82"; + rotation = "-0.57735 0.57735 0.577352 120"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "159 44 82"; + rotation = "-0.57735 0.57735 0.577352 120"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "159 40 82"; + rotation = "-0.57735 0.57735 0.577352 120"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "133 44 82"; + rotation = "0.577352 0.577348 0.577351 240"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "133 51.0005 85"; + rotation = "-8.96324e-007 0.707106 0.707108 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "143 51.0005 85"; + rotation = "-8.96324e-007 0.707106 0.707108 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "153 51.0005 85"; + rotation = "-8.96324e-007 0.707106 0.707108 180"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "128 78 93.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "132 78 93.505"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "140 78 95.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "136 78 94.505"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "130 72 93.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "140 72 93.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "136 72 93.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "154 72 93.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "158 72 93.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "156 72 93.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "160 78 93.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "152 78 95.005"; + rotation = "0 0 -1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "156 78 94.005"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "146 78 95.505"; + rotation = "0 0 1 45"; + scale = "0.5 0.5 0.5"; + dataBlock = "oilslick"; + }; + new StaticShape() { + position = "144.25 84 105.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape() { + position = "-2 8 2.256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "2 8 2.256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Trigger() { + position = "-22.125 5 7"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.25 15 11"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.25 35 19"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.125 25 15"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.25 75 35"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.125 65 31"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.125 45 23"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.25 55 27"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-22.125 85 39"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.25 5 3.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.125 15 7.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.25 25 11.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.125 35 15.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.25 45 19.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.125 55 23.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.25 65 27.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.125 75 31.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "21.25 85 35.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.875 85 41.5"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.25 85 41.5"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.75 75 43"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.875 65 47"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.875 45 55"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.75 55 51"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.875 25 63"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.75 35 59"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.75 15 67"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "49.875 5 71"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.125 15 67"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.25 5 71"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.25 25 63"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.125 35 59"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.25 45 55"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.125 55 51"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.25 65 47"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.125 75 43"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "93.25 85 41.5"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.75 15 75"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.875 25 79"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.75 35 83"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.875 45 87"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.75 55 91"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.875 65 95"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.75 75 99"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.875 85 103"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.125 11 73.5"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.25 23 78.25"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.125 35 83"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.25 45 87"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.125 55 91"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.25 65 95"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.125 75 99"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.25 85 103"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "165.25 5 73.5"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "121.875 5 73.5"; + rotation = "1 0 0 0"; + scale = "1 2 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "156 46 85.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "143 15 73.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "5000"; + }; + new Item() { + position = "108 -8 62.75"; + rotation = "1 0 0 0"; + scale = "1 1 1.25"; + dataBlock = "easterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + }; + new Trigger(oh_no_please_a) { + position = "93 -5 73.5"; + rotation = "1 0 0 0"; + scale = "30 6 6"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + displayonce = "0"; + extended = "0"; + persistTime = "5000"; + text = "I would like to thank the university for doing **** **** all to STOP A GLOBAL PANDEMIC."; + }; + new Trigger(oh_no_please_b) { + position = "93 -21 73.5"; + rotation = "1 0 0 0"; + scale = "30 6 6"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + displayonce = "0"; + extended = "0"; + persistTime = "5000"; + text = "You thought something was up here? A Help Trigger... that\'s it."; + }; + new StaticShape() { + position = "86 36 53.0021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Trigger(stuck) { + position = "79 37 53"; + rotation = "1 0 0 0"; + scale = "8 8 4"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + displayonce = "0"; + extended = "0"; + persistTime = "5000"; + text = "Stuck? Jump onto that bumper to continue."; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/UltimateTrapdoors.mis b/marble/data/missions/expert/UltimateTrapdoors.mis new file mode 100644 index 0000000..1193c1b --- /dev/null +++ b/marble/data/missions/expert/UltimateTrapdoors.mis @@ -0,0 +1,1932 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "There are quite few road blocks to have a rest..."; + goldtime = "240000"; + level = "13"; + type = "Expert"; + artist = "Kevin"; + name = "Ultimate Trapdoors"; + time = "0"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 0 0"; + fogVolume2 = "-1 0 0"; + fogVolume3 = "-1 0 0"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.6746 0.417457 -0.608805"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new StaticShape(EndPoint) { + position = "-45 -8.75 39.5"; + rotation = "-1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "1 -10.5 2"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new Trigger(Bounds) { + position = "-125 50 -10"; + rotation = "1 0 0 0"; + scale = "200 100 100"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "22 26 23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-25 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "6.5 22 19.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "24 26 23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 28 26.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "26 26 23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "28 26 23.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "30 26 24.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "32 26 25.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 26 26"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "42 26 35.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 30 27.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "32 30 28.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "30 30 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "30 28 29.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "30 26 30.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "32 26 31.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 26 32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "36 26 32.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "38 26 32.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "40 26 32.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "42 26 32.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "44 26 32.55"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "46 26 32.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "48 26 34"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + pad = "4732"; + bonusTime = "0"; + gemCount = "0"; + time = "0"; + PowerUp = "0"; + }; + new StaticShape() { + position = "36 26 36.55"; + rotation = "0 -1 0 12"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "40 26 35.75"; + rotation = "0 -1 0 12"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "38 26 36.15"; + rotation = "0 -1 0 12"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "26 26 40"; + rotation = "0 1 0 4.99997"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 26 36.95"; + rotation = "0 -1 0 12"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "32 26 37.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "32 24 37.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 24 38.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "34 26 39.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "32 26 40.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "30 26 40.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "28 26 40.15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 18 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "24 26 39.7"; + rotation = "0 1 0 9.99997"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 26 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "20 -14 38.5"; + rotation = "0 1 0 20"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "18.1 -14 37.65"; + rotation = "0 1 0 25"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "16.3 -14 36.6"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 24 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 -8 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 20 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 -4 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "8.2 -14 29.8"; + rotation = "0 1 0 35"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 8 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 12 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 4 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 14 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 0 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "14.5 -14 35.35"; + rotation = "0 1 0 35"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "12.8 -14 34"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "11.3 -14 32.55"; + rotation = "0 1 0 45"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "9.8 -14 31.1"; + rotation = "0 1 0 40"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-5.8 -14 25.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "6.4 -14 28.6"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "4.55 -14 27.6"; + rotation = "0 1 0 25"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "2.6 -14 26.75"; + rotation = "0 1 0 20"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "0.55 -14 26.05"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-1.55 -14 25.55"; + rotation = "0 1 0 9.99997"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-3.65 -14 25.2"; + rotation = "0 1 0 4.99997"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-9.8 -14 25.3"; + rotation = "0 -1 0 9.99997"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7.8 -14 25.1"; + rotation = "0 -1 0 4.99997"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 -12 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "22 -14 39.2"; + rotation = "0 1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-11.7 -14 25.7"; + rotation = "0 -1 0 15"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-13.55 -14 26.2"; + rotation = "0 -1 0 20"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-15.4 -14 26.95"; + rotation = "0 -1 0 25"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-17.2 -14 27.8"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "14.5 26 23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "3 -10.5 6.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "1 -10.5 7.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-1 -10.5 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-3 -10.5 8.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-5 -10.5 9.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "2.5 22 17.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "4.5 22 18.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-23 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "6.5 24 20"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "8.5 26 20.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "10.5 24 21.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "10.5 28 21.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "12.5 26 22.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "18.25 26 23"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "5 -10.5 5.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "7 -10.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "1 -8.5 2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "9 -10.5 4.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "9 -8.5 3.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "9 -6.5 2.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "5 -6.5 2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "3 -6.5 2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "1 -6.5 2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 1.5 14.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 -10.5 10.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 -8.5 11"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 -6.5 11.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 -4.5 12.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 -2.5 13.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-7 -0.5 14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-5 3.5 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-5 5.5 17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new InteriorInstance() { + position = "-6 -13.5 10.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-5 7.5 17.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-3 11.5 17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-1 13.5 17.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-3 17.5 17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-1 19.5 17.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + pad = "2086"; + bonusTime = "0"; + gemCount = "0"; + time = "0"; + PowerUp = "0"; + }; + new StaticShape() { + position = "-27 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new InteriorInstance() { + position = "33 31 28.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "7.5 19 19.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "37 25 39.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-36 -15 28.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-29 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-31 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-33 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-35 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -3.75 34.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-41 -14 29"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-42.5 -14 23.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-42.5 -14 27.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-42.5 -14 25.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-41 -12.75 23.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new InteriorInstance() { + position = "-38 -6.75 34"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-39 -12.75 23.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-39 -12.25 23.5"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-39 -7.75 24.5"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new InteriorInstance() { + position = "-38 -8.75 25"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-43 -14 27.75"; + rotation = "0 -1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41 -12.25 23.5"; + rotation = "-1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-39 -11.75 24.5"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-38 -5.75 29.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -6.75 25.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-39 -6.25 25.5"; + rotation = "-1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-39 -6.75 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -6.75 29.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-38 -3.75 29.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -8.75 33.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-38 -1.75 29.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-38 -1.75 31.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-38 -1.75 33.5"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-39 -3.5 35"; + rotation = "1 0 0 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-39.25 -6.25 29.75"; + rotation = "0 -1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-38.5 -2 33.5"; + rotation = "-1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-42.5 -13 29"; + rotation = "1 0 0 0"; + scale = "0.5 2 1.5"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Now you are getting into a trapdoor-maze..."; + }; + new Item() { + position = "-39.1 -6.5 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-39 -5.75 30.5"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -7.75 34.5"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -2.75 33.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-45 -8.75 37.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-45 -8.75 35.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new InteriorInstance() { + position = "2 -11.5 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-44 -8.25 38.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-36 -8.25 32.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-45 -8.75 33.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-41 -8.75 33.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -2.75 23.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -2.75 31.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -2.75 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -2.75 25.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-7.125 -10.5 9.75"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3 17.5 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.5 24 22"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-39 -11.75 34.5"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-39 -11.75 35"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-39 0.25 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-41 -2.75 23.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-43 -2.75 23.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-43 -2 25.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-43 -1.25 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-41 -0.5 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "0 -5.5 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.25 -14 27"; + rotation = "0 -1 0 30"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42 26 35"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-34 0.75 27.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 1 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-34 -5.25 27.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-34 -1.25 27.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-35 1.75 27.5"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-34 -7.25 35.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new InteriorInstance() { + position = "-34.5 -8.25 32.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/yellow2_1x1.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-34 -7.25 27.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-34 -7.25 29.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-33.25 -7.25 37.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-32.5 -7.25 39.5"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new Item() { + position = "-33.5 1 27.5"; + rotation = "0 1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-43 -8.75 33.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -8 37.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -8.75 35.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -4.25 39.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -7.25 39.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -6.5 39.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-39 -5.75 41.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -5 41.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -2 41.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-35 -3.5 39.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-35 -2.75 37.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -2 37.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -2 39.5"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-33 -1 42.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new StaticShape() { + position = "-37 -1 42.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new StaticShape() { + position = "-33 -3 42.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + resetTime = "Default"; + timeout = "200"; + open = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/WaterWorld.mis b/marble/data/missions/expert/WaterWorld.mis new file mode 100644 index 0000000..ea6beff --- /dev/null +++ b/marble/data/missions/expert/WaterWorld.mis @@ -0,0 +1,1446 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + name = "Water World"; + goldTime = "120000"; + startHelpText = "It\'s a hot day, isn\'t it? Why don\'t you explore the park and cool off?"; + desc = "Welcome to the water park! Play in the wave pool, explore the sand castle, and slide down the water slide. Enjoy your stay!"; + level = "16"; + type = "custom"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-31 1.3684e-38"; + fogVolume2 = "-1 1.07208e-14 8.756e-14"; + fogVolume3 = "-1 5.1012e-10 2.05098e-08"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "-115.582 22.4988 58.8807"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/WaterWorld.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-103.879 72.1505 56.4"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/WW_castle.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-113.574 19.6185 59.13"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-104.772 111.135 76.52"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "-105.404 110.977 81.7423"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger(IBT) { + position = "-160.186 155.94 27.1807"; + rotation = "1 0 0 0"; + scale = "100 150 120"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/WWmps.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MP1_g) { + + new Path() { + + new Marker() { + position = "-78.5001 89.6 52.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-81.7001 89.6 52.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-104.45 87.65 54.35"; + rotation = "1 0 0 0"; + scale = "1.5 0.5 0.25"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-0.2500000 -0.7500000 1.5000000 0.5000000 0.0000000 0.0000000 0.0000000 0.0000000 -3.0000000 0.0000000 1.5000000 0.0000000"; + targetTime = "9999999"; + }; + new PathedInterior(MP1) { + position = "-103.88 72.15 56.4"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WWmps.dif"; + interiorIndex = "0"; + basePosition = "-103.88 72.15 56.4"; + baseRotation = "0 0 1 90"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MP2_g) { + + new Path() { + + new Marker() { + position = "-78.5001 89.6 52.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-75.1001 89.6 52.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-104.45 87.65 54.35"; + rotation = "1 0 0 0"; + scale = "1.5 0.5 0.25"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-0.2500000 -0.7500000 1.5000000 0.5000000 0.0000000 0.0000000 0.0000000 0.0000000 -3.0000000 0.0000000 1.5000000 0.0000000"; + targetTime = "999999999"; + }; + new PathedInterior(MP2) { + position = "-103.88 72.15 56.4"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WWmps.dif"; + interiorIndex = "1"; + basePosition = "-103.88 72.15 56.4"; + baseRotation = "0 0 1 90"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MP3_g) { + + new Path() { + + new Marker() { + position = "-87.9351 107.03 78.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-79.535 107.03 78.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "6000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-79.535 85.63 68.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "6000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-104.075 85.63 54.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-104.175 95.63 51.32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "1"; + smoothingType = "Accelerate"; + }; + }; + new Trigger(MustChange) { + position = "-88.6278 106.839 79.275"; + rotation = "1 0 0 0"; + scale = "1 1 0.5"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-0.7500000 0.7500000 0.7500000 0.0000000 -1.5000000 0.0000000 0.0000000 0.0000000 -1.5000000 1.5000000 0.0000000 0.0000000"; + targetTime = "99999999"; + }; + new PathedInterior(MP3) { + position = "-53.87 91.6 56.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WWmps.dif"; + interiorIndex = "2"; + basePosition = "-53.87 91.6 56.4"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MP4_g) { + + new Path() { + + new Marker() { + position = "-78.5001 89.6 52.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-78.5001 89.6 76.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-78.5001 89.6 76.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-78.5001 89.6 52.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MP4) { + position = "-33.6424 110.888 62.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WWmps.dif"; + interiorIndex = "3"; + basePosition = "-33.6424 110.888 62.9"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new Trigger(OOB2) { + position = "-138.673 96.0884 50.0184"; + rotation = "1 0 0 0"; + scale = "67 16 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(OOB1) { + position = "-138.723 146.64 50.0184"; + rotation = "1 0 0 0"; + scale = "67 20 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(OOB3) { + position = "-88.1669 126.685 50.0184"; + rotation = "1 0 0 0"; + scale = "16.5 30.8 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(OOB4) { + position = "-138.786 126.685 50.0184"; + rotation = "1 0 0 0"; + scale = "16.5 30.8 1"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-104.894 111.221 50.68"; + rotation = "1 0 0 0"; + scale = "1 1 1.2"; + dataBlock = "EasterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-120.803 25.852 75.3479"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SignUpSide"; + }; + new StaticShape() { + position = "-105.895 81.135 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-103.863 81.135 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-105.895 83.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-103.863 85.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-105.895 87.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-103.863 89.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-103.863 91.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-105.895 93.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-105.895 95.1 57.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "-116.083 18 59.13"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-116.083 23 59.13"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-111.09 18 59.13"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-111.09 23 59.13"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-100.556 41.8647 72.9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-143.234 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-143.234 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-123.52 33.8983 60.9152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "12000"; + }; + new StaticShape() { + position = "-101.377 46.7624 67.6"; + rotation = "0 0 1 75"; + scale = "0.75 0.75 0.75"; + dataBlock = "SignUp"; + }; + new Item() { + position = "-87.1672 35.4706 75.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-101.825 27.0611 77.8807"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-107.615 65.7674 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-102.015 65.7674 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-113.994 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.194 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-127.594 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-120.794 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-96.2849 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-76.0849 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-82.8849 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-89.6849 78.647 57.6281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-101.989 65.7574 59.6438"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "8000"; + }; + new Item() { + position = "-120.756 78.6389 59.6781"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-97.8721 27.8498 78.23"; + rotation = "0 0 1 90"; + scale = "0.75 0.75 0.75"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-122.983 35.3745 76.4854"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new Item() { + position = "-95.3814 104.301 60.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-109.522 45.9137 57.0441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-108.204 125.159 71.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-101.8 118.541 69.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-101.79 118.565 72.5846"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-101.833 113.923 66.85"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-97.5587 125.07 67.1421"; + rotation = "1 0 0 180"; + scale = "0.75 0.75 0.75"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-98.6613 40.1919 57.8747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-133.605 28.8803 62.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new InteriorInstance() { + position = "-119.584 22.508 58.88"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/WaterWorld2.dif"; + showTerrainInside = "0"; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-140.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-140.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-140.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-140.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-131.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-131.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-138.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-138.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-138.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-138.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-129.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-129.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-136.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "750"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-136.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-136.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "750"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-136.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-127.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-127.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-134.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1250"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-134.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-134.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1250"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-134.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-125.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-125.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-132.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-132.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-132.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-132.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-123.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-123.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-130.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1150"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-130.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-130.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1150"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-130.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-121.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-121.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup() { + + new Path() { + + new Marker() { + position = "-128.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "875"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-128.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-128.6 29.4 75.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "875"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-128.6 29.4 73.4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1"; + smoothingType = "Linear"; + }; + }; + new PathedInterior() { + position = "-119.59 22.51 56.28"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = $usermods @ "/data/interiors/WaterWorld2.dif"; + interiorIndex = "0"; + basePosition = "-119.59 22.51 56.28"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new StaticShape() { + position = "-90.6187 123.775 57.65"; + rotation = "0 0 1 225"; + scale = "1 1 1"; + dataBlock = "SignSide"; + }; + new Item() { + position = "-111.902 112.714 62.69"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-113.843 106.643 70.0184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-109.857 125.178 63.4391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-96.004 116.359 66.7197"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "20000"; + }; + new Item() { + position = "-88.1272 126.64 81.0184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-86.8204 125.325 64.754"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "10000"; + }; + new Item() { + position = "-88.685 127.361 72.602"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-110.136 26.3589 77.8807"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-104.005 125.256 73.2726"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-112.592 125.105 67.36"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-134.373 27.3945 75.982"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-131.573 31.0362 74.78"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-138.373 28.9945 74.382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-135.784 31.5885 77.38"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "9000"; + }; + new InteriorInstance() { + position = "-145.837 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.437 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.437 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-145.837 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-128.555 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-137.264 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-140.264 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.261 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-131.358 24.2711 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-137.264 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-128.555 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-131.358 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-134.261 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-140.264 34.7337 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.437 31.3112 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-148.437 27.7554 75.38"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + interiorFile = "~/data/interiors_mbp/mmg_flower.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-132.557 114.473 62.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-100.725 134.719 64.58"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + + }; + new Item() { + position = "-127.968 133.788 67.6184"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Pool) { + position = "-127.609 35.7903 75.3807"; + rotation = "1 0 0 0"; + scale = "7 4 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Welcome to the wave pool! Don\'t drown trying to collect the diamonds!"; + }; + new Trigger(slide) { + position = "-100.881 27.999 77.3807"; + rotation = "1 0 0 0"; + scale = "1 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This water slide will take you to the sand castle. Have fun, but don\'t go too fast or you\'ll fall out!"; + }; + new Trigger(ee) { + position = "-87.7658 107.867 78.75"; + rotation = "1 0 0 0"; + scale = "1.5 1.5 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "What the...? What\'s happening?"; + }; + new Trigger(castle) { + position = "-110.436 73.16 57.6"; + rotation = "1 0 0 0"; + scale = "11 2 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "You made it to the castle! Don\'t fall into the moat, though."; + }; + new StaticShape() { + position = "-120.051 121.802 75.53"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + dataBlock = "SignDownSide"; + }; + new Trigger() { + position = "-120.507 123.356 74.5319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TeleportTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + destination = "dest"; + }; + new Trigger(dest) { + position = "-101.91 124.614 62.4704"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DestinationTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(ceiling) { + position = "-120.476 126.329 74.6856"; + rotation = "1 0 0 0"; + scale = "30 30 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "You fell onto the ceiling! Don\'t worry, just follow the arrow and you\'ll be teleported back to where you were."; + }; + new Trigger(finishpath) { + position = "-124.372 114.906 65.1184"; + rotation = "1 0 0 0"; + scale = "1 2 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This path will take you to the top of the castle."; + }; + new StaticShape() { + position = "-133.707 132.212 62.4522"; + rotation = "0 0 -1 110"; + scale = "0.75 0.75 0.75"; + dataBlock = "SignSide"; + }; + new Trigger(cya) { + position = "-107.624 126.637 75.9856"; + rotation = "1 0 0 0"; + scale = "5 1 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "You made it! Enjoy the view up here, and I hope you enjoyed your stay at the water park!"; + }; + new Trigger(dungeon) { + position = "-89.6299 128.15 50.4999"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "You fell in the dungeon. All you can do is restart from your last save point, sucker. =P"; + }; + new Trigger(Pool) { + position = "-142.57 34.0801 73.655"; + rotation = "1 0 0 0"; + scale = "15 9.5 0.25"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(tower) { + position = "-93.2666 124.66 57.55"; + rotation = "1 0 0 0"; + scale = "5 5 2"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Wait for the moving platform to come down, and then enter the tower!"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Pianoforte.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/marble/data/missions/expert/_ b/marble/data/missions/expert/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/missions/expert/advanced.mis b/marble/data/missions/expert/advanced.mis new file mode 100644 index 0000000..dfd7eb8 --- /dev/null +++ b/marble/data/missions/expert/advanced.mis @@ -0,0 +1,684 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + desc = "Can you pass the course?"; + type = "Expert"; + level = "2"; + goldTime = "270000"; + startHelpText = "Conquer this course!"; + resetTime = "Default"; + name = "Advanced Mega Course"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.355977 0.50377 -0.787081"; + color = "3.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive4.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-214 10.5 163"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "670 5 -239"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new ScriptObject() { + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1651"; + bonusTime = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive3.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "615.9 4.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "-318.002 19.5176 179.056"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/slipslide.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "559.9 8.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "558.9 5.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "558.9 3.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "483.4 10 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "481.4 4 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "485.4 2 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "491.4 6 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "487.4 6 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "495.4 2 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "497.4 6 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "582.9 4.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "581.4 8.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "579.4 5.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "584.9 7 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "587.4 3 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "591.9 4.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "586.4 10 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "515.9 7.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "518.4 3.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "523.9 5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "521.9 2 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "520.4 6 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "516.9 0.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "524.4 8 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "521.9 10.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "520.9 9.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new ScriptObject() { + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1589"; + bonusTime = "0"; + }; + new StaticShape() { + position = "553.9 6.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "664.25 -1.25 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "668.5 -1.25 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "672.75 -1.25 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "672.75 11.25 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "668.5 11.25 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "563.4 3.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "549.4 4 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "547.4 9 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "665.9 8.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "661.9 6.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "663.9 2.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "572.9 8 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "582.4 1 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "581.4 0 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "578.9 2.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "629.9 2.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "627.9 6.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "664 11.25 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "619.9 0.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "621.9 6.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "617.9 8.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "555.9 1.5 -214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "-382.361 -16.3096 171.103"; + rotation = "0 0 1 181.055"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/half-pipe2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-453.366 7.98163 181.147"; + rotation = "1 0 0 179.336"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pathways.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-408.827 6.05423 181.303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-462.946 36.3461 222.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-463.383 51.9833 200.992"; + rotation = "0 0 -1 90.5273"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/shimmy.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-474.508 96.7141 181.948"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-463.213 41.3632 201.056"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-492.514 97.1129 188.748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-481.255 106.691 178.67"; + rotation = "0 0 1 179.909"; + scale = "1.65605 1 1"; + interiorFile = "~/data/interiors/addon/daedalus1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-562.937 50.0178 197.2"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/mudslide.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-578.365 38.0467 205.331"; + rotation = "0 1 0 92.8192"; + scale = "1.9075 1.56389 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-579.25 43.7296 207.08"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-634.311 44.1177 217.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/towermaze.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-629.687 43.9695 205.073"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-659.753 42.0633 233.423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-659.741 42.0224 232.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-684.292 72.105 201.427"; + rotation = "0 0 1 179.909"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-684.414 72.4242 201.494"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-709.678 39.0864 244.418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-681.889 9.04717 246.145"; + rotation = "0 0 1 89.9544"; + scale = "6.12625 1 1"; + interiorFile = "~/data/interiors/testMap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-702.298 -175.098 255.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/obstacle_course1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-705.143 -246.08 254.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/intermediate/highway.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-681.571 -301.175 309.207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/thrillride.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-631.384 -331.994 294.883"; + rotation = "1 0 0 142.094"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-630.616 -314.303 305.988"; + rotation = "1 0 0 180.091"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2448"; + bonusTime = "0"; + }; + new StaticShape(StartPoint) { + position = "-685.867 -345.682 276.674"; + rotation = "1 0 0 -1.#IND"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "-671.783 40.4162 245.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/marble/data/missions/expert/aidstightrope.mis b/marble/data/missions/expert/aidstightrope.mis new file mode 100644 index 0000000..1091aa4 --- /dev/null +++ b/marble/data/missions/expert/aidstightrope.mis @@ -0,0 +1,763 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Expert"; + startHelpText = "Dont shoot your foot."; + goldTime = "30000"; + name = "AIDS Tightrope"; + level = "13"; + desc = "Guaranteed to cause cancer and reproductive harm!"; + artist = "Kevin"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/expert/sky_day.dml"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "0.0682294 0.50582 499.353"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0.271594 23.9732 499.43"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new ScriptObject() { + pad = "2137"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "0.0452118 4.41008 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "2.9358 31.2087 499.464"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/expert/aids.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "0.939875 19.0923 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.931091 5.40454 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.935012 7.80843 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.845212 3.21008 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.01939 12.2784 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.04904 10.0734 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.921522 14.6505 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.97483 16.8584 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.139875 20.2923 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.17483 18.0584 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.121522 15.8505 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.21939 13.4784 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.24904 11.2734 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.135012 9.00843 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.131091 6.60454 500.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 3.11475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 3.11475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0250001 0.05 -0.203674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0250001 0.05 -0.203674"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 4.51475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 5.91475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 10.1148 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 7.31475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 8.71475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 18.5152 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 15.7151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 17.1151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 11.5151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 12.9151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 14.3151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 21.3152 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 19.9151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 21.3152 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 19.9151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 18.5152 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 17.1151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 15.7151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 14.3151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 12.9151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 11.5151 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 10.1148 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 8.71475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 7.31475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 5.91475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 4.51475 500.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "2.29088 19.9151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 21.3152 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 14.3151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 12.9151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 11.5151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 17.1151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 15.7151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29088 18.5152 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 8.71475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 7.31475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 10.1148 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 5.91475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 4.51475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31445 3.11475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 3.11475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 4.51475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 5.91475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 7.31475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 8.71475 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.28555 10.1148 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 11.5151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 12.9151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 14.3151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 15.7151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 17.1151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 18.5152 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 19.9151 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.30912 21.3152 523.906"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new SimGroup(gravity) { + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/averylonglevelwithgems.mis b/marble/data/missions/expert/averylonglevelwithgems.mis new file mode 100644 index 0000000..0f234bf --- /dev/null +++ b/marble/data/missions/expert/averylonglevelwithgems.mis @@ -0,0 +1,7183 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Gem Madness!"; + desc = "Collect 210 gems."; + startHelpText = "Good luck finding the gems!"; + artist = "Kevin"; + level = "9"; + type = "Expert"; + goldtime = "95000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.99514e+38 -2.02183e+38"; + fogVolume2 = "-1 -2.14204e+38 -2.15538e+38"; + fogVolume3 = "-1 -2.24889e+38 -2.26219e+38"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -210195007640218172394920879239016218624.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -220880937116769280519470456209812750336.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -231561674296461853816391502684280061952.000000"; + }; + new Sun() { + direction = "0.433884 0.614021 -0.659336"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bumpers.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-12 -12 0.339511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + fixedscale = "1"; + }; + new Item() { + position = "-540.388 324.996 -91.2522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPlatinum"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-542.468 355.269 -91.2748"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "25.1306 30.7815 0.78125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bumpers.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "53.501 60.0168 1.5625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bumpers.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "80.7344 87.429 2.34375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.879 125.612 6.84531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "140.085 160.802 -30.0251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training3.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "132.662 176.336 3.27365"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "163.77 138.051 -75.0743"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "93.7811 154.636 -89.8892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/windingroad.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "81.6315 184.063 -88.5655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "84.8711 157.921 -78.1609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "80.4837 184.129 -88.5655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "117.294 193.371 -78.0253"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "110.207 194.299 -77.812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "113.581 194.249 -77.5814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "114.587 194.058 -77.5814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/8trim.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "104.503 196.532 -73.4172"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "105.844 169.571 -64.6833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "84.7901 120.311 -58.2361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Normal2x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "96.1994 120.054 -54.2361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Normal2x2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "41.7249 116.407 -165.86"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/tritwist.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "54.5713 129.365 -63.0741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.5424 103.604 -63.7365"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "28.6509 103.526 -63.7145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.5499 129.218 -63.7124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.4579 100.371 -82.7447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "62.0146 121.307 -64.8021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.5743 111.636 -83.4454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-38.4035 86.2626 -101.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "5.87972 92.4771 -129.169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_trapdoor.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "18.0686 90.9162 -97.3692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-48.806 88.4118 -95.6317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_tornado.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-11.7554 86.2315 -97.3692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-30.1183 90.5367 -95.079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new StaticShape() { + position = "-55.8803 93.7371 -104.911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "-52.0604 100.183 -104.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "-51.6056 88.5776 -104.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "-43.9552 84.2297 -104.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "-52.7971 83.4098 -104.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new StaticShape() { + position = "-41.5571 90.7626 -104.817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Tornado"; + }; + new Item() { + position = "-49.6377 95.6826 -101.823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-57.2971 84.813 -100.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-48.4552 87.1782 -101.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-48.4552 87.9912 -101.122"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.0571 89.4926 -101.27"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.0571 90.8555 -101.081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.0571 92.3135 -101.017"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.0571 93.1738 -101.024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-46.3571 93.2635 -101.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.0571 92.7892 -101.211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-46.0571 91.7843 -101.384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-48.4552 87.8423 -101.512"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-57.2971 81.7902 -100.515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-54.871 78.9098 -101.275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-52.4394 78.9098 -101.72"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-52.7394 78.8009 -101.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-55.171 78.7693 -101.174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-57.2971 80.9081 -100.462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-54.0972 84.0776 -100.612"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-48.4552 88.0474 -101.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.3524 91.7004 -101.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-46.0571 94.1125 -100.955"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-56.1056 90.4873 -100.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-56.1056 90.7643 -100.981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-56.1056 92.4305 -100.942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-56.5604 95.873 -100.485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "29.1278 110.205 -101.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-46.0571 94.4051 -101.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-56.1056 90.9153 -100.477"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-212.411 84.7701 -89.1942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-61.1482 90.4108 -100.145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-93.9674 85.1677 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-93.6924 85.2502 -88.3023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-93.4174 85.3222 -88.0854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-94.5959 85.2502 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-95.5327 85.1935 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-96.7433 85.1063 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-98.1282 85.0247 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-99.7012 85.2211 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-101.445 85.6298 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-103.289 85.8359 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-105.41 85.715 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-107.202 85.5852 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-109.369 85.5521 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-111.774 85.6103 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-114.082 85.6155 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-116.355 85.5826 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-118.913 85.5097 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-121.341 85.4205 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-123.905 85.5489 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-126.321 85.6642 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-129.175 85.6174 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-131.862 85.4157 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-134.395 85.2797 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-137.22 85.2911 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-139.963 85.2552 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-142.535 85.1868 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-145.377 85.079 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-148.224 84.9429 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-151.097 85.0193 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-154.263 85.3057 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-157.242 85.4586 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-160.104 85.2957 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-162.339 85.1299 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-165.11 84.9157 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-167.346 84.7371 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-169.851 84.532 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-172.626 84.2994 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-175.042 84.0928 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-177.924 84.0198 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-180.82 84.1106 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-184.009 84.1789 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-189.068 84.2874 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-189.745 84.3019 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-190.784 84.3242 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-191.529 84.3401 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-192.245 84.3555 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-192.819 84.3678 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-193.695 84.3865 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-194.216 84.3977 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-195.006 84.4146 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-196.553 84.4478 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-197.176 84.4612 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-196.901 84.5247 -88.0599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-198.013 84.4791 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-197.738 84.5447 -88.0523"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-198.766 84.4952 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-198.491 84.5431 -88.1186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-199.366 84.5081 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-199.091 84.5663 -88.0798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-199.93 84.5202 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-199.655 84.5805 -88.0718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-200.469 84.5317 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-200.194 84.5773 -88.1271"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-200.194 84.6013 -88.0376"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.027 84.5437 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-200.752 84.5931 -88.1125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.547 84.5548 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.272 84.5943 -88.1497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.272 84.6094 -88.0934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.272 84.6213 -88.049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.272 84.6363 -87.9931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-202.313 84.6466 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-201.428 84.7386 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-200.369 84.8445 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-198.936 84.985 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-197.217 85.1514 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-195.422 85.3238 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-193.412 85.5158 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-191.2 85.7157 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-188.767 85.5815 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-186.067 85.3337 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-183.301 85.3346 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-180.726 85.5341 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-178.017 85.7526 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-175.067 85.6821 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-172.114 85.1237 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-168.777 84.5033 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-164.715 83.9577 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-160.866 83.2411 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-156.884 83.2357 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-153.84 83.9312 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-150.636 84.9417 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-146.856 85.6161 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-143.354 86.4904 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-140.09 87.1061 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-136.94 87.0569 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-134.289 86.6098 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-131.421 85.7954 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-128.728 84.9368 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-126.603 84.3806 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-124.033 83.9048 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-121.498 83.8061 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-118.909 84.0999 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-115.833 84.9871 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-113.139 86.1061 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-110.59 86.8437 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-107.097 87.1602 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-104.089 86.8608 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-100.388 85.9307 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-96.7181 84.5387 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-93.3482 83.2927 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-90.2212 82.7118 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-86.7024 82.7713 -88.3192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-84.411 83.2954 -88.7604"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-61.6482 90.4214 -100.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-61.3982 90.4194 -100.084"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-61.1482 90.4246 -100.072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-230.209 80.7768 -90.6199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-233.265 84.6139 -92.3817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_speed.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-244.922 94.7376 -93.1066"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_shock.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-238.428 86.2376 -91.5339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-237.447 91.5861 -89.9034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-253.071 95.4617 -117.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-243.16 90.1714 -132.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-278.71 110.949 -169.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_platform.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-243.838 110.028 -137.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-253.564 109.459 -137.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-253.068 110.523 -137.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-252.818 110.524 -137.761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-252.568 110.525 -137.659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-252.318 110.526 -137.529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-252.068 110.527 -137.223"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.818 110.529 -136.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.568 110.53 -136.766"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.318 110.531 -136.637"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.318 110.531 -136.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.068 110.532 -136.705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-250.818 110.533 -136.624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.068 110.532 -136.536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.907 110.528 -136.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-252.186 110.527 -136.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-251.568 110.53 -136.513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-254.194 110.139 -137.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-253.979 109.737 -137.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-253.729 109.967 -137.725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-250.568 110.413 -136.551"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-250.318 110.534 -136.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-250.068 110.436 -136.66"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-253.028 110.794 -137.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-252.778 110.956 -137.76"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-250.068 110.61 -136.514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-250.568 110.473 -136.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-253.479 109.963 -137.777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-327.92 124.317 -135.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_mines.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-305.913 111.076 -137.644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new StaticShape() { + position = "-335.2 133.866 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-319.89 133.225 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-319.922 133.351 -135.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-320.132 133.427 -135.706"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-320.585 133.474 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.43 133.714 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.555 134.294 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.654 135.028 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.077 136.108 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.877 137.113 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.884 138.135 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-329.851 138.347 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-330.569 137.919 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-330.997 137.288 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-331.214 136.236 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-331.075 135.193 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-330.507 134.158 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-329.515 133.212 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.321 132.409 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.933 132.409 -135.64"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.003 132.409 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.779 132.409 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.479 132.409 -135.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.771 132.409 -135.93"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.095 132.409 -136.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.34 132.409 -136.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.734 132.409 -136.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.978 132.409 -136.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.374 132.409 -136.192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.311 132.729 -135.968"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.516 132.725 -136.113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.407 132.697 -136.446"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.238 132.826 -136.445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.171 132.87 -136.404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.756 132.76 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.476 133.655 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.271 134.686 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.014 136.35 -135.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.683 137.786 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.157 138.322 -135.545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.241 137.816 -135.641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.322 137.205 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.42 136.089 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.236 134.808 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.549 133.669 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.776 133.123 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.024 133.149 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.324 133.892 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.948 134.972 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.778 136.613 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.569 138.516 -135.649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.417 137.381 -135.07"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.99 132.381 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.169 134.626 -135.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.011 133.207 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.925 132.358 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.039 132.842 -136.363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.436 132.409 -136.323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.584 132.409 -136.061"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.133 132.436 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.459 133.269 -135.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.498 134.376 -135.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.747 135.571 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.224 136.242 -135.845"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.444 136.183 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.747 135.839 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.868 135.273 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.943 134.67 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.24 134.386 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.647 134.452 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-327.164 134.666 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-327.546 134.827 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.031 135.031 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.33 135.158 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.868 135.498 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-329.928 135.877 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-331.019 135.945 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-331.64 135.533 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-331.562 135.062 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-330.807 134.644 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-329.59 134.399 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.267 134.621 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.93 135.379 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.684 135.964 -135.832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.583 135.813 -135.714"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.246 135.065 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.916 134.712 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.229 134.588 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.118 134.177 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.029 133.345 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-320.92 132.91 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.452 132.813 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.547 132.893 -135.829"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.675 132.758 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.622 132.74 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.263 132.917 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.405 133.533 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.698 134.897 -135.881"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.201 135.709 -135.747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-326.003 136.448 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.264 136.513 -135.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-324.287 136.136 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.119 135.308 -135.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-322.196 133.874 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.181 132.626 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-319.884 132.142 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-318.244 131.747 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-317.063 130.966 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-316.78 130.454 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-317.026 130.493 -135.662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-317.612 131.02 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-318.529 131.799 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-319.898 132.475 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-321.709 133.117 -135.799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-323.758 134.073 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-325.824 135.012 -135.789"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-328.547 135.773 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-330.415 135.919 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-332.207 135.811 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-333.461 135.624 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-334.086 135.504 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-334.632 135.314 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-334.999 134.709 -135.668"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "-310.628 110.794 -137.862"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-325.035 132.216 -135.806"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-368.042 112.698 -139.871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jump.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-399.682 120.169 -134.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_jewel.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-359.945 111.087 -137.422"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-428.533 109.247 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.113 126.814 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.805 126.232 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-414.359 124.808 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-415.279 123.931 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.45 122.793 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-417.526 121.735 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-419 120.465 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-421.099 119.246 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-423.337 118.32 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-425.679 117.627 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-429.966 117.352 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-431.983 117.544 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-433.173 118.008 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-433.742 118.623 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-433.617 119.26 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPlatinum"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-432.894 119.706 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPlatinum"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-431.847 120.038 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPlatinum"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-430.004 120.394 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPlatinum"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-425.99 120.554 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-423.869 120.147 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-420.309 118.685 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-418.093 116.69 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.718 114.713 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.16 113.172 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.177 111.917 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.627 110.907 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-417.604 109.933 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-419.697 108.854 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-423.239 107.845 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-425.631 107.422 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-428.445 107.38 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-430.584 107.686 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-431.922 108.191 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-432.805 108.945 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-433.173 109.833 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-433.145 111.048 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-432.711 112.489 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-431.996 113.991 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-430.972 115.708 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-429.572 117.743 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-428.065 119.691 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-426.086 121.388 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-424.15 122.238 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-422.346 122.463 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-420.196 122.216 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-417.983 121.533 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-415.528 120.336 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-413.717 118.742 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.223 116.568 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-411.302 114.347 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-411.096 112.629 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.336 107.572 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-420.711 106.858 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-422.307 107.102 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-423.752 107.604 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-424.722 108.279 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-425.313 109.271 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-425.409 110.446 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-425.115 111.794 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-424.55 113.468 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-423.925 115.255 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-423.251 117.278 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-422.559 120.275 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-421.321 123.276 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-419.59 125.475 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-417.324 127.216 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-415.494 127.96 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.87 127.494 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-411.629 126.158 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-410.76 124.41 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-410.128 122.498 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-409.435 119.528 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-408.901 115.289 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-409.09 112.282 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-409.676 109.786 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-411.091 107.058 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.933 105.042 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-414.342 104.028 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-413.549 105.855 -132.519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-416.934 103.759 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-419.033 106.415 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-419.556 108.208 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-419.622 110.349 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-418.344 114.955 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-417.194 117.282 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-415.405 119.764 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-413.991 120.991 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.477 121.603 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-411.353 121.362 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-410.325 120.313 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-409.49 118.445 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-409.241 116.64 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-409.639 115.027 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-410.735 113.614 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-412.469 112.476 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-414.518 111.641 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-417.352 110.848 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-420.867 110.155 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-424.557 109.62 -133.915"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-522.923 111.989 -130.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_gravity.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-471.634 113.484 -132.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-514.544 112.631 -126.977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-549.694 108.295 -132.811"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-467.75 113.153 -133.083"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-625.238 111.843 -129.055"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_friction.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-735.402 111.475 -129.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_fans.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-600.701 112.553 -131.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-626.688 111.776 -135.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-631.807 111.937 -132.554"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-641.979 111.334 -127.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-660.509 113.459 -127.722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-702.764 115.549 -128.009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-719.248 108.252 -128.238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-795.117 111.299 -114.287"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_elevator.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-793.602 97.2148 -128.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.807 98.2044 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.81 98.2099 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.811 98.2124 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.804 97.9964 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.787 97.5209 -128.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.541 96.9428 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.25 96.95 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-792.748 97.1497 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-792.633 97.3727 -128.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-792.893 97.4363 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.198 97.4351 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.414 97.1195 -128.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.095 97.0046 -128.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.923 97.346 -128.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.454 97.7942 -128.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.276 97.9019 -128.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.365 97.7148 -128.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-793.516 97.4648 -128.593"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-835.938 112.803 -97.3872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_copter.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-793.969 114.04 -96.9872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.364 113.48 -97.1163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.345 113.48 -97.0538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.944 113.489 -97.1163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.35 113.496 -97.1163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.235 113.494 -97.0832"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.914 113.49 -97.0538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.8 113.488 -97.1108"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.685 113.487 -97.0916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.849 113.491 -97.0804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.906 113.506 -97.2054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-799.713 113.518 -97.2054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-799.463 113.515 -96.7816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-799.213 113.511 -96.6129"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.963 113.507 -96.6291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.713 113.504 -96.7902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.713 113.504 -97.0902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-798.439 113.5 -97.2054"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.798 113.49 -97.1182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.548 113.486 -97.0986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.298 113.483 -96.9861"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.298 113.483 -96.9876"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-797.048 113.479 -96.8762"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-796.798 113.475 -96.7624"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-796.548 113.472 -96.6485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-796.298 113.468 -96.5346"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-796.048 113.464 -96.4206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-795.798 113.461 -96.3067"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-795.548 113.457 -96.1927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-795.298 113.453 -96.0787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-795.048 113.45 -95.9647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.798 113.446 -95.8508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7369"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7372"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7373"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.548 113.442 -95.7375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-794.547 113.441 -95.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-809.849 112.886 -16.5872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-806.08 107.037 -16.5872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-814.37 108.31 -16.5872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-817.556 119.168 -16.5872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-806.049 118.268 -16.5872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-817.764 113.148 -16.7163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-892.536 113.192 -64.1094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_bounce.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-854.648 108.019 -30.6501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-854.84 120.803 -31.2136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-867.009 120.803 -31.0795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-867.533 108.231 -30.6501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-879.793 112.609 -32.3119"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-924.001 112.23 -47.078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-930.535 126.545 -50.7051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_airmove.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-922.035 118.313 -49.0069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-922.612 118.045 -48.9888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-922.362 118.019 -48.882"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-922.112 117.924 -48.8651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-921.862 117.821 -48.8248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-921.612 117.716 -48.7752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.593 120.467 -46.9051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPlatinum"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-887.44 112.236 -63.1732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-867.938 113.217 -70.1048"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-868.188 113.135 -69.9288"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-868.438 112.915 -69.5785"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-868.688 112.879 -69.4602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-868.938 112.862 -69.3649"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-869.189 112.844 -69.269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-869.439 112.828 -69.177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-869.689 112.81 -69.0805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-869.939 112.785 -68.9767"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-870.189 112.774 -68.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-870.439 112.764 -68.8032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-870.689 112.755 -68.7192"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-870.939 112.746 -68.6354"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-871.189 112.738 -68.5516"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-871.439 112.729 -68.4677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-871.689 112.721 -68.3846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-871.939 112.713 -68.301"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-872.189 112.704 -68.2176"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-872.439 112.696 -68.1341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-872.689 112.688 -68.0509"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-872.939 112.68 -67.9672"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-873.189 112.671 -67.8837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-873.439 112.663 -67.8007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-873.689 112.655 -67.7177"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-873.939 112.647 -67.6343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-874.189 112.635 -67.5465"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-874.439 112.628 -67.4641"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-874.689 112.62 -67.3815"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-874.939 112.613 -67.299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-875.189 112.605 -67.2165"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-875.439 112.598 -67.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-875.689 112.59 -67.0514"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-875.939 112.583 -66.9689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-876.189 112.575 -66.8864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-876.439 112.568 -66.8039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-876.689 112.56 -66.7214"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-876.939 112.552 -66.6389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-877.189 112.545 -66.5564"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-877.439 112.537 -66.4738"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-877.689 112.53 -66.3913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-877.939 112.522 -66.3088"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-878.189 112.515 -66.2263"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-878.439 112.507 -66.1438"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-878.689 112.5 -66.0613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-878.939 112.492 -65.9787"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-879.189 112.485 -65.8962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-879.439 112.477 -65.8137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-879.689 112.47 -65.7312"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-879.939 112.462 -65.6487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-880.189 112.454 -65.5661"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-880.439 112.447 -65.4836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-880.689 112.439 -65.4011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-880.939 112.432 -65.3186"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-881.189 112.424 -65.2361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-881.439 112.417 -65.1536"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-881.689 112.409 -65.0711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-881.939 112.402 -64.9886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-882.189 112.394 -64.906"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-882.439 112.387 -64.8235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-882.69 112.379 -64.741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-882.94 112.371 -64.6585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-883.19 112.364 -64.576"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-883.44 112.356 -64.4934"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-883.69 112.349 -64.4109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-883.94 112.341 -64.3284"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-884.19 112.334 -64.2459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-884.44 112.326 -64.1634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-884.69 112.319 -64.0809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-884.94 112.311 -63.9983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-885.19 112.304 -63.9158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-885.44 112.296 -63.8333"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-885.69 112.289 -63.7508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-885.94 112.281 -63.6683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-886.19 112.273 -63.5858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-886.44 112.266 -63.5033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-886.69 112.258 -63.4207"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-886.94 112.251 -63.3382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-887.19 112.243 -63.2557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-933.727 130.576 -48.1398"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-932.536 118.973 -98.5219"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-953.658 173.941 -104.533"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-951.455 187.282 -120.115"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/platformparty.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-927.288 144.157 -109.877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-953.945 142.792 -106.887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-955.791 168.891 -104.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-953.868 173.766 -104.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-959.137 219.982 -118.701"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-985.888 192.289 -111.206"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-987.924 194.108 -109.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-985.975 192.09 -111.117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.497 202.693 -112.097"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-930.523 190.414 -110.826"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-826.212 217.427 -212.026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/skatepark.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-916.202 121.192 -135.412"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.227 121.442 -135.444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.264 121.692 -135.566"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.302 121.942 -135.635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.339 122.192 -135.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.377 122.442 -135.493"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.414 122.692 -135.334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.452 122.942 -135.257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.49 123.192 -135.182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.528 123.442 -135.107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.565 123.692 -135.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.603 123.942 -134.958"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.641 124.192 -134.884"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.678 124.442 -134.791"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.716 124.692 -134.719"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.754 124.942 -134.646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.792 125.192 -134.573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.829 125.442 -134.501"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.867 125.692 -134.428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.905 125.942 -134.355"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.943 126.192 -134.283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-916.98 126.442 -134.21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.018 126.692 -134.137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.056 126.942 -134.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.094 127.192 -133.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.131 127.442 -133.919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.169 127.692 -133.847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.207 127.942 -133.774"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.245 128.192 -133.702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.282 128.442 -133.629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.32 128.692 -133.556"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.358 128.942 -133.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.396 129.193 -133.411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.434 129.443 -133.339"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.471 129.693 -133.266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.509 129.943 -133.194"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.547 130.193 -133.121"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.585 130.443 -133.049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.622 130.693 -132.976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.66 130.943 -132.903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.698 131.193 -132.831"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.736 131.443 -132.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.773 131.693 -132.686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.811 131.943 -132.613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.849 132.193 -132.541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.887 132.443 -132.468"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.924 132.692 -132.396"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-917.962 132.942 -132.323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918 133.192 -132.251"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.038 133.442 -132.178"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.075 133.692 -132.106"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.113 133.942 -132.034"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.151 134.192 -131.961"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.189 134.443 -131.889"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.226 134.692 -131.816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.264 134.942 -131.744"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.302 135.192 -131.671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.34 135.442 -131.599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.378 135.692 -131.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.415 135.942 -131.454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.453 136.192 -131.381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.491 136.442 -131.309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.529 136.692 -131.236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.566 136.942 -131.164"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.604 137.192 -131.091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.642 137.442 -131.019"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.68 137.692 -130.946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.717 137.942 -130.874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.755 138.193 -130.801"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.793 138.442 -130.729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.831 138.693 -130.656"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.868 138.943 -130.584"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.906 139.193 -130.511"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.944 139.443 -130.439"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-918.982 139.693 -130.366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-919.019 139.943 -130.294"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-919.057 140.193 -130.221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-919.095 140.443 -130.149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-919.133 140.693 -130.076"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-919.17 140.943 -130.004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-919.208 141.193 -129.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.553 196.443 -113.91"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.59 196.692 -113.837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.628 196.943 -113.765"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.666 197.193 -113.692"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.704 197.442 -113.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.742 197.693 -113.547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.779 197.943 -113.475"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.817 198.193 -113.402"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.855 198.443 -113.33"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.893 198.693 -113.257"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.93 198.943 -113.185"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-927.968 199.193 -113.112"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.006 199.443 -113.04"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.044 199.693 -112.967"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.081 199.943 -112.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.119 200.193 -112.822"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.157 200.443 -112.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.195 200.693 -112.677"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.232 200.943 -112.605"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.27 201.193 -112.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.308 201.443 -112.46"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.346 201.693 -112.387"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.383 201.943 -112.315"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.421 202.193 -112.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-928.459 202.443 -112.17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-854.473 211.51 -111.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-905.543 197.799 -111.008"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-854.664 213.41 -111.124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-825.996 206.455 -108.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-805.794 254.408 -108.226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-810.317 208.147 -112.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-810.617 208.091 -113.006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-811.689 208.758 -112.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-809.897 208.222 -112.803"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-806.741 217.549 -112.001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-808.916 228.37 -113.769"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-814.855 230.516 -111.83"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-808.277 224.793 -114.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-808.486 227.471 -114.183"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-806.559 230.816 -112.931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-809.68 218.557 -112.925"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-819.025 242.422 -108.638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-819.472 251.76 -108.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-829.42 257.649 -108.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-838.87 252.083 -108.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-832.279 247.362 -108.71"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-840.371 239.098 -108.569"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-749.567 337.797 -114.558"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/pitfall.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-761.547 294.735 -109.623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-734.541 292.608 -105.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-734.633 327.316 -101.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-730.196 386.781 -97.2897"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-642.315 170.409 -186.383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/jumpjumpjump.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-732.315 283.841 -85.7384"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-669.541 206.246 -84.0981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-619.976 204.694 -82.1015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-636.01 170.594 -82.4553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemOrange"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-643.229 173.065 -84.7747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new InteriorInstance() { + position = "-540.417 345.179 -89.1116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/hoops.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-581.838 289.27 -86.4407"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-582.059 286.886 -86.3116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + pickUpCheckpoint = "0"; + }; + new Item() { + position = "-582.843 318.949 -90.5721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-585.774 309.915 -90.5721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-588.732 318.849 -90.5721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-584.597 320.299 -91.0232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-584.714 319.877 -91.1124"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-584.612 360.328 -90.8105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-578.546 360.384 -90.5336"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-596.336 359.7 -93.0681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-572.724 361.959 -94.6113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-544.096 356.387 -92.3931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-542.505 355.519 -91.2986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-542.259 354.939 -91.2458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-542.39 354.769 -91.2458"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-542.435 355.019 -91.2651"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "-544.08 317.182 -90.8828"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/music/Metropolis.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/blockland.mis b/marble/data/missions/expert/blockland.mis new file mode 100644 index 0000000..414990f --- /dev/null +++ b/marble/data/missions/expert/blockland.mis @@ -0,0 +1,238 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Jump on the cubes!"; + type = "Expert"; + artist = "Kevin"; + time = "0"; + name = "Minecraft"; + level = "7"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/expert/sky_day.dml"; + cloudHeightPer[0] = "0.5"; + cloudHeightPer[1] = "0.37"; + cloudHeightPer[2] = "0.42"; + cloudSpeed1 = "0.0021"; + cloudSpeed2 = "0.0015"; + cloudSpeed3 = "0.0007"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 7.45949e-31 1.3684e-38"; + fogVolume2 = "-1 1.07208e-14 8.756e-14"; + fogVolume3 = "-1 5.1012e-10 2.05098e-08"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new StaticShape(StartPoint) { + position = "0 6 1"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "75 77.5 9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-50 100 -30"; + rotation = "1 0 0 0"; + scale = "200 200 100"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/Andy/blockland.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "75 64.375 -8.25"; + rotation = "1 0 0 0"; + scale = "0.25 0.25 0.25"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10 -28 6.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "62.5 -34 18.6"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "65.5 -7 -0.3"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "71.5 16.5 0.1"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75 62 -7.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "75 61 -6.9"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.5 -44.5 25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10 -51 11.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28 -61 18.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.5 -44.5 17.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "62 -19 17"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "65.5 -7 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "65.5 2 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "71.5 27 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "71.5 38.5 -8.15"; + rotation = "1 0 0 180"; + scale = "0.25 0.25 0.25"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "23.979 -63.8213 15.0169"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/city.mis b/marble/data/missions/expert/city.mis new file mode 100644 index 0000000..8d495c8 --- /dev/null +++ b/marble/data/missions/expert/city.mis @@ -0,0 +1,1015 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "City"; + time = "0"; + desc = "We\'ll go and smash this city tonight!"; + level = "19"; + type = "Expert"; + artist = "Kevin"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.4723"; + cloudHeightPer[1] = "0.3867"; + cloudHeightPer[2] = "0.4309"; + cloudSpeed1 = "0.0002"; + cloudSpeed2 = "0.0004"; + cloudSpeed3 = "0.0006"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 1.73572e-038 2.8026e-045"; + fogVolume2 = "-1 5.51282e-040 1.77243e-038"; + fogVolume3 = "-1 -9.3705e-018 -5.96603e+010"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1677044129038598100.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new Item() { + position = "-40.5273 -46.4056 78.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "easterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "-0.155199 -3.78352 2.54"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "61.6428 -16.3974 38.54"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-112.504 101.7 -3.5"; + rotation = "1 0 0 0"; + scale = "250 200 200"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + locked = "1"; + }; + new InteriorInstance(CITY_0) { + position = "6.57208 -1.98222 2.03298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part0.dif"; + showTerrainInside = "0"; + locked = "0"; + }; + new InteriorInstance(CITY_1) { + position = "5.4221 -1.2049 2.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part1.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new InteriorInstance(CITY_2) { + position = "5.4221 -1.19991 2.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part2.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new InteriorInstance(CITY_3) { + position = "5.4221 -1.20491 2.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part3.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new InteriorInstance(CITY_4) { + position = "5.4221 -1.204 2.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part4.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new InteriorInstance(CITY_5) { + position = "5.42258 -1.20767 2.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part5.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new Trigger() { + position = "-100.904 88.1 -2.76701"; + rotation = "1 0 0 0"; + scale = "225 175 150"; + dataBlock = "CustomJumpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + jumpheight = "9.375"; + }; + new Item() { + position = "-13.8592 11.8923 9.98315"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.0326 34.0492 11.1183"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-38.113 27.1836 9.08966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.0669 39.1895 18.808"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "71.471 12.0977 18.808"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.7284 -36.7394 9.69488"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.5279 27.9343 9.90392"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.7313 -35.0604 9.84258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.4493 -37.0673 9.86232"; + rotation = "0 0 -1 44.6907"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.6927 -21.7385 9.8413"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.3172 32.0442 13.1461"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-33.8281 -3.18484 9.81511"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-37.0945 -2.99287 10.7014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.5613 -2.85039 10.6485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-52.6494 -12.1351 9.84893"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "82.7521 6.35089 28.7453"; + rotation = "0 0 1 89.9544"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-32.4211 -3.17312 14.7328"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-35.0941 -3.14122 2.82944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.7157 -3.20324 36.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.8164 11.4183 40.858"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.8165 -31.1685 30.858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "81.3737 23.6673 2.75148"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.69047 10.8367 44.8113"; + rotation = "0 1 0 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.13717 10.7234 36.658"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.33626 10.8298 29.2543"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-62.8149 -49.1605 14.7117"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-76.8388 -39.1653 19.9154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-76.8777 -15.2875 19.6132"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-78.423 -14.2053 16.6565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-74.5302 -14.1296 13.6909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-78.9461 -17.0053 10.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-77.0193 -14.5862 4.94123"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.762 5.71005 17.0162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.5847 20.5912 9.65344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.0721 27.3643 10.5735"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.928 27.3195 6.73486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.6272 27.3055 14.2247"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-43.7195 -25.5522 9.60157"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-51.1748 25.9537 9.78153"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-62.8832 -57.1476 19.7174"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-41.8856 -3.16818 25.7467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-33.8685 -3.15238 36.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance(City_6) { + position = "5.4221 -1.204 2.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/jimmyax/city/City_part6.dif"; + showTerrainInside = "0"; + locked = "1"; + }; + new Item() { + position = "2.12262 22.8376 32.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.78285 45.2652 26.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.289 48.1599 26.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.1513 66.9948 26.1777"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.6705 41.0745 22.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.6751 21.5565 18.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.5763 -11.8407 24.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.59298 -11.8584 32.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.31466 -53.17 9.59931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.7721 -35.7462 9.69907"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "71.2362 -5.04862 15.1213"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.6684 64.915 18.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "81.159 31.1643 20.0466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "67.8891 10.8985 32.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "70.6033 10.8121 32.848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "73.5882 10.7834 32.923"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "70.6504 6.19343 28.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.8698 -41.6941 14.147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.7898 -41.4792 14.0942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.7757 -35.6778 14.2282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.7297 -31.1849 40.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.44838 -31.0217 39.533"; + rotation = "1 0 0 0"; + scale = "2 2 2"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.9441 10.9012 35.2944"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.1761 23.8828 34.8076"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.92899 -3.01059 36.8476"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.8721 -10.4134 23.3895"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.72581 63.003 24.9392"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.66 40.2369 21.4485"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.6292 23.8331 25.4062"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.607 13.4222 17.4041"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "57.1802 -26.0352 34.633"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Easter Egg is not here."; + }; + new Trigger() { + position = "49.2205 -11.9377 30.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Use jump + blast to advance to upper floor."; + }; + new Item() { + position = "39.4872 -26.5979 41.2147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.9286 -12.8769 48.4039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.6825 -3.03828 54.2147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.5195 -4.63649 53.4039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.8739 23.8641 37.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.0019 -3.08118 37.733"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-13.5511 23.3187 38.658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "81.35 -42.5 2.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "81.35 -42.5 23.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "81.35 -42.5 23.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "81.35 -42.5 2.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "81.35 -42.5 2.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "6.6 -2 2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/jimmyax/city/City_part0.dif"; + interiorIndex = "0"; + basePosition = "6.6 -2 2"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new Item() { + position = "-16.7881 -47.7634 38.258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-15.851 -43.2039 19.608"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-11.3779 -47.7432 24.208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-81.3714 -58.4709 14.9244"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-81.3473 -57.5713 14.9089"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-81.3197 -56.5578 14.8855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new StaticShape() { + position = "-41.838 -31.2216 30.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CheckpointPad"; + }; + new StaticShape() { + position = "82.9895 40.359 22.53"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "CheckpointPad"; + }; + new StaticShape() { + position = "-71.5961 15.2593 2.53"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "CheckpointPad"; + }; + new Item() { + position = "57.6878 -26.5193 35.2147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/expert/thelongestchallenge.mis b/marble/data/missions/expert/thelongestchallenge.mis new file mode 100644 index 0000000..fc099d9 --- /dev/null +++ b/marble/data/missions/expert/thelongestchallenge.mis @@ -0,0 +1,869 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Can you beat this ultra course?"; + artist = "Kevin"; + name = "Kevin's Mega Course"; + startHelpText = "Dont try shortcuts."; + level = "46"; + type = "Expert"; + goldTime = "650000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/expert/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.441278 0.47601 -0.760716"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "-2.10388 -55.8845 14.9687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/backagain.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1883"; + bonusTime = "0"; + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-9.5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 35.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 35.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + }; + new InteriorInstance() { + position = "-2.98983 39.4711 15.6447"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/training_time.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1.9092 -207.746 17.2397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1.89771 -139.926 17.358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-1.83748 -139.786 17.3739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "255.472 -29.8938 -128.746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "1.8413 -268.052 16.0521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/leastresist.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "206.522 47.074 -46.4757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "245.525 3.39855 -140.296"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/daedalus3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.222 17.3368 -92.1034"; + rotation = "1 0 0 0"; + scale = "1 2 1"; + interiorFile = "~/data/interiors/addon/arch_blue.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.233 68.3148 -74"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "240.565 8.75384 -102.327"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/daedalus1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "254.172 66.7705 -96.6278"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "260.251 63.2911 -58.6629"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall4.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "256.754 76.7556 -48.134"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "112.866 86.1411 -136.225"; + rotation = "1 0 0 20"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.453 86.2203 -142.846"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "252.187 86.1262 -136.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipeturn.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "328.384 86.1335 -136.242"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "51.5516 93.4799 -164.433"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/dive2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "106.113 86.3405 -170.757"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/freefall0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "170.761 49.4221 -295.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain3.dif"; + showTerrainInside = "0"; + }; + new Trigger(Bounds) { + position = "-136.454 198.481 -525.706"; + rotation = "1 0 0 0"; + scale = "500 500 600"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "164.426 144.316 -299.415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/eyeofthestorm.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "136.013 148.809 -300.758"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/towermaze.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "18.0671 -239.268 22.6565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.34279 -232.644 28.6522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.234535 -118.939 15.9687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.29246 -118.696 15.9565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.96115 -111.809 16.1687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.55215 39.693 16.6966"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "263.029 42.3953 -78.9954"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/blackplate.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "262.567 2.06765 -94.5011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new Item() { + position = "262.191 15.1108 -78.9519"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.236 3.49719 -93.9005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.823 20.4252 -76.8741"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.848 10.0212 -86.532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "2116"; + bonusTime = "0"; + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "259.108 68.358 -93.9921"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "269.972 14.7304 -95.8241"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "269.972 23.0715 -95.1752"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "266.182 17.1012 -93.5362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "250.663 68.0724 -95.0525"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperBounceItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Out) { + position = "-7.73594 -219.449 24.9522"; + rotation = "1 0 0 0"; + scale = "8 12 5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "254.231 62.5473 -95.6644"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(nowhere) { + position = "183.321 115.989 -121.192"; + rotation = "1 0 0 0"; + scale = "60 70 50"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(nowhere) { + position = "55.0261 250.514 -60.3801"; + rotation = "1 0 0 0"; + scale = "200 200 50"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(small) { + position = "239.621 82.9798 -103.027"; + rotation = "1 0 0 0"; + scale = "9 5 5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(small) { + position = "252.658 72.179 -87.0128"; + rotation = "1 0 0 0"; + scale = "9 5 5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(small) { + position = "250.087 66.2365 -84.2068"; + rotation = "1 0 0 0"; + scale = "9 5 5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(small) { + position = "243.141 60.6432 -86.092"; + rotation = "1 0 0 0"; + scale = "9 60 5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "194.827 104.747 -263.474"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape(StartPoint) { + position = "-9.03006 -234.07 30.1521"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "136.085 148.877 -312.817"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "198.614 108.026 -264.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + resetTime = "Default"; + timeout = "200"; + }; + new Item() { + position = "180.973 149.128 -288.101"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "201.856 113.682 -263.819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SmallDuctFan"; + }; + new StaticShape() { + position = "200.024 111.365 -263.933"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "oilslick"; + }; + new Item() { + position = "181.677 138.6 -288.851"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "206.213 120.213 -262.681"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "204.878 118.779 -261.917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Out) { + position = "116.072 109.912 -181.069"; + rotation = "1 0 0 0"; + scale = "30 40 30"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger(Out) { + position = "152.861 137.609 -269.683"; + rotation = "1 0 0 0"; + scale = "30 30 30"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "261.625 20.7274 -76.1869"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.028 10.676 -83.4772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "262.474 8.31499 -87.1308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "259.384 22.1567 -92.0724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "247.561 6.51141 -92.3585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemRed"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "249.804 79.5171 -93.8713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "264.048 79.6063 -93.811"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemPurple"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "253.327 60.5629 -95.3015"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "128.86 86.4526 -137.908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "166.242 149.965 -298.434"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemGreen"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "165.669 155.028 -293.588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "177.985 152.222 -293.002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "169.078 144.401 -298.099"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "173.321 144.69 -295.104"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "178.809 144.292 -291.262"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "178.864 143.191 -290.193"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "124.837 35.3498 16.5243"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-27.2814 -10.5556 15.1171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/whorl2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.32511 8.68804 21.7962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-9.04724 9.17951 22.0962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-9.22302 6.94448 22.2962"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.862775 18.5777 22.8429"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "250.319 62.9549 -96.4043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "187.043 99.4798 -265.139"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/marshmallow.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "145.562 86.637 -137.459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "130.461 88.1275 -136.838"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "115.519 86.5221 -137.732"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "181.205 91.185 -260.928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/marshmallow.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + pad = "1948"; + bonusTime = "0"; + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "178.597 94.8282 -251.628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemYellow"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "184.531 102.883 -255.839"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemTurquoise"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/marble/data/missions/expert/timmysfork.mis b/marble/data/missions/expert/timmysfork.mis new file mode 100644 index 0000000..d0ce1bd --- /dev/null +++ b/marble/data/missions/expert/timmysfork.mis @@ -0,0 +1,7326 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "480000"; + artist = "Kevin"; + time = "0"; + name = "The Final Challenge"; + level = "1000000000"; + startHelpText = "You have made it. If you beat it Kevin will congratulate you!"; + desc = "An insane level! Can you collect over 500 gems?"; + type = "Expert"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/expert/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume2 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume3 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.442343 0.475025 -0.760713"; + color = "1.000000 1.000000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/forkinroad.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "-3 70 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "0 -13 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Trigger(Bounds) { + position = "-73.5 219.5 -13.5"; + rotation = "1 0 0 0"; + scale = "157 237.5 39.5"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-2.17349 70.3162 11.187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "58.0617 52.037 5.49508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "77.2541 62.1797 -2.96452"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.74417 212.701 -9.95359"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.45915 213.366 -9.76388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-64.9793 49.7837 -1.95647"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.2103 37.1368 7.87992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.6385 -5.60429 2.02746"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.9434 35.1484 -3.70308"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.2736 36.9058 6.53238"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30.6113 41.3913 4.49585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-38.2707 45.2539 2.51482"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.635761 64.0876 5.01272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.136976 -10.1593 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.137146 -10.1568 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.137334 -10.1542 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.137707 -10.136 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.139331 -10.0341 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.142212 -9.84771 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.146197 -9.58697 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.151864 -9.21396 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.157551 -8.83823 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.163743 -8.42832 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.159547 -7.83845 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.111414 -7.24382 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.070474 -6.63764 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0339227 -5.98912 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.00262154 -5.32847 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0279751 -4.55834 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0540433 -3.7702 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0758813 -2.97976 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.117912 -2.14982 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.221598 -0.250001 0.21799"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.35275 -0.419875 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.465568 0.509206 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.56334 1.41308 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.650346 2.31142 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.731867 3.25075 0.168445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.84219 4.26056 0.590081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.981832 5.27068 1.01586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.1409 6.21926 1.30152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.33922 7.24515 1.48678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.568 8.27149 1.5443"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.8219 9.27264 1.47702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.10565 10.287 1.28478"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.40216 11.2917 1.13282"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.75876 12.2646 1.32739"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.11988 13.2484 1.52416"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.45795 14.1796 1.71041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.8183 14.9782 1.87012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.27087 15.7675 2.02798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.95637 70.5752 4.79775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.51024 68.0315 4.83811"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.78514 17.6351 2.56113"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.22252 18.197 2.74844"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.66441 18.7758 2.94138"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.02761 19.2687 3.10567"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.34489 19.7348 3.23314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.64653 20.1681 3.23785"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-7.96459 20.5778 3.16835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-8.32204 20.9393 3.16835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-8.72694 21.2848 3.16835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-9.05524 21.6053 3.16835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.27157 64.0968 6.87683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.01671 18.4126 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.31413 18.0924 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.67393 17.7051 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.0113 17.3419 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.4079 16.915 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.82323 16.4679 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.28296 15.973 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.78174 15.4361 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.27296 14.9073 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.7988 14.3412 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.33784 13.761 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.90259 13.153 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.50745 12.5019 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.1219 11.8405 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.7359 11.1795 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.3799 10.4862 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.0206 9.79655 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.66 9.10827 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.2872 8.43307 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.8896 7.78462 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.4816 7.14733 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.0336 6.55309 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.5608 5.98557 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.0569 5.45155 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.5347 4.93718 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.0046 4.43132 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.4318 3.9715 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.8291 3.54378 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.1975 3.14719 3.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.06567 38.6437 5.26351"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.11819 41.4318 6.52039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.12613 42.0081 6.6903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.13507 42.6573 6.73179"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.14368 43.2828 6.62386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.15182 43.8773 6.40136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.15955 44.4435 6.09603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.1682 45.079 5.65362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.17753 45.773 5.79091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.18653 46.4465 6.24062"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.19576 47.1377 6.5823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.20535 47.8555 6.8082"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.21494 48.5732 6.90298"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.2243 49.2733 6.86896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.23341 49.9556 6.7156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.24289 50.6646 6.43075"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.25224 51.3646 6.02388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.26118 52.0266 5.71359"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.27008 52.6509 6.22812"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.27772 53.1871 6.57266"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.28673 53.8193 6.86368"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.29585 54.4596 7.03147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.30486 55.0918 7.07145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.31365 55.7081 6.99021"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.32254 56.3323 6.78697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.32761 56.9646 6.45709"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.30526 57.5973 6.00231"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.19982 58.1975 6.10042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.02948 58.7313 6.56248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.82645 59.2438 6.90635"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.61965 59.7381 7.12149"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.39312 60.239 7.21848"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.12921 60.7531 7.19163"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.858931 61.2482 7.04487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.578127 61.7625 6.7666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.299199 62.2541 6.37804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0214995 62.7379 5.84879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.433045 62.9594 6.34299"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.927356 63.171 6.7737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.38909 63.3534 7.04197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.85083 63.5357 7.18871"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.33625 63.7274 7.21162"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.79799 63.9098 7.10879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + pad = "1707"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "0.34102 38.844 4.44229"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.442541 39.9769 4.4721"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.55491 40.9185 4.49687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.607143 42.0597 4.5269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.69883 43.439 4.56319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.76639 44.9132 4.60199"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.817871 46.2932 4.6383"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.922057 47.8725 4.67986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.05033 49.459 4.72161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.16841 50.8736 4.75883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.31428 52.4166 4.79944"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.47594 53.9929 4.84092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.63204 55.4172 4.8784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.7831 56.7488 4.91344"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.64421 58.0447 4.94754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.3791 59.207 4.97813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.999452 60.0414 5.00009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.611586 60.8721 5.01272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.380339 61.7696 5.01272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.170834 62.5758 5.01272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.164993 63.2092 5.01272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.427128 63.6984 5.01272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.2491 195.819 -9.76908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.753552 5.84415 0.230883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.754919 5.85089 0.230883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.782086 5.98524 0.230883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.818704 6.16638 0.230883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.864333 6.39211 0.230883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.935544 6.7444 0.205503"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.00152 7.07586 0.128375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.09461 7.46955 0.0496371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.20045 7.79409 -0.0152705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.30382 8.13296 -0.0830444"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.39824 8.493 -0.00681712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.50283 8.90015 -0.0882469"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.60935 9.35393 -0.179003"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.70667 9.79161 -0.266538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.80013 10.2351 -0.355232"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.91118 10.6801 -0.44423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.06779 11.04 -0.516226"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.30462 11.5222 -0.612657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.5369 12.0721 -0.722634"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.75799 12.6621 -0.840639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.97905 13.3029 -0.968798"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.18645 13.9277 -1.09375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.45019 14.6065 -1.22952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.79224 15.2878 -1.36577"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.16917 15.9422 -1.49665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.5676 16.6434 -1.63689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.97897 17.3861 -1.78543"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.36742 18.1223 -1.93268"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "5.70361 18.8221 -2.07264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.06088 19.6331 -2.21428"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.40359 20.3399 -2.33208"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.82873 21.0537 -2.45105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.30815 21.7477 -2.56671"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.76153 22.4592 -2.68529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.18029 23.1365 -2.79818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.67024 23.9454 -2.89572"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.0488 24.5837 -2.95374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.44189 25.2638 -3.01557"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.82211 25.9813 -3.08079"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.2339 26.7983 -3.15507"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.6028 27.5001 -3.21887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.9669 28.0783 -3.27143"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.3862 28.7393 -3.33152"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.7616 29.3563 -3.38761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.0389 29.9231 -3.43914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.2688 30.5125 -3.49272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.4868 31.0921 -3.5454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.6437 31.6471 -3.59585"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.7426 32.029 -3.63058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.8676 32.5144 -3.6747"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9706 32.9106 -3.71072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.037 33.2587 -3.74236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.0118 33.6083 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9596 33.9297 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9083 34.2452 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.8655 34.5086 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.8346 34.7754 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.8704 35.0005 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9102 35.2017 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9478 35.3924 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9676 35.5736 -3.76912"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.9067 35.7485 -3.76909"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.7507 35.944 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.521 36.1343 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "12.2557 36.3111 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.9904 36.4933 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.7515 36.7449 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.5523 37.0654 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.3905 37.4267 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.2338 37.7785 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.0042 38.1356 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.7167 38.5234 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.3885 38.9728 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "10.0494 39.4285 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.72177 39.8687 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.41074 40.2531 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "9.03597 40.6684 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.67592 41.1352 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.33663 41.6935 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.05725 42.2742 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.80859 42.9235 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.61289 43.5647 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.43252 44.3139 -3.76911"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.28124 45.0652 -3.79053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.10444 45.8146 -3.82155"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.93908 46.6282 -3.85522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.7837 47.6143 -3.89602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.68015 48.4886 -3.9322"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.60092 49.3993 -3.96988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.54554 50.3333 -4.00853"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.51168 51.3137 -4.0491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.49935 52.2525 -4.08795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.50451 53.2085 -4.12751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.52812 54.2578 -4.17093"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.56848 55.311 -4.21451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.58731 56.3198 -4.25625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.57807 57.4038 -4.30111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.58761 58.4857 -4.34587"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.61425 59.5779 -4.39107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.65672 60.6797 -4.43666"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.69951 61.7648 -4.48156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.67905 62.9021 -4.52864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.61531 64.0298 -4.57531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.5694 65.1926 -4.62345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.54537 66.3156 -4.66992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.53984 67.5016 -4.71899"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.55276 68.6763 -4.7676"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.58204 69.8394 -4.81573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.62456 70.9606 -4.86212"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.683 72.2051 -4.91362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.68508 73.4365 -4.96457"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.65032 74.6651 -5.01541"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.63621 75.8482 -5.06437"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.64029 77.0486 -5.08456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.65488 78.2716 -4.62924"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.67595 79.5565 -4.28529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.70207 80.9062 -4.0623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.71482 82.292 -3.97042"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.73035 83.6574 -4.00581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.73407 85.0744 -4.16573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.71379 86.5096 -4.44616"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.67389 88.0555 -4.87221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.64028 89.5571 -5.40227"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.60869 91.1422 -5.69718"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.57112 92.7482 -5.76364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.55191 94.3209 -5.82874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.55744 95.8741 -5.89303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.56852 97.4111 -5.95663"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.54298 98.9601 -6.02072"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.53332 100.553 -5.70236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.53046 102.204 -5.32988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.53383 103.864 -5.08727"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.54372 105.598 -4.96823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.55834 107.365 -4.98027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.55494 109.123 -5.11833"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.52805 110.919 -5.38147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.49844 112.77 -5.77517"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.47518 114.653 -6.29702"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.45929 116.429 -6.60725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.4476 118.454 -6.19928"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.44175 120.694 -5.89371"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.44253 122.701 -5.74424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.45134 125.254 -5.71491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.4653 127.406 -5.82487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.48558 129.616 -6.06031"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.5128 131.913 -6.4314"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.53164 134.246 -6.93363"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.52947 136.498 -7.53248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.52948 138.884 -7.19168"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.53595 141.467 -6.87091"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.54672 143.697 -6.70325"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.56579 146.373 -6.63141"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.58959 148.885 -6.68819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.62182 151.626 -6.88211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.65832 154.233 -7.18985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.70202 156.937 -7.63182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.7494 159.535 -8.17038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.81526 162.259 -8.4211"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.88737 164.669 -8.05258"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.94575 167.119 -7.79768"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.00043 169.66 -7.66432"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.04559 172.018 -7.66455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.08473 174.345 -7.78646"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.11862 176.702 -8.03794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.14646 179.056 -8.42303"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.16691 181.263 -8.91058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.18211 183.56 -9.52133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.19525 185.89 -9.61778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.20784 188.052 -9.70728"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.21956 190.126 -9.76265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.2295 191.95 -9.76908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.23967 193.9 -9.76908"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.8914 29.87 8.9902"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9905 48.4122 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9906 48.4124 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9907 48.4125 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9908 48.4125 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9914 48.4132 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9914 48.4132 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9914 48.4132 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9914 48.4132 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9995 48.4185 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.0567 48.4698 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.1363 48.6105 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.2622 48.8605 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.4368 49.1128 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.67 49.3938 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.9695 49.714 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.3134 50.0517 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.6601 50.4558 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.7234 52.1855 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.1941 52.7771 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.6047 52.9619 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.049 53.1039 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.5639 53.2286 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.1142 53.3292 -1.95693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.6708 53.4087 -1.89156"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "24.272 53.4866 -1.69114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "24.7405 53.5447 -1.53499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.2085 53.5351 -1.37898"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.6711 53.4555 -1.22481"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.135 53.367 -1.07014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.5945 53.2775 -0.924127"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.111 53.2007 -0.817887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.6768 53.1793 -0.692158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.2373 53.1556 -0.567596"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.8245 53.1212 -0.437098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "29.407 53.079 -0.307659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.013 53.0279 -0.172996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.6418 52.9682 -0.0332497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.2888 52.9379 0.110534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.9686 52.9239 0.261586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "32.6173 52.9002 0.40575"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.3108 52.8653 0.559859"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.9966 52.822 0.712265"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.7989 52.7617 0.890549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "35.4939 52.7019 1.04499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.1778 52.637 1.19697"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.9173 52.5841 1.3613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.6404 52.5656 1.522"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.3878 52.5362 1.68808"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "39.1402 52.4971 1.85528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "39.8588 52.4516 2.01497"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.6586 52.3926 2.1927"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.4337 52.3277 2.36494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.232 52.2536 2.54235"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.0046 52.1756 2.71404"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.7607 52.0938 2.88205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "44.5395 52.0068 3.05513"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.3291 51.9753 3.23059"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.0845 51.9668 3.39847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.9018 51.9463 3.58009"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.7002 51.9157 3.75751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.5083 51.8764 3.93708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.2206 51.8398 4.09538"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.093 52.5242 4.24225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "51.5358 53.489 4.3771"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.8645 53.8279 4.49648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.3477 53.7988 4.60386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.8068 53.787 4.70588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.2855 53.7922 4.81225"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.687 53.7951 4.90147"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.0754 53.7352 4.98778"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.387 53.6014 5.05136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.647 53.4238 5.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.8528 53.1854 5.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.997 52.8931 5.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.1409 52.5182 5.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.2955 52.1041 5.10006"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.4742 51.6218 5.18044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.6482 51.1479 5.25941"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.8317 50.6175 5.34782"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.891 50.1489 5.43775"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.2997 49.5445 5.52949"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.3777 48.9345 5.63116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.4295 48.2866 5.73913"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.4541 47.6508 5.8451"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.4564 46.9804 5.95684"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.6782 46.2397 6.06852"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.1369 45.3056 6.18358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.048 44.5901 6.30283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.9895 43.9762 6.40515"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.9447 43.0669 6.55669"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.1399 42.1011 6.68722"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.3545 41.0467 6.81201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.2775 40.2232 6.94926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.2689 39.4229 7.08264"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.3212 38.6444 7.21239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.3698 37.8962 7.33708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.3473 37.1097 7.46816"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.2746 36.4142 7.58409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.1993 35.7523 7.69441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.3113 34.9063 7.79381"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.3862 33.9451 7.88987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.2175 33.4579 7.97107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.0257 33.1058 8.02975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.7677 32.7147 8.05038"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.4477 32.2855 8.043"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "58.0892 31.8832 8.04784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.8107 31.2567 8.05642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "57.3531 30.5634 8.06836"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.8398 30.3595 8.07977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.2522 30.1938 8.09283"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.6536 30.037 8.10614"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "55.0014 29.876 8.12063"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "54.3407 29.7212 8.13531"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.6826 29.4459 8.15026"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "52.7554 28.921 8.17098"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "51.9705 28.8874 8.18842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "51.1694 28.87 8.20623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.3433 28.8593 8.22459"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "49.5051 28.8548 8.24321"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "48.7704 28.8604 8.25954"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "47.8967 28.8904 8.27896"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.9697 28.9247 8.29956"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.0603 28.9606 8.31977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "45.0263 29.0036 8.34275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "44.11 29.0435 8.36311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.2185 29.0837 8.38293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "42.1397 29.1341 8.4069"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "41.1107 29.1836 8.42977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.0444 29.2363 8.45347"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "38.9799 29.2902 8.47712"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "37.9297 29.3092 8.50046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.9126 29.2696 8.52306"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "35.9655 29.2317 8.54411"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.9331 29.1902 8.56705"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.0613 29.1551 8.58643"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.0924 29.1159 8.60795"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "32.2025 29.0814 8.62773"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "31.4293 29.0582 8.64491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.5027 29.0384 8.6655"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "29.7002 29.0269 8.68334"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.6747 29.0132 8.70613"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.8985 29.0027 8.72338"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.0991 28.9919 8.74114"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.3321 28.9833 8.75819"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.5079 28.9806 8.7765"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "24.7003 29.0284 8.79445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.9512 29.1074 8.8111"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "23.2492 29.1818 8.8267"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "22.4988 29.2606 8.84337"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.7537 29.3352 8.85993"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.9566 29.4115 8.87764"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "20.1554 29.4856 8.89545"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.4405 29.5514 8.91133"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.725 29.6176 8.92724"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.0364 29.6814 8.94254"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.33 29.7448 8.95823"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.6357 29.8053 8.97366"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-14.185 24.3936 3.01388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-4.85854 20.6834 2.53648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-14.1793 30.3176 4.05987"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.78984 25.4561 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-10.5764 25.936 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-12.0644 26.9226 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-13.2904 27.5833 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-14.1075 26.9193 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-14.4819 25.4653 3.01388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.56822 26.2669 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-12.5619 28.0977 3.04892"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-13.8994 27.1665 3.10419"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-14.4554 26.2091 3.01388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-14.482 25.2138 3.01388"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-0.515748 6.17036 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-0.00280428 -14.9973 0.451638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "1.15639 0.649834 0.201917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "1.50909 3.49044 0.048919"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "2.56136 11.8359 -0.515943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "6.70846 21.1668 -2.31053"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "8.42643 23.596 -2.71539"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "9.29987 25.6034 -3.00532"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "9.33426 27.3999 -3.16864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.7124 34.9011 -2.80788"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "11.5293 33.3933 -3.71349"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17.3001 39.2562 -3.13018"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "18.3044 42.3184 -2.57341"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "26.8082 52.9572 -0.626527"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27.386 52.956 -0.978454"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "32.227 52.6437 0.0992022"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "41.5814 52.4368 2.27386"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "47.8042 52.1049 3.66642"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "49.3181 54.4587 3.77201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "2.84466 4.79236 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "0.0771422 6.35139 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.00277 5.88295 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.63006 5.19284 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.90573 4.56493 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.99362 4.07325 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.97398 3.51194 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.03165 3.40915 0.0200946"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-1.10698 2.95301 -0.0204506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-0.950126 2.46523 -0.0477256"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-0.844736 2.00909 -0.0922916"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-0.415147 1.54691 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "0.0652857 1.41033 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-0.952112 69.7985 10.8847"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "1.29991 1.49937 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-21.9984 37.099 6.73319"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-0.54197 4.35733 0.464506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "2.96835 4.369 -0.21456"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "1.19562 6.29246 -0.124526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new Item() { + position = "-21.5013 71.254 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-26.7237 19.8705 1.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.599 14.2195 1.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-28.3489 0.539559 2.04835"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.7272 -7.71528 2.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.786 66.2725 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.8252 66.4328 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.8247 66.4314 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.8476 66.5059 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.887 66.6337 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.9609 66.8729 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.0449 67.1451 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.1553 67.5025 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.2852 67.923 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.4136 68.2691 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.6099 68.5712 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.8555 68.8447 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.0589 69.0215 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.2032 69.0978 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.3348 69.0954 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.4168 69.0114 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.4721 68.8374 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.4947 68.5702 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.4892 68.3107 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.4564 67.9222 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.407 67.5388 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.338 67.0569 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.2879 66.687 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.3 66.3034 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.3587 65.9903 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.4387 65.7672 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.5215 65.656 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.6508 65.6161 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.7781 65.672 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.9248 65.8082 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.0951 66.0312 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.2619 66.297 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.4626 66.6627 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.6424 67.0226 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.8578 67.4679 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.04 67.8445 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.2001 68.1754 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.3744 68.5328 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.5615 68.8021 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.7721 69.0745 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.9328 69.2785 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.0398 69.4502 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.0649 69.57 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-24.0229 69.6361 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.8725 69.6681 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.7229 69.6154 7.29888"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.5386 69.5017 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.348 69.306 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.1524 69.0342 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.0097 68.6901 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.9307 68.2879 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.9424 67.8391 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.0194 67.4435 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.0858 67.1175 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.1641 66.7331 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.2067 66.4281 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.1648 66.0402 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.0215 65.6271 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.8156 65.2495 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.5192 64.8785 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-22.1423 64.5529 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.7433 64.3107 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.3353 64.1569 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.8516 64.0823 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.4058 64.1045 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.9361 64.2111 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.4366 64.4122 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.9987 64.6871 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.6188 65.0359 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.3228 65.4121 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.0517 65.8809 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.8569 66.4062 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.7766 66.874 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.7841 67.4294 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.857 67.9297 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.9593 68.5343 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.0568 69.0393 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.2158 69.5115 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.4503 69.9422 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-18.7829 70.3437 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.1593 70.6589 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.5662 70.9075 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.0219 71.1066 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.4726 71.2338 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-20.8697 71.2755 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-21.2174 71.2605 7.51425"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-49.3497 68.5559 -1.6323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-55.1445 28.6405 1.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-54.9721 29.2236 1.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-55.494 29.2019 1.89"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-47.4364 46.746 0.158107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-68.099 68.2498 -6.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-66.4182 68.3249 -6.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-65.3427 68.3768 -6.03"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-63.8672 68.452 -5.83471"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-62.3633 68.538 -5.39939"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-60.8219 68.6328 -4.95318"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-59.2326 68.736 -4.49313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-57.6767 68.8411 -4.04275"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-56.3931 68.9234 -3.67118"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-54.2888 68.7619 -3.06202"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-52.7167 68.6576 -2.60696"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50.8959 68.5848 -2.07986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "16.6236 24.4805 1.54508"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "59.7507 60.4854 -2.29041"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "61.817 60.671 -2.4052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.721 60.5724 -2.5665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "66.7968 60.6431 -2.68182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "69.5852 60.6998 -2.83673"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "74.9499 61.5563 -2.8942"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "69.4466 69.9649 -2.70528"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "67.7869 69.9608 -2.44877"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.978 69.9531 -2.01467"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "62.2525 69.9451 -1.59345"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "59.7887 69.9375 -1.21269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "56.7561 69.928 -0.744011"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "53.4657 69.9174 -0.235491"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.2898 69.907 0.255323"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.9724 69.8961 0.768014"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "43.9477 69.886 1.23547"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "40.4823 69.8745 1.77102"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "36.7375 69.8619 2.34977"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "33.5333 69.8512 2.84496"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "29.5337 69.8378 3.46309"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.7335 69.825 4.05039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "19.2602 34.4974 1.81352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.9206 33.1261 1.75638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "18.2413 31.5047 1.68883"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.4885 29.9732 1.62502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "16.6602 27.832 1.5358"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.7662 25.9505 1.4574"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "15.1914 23.9974 1.37602"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.3044 22.2326 1.30249"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "11.6053 16.0317 1.09187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12.0234 16.3575 1.10544"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12.3015 17.0386 1.13382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12.5101 18.0188 1.17466"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12.6896 19.1505 1.22182"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12.9056 20.1778 1.26462"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.1394 21.0952 1.30285"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.3616 21.9045 1.33657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.7016 23.0673 1.38502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.9782 23.833 1.41693"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.2609 15.6047 1.07408"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.679 15.9305 1.08765"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.9571 16.6116 1.11603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.1657 17.5918 1.15687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.3452 18.7235 1.20403"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.5612 19.7508 1.24683"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.795 20.6682 1.28506"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17.0172 21.4775 1.31878"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17.3572 22.6403 1.36723"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17.6338 23.406 1.39914"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.4793 16.3399 1.20588"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.8974 16.6657 1.21945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.1755 17.3468 1.24783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.3841 18.327 1.28867"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.5636 19.4587 1.33583"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.7796 20.486 1.37863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.0134 21.4034 1.41686"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.2356 22.2127 1.45058"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.5756 23.3755 1.49903"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.8522 24.1412 1.53094"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "12.769 15.607 1.17534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.1871 15.9328 1.18891"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.4652 16.6139 1.21729"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.6738 17.5941 1.25813"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.8533 18.7258 1.30529"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.0693 19.7531 1.34809"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.3031 20.6705 1.38632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.5253 21.4798 1.42004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.8653 22.6426 1.46849"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.1419 23.4083 1.5004"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.2507 16.6792 1.22002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.6688 17.005 1.23359"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "14.9469 17.6861 1.26197"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.1555 18.6663 1.30281"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.335 19.798 1.34997"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.551 20.8253 1.39277"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "15.7848 21.7427 1.431"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.007 22.552 1.46472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "16.347 23.7148 1.51317"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "-0.870195 -12.1672 0.253648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new ScriptObject() { + pad = "5943"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new Item() { + position = "-2.10591 -12.8745 0.576804"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-1.12142 -11.071 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.490886 -10.8057 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "0.732091 -10.8243 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "1.79341 -11.4292 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "2.41508 -12.4109 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.0650222 -10.7242 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.723319 -12.2183 0.753648"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.08771 -11.9638 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.38091 -12.7731 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.41054 -13.3885 0.816236"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new ScriptObject() { + pad = "3697"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "-44.2333 28.709 1.23409"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-44.3088 27.4625 1.20389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-36.2354 45.9912 2.43855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-39.5951 43.2233 2.50092"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-70.5 71.1045 -5.5609"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-7.13434 193.689 -7.82352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-8.3773 193.343 -7.8423"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-9.43881 193.078 -7.85976"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-10.4923 193.392 -7.84769"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-3.23796 215.876 -9.81204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.01372 215.553 -9.81204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.781998 215.236 -9.81204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "0.460674 214.918 -9.81204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "2.30943 214.445 -9.81204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "3.25637 214.203 -9.81204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "0.748571 212.847 -9.62397"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "75.4109 66.4133 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "75.8137 66.8511 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "76.0878 67.1703 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "76.3301 67.522 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "76.5682 67.8678 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "76.8408 68.2669 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "77.0939 68.6417 -3.06136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "77.3829 69.0745 -3.06136"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "74.467 66.5681 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "74.1318 66.7958 -3.06145"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "73.3322 67.2698 -3.06137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "72.4716 67.7456 -3.06137"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-1.31373 67.9385 5.82382"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.406486 69.3241 5.82389"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.244933 70.7089 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-4.20381 68.7994 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-3.06488 67.9484 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-6.33057 18.447 2.8725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.81974 72.6514 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-3.35636 72.5096 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-4.04458 72.1028 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-4.53391 71.5505 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-4.78126 71.0553 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-4.92433 70.0241 5.82379"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.67155 67.4 5.55269"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-12.4788 38.6192 8.56311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-13.8924 38.3236 8.56311"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-11.9963 37.1119 8.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-28.6314 38.6722 4.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-28.6353 39.4743 4.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-28.6189 40.1011 4.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-28.5684 40.9432 4.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-28.488 42.1028 4.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-27.7323 42.8124 4.23448"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-23.0996 25.1427 2.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-29.1285 20.7745 2.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-32.4523 7.14824 1.62983"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-29.0593 -3.22192 3.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-25.5369 -5.15605 3.09"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-14.8576 -10.4576 3.0784"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-10.9617 -9.12478 2.91568"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-5.96158 -9.97656 2.70879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-3.29697 -8.38628 2.60442"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-1.13965 -10.6727 2.50952"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-1.42488 -9.50721 2.39945"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-1.8288 -8.38355 2.41628"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "4.48887 -9.89339 2.15304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.864646 -10.5697 2.96779"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "1.44808 -10.2948 2.27974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "0.350036 -10.4395 2.32549"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-0.976907 -10.6143 2.38078"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-2.25765 -10.7829 2.43415"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-3.73295 -11.4088 2.49562"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-5.22084 -11.9778 2.55761"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-6.66868 -12.0498 2.61794"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-8.30641 -12.0603 2.68618"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "-9.9581 -12.0091 2.755"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "20.1654 -6.55788 2.18796"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "20.713 -7.66756 2.18805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "22.6504 -7.94401 2.18805"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; + new Item() { + position = "23.6509 -5.98935 2.46561"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + timeBonus = "-1500000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/FrictionalClimb.mis b/marble/data/missions/intermediate/FrictionalClimb.mis new file mode 100644 index 0000000..47c1109 --- /dev/null +++ b/marble/data/missions/intermediate/FrictionalClimb.mis @@ -0,0 +1,149 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Frictional Climb"; + desc = "Climb to the top of the tower as you practice your friction skills!"; + type = "Intermediate"; + level = "13"; + startHelpText = "Watch your step!"; + artist = "Kevin"; + goldTime = "75000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/Intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new Trigger() { + position = "-6.5 22.9 -4.185"; + rotation = "1 0 0 0"; + scale = "70 70 150"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "17.21 -13.7886 9.48689"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "28.2743 -10.4804 114.015"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/FrictionalClimb.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "26.5407 1.82391 36.27"; + rotation = "1 0 0 0"; + scale = "0.3 0.3 0.4"; + dataBlock = "EasterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "17.2667 -10.778 5.14001"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Item() { + position = "39.2652 -21.4505 42.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.2318 -5.72265 16.033"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "15.736 -5.56734 6.39535"; + rotation = "0 0 -1 9.99997"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new Item() { + position = "17.2866 -13.093 23.4659"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "28.2801 -10.6649 116.98"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "28.3856 -11.1774 123.202"; + rotation = "0 0 1 70"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "18.2853 -15.9651 92.885"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Seaside Revisited.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Intermediate Challenge.mis b/marble/data/missions/intermediate/Intermediate Challenge.mis new file mode 100644 index 0000000..24ec0d9 --- /dev/null +++ b/marble/data/missions/intermediate/Intermediate Challenge.mis @@ -0,0 +1,778 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "intermediate"; + artist = "Kevin"; + name = "Pro Course"; + level = "12"; + goldTime = "180000"; + desc = "Can you finish the warm-up for the next category?"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 6.61225e-39 2.75508e-40"; + fogVolume2 = "-1 1.83677e-39 1.83676e-39"; + fogVolume3 = "-1 2.75507e-39 2.75507e-39"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/Challenges.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-10 -4 2"; + rotation = "0 -1 0 90"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape() { + position = "-6 -4 2"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new StaticShape(StartPoint) { + position = "-8 -21 1"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new StaticShape() { + position = "-6.25 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -15.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -15.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -14.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -14.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -11.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -11.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -10.75 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.25 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.25 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-8.75 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.25 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-9.75 -10.25 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-5.5 6.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-4.5 7.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-5.5 8.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-4.5 9.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-3.5 6.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-2.5 7.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-3.5 8.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape() { + position = "-2.5 9.5 5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "RoundBumper"; + }; + new StaticShape(EndPoint) { + position = "0 5 100"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-17.9677 58.108 0.84"; + rotation = "1 0 0 0"; + scale = "42 83.5 44"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + time = "0"; + pad = "1774"; + }; + new Item() { + position = "-4.46353 42.865 13.408"; + rotation = "1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.82437 41.4237 21.405"; + rotation = "1 0 0 180"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.89943 42.987 19.0004"; + rotation = "0 -1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-1.90092 39.0501 18.9767"; + rotation = "1 0 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.97947 40.0773 19.0122"; + rotation = "0 1 0 90"; + scale = "0.5 0.5 0.5"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.5114 29.5179 21.499"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.32927 11.9691 13.4975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-12.019 4.01082 13.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-12.019 2.00082 13.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-12.019 0.0208199 13.502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "2.24709 -4.0097 13.4988"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.49641 0.00736141 17.4985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.19667 7.93429 22.5065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.50252 5.99125 11.5039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "4.49944 25.5042 15.5052"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.50881 49.4871 21.4981"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.77428 11.9965 22.5016"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "19.4897 29.4911 24.0003"; + rotation = "0 0 1 89.9544"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new Item() { + position = "-0.360943 9.15475 4.95802"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.42902 16.0721 13.0535"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Marble Sprint.mis b/marble/data/missions/intermediate/Marble Sprint.mis new file mode 100644 index 0000000..91c30bb --- /dev/null +++ b/marble/data/missions/intermediate/Marble Sprint.mis @@ -0,0 +1,1415 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "120000"; + name = "Marble Sprint"; + desc = "Reach the finish passing a series of trials ahead!"; + startHelpText = "Pay attention on the messages they are the key to pass this stage!"; + level = "16"; + artist = "Intermediate"; + type = "Intermediate"; + goldTime = "60000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MarbleSprint.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-17 60 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 60 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 60 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 62 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 62 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 62 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 64 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 64 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 64 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 66 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 66 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 66 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 68 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 68 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 68 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 70 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 70 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 70 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 72 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 72 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 72 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 74 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 74 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 74 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 37 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 37 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 37 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 35 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 35 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 35 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 33 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 33 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 33 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27.5 30 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25.5 30 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "29.5 30 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27.5 28 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25.5 28 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "29.5 28 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27.5 26 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25.5 26 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "29.5 26 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 50 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 50 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 50 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 52 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 52 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 52 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 54 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 54 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 54 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21.5 56 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "19.5 56 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 56 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "22 58 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "20 58 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "24 58 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23 60 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "21 60 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25 60 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25.5 64 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "23.5 64 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27.5 64 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "26.5 66 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "24.5 66 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "28.5 66 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27 68 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25 68 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "29 68 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27 70 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25 70 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "29 70 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "27 72 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "25 72 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "29 72 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "24 62 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "22 62 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new StaticShape() { + position = "26 62 20.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + open = "0"; + timeout = "200"; + resetTime = "Default"; + }; + new Item() { + position = "27 86 20.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-46 75 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-40 75 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-46 75 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-46 67 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-40 67 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-46 67 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-36.5 59 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-46 59 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-36.5 59 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-36.5 51 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-46 51 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-36.5 51 15"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-35.5 29 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-23.5 29 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-35.5 29 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-23.5 25 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-35.5 25 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-23.5 25 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "7"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-29.5 12.5 14.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-29.5 20.5 14.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-29.5 12.5 14.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "8"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-29.5 8 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-29.5 4 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-29.5 8 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "9"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-29.5 -4 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "2500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-29.5 0 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "2500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-29.5 -4 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "10"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-41.5 86 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-41.5 66 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-41.5 86 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "11"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-41.5 40.5 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-41.5 60 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-41.5 40.5 13.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MarbleSprint.dif"; + interiorIndex = "12"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new StaticShape(EndPoint) { + position = "-16.9848 53.9873 13.9996"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "-16.9845 -17.0222 0.50654"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new Trigger(Bounds) { + position = "-59 104 -1.4"; + rotation = "1 0 0 0"; + scale = "107.5 135 110"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2359"; + bonusTime = "0"; + }; + new Trigger() { + position = "-22.004 74.9708 12.0077"; + rotation = "1 0 0 0"; + scale = "10 16 0.5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-19.9899 74.993 5.99226"; + rotation = "1 0 0 0"; + scale = "6 16 0.5"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-17.0047 66.9866 26.4051"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "Coin"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-17.0151 86.0017 8.49874"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.501 40.4848 14.5049"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.4911 -15.4976 14.5007"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27.4558 27.9597 20.9986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "21.5997 35.0049 20.9986"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-19.6958 86.0137 18.0024"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlack"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-32.5028 -6.5067 14.0071"; + rotation = "1 0 0 0"; + scale = "6 2 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "You know about \"Double Jump\" , but did you tried that in Marble Blast?"; + }; + new Trigger() { + position = "-32.4924 -12.5222 14.0015"; + rotation = "1 0 0 0"; + scale = "6 6 6"; + dataBlock = "DoubleJumpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1858"; + bonusTime = "0"; + }; + new Item() { + position = "-27.5201 -15.5362 13.7391"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "34.4998 -13.4996 13.4996"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/3x3_Platform.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1858"; + bonusTime = "0"; + }; + new Trigger() { + position = "-32.5041 -11.4986 13.9962"; + rotation = "1 0 0 0"; + scale = "6 2 10"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Just press the to try it!"; + }; + new ScriptObject() { + gemCount = "0"; + time = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3212"; + bonusTime = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Minesweeper.mis b/marble/data/missions/intermediate/Minesweeper.mis new file mode 100644 index 0000000..ad629cc --- /dev/null +++ b/marble/data/missions/intermediate/Minesweeper.mis @@ -0,0 +1,331 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + artist = "Kevin"; + name = "Minesweeper"; + desc = "BOOM BOOM"; + level = "9"; + type = "Intermediate"; + goldTime = "4750"; + startHelpText = "Use powerups and hazards to graph where the gems are!"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-0.226227 -0.316305 497.553"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-0.606125 4.81552 497.23"; + rotation = "0 0 1 179.518"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + }; + new InteriorInstance() { + position = "12.4346 3.17604 497.205"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + pad = "2316"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new InteriorInstance() { + position = "-3.26677 7.98795 497.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-3.27376 2.18455 497.455"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "13.2937 -1.82571 497.159"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "17.4426 8.33197 497.159"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "5.25874 0.0713118 497.164"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new ScriptObject() { + pad = "3821"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new StaticShape() { + position = "21.3878 2.15101 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "13.26 14.0884 497.105"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "11.117 8.02546 497.217"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new TSStatic() { + position = "7.59792 -3.82856 497.164"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Item() { + position = "7.63573 -3.37616 496.992"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "8.9731 -0.12997 496.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "9.3182 0.312252 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new TSStatic() { + position = "5.61238 8.3583 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Item() { + position = "5.63812 8.36741 497.005"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "13.3829 2.6643 496.975"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "7.82336 4.33084 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Item() { + position = "7.12374 4.30001 496.854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "13.7223 2.17015 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Item() { + position = "13.2881 -7.30982 496.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "7.37045 12.1019 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Item() { + position = "7.01365 12.6048 496.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "19.5757 -3.99023 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Item() { + position = "18.9959 -3.62566 496.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "13.274 -7.90478 497.118"; + rotation = "1 0 0 0"; + scale = "7 7 7"; + shapeName = "~/data/shapes/hazards/landmine.dts"; + }; + new Trigger(helpme) { + position = "10.4107 11.3038 497.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Maybe this one over here..."; + }; + new Trigger(helpme) { + position = "17.3811 0.126382 497.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "This is hard, huh?"; + }; + new Trigger(helpme) { + position = "8.59449 2.48598 497.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Maybe a gem\'s here."; + }; + new Trigger(helpme) { + position = "10.4936 -5.7138 497.105"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "How about over here?"; + }; + new ScriptObject() { + pad = "1806"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new Trigger(ibound) { + position = "-1.2147 41.7392 494.305"; + rotation = "1 0 0 0"; + scale = "7 7 0.7"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 9.0000000 0.0000000 0.0000000 0.0000000 -9.0000000 0.0000000 0.0000000 0.0000000 9.0000000"; + }; + new ScriptObject() { + pad = "1806"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/MiniCourse.mis b/marble/data/missions/intermediate/MiniCourse.mis new file mode 100644 index 0000000..a23001a --- /dev/null +++ b/marble/data/missions/intermediate/MiniCourse.mis @@ -0,0 +1,170 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Intermediate"; + level = "19"; + name = "Mini Course"; + startHelpText = "Pass this tiny course."; + desc = "Pass it!"; + artist = "Kevin"; + goldTime = "13000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + rotation = "1 0 0 0"; + }; + new SimGroup(CheckPoints) { + }; + new Trigger(Bounds) { + position = "-11.3102 92.8041 491.593"; + rotation = "1 0 0 0"; + scale = "90 90 90"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new InteriorInstance() { + position = "21.1156 32.9015 517.352"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/MiniRace.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1564"; + }; + new StaticShape(StartPoint) { + position = "21.9578 37.9274 517.85"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "21.9253 32.9339 517.85"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "22.1018 33.1538 524.872"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "44.9623 40.8805 522.895"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11.7003 57.9104 519.711"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "32.1147 73.9807 518.926"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1576"; + }; + new StaticShape() { + position = "18.7897 40.5769 519.024"; + rotation = "0 0 -1 80"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "1577"; + }; + new ScriptObject() { + powerUp = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + bonusTime = "0"; + pad = "7767"; + }; + new Item() { + position = "43.426 33.1481 520.665"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "FourLeafCloverItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Moving Challenge I.mis b/marble/data/missions/intermediate/Moving Challenge I.mis new file mode 100644 index 0000000..6c44a07 --- /dev/null +++ b/marble/data/missions/intermediate/Moving Challenge I.mis @@ -0,0 +1,827 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Sprint Challenge"; + time = "0"; + type = "Intermediate"; + desc = "Pass the moving platform challenges ahead, and don\'t fall!"; + level = "18"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/MovingChallengeI.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 3 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 3 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 3 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 3 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-1 9 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 9 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 9 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-1 9 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-7 37 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 37 -29.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 37 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 37 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 53 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "6000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-1 53 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "6000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 53 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 55 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5700"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-1 55 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5700"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 55 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 57 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5400"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-1 57 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5400"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 57 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-13 59 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-1 59 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "5000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-13 59 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-5 67 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 67 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-5 67 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "7"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-9 77 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 69 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 77 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "8"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-7 69 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 72 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 69 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "9"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-7 77 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 74 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 77 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "10"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-9 79 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-5 79 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9 79 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "11"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-5 69 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-5 77 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-5 69 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "12"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "2 86 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-16 86 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "2 86 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "13"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-16 90 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "2 90 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "8000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-16 90 2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "14"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-7 95 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 101 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 101 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 95 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 95 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-7 95 0.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "5"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/MBF/MovingChallengeI.dif"; + interiorIndex = "15"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1,0,1"; + }; + }; + new StaticShape(EndPoint) { + position = "-6.98907 106.986 0.497468"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "-6.98871 -7.01106 0.511794"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new Trigger(Bounds) { + position = "-31 125 -3.6"; + rotation = "1 0 0 0"; + scale = "46 148 90"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-6.9892 63.0089 1.00599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.83583 37.0519 0.998638"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2095"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Sand Sprint.mis b/marble/data/missions/intermediate/Sand Sprint.mis new file mode 100644 index 0000000..0d7d5dc --- /dev/null +++ b/marble/data/missions/intermediate/Sand Sprint.mis @@ -0,0 +1,100 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Intermediate"; + level = "17"; + name = "Sand sprint"; + time = "22000"; + startHelpText = "Do the things well, or you won\'t pass under par!"; + desc = "Do things well!"; + artist = "Kevin"; + goldTime = "10000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume2 = "-1 -1.73483e+009 -1.73483e+009"; + fogVolume3 = "-1 -1.73483e+009 -1.73483e+009"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.442343 0.475025 -0.760713"; + color = "1.400000 1.200000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "-18.9587 -48.3786 94.7837"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/MBF/SandSprint.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + pad = "1612"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new StaticShape(StartPoint) { + position = "3.49302 -69.909 95.2795"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + pad = "2010"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + }; + new Trigger() { + position = "-10.4881 -28.9344 95.5426"; + rotation = "1 0 0 0"; + scale = "46 60 40"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape(EndPoint) { + position = "14.289 -69.4658 113.279"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "EndPad"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Skydive_lt.mis b/marble/data/missions/intermediate/Skydive_lt.mis new file mode 100644 index 0000000..2023cd2 --- /dev/null +++ b/marble/data/missions/intermediate/Skydive_lt.mis @@ -0,0 +1,372 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Earn your Pilotwings"; + level = "8"; + startHelpText = "Eyes forward at all times."; + artist = "Kevin"; + name = "Skydive"; + goldTime = "14000"; + type = "intermediate"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569861149077900047473967104.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160049016675429178998259712.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + scale = "1 1 1"; + position = "0 0 0"; + locked = "true"; + rotation = "1 0 0 0"; + }; + new SimGroup(CheckPoints) { + + new StaticShape(StartPoint) { + position = "-0.197 1.058 498.998"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + }; + new ScriptObject() { + gemCount = "10"; + penaltyTime = "0"; + powerUp = "0"; + pad = "9307"; + bonusTime = "0"; + time = "0"; + }; + new Item() { + position = "-0.274428 15.3265 138.113"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-3.37036 5.50146 499.201"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/trapdoor.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 7.458 494.116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 7.458 469.603"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 7.458 439.252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 7.458 409.772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 7.458 379.678"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 7.458 349.713"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 8 319.886"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 9 289.893"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 10 259.65"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 11 229.413"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.596389 8.53856 137.754"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/advanced/platform_circle.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-0.197 15.4 137.534"; + rotation = "1 0 0 0"; + scale = "2.36427 2.54271 34.1142"; + interiorFile = "~/data/interiors/addon/pipecap.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "-0.779771 2.97449 138.165"; + rotation = "1 0 0 0"; + scale = "1.5416 1.58496 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "-0.281012 4.81651 498.99"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.197 7.458 494"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.197 7.458 468.79"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.197 7.458 469.82"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.125421 7.47562 438.952"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.197 7.458 440.62"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.23524 7.44188 410.343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.16199 7.51004 408.872"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.181472 7.43983 380.449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.108222 7.50799 378.778"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.21898 7.31955 350.484"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.145719 7.38765 348.813"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.264155 7.9568 320.657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.190905 8.025 318.586"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.253956 9.06008 290.664"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.180706 9.12824 288.393"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.240433 9.80486 260.421"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.167183 9.87302 258.75"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.347681 11.0583 230.184"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1903"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "4949"; + bonusTime = "0"; + time = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/Tube Dive!.mis b/marble/data/missions/intermediate/Tube Dive!.mis new file mode 100644 index 0000000..9df525e --- /dev/null +++ b/marble/data/missions/intermediate/Tube Dive!.mis @@ -0,0 +1,276 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Diving on tube!"; + name = "Tube Dive!"; + level = "15"; + startHelpText = "Gain enough speed!"; + artist = "Kevin"; + goldTime = "30000"; + type = "intermediate"; + time = "35000"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0.349971"; + cloudHeightPer[1] = "0.3"; + cloudHeightPer[2] = "0.199973"; + cloudSpeed1 = "0.0005"; + cloudSpeed2 = "0.001"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.900000 0.900000 0.900000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "0 0 0"; + fogVolume2 = "0 0 0"; + fogVolume3 = "0 0 0"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 1 0"; + windEffectPrecipitation = "1"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -222768174765569860000000000000000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -170698929442160050000000000000000000000.000000"; + locked = "true"; + }; + new Sun() { + direction = "0.544508 0.439467 -0.714409"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + locked = "true"; + position = "0 0 0"; + }; + new SimGroup(CheckPoints) { + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2073"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1837"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3339"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-72.9302 10.7377 504.541"; + rotation = "1 0 0 0"; + scale = "3 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1991"; + bonusTime = "0"; + time = "0"; + }; + new StaticShape(StartPoint) { + position = "-0.346759 10.9519 502.222"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1836"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1836"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3594"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "4883"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1730"; + bonusTime = "0"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "4535"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-100.191 11.2476 517.956"; + rotation = "0 1 0 155"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/tube_warm_long.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1744"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-132.383 10.9439 522.772"; + rotation = "1 0 0 0"; + scale = "3 3 6"; + interiorFile = "~/data/interiors/Tube_cution.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-132.386 10.2189 509.424"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-360.012 10.886 334.073"; + rotation = "0 1 0 45"; + scale = "10 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-159.674 10.2482 512.154"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-157.324 10.6915 506.609"; + rotation = "0 1 0 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "3419"; + bonusTime = "0"; + time = "0"; + }; + new InteriorInstance() { + position = "-439.583 10.8222 254.295"; + rotation = "0 1 0 45"; + scale = "5 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-748.484 24.3502 256.242"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/3DMAZE.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-456.56 10.5583 237.269"; + rotation = "0 1 0 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-456.613 10.7016 235.662"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/smallplatform.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "5675"; + bonusTime = "0"; + time = "0"; + }; + new StaticShape(EndPoint) { + position = "-720.666 12.2226 248.56"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "-132.077 10.9747 526.409"; + rotation = "1 0 0 0"; + scale = "3 3 3"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-132.723 10.3478 509.599"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- \ No newline at end of file diff --git a/marble/data/missions/intermediate/Unexpected.mis b/marble/data/missions/intermediate/Unexpected.mis new file mode 100644 index 0000000..3044dfb --- /dev/null +++ b/marble/data/missions/intermediate/Unexpected.mis @@ -0,0 +1,833 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + name = "Unexpected"; + level = "20"; + type = "Intermediate"; + desc = "Jump!"; + startHelpText = "Expect the unexpected."; + artist = "Kevin"; + goldTime = "37000"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 -8.80821e-05 -4.75729e-38"; + fogVolume2 = "-1 -1.1801e-38 -1.81958e+12"; + fogVolume3 = "-1 8.27721e+26 1.14327e+27"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1143274005030249470181244928.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "0.57735 0.57735 -0.57735"; + color = "0.600000 0.600000 0.600000 1.000000"; + ambient = "0.400000 0.400000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/HoD.dif"; + showTerrainInside = "0"; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-4.25 5 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4.25 5 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4.25 5 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "4.25 9 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4.25 9 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4.25 9 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-4.25 13 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4.25 13 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4.25 13 1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 -3 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "4000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -3 16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "11000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -3 16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "2000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -3 21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + type = "Normal"; + msToNext = "4000"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -7 9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-0.5000000 -0.5000000 0.2500000 0.0000000 1.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -0.5000000"; + targetTime = "99999"; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 17.25 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "7500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "5000"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 20.75 16.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "8500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 16.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "6000"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 24.75 17.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "9500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 17.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "7000"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 29.25 16.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "10500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 16.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "7500"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "7"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 33.25 17.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "11500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 17.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "7800"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "8"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 36.75 16.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "12500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 16.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "8000"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "8500"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "9"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-4.25 13 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4.25 13 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4.25 13 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "10"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "4.25 9 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4.25 9 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4.25 9 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "11"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "-4.25 5 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "4.25 5 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "-4.25 5 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + type = "Normal"; + msToNext = "1500"; + smoothingType = "Linear"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "12"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + isLooping = "1"; + + new Marker() { + position = "0 8.75 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + type = "Normal"; + msToNext = "6500"; + smoothingType = "Linear"; + }; + new Marker() { + position = "0 -20.75 16.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + type = "Normal"; + msToNext = "5000"; + smoothingType = "Linear"; + }; + }; + new Trigger(MustChange) { + position = "0 -3 16.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriggerGotoTarget"; + polyhedron = "-2.0000000 -5.0000000 0.5000000 0.0000000 10.0000000 0.0000000 4.0000000 0.0000000 0.0000000 0.0000000 0.0000000 -1.0000000"; + targetTime = "99999"; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/HoD.dif"; + interiorIndex = "13"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "0"; + }; + }; + new StaticShape(StartPoint) { + position = "0 -10 0.240002"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "0 14 21.24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-5.5 23.5 -3.25"; + rotation = "1 0 0 0"; + scale = "11 39 41.5"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-0.01612 5.00412 4.72361"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.000422001 14.0026 8.26917"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "0.0026102 -3.01885 16.3044"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "0.334248 14.115 27.9023"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "-0.000329368 -7.8298 6.86286"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-0.0199998 8.9421 3.45418"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + pad = "6037"; + gemCount = "0"; + time = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "0.152881 18.1171 0.461095"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/WoodenCurve.mis b/marble/data/missions/intermediate/WoodenCurve.mis new file mode 100644 index 0000000..69002a8 --- /dev/null +++ b/marble/data/missions/intermediate/WoodenCurve.mis @@ -0,0 +1,207 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + startHelpText = "Aim low for best results."; + goldTime = "24000"; + time = "0"; + name = "Wooden Curve"; + desc = "Do not fall off!"; + artist = "Kevin"; + level = "14"; + type = "Intermediate"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-31 1.3684e-38"; + fogVolume2 = "-1 1.07208e-14 8.756e-14"; + fogVolume3 = "-1 5.1012e-10 2.05098e-08"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.442343 -0.475025 -0.760713"; + color = "1.400000 1.200000 0.500000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-0.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-1.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-2.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-3.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-4.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-5.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-6.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-7.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-8.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-9.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-10.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-11.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-12.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-13.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-14.dif"; + showTerrainInside = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/wc/WoodenCurve-15.dif"; + showTerrainInside = "1"; + }; + new StaticShape(StartPoint) { + position = "-120 0 156.25"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-105.25 -8.75 130.502"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-187.547 131.537 100.185"; + rotation = "1 0 0 0"; + scale = "171.161 174.86 100"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "-97.25 50.25 103.487"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger() { + position = "-143.721 100.716 109.781"; + rotation = "1 0 0 0"; + scale = "70 100 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-143.721 28.716 145.781"; + rotation = "1 0 0 0"; + scale = "70 100 10"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/blackdiamond.mis b/marble/data/missions/intermediate/blackdiamond.mis new file mode 100644 index 0000000..9c91ef0 --- /dev/null +++ b/marble/data/missions/intermediate/blackdiamond.mis @@ -0,0 +1,195 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "30000"; + artist = "Kevin"; + desc = "Race all the way down to the bottom!"; + level = "6"; + type = "Intermediate"; + name = "Downhill Racing"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 1.84699e+025 3670.77"; + fogVolume2 = "-1 7.22507e+028 5.10655e+028"; + fogVolume3 = "-1 1.01124e+012 1.69273e+022"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 274952335980479310000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 11918.598633"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1109264997360148200000000000.000000"; + }; + new Sun() { + direction = "-0.246791 0.601589 -0.759727"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/blackdiamond1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/blackdiamond2.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/blackdiamond3.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "-944.2 -84 -126.5"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "632 196 149.5"; + rotation = "0 0 1 220.198"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Trigger(Bounds) { + position = "-992.252 287.521 -136.712"; + rotation = "1 0 0 0"; + scale = "1676.51 768.496 443.65"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-944.737 -83.4275 -114.478"; + rotation = "0 0 -1 111.154"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Trigger() { + position = "238.598 278.595 51.2716"; + rotation = "1 0 0 0"; + scale = "438.713 680.545 14.2295"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-64.4203 234.794 -30.4147"; + rotation = "1 0 0 0"; + scale = "438.713 697.437 14.2295"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-422.809 301.437 -63.2515"; + rotation = "1 0 0 0"; + scale = "438.713 707.894 14.2295"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + time = "0"; + pad = "1732"; + }; + new Item() { + position = "591.527 108.265 130.401"; + rotation = "0 0 -1 45.8366"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-283.907 -39.7275 -27.7239"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "272.564 -100.055 86.3087"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "491.986 55.283 105.295"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "544.069 155.781 130.442"; + rotation = "0 0 -1 50.9932"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-167.299 -84.8322 -25.4698"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-248.284 -95.8942 -27.9224"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/data/missions/intermediate/cube.mis b/marble/data/missions/intermediate/cube.mis new file mode 100644 index 0000000..91e8023 --- /dev/null +++ b/marble/data/missions/intermediate/cube.mis @@ -0,0 +1,698 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "30000"; + artist = "Alex Swanson"; + desc = "My ass just spontaneously combusted."; + level = "4"; + type = "Template"; + name = "Cube"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 2.8026e-045 1.89175e-042"; + fogVolume2 = "-1 2.8026e-045 1.85392e-042"; + fogVolume3 = "-1 2.8026e-045 1.82869e-042"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 0.000000"; + }; + new Sun() { + direction = "-0.629444 -0.320255 -0.707981"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/cube.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1798"; + }; + new Item() { + position = "11 -23.8 -27"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "27 0 -27"; + rotation = "1 0 0 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "15 -3 -24"; + rotation = "0 0 -1 90.573"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Item() { + position = "6.8 -3 -0.999999"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.9871 -11.1929 -21"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "27 -21 -24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "27 -21 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "27 -21 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "27 -21 -24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "27 -21 -24"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "21 -24 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 -12 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 -12 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 -24 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 -24 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "21 -12 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 0 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 0 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 -12 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "21 -12 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "9 -27 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "9 -27 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "9 -27 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "9 -27 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "9 -27 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "3"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "6 -9 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18 -9 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18 -9 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "6 -9 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "6 -9 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "4"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "6 -9 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18 -9 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18 -9 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "6 -9 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "6 -9 -21"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "5"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "18 -27 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "30 -27 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "30 -27 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "3000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18 -27 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1500"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "18 -27 -9"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/xbox/cube.dif"; + interiorIndex = "6"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new Trigger(Bounds) { + position = "-3 8.66321 -33"; + rotation = "1 0 0 0"; + scale = "40.4468 41.6632 50"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Item() { + position = "6.76938 -2.68698 -11.0888"; + rotation = "1 0 0 180"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "7.0043 -23.1288 -26.962"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "17.0641 -11.203 -2.99031"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.93079 -11.1464 -2.80408"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2229"; + }; + new Item() { + position = "7.50967 -9.1652 -14.916"; + rotation = "-0.569806 0.581317 -0.580854 239.389"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.00156 -23.1936 -1.15"; + rotation = "-1 0 0 90"; + scale = "1 1 1"; + dataBlock = "AntiGravityItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "14.8879 -9.26729 -11.5246"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "3.01854 -24.2365 -2.91722"; + rotation = "1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "26.8536 -3.01763 -23.4204"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.5961 -2.88738 -26.9537"; + rotation = "0 -1 0 91.1003"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "30.5999 -2.95134 -2.90813"; + rotation = "0 -1 0 91.1003"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "26.8798 6.82215 -26.6692"; + rotation = "0.923788 0.270647 0.270863 94.4919"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape() { + position = "6.77834 -2.0186 0.692068"; + rotation = "0 -1 0 47.5555"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new StaticShape() { + position = "30.8953 -11.474 -21.987"; + rotation = "0.78416 -0.438976 0.438627 103.751"; + scale = "1 1 1"; + dataBlock = "SignPlainLeft"; + }; + new StaticShape() { + position = "18.6429 -11.162 -2.09106"; + rotation = "0.239344 0.686459 0.68665 206.98"; + scale = "1 1 1"; + dataBlock = "SignPlainRight"; + }; + new Item() { + position = "27.0089 -3.10072 0.6"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "2195"; + }; + new Item() { + position = "26.9763 0.6 -2.78608"; + rotation = "1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + time = "0"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1840"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "2.95223 -11.4266 -14.9237"; + rotation = "1 0 0 89.9544"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/data/missions/intermediate/divergence.mis b/marble/data/missions/intermediate/divergence.mis new file mode 100644 index 0000000..b1b75c0 --- /dev/null +++ b/marble/data/missions/intermediate/divergence.mis @@ -0,0 +1,366 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + time = "75000"; + desc = "Choose your shortcut!"; + level = "11"; + goldTime = "10000"; + artist = "Kevin"; + type = "Intermediate"; + name = "Path Choosing"; + difficulty = 6; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 1.84699e+025 3670.77"; + fogVolume2 = "-1 7.22507e+028 5.10655e+028"; + fogVolume3 = "-1 1.01124e+012 1.69273e+022"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 274952335980479310000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 11918.598633"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1109264997360148200000000000.000000"; + }; + new Sun() { + direction = "-0.453346 0.453346 -0.767434"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/divergence.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "52 13 -2.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "50 13 -1.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "48 13 -0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "46 13 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "34 27 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "34 29 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "34 31 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "34 33 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "10 33 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8 33 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-18 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-20 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-22 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-24 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-26 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-28 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-30 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-32 27 4.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "8 35 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "36 33 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "38 33 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "40 33 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TrapDoor"; + timeout = "200"; + resetTime = "Default"; + open = "0"; + }; + new StaticShape() { + position = "-1 20 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "DuctFan"; + }; + new Item() { + position = "2 -7 0.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(StartPoint) { + position = "93 0 -7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-53 4 8.5"; + rotation = "0 0 1 178.372"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Trigger(Bounds) { + position = "-66.382 62.2743 -10.0889"; + rotation = "1 0 0 0"; + scale = "172.571 74.07 35.589"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + bonusTime = "0"; + time = "0"; + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + pad = "1781"; + }; + new Item() { + position = "-3.03044 19.8212 8.44573"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.1942 32.9558 1.01445"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "32.1113 5.05026 1.06751"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "50.0827 13.1081 -0.863436"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.04711 53.068 2.99814"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-52.9219 4.76634 17.2102"; + rotation = "0 0 1 70.4738"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "97.3858 -4.46812 -7.20103"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/data/missions/intermediate/kingofthemountain.mis b/marble/data/missions/intermediate/kingofthemountain.mis new file mode 100644 index 0000000..c6646b2 --- /dev/null +++ b/marble/data/missions/intermediate/kingofthemountain.mis @@ -0,0 +1,659 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + type = "Advanced"; + name = "King of the Mountain"; + desc = "Master this monumental mountain challenge!"; + level = "8"; + artist = "Kevin"; + goldTime = "100000"; + time = "0"; + }; + new MissionArea(MissionArea) { + Area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogStorm1 = "0"; + fogStorm2 = "0"; + fogStorm3 = "0"; + fogVolume1 = "-1 7.45949e-31 1.3684e-38"; + fogVolume2 = "-1 1.07208e-14 8.756e-14"; + fogVolume3 = "-1 5.1012e-10 2.05098e-08"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + noRenderBans = "1"; + }; + new Sun() { + direction = "-0.68704 0.433247 -0.583329"; + color = "1.000000 1.000000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "-15.5437 -7.53125 37.9946"; + rotation = "0 0 1 119.748"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new StaticShape(StartPoint) { + position = "1.84807 -20.0121 0.96409"; + rotation = "0 0 -1 88.8085"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Item() { + position = "-6 -12 1"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain4.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "3.18167 -13.5147 0.776362"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "6.09186 -17.3599 0.509252"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-14.8376 51.3676 39.3834"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-23.2341 36.73 43.9974"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + pad = "1764"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + pad = "1660"; + time = "0"; + }; + new Item() { + position = "2.08345 76.8404 18.1291"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain6.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-2.0153 40.2847 12.2201"; + rotation = "0 -1 0 5.15691"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "36.1721 64.8655 35.2185"; + rotation = "0 0 1 231.657"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "11.741 51.6553 35.4762"; + rotation = "0.0448919 -0.0642305 -0.996925 70.0667"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new InteriorInstance() { + position = "0.0193996 -0.0181274 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain5.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-15.2534 34.3182 46.4667"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Bounds) { + position = "-73.293 119.256 -2.87708"; + rotation = "1 0 0 0"; + scale = "136.706 165.071 239.079"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-19.6395 -5.49399 47.7585"; + rotation = "0.206027 0.883162 0.421399 56.7962"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "4 56 12.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4 38 11.7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-4.5 52.25 37.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "35.9871 70.0081 34.0737"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-4.68445 -14.0623 1.27364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + gemCount = "0"; + penaltyTime = "0"; + powerUp = "0"; + bonusTime = "0"; + pad = "1701"; + time = "0"; + }; + new ScriptObject() { + gemCount = "0"; + powerUp = "0"; + penaltyTime = "0"; + bonusTime = "0"; + pad = "2529"; + time = "0"; + }; + new Item() { + position = "8.10222 98.7188 20.3245"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-19 52.25 38.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19 50.625 38.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "35.4994 66.4116 33.9187"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TriangleBumper"; + }; + new StaticShape() { + position = "-13.75 49.5 38.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6 50.5 37.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.25 51.75 37.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain2.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-5.5 52 37.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6 49 37.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-14.75 49 38.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-6.75 49.5 37.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-15 50 38.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-12 51.0625 38.125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-7.75 49 37.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-16.75 50.75 38.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-4 49.375 37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-17 51.75 38.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain7.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-17.75 49.5 38.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/kingofthemountain3.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-12.5 49.125 38.3125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-21.5 50.25 39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-22 51 39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-21 52 39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-20 50.125 38.875"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-2.85 50.5 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-1.75 51 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-1.5 49.95 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-2 49 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-10.75 52 37.625"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "0 49.5 36.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-0.2 51.75 36.3158"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-10.125 48.75 37.375"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "2 52 36.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "1.6 51.25 36.1658"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "2 50.5 36.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "3.5 50 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-4 50.75 37"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "4.75 49.25 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "3.75 49 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "4.75 51.25 36.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "5.75 51.25 36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "5.75 50 36"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "7.25 49.75 35.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "7.25 51.75 35.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-11.25 50 37.8125"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "9.5 51 35.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "9.25 49.25 35.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "8.75 50 35.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "7.25 50.75 35.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new Item() { + position = "-11.75 47.25 45"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-22.25 49 39"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new StaticShape() { + position = "-19.5 48.75 38.75"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "LandMine"; + resetTime = "Default"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new Item() { + position = "-25.2133 54.174 39.1654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/mountaintop.mis b/marble/data/missions/intermediate/mountaintop.mis new file mode 100644 index 0000000..57730e7 --- /dev/null +++ b/marble/data/missions/intermediate/mountaintop.mis @@ -0,0 +1,204 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + level = "3"; + type = "Intermediate"; + time = "50000"; + goldTime = "20000"; + name = "Mountaintop Retreat"; + desc = "Climb the spiral path."; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.614021 0.433884 -0.659336"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/ziggurat.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "2 2 -4"; + rotation = "0 0 -1 89.9544"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new Item() { + position = "-24 44 12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-30 34 32"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape(EndPoint) { + position = "-16 34 38"; + rotation = "0 0 1 89.3814"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "-2 12 22.25"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Bounds) { + position = "-47.5 49.5 -38.3317"; + rotation = "1 0 0 0"; + scale = "55 53 111.789"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "31.7165 74.4092 -83.803"; + rotation = "0 0 1 89.9544"; + scale = "102.447 32.4373 60.5203"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "0.118849 9.75097 23.1798"; + rotation = "0 0 1 143.239"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-15.6525 33.9799 46.4119"; + rotation = "0 0 1 58.4417"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new StaticShape() { + position = "-27.7497 35.6593 33.0504"; + rotation = "0 0 1 78.4952"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new Item() { + position = "-6.58148 11.9601 22.9222"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-10.3225 11.8218 24.7931"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new StaticShape() { + position = "-21.8208 42.2183 13.0623"; + rotation = "0 0 1 93.3921"; + scale = "1 1 1"; + dataBlock = "SignPlainUp"; + }; + new ScriptObject() { + penaltyTime = "0"; + powerUp = "0"; + pad = "1744"; + time = "0"; + bonusTime = "0"; + gemCount = "0"; + }; + new ScriptObject() { + penaltyTime = "0"; + powerUp = "0"; + pad = "1736"; + time = "0"; + bonusTime = "0"; + gemCount = "0"; + }; + new Trigger() { + position = "-59.9552 13.255 -73.4696"; + rotation = "1 0 0 0"; + scale = "102.447 37.5042 54.8228"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-33.5756 71.685 -38.4839"; + rotation = "0 0 1 89.9544"; + scale = "102.447 25.8235 29.7402"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-70.9868 72.5185 -60.9176"; + rotation = "1 0 0 0"; + scale = "102.447 33.4965 57.8164"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new ScriptObject() { + penaltyTime = "0"; + powerUp = "0"; + pad = "2108"; + time = "0"; + bonusTime = "0"; + gemCount = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/data/missions/intermediate/pipenightmare.mis b/marble/data/missions/intermediate/pipenightmare.mis new file mode 100644 index 0000000..5736d63 --- /dev/null +++ b/marble/data/missions/intermediate/pipenightmare.mis @@ -0,0 +1,416 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "45000"; + time = "60000"; + type = "intermediate"; + desc = "Pipes are more than a dream now!"; + name = "Pipe Nightmare"; + artist = "Kevin"; + level = "12"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 1.84699e+025 3670.77"; + fogVolume2 = "-1 7.22507e+028 5.10655e+028"; + fogVolume3 = "-1 1.01124e+012 1.69273e+022"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 274952335980479310000000000.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 11918.598633"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 1109264997360148200000000000.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new Trigger() { + position = "-101.647 -29.8431 7.2718"; + rotation = "1 0 0 0"; + scale = "5.41862 8.33884 2.60553"; + dataBlock = "HelpTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + text = "Enter text here"; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new InteriorInstance() { + position = "6.17331 83.0139 -13.7948"; + rotation = "1 0 0 15"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2192"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1667"; + }; + new StaticShape(StartPoint) { + position = "6 -6 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1520"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "2164"; + }; + new SimGroup(MustChange_g) { + + new Path() { + }; + }; + new InteriorInstance() { + position = "6.07575 -6.12418 7.67725"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "5.52325 176.536 -13.3539"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe3.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.09069 127.355 -25.8112"; + rotation = "1 0 0 15"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "6.09105 126.546 -13.255"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe1.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-31.2519 267.472 -13.812"; + rotation = "0 0 -1 20"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-9.47743 232.192 -13.5769"; + rotation = "0 0 -1 9.99997"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new Sun(sun2) { + direction = "0.57735 0.57735 -0.57735"; + color = "-2.000000 -2.000000 -2.000000 1.000000"; + ambient = "0.200000 0.200000 0.200000 1.000000"; + }; + new InteriorInstance() { + position = "-58.763 298.168 -14.1644"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-337.44 287.174 -34.1878"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-97.4576 318.838 -14.3051"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; + new InteriorInstance() { + position = "-156.473 287.159 -14.8009"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-214.93 286.84 -15.1985"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe7.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-358.781 286.822 -75.5234"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe6.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1985"; + }; + new InteriorInstance() { + position = "-614.562 36.9799 -116.544"; + rotation = "0 1 0 135"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-290.426 286.89 -35.9318"; + rotation = "0 1 0 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe6.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-442.124 308.133 -115.073"; + rotation = "0 0 -1 20"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-347.152 286.857 -114.374"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-377.136 286.864 -114.578"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-408.694 300.398 -114.761"; + rotation = "0 0 -1 9.99997"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.493 255.955 -116.374"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-476.254 310.001 -115.241"; + rotation = "0 0 -1 30"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-514.9 310.637 -115.655"; + rotation = "0 0 -1 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-552.51 301.488 -115.722"; + rotation = "0 0 -1 60"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-586.383 282.819 -116.262"; + rotation = "0 0 -1 75"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe5.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-614.508 133.641 -118.027"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-614.228 197.105 -116.526"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.224 157.111 -116.581"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.245 117.105 -116.399"; + rotation = "0 1 0 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.398 77.091 -116.413"; + rotation = "0 1 0 90"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.134 0.076334 -116.853"; + rotation = "0 -1 0 45"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-613.979 -382.515 -113.607"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new InteriorInstance() { + position = "-614.061 -39.948 -116.846"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.046 -80.0391 -117.081"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new Item() { + position = "-614.332 -129.011 -118.51"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "-614.059 -149.032 -117.109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.048 -188.907 -117.221"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + time = "0"; + powerUp = "0"; + pad = "1985"; + }; + new InteriorInstance() { + position = "-614.029 -250.061 -116.84"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.042 -290.06 -116.87"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/pipe0.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-614.142 -382.046 -119.304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/addon/smallplatform.dif"; + showTerrainInside = "0"; + }; + new StaticShape(EndPoint) { + position = "-614.271 -381.978 -119.029"; + rotation = "0 0 1 180"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/q1e1m1.mis b/marble/data/missions/intermediate/q1e1m1.mis new file mode 100644 index 0000000..5717146 --- /dev/null +++ b/marble/data/missions/intermediate/q1e1m1.mis @@ -0,0 +1,506 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "25000"; + time = "60000"; + type = "intermediate"; + desc = "Explore this mysterious room."; + name = "Quake 1"; + artist = "Kevin"; + level = "12"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.638261 0.459006 -0.61801"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new SimGroup(PathNodeGroup) { + + new StaticShape(CameraPath1) { + position = "0.793102 -52.7172 10.9527"; + rotation = "1 0 0 12.5"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath2"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath2) { + position = "0.391662 -25.4342 9.30053"; + rotation = "0.0383949 0.0574624 -0.997609 112.627"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath3"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath3) { + position = "-13.9668 -24.4166 8.72385"; + rotation = "-0.0238127 -0.0574885 0.998062 224.921"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath4"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath4) { + position = "-14.3423 -24.1543 0.132277"; + rotation = "-0.0114378 -0.057501 0.99828 202.463"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath5"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath5) { + position = "-10.7513 -5.99215 3.50602"; + rotation = "-7.28925e-008 -0.0575048 0.998345 180"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath6"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath6) { + position = "-9.91398 17.6317 1.75147"; + rotation = "0.0114376 -0.057501 0.99828 157.538"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath7"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath7) { + position = "-22.4633 22.4083 3.48432"; + rotation = "0.0238125 -0.0574885 0.998062 135.079"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath8"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath8) { + position = "-23.6639 35.9993 4.39"; + rotation = "0.0383951 -0.0574624 0.997609 112.627"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath9"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath9) { + position = "-19.3377 47.5931 6.32809"; + rotation = "0.05741 -0.0574099 0.996699 90.1893"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath10"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath10) { + position = "11.2272 45.5652 7.59753"; + rotation = "0.0857452 -0.057293 0.994668 67.7831"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath11"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath11) { + position = "11.1528 21.5541 2.78846"; + rotation = "0.13751 -0.0569585 0.988861 45.4554"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath12"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath12) { + position = "18.3372 27.1553 2.49004"; + rotation = "0.277726 -0.0552425 0.959071 23.434"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath13"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath13) { + position = "10.7494 20.3754 -5.04629"; + rotation = "1 2.23319e-006 -3.87706e-005 6.59315"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath14"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath14) { + position = "11.3465 12.8888 -4.23141"; + rotation = "0.277726 0.0552425 -0.959071 23.4339"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath15"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "4000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath15) { + position = "26.2583 11.2267 -6.15054"; + rotation = "0.137511 0.0569585 -0.988861 45.4554"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath16"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "7000"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + new StaticShape(CameraPath16) { + position = "26.5374 -24.435 3.02632"; + rotation = "0.0857453 0.057293 -0.994668 67.7831"; + scale = "1 1 1"; + dataBlock = "PathNode"; + FinalRotOffset = "0 0 0"; + RotationMultiplier = "1"; + Smooth = "0"; + SmoothEnd = "0"; + SmoothStart = "0"; + Spline = "0"; + bezier = "0"; + branchNodes = " "; + delay = "0"; + nextNode = "CameraPath1"; + placed = "1"; + reverseRotation = "0"; + speed = "0"; + timeToNext = "1"; + usePosition = "1"; + useRotation = "1"; + useScale = "1"; + }; + }; + new InteriorInstance() { + position = "-14.4956 -42.7496 7"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/id1/e1m1.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "0.5 -53.75 9"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "26.5 -25.75 -1.25"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.75"; + dataBlock = "EndPad"; + }; + new StaticShape() { + position = "26.5 -25 3"; + rotation = "1 0 0 0"; + scale = "0.5 0.5 0.5"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "8.75 -26.75 9.687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "ShockAbsorberItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.5 31.25 8.18824"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "easterEgg"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + }; + + new Item() { + position = "-15.5 48.5 4.687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "25.65 35.375 -1.05"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + noRespawn = "0"; + showHelpOnPickup = "0"; + }; + new Item() { + position = "26.75 11.75 -6.313"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperSpeedItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-31.75 40.25 2.73343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/subway.mis b/marble/data/missions/intermediate/subway.mis new file mode 100644 index 0000000..63eeaec --- /dev/null +++ b/marble/data/missions/intermediate/subway.mis @@ -0,0 +1,785 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + goldTime = "30000"; + name = "Take The Subway"; + startHelpText = "Be sure to ride the subway!"; + artist = "Kevin"; + time = "0"; + desc = "Go through and over the subways to collect the gems!"; + type = "Beginner"; + level = "7"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "1500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume2 = "-1 -1.73483e+09 -1.73483e+09"; + fogVolume3 = "-1 -1.73483e+09 -1.73483e+09"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000"; + }; + new Sun() { + direction = "0.441278 0.47601 -0.760716"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "-0.296471 0.00838852 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/beginner/platformparty.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-16.4006 29.6258 2.98023e-08"; + rotation = "0 0 -1 89.3814"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-3 42 16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-14.5 12.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "14.5 12.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "14.5 12.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-14.5 12.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-14.5 12.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/beginner/platformparty.dif"; + interiorIndex = "0"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "-9.5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 35.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 35.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "-9.5 1.5 15.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/beginner/platformparty.dif"; + interiorIndex = "1"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new SimGroup(MustChange_g) { + + new Path() { + + new Marker() { + position = "40.5 -0.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "0"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "40.5 -48.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "1"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "40.5 -48.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "2"; + msToNext = "4000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "40.5 -0.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "3"; + msToNext = "1000"; + smoothingType = "Accelerate"; + }; + new Marker() { + position = "40.5 -0.5 7.5"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + seqNum = "4"; + msToNext = "0"; + smoothingType = "Accelerate"; + }; + }; + new PathedInterior(MustChange) { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "PathedDefault"; + interiorResource = "marble/data/interiors/beginner/platformparty.dif"; + interiorIndex = "2"; + basePosition = "0 0 0"; + baseRotation = "1 0 0 0"; + baseScale = "1 1 1"; + initialTargetPosition = "-1"; + }; + }; + new Trigger(Bounds) { + position = "-67 67 -4"; + rotation = "1 0 0 0"; + scale = "134.5 134 37"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-2.32595 42.8627 23.2222"; + rotation = "0 0 -1 15.4698"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new InteriorInstance() { + position = "10.1631 2.42804 11.0486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-39.8299 7.65253 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-29.5344 7.68497 9.54863"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-20.0278 7.69916 9.54864"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.72756 9.28284 9.14854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "3302"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "14.4632 8.31163 9.1304"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new InteriorInstance() { + position = "0.855177 2.52648 11.5979"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "-8.5272 2.63316 12.1472"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new TSStatic() { + position = "-27.9901 1.17564 8"; + rotation = "1 0 0 0"; + scale = "1 7 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new WayPoint() { + position = "-36.0049 11.9631 9.54855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "WayPointMarker"; + team = "0"; + }; + new StaticShape() { + position = "-27.8469 10.7194 8.34842"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.4399 11.6896 8.11565"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.357 11.5767 7.71792"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.6489 11.7721 8.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.7397 11.5245 8.248"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.7436 11.4165 8.21343"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.5638 11.287 8.18046"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-28.0285 11.1855 8.53879"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.4437 11.1184 8.09293"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.3593 10.9536 8.08289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "-27.3722 10.8187 8.08289"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "18.5717 11.1835 9.19657"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new StaticShape() { + position = "19.7406 11.4879 9.19654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new InteriorInstance() { + position = "-12.3212 -44.9992 15.0486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/halftubes/halftube_long.dif"; + showTerrainInside = "0"; + }; + new StaticShape() { + position = "-30.5265 4.65253 7.12107"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionDanger"; + }; + new StaticShape() { + position = "-29.5203 3.88223 9.19654"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SignCautionCaution"; + }; + new InteriorInstance() { + position = "16.9343 -35.3262 8.80116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new InteriorInstance() { + position = "11.0522 -36.1033 9.60109"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/parts/tubes/tube_long.dif"; + showTerrainInside = "0"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "1666"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new TSStatic() { + position = "0.789429 -41.9992 12.1772"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "2.77241 -41.9932 13.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new Item() { + position = "-16.046 8.18217 9.34856"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "-13.3406 29.6008 1.99297"; + rotation = "1 0 0 0"; + scale = "1 14 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "1.68519 -41.9992 12.1272"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-0.0577812 -41.9494 13.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "3.8927 -42.1232 13.065"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-38.0692 -0.820509 10.0118"; + rotation = "1 0 0 0"; + scale = "20 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-5.40956 -41.8125 13.441"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-28.9896 1.46233 7.12037"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-8.36824 -41.8614 13.5485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-7.35547 -41.8426 13.5486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-6.28863 -41.7912 13.7534"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "4.08169 -41.5732 11.9449"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new Item() { + position = "10.1689 2.56775 10.7783"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "-2.20997 -41.8298 12.0498"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-4.32122 -41.7857 12.0276"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-3.22122 -41.8079 11.623"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "4752"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "36.4295 1.95782 7.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-29.778 0.144444 9.38116"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItemBlue"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-31.1802 32.4805 5.34854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.12053 47.0098 15.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28.3293 -44.7546 9.55943"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-6.92975 2.65947 11.2502"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "1672"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new TSStatic() { + position = "7.25702 8.77364 9.5486"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "5357"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new Item() { + position = "-5.93919 11.4564 11.9485"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-5.37233 35.5856 1.34854"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.10507 -45.0927 14.1032"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-3.8329 -18.6706 16.1818"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "-4.08721 28.4616 2"; + rotation = "1 0 0 0"; + scale = "1 14 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new Item() { + position = "-6.45449 31.8596 1.13039"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "-1.1285 -41.7967 11.4586"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-28.1471 11.9248 9.06639"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new Item() { + position = "23.2521 -37.1408 9.65012"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-2.8529 24.8988 15.8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new TSStatic() { + position = "-28.1779 10.846 9.54858"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-22.6053 7.5552 8"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-4.19286 6.28284 8.37364"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-5.82969 8.38739 8.71731"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-6.21414 11.4465 9.54855"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new TSStatic() { + position = "-5.43075 10.6992 8.73887"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + shapeName = "~/data/shapes/QuickSand.dts"; + }; + new ScriptObject() { + powerUp = "0"; + time = "0"; + pad = "2845"; + bonusTime = "0"; + gemCount = "0"; + penaltyTime = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- diff --git a/marble/data/missions/intermediate/urban.mis b/marble/data/missions/intermediate/urban.mis new file mode 100644 index 0000000..eaba7d0 --- /dev/null +++ b/marble/data/missions/intermediate/urban.mis @@ -0,0 +1,239 @@ +//--- OBJECT WRITE BEGIN --- +new SimGroup(MissionGroup) { + + new ScriptObject(MissionInfo) { + desc = "Welcome to the jungle!"; + level = "5"; + goldTime = "50000"; + type = "Intermediate"; + name = "Jungle"; + startHelpText = "Collect the gems"; + }; + new MissionArea(MissionArea) { + area = "-360 -648 720 1296"; + flightCeiling = "300"; + flightCeilingRange = "20"; + locked = "true"; + }; + new Sky(Sky) { + position = "336 136 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + cloudHeightPer[0] = "0"; + cloudHeightPer[1] = "0"; + cloudHeightPer[2] = "0"; + cloudSpeed1 = "0.0001"; + cloudSpeed2 = "0.0002"; + cloudSpeed3 = "0.0003"; + visibleDistance = "500"; + useSkyTextures = "1"; + renderBottomTexture = "1"; + SkySolidColor = "0.600000 0.600000 0.600000 1.000000"; + fogDistance = "300"; + fogColor = "0.600000 0.600000 0.600000 1.000000"; + fogVolume1 = "-1 7.45949e-031 1.3684e-038"; + fogVolume2 = "-1 1.07208e-014 8.756e-014"; + fogVolume3 = "-1 5.1012e-010 2.05098e-008"; + materialList = "~/data/skies/intermediate/sky_day.dml"; + windVelocity = "1 0 0"; + windEffectPrecipitation = "0"; + noRenderBans = "1"; + fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000"; + fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004"; + fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000"; + }; + new Sun() { + direction = "0.545417 -0.358918 -0.757428"; + color = "1.400000 1.200000 0.400000 1.000000"; + ambient = "0.300000 0.300000 0.400000 1.000000"; + }; + new InteriorInstance() { + position = "0 0 0"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + interiorFile = "~/data/interiors/xbox/urban_jungle_xbox.dif"; + showTerrainInside = "0"; + }; + new StaticShape(StartPoint) { + position = "-83 -17 22"; + rotation = "0 0 1 90"; + scale = "1 1 1"; + dataBlock = "StartPad"; + }; + new StaticShape(EndPoint) { + position = "-83 -23 22"; + rotation = "0 0 -1 90"; + scale = "1 1 1"; + dataBlock = "EndPad"; + }; + new Item() { + position = "83 7 -16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "11 17 2"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "28 33 -12"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-15 -31 10"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "-50 -20 14"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34 -34 -4"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "GemItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "65 -11 -16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "SuperJumpItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "27 -27 16"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Trigger(Bounds) { + position = "-89.5 41.5 -21.5837"; + rotation = "1 0 0 0"; + scale = "179 83 131.096"; + dataBlock = "InBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new Trigger() { + position = "-99.6667 52.1628 -20.0655"; + rotation = "1 0 0 0"; + scale = "90.4598 90.6029 18.3236"; + dataBlock = "OutOfBoundsTrigger"; + polyhedron = "0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000"; + }; + new StaticShape() { + position = "-82.7298 -23.3251 28.0223"; + rotation = "0 0 1 55.0039"; + scale = "1 1 1"; + dataBlock = "SignFinish"; + }; + new Item() { + position = "-2.01179 -8.92377 28.5687"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "1.5308 -5.07765 28.617"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "60.8952 13.124 8.52161"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "64.7587 17.201 8.53144"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "70.9778 15.1011 31.9171"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "HelicopterItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "46.5026 -11.38 -0.553632"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new Item() { + position = "34.6709 -10.8193 -0.407708"; + rotation = "1 0 0 0"; + scale = "1 1 1"; + dataBlock = "TimeTravelItem"; + collideable = "0"; + static = "1"; + rotate = "1"; + }; + new ScriptObject() { + penaltyTime = "0"; + powerUp = "0"; + pad = "1980"; + bonusTime = "0"; + time = "0"; + gemCount = "0"; + }; + new AudioProfile(MusicProfile) { + fileName = "~/data/sound/Shell.ogg"; + description = "AudioMusic"; + preload = "0"; + }; +}; +//--- OBJECT WRITE END --- + diff --git a/marble/data/particles/bubble.png b/marble/data/particles/bubble.png new file mode 100644 index 0000000..0005efb Binary files /dev/null and b/marble/data/particles/bubble.png differ diff --git a/marble/data/particles/saturn.png b/marble/data/particles/saturn.png new file mode 100644 index 0000000..403ad89 Binary files /dev/null and b/marble/data/particles/saturn.png differ diff --git a/marble/data/particles/smoke.png b/marble/data/particles/smoke.png new file mode 100644 index 0000000..9125fc4 Binary files /dev/null and b/marble/data/particles/smoke.png differ diff --git a/marble/data/particles/spark.png b/marble/data/particles/spark.png new file mode 100644 index 0000000..177c15f Binary files /dev/null and b/marble/data/particles/spark.png differ diff --git a/marble/data/particles/star.png b/marble/data/particles/star.png new file mode 100644 index 0000000..c063ca6 Binary files /dev/null and b/marble/data/particles/star.png differ diff --git a/marble/data/particles/twirl.png b/marble/data/particles/twirl.png new file mode 100644 index 0000000..32ad137 Binary files /dev/null and b/marble/data/particles/twirl.png differ diff --git a/marble/data/shapes/balls/ball-superball.dts b/marble/data/shapes/balls/ball-superball.dts new file mode 100644 index 0000000..58b8975 Binary files /dev/null and b/marble/data/shapes/balls/ball-superball.dts differ diff --git a/marble/data/shapes/balls/base.marble.png b/marble/data/shapes/balls/base.marble.png new file mode 100644 index 0000000..8d270d2 Binary files /dev/null and b/marble/data/shapes/balls/base.marble.png differ diff --git a/marble/data/shapes/balls/boohbah.marble.png b/marble/data/shapes/balls/boohbah.marble.png new file mode 100644 index 0000000..08e988d Binary files /dev/null and b/marble/data/shapes/balls/boohbah.marble.png differ diff --git a/marble/data/shapes/balls/bouncy.marble.png b/marble/data/shapes/balls/bouncy.marble.png new file mode 100644 index 0000000..5d5fd92 Binary files /dev/null and b/marble/data/shapes/balls/bouncy.marble.png differ diff --git a/marble/data/shapes/balls/gold.marble.png b/marble/data/shapes/balls/gold.marble.png new file mode 100644 index 0000000..1794372 Binary files /dev/null and b/marble/data/shapes/balls/gold.marble.png differ diff --git a/marble/data/shapes/balls/ice.marble.png b/marble/data/shapes/balls/ice.marble.png new file mode 100644 index 0000000..b3de993 Binary files /dev/null and b/marble/data/shapes/balls/ice.marble.png differ diff --git a/marble/data/shapes/balls/kevin.marble.png b/marble/data/shapes/balls/kevin.marble.png new file mode 100644 index 0000000..80e690a Binary files /dev/null and b/marble/data/shapes/balls/kevin.marble.png differ diff --git a/marble/data/shapes/balls/lithtech.marble.png b/marble/data/shapes/balls/lithtech.marble.png new file mode 100644 index 0000000..be5fd5a Binary files /dev/null and b/marble/data/shapes/balls/lithtech.marble.png differ diff --git a/marble/data/shapes/balls/marble.marble.png b/marble/data/shapes/balls/marble.marble.png new file mode 100644 index 0000000..8d9c0a1 Binary files /dev/null and b/marble/data/shapes/balls/marble.marble.png differ diff --git a/marble/data/shapes/balls/skin14.marble.png b/marble/data/shapes/balls/skin14.marble.png new file mode 100644 index 0000000..6209080 Binary files /dev/null and b/marble/data/shapes/balls/skin14.marble.png differ diff --git a/marble/data/shapes/balls/skin34.marble.png b/marble/data/shapes/balls/skin34.marble.png new file mode 100644 index 0000000..d86aef2 Binary files /dev/null and b/marble/data/shapes/balls/skin34.marble.png differ diff --git a/marble/data/shapes/balls/skin35.marble.png b/marble/data/shapes/balls/skin35.marble.png new file mode 100644 index 0000000..598ad80 Binary files /dev/null and b/marble/data/shapes/balls/skin35.marble.png differ diff --git a/marble/data/shapes/balls/skin36.marble.png b/marble/data/shapes/balls/skin36.marble.png new file mode 100644 index 0000000..d06dfca Binary files /dev/null and b/marble/data/shapes/balls/skin36.marble.png differ diff --git a/marble/data/shapes/balls/skin38.marble.png b/marble/data/shapes/balls/skin38.marble.png new file mode 100644 index 0000000..b60e49c Binary files /dev/null and b/marble/data/shapes/balls/skin38.marble.png differ diff --git a/marble/data/shapes/balls/skin57.marble.png b/marble/data/shapes/balls/skin57.marble.png new file mode 100644 index 0000000..d005e8d Binary files /dev/null and b/marble/data/shapes/balls/skin57.marble.png differ diff --git a/marble/data/shapes/balls/strongbad.marble.png b/marble/data/shapes/balls/strongbad.marble.png new file mode 100644 index 0000000..dde5bfc Binary files /dev/null and b/marble/data/shapes/balls/strongbad.marble.png differ diff --git a/marble/data/shapes/balls/water.marble.png b/marble/data/shapes/balls/water.marble.png new file mode 100644 index 0000000..ac7e4bd Binary files /dev/null and b/marble/data/shapes/balls/water.marble.png differ diff --git a/marble/data/shapes/balls/winbox.marble.png b/marble/data/shapes/balls/winbox.marble.png new file mode 100644 index 0000000..28d6d50 Binary files /dev/null and b/marble/data/shapes/balls/winbox.marble.png differ diff --git a/marble/data/shapes/bitmaptest.png b/marble/data/shapes/bitmaptest.png new file mode 100644 index 0000000..5fc0f64 Binary files /dev/null and b/marble/data/shapes/bitmaptest.png differ diff --git a/marble/data/shapes/blah.jpg b/marble/data/shapes/blah.jpg new file mode 100644 index 0000000..393f999 Binary files /dev/null and b/marble/data/shapes/blah.jpg differ diff --git a/marble/data/shapes/bumpers/pball-round-bottm.jpg b/marble/data/shapes/bumpers/pball-round-bottm.jpg new file mode 100644 index 0000000..e346011 Binary files /dev/null and b/marble/data/shapes/bumpers/pball-round-bottm.jpg differ diff --git a/marble/data/shapes/bumpers/pball-round-bottm.png b/marble/data/shapes/bumpers/pball-round-bottm.png new file mode 100644 index 0000000..2d67ed9 Binary files /dev/null and b/marble/data/shapes/bumpers/pball-round-bottm.png differ diff --git a/marble/data/shapes/bumpers/pball-round-side.png b/marble/data/shapes/bumpers/pball-round-side.png new file mode 100644 index 0000000..b9a7500 Binary files /dev/null and b/marble/data/shapes/bumpers/pball-round-side.png differ diff --git a/marble/data/shapes/bumpers/pball-round-top.png b/marble/data/shapes/bumpers/pball-round-top.png new file mode 100644 index 0000000..34e2e19 Binary files /dev/null and b/marble/data/shapes/bumpers/pball-round-top.png differ diff --git a/marble/data/shapes/bumpers/pball_round.dts b/marble/data/shapes/bumpers/pball_round.dts new file mode 100644 index 0000000..fedc361 Binary files /dev/null and b/marble/data/shapes/bumpers/pball_round.dts differ diff --git a/marble/data/shapes/bumpers/pball_tri.dts b/marble/data/shapes/bumpers/pball_tri.dts new file mode 100644 index 0000000..5a24be8 Binary files /dev/null and b/marble/data/shapes/bumpers/pball_tri.dts differ diff --git a/marble/data/shapes/bumpers/triang-side.png b/marble/data/shapes/bumpers/triang-side.png new file mode 100644 index 0000000..1dde8a8 Binary files /dev/null and b/marble/data/shapes/bumpers/triang-side.png differ diff --git a/marble/data/shapes/bumpers/triang-top.png b/marble/data/shapes/bumpers/triang-top.png new file mode 100644 index 0000000..a6883ef Binary files /dev/null and b/marble/data/shapes/bumpers/triang-top.png differ diff --git a/marble/data/shapes/buttons/button-box.png b/marble/data/shapes/buttons/button-box.png new file mode 100644 index 0000000..05f3dc4 Binary files /dev/null and b/marble/data/shapes/buttons/button-box.png differ diff --git a/marble/data/shapes/buttons/button.png b/marble/data/shapes/buttons/button.png new file mode 100644 index 0000000..b5904f7 Binary files /dev/null and b/marble/data/shapes/buttons/button.png differ diff --git a/marble/data/shapes/buttons/pushbutton.dts b/marble/data/shapes/buttons/pushbutton.dts new file mode 100644 index 0000000..6a96618 Binary files /dev/null and b/marble/data/shapes/buttons/pushbutton.dts differ diff --git a/marble/data/shapes/explosives/_ b/marble/data/shapes/explosives/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/shapes/hazards/Spikes - Ball Skin.png b/marble/data/shapes/hazards/Spikes - Ball Skin.png new file mode 100644 index 0000000..25d6f12 Binary files /dev/null and b/marble/data/shapes/hazards/Spikes - Ball Skin.png differ diff --git a/marble/data/shapes/hazards/Spikes - Spikes.png b/marble/data/shapes/hazards/Spikes - Spikes.png new file mode 100644 index 0000000..ed8e30d Binary files /dev/null and b/marble/data/shapes/hazards/Spikes - Spikes.png differ diff --git a/marble/data/shapes/hazards/base.slick.jpg b/marble/data/shapes/hazards/base.slick.jpg new file mode 100644 index 0000000..3f21971 Binary files /dev/null and b/marble/data/shapes/hazards/base.slick.jpg differ diff --git a/marble/data/shapes/hazards/ductfan.dts b/marble/data/shapes/hazards/ductfan.dts new file mode 100644 index 0000000..6347cb4 Binary files /dev/null and b/marble/data/shapes/hazards/ductfan.dts differ diff --git a/marble/data/shapes/hazards/fan-grate.png b/marble/data/shapes/hazards/fan-grate.png new file mode 100644 index 0000000..c3a0454 Binary files /dev/null and b/marble/data/shapes/hazards/fan-grate.png differ diff --git a/marble/data/shapes/hazards/fan-side.jpg b/marble/data/shapes/hazards/fan-side.jpg new file mode 100644 index 0000000..a372cb2 Binary files /dev/null and b/marble/data/shapes/hazards/fan-side.jpg differ diff --git a/marble/data/shapes/hazards/fan-spiral.jpg b/marble/data/shapes/hazards/fan-spiral.jpg new file mode 100644 index 0000000..c18d76d Binary files /dev/null and b/marble/data/shapes/hazards/fan-spiral.jpg differ diff --git a/marble/data/shapes/hazards/fan-top.jpg b/marble/data/shapes/hazards/fan-top.jpg new file mode 100644 index 0000000..68cc5c5 Binary files /dev/null and b/marble/data/shapes/hazards/fan-top.jpg differ diff --git a/marble/data/shapes/hazards/friction_high.jpg b/marble/data/shapes/hazards/friction_high.jpg new file mode 100644 index 0000000..a2376d7 Binary files /dev/null and b/marble/data/shapes/hazards/friction_high.jpg differ diff --git a/marble/data/shapes/hazards/friction_low.jpg b/marble/data/shapes/hazards/friction_low.jpg new file mode 100644 index 0000000..e3cc333 Binary files /dev/null and b/marble/data/shapes/hazards/friction_low.jpg differ diff --git a/marble/data/shapes/hazards/friction_low2.jpg b/marble/data/shapes/hazards/friction_low2.jpg new file mode 100644 index 0000000..41c4b62 Binary files /dev/null and b/marble/data/shapes/hazards/friction_low2.jpg differ diff --git a/marble/data/shapes/hazards/friction_none.jpg b/marble/data/shapes/hazards/friction_none.jpg new file mode 100644 index 0000000..b6e66e0 Binary files /dev/null and b/marble/data/shapes/hazards/friction_none.jpg differ diff --git a/marble/data/shapes/hazards/friction_none2.jpg b/marble/data/shapes/hazards/friction_none2.jpg new file mode 100644 index 0000000..90b969e Binary files /dev/null and b/marble/data/shapes/hazards/friction_none2.jpg differ diff --git a/marble/data/shapes/hazards/ice.slick.jpg b/marble/data/shapes/hazards/ice.slick.jpg new file mode 100644 index 0000000..5432939 Binary files /dev/null and b/marble/data/shapes/hazards/ice.slick.jpg differ diff --git a/marble/data/shapes/hazards/landmine.dts b/marble/data/shapes/hazards/landmine.dts new file mode 100644 index 0000000..af22fe6 Binary files /dev/null and b/marble/data/shapes/hazards/landmine.dts differ diff --git a/marble/data/shapes/hazards/landmine_grs.jpg b/marble/data/shapes/hazards/landmine_grs.jpg new file mode 100644 index 0000000..fcc558f Binary files /dev/null and b/marble/data/shapes/hazards/landmine_grs.jpg differ diff --git a/marble/data/shapes/hazards/landmine_spikes.jpg b/marble/data/shapes/hazards/landmine_spikes.jpg new file mode 100644 index 0000000..ba03b44 Binary files /dev/null and b/marble/data/shapes/hazards/landmine_spikes.jpg differ diff --git a/marble/data/shapes/hazards/null.png b/marble/data/shapes/hazards/null.png new file mode 100644 index 0000000..3b69954 Binary files /dev/null and b/marble/data/shapes/hazards/null.png differ diff --git a/marble/data/shapes/hazards/oilslick.dts b/marble/data/shapes/hazards/oilslick.dts new file mode 100644 index 0000000..a66d15a Binary files /dev/null and b/marble/data/shapes/hazards/oilslick.dts differ diff --git a/marble/data/shapes/hazards/tornado.dts b/marble/data/shapes/hazards/tornado.dts new file mode 100644 index 0000000..32b080c Binary files /dev/null and b/marble/data/shapes/hazards/tornado.dts differ diff --git a/marble/data/shapes/hazards/tornado_tex.png b/marble/data/shapes/hazards/tornado_tex.png new file mode 100644 index 0000000..95d9673 Binary files /dev/null and b/marble/data/shapes/hazards/tornado_tex.png differ diff --git a/marble/data/shapes/hazards/trapdoor.dts b/marble/data/shapes/hazards/trapdoor.dts new file mode 100644 index 0000000..ebaa8f2 Binary files /dev/null and b/marble/data/shapes/hazards/trapdoor.dts differ diff --git a/marble/data/shapes/hazards/trapdoor_t0.jpg b/marble/data/shapes/hazards/trapdoor_t0.jpg new file mode 100644 index 0000000..16594c0 Binary files /dev/null and b/marble/data/shapes/hazards/trapdoor_t0.jpg differ diff --git a/marble/data/shapes/images/glow_bounce.dts b/marble/data/shapes/images/glow_bounce.dts new file mode 100644 index 0000000..ddc522b Binary files /dev/null and b/marble/data/shapes/images/glow_bounce.dts differ diff --git a/marble/data/shapes/images/glow_bounce.png b/marble/data/shapes/images/glow_bounce.png new file mode 100644 index 0000000..03ab0c7 Binary files /dev/null and b/marble/data/shapes/images/glow_bounce.png differ diff --git a/marble/data/shapes/images/helicopter.dts b/marble/data/shapes/images/helicopter.dts new file mode 100644 index 0000000..ca78d3b Binary files /dev/null and b/marble/data/shapes/images/helicopter.dts differ diff --git a/marble/data/shapes/images/helicopter.jpg b/marble/data/shapes/images/helicopter.jpg new file mode 100644 index 0000000..1ba1a82 Binary files /dev/null and b/marble/data/shapes/images/helicopter.jpg differ diff --git a/marble/data/shapes/items/antigravity.dts b/marble/data/shapes/items/antigravity.dts new file mode 100644 index 0000000..390e680 Binary files /dev/null and b/marble/data/shapes/items/antigravity.dts differ diff --git a/marble/data/shapes/items/antigravity.png b/marble/data/shapes/items/antigravity.png new file mode 100644 index 0000000..443bc74 Binary files /dev/null and b/marble/data/shapes/items/antigravity.png differ diff --git a/marble/data/shapes/items/base.gem.png b/marble/data/shapes/items/base.gem.png new file mode 100644 index 0000000..7d2e7e6 Binary files /dev/null and b/marble/data/shapes/items/base.gem.png differ diff --git a/marble/data/shapes/items/black.gem.png b/marble/data/shapes/items/black.gem.png new file mode 100644 index 0000000..7ef4441 Binary files /dev/null and b/marble/data/shapes/items/black.gem.png differ diff --git a/marble/data/shapes/items/blue.gem.png b/marble/data/shapes/items/blue.gem.png new file mode 100644 index 0000000..91942af Binary files /dev/null and b/marble/data/shapes/items/blue.gem.png differ diff --git a/marble/data/shapes/items/enviro1.jpg b/marble/data/shapes/items/enviro1.jpg new file mode 100644 index 0000000..06b130c Binary files /dev/null and b/marble/data/shapes/items/enviro1.jpg differ diff --git a/marble/data/shapes/items/gem.dts b/marble/data/shapes/items/gem.dts new file mode 100644 index 0000000..9ea53b5 Binary files /dev/null and b/marble/data/shapes/items/gem.dts differ diff --git a/marble/data/shapes/items/gem.png b/marble/data/shapes/items/gem.png new file mode 100644 index 0000000..5be2e10 Binary files /dev/null and b/marble/data/shapes/items/gem.png differ diff --git a/marble/data/shapes/items/gemshine.png b/marble/data/shapes/items/gemshine.png new file mode 100644 index 0000000..91c04a7 Binary files /dev/null and b/marble/data/shapes/items/gemshine.png differ diff --git a/marble/data/shapes/items/green.gem.png b/marble/data/shapes/items/green.gem.png new file mode 100644 index 0000000..a30dc59 Binary files /dev/null and b/marble/data/shapes/items/green.gem.png differ diff --git a/marble/data/shapes/items/hourglasswood.jpg b/marble/data/shapes/items/hourglasswood.jpg new file mode 100644 index 0000000..f42a30c Binary files /dev/null and b/marble/data/shapes/items/hourglasswood.jpg differ diff --git a/marble/data/shapes/items/itemarrow.jpg b/marble/data/shapes/items/itemarrow.jpg new file mode 100644 index 0000000..24a2e34 Binary files /dev/null and b/marble/data/shapes/items/itemarrow.jpg differ diff --git a/marble/data/shapes/items/orange.gem.png b/marble/data/shapes/items/orange.gem.png new file mode 100644 index 0000000..ceee79b Binary files /dev/null and b/marble/data/shapes/items/orange.gem.png differ diff --git a/marble/data/shapes/items/powerup-bounce.png b/marble/data/shapes/items/powerup-bounce.png new file mode 100644 index 0000000..78b5beb Binary files /dev/null and b/marble/data/shapes/items/powerup-bounce.png differ diff --git a/marble/data/shapes/items/purple.gem.png b/marble/data/shapes/items/purple.gem.png new file mode 100644 index 0000000..8009261 Binary files /dev/null and b/marble/data/shapes/items/purple.gem.png differ diff --git a/marble/data/shapes/items/red.gem.png b/marble/data/shapes/items/red.gem.png new file mode 100644 index 0000000..0e29eb9 Binary files /dev/null and b/marble/data/shapes/items/red.gem.png differ diff --git a/marble/data/shapes/items/rocket.jpg b/marble/data/shapes/items/rocket.jpg new file mode 100644 index 0000000..1cbd28a Binary files /dev/null and b/marble/data/shapes/items/rocket.jpg differ diff --git a/marble/data/shapes/items/shockabsorber.dts b/marble/data/shapes/items/shockabsorber.dts new file mode 100644 index 0000000..897d762 Binary files /dev/null and b/marble/data/shapes/items/shockabsorber.dts differ diff --git a/marble/data/shapes/items/shockabsorber.png b/marble/data/shapes/items/shockabsorber.png new file mode 100644 index 0000000..c3719ef Binary files /dev/null and b/marble/data/shapes/items/shockabsorber.png differ diff --git a/marble/data/shapes/items/sji_shinysteel.png b/marble/data/shapes/items/sji_shinysteel.png new file mode 100644 index 0000000..001a698 Binary files /dev/null and b/marble/data/shapes/items/sji_shinysteel.png differ diff --git a/marble/data/shapes/items/superbounce.dts b/marble/data/shapes/items/superbounce.dts new file mode 100644 index 0000000..a53ff57 Binary files /dev/null and b/marble/data/shapes/items/superbounce.dts differ diff --git a/marble/data/shapes/items/superjump.dts b/marble/data/shapes/items/superjump.dts new file mode 100644 index 0000000..b816e40 Binary files /dev/null and b/marble/data/shapes/items/superjump.dts differ diff --git a/marble/data/shapes/items/superspeed.dts b/marble/data/shapes/items/superspeed.dts new file mode 100644 index 0000000..016a36c Binary files /dev/null and b/marble/data/shapes/items/superspeed.dts differ diff --git a/marble/data/shapes/items/timetravel.dts b/marble/data/shapes/items/timetravel.dts new file mode 100644 index 0000000..037e4d5 Binary files /dev/null and b/marble/data/shapes/items/timetravel.dts differ diff --git a/marble/data/shapes/items/timetravelitem_glass.png b/marble/data/shapes/items/timetravelitem_glass.png new file mode 100644 index 0000000..9d60870 Binary files /dev/null and b/marble/data/shapes/items/timetravelitem_glass.png differ diff --git a/marble/data/shapes/items/timetravelitem_sand.jpg b/marble/data/shapes/items/timetravelitem_sand.jpg new file mode 100644 index 0000000..18eda96 Binary files /dev/null and b/marble/data/shapes/items/timetravelitem_sand.jpg differ diff --git a/marble/data/shapes/items/trampoline128_t0.jpg b/marble/data/shapes/items/trampoline128_t0.jpg new file mode 100644 index 0000000..6a9de6e Binary files /dev/null and b/marble/data/shapes/items/trampoline128_t0.jpg differ diff --git a/marble/data/shapes/items/turquoise.gem.png b/marble/data/shapes/items/turquoise.gem.png new file mode 100644 index 0000000..74aa2ae Binary files /dev/null and b/marble/data/shapes/items/turquoise.gem.png differ diff --git a/marble/data/shapes/items/yellow.gem.png b/marble/data/shapes/items/yellow.gem.png new file mode 100644 index 0000000..6e838c8 Binary files /dev/null and b/marble/data/shapes/items/yellow.gem.png differ diff --git a/marble/data/shapes/markers/octahedron.dts b/marble/data/shapes/markers/octahedron.dts new file mode 100644 index 0000000..976c1c0 Binary files /dev/null and b/marble/data/shapes/markers/octahedron.dts differ diff --git a/marble/data/shapes/pads/blue.jpg b/marble/data/shapes/pads/blue.jpg new file mode 100644 index 0000000..b32b5ac Binary files /dev/null and b/marble/data/shapes/pads/blue.jpg differ diff --git a/marble/data/shapes/pads/blue.png b/marble/data/shapes/pads/blue.png new file mode 100644 index 0000000..46bc34a Binary files /dev/null and b/marble/data/shapes/pads/blue.png differ diff --git a/marble/data/shapes/pads/bluewhite.ifl b/marble/data/shapes/pads/bluewhite.ifl new file mode 100644 index 0000000..a811dd3 --- /dev/null +++ b/marble/data/shapes/pads/bluewhite.ifl @@ -0,0 +1,2 @@ +blue.jpg 15 +white.jpg 15 \ No newline at end of file diff --git a/marble/data/shapes/pads/endarea.dts b/marble/data/shapes/pads/endarea.dts new file mode 100644 index 0000000..4910a75 Binary files /dev/null and b/marble/data/shapes/pads/endarea.dts differ diff --git a/marble/data/shapes/pads/exit.jpg b/marble/data/shapes/pads/exit.jpg new file mode 100644 index 0000000..1483c21 Binary files /dev/null and b/marble/data/shapes/pads/exit.jpg differ diff --git a/marble/data/shapes/pads/exit.png b/marble/data/shapes/pads/exit.png new file mode 100644 index 0000000..abc34f1 Binary files /dev/null and b/marble/data/shapes/pads/exit.png differ diff --git a/marble/data/shapes/pads/green.jpg b/marble/data/shapes/pads/green.jpg new file mode 100644 index 0000000..8f7dfe6 Binary files /dev/null and b/marble/data/shapes/pads/green.jpg differ diff --git a/marble/data/shapes/pads/green.png b/marble/data/shapes/pads/green.png new file mode 100644 index 0000000..dca3f2d Binary files /dev/null and b/marble/data/shapes/pads/green.png differ diff --git a/marble/data/shapes/pads/greenwhite.ifl b/marble/data/shapes/pads/greenwhite.ifl new file mode 100644 index 0000000..1b8df45 --- /dev/null +++ b/marble/data/shapes/pads/greenwhite.ifl @@ -0,0 +1,2 @@ +green.jpg 15 +white.jpg 15 \ No newline at end of file diff --git a/marble/data/shapes/pads/red.jpg b/marble/data/shapes/pads/red.jpg new file mode 100644 index 0000000..998d5bf Binary files /dev/null and b/marble/data/shapes/pads/red.jpg differ diff --git a/marble/data/shapes/pads/red.png b/marble/data/shapes/pads/red.png new file mode 100644 index 0000000..2109e8d Binary files /dev/null and b/marble/data/shapes/pads/red.png differ diff --git a/marble/data/shapes/pads/spawn.jpg b/marble/data/shapes/pads/spawn.jpg new file mode 100644 index 0000000..0b320d7 Binary files /dev/null and b/marble/data/shapes/pads/spawn.jpg differ diff --git a/marble/data/shapes/pads/spawn.png b/marble/data/shapes/pads/spawn.png new file mode 100644 index 0000000..06451df Binary files /dev/null and b/marble/data/shapes/pads/spawn.png differ diff --git a/marble/data/shapes/pads/startarea.dts b/marble/data/shapes/pads/startarea.dts new file mode 100644 index 0000000..25dbb41 Binary files /dev/null and b/marble/data/shapes/pads/startarea.dts differ diff --git a/marble/data/shapes/pads/white.png b/marble/data/shapes/pads/white.png new file mode 100644 index 0000000..c6d15d7 Binary files /dev/null and b/marble/data/shapes/pads/white.png differ diff --git a/marble/data/shapes/pads/whiteblue.ifl b/marble/data/shapes/pads/whiteblue.ifl new file mode 100644 index 0000000..69877bd --- /dev/null +++ b/marble/data/shapes/pads/whiteblue.ifl @@ -0,0 +1,2 @@ +white.jpg 15 +blue.jpg 15 \ No newline at end of file diff --git a/marble/data/shapes/pads/whitegreen.ifl b/marble/data/shapes/pads/whitegreen.ifl new file mode 100644 index 0000000..f6b12cc --- /dev/null +++ b/marble/data/shapes/pads/whitegreen.ifl @@ -0,0 +1,2 @@ +white.jpg 15 +green.jpg 15 \ No newline at end of file diff --git a/marble/data/shapes/parts/_ b/marble/data/shapes/parts/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/shapes/quicksand.dts b/marble/data/shapes/quicksand.dts new file mode 100644 index 0000000..3283859 Binary files /dev/null and b/marble/data/shapes/quicksand.dts differ diff --git a/marble/data/shapes/signs/base.cautionsign.jpg b/marble/data/shapes/signs/base.cautionsign.jpg new file mode 100644 index 0000000..0a547a1 Binary files /dev/null and b/marble/data/shapes/signs/base.cautionsign.jpg differ diff --git a/marble/data/shapes/signs/base.plainsign.jpg b/marble/data/shapes/signs/base.plainsign.jpg new file mode 100644 index 0000000..06a7e6f Binary files /dev/null and b/marble/data/shapes/signs/base.plainsign.jpg differ diff --git a/marble/data/shapes/signs/caution.cautionsign.jpg b/marble/data/shapes/signs/caution.cautionsign.jpg new file mode 100644 index 0000000..8a31d67 Binary files /dev/null and b/marble/data/shapes/signs/caution.cautionsign.jpg differ diff --git a/marble/data/shapes/signs/cautionsign.dts b/marble/data/shapes/signs/cautionsign.dts new file mode 100644 index 0000000..c4a3896 Binary files /dev/null and b/marble/data/shapes/signs/cautionsign.dts differ diff --git a/marble/data/shapes/signs/cautionsign_pole.jpg b/marble/data/shapes/signs/cautionsign_pole.jpg new file mode 100644 index 0000000..284e1bf Binary files /dev/null and b/marble/data/shapes/signs/cautionsign_pole.jpg differ diff --git a/marble/data/shapes/signs/cautionsignwood.jpg b/marble/data/shapes/signs/cautionsignwood.jpg new file mode 100644 index 0000000..3acba11 Binary files /dev/null and b/marble/data/shapes/signs/cautionsignwood.jpg differ diff --git a/marble/data/shapes/signs/custom_woodblockside.jpg b/marble/data/shapes/signs/custom_woodblockside.jpg new file mode 100644 index 0000000..f42a30c Binary files /dev/null and b/marble/data/shapes/signs/custom_woodblockside.jpg differ diff --git a/marble/data/shapes/signs/danger.cautionsign.jpg b/marble/data/shapes/signs/danger.cautionsign.jpg new file mode 100644 index 0000000..dc6c196 Binary files /dev/null and b/marble/data/shapes/signs/danger.cautionsign.jpg differ diff --git a/marble/data/shapes/signs/down.plainsign.jpg b/marble/data/shapes/signs/down.plainsign.jpg new file mode 100644 index 0000000..41192b3 Binary files /dev/null and b/marble/data/shapes/signs/down.plainsign.jpg differ diff --git a/marble/data/shapes/signs/finishback.ifl b/marble/data/shapes/signs/finishback.ifl new file mode 100644 index 0000000..ca6b4ed --- /dev/null +++ b/marble/data/shapes/signs/finishback.ifl @@ -0,0 +1,15 @@ +finishback_01.png 45 +finishback_02.png 15 +finishback_03.png 15 +finishback_05.png 10 +finishback_04.png 5 +finishback_05.png 2 +finishback_04.png 3 +finishback_05.png 6 +finishback_04.png 2 +finishback_05.png 2 +finishback_04.png 10 +finishback_05.png +finishback_04.png +finishback_05.png 2 +finishback_04.png diff --git a/marble/data/shapes/signs/finishback_01.png b/marble/data/shapes/signs/finishback_01.png new file mode 100644 index 0000000..d3f9f9f Binary files /dev/null and b/marble/data/shapes/signs/finishback_01.png differ diff --git a/marble/data/shapes/signs/finishback_02.png b/marble/data/shapes/signs/finishback_02.png new file mode 100644 index 0000000..755158d Binary files /dev/null and b/marble/data/shapes/signs/finishback_02.png differ diff --git a/marble/data/shapes/signs/finishback_03.png b/marble/data/shapes/signs/finishback_03.png new file mode 100644 index 0000000..0ff34d4 Binary files /dev/null and b/marble/data/shapes/signs/finishback_03.png differ diff --git a/marble/data/shapes/signs/finishback_04.png b/marble/data/shapes/signs/finishback_04.png new file mode 100644 index 0000000..0f206fe Binary files /dev/null and b/marble/data/shapes/signs/finishback_04.png differ diff --git a/marble/data/shapes/signs/finishback_05.png b/marble/data/shapes/signs/finishback_05.png new file mode 100644 index 0000000..0d13957 Binary files /dev/null and b/marble/data/shapes/signs/finishback_05.png differ diff --git a/marble/data/shapes/signs/finishlinesign.dts b/marble/data/shapes/signs/finishlinesign.dts new file mode 100644 index 0000000..619f546 Binary files /dev/null and b/marble/data/shapes/signs/finishlinesign.dts differ diff --git a/marble/data/shapes/signs/finishsign.ifl b/marble/data/shapes/signs/finishsign.ifl new file mode 100644 index 0000000..5f6f4c1 --- /dev/null +++ b/marble/data/shapes/signs/finishsign.ifl @@ -0,0 +1,15 @@ +finishsign_01.png 45 +finishsign_02.png 15 +finishsign_03.png 15 +finishsign_05.png 10 +finishsign_04.png 5 +finishsign_05.png 2 +finishsign_04.png 3 +finishsign_05.png 6 +finishsign_04.png 2 +finishsign_05.png 2 +finishsign_04.png 10 +finishsign_05.png +finishsign_04.png +finishsign_05.png 2 +finishsign_04.png diff --git a/marble/data/shapes/signs/finishsign_01.png b/marble/data/shapes/signs/finishsign_01.png new file mode 100644 index 0000000..29fd47e Binary files /dev/null and b/marble/data/shapes/signs/finishsign_01.png differ diff --git a/marble/data/shapes/signs/finishsign_02.png b/marble/data/shapes/signs/finishsign_02.png new file mode 100644 index 0000000..a8f0664 Binary files /dev/null and b/marble/data/shapes/signs/finishsign_02.png differ diff --git a/marble/data/shapes/signs/finishsign_03.png b/marble/data/shapes/signs/finishsign_03.png new file mode 100644 index 0000000..d5b7c62 Binary files /dev/null and b/marble/data/shapes/signs/finishsign_03.png differ diff --git a/marble/data/shapes/signs/finishsign_04.png b/marble/data/shapes/signs/finishsign_04.png new file mode 100644 index 0000000..2f986b1 Binary files /dev/null and b/marble/data/shapes/signs/finishsign_04.png differ diff --git a/marble/data/shapes/signs/finishsign_05.png b/marble/data/shapes/signs/finishsign_05.png new file mode 100644 index 0000000..349b325 Binary files /dev/null and b/marble/data/shapes/signs/finishsign_05.png differ diff --git a/marble/data/shapes/signs/finishsign_metal.png b/marble/data/shapes/signs/finishsign_metal.png new file mode 100644 index 0000000..134433c Binary files /dev/null and b/marble/data/shapes/signs/finishsign_metal.png differ diff --git a/marble/data/shapes/signs/finishsign_purple.png b/marble/data/shapes/signs/finishsign_purple.png new file mode 100644 index 0000000..f121d8d Binary files /dev/null and b/marble/data/shapes/signs/finishsign_purple.png differ diff --git a/marble/data/shapes/signs/left.plainsign.jpg b/marble/data/shapes/signs/left.plainsign.jpg new file mode 100644 index 0000000..15c277f Binary files /dev/null and b/marble/data/shapes/signs/left.plainsign.jpg differ diff --git a/marble/data/shapes/signs/plainsign.dts b/marble/data/shapes/signs/plainsign.dts new file mode 100644 index 0000000..e6e904f Binary files /dev/null and b/marble/data/shapes/signs/plainsign.dts differ diff --git a/marble/data/shapes/signs/plainsignwood.jpg b/marble/data/shapes/signs/plainsignwood.jpg new file mode 100644 index 0000000..06a7e6f Binary files /dev/null and b/marble/data/shapes/signs/plainsignwood.jpg differ diff --git a/marble/data/shapes/signs/right.plainsign.jpg b/marble/data/shapes/signs/right.plainsign.jpg new file mode 100644 index 0000000..dac29f5 Binary files /dev/null and b/marble/data/shapes/signs/right.plainsign.jpg differ diff --git a/marble/data/shapes/signs/signwood.jpg b/marble/data/shapes/signs/signwood.jpg new file mode 100644 index 0000000..f42a30c Binary files /dev/null and b/marble/data/shapes/signs/signwood.jpg differ diff --git a/marble/data/shapes/signs/signwood2.jpg b/marble/data/shapes/signs/signwood2.jpg new file mode 100644 index 0000000..97da254 Binary files /dev/null and b/marble/data/shapes/signs/signwood2.jpg differ diff --git a/marble/data/shapes/signs/up.plainsign.jpg b/marble/data/shapes/signs/up.plainsign.jpg new file mode 100644 index 0000000..5ae539e Binary files /dev/null and b/marble/data/shapes/signs/up.plainsign.jpg differ diff --git a/marble/data/shapes/signwood.jpg b/marble/data/shapes/signwood.jpg new file mode 100644 index 0000000..59e526f Binary files /dev/null and b/marble/data/shapes/signwood.jpg differ diff --git a/marble/data/shapes/traps/_ b/marble/data/shapes/traps/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/shapes/trophies/_ b/marble/data/shapes/trophies/_ new file mode 100644 index 0000000..e69de29 diff --git a/marble/data/skies/1.bmp b/marble/data/skies/1.bmp new file mode 100644 index 0000000..57c6ed3 Binary files /dev/null and b/marble/data/skies/1.bmp differ diff --git a/marble/data/skies/2.bmp b/marble/data/skies/2.bmp new file mode 100644 index 0000000..f432271 Binary files /dev/null and b/marble/data/skies/2.bmp differ diff --git a/marble/data/skies/3.bmp b/marble/data/skies/3.bmp new file mode 100644 index 0000000..1e5439e Binary files /dev/null and b/marble/data/skies/3.bmp differ diff --git a/marble/data/skies/4.bmp b/marble/data/skies/4.bmp new file mode 100644 index 0000000..14054c6 Binary files /dev/null and b/marble/data/skies/4.bmp differ diff --git a/marble/data/skies/5.bmp b/marble/data/skies/5.bmp new file mode 100644 index 0000000..54dc44a Binary files /dev/null and b/marble/data/skies/5.bmp differ diff --git a/marble/data/skies/6.bmp b/marble/data/skies/6.bmp new file mode 100644 index 0000000..512feb7 Binary files /dev/null and b/marble/data/skies/6.bmp differ diff --git a/marble/data/skies/7.bmp b/marble/data/skies/7.bmp new file mode 100644 index 0000000..8722688 Binary files /dev/null and b/marble/data/skies/7.bmp differ diff --git a/marble/data/skies/advanced/1.png b/marble/data/skies/advanced/1.png new file mode 100644 index 0000000..ecc738e Binary files /dev/null and b/marble/data/skies/advanced/1.png differ diff --git a/marble/data/skies/advanced/2.png b/marble/data/skies/advanced/2.png new file mode 100644 index 0000000..4fe6099 Binary files /dev/null and b/marble/data/skies/advanced/2.png differ diff --git a/marble/data/skies/advanced/3.png b/marble/data/skies/advanced/3.png new file mode 100644 index 0000000..24df277 Binary files /dev/null and b/marble/data/skies/advanced/3.png differ diff --git a/marble/data/skies/advanced/4.png b/marble/data/skies/advanced/4.png new file mode 100644 index 0000000..a5301fe Binary files /dev/null and b/marble/data/skies/advanced/4.png differ diff --git a/marble/data/skies/advanced/5.png b/marble/data/skies/advanced/5.png new file mode 100644 index 0000000..a2d5536 Binary files /dev/null and b/marble/data/skies/advanced/5.png differ diff --git a/marble/data/skies/advanced/6.png b/marble/data/skies/advanced/6.png new file mode 100644 index 0000000..9b2aefa Binary files /dev/null and b/marble/data/skies/advanced/6.png differ diff --git a/marble/data/skies/advanced/7.png b/marble/data/skies/advanced/7.png new file mode 100644 index 0000000..99ec85f Binary files /dev/null and b/marble/data/skies/advanced/7.png differ diff --git a/marble/data/skies/advanced/sky_day.dml b/marble/data/skies/advanced/sky_day.dml new file mode 100644 index 0000000..0bce9e3 --- /dev/null +++ b/marble/data/skies/advanced/sky_day.dml @@ -0,0 +1,7 @@ +1 +2 +3 +4 +5 +6 +7 \ No newline at end of file diff --git a/marble/data/skies/beginner/1.bmp b/marble/data/skies/beginner/1.bmp new file mode 100644 index 0000000..57c6ed3 Binary files /dev/null and b/marble/data/skies/beginner/1.bmp differ diff --git a/marble/data/skies/beginner/2.bmp b/marble/data/skies/beginner/2.bmp new file mode 100644 index 0000000..f432271 Binary files /dev/null and b/marble/data/skies/beginner/2.bmp differ diff --git a/marble/data/skies/beginner/3.bmp b/marble/data/skies/beginner/3.bmp new file mode 100644 index 0000000..1e5439e Binary files /dev/null and b/marble/data/skies/beginner/3.bmp differ diff --git a/marble/data/skies/beginner/4.bmp b/marble/data/skies/beginner/4.bmp new file mode 100644 index 0000000..14054c6 Binary files /dev/null and b/marble/data/skies/beginner/4.bmp differ diff --git a/marble/data/skies/beginner/5.bmp b/marble/data/skies/beginner/5.bmp new file mode 100644 index 0000000..54dc44a Binary files /dev/null and b/marble/data/skies/beginner/5.bmp differ diff --git a/marble/data/skies/beginner/6.bmp b/marble/data/skies/beginner/6.bmp new file mode 100644 index 0000000..512feb7 Binary files /dev/null and b/marble/data/skies/beginner/6.bmp differ diff --git a/marble/data/skies/beginner/7.bmp b/marble/data/skies/beginner/7.bmp new file mode 100644 index 0000000..8722688 Binary files /dev/null and b/marble/data/skies/beginner/7.bmp differ diff --git a/marble/data/skies/beginner/sky_day.dml b/marble/data/skies/beginner/sky_day.dml new file mode 100644 index 0000000..112adbc --- /dev/null +++ b/marble/data/skies/beginner/sky_day.dml @@ -0,0 +1,9 @@ +2 +3 +4 +1 +5 +6 +7 + + diff --git a/marble/data/skies/enviro_map.jpg b/marble/data/skies/enviro_map.jpg new file mode 100644 index 0000000..622f860 Binary files /dev/null and b/marble/data/skies/enviro_map.jpg differ diff --git a/marble/data/skies/expert/sky-d.png b/marble/data/skies/expert/sky-d.png new file mode 100644 index 0000000..77bb11b Binary files /dev/null and b/marble/data/skies/expert/sky-d.png differ diff --git a/marble/data/skies/expert/sky-e.png b/marble/data/skies/expert/sky-e.png new file mode 100644 index 0000000..7a397b0 Binary files /dev/null and b/marble/data/skies/expert/sky-e.png differ diff --git a/marble/data/skies/expert/sky-env.png b/marble/data/skies/expert/sky-env.png new file mode 100644 index 0000000..6bee09e Binary files /dev/null and b/marble/data/skies/expert/sky-env.png differ diff --git a/marble/data/skies/expert/sky-n.png b/marble/data/skies/expert/sky-n.png new file mode 100644 index 0000000..adcfe35 Binary files /dev/null and b/marble/data/skies/expert/sky-n.png differ diff --git a/marble/data/skies/expert/sky-s.png b/marble/data/skies/expert/sky-s.png new file mode 100644 index 0000000..b325675 Binary files /dev/null and b/marble/data/skies/expert/sky-s.png differ diff --git a/marble/data/skies/expert/sky-u.png b/marble/data/skies/expert/sky-u.png new file mode 100644 index 0000000..2e2c4be Binary files /dev/null and b/marble/data/skies/expert/sky-u.png differ diff --git a/marble/data/skies/expert/sky-w.png b/marble/data/skies/expert/sky-w.png new file mode 100644 index 0000000..21130eb Binary files /dev/null and b/marble/data/skies/expert/sky-w.png differ diff --git a/marble/data/skies/expert/sky_day.dml b/marble/data/skies/expert/sky_day.dml new file mode 100644 index 0000000..150f8f8 --- /dev/null +++ b/marble/data/skies/expert/sky_day.dml @@ -0,0 +1,7 @@ +sky-n +sky-e +sky-s +sky-w +sky-u +sky-d +sky-env diff --git a/marble/data/skies/intermediate/1.bmp b/marble/data/skies/intermediate/1.bmp new file mode 100644 index 0000000..81f4eba Binary files /dev/null and b/marble/data/skies/intermediate/1.bmp differ diff --git a/marble/data/skies/intermediate/1.png b/marble/data/skies/intermediate/1.png new file mode 100644 index 0000000..5203671 Binary files /dev/null and b/marble/data/skies/intermediate/1.png differ diff --git a/marble/data/skies/intermediate/2.bmp b/marble/data/skies/intermediate/2.bmp new file mode 100644 index 0000000..1007bd2 Binary files /dev/null and b/marble/data/skies/intermediate/2.bmp differ diff --git a/marble/data/skies/intermediate/2.png b/marble/data/skies/intermediate/2.png new file mode 100644 index 0000000..6bdd4c9 Binary files /dev/null and b/marble/data/skies/intermediate/2.png differ diff --git a/marble/data/skies/intermediate/3.bmp b/marble/data/skies/intermediate/3.bmp new file mode 100644 index 0000000..81f3fb7 Binary files /dev/null and b/marble/data/skies/intermediate/3.bmp differ diff --git a/marble/data/skies/intermediate/3.png b/marble/data/skies/intermediate/3.png new file mode 100644 index 0000000..52cda82 Binary files /dev/null and b/marble/data/skies/intermediate/3.png differ diff --git a/marble/data/skies/intermediate/4.bmp b/marble/data/skies/intermediate/4.bmp new file mode 100644 index 0000000..cc7a5c0 Binary files /dev/null and b/marble/data/skies/intermediate/4.bmp differ diff --git a/marble/data/skies/intermediate/4.png b/marble/data/skies/intermediate/4.png new file mode 100644 index 0000000..3c202d2 Binary files /dev/null and b/marble/data/skies/intermediate/4.png differ diff --git a/marble/data/skies/intermediate/5.bmp b/marble/data/skies/intermediate/5.bmp new file mode 100644 index 0000000..535d7e1 Binary files /dev/null and b/marble/data/skies/intermediate/5.bmp differ diff --git a/marble/data/skies/intermediate/5.png b/marble/data/skies/intermediate/5.png new file mode 100644 index 0000000..569ddf7 Binary files /dev/null and b/marble/data/skies/intermediate/5.png differ diff --git a/marble/data/skies/intermediate/6.bmp b/marble/data/skies/intermediate/6.bmp new file mode 100644 index 0000000..0c478c1 Binary files /dev/null and b/marble/data/skies/intermediate/6.bmp differ diff --git a/marble/data/skies/intermediate/6.png b/marble/data/skies/intermediate/6.png new file mode 100644 index 0000000..d4086e1 Binary files /dev/null and b/marble/data/skies/intermediate/6.png differ diff --git a/marble/data/skies/intermediate/7.bmp b/marble/data/skies/intermediate/7.bmp new file mode 100644 index 0000000..51a0b64 Binary files /dev/null and b/marble/data/skies/intermediate/7.bmp differ diff --git a/marble/data/skies/intermediate/7.png b/marble/data/skies/intermediate/7.png new file mode 100644 index 0000000..76457df Binary files /dev/null and b/marble/data/skies/intermediate/7.png differ diff --git a/marble/data/skies/intermediate/enviro_map.jpg b/marble/data/skies/intermediate/enviro_map.jpg new file mode 100644 index 0000000..622f860 Binary files /dev/null and b/marble/data/skies/intermediate/enviro_map.jpg differ diff --git a/marble/data/skies/intermediate/sky_day.dml b/marble/data/skies/intermediate/sky_day.dml new file mode 100644 index 0000000..112adbc --- /dev/null +++ b/marble/data/skies/intermediate/sky_day.dml @@ -0,0 +1,9 @@ +2 +3 +4 +1 +5 +6 +7 + + diff --git a/marble/data/skies/sky_day.dml b/marble/data/skies/sky_day.dml new file mode 100644 index 0000000..112adbc --- /dev/null +++ b/marble/data/skies/sky_day.dml @@ -0,0 +1,9 @@ +2 +3 +4 +1 +5 +6 +7 + + diff --git a/marble/data/sound/beach party.ogg b/marble/data/sound/beach party.ogg new file mode 100644 index 0000000..0939a0c Binary files /dev/null and b/marble/data/sound/beach party.ogg differ diff --git a/marble/data/sound/bouncehard1.wav b/marble/data/sound/bouncehard1.wav new file mode 100644 index 0000000..ddd86ee Binary files /dev/null and b/marble/data/sound/bouncehard1.wav differ diff --git a/marble/data/sound/bouncehard2.wav b/marble/data/sound/bouncehard2.wav new file mode 100644 index 0000000..3ada953 Binary files /dev/null and b/marble/data/sound/bouncehard2.wav differ diff --git a/marble/data/sound/bouncehard3.wav b/marble/data/sound/bouncehard3.wav new file mode 100644 index 0000000..3ada953 Binary files /dev/null and b/marble/data/sound/bouncehard3.wav differ diff --git a/marble/data/sound/bouncehard4.wav b/marble/data/sound/bouncehard4.wav new file mode 100644 index 0000000..8eca198 Binary files /dev/null and b/marble/data/sound/bouncehard4.wav differ diff --git a/marble/data/sound/bumper1.wav b/marble/data/sound/bumper1.wav new file mode 100644 index 0000000..e2fb258 Binary files /dev/null and b/marble/data/sound/bumper1.wav differ diff --git a/marble/data/sound/bumperding1.wav b/marble/data/sound/bumperding1.wav new file mode 100644 index 0000000..05cc9fe Binary files /dev/null and b/marble/data/sound/bumperding1.wav differ diff --git a/marble/data/sound/buttonover.wav b/marble/data/sound/buttonover.wav new file mode 100644 index 0000000..4438e12 Binary files /dev/null and b/marble/data/sound/buttonover.wav differ diff --git a/marble/data/sound/buttonpress.wav b/marble/data/sound/buttonpress.wav new file mode 100644 index 0000000..f5cbbbf Binary files /dev/null and b/marble/data/sound/buttonpress.wav differ diff --git a/marble/data/sound/classic vibe.ogg b/marble/data/sound/classic vibe.ogg new file mode 100644 index 0000000..0ab5f9a Binary files /dev/null and b/marble/data/sound/classic vibe.ogg differ diff --git a/marble/data/sound/dosuperjump.wav b/marble/data/sound/dosuperjump.wav new file mode 100644 index 0000000..54e2ee7 Binary files /dev/null and b/marble/data/sound/dosuperjump.wav differ diff --git a/marble/data/sound/dosuperspeed.wav b/marble/data/sound/dosuperspeed.wav new file mode 100644 index 0000000..62aaa73 Binary files /dev/null and b/marble/data/sound/dosuperspeed.wav differ diff --git a/marble/data/sound/explode1.wav b/marble/data/sound/explode1.wav new file mode 100644 index 0000000..587dd33 Binary files /dev/null and b/marble/data/sound/explode1.wav differ diff --git a/marble/data/sound/fan_loop.wav b/marble/data/sound/fan_loop.wav new file mode 100644 index 0000000..91d5857 Binary files /dev/null and b/marble/data/sound/fan_loop.wav differ diff --git a/marble/data/sound/firewrks.wav b/marble/data/sound/firewrks.wav new file mode 100644 index 0000000..7da39d6 Binary files /dev/null and b/marble/data/sound/firewrks.wav differ diff --git a/marble/data/sound/forcefield.wav b/marble/data/sound/forcefield.wav new file mode 100644 index 0000000..13ed5bc Binary files /dev/null and b/marble/data/sound/forcefield.wav differ diff --git a/marble/data/sound/go.wav b/marble/data/sound/go.wav new file mode 100644 index 0000000..391da42 Binary files /dev/null and b/marble/data/sound/go.wav differ diff --git a/marble/data/sound/gotallgems.wav b/marble/data/sound/gotallgems.wav new file mode 100644 index 0000000..58d19a1 Binary files /dev/null and b/marble/data/sound/gotallgems.wav differ diff --git a/marble/data/sound/gotgem.wav b/marble/data/sound/gotgem.wav new file mode 100644 index 0000000..e6305ce Binary files /dev/null and b/marble/data/sound/gotgem.wav differ diff --git a/marble/data/sound/gotpowerup.wav b/marble/data/sound/gotpowerup.wav new file mode 100644 index 0000000..220a2eb Binary files /dev/null and b/marble/data/sound/gotpowerup.wav differ diff --git a/marble/data/sound/gravitychange.wav b/marble/data/sound/gravitychange.wav new file mode 100644 index 0000000..5b7578c Binary files /dev/null and b/marble/data/sound/gravitychange.wav differ diff --git a/marble/data/sound/groovepolice.ogg b/marble/data/sound/groovepolice.ogg new file mode 100644 index 0000000..14e6fd3 Binary files /dev/null and b/marble/data/sound/groovepolice.ogg differ diff --git a/marble/data/sound/infotutorial.wav b/marble/data/sound/infotutorial.wav new file mode 100644 index 0000000..7022759 Binary files /dev/null and b/marble/data/sound/infotutorial.wav differ diff --git a/marble/data/sound/jump.wav b/marble/data/sound/jump.wav new file mode 100644 index 0000000..5f349af Binary files /dev/null and b/marble/data/sound/jump.wav differ diff --git a/marble/data/sound/marble_fall.wav b/marble/data/sound/marble_fall.wav new file mode 100644 index 0000000..a3953c7 Binary files /dev/null and b/marble/data/sound/marble_fall.wav differ diff --git a/marble/data/sound/missinggems.wav b/marble/data/sound/missinggems.wav new file mode 100644 index 0000000..31399d0 Binary files /dev/null and b/marble/data/sound/missinggems.wav differ diff --git a/marble/data/sound/movingblockloop.wav b/marble/data/sound/movingblockloop.wav new file mode 100644 index 0000000..c3563aa Binary files /dev/null and b/marble/data/sound/movingblockloop.wav differ diff --git a/marble/data/sound/platformlowering.wav b/marble/data/sound/platformlowering.wav new file mode 100644 index 0000000..9125218 Binary files /dev/null and b/marble/data/sound/platformlowering.wav differ diff --git a/marble/data/sound/pugyrocoptervoice.wav b/marble/data/sound/pugyrocoptervoice.wav new file mode 100644 index 0000000..01a722d Binary files /dev/null and b/marble/data/sound/pugyrocoptervoice.wav differ diff --git a/marble/data/sound/pushockabsorbervoice.wav b/marble/data/sound/pushockabsorbervoice.wav new file mode 100644 index 0000000..41407a2 Binary files /dev/null and b/marble/data/sound/pushockabsorbervoice.wav differ diff --git a/marble/data/sound/pusuperbouncevoice.wav b/marble/data/sound/pusuperbouncevoice.wav new file mode 100644 index 0000000..e6eea26 Binary files /dev/null and b/marble/data/sound/pusuperbouncevoice.wav differ diff --git a/marble/data/sound/pusuperjumpvoice.wav b/marble/data/sound/pusuperjumpvoice.wav new file mode 100644 index 0000000..e790eb4 Binary files /dev/null and b/marble/data/sound/pusuperjumpvoice.wav differ diff --git a/marble/data/sound/pusuperspeedvoice.wav b/marble/data/sound/pusuperspeedvoice.wav new file mode 100644 index 0000000..30aedef Binary files /dev/null and b/marble/data/sound/pusuperspeedvoice.wav differ diff --git a/marble/data/sound/putimetravelvoice.wav b/marble/data/sound/putimetravelvoice.wav new file mode 100644 index 0000000..74662e5 Binary files /dev/null and b/marble/data/sound/putimetravelvoice.wav differ diff --git a/marble/data/sound/ready.wav b/marble/data/sound/ready.wav new file mode 100644 index 0000000..e527c0c Binary files /dev/null and b/marble/data/sound/ready.wav differ diff --git a/marble/data/sound/rolling_hard.wav b/marble/data/sound/rolling_hard.wav new file mode 100644 index 0000000..f85dc6b Binary files /dev/null and b/marble/data/sound/rolling_hard.wav differ diff --git a/marble/data/sound/set.wav b/marble/data/sound/set.wav new file mode 100644 index 0000000..12e5fb6 Binary files /dev/null and b/marble/data/sound/set.wav differ diff --git a/marble/data/sound/shell.ogg b/marble/data/sound/shell.ogg new file mode 100644 index 0000000..354bf0f Binary files /dev/null and b/marble/data/sound/shell.ogg differ diff --git a/marble/data/sound/sliding.wav b/marble/data/sound/sliding.wav new file mode 100644 index 0000000..2c59bd9 Binary files /dev/null and b/marble/data/sound/sliding.wav differ diff --git a/marble/data/sound/spawn.wav b/marble/data/sound/spawn.wav new file mode 100644 index 0000000..0c3ec84 Binary files /dev/null and b/marble/data/sound/spawn.wav differ diff --git a/marble/data/sound/superbounceactive.wav b/marble/data/sound/superbounceactive.wav new file mode 100644 index 0000000..e183f74 Binary files /dev/null and b/marble/data/sound/superbounceactive.wav differ diff --git a/marble/data/sound/teleport.wav b/marble/data/sound/teleport.wav new file mode 100644 index 0000000..3b566eb Binary files /dev/null and b/marble/data/sound/teleport.wav differ diff --git a/marble/data/sound/testing.wav b/marble/data/sound/testing.wav new file mode 100644 index 0000000..6da6454 Binary files /dev/null and b/marble/data/sound/testing.wav differ diff --git a/marble/data/sound/timetravelactive.wav b/marble/data/sound/timetravelactive.wav new file mode 100644 index 0000000..7297c56 Binary files /dev/null and b/marble/data/sound/timetravelactive.wav differ diff --git a/marble/data/sound/tornado.wav b/marble/data/sound/tornado.wav new file mode 100644 index 0000000..afea79a Binary files /dev/null and b/marble/data/sound/tornado.wav differ diff --git a/marble/data/sound/trapdooropen.wav b/marble/data/sound/trapdooropen.wav new file mode 100644 index 0000000..5685bee Binary files /dev/null and b/marble/data/sound/trapdooropen.wav differ diff --git a/marble/data/sound/use_gyrocopter.wav b/marble/data/sound/use_gyrocopter.wav new file mode 100644 index 0000000..3f60fde Binary files /dev/null and b/marble/data/sound/use_gyrocopter.wav differ diff --git a/marble/data/sound/whoosh.wav b/marble/data/sound/whoosh.wav new file mode 100644 index 0000000..7a9513e Binary files /dev/null and b/marble/data/sound/whoosh.wav differ diff --git a/marble/main.cs b/marble/main.cs new file mode 100644 index 0000000..ef4f9d2 --- /dev/null +++ b/marble/main.cs @@ -0,0 +1,132 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Load up defaults console values. + +// Defaults console values +exec("./client/defaults.cs"); +exec("./server/defaults.cs"); + +// Preferences (overide defaults) +exec("./client/prefs.cs"); +exec("./server/prefs.cs"); +exec("./referrer.cs"); + + +//----------------------------------------------------------------------------- +// Package overrides to initialize the mod. +package marble { + +function displayHelp() { + Parent::displayHelp(); + error( + "Marble Mod options:\n"@ + " -dedicated Start as dedicated server\n"@ + " -connect
For non-dedicated: Connect to a game at
\n" @ + " -mission For dedicated or non-dedicated: Load the mission\n" @ + " -test <.dif filename> Test an interior map file\n" + ); +} + +function parseArgs() +{ + // Call the parent + Parent::parseArgs(); + + // Arguments, which override everything else. + for (%i = 1; %i < $Game::argc ; %i++) + { + %arg = $Game::argv[%i]; + %nextArg = $Game::argv[%i+1]; + %hasNextArg = $Game::argc - %i > 1; + + switch$ (%arg) + { + //-------------------- + case "-referrer": + $argUsed[%i]++; + if (%hasNextArg) { + $referrerId = %nextArg; + $argUsed[%i+1]++; + %i++; + } + else + error("Error: Missing Command Line argument. Usage: -referrer "); + case "-mission": + $argUsed[%i]++; + if (%hasNextArg) { + $missionArg = %nextArg; + $argUsed[%i+1]++; + %i++; + } + else + error("Error: Missing Command Line argument. Usage: -mission "); + + case "-test": + $argUsed[%i]++; + if(%hasNextArg) { + $testCheats = true; + $interiorArg = %nextArg; + $argUsed[%i+1]++; + %i++; + } + else + error("Error: Missing Command Line argument. Usage: -test "); + //-------------------- + case "-cheats": + $testCheats = true; + $argUsed[%i]++; + } + } +} + +function onStart() +{ + Parent::onStart(); + echo("\n--------- Initializing MOD: FPS ---------"); + + // Load the scripts that start it all... + exec("./client/init.cs"); + exec("./server/init.cs"); + exec("./data/init.cs"); + + // Server gets loaded for all sessions, since clients + // can host in-game servers. + initServer(); + + // Start up in either client, or dedicated server mode + if ($Server::Dedicated) + initDedicated(); + else + initClient(); +} + +function onExit() +{ + echo("Exporting client prefs"); + export("$pref::*", "./client/prefs.cs", False); + + echo("Exporting server prefs"); + export("$Pref::Server::*", "./server/prefs.cs", False); + + Parent::onExit(); +} + +}; // Client package +activatePackage(marble); + +function listResolutions() +{ + %deviceList = getDisplayDeviceList(); + for(%deviceIndex = 0; (%device = getField(%deviceList, %deviceIndex)) !$= ""; %deviceIndex++) + { + %resList = getResolutionList(%device); + for(%resIndex = 0; (%res = getField(%resList, %resIndex)) !$= ""; %resIndex++) + echo(%device @ " - " @ getWord(%res, 0) @ " x " @ getWord(%res, 1) @ " (" @ getWord(%res, 2) @ " bpp)"); + } +} \ No newline at end of file diff --git a/marble/main.cs.dso b/marble/main.cs.dso new file mode 100644 index 0000000..4749526 Binary files /dev/null and b/marble/main.cs.dso differ diff --git a/marble/server/banlist.cs b/marble/server/banlist.cs new file mode 100644 index 0000000..e69de29 diff --git a/marble/server/defaults.cs b/marble/server/defaults.cs new file mode 100644 index 0000000..c2a8723 --- /dev/null +++ b/marble/server/defaults.cs @@ -0,0 +1,47 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +// List of master servers to query, each one is tried in order +// until one responds +$Pref::Server::RegionMask = 2; +$pref::Master[0] = "2:master.garagegames.com:28002"; + +// Information about the server +$Pref::Server::Name = "Torque Test Server"; +$Pref::Server::Info = "This is a Torque Game Engine Test Server."; + +// The connection error message is transmitted to the client immediatly +// on connection, if any further error occures during the connection +// process, such as network traffic mismatch, or missing files, this error +// message is display. This message should be replaced with information +// usefull to the client, such as the url or ftp address of where the +// latest version of the game can be obtained. +$Pref::Server::ConnectionError = + "ERROR"; + +// The network port is also defined by the client, this value +// overrides pref::net::port for dedicated servers +$Pref::Server::Port = 28000; + +// If the password is set, clients must provide it in order +// to connect to the server +$Pref::Server::Password = ""; + +// Password for admin clients +$Pref::Server::AdminPassword = ""; + +// Misc server settings. +$Pref::Server::MaxPlayers = 64; +$Pref::Server::TimeLimit = 20; // In minutes +$Pref::Server::KickBanTime = 300; // specified in seconds +$Pref::Server::BanTime = 1800; // specified in seconds +$Pref::Server::FloodProtectionEnabled = 1; +$Pref::Server::MaxChatLen = 120; + +// Voice compression is currently not supported in the Torque Engine +// .v12 (1.2 kbits/sec), .v24 (2.4 kbits/sec), .v29 (2.9kbits/sec) +$Audio::voiceCodec = ".v12"; diff --git a/marble/server/defaults.cs.dso b/marble/server/defaults.cs.dso new file mode 100644 index 0000000..1842e07 Binary files /dev/null and b/marble/server/defaults.cs.dso differ diff --git a/marble/server/init.cs b/marble/server/init.cs new file mode 100644 index 0000000..28eca20 --- /dev/null +++ b/marble/server/init.cs @@ -0,0 +1,82 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +// Variables used by server scripts & code. The ones marked with (c) +// are accessed from code. Variables preceeded by Pref:: are server +// preferences and stored automatically in the ServerPrefs.cs file +// in between server sessions. +// +// (c) Server::ServerType {SinglePlayer, MultiPlayer} +// (c) Server::GameType Unique game name +// (c) Server::Dedicated Bool +// ( ) Server::MissionFile Mission .mis file name +// (c) Server::MissionName DisplayName from .mis file +// (c) Server::MissionType Not used +// (c) Server::PlayerCount Current player count +// (c) Server::GuidList Player GUID (record list?) +// (c) Server::Status Current server status +// +// (c) Pref::Server::Name Server Name +// (c) Pref::Server::Password Password for client connections +// ( ) Pref::Server::AdminPassword Password for client admins +// (c) Pref::Server::Info Server description +// (c) Pref::Server::MaxPlayers Max allowed players +// (c) Pref::Server::RegionMask Registers this mask with master server +// ( ) Pref::Server::BanTime Duration of a player ban +// ( ) Pref::Server::KickBanTime Duration of a player kick & ban +// ( ) Pref::Server::MaxChatLen Max chat message len +// ( ) Pref::Server::FloodProtectionEnabled Bool + +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- + +function initServer() +{ + echo("\n--------- Initializing FPS: Server ---------"); + + // Server::Status is returned in the Game Info Query and represents the + // current status of the server. This string sould be very short. + $Server::Status = "Unknown"; + + // Turn on testing/debug script functions + $Server::TestCheats = true; + + // Specify where the mission files are. + $Server::MissionFileSpec = "*/missions/*.mis"; + + // The common module provides the basic server functionality + initBaseServer(); + + // Load up game server support scripts + exec("./scripts/commands.cs"); + exec("./scripts/centerPrint.cs"); + exec("./scripts/game.cs"); +} + + +//----------------------------------------------------------------------------- + +function initDedicated() +{ + enableWinConsole(true); + echo("\n--------- Starting Dedicated Server ---------"); + + // Make sure this variable reflects the correct state. + $Server::Dedicated = true; + + // The server isn't started unless a mission has been specified. + if ($missionArg !$= "") { + createServer("MultiPlayer", $missionArg); + } + else + echo("No mission specified (use -mission filename)"); +} + diff --git a/marble/server/init.cs.dso b/marble/server/init.cs.dso new file mode 100644 index 0000000..dd248de Binary files /dev/null and b/marble/server/init.cs.dso differ diff --git a/marble/server/prefs.cs b/marble/server/prefs.cs new file mode 100644 index 0000000..bd7a846 --- /dev/null +++ b/marble/server/prefs.cs @@ -0,0 +1,13 @@ +$Pref::Server::AdminPassword = ""; +$Pref::Server::BanTime = 1800; +$Pref::Server::ConnectionError = "ERROR"; +$Pref::Server::FloodProtectionEnabled = 1; +$Pref::Server::Info = "This is a Torque Game Engine Test Server."; +$Pref::Server::KickBanTime = 300; +$Pref::Server::MaxChatLen = 120; +$Pref::Server::MaxPlayers = 64; +$Pref::Server::Name = "Torque Test Server"; +$Pref::Server::Password = ""; +$Pref::Server::Port = 28000; +$Pref::Server::RegionMask = 2; +$Pref::Server::TimeLimit = 20; diff --git a/marble/server/prefs.cs.dso b/marble/server/prefs.cs.dso new file mode 100644 index 0000000..340efc0 Binary files /dev/null and b/marble/server/prefs.cs.dso differ diff --git a/marble/server/scripts/audioProfiles.cs.dso b/marble/server/scripts/audioProfiles.cs.dso new file mode 100644 index 0000000..556bb0f Binary files /dev/null and b/marble/server/scripts/audioProfiles.cs.dso differ diff --git a/marble/server/scripts/audioprofiles.cs b/marble/server/scripts/audioprofiles.cs new file mode 100644 index 0000000..ecf635d --- /dev/null +++ b/marble/server/scripts/audioprofiles.cs @@ -0,0 +1,232 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// 3D Sounds +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Single shot sounds + +datablock AudioDescription(AudioDefault3d) +{ + volume = 1.0; + isLooping= false; + + is3D = true; + ReferenceDistance= 20.0; + MaxDistance= 100.0; + type = $EffectAudioType; +}; + +datablock AudioDescription(AudioClose3d) +{ + volume = 1.0; + isLooping= false; + + is3D = true; + ReferenceDistance= 10.0; + MaxDistance= 60.0; + type = $EffectAudioType; +}; + +datablock AudioDescription(AudioClosest3d) +{ + volume = 1.0; + isLooping= false; + + is3D = true; + ReferenceDistance= 5.0; + MaxDistance= 30.0; + type = $EffectAudioType; +}; + + +//----------------------------------------------------------------------------- +// Looping sounds + +datablock AudioDescription(AudioDefaultLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + ReferenceDistance= 20.0; + MaxDistance= 100.0; + type = $EffectAudioType; +}; + +datablock AudioDescription(AudioCloseLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + ReferenceDistance= 10.0; + MaxDistance= 50.0; + type = $EffectAudioType; +}; + +datablock AudioDescription(AudioClosestLooping3d) +{ + volume = 1.0; + isLooping= true; + + is3D = true; + ReferenceDistance= 5.0; + MaxDistance= 30.0; + type = $EffectAudioType; +}; + +datablock AudioDescription(Quieter3D) +{ + volume = 0.40; + isLooping= false; + + is3D = true; + ReferenceDistance= 20.0; + MaxDistance= 100.0; + type = $EffectAudioType; +}; + +//----------------------------------------------------------------------------- +// 2d sounds +//----------------------------------------------------------------------------- + +// Used for non-looping environmental sounds (like power on, power off) +datablock AudioDescription(Audio2D) +{ + volume = 1.0; + isLooping = false; + is3D = false; + type = $EffectAudioType; +}; + +// Used for Looping Environmental Sounds +datablock AudioDescription(AudioLooping2D) +{ + volume = 1.0; + isLooping = true; + is3D = false; + type = $EffectAudioType; +}; + + +//----------------------------------------------------------------------------- +// Ready - Set - Get Rolling + +datablock AudioProfile(spawnSfx) +{ + filename = "~/data/sound/spawn.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(pickupSfx) +{ + filename = "~/data/sound/pickup.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(HelpDingSfx) +{ + filename = "~/data/sound/InfoTutorial.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(ReadyVoiceSfx) +{ + filename = "~/data/sound/ready.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(SetVoiceSfx) +{ + filename = "~/data/sound/set.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(GetRollingVoiceSfx) +{ + filename = "~/data/sound/go.wav"; + description = AudioDefault3d; + preload = true; +}; + +if ($platform $= "x86UNIX") +{ + // fireworks are a bit too piercing with linux openal + datablock AudioProfile(WonRaceSfx) + { + filename = "~/data/sound/firewrks.wav"; + description = Quieter3D; + preload = true; + }; +} +else +{ + datablock AudioProfile(WonRaceSfx) + { + filename = "~/data/sound/firewrks.wav"; + description = AudioDefault3d; + preload = true; + }; +} + +datablock AudioProfile(MissingGemsSfx) +{ + filename = "~/data/sound/missingGems.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(jumpSfx) +{ + filename = "~/data/sound/bounce.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(bounceSfx) +{ + filename = "~/data/sound/bounce.wav"; + description = AudioDefault3d; + preload = true; +}; + + + + +//----------------------------------------------------------------------------- +// Misc + +datablock AudioProfile(PenaltyVoiceSfx) +{ + filename = "~/data/sound/penalty.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(OutOfBoundsVoiceSfx) +{ + filename = "~/data/sound/whoosh.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(DestroyedVoiceSfx) +{ + filename = "~/data/sound/destroyedVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + + diff --git a/marble/server/scripts/bumpers.cs b/marble/server/scripts/bumpers.cs new file mode 100644 index 0000000..2850242 --- /dev/null +++ b/marble/server/scripts/bumpers.cs @@ -0,0 +1,64 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +datablock AudioProfile(BumperDing) +{ + filename = "~/data/sound/bumperDing1.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(BumperFlat) +{ + filename = "~/data/sound/bumper1.wav"; + description = AudioDefault3d; + preload = true; +}; + +function Bumper::onClientCollision(%this,%obj,%col,%vec, %vecLen, %material) +{ + // Currently activates when any object hits it. + if (%material $= "BumperMaterial") { + %obj.stopThread(0); + %obj.playThread(0,"push"); + %obj.playAudio(0,%this.sound); + } +} + +//----------------------------------------------------------------------------- + +datablock StaticShapeData(AngleBumper) +{ + category = "Bumpers"; + className = "Bumper"; + shapeFile = "~/data/shapes/bumpers/angleBumper.dts"; + scopeAlways = true; + sound = BumperFlat; +}; + +datablock StaticShapeData(TriangleBumper) +{ + category = "Bumpers"; + className = "Bumper"; + shapeFile = "~/data/shapes/bumpers/pball_tri.dts"; + scopeAlways = true; + sound = BumperFlat; +}; + +datablock StaticShapeData(RoundBumper) +{ + category = "Bumpers"; + className = "Bumper"; + shapeFile = "~/data/shapes/bumpers/pball_round.dts"; + scopeAlways = true; + sound = BumperDing; +}; + + diff --git a/marble/server/scripts/bumpers.cs.dso b/marble/server/scripts/bumpers.cs.dso new file mode 100644 index 0000000..2273506 Binary files /dev/null and b/marble/server/scripts/bumpers.cs.dso differ diff --git a/marble/server/scripts/buttons.cs b/marble/server/scripts/buttons.cs new file mode 100644 index 0000000..6b56400 --- /dev/null +++ b/marble/server/scripts/buttons.cs @@ -0,0 +1,77 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(ButtonClick) +{ + filename = "~/data/sound/ButtonClick.wav"; + description = AudioDefault3d; + preload = true; +}; + + +//----------------------------------------------------------------------------- +// Single action button that resets after a default elapsed time. +// When activated the button triggers all the objects in it's group. + +datablock StaticShapeData(PushButton) +{ + className = "Button"; + category = "Buttons"; + shapeFile = "~/data/shapes/buttons/pushButton.dts"; + resetTime = 5000; +}; + +function PushButton::onAdd(%this, %obj) +{ + %obj.activated = false; + if (%obj.triggerMesg $= "") + %obj.triggerMesg = "true"; + if (%obj.resetTime $= "") + %obj.resetTime = "Default"; +} + +function PushButton::onCollision(%this,%obj,%col,%vec, %vecLen, %material) +{ + echo(%material); + // Currently activates when any object hits it. + if (%material $= "ButtonMaterial") + %this.activate(%obj,true); +} + +function PushButton::onEndSequence(%this, %obj, %slot) +{ + if (%obj.activated) { + // Trigger all the objects in our mission group + %group = %obj.getGroup(); + for (%i = 0; %i < %group.getCount(); %i++) + %group.getObject(%i).onTrigger(%this,%obj.triggerMesg); +// %group.getObject(%i).onTrigger(%this,%this.triggerMesg); + + // Schedule the button reset + %resetTime = (%obj.resetTime $= "Default")? %this.resetTime: %obj.resetTime; + if (%resetTime) + %this.schedule(%resetTime,activate,%obj,false); + } +} + +function PushButton::activate(%this,%obj,%state) +{ + if (%state && !%obj.activated) { + %obj.playThread(0,"push"); + %obj.setThreadDir(0,true); + %obj.playAudio(0,ButtonClick); + %obj.activated = true; + } + else + if (!%state && %obj.activated) { + %obj.setThreadDir(0,false); + %obj.playAudio(0,ButtonClick); + %obj.activated = false; + } +} diff --git a/marble/server/scripts/buttons.cs.dso b/marble/server/scripts/buttons.cs.dso new file mode 100644 index 0000000..dbe45a2 Binary files /dev/null and b/marble/server/scripts/buttons.cs.dso differ diff --git a/marble/server/scripts/camera.cs b/marble/server/scripts/camera.cs new file mode 100644 index 0000000..dacbfae --- /dev/null +++ b/marble/server/scripts/camera.cs @@ -0,0 +1,82 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +// Global movement speed that affects all cameras. This should be moved +// into the camera datablock. +$Camera::movementSpeed = 40; + +//----------------------------------------------------------------------------- +// Define a datablock class to use for our observer camera +//----------------------------------------------------------------------------- + +datablock CameraData(Observer) +{ + mode = "Observer"; +}; + + +//----------------------------------------------------------------------------- + +function Observer::onTrigger(%this,%obj,%trigger,%state) +{ + // state = 0 means that a trigger key was released + if (%state == 0) + return; + + // Default player triggers: 0=fire 1=altFire 2=jump + %client = %obj.getControllingClient(); + switch$ (%obj.mode) + { + case "Observer": + // Do something interesting. + + case "Corpse": + // Viewing dead corpse, so we probably want to respawn. +// %client.spawnPlayer(); + + // Set the camera back into observer mode, since in + // debug mode we like to switch to it. +// %this.setMode(%obj,"Observer"); + } +} + +function Observer::setMode(%this,%obj,%mode,%arg1,%arg2,%arg3) +{ + switch$ (%mode) + { + case "Observer": + // Let the player fly around + %obj.setFlyMode(); + + case "Corpse": + // Lock the camera down in orbit around the corpse, + // which should be arg1 + %transform = %arg1.getTransform(); + %obj.setOrbitMode(%arg1, %transform, 0.5, 4.5, 4.5); + + } + %obj.mode = %mode; +} + + +//----------------------------------------------------------------------------- +// Camera methods +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function Camera::onAdd(%this,%obj) +{ + // Default start mode + %this.setMode(%this.mode); +} + +function Camera::setMode(%this,%mode,%arg1,%arg2,%arg3) +{ + // Punt this one over to our datablock + %this.getDatablock().setMode(%this,%mode,%arg1,%arg2,%arg3); +} diff --git a/marble/server/scripts/camera.cs.dso b/marble/server/scripts/camera.cs.dso new file mode 100644 index 0000000..8a79a63 Binary files /dev/null and b/marble/server/scripts/camera.cs.dso differ diff --git a/marble/server/scripts/centerPrint.cs.dso b/marble/server/scripts/centerPrint.cs.dso new file mode 100644 index 0000000..91bed2b Binary files /dev/null and b/marble/server/scripts/centerPrint.cs.dso differ diff --git a/marble/server/scripts/centerprint.cs b/marble/server/scripts/centerprint.cs new file mode 100644 index 0000000..60e424d --- /dev/null +++ b/marble/server/scripts/centerprint.cs @@ -0,0 +1,89 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +function centerPrintAll( %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'centerPrint', %message, %time, %lines ); + } +} + +function bottomPrintAll( %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'bottomPrint', %message, %time, %lines ); + } +} + +//------------------------------------------------------------------------------------------------------- + +function centerPrint( %client, %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + + commandToClient( %client, 'CenterPrint', %message, %time, %lines ); +} + +function bottomPrint( %client, %message, %time, %lines ) +{ + if( %lines $= "" || ((%lines > 3) || (%lines < 1)) ) + %lines = 1; + + commandToClient( %client, 'BottomPrint', %message, %time, %lines ); +} + +//------------------------------------------------------------------------------------------------------- + +function clearCenterPrint( %client ) +{ + commandToClient( %client, 'ClearCenterPrint'); +} + +function clearBottomPrint( %client ) +{ + commandToClient( %client, 'ClearBottomPrint'); +} + +//------------------------------------------------------------------------------------------------------- + +function clearCenterPrintAll() +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'ClearCenterPrint'); + } +} + +function clearBottomPrintAll() +{ + %count = ClientGroup.getCount(); + for (%i = 0; %i < %count; %i++) + { + %cl = ClientGroup.getObject(%i); + if( !%cl.isAIControlled() ) + commandToClient( %cl, 'ClearBottomPrint'); + } +} \ No newline at end of file diff --git a/marble/server/scripts/commands.cs b/marble/server/scripts/commands.cs new file mode 100644 index 0000000..727f99a --- /dev/null +++ b/marble/server/scripts/commands.cs @@ -0,0 +1,108 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Misc. server commands avialable to clients +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function serverCmdToggleCamera(%client) +{ + if ($Server::TestCheats || $Server::ServerType $= "SinglePlayer") + { + %control = %client.getControlObject(); + if (%control == %client.player) + { + %control = %client.camera; + %control.mode = toggleCameraFly; + } + else + { + %control = %client.player; + %control.mode = observerFly; + } + %client.setControlObject(%control); + } +} + +function serverCmdDropPlayerAtCamera(%client) +{ + if ($Server::TestCheats) + { + %client.player.setTransform(%client.camera.getTransform()); + %client.player.setVelocity("0 0 0"); + %client.setControlObject(%client.player); + } +} + +function serverCmdDropCameraAtPlayer(%client) +{ + if ($Server::TestCheats) + { + %client.camera.setTransform(%client.player.getEyeTransform()); + %client.camera.setVelocity("0 0 0"); + %client.setControlObject(%client.camera); + } +} + + +//----------------------------------------------------------------------------- + +function serverCmdSuicide(%client) +{ + %client.player.kill("Suicide"); +} + +function serverCmdPlayCel(%client,%anim) +{ + if (isObject(%client.player)) + %client.player.playCelAnimation(%anim); +} + +function serverCmdPlayDeath(%client) +{ + if (isObject(%client.player)) + %client.player.playDeathAnimation(); +} + +function serverCmdSelectObject(%client, %mouseVec, %cameraPoint) +{ + //Determine how far should the picking ray extend into the world? + %selectRange = 200; + // scale mouseVec to the range the player is able to select with mouse + %mouseScaled = VectorScale(%mouseVec, %selectRange); + // cameraPoint = the world position of the camera + // rangeEnd = camera point + length of selectable range + %rangeEnd = VectorAdd(%cameraPoint, %mouseScaled); + + // Search for anything that is selectable – below are some examples + %searchMasks = $TypeMasks::PlayerObjectType | $TypeMasks::CorpseObjectType | + $TypeMasks::ItemObjectType | $TypeMasks::TriggerObjectType; + + // Search for objects within the range that fit the masks above + // If we are in first person mode, we make sure player is not selectable by setting fourth parameter (exempt + // from collisions) when calling ContainerRayCast + %player = %client.player; + if ($firstPerson) + { + %scanTarg = ContainerRayCast (%cameraPoint, %rangeEnd, %searchMasks, %player); + } + else //3rd person - player is selectable in this case + { + %scanTarg = ContainerRayCast (%cameraPoint, %rangeEnd, %searchMasks); + } + + // a target in range was found so select it + if (%scanTarg) + { + %targetObject = firstWord(%scanTarg); + + %client.setSelectedObj(%targetObject); + } +} + diff --git a/marble/server/scripts/commands.cs.dso b/marble/server/scripts/commands.cs.dso new file mode 100644 index 0000000..e3253a2 Binary files /dev/null and b/marble/server/scripts/commands.cs.dso differ diff --git a/marble/server/scripts/fireworks.cs b/marble/server/scripts/fireworks.cs new file mode 100644 index 0000000..9e17291 --- /dev/null +++ b/marble/server/scripts/fireworks.cs @@ -0,0 +1,430 @@ +//----------------------------------------------------------------------------- +// FireWorks, currently implemented using the particle engine. + +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +datablock ParticleData(FireWorkSmoke) +{ + textureName = "~/data/particles/saturn"; + dragCoefficient = 1; + gravityCoefficient = 0; + inheritedVelFactor = 0; + windCoefficient = 0; + constantAcceleration = 0; + lifetimeMS = 2000; + lifetimeVarianceMS = 200; + spinSpeed = 0; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + useInvAlpha = true; + + colors[0] = "1 1 0 0"; + colors[1] = "1 0 0 1.0"; + colors[2] = "1 0 0 0.0"; + + sizes[0] = 0.1; + sizes[1] = 0.2; + sizes[2] = 0.3; + + times[0] = 0.0; + times[1] = 0.2; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(FireWorkSmokeEmitter) +{ + ejectionPeriodMS = 100; + periodVarianceMS = 0; + ejectionVelocity = 1; + velocityVariance = 0.2; + ejectionOffset = 0.75; + thetaMin = 0; + thetaMax = 90; + phiReferenceVel = 0; + phiVariance = 360; + //overrideAdvances = false; + //orientParticles = true; + lifetimeMS = 5000; + particles = "FireWorkSmoke"; +}; + + +//----------------------------------------------------------------------------- + +datablock ParticleData(RedFireWorkSpark) +{ + textureName = "~/data/particles/star"; + dragCoefficient = 0; + gravityCoefficient = 0.0; + windCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 50; + useInvAlpha = true; + + colors[0] = "1 1 0 1.0"; + colors[1] = "1 1 0 1.0"; + colors[2] = "1 0 0 0.0"; + + sizes[0] = 0.2; + sizes[1] = 0.2; + sizes[2] = 0.2; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(RedFireWorkSparkEmitter) +{ + ejectionPeriodMS = 15; + periodVarianceMS = 0; + ejectionVelocity = 1; + velocityVariance = 0.25; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = false; + lifetimeMS = 300; + particles = "RedFireWorkSpark"; +}; + +datablock ExplosionData(RedFireWorkSparkExplosion) +{ + emitter[0] = RedFireWorkSparkEmitter; + + // Turned off.. + shakeCamera = false; + impulseRadius = 0; + lightStartRadius = 0; + lightEndRadius = 0; +}; + + +//----------------------------------------------------------------------------- + +datablock ParticleData(RedFireWorkTrail) +{ + textureName = "~/data/particles/spark"; + dragCoefficient = 1; + gravityCoefficient = 0; + inheritedVelFactor = 0; + windCoefficient = 0; + constantAcceleration = 0; + lifetimeMS = 600; + lifetimeVarianceMS = 100; + spinSpeed = 0; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + useInvAlpha = true; + + colors[0] = "1 1 0 1.0"; + colors[1] = "1 0 0 1.0"; + colors[2] = "1 0 0 0.0"; + + sizes[0] = 0.1; + sizes[1] = 0.05; + sizes[2] = 0.01; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(RedFireWorkTrailEmitter) +{ + ejectionPeriodMS = 30; + periodVarianceMS = 0; + ejectionVelocity = 0.1; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 170; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + //overrideAdvances = false; + //orientParticles = true; + lifetimeMS = 5000; + particles = "RedFireWorkTrail"; +}; + +datablock DebrisData(RedFireWork) +{ + //shapeFile = "file"; + texture = "~data/particles/spark"; + emitters = "RedFireWorkTrailEmitter"; + + explosion = RedFireWorkSparkExplosion; + elasticity = 0.2; + friction = 1; + numBounces = 1; + bounceVariance = 0; + explodeOnMaxBounce = true; + staticOnMaxBounce = false; + snapOnMaxBounce = false; + minSpinSpeed = 0; + maxSpinSpeed = 0; + render2D = false; + lifetime = 1.5; + lifetimeVariance = 0.4; + velocity = 2; + velocityVariance = 0.5; + fade = false; + useRadiusMass = false; + baseRadius = 0.2; + gravModifier = 0.05; + terminalVelocity = 6; + ignoreWater = true; +}; + +datablock ExplosionData(RedFireWorkExplosion) +{ + //soundProfile = ExplodeSfx; + lifeTimeMS = 1200; + offset = 0.1; + + debris = RedFireWork; + debrisThetaMin = 0; + debrisThetaMax = 90; + debrisPhiMin = 0; + debrisPhiMax = 360; + debrisNum = 10; + debrisNumVariance = 2; + debrisVelocity = 3; + debrisVelocityVariance = 0.5; + + // Misc. + shakeCamera = false; + impulseRadius = 0; + lightStartRadius = 0; + lightEndRadius = 0; +}; + + +//----------------------------------------------------------------------------- + +datablock ParticleData(BlueFireWorkSpark) +{ + textureName = "~/data/particles/bubble"; + dragCoefficient = 0; + gravityCoefficient = 0.0; + windCoefficient = 0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 2000; + lifetimeVarianceMS = 200; + useInvAlpha = true; + + colors[0] = "0 0 1 1.0"; + colors[1] = "0.5 0.5 1 1.0"; + colors[2] = "1 1 1 0.0"; + + sizes[0] = 0.2; + sizes[1] = 0.2; + sizes[2] = 0.2; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(BlueFireWorkSparkEmitter) +{ + ejectionPeriodMS = 60; + periodVarianceMS = 0; + ejectionVelocity = 0.5; + velocityVariance = 0.25; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = false; + lifetimeMS = 300; + particles = "BlueFireWorkSpark"; +}; + +datablock ExplosionData(BlueFireWorkSparkExplosion) +{ + emitter[0] = BlueFireWorkSparkEmitter; + + // Turned off.. + shakeCamera = false; + impulseRadius = 0; + lightStartRadius = 0; + lightEndRadius = 0; +}; + + +//----------------------------------------------------------------------------- + +datablock ParticleData(BlueFireWorkTrail) +{ + textureName = "~/data/particles/spark"; + dragCoefficient = 1; + gravityCoefficient = 0; + inheritedVelFactor = 0; + windCoefficient = 0; + constantAcceleration = 0; + lifetimeMS = 600; + lifetimeVarianceMS = 100; + spinSpeed = 0; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + useInvAlpha = true; + + colors[0] = "0 0 1 1.0"; + colors[1] = "0.5 0.5 1 1.0"; + colors[2] = "1 1 1 0.0"; + + sizes[0] = 0.1; + sizes[1] = 0.05; + sizes[2] = 0.01; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(BlueFireWorkTrailEmitter) +{ + ejectionPeriodMS = 30; + periodVarianceMS = 0; + ejectionVelocity = 0.1; + velocityVariance = 0.0; + ejectionOffset = 0.0; + thetaMin = 170; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + //overrideAdvances = false; + //orientParticles = true; + lifetimeMS = 5000; + particles = "BlueFireWorkTrail"; +}; + +datablock DebrisData(BlueFireWork) +{ + //shapeFile = "file"; + texture = "~data/particles/spark"; + emitters = "BlueFireWorkTrailEmitter"; + + explosion = BlueFireWorkSparkExplosion; + elasticity = 0.2; + friction = 1; + numBounces = 1; + bounceVariance = 0; + explodeOnMaxBounce = true; + staticOnMaxBounce = false; + snapOnMaxBounce = false; + minSpinSpeed = 0; + maxSpinSpeed = 0; + render2D = false; + lifetime = 1.5; + lifetimeVariance = 0.4; + velocity = 2; + velocityVariance = 0.5; + fade = false; + useRadiusMass = false; + baseRadius = 0.2; + gravModifier = 0.05; + terminalVelocity = 6; + ignoreWater = true; +}; + +datablock ExplosionData(BlueFireWorkExplosion) +{ + //soundProfile = ExplodeSfx; + lifeTimeMS = 1200; + offset = 0.2; + + debris = BlueFireWork; + debrisThetaMin = 0; + debrisThetaMax = 90; + debrisPhiMin = 0; + debrisPhiMax = 360; + debrisNum = 10; + debrisNumVariance = 2; + debrisVelocity = 3; + debrisVelocityVariance = 0.5; + + // Misc. + shakeCamera = false; + impulseRadius = 0; + lightStartRadius = 0; + lightEndRadius = 0; +}; + + +//----------------------------------------------------------------------------- + +datablock ParticleEmitterNodeData(FireWorkNode) +{ + timeMultiple = 1; +}; + +function startFireWorks(%pad) +{ + // Create the cleanup group + if (!isObject(FireWorks)) { + new SimGroup(FireWorks); + MissionCleanup.add(FireWorks); + } + + // Create a ParticleNode to run the emitter + %position = %pad.getPosition(); + %rotation = %pad.rotation; + + %obj = new ParticleEmitterNode(){ + datablock = FireWorkNode; + emitter = FireWorkSmokeEmitter; + position = %position; + rotation = %rotation; + }; + FireWorks.add(%obj); + + // Create the explosions + $Game::FireWorkSchedule = schedule(0,0,"launchWave",0,%position, %rotation); +} + +function endFireWorks(%position) +{ + if (isObject(FireWorks)) + FireWorks.delete(); + cancel($Game::FireWorkSchedule); +} + +//----------------------------------------------------------------------------- + +$FireWorkWave[0] = "RedFireWorkExplosion"; +$FireWorkWave[1] = "BlueFireWorkExplosion"; + +function launchWave(%wave,%position, %rotation) +{ + // Create the explosions + for (%i = 0; %i < 2; %i++) { + %obj = new Explosion() { + datablock = $FireWorkWave[%i]; + position = %position; + rotation = %rotation; + }; + FireWorks.add(%obj); + } + + // Schedule next wave + if (%wave < 3) { + %delay = 500 + 1000 * getRandom(); + $Game::FireWorkSchedule = schedule(%delay,0,"launchWave",%wave + 1,%position, %rotation); + } +} + + + + diff --git a/marble/server/scripts/fireworks.cs.dso b/marble/server/scripts/fireworks.cs.dso new file mode 100644 index 0000000..540f01a Binary files /dev/null and b/marble/server/scripts/fireworks.cs.dso differ diff --git a/marble/server/scripts/game.cs b/marble/server/scripts/game.cs new file mode 100644 index 0000000..dcc319a --- /dev/null +++ b/marble/server/scripts/game.cs @@ -0,0 +1,625 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Penalty and bonus times. +$Game::TimeTravelBonus = 5000; + +// Item respawn values, only powerups currently respawn +$Item::RespawnTime = 7 * 1000; +$Item::PopTime = 10 * 1000; + +// Game duration in secs, no limit if the duration is set to 0 +$Game::Duration = 0; + +// Pause while looking over the end game screen (in secs) +$Game::EndGamePause = 5; + +//----------------------------------------------------------------------------- +// Variables extracted from the mission +$Game::GemCount = 0; +$Game::StartPad = 0; +$Game::EndPad = 0; + + +//----------------------------------------------------------------------------- +// Functions that implement game-play +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function onServerCreated() +{ + // Server::GameType is sent to the master server. + // This variable should uniquely identify your game and/or mod. + $Server::GameType = "Marble Game"; + + // Server::MissionType sent to the master server. Clients can + // filter servers based on mission type. + $Server::MissionType = "Deathmatch"; + + // GameStartTime is the sim time the game started. Used to calculated + // game elapsed time. + $Game::StartTime = 0; + + // Load up all datablocks, objects etc. This function is called when + // a server is constructed. + exec("./audioProfiles.cs"); + exec("./camera.cs"); + exec("./markers.cs"); + exec("./triggers.cs"); + exec("./inventory.cs"); + exec("./shapeBase.cs"); + exec("./staticShape.cs"); + exec("./item.cs"); + + // Basic items + exec("./marble.cs"); + exec("./gems.cs"); + exec("./powerUps.cs"); + exec("./buttons.cs"); + exec("./hazards.cs"); + exec("./pads.cs"); + exec("./bumpers.cs"); + exec("./signs.cs"); + exec("./fireworks.cs"); + + // Platforms and interior doors + exec("./pathedInteriors.cs"); + + // Keep track of when the game started + $Game::StartTime = $Sim::Time; +} + +function onServerDestroyed() +{ + // Perform any game cleanup without actually ending the game + destroyGame(); +} + + +//----------------------------------------------------------------------------- + +function onMissionLoaded() +{ + // Called by loadMission() once the mission is finished loading. + // Nothing special for now, just start up the game play. + + $Game::GemCount = countGems(MissionGroup); + + setGravityDir("1 0 0 0 -1 0 0 0 -1",true); + + // Start the game here if multiplayer... + if ($Server::ServerType $= "MultiPlayer") + startGame(); + + %shape = $pref::marbleshape; + //checking for null.... + if(%shape $= "") + %shape = "ball-superball"; + defaultmarble.shapeFile = "marble/data/shapes/balls/" @ %shape @ ".dts"; +} + +function onMissionEnded() +{ + // Called by endMission(), right before the mission is destroyed + // This part of a normal mission cycling or end. + endGame(); +} + +function onMissionReset() +{ + setGravityDir("1 0 0 0 -1 0 0 0 -1",true); + endFireWorks(); + + // Reset the players and inform them we're starting + for( %clientIndex = 0; %clientIndex < ClientGroup.getCount(); %clientIndex++ ) { + %cl = ClientGroup.getObject( %clientIndex ); + commandToClient(%cl, 'GameStart'); + %cl.resetStats(); + } + + // Start the game duration timer + if ($Game::Duration) + $Game::CycleSchedule = schedule($Game::Duration * 1000, 0, "onGameDurationEnd" ); + $Game::Running = true; + + ServerGroup.onMissionReset(); + + // Set the initial state + setGameState("Start"); +} + +function SimGroup::onMissionReset(%this) +{ + for(%i = 0; %i < %this.getCount(); %i++) + %this.getObject(%i).onMissionReset(); +} + +function SimObject::onMissionReset(%this) +{ +} + +function GameBase::onMissionReset(%this) +{ + %this.getDataBlock().onMissionReset(%this); +} + +//----------------------------------------------------------------------------- + +function startGame() +{ + if ($Game::Running) { + error("startGame: End the game first!"); + return; + } + $Game::Running = true; + $Game::Qualified = false; + onMissionReset(); +} + +function endGame() +{ + if (!$Game::Running) { + error("endGame: No game running!"); + return; + } + destroyGame(); + + // Inform the clients the game is over + for (%index = 0; %index < ClientGroup.getCount(); %index++) { + %client = ClientGroup.getObject(%index); + commandToClient(%client, 'GameEnd'); + } + + // Single player... grab the playgui as the elapsed time and + // roll in clients penalty and bonus + PlayGUI.stopTimer(); + + $Game::ScoreTime = PlayGui.elapsedTime; + $Game::ElapsedTime = PlayGui.elapsedTime - %client.penaltyTime + PlayGui.totalBonus; + $Game::PenaltyTime = %client.penaltyTime; + $Game::BonusTime = PlayGui.totalBonus; + + // Not all missions have time qualifiers + $Game::Qualified = MissionInfo.time? $Game::ScoreTime < MissionInfo.time: true; + + // Bump up the max level + if (!$playingDemo && $Game::Qualified && (MissionInfo.level + 1) > $Pref::QualifiedLevel[MissionInfo.type]) + $Pref::QualifiedLevel[MissionInfo.type] = MissionInfo.level + 1; +} + +function pauseGame() +{ + if ($Server::ServerType $= "SinglePlayer") + $gamePaused = true; +} + +function resumeGame() +{ + $gamePaused = false; +} + +function destroyGame() +{ + // Cancel any client timers + for (%index = 0; %index < ClientGroup.getCount(); %index++) + cancel(ClientGroup.getObject(%index).respawnSchedule); + + // Perform cleanup to reset the game. + cancel($Game::CycleSchedule); + cancel($Game::StateSchedule); + + $Game::Running = false; +} + + +//----------------------------------------------------------------------------- + +function setGameState(%state) +{ + cancel($Game::StateSchedule); + $Game::State = %state; + eval("State::"@%state@"();"); + echo("State "@%state@""); +} + +function State::start() +{ + PlayGui.resetTimer(); + PlayGui.setMessage(""); + PlayGui.setGemCount(0); + PlayGui.setMaxGems($Game::GemCount); + $Game::StateSchedule = schedule( 500, 0, "setGameState", "Ready"); + if(MissionInfo.startHelpText !$= "") + { + addHelpLine(MissionInfo.startHelpText, false); + } +} + +function State::ready() +{ + serverPlay2d(ReadyVoiceSfx); + PlayGui.setMessage("ready"); + $Game::StateSchedule = schedule( 1500, 0, "setGameState", "set"); +} + +function State::set() +{ + serverPlay2d(SetVoiceSfx); + PlayGui.setMessage("set"); + $Game::StateSchedule = schedule( 1500, 0, "setGameState", "Go"); +} + +function State::go() +{ + serverPlay2d(GetRollingVoiceSfx); + PlayGui.setMessage("go"); + PlayGui.startTimer(); + $Game::StateSchedule = schedule( 2000, 0, "setGameState", "Play"); + + // Target the players to the end pad and let them lose + for( %index = 0; %index < ClientGroup.getCount(); %index++ ) { + %player = ClientGroup.getObject(%index).player; + %player.setPad($Game::EndPad); + %player.setMode(Normal); + } +} + +function State::play() +{ + // Normaly play mode + PlayGui.setMessage(""); +} + +function State::end() +{ + // Do score calculations, messages to winner, losers, etc. + PlayGUI.stopTimer(); + serverplay2d(WonRaceSfx); + startFireWorks(EndPoint); + $Game::StateSchedule = schedule( 2000, 0, "endGame"); +} + + +//----------------------------------------------------------------------------- + +function onGameDurationEnd() +{ + // This "redirect" is here so that we can abort the game cycle if + // the $Game::Duration variable has been cleared, without having + // to have a function to cancel the schedule. + if ($Game::Duration && !isObject(EditorGui)) + cycleGame(); +} + +function cycleGame() +{ + // This is setup as a schedule so that this function can be called + // directly from object callbacks. Object callbacks have to be + // carefull about invoking server functions that could cause + // their object to be deleted. + if (!$Game::Cycling) { + $Game::Cycling = true; + $Game::CycleSchedule = schedule(0, 0, "onCycleExec"); + } +} + +function onCycleExec() +{ + // End the current game and start another one, we'll pause for a little + // so the end game victory screen can be examined by the clients. + endGame(); + $Game::CycleSchedule = schedule($Game::EndGamePause * 1000, 0, "onCyclePauseEnd"); +} + +function onCyclePauseEnd() +{ + $Game::Cycling = false; + loadNextMission(); +} + +function loadNextMission() +{ + %nextMission = ""; + + // Cycle to the next level, or back to the start if there aren't + // any more levels. + for (%file = findFirstFile($Server::MissionFileSpec); + %file !$= ""; %file = findNextFile($Server::MissionFileSpec)) + if (strStr(%file, "CVS/") == -1 && strStr(%file, "common/") == -1) + { + %mission = getMissionObject(%file); + if (%mission.type $= MissionInfo.type) { + if (%mission.level == 1) + %nextMission = %file; + if ((%mission.level + 0) == MissionInfo.level + 1) { + echo("Found one!"); + %nextMission = %file; + break; + } + } + } + loadMission(%nextMission); +} + + + +//----------------------------------------------------------------------------- +// GameConnection Methods +// These methods are extensions to the GameConnection class. Extending +// GameConnection make is easier to deal with some of this functionality, +// but these could also be implemented as stand-alone functions. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function GameConnection::incPenaltyTime(%this,%dt) +{ + PlayGui.adjustTimer(%dt); + %this.penaltyTime += %dt; +} + +function GameConnection::incBonusTime(%this,%dt) +{ + PlayGui.addBonusTime(%dt); + %this.bonusTime += %dt; +} + + +//----------------------------------------------------------------------------- + +function GameConnection::onClientEnterGame(%this) +{ + // Create a new camera object. + %this.camera = new Camera() { + dataBlock = Observer; + }; + MissionCleanup.add( %this.camera ); + %this.camera.scopeToClient(%this); + + // Setup game parameters and create the player + %this.resetStats(); + %this.spawnPlayer(); + + // Anchor the player to the start pad + %this.player.setMode(Start); + + // Start the game here for single player + if ($Server::ServerType $= "SinglePlayer") + startGame(); +} + +function GameConnection::onClientLeaveGame(%this) +{ + if (isObject(%this.camera)) + %this.camera.delete(); + if (isObject(%this.player)) + %this.player.delete(); +} + +function GameConnection::resetStats(%this) +{ + // Reset game stats + %this.bonusTime = 0; + %this.penaltyTime = 0; + %this.gemCount = 0; + + // Reset the checkpoint + if (isObject(%this.checkPoint)) + %this.checkPoint.delete(); + %this.checkPoint = new ScriptObject() { + pad = $Game::StartPad; + time = 0; + gemCount = 0; + penaltyTime = 0; + bonusTime = 0; + powerUp = 0; + }; +} + + +//----------------------------------------------------------------------------- + +function GameConnection::onEnterPad(%this) +{ + if (%this.player.getPad() == $Game::EndPad) { + + if ($Game::GemCount && %this.gemCount < $Game::GemCount) { + %this.play2d(MissingGemsSfx); + messageClient(%this, 'MsgMissingGems', '\c0You can\'t finish without all the gems!!'); + } + else { + %this.player.setMode(Victory); + messageClient(%this, 'MsgRaceOver', '\c0Congratulations! You\'ve finished!'); + setGameState("End"); + } + } +} + +function GameConnection::onLeavePad(%this) +{ + // Don't care if the leave +} + + +//----------------------------------------------------------------------------- + +function GameConnection::onOutOfBounds(%this) +{ + if ($Game::State $= "End") + return; + + // Reset the player back to the last checkpoint + PlayGui.setMessage("outOfBounds",2000); + %this.play2d(OutOfBoundsVoiceSfx); + %this.player.setOOB(true); + if(!isEventPending(%this.respawnSchedule)) + %this.respawnSchedule = %this.schedule(2500, respawnPlayer); +} + +function Marble::onOOBClick(%this) +{ + if($Game::State $= "Play") + ClientGroup.getObject(0).respawnPlayer(); +} + +function GameConnection::onDestroyed(%this) +{ + if ($Game::State $= "End") + return; + + // Reset the player back to the last checkpoint + PlayGui.setMessage("destroyed",2000); + %client.play2d(DestroyedVoiceSfx); + %this.player.setOOB(true); + if(!isEventPending(%this.respawnSchedule)) + %this.respawnSchedule = %this.schedule(2500, respawnPlayer); +} + +function GameConnection::onFoundGem(%this,%amount) +{ + %this.gemCount += %amount; + %remaining = $Game::gemCount - %this.gemCount; + if (%remaining <= 0) { + messageClient(%this, 'MsgHaveAllGems', '\c0You have all the gems, head for the finish!'); + %this.play2d(GotAllGemsSfx); + %this.gemCount = $Game::GemCount; + } + else + { + if(%remaining == 1) + %msg = '\c0You picked up a gem. Only one gem to go!'; + else + %msg = '\c0You picked up a gem. %1 gems to go!'; + + messageClient(%this, 'MsgItemPickup', %msg, %remaining); + %this.play2d(GotGemSfx); + } + + PlayGui.setGemCount(%this.gemCount); +} + + +//----------------------------------------------------------------------------- + +function GameConnection::spawnPlayer(%this) +{ + // Combination create player and drop him somewhere + %spawnPoint = %this.getCheckpointPos(); + %this.createPlayer(%spawnPoint); + serverPlay2d(spawnSfx); +} + +function restartLevel() +{ + LocalClientConnection.respawnPlayer(); +} + +function GameConnection::respawnPlayer(%this) +{ + // Reset the player back to the last checkpoint + cancel(%this.respawnSchedule); + onMissionReset(); + %this.player.setOOB(false); + %this.player.setMode(Start); + %this.player.setPosition(%this.getCheckpointPos(), 0.45); + %this.player.setPowerUp(%this.checkPoint.powerUp,true); + + %this.gemCount = %this.checkPoint.gemCount; + %this.penaltyTime = %this.checkPoint.penaltyTime; + %this.bonusTime = %this.checkPoint.bonusTime; + + PlayGUI.setTime(%this.checkPoint.time); + PlayGui.setGemCount(%this.gemCount); + serverPlay2d(spawnSfx); +} + +//----------------------------------------------------------------------------- + +function GameConnection::createPlayer(%this, %spawnPoint) +{ + if (%this.player > 0) { + // The client should not have a player currently + // assigned. Assigning a new one could result in + // a player ghost. + error( "Attempting to create an angus ghost!" ); + } + + %player = new Marble() { + dataBlock = DefaultMarble; + client = %this; + }; + MissionCleanup.add(%player); + + // Player setup... + %player.setPosition(%spawnPoint, 0.45); + %player.setEnergyLevel(60); + %player.setShapeName(%this.name); + %player.client.status = 1; + + // Update the camera to start with the player + %this.camera.setTransform(%player.getEyeTransform()); + + // Give the client control of the player + %this.player = %player; + %this.setControlObject(%player); +} + + +//----------------------------------------------------------------------------- + +function GameConnection::setCheckpoint(%this,%object) +{ + // Store the last checkpoint which will be used to restore + // the player when he goes out of bounds. + if (%object != %this.checkPoint.pad) { + %this.checkPoint.delete(); + %this.checkPoint = new ScriptObject() { + pad = %object; + time = PlayGUI.elapsedTime; + gemCount = %this.gemCount; + penaltyTime = %this.penaltyTime; + bonusTime = %this.bonusTime; + powerUp = %this.player.getPowerUp(); + }; + + messageClient(%this, 'MsgCheckPoint', "\c0Check Point " @ %object.number @ " reached!"); + } +} + +function GameConnection::getCheckpointPos(%this,%num) +{ + // Return the point a little above the object's center + if (!isObject(%this.checkPoint.pad)) + return "0 0 300 1 0 0 0"; + return vectorAdd(%this.checkPoint.pad.getTransform(),"0 0 3") SPC + getWords(%this.checkPoint.pad.getTransform(), 3); +} + +//----------------------------------------------------------------------------- +// Support functions +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function countGems(%group) +{ + // Count up all gems out there are in the world + %gems = 0; + for (%i = 0; %i < %group.getCount(); %i++) + { + %object = %group.getObject(%i); + %type = %object.getClassName(); + if (%type $= "SimGroup") + %gems += countGems(%object); + else + if (%type $= "Item" && + %object.getDatablock().classname $= "Gem") + %gems++; + } + return %gems; +} diff --git a/marble/server/scripts/game.cs.dso b/marble/server/scripts/game.cs.dso new file mode 100644 index 0000000..5836c92 Binary files /dev/null and b/marble/server/scripts/game.cs.dso differ diff --git a/marble/server/scripts/gems.cs b/marble/server/scripts/gems.cs new file mode 100644 index 0000000..6bf3655 --- /dev/null +++ b/marble/server/scripts/gems.cs @@ -0,0 +1,127 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Gem base class +//----------------------------------------------------------------------------- + +datablock AudioProfile(GotGemSfx) +{ + filename = "~/data/sound/gotGem.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(GotAllGemsSfx) +{ + filename = "~/data/sound/gotAllGems.wav"; + description = AudioDefault3d; + preload = true; +}; + + +//----------------------------------------------------------------------------- + +$GemSkinColors[0] = "base"; +$GemSkinColors[1] = "base"; +$GemSkinColors[2] = "blue"; +$GemSkinColors[3] = "red"; +$GemSkinColors[4] = "yellow"; +$GemSkinColors[5] = "purple"; +$GemSkinColors[6] = "orange"; +$GemSkinColors[7] = "green"; +$GemSkinColors[8] = "turquoise"; +$GemSkinColors[9] = "black"; + +function Gem::onAdd(%this,%obj) +{ + if (%this.skin !$= "") + %obj.setSkinName(%this.skin); + else { + // Random skin if none assigned + %obj.setSkinName($GemSkinColors[getRandom(9)]); + } +} + +function Gem::onPickup(%this,%obj,%user,%amount) +{ + Parent::onPickup(%this,%obj,%user,%amount); + %user.client.onFoundGem(%amount); + return true; +} + +function Gem::saveState(%this,%obj,%state) +{ + %state.object[%obj.getId()] = %obj.isHidden(); +} + +function Gem::restoreState(%this,%obj,%state) +{ + %obj.hide(%state.object[%obj.getId()]); +} + +//----------------------------------------------------------------------------- + +datablock ItemData(GemItem) +{ + // Mission editor category + category = "Gems"; + className = "Gem"; + + // Basic Item properties + shapeFile = "~/data/shapes/items/gem.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + + // Dynamic properties defined by the scripts + pickupName = "a gem!"; + maxInventory = 1; + noRespawn = true; + gemType = 1; + noPickupMessage = true; +}; + +datablock ItemData(GemItemBlue: GemItem) +{ + skin = "blue"; +}; + +datablock ItemData(GemItemRed: GemItem) +{ + skin = "red"; +}; + +datablock ItemData(GemItemYellow: GemItem) +{ + skin = "yellow"; +}; + +datablock ItemData(GemItemPurple: GemItem) +{ + skin = "purple"; +}; + +datablock ItemData(GemItemGreen: GemItem) +{ + skin = "Green"; +}; + +datablock ItemData(GemItemTurquoise: GemItem) +{ + skin = "Turquoise"; +}; + +datablock ItemData(GemItemOrange: GemItem) +{ + skin = "orange"; +}; + +datablock ItemData(GemItemBlack: GemItem) +{ + skin = "black"; +}; + diff --git a/marble/server/scripts/gems.cs.dso b/marble/server/scripts/gems.cs.dso new file mode 100644 index 0000000..3cedc3a Binary files /dev/null and b/marble/server/scripts/gems.cs.dso differ diff --git a/marble/server/scripts/hazards.cs b/marble/server/scripts/hazards.cs new file mode 100644 index 0000000..8839913 --- /dev/null +++ b/marble/server/scripts/hazards.cs @@ -0,0 +1,408 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(TrapDoorOpenSfx) +{ + filename = "~/data/sound/TrapDoorOpen.wav"; + description = AudioDefault3d; + preload = true; +}; + + +datablock StaticShapeData(TrapDoor) +{ + className = "Trap"; + category = "Hazards"; + shapeFile = "~/data/shapes/hazards/trapdoor.dts"; + resetTime = 5000; + scopeAlways = true; +}; + +function TrapDoor::onAdd(%this, %obj) +{ + %obj.open = false; + %obj.timeout = 200; + if (%obj.resetTime $= "") + %obj.resetTime = "Default"; +} + +function TrapDoor::onCollision(%this,%obj,%col) +{ + if (!%obj.open) { + // pause before opening - give marble a chance to get off + %this.schedule(%obj.timeout,"open",%obj); + %obj.open = true; + + // Schedule the button reset + %resetTime = (%obj.resetTime $= "Default")? %this.resetTime: %obj.resetTime; + if (%resetTime) + %this.schedule(%resetTime,close,%obj); + } +} + +function Trapdoor::open(%this, %obj) +{ + %obj.setThreadDir(0,true); + %obj.playThread(0,"fall",1); + %obj.playAudio(0,TrapDoorOpenSfx); + %obj.open = true; +} + +function Trapdoor::close(%this, %obj) +{ + %obj.setThreadDir(0,false); + %obj.playAudio(0,TrapDoorOpenSfx); + %obj.open = false; +} + + +//----------------------------------------------------------------------------- +datablock AudioProfile(DuctFanSfx) +{ + filename = "~/data/sound/Fan_loop.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + + +datablock StaticShapeData(DuctFan) +{ + className = "Fan"; + category = "Hazards"; + shapeFile = "~/data/shapes/hazards/ductfan.dts"; + scopeAlways = true; + + forceType[0] = Cone; // Force type {Spherical, Field, Cone} + forceNode[0] = 0; // Shape node transform + forceStrength[0] = 40; // Force to apply + forceRadius[0] = 10; // Max radius + forceArc[0] = 0.7; // Cos angle + + powerOn = true; // Default state +}; + +datablock StaticShapeData(SmallDuctFan) +{ + className = "Fan"; + category = "Hazards"; + shapeFile = "~/data/shapes/hazards/ductfan.dts"; + scopeAlways = true; + + scale = "0.5 0.5 0.5"; + + forceType[0] = Cone; // Force type {Spherical, Field, Cone} + forceNode[0] = 0; // Shape node transform + forceStrength[0] = 10; // Force to apply + forceRadius[0] = 5; // Max radius + forceArc[0] = 0.7; // Cos angle + + powerOn = true; // Default state +}; + +function DuctFan::onAdd(%this,%obj) +{ + if (%this.powerOn) + { + %obj.playAudio(0, DuctFanSfx); + %obj.playThread(0,"spin"); + } + %obj.setPoweredState(%this.powerOn); +} + +function DuctFan::onTrigger(%this,%obj,%mesg) +{ + if (%mesg) + { + %obj.playAudio(0, DuctFanSfx); + %obj.playThread(0,"spin"); + } + else + { + %obj.stopThread(0); + %obj.stopAudio(0); + } + %obj.setPoweredState(%mesg); +} + +function SmallDuctFan::onAdd(%this,%obj) +{ + if (%this.powerOn) + { + %obj.playThread(0,"spin"); + %obj.playAudio(0, DuctFanSfx); + } + %obj.setPoweredState(%this.powerOn); +} + +function SmallDuctFan::onTrigger(%this,%obj,%mesg) +{ + if (%mesg) + { + %obj.playAudio(0, DuctFanSfx); + %obj.playThread(0,"spin"); + } + else + { + %obj.stopThread(0); + %obj.stopAudio(0); + } + + %obj.setPoweredState(%mesg); +} + + +//----------------------------------------------------------------------------- + +datablock StaticShapeData(OilSlick) +{ + category = "Hazards"; + shapeFile = "~/data/shapes/hazards/oilslick.dts"; + scopeAlways = true; +}; + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(TornadoSfx) +{ + filename = "~/data/sound/Tornado.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock StaticShapeData(Tornado) +{ + category = "Hazards"; + shapeFile = "~/data/shapes/hazards/tornado.dts"; + scopeAlways = true; + + // Pull the marble in + forceType[0] = Spherical; // Force type {Spherical, Field, Cone} + forceStrength[0] = -60; // Force to apply + forceRadius[0] = 8; // Max radius + + // Counter sphere to slow the marble down near the center + forceType[1] = Spherical; + forceStrength[1] = 60; + forceRadius[1] = 3; + + // Field to shoot the marble up + forceType[2] = Field; + forceVector[2] = "0 0 1"; + forceStrength[2] = 250; + forceRadius[2] = 3; +}; + +function Tornado::onAdd(%this,%obj) +{ + %obj.playThread(0,"ambient"); + %obj.playAudio(0,TornadoSfx); + %obj.setPoweredState(true); +} + +//----------------------------------------------------------------------------- +// LandMine + +datablock AudioProfile(ExplodeSfx) +{ + filename = "~/data/sound/explode1.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ParticleData(LandMineParticle) +{ + textureName = "~/data/particles/smoke"; + dragCoefficient = 2; + gravityCoefficient = 0.2; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 1000; + lifetimeVarianceMS = 150; + + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.56 0.36 0.26 0.0"; + + sizes[0] = 0.5; + sizes[1] = 1.0; +}; + +datablock ParticleEmitterData(LandMineEmitter) +{ + ejectionPeriodMS = 7; + periodVarianceMS = 0; + ejectionVelocity = 2; + velocityVariance = 1.0; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 60; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + particles = "LandMineParticle"; +}; + +datablock ParticleData(LandMineSmoke) +{ + textureName = "~/data/particles/smoke"; + dragCoeffiecient = 100.0; + gravityCoefficient = 0; + inheritedVelFactor = 0.25; + constantAcceleration = -0.80; + lifetimeMS = 1200; + lifetimeVarianceMS = 300; + useInvAlpha = true; + spinRandomMin = -80.0; + spinRandomMax = 80.0; + + colors[0] = "0.56 0.36 0.26 1.0"; + colors[1] = "0.2 0.2 0.2 1.0"; + colors[2] = "0.0 0.0 0.0 0.0"; + + sizes[0] = 1.0; + sizes[1] = 1.5; + sizes[2] = 2.0; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(LandMineSmokeEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 4; + velocityVariance = 0.5; + thetaMin = 0.0; + thetaMax = 180.0; + lifetimeMS = 250; + particles = "LandMineSmoke"; +}; + +datablock ParticleData(LandMineSparks) +{ + textureName = "~/data/particles/spark"; + dragCoefficient = 1; + gravityCoefficient = 0.0; + inheritedVelFactor = 0.2; + constantAcceleration = 0.0; + lifetimeMS = 500; + lifetimeVarianceMS = 350; + + colors[0] = "0.60 0.40 0.30 1.0"; + colors[1] = "0.60 0.40 0.30 1.0"; + colors[2] = "1.0 0.40 0.30 0.0"; + + sizes[0] = 0.5; + sizes[1] = 0.25; + sizes[2] = 0.25; + + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(LandMineSparkEmitter) +{ + ejectionPeriodMS = 3; + periodVarianceMS = 0; + ejectionVelocity = 13; + velocityVariance = 6.75; + ejectionOffset = 0.0; + thetaMin = 0; + thetaMax = 180; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvances = false; + orientParticles = true; + lifetimeMS = 100; + particles = "LandMineSparks"; +}; + +datablock ExplosionData(LandMineSubExplosion1) +{ + offset = 1.0; + emitter[0] = LandMineSmokeEmitter; + emitter[1] = LandMineSparkEmitter; +}; + +datablock ExplosionData(LandMineSubExplosion2) +{ + offset = 1.0; + emitter[0] = LandMineSmokeEmitter; + emitter[1] = LandMineSparkEmitter; +}; + +datablock ExplosionData(LandMineExplosion) +{ + soundProfile = ExplodeSfx; + lifeTimeMS = 1200; + + // Volume particles + particleEmitter = LandMineEmitter; + particleDensity = 80; + particleRadius = 1; + + // Point emission + emitter[0] = LandMineSmokeEmitter; + emitter[1] = LandMineSparkEmitter; + + // Sub explosion objects + subExplosion[0] = LandMineSubExplosion1; + subExplosion[1] = LandMineSubExplosion2; + + // Camera Shaking + shakeCamera = true; + camShakeFreq = "10.0 11.0 10.0"; + camShakeAmp = "1.0 1.0 1.0"; + camShakeDuration = 0.5; + camShakeRadius = 10.0; + + // Impulse + impulseRadius = 10; + impulseForce = 15; + + // Dynamic light + lightStartRadius = 6; + lightEndRadius = 3; + lightStartColor = "0.5 0.5 0"; + lightEndColor = "0 0 0"; +}; + +datablock StaticShapeData(LandMine) +{ + className = "Explosive"; + category = "Hazards"; + shapeFile = "~/data/shapes/hazards/landmine.dts"; + explosion = LandMineExplosion; + renderWhenDestroyed = false; + resetTime = 5000; +}; + +function LandMine::onAdd(%this, %obj) +{ + if (%obj.resetTime $= "") + %obj.resetTime = "Default"; +} + +function LandMine::onCollision(%this, %obj, %col) +{ + %obj.setDamageState("Destroyed"); + + %resetTime = (%obj.resetTime $= "Default")? %this.resetTime: %obj.resetTime; + if (%resetTime) { + %obj.startFade(0, 0, true); + %obj.schedule(%resetTime, setDamageState,"Enabled"); + %obj.schedule(%resetTime, "startFade", 1000, 0, false); + } +} + + diff --git a/marble/server/scripts/hazards.cs.dso b/marble/server/scripts/hazards.cs.dso new file mode 100644 index 0000000..3cd906c Binary files /dev/null and b/marble/server/scripts/hazards.cs.dso differ diff --git a/marble/server/scripts/inventory.cs b/marble/server/scripts/inventory.cs new file mode 100644 index 0000000..ddc120c --- /dev/null +++ b/marble/server/scripts/inventory.cs @@ -0,0 +1,258 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +// This inventory system is totally scripted, no C++ code involved. +// It uses object datablock names to track inventory and is generally +// object type, or class, agnostic. In other words, it will inventory +// any kind of ShapeBase object, though the throw method does assume +// that the objects are small enough to throw :) +// +// For a ShapeBase object to support inventory, it must have an array +// of inventory max values: +// +// %this.maxInv[GunAmmo] = 100; +// %this.maxInv[SpeedGun] = 1; +// +// where the names "SpeedGun" and "GunAmmo" are datablocks. +// +// For objects to be inventoriable, they must provide a set of inventory +// callback methods, mainly: +// +// onUse +// onThrow +// onPickup +// +// Example methods are given further down. The item.cs file also contains +// example inventory items. + +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Inventory server commands +//----------------------------------------------------------------------------- + +function serverCmdUse(%client,%data) +{ + %client.getControlObject().use(%data); +} + +//----------------------------------------------------------------------------- +// ShapeBase inventory support +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function ShapeBase::use(%this,%data) +{ + // Use an object in the inventory. + if (%this.getInventory(%data) > 0) + return %data.onUse(%this); + return false; +} + +function ShapeBase::throw(%this,%data,%amount) +{ + // Throw objects from inventory. The onThrow method is + // responsible for decrementing the inventory. + if (%this.getInventory(%data) > 0) { + %obj = %data.onThrow(%this,%amount); + if (%obj) { + %this.throwObject(%obj); + return true; + } + } + return false; +} + +function ShapeBase::pickup(%this,%obj,%amount) +{ + // This method is called to pickup an object and add it + // to the inventory. The datablock onPickup method is actually + // responsible for doing all the work, including incrementing + // the inventory. + %data = %obj.getDatablock(); + + // Try and pickup the max if no value was specified + if (%amount $= "") + %amount = %this.maxInventory(%data) - %this.getInventory(%data); + + // The datablock does the work... + if (%amount < 0) + %amount = 0; + if (%amount) + return %data.onPickup(%obj,%this,%amount); + return false; +} + + +//----------------------------------------------------------------------------- + +function ShapeBase::maxInventory(%this,%data) +{ + // If there is no limit defined, we assume 0 + return %this.getDatablock().maxInv[%data.getName()]; +} + +function ShapeBase::incInventory(%this,%data,%amount) +{ + // Increment the inventory by the given amount. The return value + // is the amount actually added, which may be less than the + // requested amount due to inventory restrictions. + %max = %this.maxInventory(%data); + %total = %this.inv[%data.getName()]; + if (%total < %max) { + if (%total + %amount > %max) + %amount = %max - %total; + %this.setInventory(%data,%total + %amount); + return %amount; + } + return 0; +} + +function ShapeBase::decInventory(%this,%data,%amount) +{ + // Decrement the inventory by the given amount. The return value + // is the amount actually removed. + %total = %this.inv[%data.getName()]; + if (%total > 0) { + if (%total < %amount) + %amount = %total; + %this.setInventory(%data,%total - %amount); + return %amount; + } + return 0; +} + + +//----------------------------------------------------------------------------- + +function ShapeBase::getInventory(%this,%data) +{ + // Return the current inventory amount + return %this.inv[%data.getName()]; +} + +function ShapeBase::setInventory(%this,%data,%value) +{ + // Set the inventory amount for this datablock and invoke + // inventory callbacks. All changes to inventory go through this + // single method. + + // Impose inventory limits + if (%value < 0) + %value = 0; + else { + %max = %this.maxInventory(%data); + if (%value > %max) + %value = %max; + } + + // Set the value and invoke object callbacks + %name = %data.getName(); + if (%this.inv[%name] != %value) + { + %this.inv[%name] = %value; + %data.onInventory(%this,%value); + %this.getDataBlock().onInventory(%data,%value); + } + return %value; +} + + +//----------------------------------------------------------------------------- + +function ShapeBase::clearInventory(%this) +{ + // To be filled in... +} + + +//----------------------------------------------------------------------------- + +function ShapeBase::throwObject(%this,%obj) +{ + // Throw the given object in the direction the shape is looking. + // The force value is hardcoded according to the current default + // object mass and mission gravity (20m/s^2). + %throwForce = %this.throwForce; + if (!%throwForce) + %throwForce = 20; + + // Start with the shape's eye vector... + %eye = %this.getEyeVector(); + %vec = vectorScale(%eye, %throwForce); + + // Add a vertical component to give the object a better arc + %verticalForce = %throwForce / 2; + %dot = vectorDot("0 0 1",%eye); + if (%dot < 0) + %dot = -%dot; + %vec = vectorAdd(%vec,vectorScale("0 0 " @ %verticalForce,1 - %dot)); + + // Add the shape's velocity + %vec = vectorAdd(%vec,%this.getVelocity()); + + // Set the object's position and initial velocity + %pos = getBoxCenter(%this.getWorldBox()); + %obj.setTransform(%pos); + %obj.applyImpulse(%pos,%vec); + + // Since the object is thrown from the center of the + // shape, the object needs to avoid colliding with it's + // thrower. + %obj.setCollisionTimeout(%this); +} + + +//----------------------------------------------------------------------------- +// Callback hooks invoked by the inventory system +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// ShapeBase object callbacks invoked by the inventory system + +function ShapeBase::onInventory(%this, %data, %value) +{ + // Invoked on ShapeBase objects whenever their inventory changes + // for the given datablock. +} + + +//----------------------------------------------------------------------------- +// ShapeBase datablock callback invoked by the inventory system. + +function ShapeBaseData::onUse(%this,%user) +{ + // Invoked when the object uses this datablock, should return + // true if the item was used. + return false; +} + +function ShapeBaseData::onThrow(%this,%user,%amount) +{ + // Invoked when the object is thrown. This method should + // construct and return the actual mission object to be + // physically thrown. This method is also responsible for + // decrementing the user's inventory. + return 0; +} + +function ShapeBaseData::onPickup(%this,%obj,%user,%amount) +{ + // Invoked when the user attempts to pickup this datablock object. + // The %amount argument is the space in the user's inventory for + // this type of datablock. This method is responsible for + // incrementing the user's inventory is something is addded. + // Should return true if something was added to the inventory. + return false; +} + +function ShapeBaseData::onInventory(%this,%user,%value) +{ + // Invoked whenever an user's inventory total changes for + // this datablock. +} diff --git a/marble/server/scripts/inventory.cs.dso b/marble/server/scripts/inventory.cs.dso new file mode 100644 index 0000000..3464ab8 Binary files /dev/null and b/marble/server/scripts/inventory.cs.dso differ diff --git a/marble/server/scripts/item.cs b/marble/server/scripts/item.cs new file mode 100644 index 0000000..b527c50 --- /dev/null +++ b/marble/server/scripts/item.cs @@ -0,0 +1,88 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +// These scripts make use of dynamic attribute values on Item datablocks, +// these are as follows: +// +// maxInventory Max inventory per object (100 bullets per box, etc.) +// pickupName Name to display when client pickups item +// +// Item objects can have: +// +// count The # of inventory items in the object. This +// defaults to maxInventory if not set. + +//----------------------------------------------------------------------------- +// ItemData base class methods used by all items +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function Item::respawn(%this) +{ + // This method is used to respawn static ammo and weapon items + // and is usually called when the item is picked up. + // Instant fade... + %this.startFade(0, 0, true); + %this.hide(true); + + // Shedule a reapearance + %this.schedule($Item::RespawnTime, "hide", false); + %this.schedule($Item::RespawnTime + 100, "startFade", 1000, 0, false); +} + +function Item::onMissionReset(%this) +{ + cancelAll(%this); + %this.hide(false); + %this.startFade(0, 0, false); +} + +function ItemData::getPickupName(%this, %obj) +{ + return %this.pickupName; +} + +function ItemData::onPickup(%this,%obj,%user,%amount) +{ + // Inform the client what they got. + if (%user.client && !%this.noPickupMessage) + messageClient(%user.client, 'MsgItemPickup', '\c0You picked up %1', %this.getPickupName(%obj)); + + // If the item is a static respawn item, then go ahead and + // respawn it, otherwise remove it from the world. + // Anything not taken up by inventory is lost. + if (%this.permanent) + %obj.setCollisionTimeout(%user); + else + if (%obj.isStatic()) { + if (%this.noRespawn) + %obj.hide(true); + else + %obj.respawn(); + } + else + %obj.delete(); + return true; +} + + +//----------------------------------------------------------------------------- +// Hook into the mission editor. + +function ItemData::create(%data) +{ + // The mission editor invokes this method when it wants to create + // an object of the given datablock type. For the mission editor + // we always create "static" re-spawnable rotating objects. + %obj = new Item() { + dataBlock = %data; + static = true; + rotate = true; + }; + return %obj; +} + diff --git a/marble/server/scripts/item.cs.dso b/marble/server/scripts/item.cs.dso new file mode 100644 index 0000000..454bd4b Binary files /dev/null and b/marble/server/scripts/item.cs.dso differ diff --git a/marble/server/scripts/marble.cs b/marble/server/scripts/marble.cs new file mode 100644 index 0000000..4f64bdf --- /dev/null +++ b/marble/server/scripts/marble.cs @@ -0,0 +1,415 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +datablock ParticleData(BounceParticle) +{ + textureName = "~/data/particles/star"; + dragCoeffiecient = 1.0; + gravityCoefficient = 0; + windCoefficient = 0; + inheritedVelFactor = 0; + constantAcceleration = -2; + lifetimeMS = 500; + lifetimeVarianceMS = 100; + useInvAlpha = true; + spinSpeed = 90; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + + colors[0] = "0.9 0.0 0.0 1.0"; + colors[1] = "0.9 0.9 0.0 1.0"; + colors[2] = "0.9 0.9 0.0 0.0"; + + sizes[0] = 0.25; + sizes[1] = 0.25; + sizes[2] = 0.25; + + times[0] = 0; + times[1] = 0.75; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MarbleBounceEmitter) +{ + ejectionPeriodMS = 80; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.25; + thetaMin = 80.0; + thetaMax = 90.0; + lifetimeMS = 250; + particles = "BounceParticle"; +}; + +//----------------------------------------------------------------------------- + +datablock ParticleData(TrailParticle) +{ + textureName = "~/data/particles/smoke"; + dragCoeffiecient = 1.0; + gravityCoefficient = 0; + windCoefficient = 0; + inheritedVelFactor = 1; + constantAcceleration = 0; + lifetimeMS = 100; + lifetimeVarianceMS = 10; + useInvAlpha = true; + spinSpeed = 0; + + colors[0] = "1 1 0 0.0"; + colors[1] = "1 1 0 1"; + colors[2] = "1 1 1 0.0"; + + sizes[0] = 0.7; + sizes[1] = 0.4; + sizes[2] = 0.1; + + times[0] = 0; + times[1] = 0.15; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MarbleTrailEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 0.0; + velocityVariance = 0.25; + thetaMin = 80.0; + thetaMax = 90.0; + lifetimeMS = 10000; + particles = "TrailParticle"; +}; + +//----------------------------------------------------------------------------- + +datablock ParticleData(SuperJumpParticle) +{ + textureName = "~/data/particles/twirl"; + dragCoefficient = 0.25; + gravityCoefficient = 0; + inheritedVelFactor = 0.1; + constantAcceleration = 0; + lifetimeMS = 1000; + lifetimeVarianceMS = 150; + spinSpeed = 90; + spinRandomMin = -90.0; + spinRandomMax = 90.0; + + colors[0] = "0 0.5 1 0"; + colors[1] = "0 0.6 1 1.0"; + colors[2] = "0 0.6 1 0.0"; + + sizes[0] = 0.25; + sizes[1] = 0.25; + sizes[2] = 0.5; + + times[0] = 0; + times[1] = 0.75; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MarbleSuperJumpEmitter) +{ + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + velocityVariance = 0.25; + thetaMin = 150.0; + thetaMax = 170.0; + lifetimeMS = 5000; + particles = "SuperJumpParticle"; +}; + +//----------------------------------------------------------------------------- + +datablock ParticleData(SuperSpeedParticle) +{ + textureName = "~/data/particles/spark"; + dragCoefficient = 0.25; + gravityCoefficient = 0; + inheritedVelFactor = 0.25; + constantAcceleration = 0; + lifetimeMS = 1500; + lifetimeVarianceMS = 150; + + colors[0] = "0.8 0.8 0 0"; + colors[1] = "0.8 0.8 0 1.0"; + colors[2] = "0.8 0.8 0 0.0"; + + sizes[0] = 0.25; + sizes[1] = 0.25; + sizes[2] = 1.0; + + times[0] = 0; + times[1] = 0.25; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(MarbleSuperSpeedEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 1.0; + velocityVariance = 0.25; + thetaMin = 130.0; + thetaMax = 170.0; + lifetimeMS = 5000; + particles = "SuperSpeedParticle"; +}; + +//----------------------------------------------------------------------------- + +datablock ParticleEmitterData(MarbleSuperBounceEmitter) +{ + ejectionPeriodMS = 20; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.25; + thetaMin = 80.0; + thetaMax = 90.0; + lifetimeMS = 250; + particles = "MarbleStar"; +}; + +//----------------------------------------------------------------------------- + +datablock ParticleEmitterData(MarbleShockAbsorberEmitter) +{ + ejectionPeriodMS = 20; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.25; + thetaMin = 80.0; + thetaMax = 90.0; + lifetimeMS = 250; + particles = "MarbleStar"; +}; + +//----------------------------------------------------------------------------- + +datablock ParticleEmitterData(MarbleHelicopterEmitter) +{ + ejectionPeriodMS = 20; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 0.25; + thetaMin = 80.0; + thetaMax = 90.0; + lifetimeMS = 5000; + particles = "MarbleStar"; +}; + +//----------------------------------------------------------------------------- +// ActivePowerUp +// 0 - no active powerup +// 1 - Super Jump +// 2 - Super Speed +// 3 - Super Bounce +// 4 - Indestructible + +datablock AudioProfile(Bounce1Sfx) +{ + filename = "~/data/sound/bouncehard1.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(Bounce2Sfx) +{ + filename = "~/data/sound/bouncehard2.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(Bounce3Sfx) +{ + filename = "~/data/sound/bouncehard3.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(Bounce4Sfx) +{ + filename = "~/data/sound/bouncehard4.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(JumpSfx) +{ + filename = "~/data/sound/Jump.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(RollingHardSfx) +{ + filename = "~/data/sound/Rolling_Hard.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock AudioProfile(SlippingSfx) +{ + filename = "~/data/sound/Sliding.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock MarbleData(DefaultMarble) +{ + shapeFile = "~/data/shapes/balls/ball-superball.dts"; + emap = true; + renderFirstPerson = true; +// maxRollVelocity = 55; +// angularAcceleration = 120; + maxRollVelocity = 15; + angularAcceleration = 75; + brakingAcceleration = 30; + gravity = 20; + staticFriction = 1.1; + kineticFriction = 0.7; + bounceKineticFriction = 0.2; + maxDotSlide = 0.5; + bounceRestitution = 0.5; + jumpImpulse = 7.5; + maxForceRadius = 50; + + bounce1 = Bounce1Sfx; + bounce2 = Bounce2Sfx; + bounce3 = Bounce3Sfx; + bounce4 = Bounce4Sfx; + + rollHardSound = RollingHardSfx; + slipSound = SlippingSfx; + jumpSound = JumpSfx; + + // Emitters + minTrailSpeed = 10; // Trail threshold + trailEmitter = MarbleTrailEmitter; + + minBounceSpeed = 3; // Bounce threshold + bounceEmitter = MarbleBounceEmitter; + + powerUpEmitter[1] = MarbleSuperJumpEmitter; // Super Jump + powerUpEmitter[2] = MarbleSuperSpeedEmitter; // Super Speed +// powerUpEmitter[3] = MarbleSuperBounceEmitter; // Super Bounce +// powerUpEmitter[4] = MarbleShockAbsorberEmitter; // Shock Absorber +// powerUpEmitter[5] = MarbleHelicopterEmitter; // Helicopter + + // Power up timouts. Timeout on the speed and jump only affect + // the particle trail + powerUpTime[1] = 1000; // Super Jump + powerUpTime[2] = 1000; // Super Speed + powerUpTime[3] = 5000; // Super Bounce + powerUpTime[4] = 5000; // Shock Absorber + powerUpTime[5] = 5000; // Helicopter + + // Allowable Inventory Items + maxInv[SuperJumpItem] = 20; + maxInv[SuperSpeedItem] = 20; + maxInv[SuperBounceItem] = 20; + maxInv[IndestructibleItem] = 20; + maxInv[TimeTravelItem] = 20; +// maxInv[GoodiesItem] = 10; +}; + + +//----------------------------------------------------------------------------- + +function DefaultMarble::onAdd(%this, %obj) +{ + echo("New Marble: " @ %obj); +} + +function DefaultMarble::onTrigger(%this, %obj, %triggerNum, %val) +{ +} + + +//----------------------------------------------------------------------------- + +function DefaultMarble::onCollision(%this,%obj,%col) +{ + // Try and pickup all items + if (%col.getClassName() $= "Item") + { + %data = %col.getDatablock(); + %obj.pickup(%col,1); + } +} + + +//----------------------------------------------------------------------------- +// The following event callbacks are punted over to the connection +// for processing + +function DefaultMarble::onEnterPad(%this,%object) +{ + %object.client.onEnterPad(); +} + +function DefaultMarble::onLeavePad(%this,%object) +{ + %object.client.onLeavePad(); +} + +function DefaultMarble::onStartPenalty(%this,%object) +{ + %object.client.onStartPenalty(); +} + +function DefaultMarble::onOutOfBounds(%this,%object) +{ + %object.client.onOutOfBounds(); +} + +function DefaultMarble::setCheckpoint(%this,%object,%check) +{ + %object.client.setCheckpoint(%check); +} + + +//----------------------------------------------------------------------------- +// Marble object +//----------------------------------------------------------------------------- + +function Marble::setPowerUp(%this,%item,%reset) +{ + PlayGui.setPowerUp(%item.shapeFile); + %this.powerUpData = %item; + %this.setPowerUpId(%item.powerUpId,%reset); +} + +function Marble::getPowerUp(%this) +{ + return %this.powerUpData; +} + +function Marble::onPowerUpUsed(%obj) +{ + PlayGui.setPowerUp(""); + %obj.playAudio(0, %obj.powerUpData.activeAudio); + %obj.powerUpData = ""; +} + + +//----------------------------------------------------------------------------- + +function marbleVel() +{ + return $MarbleVelocity; +} + +function metricsMarble() +{ + Canvas.pushDialog(FrameOverlayGui, 1000); + TextOverlayControl.setValue("$MarbleVelocity"); +} diff --git a/marble/server/scripts/marble.cs.dso b/marble/server/scripts/marble.cs.dso new file mode 100644 index 0000000..117ed7a Binary files /dev/null and b/marble/server/scripts/marble.cs.dso differ diff --git a/marble/server/scripts/markers.cs b/marble/server/scripts/markers.cs new file mode 100644 index 0000000..666878e --- /dev/null +++ b/marble/server/scripts/markers.cs @@ -0,0 +1,39 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +datablock MissionMarkerData(WayPointMarker) +{ + category = "Misc"; + shapeFile = "~/data/shapes/markers/octahedron.dts"; +}; + +datablock MissionMarkerData(SpawnSphereMarker) +{ + category = "Misc"; + shapeFile = "~/data/shapes/markers/octahedron.dts"; +}; + + +//------------------------------------------------------------------------------ +// - serveral marker types may share MissionMarker datablock type +function MissionMarkerData::create(%block) +{ + switch$(%block) + { + case "WayPointMarker": + %obj = new WayPoint() { + dataBlock = %block; + }; + return(%obj); + case "SpawnSphereMarker": + %obj = new SpawnSphere() { + datablock = %block; + }; + return(%obj); + } + return(-1); +} diff --git a/marble/server/scripts/markers.cs.dso b/marble/server/scripts/markers.cs.dso new file mode 100644 index 0000000..6c61702 Binary files /dev/null and b/marble/server/scripts/markers.cs.dso differ diff --git a/marble/server/scripts/pads.cs b/marble/server/scripts/pads.cs new file mode 100644 index 0000000..21b31f8 --- /dev/null +++ b/marble/server/scripts/pads.cs @@ -0,0 +1,44 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- + +datablock StaticShapeData(StartPad) +{ + className = "Pad"; + category = "Pads"; + shapeFile = "~/data/shapes/pads/startArea.dts"; + scopeAlways = true; + emap = false; +}; + +function StartPad::onAdd(%this, %obj) +{ + $Game::StartPad = %obj; + %obj.setName("StartPoint"); + %obj.playThread(0,"ambient"); +} + + +//----------------------------------------------------------------------------- + +datablock StaticShapeData(EndPad) +{ + className = "Pad"; + category = "Pads"; + shapeFile = "~/data/shapes/pads/endArea.dts"; + scopeAlways = true; + emap = false; +}; + +function EndPad::onAdd(%this, %obj) +{ + $Game::EndPad = %obj; + %obj.setName("EndPoint"); + %obj.playThread(0,"ambient"); +} + diff --git a/marble/server/scripts/pads.cs.dso b/marble/server/scripts/pads.cs.dso new file mode 100644 index 0000000..71f78fe Binary files /dev/null and b/marble/server/scripts/pads.cs.dso differ diff --git a/marble/server/scripts/pathedInteriors.cs.dso b/marble/server/scripts/pathedInteriors.cs.dso new file mode 100644 index 0000000..edf7729 Binary files /dev/null and b/marble/server/scripts/pathedInteriors.cs.dso differ diff --git a/marble/server/scripts/pathedinteriors.cs b/marble/server/scripts/pathedinteriors.cs new file mode 100644 index 0000000..bf101c7 --- /dev/null +++ b/marble/server/scripts/pathedinteriors.cs @@ -0,0 +1,83 @@ +//****************************************************************************** +//* Moving platforms data blocks +//****************************************************************************** + +datablock AudioProfile(MovingBlockSustainSfx) +{ + filename = "~/data/sound/MovingBlockLoop.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock PathedInteriorData(PathedDefault) +{ + foo = bla; +}; + +datablock PathedInteriorData(PathedMovingBlock) +{ + sustainSound = MovingBlockSustainSfx; +}; + +function PathedInteriorData::onMissionReset(%data, %obj) +{ + %obj.setPathPosition(%obj.initialPosition); + %obj.setTargetPosition(%obj.initialTargetPosition); +} + +function PathedInterior::onTrigger(%this,%temp,%triggerMesg) +{ + // default just makes it loop + if (%triggerMesg == "true") + %triggerMesg = -2; + +// echo(%this.delayTargetTime); + %this.setTargetPosition(%triggerMesg); +} + +datablock TriggerData(TriggerGotoTarget) +{ + tickPeriodMS = 100; +}; + +function TriggerGotoTarget::onEnterTrigger(%this,%trigger,%obj) +{ + %grp = %trigger.getGroup(); + for(%i = 0; (%plat = %grp.getObject(%i)) != -1; %i++) + { + if(%plat.getClassName() $= "PathedInterior") + { + if(%trigger.delayTargetTime !$= "") + %plat.delayTargetTime = %trigger.delayTargetTime; + %plat.setTargetPosition(%trigger.targetTime); + } + } + // Entering an out of bounds area +} + +function TriggerGotoTarget::onLeaveTrigger(%this, %trigger, %obj) +{ + +} + +datablock TriggerData(TriggerGotoDelayTarget) +{ + tickPeriodMS = 100; +}; + +function TriggerGotoDelayTarget::onEnterTrigger(%this,%trigger,%obj) +{ + %grp = %trigger.getGroup(); + for(%i = 0; (%plat = %grp.getObject(%i)) != -1; %i++) + { + if(%plat.getClassName() $= "PathedInterior") + %plat.setTargetPosition(%plat.delayTargetTime); + } + // Entering an out of bounds area +} + +function TriggerGotoDelayTarget::onLeaveTrigger(%this, %trigger, %obj) +{ + +} + diff --git a/marble/server/scripts/platformpart.cs b/marble/server/scripts/platformpart.cs new file mode 100644 index 0000000..6636645 --- /dev/null +++ b/marble/server/scripts/platformpart.cs @@ -0,0 +1,59 @@ +//****************************************************************************** +//* Conveyor data blocks +//****************************************************************************** + +datablock AudioProfile(PlatformLowering) +{ + filename = "~/data/sound/PlatformLowering.wav"; + description = AudioDefaultLooping3d; + preload = true; +}; + +datablock PlatformPartData(DefaultPlatformPart) +{ + platformSpeed = 1; + + shapeFile = "~/data/shapes/platform-lower.dts"; +}; + +//****************************************************************************** +function DefaultPlatformPart::onAdd(%this, %obj) +{ + echo("New Platform (lowering): " @ %obj); + + %obj.playThread(0,"Lower",1); + %obj.stopThread(0); +} + +//function DefaultPlatformPart::onCollision(%this, %obj, %colObj) +//{ +// echo("Platform (lowering) collision: " @ %obj); +//} + + +function DefaultPlatformPart::onButtonChange(%this, %obj, %state) +{ + echo(" Platform (lowering) got a button change message: " @ %state); + + if (%obj.AnimState == 0) + { + %obj.AnimState = 1; + %platformSpeed = %obj.getDataBlock().platformSpeed; + + if (%state == 1) + { + %obj.playThread(0,"Lower",%platformSpeed); + %obj.setThreadDir(0,true); + + %obj.playAudio(0,PlatformLowering); + } + } + +} + + +function DefaultPlatformPart::onEndSequence(%this, %obj, %slot) +{ + %obj.stopAudio(0); +} + diff --git a/marble/server/scripts/powerUps.cs.dso b/marble/server/scripts/powerUps.cs.dso new file mode 100644 index 0000000..42328be Binary files /dev/null and b/marble/server/scripts/powerUps.cs.dso differ diff --git a/marble/server/scripts/powerups.cs b/marble/server/scripts/powerups.cs new file mode 100644 index 0000000..da9348c --- /dev/null +++ b/marble/server/scripts/powerups.cs @@ -0,0 +1,388 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// PowerUp base class +//----------------------------------------------------------------------------- + +function PowerUp::onPickup(%this,%obj,%user,%amount) +{ + // Dont' pickup the power up if it's the same + // one we already have. + if (%user.powerUpData == %this) + return false; + + // Grab it... + %user.client.play2d(%this.pickupAudio); + if (%this.powerUpId) + { + if(%obj.showHelpOnPickup) + addHelpLine("Press to use the " @ %this.useName @ "!", false); + + %user.setPowerUp(%this); + } + Parent::onPickup(%this, %obj, %user, %amount); + return true; +} + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(doSuperJumpSfx) +{ + filename = "~/data/sound/doSuperJump.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(PuSuperJumpVoiceSfx) +{ + filename = "~/data/sound/puSuperJumpVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(SuperJumpItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + powerUpId = 1; + + activeAudio = DoSuperJumpSfx; + pickupAudio = PuSuperJumpVoiceSfx; + + // Basic Item properties + shapeFile = "~/data/shapes/items/superjump.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + emap = false; + + // Dynamic properties defined by the scripts + pickupName = "a Super Jump PowerUp!"; + useName = "Super Jump PowerUp"; + maxInventory = 1; +}; + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(doSuperBounceSfx) +{ + filename = "~/data/sound/doSuperBounce.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(PuSuperBounceVoiceSfx) +{ + filename = "~/data/sound/puSuperBounceVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(SuperBounceItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + powerUpId = 3; + + activeAudio = DoSuperBounceSfx; + pickupAudio = PuSuperBounceVoiceSfx; + + // Basic Item properties + shapeFile = "~/data/shapes/items/superbounce.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + + // Dynamic properties defined by the scripts + pickupName = "a Super Bounce PowerUp!"; + useName = "Super Bounce PowerUp"; + maxInventory = 1; +}; + +datablock AudioProfile(SuperBounceLoopSfx) +{ + filename = "~/data/sound/forcefield.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock ShapeBaseImageData(SuperBounceImage) +{ + // Basic Item properties + shapeFile = "~/data/shapes/images/glow_bounce.dts"; + emap = true; + + // Specify mount point & offset for 3rd person, and eye offset + // for first person rendering. + mountPoint = 0; + offset = "0 0 0"; + stateName[0] = "Blah"; + stateSound[0] = SuperBounceLoopSfx; +}; + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(doSuperSpeedSfx) +{ + filename = "~/data/sound/doSuperSpeed.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(PuSuperSpeedVoiceSfx) +{ + filename = "~/data/sound/puSuperSpeedVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(SuperSpeedItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + powerUpId = 2; + + activeAudio = DoSuperSpeedSfx; + pickupAudio = PuSuperSpeedVoiceSfx; + + // Basic Item properties + shapeFile = "~/data/shapes/items/superspeed.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + emap = false; + + // Dynamic properties defined by the scripts + pickupName = "a Super Speed PowerUp!"; + useName = "Super Speed PowerUp"; + maxInventory = 1; +}; + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(doShockAbsorberSfx) +{ + filename = "~/data/sound/doShockAbsorber.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(PuShockAbsorberVoiceSfx) +{ + filename = "~/data/sound/puShockAbsorberVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(ShockAbsorberItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + powerUpId = 4; + + activeAudio = DoShockAbsorberSfx; + pickupAudio = PuShockAbsorberVoiceSfx; + + // Basic Item properties + shapeFile = "~/data/shapes/items/shockabsorber.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + + // Dynamic properties defined by the scripts + pickupName = "a Shock Absorber PowerUp!"; + useName = "Shock Absorber PowerUp"; + maxInventory = 1; + emap = false; +}; + +datablock AudioProfile(ShockLoopSfx) +{ + filename = "~/data/sound/superbounceactive.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock ShapeBaseImageData(ShockAbsorberImage) +{ + // Basic Item properties + shapeFile = "~/data/shapes/images/glow_bounce.dts"; + emap = true; + + // Specify mount point & offset for 3rd person, and eye offset + // for first person rendering. + mountPoint = 0; + offset = "0 0 0"; + stateName[0] = "Blah"; + stateSound[0] = ShockLoopSfx; +}; + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(doHelicopterSfx) +{ + filename = "~/data/sound/doHelicopter.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock AudioProfile(PuGyrocopterVoiceSfx) +{ + filename = "~/data/sound/puGyrocopterVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(HelicopterItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + powerUpId = 5; + + activeAudio = DoHelicopterSfx; + pickupAudio = PuGyrocopterVoiceSfx; + + // Basic Item properties + shapeFile = "~/data/shapes/images/helicopter.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + + // Dynamic properties defined by the scripts + pickupName = "a Gyrocopter PowerUp!"; + useName = "Gyrocopter PowerUp"; + maxInventory = 1; +}; + +datablock AudioProfile(HelicopterLoopSfx) +{ + filename = "~/data/sound/Use_Gyrocopter.wav"; + description = AudioClosestLooping3d; + preload = true; +}; + +datablock ShapeBaseImageData(HelicopterImage) +{ + // Basic Item properties + shapeFile = "~/data/shapes/images/helicopter.dts"; + emap = true; + mountPoint = 0; + offset = "0 0 0"; + stateName[0] = "Rotate"; + stateSequence[0] = "rotate"; + stateSound[0] = HelicopterLoopSfx; + ignoreMountRotation = true; +}; + + +//----------------------------------------------------------------------------- +// Special non-inventory power ups +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +datablock AudioProfile(PuTimeTravelVoiceSfx) +{ + filename = "~/data/sound/puTimeTravelVoice.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(TimeTravelItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + + // Basic Item properties + pickupAudio = PuTimeTravelVoiceSfx; + shapeFile = "~/data/shapes/items/timetravel.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + emap = false; + + // Dynamic properties defined by the scripts + noRespawn = true; + maxInventory = 1; +}; + +function TimeTravelItem::getPickupName(%this, %obj) +{ + if(%obj.timeBonus !$= "") + %time = %obj.timeBonus / 1000; + else + %time = $Game::TimeTravelBonus / 1000; + + return "a " @ %time @ " second Time Travel Bonus!"; +} + +function TimeTravelItem::onPickup(%this,%obj,%user,%amount) +{ + Parent::onPickup(%this, %obj, %user, %amount); + if(%obj.timeBonus !$= "") + %user.client.incBonusTime(%obj.timeBonus); + else + %user.client.incBonusTime($Game::TimeTravelBonus); +} + + +//----------------------------------------------------------------------------- + +datablock AudioProfile(PuAntiGravityVoiceSfx) +{ + filename = "~/data/sound/gravitychange.wav"; + description = AudioDefault3d; + preload = true; +}; + +datablock ItemData(AntiGravityItem) +{ + // Mission editor category + category = "Powerups"; + className = "PowerUp"; + + pickupAudio = PuAntiGravityVoiceSfx; + pickupName = "a Gravity Modifier!"; + + // Basic Item properties + shapeFile = "~/data/shapes/items/antiGravity.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; + emap = false; + + // Dynamic properties defined by the scripts + maxInventory = 1; +}; + +function AntiGravityItem::onAdd(%this, %obj) +{ + %obj.playThread(0,"Ambient"); +} + +function AntiGravityItem::onPickup(%this,%obj,%user,%amount) +{ + %rotation = getWords(%obj.getTransform(),3); + %ortho = vectorOrthoBasis(%rotation); + %up = getWords(%ortho,6); + if (getGravityDir() !$= %up) { + Parent::onPickup(%this, %obj, %user, %amount); + setGravityDir(%ortho); + } +} + diff --git a/marble/server/scripts/radiusdamage.cs b/marble/server/scripts/radiusdamage.cs new file mode 100644 index 0000000..396edd2 --- /dev/null +++ b/marble/server/scripts/radiusdamage.cs @@ -0,0 +1,54 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +// Support function which applies damage to objects within the radius of +// some effect, usually an explosion. This function will also optionally +// apply an impulse to each object. + +function radiusDamage(%sourceObject, %position, %radius, %damage, %damageType, %impulse) +{ + // Use the container system to iterate through all the objects + // within our explosion radius. We'll apply damage to all ShapeBase + // objects. + InitContainerRadiusSearch(%position, %radius, $TypeMasks::ShapeBaseObjectType); + + %halfRadius = %radius / 2; + while ((%targetObject = containerSearchNext()) != 0) { + + // Calculate how much exposure the current object has to + // the explosive force. The object types listed are objects + // that will block an explosion. If the object is totally blocked, + // then no damage is applied. + %coverage = calcExplosionCoverage(%position, %targetObject, + $TypeMasks::InteriorObjectType | $TypeMasks::TerrainObjectType | + $TypeMasks::ForceFieldObjectType | $TypeMasks::VehicleObjectType); + if (%coverage == 0) + continue; + + // Radius distance subtracts out the length of smallest bounding + // box axis to return an appriximate distance to the edge of the + // object's bounds, as opposed to the distance to it's center. + %dist = containerSearchCurrRadiusDist(); + + // Calculate a distance scale for the damage and the impulse. + // Full damage is applied to anything less than half the radius away, + // linear scale from there. + %distScale = (%dist < %halfRadius)? 1.0: + 1.0 - ((%dist - %halfRadius) / %halfRadius); + + // Apply the damage + %targetObject.damage(%sourceObject, %position, + %damage * %coverage * %distScale, %damageType); + + // Apply the impulse + if (%impulse) { + %impulseVec = VectorSub(%targetObject.getWorldBoxCenter(), %position); + %impulseVec = VectorNormalize(%impulseVec); + %impulseVec = VectorScale(%impulseVec, %impulse * %distScale); + %targetObject.applyImpulse(%position, %impulseVec); + } + } +} diff --git a/marble/server/scripts/shapeBase.cs.dso b/marble/server/scripts/shapeBase.cs.dso new file mode 100644 index 0000000..c246460 Binary files /dev/null and b/marble/server/scripts/shapeBase.cs.dso differ diff --git a/marble/server/scripts/shapebase.cs b/marble/server/scripts/shapebase.cs new file mode 100644 index 0000000..b7b7423 --- /dev/null +++ b/marble/server/scripts/shapebase.cs @@ -0,0 +1,61 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +// This file contains ShapeBase methods used by all the derived classes + +//----------------------------------------------------------------------------- +// ShapeBase object +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- + +function ShapeBase::damage(%this, %sourceObject, %position, %damage, %damageType) +{ + // All damage applied by one object to another should go through this + // method. This function is provided to allow objects some chance of + // overriding or processing damage values and types. As opposed to + // having weapons call ShapeBase::applyDamage directly. + // Damage is redirected to the datablock, this is standard proceedure + // for many built in callbacks. + %this.getDataBlock().damage(%this, %sourceObject, %position, %damage, %damageType); +} + + +//----------------------------------------------------------------------------- + +function ShapeBase::setDamageDt(%this, %damageAmount, %damageType) +{ + // This function is used to apply damage over time. The damage + // is applied at a fixed rate (50 ms). Damage could be applied + // over time using the built in ShapBase C++ repair functions + // (using a neg. repair), but this has the advantage of going + // through the normal script channels. + if (%obj.getState() !$= "Dead") { + %this.damage(0, "0 0 0", %damageAmount, %damageType); + %obj.damageSchedule = %obj.schedule(50, "setDamageDt", %damageAmount, %damageType); + } + else + %obj.damageSchedule = ""; +} + +function ShapeBase::clearDamageDt(%this) +{ + if (%obj.damageSchedule !$= "") { + cancel(%obj.damageSchedule); + %obj.damageSchedule = ""; + } +} + + +//----------------------------------------------------------------------------- +// ShapeBase datablock +//----------------------------------------------------------------------------- + +function ShapeBaseData::damage(%this, %obj, %position, %source, %amount, %damageType) +{ + // Ignore damage by default. This empty method is here to + // avoid console warnings. +} diff --git a/marble/server/scripts/signs.cs b/marble/server/scripts/signs.cs new file mode 100644 index 0000000..db14a3a --- /dev/null +++ b/marble/server/scripts/signs.cs @@ -0,0 +1,99 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Sign base class +//----------------------------------------------------------------------------- + +function Sign::onAdd(%this,%obj) +{ + if (%this.skin !$= "") + %obj.setSkinName(%this.skin); +} + +//----------------------------------------------------------------------------- +// Different signs... +//----------------------------------------------------------------------------- + +datablock StaticShapeData(SignPlain) +{ + // Mission editor category + category = "Signs"; + className = "Sign"; + + // Basic Item properties + shapeFile = "~/data/shapes/signs/plainsign.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; +}; + +datablock StaticShapeData(SignPlainUp: SignPlain) +{ + skin = "up"; +}; + +datablock StaticShapeData(SignPlainDown: SignPlain) +{ + skin = "down"; +}; + +datablock StaticShapeData(SignPlainLeft: SignPlain) +{ + skin = "left"; +}; + +datablock StaticShapeData(SignPlainRight: SignPlain) +{ + skin = "right"; +}; + +//----------------------------------------------------------------------------- + +datablock StaticShapeData(SignCaution) +{ + // Mission editor category + category = "Signs"; + className = "Sign"; + + // Basic Item properties + shapeFile = "~/data/shapes/signs/cautionsign.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; +}; + +datablock StaticShapeData(SignCautionCaution: SignCaution) +{ + skin = "caution"; +}; + +datablock StaticShapeData(SignCautionDanger: SignCaution) +{ + skin = "danger"; +}; + + +//----------------------------------------------------------------------------- + +datablock StaticShapeData(SignFinish) +{ + // Mission editor category + category = "Signs"; + className = "Sign"; + + // Basic Item properties + shapeFile = "~/data/shapes/signs/finishlinesign.dts"; + mass = 1; + friction = 1; + elasticity = 0.3; +}; + +function SignFinish::onAdd(%this,%obj) +{ + %obj.playThread(0,"ambient"); +} + diff --git a/marble/server/scripts/signs.cs.dso b/marble/server/scripts/signs.cs.dso new file mode 100644 index 0000000..3d92ca7 Binary files /dev/null and b/marble/server/scripts/signs.cs.dso differ diff --git a/marble/server/scripts/staticShape.cs.dso b/marble/server/scripts/staticShape.cs.dso new file mode 100644 index 0000000..35f5485 Binary files /dev/null and b/marble/server/scripts/staticShape.cs.dso differ diff --git a/marble/server/scripts/staticshape.cs b/marble/server/scripts/staticshape.cs new file mode 100644 index 0000000..1917470 --- /dev/null +++ b/marble/server/scripts/staticshape.cs @@ -0,0 +1,27 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Hook into the mission editor. + +function StaticShapeData::create(%data) +{ + // The mission editor invokes this method when it wants to create + // an object of the given datablock type. + %obj = new StaticShape() { + dataBlock = %data; + }; + return %obj; +} + + +//----------------------------------------------------------------------------- + +function StateShape::trigger(%this,%mesg) +{ + // Punt over to our datablock + %this.getDatablock().trigger(%this,%mesg); +} diff --git a/marble/server/scripts/triggers.cs b/marble/server/scripts/triggers.cs new file mode 100644 index 0000000..a15ac56 --- /dev/null +++ b/marble/server/scripts/triggers.cs @@ -0,0 +1,128 @@ +//----------------------------------------------------------------------------- +// Torque Game Engine +// +// Copyright (c) 2001 GarageGames.Com +// Portions Copyright (c) 2001 by Sierra Online, Inc. +//----------------------------------------------------------------------------- + +// Normally the trigger class would be sub-classed to support different +// functionality, but we're going to use the name of the trigger instead +// as an experiment. + +//----------------------------------------------------------------------------- + +datablock TriggerData(InBoundsTrigger) +{ + tickPeriodMS = 100; +}; + +function InBoundsTrigger::onLeaveTrigger(%this,%trigger,%obj) +{ + // Leaving an in bounds area. + %obj.getDatablock().onOutOfBounds(%obj); +} + + +//----------------------------------------------------------------------------- + +datablock TriggerData(OutOfBoundsTrigger) +{ + tickPeriodMS = 100; +}; + +function OutOfBoundsTrigger::onEnterTrigger(%this,%trigger,%obj) +{ + // Entering an out of bounds area + %obj.getDatablock().onOutOfBounds(%obj); +} + +//----------------------------------------------------------------------------- + +datablock TriggerData(HelpTrigger) +{ + tickPeriodMS = 100; +}; + +function HelpTrigger::onEnterTrigger(%this,%trigger,%obj) +{ + // Leaving an in bounds area. + addHelpLine(%trigger.text, true); +} +datablock TriggerData(TeleportTrigger) +{ + tickPeriodMS = 500; +}; +datablock AudioProfile(TeleportBuzz) +{ + fileName = "~/data/sound/teleport.wav"; + description = AudioClose3d; + preload = true; +}; + +function TeleportTrigger::onEnterTrigger(%data, %obj, %colObj) +{ + %checkname = %obj.getName(); + %client = %colObj.client; + if(!%client) + { + echo("not a client!"); + return; + } + echo("Teleport client:" SPC %client); + + if(%checkname $= "TeleportTrigger1") + { + if(!$from2to1) + { + %target = "TeleportTrigger2"; + CommandToClient(%client,'bottomprint',"Teleport Activated",2,10); + $teleSched = schedule(2000,0,"goScotty",%client,%target); + $teleSound = serverPlay3D(TeleportBuzz,%client.player.getTransform()); + %client.player.setCloaked(true); + $from1to2 = true; + $from2to1 = false; + } + } + else + { + if(!$from1to2) + { + %target = "TeleportTrigger1"; + CommandToClient(%client,'bottomprint',"Teleporter Activated",2,10); + $teleSched = schedule(2000,0,"goScotty",%client, %target); + $teleSound = serverPlay3D(TeleportBuzz,%client.player.getTransform()); + %client.player.setCloaked(true); + $from2to1 = true; + $from1to2 = false; + } + } +} + +function TeleportTrigger::onLeaveTrigger(%data, %obj, %colObj) +{ + %checkname = %obj.getName(); + %client = %colObj.client; + echo("TeleportTrigger::onLeaveTrigger called!"); + cancel($teleSched); + alxStop($teleSound); + %client.player.setCloaked(false); + // if the player leaves the target trigger, + // he can use it, too... + if(%checkname $= "TeleportTrigger1") + { + $from2to1 = false; + } + else if(%checkname $= "TeleportTrigger2") + { + $from1to2 = false; + } +} +function goScotty(%client, %target) +{ + echo("goScotty called!"); + // beam me up! + commandToServer('TeleportPlayer', %client, %target); +} +function TeleportTrigger::onTickTrigger(%data, %obj) +{ +} diff --git a/marble/server/scripts/triggers.cs.dso b/marble/server/scripts/triggers.cs.dso new file mode 100644 index 0000000..590f8d3 Binary files /dev/null and b/marble/server/scripts/triggers.cs.dso differ