really fast browsing

This commit is contained in:
RandomityGuy 2023-06-27 23:39:00 +05:30
parent 3476380823
commit 080c850828
8 changed files with 75 additions and 1002 deletions

View file

@ -1,971 +0,0 @@
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {
new ScriptObject(MissionInfo) {
include = "0";
gameMode = "Scrum";
artist = "Adam deGrandis";
difficulty = "2";
time = "180000";
type = "beginner";
level = "68";
name = $Text::LevelNameMP7;
numgems = "1";
gameType = "Multiplayer";
guid = "{D18409B9-AAA3-4260-8129-C477062BF6CA}";
};
new Sky(Sky) {
position = "336 136 0";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
materialList = "~/data/skies/sky_beginner.dml";
cloudHeightPer[0] = "0";
cloudHeightPer[1] = "0";
cloudHeightPer[2] = "0";
cloudSpeed1 = "0.0001";
cloudSpeed2 = "0.0002";
cloudSpeed3 = "0.0003";
visibleDistance = "1500";
fogDistance = "1000";
fogColor = "0.600000 0.600000 0.600000 1.000000";
fogStorm1 = "0";
fogStorm2 = "0";
fogStorm3 = "0";
fogVolume1 = "-1 -1.73483e+009 -1.73483e+009";
fogVolume2 = "-1 -1.73483e+009 -1.73483e+009";
fogVolume3 = "-1 -1.73483e+009 -1.73483e+009";
windVelocity = "1 0 0";
windEffectPrecipitation = "0";
SkySolidColor = "0.600000 0.600000 0.600000 1.000000";
useSkyTextures = "1";
renderBottomTexture = "1";
noRenderBans = "1";
renderBanOffsetHeight = "50";
skyGlow = "0";
skyGlowColor = "-6973005312.000000 -6973005312.000000 -6973005312.000000 -6973005312.000000";
fogVolumeColor2 = "128.000000 128.000000 128.000000 -1734829824.000000";
fogVolumeColor3 = "128.000000 128.000000 128.000000 -1734829824.000000";
fogVolumeColor1 = "128.000000 128.000000 128.000000 -1734829824.000000";
};
new StaticShape() {
position = "0 0 -600";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "astrolabeShape";
};
new StaticShape(Cloud_Shape) {
position = "0 0 0";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "astrolabeCloudsBeginnerShape";
};
new Sun() {
direction = "-0.57735 -0.57735 -0.57735";
color = "1.300000 1.100000 0.400000 1.000000";
ambient = "0.440000 0.440000 0.440000 1.000000";
shadowColor = "0.000000 0.000000 0.150000 0.350000";
};
new Trigger(Bounds) {
position = "-80.777 78.526 -22.2412";
rotation = "1 0 0 0";
scale = "145.291 150.04 101.182";
hidden = "0";
reanderShadow = "1";
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";
hidden = "0";
reanderShadow = "1";
interiorFile = "./marblecity.dif";
showTerrainInside = "0";
};
new SimGroup(GemSpawns) {
new SpawnSphere() {
position = "33.0034 34.8553 -6.47596";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "33.149 39.9738 -6.46657";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "28.1439 39.9705 -6.31607";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere(X) {
position = "29.7511 46.3902 -7.41565";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
gemDataBlock = "GemItem_2pts";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere(X) {
position = "39.2398 37.111 -7.3975";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
gemDataBlock = "GemItem_2pts";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere(X) {
position = "-23.9826 -32.2787 -4.06167";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
gemDataBlock = "GemItem_2pts";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-17.9796 -31.956 -6.59786";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-23.992 -37.0474 -6.11492";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-30.0546 -32.0264 -6.4181";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-24.0273 -26.8538 -5.83293";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-36.9968 16.0442 -5.50421";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-42.9922 16.0326 -5.39395";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-39.8025 19.0156 -5.32757";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "-40.0202 12.9678 -5.53261";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "28.9963 7.00109 -11.7772";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "10891";
};
new SpawnSphere() {
position = "28.9183 -2.95092 -11.627";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "10892";
};
new SpawnSphere(X) {
position = "42.0403 5.98638 -9.8481";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
gemDataBlock = "GemItem_2pts";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "10889";
};
new SpawnSphere(X) {
position = "41.9911 -1.99659 -9.80428";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
gemDataBlock = "GemItem_2pts";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "10890";
};
new SpawnSphere() {
position = "9.03519 -22.5056 -9.87461";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "9.1581 -28.514 -9.9955";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "6.94064 -25.4442 -9.99063";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
new SpawnSphere() {
position = "10.981 -25.3926 -9.82296";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "GemSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
gem = "0";
};
};
new SimGroup(TargetGems) {
};
new Item() {
position = "-1.00417 -8.40661 -12.8048";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "HelicopterItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new SimGroup(SpawnPoints) {
new SpawnSphere() {
position = "-45.9424 0.035342 -7.64302";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-45.986 7.95414 -7.43803";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-32.0167 21.9441 -7.58355";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-17.8794 19.9999 -11.3914";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-17.8854 7.9944 -11.3388";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-13.4383 15.0661 -12.1234";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-31.8639 -39.9991 -6.59586";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-11.4489 -30.9193 -4.00644";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-7.35599 -30.9337 -3.88342";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "6.32594 -40.051 -6.50379";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "15.9109 -27.963 -5.7083";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "16.0049 12.1043 -6.35925";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "8.06303 19.9952 -7.60589";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "34.1289 5.19595 -11.475";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "34.0787 -1.03487 -11.5452";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "19.9288 -0.0983229 -11.5271";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-9.56295 -20.012 -9.3377";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "5.79561 12.9112 -11.3072";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
new SpawnSphere() {
position = "-0.168978 19.089 -11.3086";
rotation = "0 0 1 90.5273";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SpawnSphereMarker";
radius = "1";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
};
new Item() {
position = "-2.07739 -39.0635 -6.71829";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "MegaMarbleItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-2.90263 9.89053 -11.7525";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "MegaMarbleItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-18.0273 1.99251 -12.0423";
rotation = "0 0 1 180.482";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperJumpItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-3.07976 19.8924 -7.84367";
rotation = "0 0 1 180.482";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperJumpItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "28.0534 -25.9522 -10.3627";
rotation = "0 0 1 180.482";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperJumpItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-49.8163 15.9925 -8.03342";
rotation = "0 0 1 180.482";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperJumpItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-3.01164 17.9561 -12.1596";
rotation = "0 0 1 180.482";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperJumpItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "5.13379 10.1084 -11.8727";
rotation = "0 0 1 180.482";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperJumpItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "16.0924 -38.8234 -6.60597";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperSpeedItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "16.11 20.0737 -7.85833";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperSpeedItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-17.9255 -39.0396 -6.97913";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperSpeedItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-31.9956 0.107028 -7.81984";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperSpeedItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-13.5146 20.0694 -12.3342";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperSpeedItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "39.9847 -25.9586 -10.3523";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "BlastItem";
collideable = "0";
static = "1";
rotate = "0";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-9.47994 -26.9667 -8.89979";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "BlastItem";
collideable = "0";
static = "1";
rotate = "0";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-49.8044 25.8165 -7.85856";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "BlastItem";
collideable = "0";
static = "1";
rotate = "0";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "5.86955 25.1359 -11.7219";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "BlastItem";
collideable = "0";
static = "1";
rotate = "0";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "15.9411 -8.17537 -5.38783";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "BlastItem";
collideable = "0";
static = "1";
rotate = "0";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-39.6285 26.1422 -7.81736";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "HelicopterItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "33.9039 -25.8851 -10.4744";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "HelicopterItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-1.03193 -24.4086 -10.3962";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "HelicopterItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-13.515 41.5964 -12.4001";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "BlastItem";
collideable = "0";
static = "1";
rotate = "0";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "32.8774 17.5232 -7.6145";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "MegaMarbleItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "-4.70528 40.1104 -11.4423";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "SuperSpeedItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new Item() {
position = "2.95686 40.0528 -11.4922";
rotation = "1 0 0 0";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "HelicopterItem";
collideable = "0";
static = "1";
rotate = "1";
permanent = "0";
checkPointConfirmationNumber = "0";
};
new SpawnSphere() {
position = "-55.9425 15.8977 -0.128559";
rotation = "0.104087 -0.149139 0.983323 111.078";
scale = "1 1 1";
hidden = "0";
reanderShadow = "1";
dataBlock = "CameraSpawnSphereMarker";
radius = "100";
sphereWeight = "100";
indoorWeight = "100";
outdoorWeight = "100";
};
};
//--- OBJECT WRITE END ---

View file

@ -86,8 +86,6 @@ class TriangleEdge {
class DifCache {
var dif:Dif;
var difTriangles:Map<String, Array<DifBuilderTriangle>>;
var colliderSurfaces:Array<CollisionSurface>;
var difEdgeMap:Map<Int, Edge>;
public function new() {}
}
@ -99,7 +97,7 @@ typedef VertexBucket = {
}
class DifBuilder {
static var difCache:LRUCache<DifCache> = new LRUCache(16);
static var difCache:LRUCache<DifCache> = new LRUCache(24);
static var materialDict:Map<String, {
friction:Float,
@ -394,10 +392,9 @@ class DifBuilder {
var mats = new Map<String, Array<DifBuilderTriangle>>();
var difEdges:Map<Int, Edge> = [];
if (cache != null) {
colliderSurfaces = cache.colliderSurfaces;
mats = cache.difTriangles;
}
if (cache == null || (colliderSurfaces.length == 0 && makeCollideable)) {
if (cache == null || makeCollideable) {
mats = [];
colliderSurfaces = [];
difEdges = [];
@ -850,21 +847,12 @@ class DifBuilder {
collider.difEdgeMap = difEdges;
}
if (makeCollideable) {
if (cache != null) {
collider.difEdgeMap = cache.difEdgeMap;
difEdges = cache.difEdgeMap;
for (surf in colliderSurfaces) {
collider.addSurface(surf);
}
}
collider.finalize();
itr.collider = collider;
}
if (cache == null) {
cache = new DifCache();
cache.difTriangles = mats;
cache.difEdgeMap = difEdges;
cache.colliderSurfaces = colliderSurfaces;
cache.dif = dif;
difCache.set(cachePath, cache);
}

View file

@ -1,5 +1,6 @@
package src;
import gui.LevelSelectGui;
import h3d.scene.fwd.Light;
import rewind.RewindManager;
import Macros.MarbleWorldMacros;
@ -1402,8 +1403,8 @@ class MarbleWorld extends Scheduler {
}
var endGameCode = () -> {
this.dispose();
var pmg = new PlayMissionGui();
PlayMissionGui.currentSelectionStatic = mission.index + 1;
var pmg = new LevelSelectGui(["beginner", "intermediate", "advanced"][mission.difficultyIndex]);
LevelSelectGui.currentSelectionStatic = mission.index + 1;
MarbleGame.canvas.setContent(pmg);
#if js
pointercontainer.hidden = false;

View file

@ -68,6 +68,8 @@ class PreviewWorld extends Scheduler {
var itrAddTime:Float = 0;
var _loadToken = 0;
public function new(scene:Scene) {
this.scene = scene;
}
@ -129,6 +131,7 @@ class PreviewWorld extends Scheduler {
onFinish();
return;
}
_loadToken++;
currentMission = misname;
var groupName = (misname + "group").toLowerCase();
var group = levelGroups.get(groupName);
@ -182,21 +185,37 @@ class PreviewWorld extends Scheduler {
var mis = MissionList.missionsFilenameLookup.get((misname + '.mis').toLowerCase());
var difficulty = ["beginner", "intermediate", "advanced"][mis.difficultyIndex];
var curToken = _loadToken;
var worker = new ResourceLoaderWorker(onFinish);
worker.addTask(fwd -> addScenery(difficulty, fwd));
worker.addTask(fwd -> {
if (_loadToken != curToken)
fwd();
else
addScenery(difficulty, fwd);
});
itrAddTime = 0;
for (elem in itrpaths) {
worker.addTask(fwd -> {
var startTime = Console.time();
addInteriorFromMis(cast elem, () -> {
itrAddTime += Console.time() - startTime;
if (_loadToken != curToken)
fwd();
});
else {
var startTime = Console.time();
addInteriorFromMis(cast elem, curToken, () -> {
itrAddTime += Console.time() - startTime;
fwd();
});
}
});
}
for (elem in shapeDbs) {
worker.addTask(fwd -> addStaticShape(cast elem, fwd));
worker.addTask(fwd -> {
if (_loadToken != curToken)
fwd();
else
addStaticShape(cast elem, curToken, fwd);
});
}
worker.addTask(fwd -> {
timeState.timeSinceLoad = 0;
@ -260,9 +279,9 @@ class PreviewWorld extends Scheduler {
scene.removeChildren();
}
public function addInteriorFromMis(element:MissionElementInteriorInstance, onFinish:Void->Void) {
public function addInteriorFromMis(element:MissionElementInteriorInstance, token:Int, onFinish:Void->Void) {
var difPath = getDifPath(element.interiorfile);
if (difPath == "") {
if (difPath == "" || token != _loadToken) {
onFinish();
return;
}
@ -271,7 +290,7 @@ class PreviewWorld extends Scheduler {
interior.interiorFile = difPath;
// DifBuilder.loadDif(difPath, interior);
// this.interiors.push(interior);
this.addInterior(interior, () -> {
this.addInterior(interior, token, () -> {
var interiorPosition = MisParser.parseVector3(element.position);
interiorPosition.x = -interiorPosition.x;
var interiorRotation = MisParser.parseRotation(element.rotation);
@ -301,9 +320,17 @@ class PreviewWorld extends Scheduler {
});
}
function addInterior(obj:InteriorObject, onFinish:Void->Void) {
function addInterior(obj:InteriorObject, token:Int, onFinish:Void->Void) {
if (token != _loadToken) {
onFinish();
return;
}
this.interiors.push(obj);
obj.init(null, () -> {
if (token != _loadToken) {
onFinish();
return;
}
if (obj.useInstancing)
this.instanceManager.addObject(obj);
else
@ -312,7 +339,11 @@ class PreviewWorld extends Scheduler {
});
}
public function addStaticShape(element:MissionElementStaticShape, onFinish:Void->Void) {
public function addStaticShape(element:MissionElementStaticShape, token:Int, onFinish:Void->Void) {
if (token != _loadToken) {
onFinish();
return;
}
var shape:DtsObject = null;
// Add the correct shape based on type
@ -403,13 +434,21 @@ class PreviewWorld extends Scheduler {
shape.isCollideable = false;
shape.isBoundingBoxCollideable = false;
this.addDtsObject(shape, () -> {
this.addDtsObject(shape, token, () -> {
if (token != _loadToken) {
onFinish();
return;
}
shape.setTransform(mat);
onFinish();
});
}
public function addDtsObject(obj:DtsObject, onFinish:Void->Void, isTsStatic:Bool = false) {
public function addDtsObject(obj:DtsObject, token:Int, onFinish:Void->Void, isTsStatic:Bool = false) {
if (token != _loadToken) {
onFinish();
return;
}
function parseIfl(path:String, onFinish:Array<String>->Void) {
ResourceLoader.load(path).entry.load(() -> {
var text = ResourceLoader.getFileEntry(path).entry.getText();
@ -435,6 +474,10 @@ class PreviewWorld extends Scheduler {
}
ResourceLoader.load(obj.dtsPath).entry.load(() -> {
if (token != _loadToken) {
onFinish();
return;
}
var dtsFile = ResourceLoader.loadDts(obj.dtsPath);
var texToLoad = obj.getPreloadMaterials(dtsFile.resource);
@ -442,6 +485,10 @@ class PreviewWorld extends Scheduler {
obj.isTSStatic = isTsStatic;
this.dtsObjects.push(obj);
obj.init(null, () -> {
if (token != _loadToken) {
onFinish();
return;
}
obj.update(this.timeState);
if (obj.useInstancing) {
this.instanceManager.addObject(obj);

View file

@ -69,10 +69,14 @@ class LevelSelectGui extends GuiImage {
var curMission = difficultyMissions[currentSelectionStatic];
var lock = true;
var currentToken = 0;
var requestToken = 0;
var misFile = Path.withoutExtension(Path.withoutDirectory(curMission.path));
MarbleGame.instance.setPreviewMission(misFile, () -> {
lock = false;
if (currentToken != requestToken)
return;
this.bmp.visible = false;
loadAnim.anim.visible = false;
loadText.text.visible = false;
@ -186,8 +190,8 @@ class LevelSelectGui extends GuiImage {
levelWnd.addChild(levelInfoRight);
function setLevel(idx:Int) {
if (lock)
return false;
// if (lock)
// return false;
this.bmp.visible = true;
loadAnim.anim.visible = true;
loadText.text.visible = true;
@ -195,10 +199,14 @@ class LevelSelectGui extends GuiImage {
lock = true;
curMission = difficultyMissions[idx];
currentSelectionStatic = idx;
currentToken++;
var misFile = Path.withoutExtension(Path.withoutDirectory(curMission.path));
var mis = difficultyMissions[idx];
var requestToken = currentToken;
MarbleGame.instance.setPreviewMission(misFile, () -> {
lock = false;
if (requestToken != currentToken)
return;
this.bmp.visible = false;
loadAnim.anim.visible = false;
loadText.text.visible = false;