Compare commits

..

No commits in common. "9a35b182a990b03d85dc103d891b8fd0b4a45a49" and "2946e5f366cd01ec8b77e111fab7299c5985fb5a" have entirely different histories.

7 changed files with 488 additions and 1555 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<file url="PROJECT" libraries="{@types/knockout, @types/knockout.mapping, @types/pegjs, ace, bootstrap, jquery-3.4.1, knockout, knockout.mapping, peg, popper}" />
<file url="PROJECT" libraries="{@types/knockout, @types/knockout.mapping, ace, bootstrap, jquery-3.4.1, knockout, knockout.mapping, peg, popper}" />
</component>
</project>

View file

@ -13,6 +13,5 @@
<orderEntry type="library" name="knockout.mapping" level="application" />
<orderEntry type="library" name="@types/knockout.mapping" level="application" />
<orderEntry type="library" name="peg" level="application" />
<orderEntry type="library" name="@types/pegjs" level="application" />
</component>
</module>

View file

@ -7,8 +7,3 @@
width: 100%;
height: 50vh;
}
#raw-editor {
width: 100%;
height: 50vh;
}

1020
index.html

File diff suppressed because it is too large Load diff

View file

@ -52,9 +52,6 @@ function deparseArray(input) {
if (input[0] === "BlueprintGeneratedClass") {
return "BlueprintGeneratedClass" + "'" + input[1] + "'";
}
if (input[0] === "Blueprint") {
return "Blueprint" + "'" + input[1] + "'";
}
if (input[0] === "SoundWave") {
return "SoundWave" + "'" + input[1] + "'"
}

View file

@ -234,80 +234,7 @@ var viewmodel = ko.mapping.fromJS({
],
"spawnerOverrideTemplates": [],
"shipPaths": [],
"serverTemplates": [
{
// Basic Data
"name": "No Build PVE",
"ip": "127.0.0.1",
"port": 50000,
"gamePort": 6666,
"seamlessDataPort": 27000,
"gridX": 0,
"gridY": 0,
"MachineIdTag": "",
"isHomeServer": false,
"AdditionalCmdLineParams": "",
// Biome Options
"GlobalBiomeSeamlessServerGridPreOffsetValues": "(BiomeZoneName=\"Tundra At Land\",PreOffsetMaxDistanceFromShore=100000.000000,PreOffsetTemperatureMultiplier=0.800000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=0.800000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-18.000000,PreOffsetTemperatureAddition=-12.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Tundra Open Water\",BiomeZoneNameAltDistanceAmount=0.000000)",
"GlobalBiomeSeamlessServerGridPreOffsetValuesOceanWater": "(BiomeZoneName=\"Tundra Ocean Water\",PreOffsetMaxDistanceFromShore=17500.000000,PreOffsetTemperatureMultiplier=0.750000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=0.750000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-45.000000,PreOffsetTemperatureAddition=-20.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Tundra Deep Ocean\",BiomeZoneNameAltDistanceAmount=0.500000)",
// Override Options
"OceanDinoDepthEntriesOverride": "",
"OceanEpicSpawnEntriesOverrideValues": "\"(NPCSpawnEntries=((NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_Character_BP.MeanWhale_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000)),(NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_SeaMonster_Character_BP.MeanWhale_SeaMonster_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000))),NPCSpawnLimits=,MaxDesiredNumEnemiesMultiplier=4.000000)\",",
"oceanFloatsamCratesOverride": "",
"treasureMapLootTablesOverride": "",
"oceanEpicSpawnEntriesOverrideTemplateName": "",
"NPCShipSpawnEntriesOverrideTemplateName": "",
"regionOverrides": "",
// Style Options
"templateColorR": 0.0,
"templateColorG": 0.0,
"templateColorB": 0.0,
"waterColorR": 0.5,
"waterColorG": 0.1,
"waterColorB": 0.1,
"skyStyleIndex": 2,
// Misc Options
"floorZDist": 0,
"utcOffset": 0,
"transitionMinZ": 0,
"serverIslandPointsMultiplier": 1.0,
// Date Options
"lastModified": "0001-01-01T00:00:00",
"lastImageOverride": "0001-01-01T00:00:00",
// Boolean Options
"islandLocked": false,
"discoLocked": false,
"pathsLocked": false,
// Long Tables
"sublevels": [],
"islandInstances": [],
"discoZones": [],
// Mini Tables
"spawnRegions": [],
"extraSublevels": [],
"totalExtraSublevels": [],
// Custom Data - Ignored!
"ServerCustomDatas1": "NPCShipDifficultyMult,NPCShipDifficultyLerp,NPCShipNumMult,FloatsamQualityMultiplier",
"ServerCustomDatas2": "2.0,0.5,1.6,5",
"ClientCustomDatas1": ",OceanDepthFadeExponent,OceanWaterScatterIntensity,",
"ClientCustomDatas2": ",-1,0.015,",
// ???? Will just have to have a custom JSON editor...
"OverrideShooterGameModeDefaultGameIni": {
"bDontUseClaimFlags": "1",
"NoClaimFlagPeriodDecayMultiplier": "4"
}
}
],
"serverTemplates": [],
// ?!?!
"OverrideShooterGameModeDefaultGameIni": {}
@ -438,34 +365,6 @@ function saveDeparseEdit() {
activeDeparseEdit = undefined;
}
var rawEditor = ace.edit("raw-editor");
rawEditor.setTheme("ace/theme/monokai");
rawEditor.session.setMode("ace/mode/json");
var activeRawEdit;
function rawEdit(data) {
activeRawEdit = data;
$('#raw-modal').on('hide.bs.modal', function () {
cancelRawEdit();
});
$('#raw-modal').modal('show');
rawEditor.setValue(ko.toJSON(ko.mapping.toJS(activeRawEdit), null, 2));
}
function cancelRawEdit() {
activeDeparseEdit = undefined;
$('#raw-modal').off('hide.bs.modal');
$('#raw-modal').modal('hide');
}
function saveRawEdit() {
$('#raw-modal').off('hide.bs.modal');
$('#raw-modal').modal('hide');
ko.mapping.fromJSON(rawEditor.getValue(), {}, activeRawEdit);
activeRawEdit = undefined;
}
function addServerSubLevel(obj) {
var newSubLevel = {
"id": ko.observable(0),
@ -556,56 +455,3 @@ function addTotalExtraSubLevels(obj) {
}
function removeTotalExtraSubLevels(obj, e) { ko.contextFor(e.target).$parent.totalExtraSublevels.remove(obj) }
function addSpawner() {
var newSpawner = {
"Name": ko.observable("New Spawner"),
"NPCSpawnEntries": ko.observable(""),
"NPCSpawnLimits": ko.observable(""),
"MaxDesiredNumEnemiesMultiplier": ko.observable(1)
};
viewmodel.spawnerOverrideTemplates.push(newSpawner);
}
function removeSpawner(obj) {
viewmodel.spawnerOverrideTemplates.remove(obj);
}
function addShip() {
var newShip = {
"PathName": ko.observable("New Ship"),
"PathId": ko.observable(1),
"AutoSpawnShipClass": ko.observable(""),
"AutoSpawnEveryUTCInterval": ko.observable(21600),
"autoSpawn": ko.observable(true),
"Nodes": ko.observableArray([])
};
viewmodel.shipPaths.push(newShip);
}
function removeShip(obj) {
viewmodel.shipPaths.remove(obj);
}
function addShipNode(obj) {
var newNode = {
"controlPointsDistance": ko.observable(0),
"worldX": ko.observable(0),
"worldY": ko.observable(0),
"rotation": ko.observable(0)
};
obj.Nodes.push(newNode);
}
function removeShipNode(obj, e) { ko.contextFor(e.target).$parent.Nodes.remove(obj) }
function addTemplate() {
var newTemplate = {
};
viewmodel.serverTemplates.push(newTemplate);
}
function removeTemplate(obj) {
viewmodel.serverTemplates.remove(obj);
}

View file

@ -24,7 +24,7 @@
<div class="row">
<div class="col">
<span>Atlas Crazy Config</span>
<div id="atlas-config-editor">Blueprint'/Game/Atlas/ShipPaths/PathFollowingGhostShip_BP.PathFollowingGhostShip_BP'</div>
<div id="atlas-config-editor">(SoundOverrides=(NavalCombatMusicDay=SoundWave'/Game/Atlas/Music/ATL_SeaCombatArcticDay_v1.ATL_SeaCombatArcticDay_v1',NavalCombatMusicNight=SoundWave'/Game/Atlas/Music/ATL_SeaCombatArcticNight_v1.ATL_SeaCombatArcticNight_v1',CombatMusicDay=SoundWave'/Game/Atlas/Music/ATL_LandCombatArcticDay_v2.ATL_LandCombatArcticDay_v2',CombatMusicNight=SoundWave'/Game/Atlas/Music/ATL_LandCombatArcticNight_v1.ATL_LandCombatArcticNight_v1',CombatMusicDay_Heavy=SoundWave'/Game/Atlas/Music/ATL_LandCombatArcticDay_v2.ATL_LandCombatArcticDay_v2',CombatMusicNight_Heavy=SoundWave'/Game/Atlas/Music/ATL_LandCombatArcticNight_v1.ATL_LandCombatArcticNight_v1',Sound_TransitionToMorning=SoundWave'/Game/Atlas/Stingers/ATL_Sting_ArcticMorning.ATL_Sting_ArcticMorning',Sound_TransitionToMidDay=SoundWave'/Game/Atlas/Stingers/ATL_Sting_ArcticNoon.ATL_Sting_ArcticNoon',Sound_TransitionToNight=SoundWave'/Game/Atlas/Stingers/ATL_Sting_ArcticNight.ATL_Sting_ArcticNight',Sound_SetSail=SoundWave'/Game/Atlas/Stingers/ATL_Sting_ArcticSetSail.ATL_Sting_ArcticSetSail',Sound_Respawn=None,Sound_CreateNewCharacter=None),OceanHarvestEntriesOverrides=((RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Tall_35.OceanHarvestable_Seaweed_Tall_35_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/HerbHarvestComponent_RedAlgae.HerbHarvestComponent_RedAlgae_C',Weight=0.100000,RandomOffsetPercentageOfPlacementInterval=3.000000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Tall_36.OceanHarvestable_Seaweed_Tall_36_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/HerbHarvestComponent_RedAlgae.HerbHarvestComponent_RedAlgae_C',Weight=0.010000,RandomOffsetPercentageOfPlacementInterval=5.400000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Tall_37.OceanHarvestable_Seaweed_Tall_37_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/FiberHarvestComponent_Seaweed.FiberHarvestComponent_Seaweed_C',Weight=0.200000,RandomOffsetPercentageOfPlacementInterval=2.100000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Short_16.OceanHarvestable_Seaweed_Short_16_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/FiberHarvestComponent_Seaweed.FiberHarvestComponent_Seaweed_C',Weight=0.010000,RandomOffsetPercentageOfPlacementInterval=1.400000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Short_40.OceanHarvestable_Seaweed_Short_40_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/FiberHarvestComponent_Seaweed.FiberHarvestComponent_Seaweed_C',Weight=0.050000,RandomOffsetPercentageOfPlacementInterval=4.000000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Short_41.OceanHarvestable_Seaweed_Short_41_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/FiberHarvestComponent_Seaweed.FiberHarvestComponent_Seaweed_C',Weight=0.400000,RandomOffsetPercentageOfPlacementInterval=0.600000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Short_42.OceanHarvestable_Seaweed_Short_42_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/FiberHarvestComponent_Seaweed.FiberHarvestComponent_Seaweed_C',Weight=0.800000,RandomOffsetPercentageOfPlacementInterval=0.800000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Seaweed_Short_43.OceanHarvestable_Seaweed_Short_43_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/FiberHarvestComponent_Seaweed.FiberHarvestComponent_Seaweed_C',Weight=0.400000,RandomOffsetPercentageOfPlacementInterval=0.500000),(RenderComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/Render_Components/OceanHarvestable_Coral_Brain.OceanHarvestable_Coral_Brain_C',HarvestComponent=BlueprintGeneratedClass'/Game/Atlas/AtlasCoreBP/HarvestComponents/00_OceanFloor/CoralHarvestComponent_Brain.CoralHarvestComponent_Brain_C',Weight=0.500000,RandomOffsetPercentageOfPlacementInterval=10.000000)),bDisableClaimFlags=False)</div>
</div>
</div>
<div class="row">