Second commit

This commit is contained in:
ThomasCharester committed 2026-09-20 15:26:03 +03:00
commit 36840f3ad4
999 files changed
+61364

No files matched your search

Binary file not shown.
@@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: fba6c5b92231f442a8364fdb83b3edad
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Ubuntu Mono
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/FNT_UbuntuMono.ttf
uploadId: 939664
@@ -0,0 +1,34 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using System.Collections.Generic;
namespace TinyGoose.Tremble.Editor
{
public record ManualEntry
{
public string Title { get; init; }
public string PagePath { get; init; }
public bool ShowInTree { get; init; } = true;
public List<ManualEntry> Children { get; } = new();
public ManualEntry FindEntryByPath_Recursive(string path)
{
if (PagePath != null && PagePath.EqualsInvariant(path))
return this;
foreach (ManualEntry child in Children)
{
ManualEntry result = child.FindEntryByPath_Recursive(path);
if (result != null)
return result;
}
return null;
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: e522cd7f114947df9cd7e4422f37ac92
timeCreated: 1722961528
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualEntry.cs
uploadId: 939664
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: acb2d0790139b4bd0a99529ee3e28a22
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: edbd082dde0b24cee9dbe83b2399e40f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_BrushEntity.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 5204d1c0f162d4a589ca60d8c6f289c1
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_CreateMap.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 397a0f0f28f9f4e9eaca335b9b9479ce
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_LiveUpdate1.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 92ee6046b7c734acaa687b23061a1723
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_LiveUpdate2.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 1618957b737a3490c9d9ac3d8f5413da
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapProcessor.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 7154fd07e64354cf59ae63b87206f05d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapRepair.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 17f71c996af184292a24fe277d2f84b8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapRepair_Entities.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 0dd22f4c150c94b1a84aba479d697668
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapRepair_NoFGD.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 512558f9a81a84ea0983b1b0b7460e0c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapRepair_Required.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 1a1ed8b8ca0684270bf22fa864bd1c4b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapRepair_Textures.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 860ecfae5d6d5468e85890e003668045
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MapRepair_WithFGD.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: b02b0e10ead7244a39a3b23be4286e62
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MaterialGroups.png
uploadId: 939664
@@ -0,0 +1,121 @@
fileFormatVersion: 2
guid: f9d23417eb63440518f17f98a84018bf
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MissingGeo_TB1.png
uploadId: 939664
@@ -0,0 +1,121 @@
fileFormatVersion: 2
guid: 512b951d450244dc490de97c11f16400
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MissingGeo_TB2.png
uploadId: 939664
@@ -0,0 +1,121 @@
fileFormatVersion: 2
guid: e7dc51b9f011b47118ad1f32472e6cfe
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MissingGeo_Unity1.png
uploadId: 939664
@@ -0,0 +1,121 @@
fileFormatVersion: 2
guid: b02a7c9a8c5da4731af31f805eb11804
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_MissingGeo_Unity2.png
uploadId: 939664
@@ -0,0 +1,163 @@
fileFormatVersion: 2
guid: 50a31cab696ef4f1191339661e72fb5a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Pipeline.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 37c91588401a94de1bad2135884efe70
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 2
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_PointEntity.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 975dcbf6686ba43e18cbed841f05f6e8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_PrefabEntity.png
uploadId: 939664
@@ -0,0 +1,137 @@
fileFormatVersion: 2
guid: 2fe327c4fae9e74d8bea648040eeed1b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_RenderSettings.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 496dce75903ae44d0ace66d47a7e8d7a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_SpawnablePrefab.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 8d4ed641ac16f4f9ea0ed0423383f198
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Trouble_DLL1.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: ceb966372c8744d64a0b83a21dde66ee
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Trouble_DLL2.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 2daf6bf8d225141d18d9e6ee4787f07d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Trouble_FixPinkMaterialsVideo.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 68dc678b14c754e0eb97bea3527e7f3e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Trouble_MaterialBrightness.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: f9e3201bf80fd462297cab6a73cf1a8e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Trouble_MaterialBrightnessSettings.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: fa99fe121e4274518ae28788c8942b85
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_Trouble_PinkMaterials.png
uploadId: 939664
@@ -0,0 +1,176 @@
fileFormatVersion: 2
guid: 48ad6b4636f5344b8a92818a4e9f5d28
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 2
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: tvOS
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualImages/T_Manual_WadImport2.png
uploadId: 939664
@@ -0,0 +1,32 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using UnityEngine.Scripting;
namespace TinyGoose.Tremble.Editor
{
[AttributeUsage(AttributeTargets.Class)]
public class ManualPageAttribute : PreserveAttribute
{
public ManualPageAttribute(string path, string title = null, bool showInTree = true, bool isHomePage = false)
{
m_Path = path;
m_Title = title ?? path.Split('/')[^1];
m_ShowInTree = showInTree;
m_IsHomePage = isHomePage;
}
private readonly string m_Title;
private readonly string m_Path;
private readonly bool m_ShowInTree;
private readonly bool m_IsHomePage;
public string Title => m_Title;
public string Path => m_Path;
public bool ShowInTree => m_ShowInTree;
public bool IsHomePage => m_IsHomePage;
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: eac801fb3ff2452cac86d6e01aa048e2
timeCreated: 1722962036
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualPageAttribute.cs
uploadId: 939664
@@ -0,0 +1,389 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
public abstract class ManualPageBase
{
private readonly Dictionary<string, Texture2D> m_Images = new();
private int m_NextNumber;
private ManualWindow m_ManualWindow;
private readonly Dictionary<string, bool> m_FoldoutState = new();
protected float PageWidth => m_ManualWindow.PageWidth;
protected void Repaint() => m_ManualWindow.Repaint();
internal void Init(ManualWindow window)
{
m_ManualWindow = window;
OnInit();
}
internal void DeInit() => OnDeInit();
internal void Render()
{
ResetNumbering();
OnGUI();
}
protected virtual void OnInit() {}
protected virtual void OnDeInit() {}
protected abstract void OnGUI();
protected void GoToPage(Type type)
{
m_ManualWindow.GoToPage(type);
}
protected void NYI()
{
GUI.color = Color.red;
Text("This page is not yet implemented!!!");
GUI.color = Color.grey;
Text(GetType().Name.ToNamingConvention(NamingConvention.HumanFriendly));
GUI.color = Color.white;
}
protected int Tabs(ref int selectedIdx, string[] tabNames)
{
selectedIdx = GUILayout.Toolbar(selectedIdx, tabNames, "LargeButton");
return selectedIdx;
}
protected int Tabs(ref int selectedIdx, string[] tabNames, float width)
{
selectedIdx = GUILayout.Toolbar(selectedIdx, tabNames, "LargeButton", GUILayout.Width(width * ManualStyles.Scale));
return selectedIdx;
}
protected void Image(string name, float width = 400f, bool centred = true)
{
if (!m_Images.TryGetValue(name, out Texture2D texture))
{
texture = TrembleAssetLoader.LoadAssetByName<Texture2D>(name);
m_Images[name] = texture;
}
width *= ManualStyles.Scale;
float height = texture ? texture.height * (width / texture.width) : width;
var style = new GUIStyle("IN ThumbnailShadow");
style.margin.bottom = 16;
style.margin.top = 16;
void RawImage()
{
if (texture)
{
GUILayout.Box(texture, style, GUILayout.Width(width), GUILayout.Height(height));
}
else
{
GUI.color = Color.red;
GUILayout.Box($"<missing manual image '{name}'>", style, GUILayout.Width(width), GUILayout.Height(height));
GUI.color = Color.white;
}
}
if (centred)
{
Centre(RawImage);
}
else
{
RawImage();
}
}
protected void Title(string text) => TextAndSpace(text, ManualStyles.Styles.Title);
// -----------------------------------------------------------------------------------------------------------------------------
// Text
// -----------------------------------------------------------------------------------------------------------------------------
protected void Text(string text) => TextAndSpace(text, ManualStyles.Styles.Text);
protected void Text(params string[] text) => Text(String.Join(' ', text));
protected void TextMultiline(params string[] text) => Text(String.Join('\n', text));
protected void Text(string text, float width) => TextAndSpace(text, ManualStyles.Styles.Text, width);
// -----------------------------------------------------------------------------------------------------------------------------
// Bold
// -----------------------------------------------------------------------------------------------------------------------------
protected void Bold(string text) => TextAndSpace(text, ManualStyles.Styles.B);
protected void Bold(params string[] text) => Bold(String.Join(' ', text));
protected void BoldMultiline(params string[] text) => Bold(String.Join('\n', text));
protected void Bold(string text, float width) => TextAndSpace(text, ManualStyles.Styles.B, width);
protected void CheckListItem(string text, bool isChecked, string action = null, Action doIt = null)
{
Color oldColour = GUI.color;
GUI.color = isChecked ? Color.green : Color.red;
GUILayout.BeginHorizontal(EditorStyles.helpBox);
{
bool wasTicked = GUILayout.Toggle(isChecked, text, ManualStyles.Styles.Toggle, GUILayout.ExpandWidth(true));
if (!isChecked && !action.IsNullOrEmpty() && doIt != null)
{
GUI.color = Color.green;
if (GUILayout.Button(action, ManualStyles.Styles.Button, GUILayout.Width(200f)))
{
doIt();
}
}
if (!isChecked && wasTicked && doIt != null)
{
doIt();
}
}
GUILayout.EndHorizontal();
GUI.color = oldColour;
}
protected void Foldout(string title, Action inside)
{
bool foldout = m_FoldoutState.GetValueOrDefault(title, false);
foldout = EditorGUILayout.Foldout(foldout, title, true, ManualStyles.Styles.Foldout);
SmallSpace();
if (foldout)
{
Indent(inside);
}
SmallSpace();
m_FoldoutState[title] = foldout;
}
protected void Indent(Action inside) => Indent(1, inside);
protected void Indent(int amount, Action inside)
{
GUILayout.BeginHorizontal();
{
GUILayout.Space(20f * amount);
GUILayout.BeginVertical();
{
inside();
}
GUILayout.EndVertical();
}
GUILayout.EndHorizontal();
}
protected void Code(params string[] text) => CodeInternal(null, false, text);
protected void CodeNoCopy(params string[] text) => CodeInternal(null, true, text);
protected void CodeWithHeader(string header, params string[] text) => CodeInternal(header, false, text);
protected void CodeWithHeaderNoCopy(string header, params string[] text) => CodeInternal(header, true, text);
private void CodeInternal(string header, bool noCopy, params string[] text)
{
GUILayout.BeginVertical(EditorStyles.helpBox);
{
string textJoined = String.Join('\n', text);
int numLines = textJoined.Count(c => c == '\n') + 1;
GUILayout.BeginHorizontal();
{
header ??= "C# Source Code";
GUI.color = Color.grey;
GUILayout.Label($"{header}, {numLines} line(s)");
GUI.color = Color.white;
GUILayout.FlexibleSpace();
if (!noCopy && GUILayout.Button("Copy to clipboard"))
{
GUIUtility.systemCopyBuffer = textJoined;
}
}
GUILayout.EndHorizontal();
GUILayout.Label(textJoined, ManualStyles.Styles.Code);
}
GUILayout.EndVertical();
}
protected void Button(string label, Action action, float width = 0f)
{
bool pressed = width > 0f
? GUILayout.Button(label, GUILayout.Width(width))
: GUILayout.Button(label);
if (pressed)
action();
}
protected void LargeButton(string label, Action action) => SizedButton(label, ManualStyles.Styles.VeryLargeButton, action);
private void SizedButton(string label, GUIStyle style, Action action)
{
GUILayout.BeginHorizontal();
{
GUILayout.FlexibleSpace();
if (GUILayout.Button(label, style, GUILayout.ExpandWidth(false), GUILayout.Height(80f)))
action();
GUILayout.FlexibleSpace();
}
GUILayout.EndHorizontal();
}
protected void Bullet(params string[] text) => BulletInternal("•", text);
protected void ResetNumbering() => m_NextNumber = 1;
protected void Number(params string[] text) => BulletInternal($"{m_NextNumber++})", text);
private void BulletInternal(string bullet, params string[] text)
{
GUILayout.BeginHorizontal();
{
GUILayout.Label(bullet, ManualStyles.Styles.B, GUILayout.Width(20f));
GUILayout.Label(String.Join(' ', text), ManualStyles.Styles.Text);
}
GUILayout.EndHorizontal();
}
protected void PropertyDescription(string property, params string[] text)
=> PropertyDescription(property, EditorGUIUtility.labelWidth, text);
protected void PropertyDescription(string property, float labelWidth, params string[] text)
=> CustomPropertyDescription(property, labelWidth, () => GUILayout.Label(String.Join(' ', text), ManualStyles.Styles.Text));
protected void CustomPropertyDescription(string property, Action inside)
=> CustomPropertyDescription(property, EditorGUIUtility.labelWidth, inside);
protected void CustomPropertyDescription(string property, float labelWidth, Action inside)
{
GUILayout.BeginHorizontal();
{
GUILayout.Label(property, ManualStyles.Styles.B, GUILayout.Width(labelWidth));
inside();
}
GUILayout.EndHorizontal();
}
protected void Experimental() => Callout("This feature is experimental and may not work in all cases!");
protected void Callout(params string[] text)
{
SmallSpace();
GUIContent helpContent = new(String.Join('\n', text), EditorGUIUtility.IconContent("console.infoicon").image);
GUILayout.Label(helpContent, ManualStyles.Styles.HelpBox);
}
protected void H1(string text) => TextAndSpace(text, ManualStyles.Styles.H1);
protected void H2(string text) => TextAndSpace(text, ManualStyles.Styles.H2);
protected void H3(string text) => TextAndSpace(text, ManualStyles.Styles.H3);
//protected void H4(string text) => TextAndSpace(text, ManualStyles.Styles.H4);
protected void B(string text) => GUILayout.Label(text, ManualStyles.Styles.B);
private void TextAndSpace(string text, GUIStyle style)
{
GUILayout.Space(style.fontSize * ManualStyles.Scale);
GUILayout.Label(text, style);
SmallSpace();
}
private void TextAndSpace(string text, GUIStyle style, float width)
{
GUILayout.BeginVertical();
{
GUILayout.Space(style.fontSize * ManualStyles.Scale);
GUILayout.Label(text, style, GUILayout.Width(width * ManualStyles.Scale));
SmallSpace();
}
GUILayout.EndVertical();
}
protected void SmallSpace() => Space(0.25f);
protected void LargeSpace() => Space(2.5f);
protected void Space(float scale = 1f) => GUILayout.Space(ManualStyles.SPACE * scale * ManualStyles.Scale);
protected void HorizontalLine(float height = 2f)
{
GUILayout.Space(5f);
GUILayout.Box(Texture2D.whiteTexture, GUILayout.ExpandWidth(true), GUILayout.Height(height));
}
protected void Centre(Action inside)
{
GUILayout.BeginHorizontal();
{
GUILayout.FlexibleSpace();
{
inside();
}
GUILayout.FlexibleSpace();
}
GUILayout.EndHorizontal();
}
protected void RAlign(Action inside)
{
GUILayout.BeginHorizontal();
{
GUILayout.FlexibleSpace();
inside();
}
GUILayout.EndHorizontal();
}
protected void ActionBar(Action inside)
{
Color oldColour = GUI.color;
GUI.color = Color.yellow;
GUILayout.BeginHorizontal(EditorStyles.helpBox);
{
GUILayout.Label("Try it:", ManualStyles.Styles.B, GUILayout.ExpandWidth(false));
GUILayout.FlexibleSpace();
inside();
}
GUILayout.EndHorizontal();
SmallSpace();
GUI.color = oldColour;
}
protected void Action(string action, Action inside)
{
if (GUILayout.Button(action, ManualStyles.Styles.Button, GUILayout.ExpandWidth(false)))
{
inside();
}
}
protected void ActionBar_SingleAction(string action, Action inside)
=> ActionBar(() => Action(action, inside));
protected static string FormatAttributeName(Type attributeType)
{
string name = attributeType.Name;
int attrIdx = name.LastIndexOfInvariant("Attribute", caseSensitive: true);
return attrIdx == -1 ? name : name.Substring(0, attrIdx);
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: dc264e8de3f14d22bb1937514ee4c126
timeCreated: 1722960151
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualPageBase.cs
uploadId: 939664
@@ -0,0 +1,112 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System.IO;
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
public class ManualStyles
{
private ManualStyles()
{
string manualPath = Path.Combine(TrembleConsts.EDITOR_GetTrembleInstallFolder(), "Editor", "Manual");
string fontPath = Path.Combine(manualPath, "FNT_UbuntuMono.ttf");
Font ubuntuMonoFont = AssetDatabase.LoadAssetAtPath<Font>(fontPath);
string bookmarkOnPath = Path.Combine(manualPath, "T_Bookmark_On.png");
m_BookmarkIconOn = AssetDatabase.LoadAssetAtPath<Texture2D>(bookmarkOnPath);
string bookmarkOffPath = Path.Combine(manualPath, "T_Bookmark_Off.png");
m_BookmarkIconOff = AssetDatabase.LoadAssetAtPath<Texture2D>(bookmarkOffPath);
m_Text = new(EditorStyles.wordWrappedLabel) { fontSize = Mathf.FloorToInt(13 * s_Scale) };
m_Code = new(EditorStyles.wordWrappedLabel) { font = ubuntuMonoFont, fontSize = Mathf.FloorToInt(13 * s_Scale)};
m_CenteredGreyMiniLabel = new(EditorStyles.centeredGreyMiniLabel) { fontSize = Mathf.FloorToInt(9 * s_Scale)};
m_Toggle = new(EditorStyles.toggle) { fontSize = Mathf.FloorToInt(13 * s_Scale) };
m_Foldout = new(EditorStyles.foldout) { fontSize = Mathf.FloorToInt(13 * s_Scale) };
m_Button = new("Button") { fontSize = Mathf.FloorToInt(13 * s_Scale) };
m_VeryLargeButton = new(m_Button) { padding = new(30, 30, 30, 30), fontSize = Mathf.FloorToInt(20 * s_Scale) };
m_B = new(m_Text) { fontStyle = FontStyle.Bold, fontSize = Mathf.FloorToInt(13 * s_Scale) };
m_HelpBox = new(EditorStyles.helpBox) { fontSize = Mathf.FloorToInt(13 * s_Scale) };
m_Title = new(m_B) { fontStyle = FontStyle.Bold, fontSize = Mathf.FloorToInt(24 * s_Scale) };
m_H1 = new(m_B) { fontSize = Mathf.FloorToInt(20 * s_Scale) };
m_H2 = new(m_B) { fontSize = Mathf.FloorToInt(18 * s_Scale) };
m_H3 = new(m_B) { fontSize = Mathf.FloorToInt(16 * s_Scale) };
}
private static ManualStyles s_ManualStyles;
private static float s_Scale = 1f;
public static ManualStyles Styles
{
get
{
s_ManualStyles ??= new();
return s_ManualStyles;
}
}
public static float Scale
{
get => s_Scale;
set
{
s_Scale = value;
s_ManualStyles = new();
}
}
private readonly Texture2D m_BookmarkIconOn;
private readonly Texture2D m_BookmarkIconOff;
private readonly GUIStyle m_Text;
private readonly GUIStyle m_Code;
private readonly GUIStyle m_CenteredGreyMiniLabel;
private readonly GUIStyle m_Button;
private readonly GUIStyle m_VeryLargeButton;
private readonly GUIStyle m_Toggle;
private readonly GUIStyle m_Foldout;
private readonly GUIStyle m_B;
private readonly GUIStyle m_HelpBox;
private readonly GUIStyle m_Title;
private readonly GUIStyle m_H1;
private readonly GUIStyle m_H2;
private readonly GUIStyle m_H3;
public const float SPACE = 20f;
public Texture2D BookmarkIconOn => m_BookmarkIconOn;
public Texture2D BookmarkIconOff => m_BookmarkIconOff;
public GUIStyle Text => m_Text;
public GUIStyle Code => m_Code;
public GUIStyle CenteredGreyMiniLabel => m_CenteredGreyMiniLabel;
public GUIStyle Button => m_Button;
public GUIStyle VeryLargeButton => m_VeryLargeButton;
public GUIStyle Toggle => m_Toggle;
public GUIStyle Foldout => m_Foldout;
public GUIStyle B => m_B;
public GUIStyle HelpBox => m_HelpBox;
public GUIStyle Title => m_Title;
public GUIStyle H1 => m_H1;
public GUIStyle H2 => m_H2;
public GUIStyle H3 => m_H3;
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 689cba6a005c4398b5e076898317b92c
timeCreated: 1723118191
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualStyles.cs
uploadId: 939664
@@ -0,0 +1,558 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
public class ManualWindow : EditorWindow
{
// -----------------------------------------------------------------------------------------------------------------------------
// Statics - for storing state between reloads
// -----------------------------------------------------------------------------------------------------------------------------
private const string MANUAL_PREFIX = "Manual_";
private const int MAX_BOOKMARKS = 5;
private static readonly EditorPrefsBackedString s_Path = new(MANUAL_PREFIX + nameof(s_Path));
private static readonly EditorPrefsBackedString s_HomePath = new(MANUAL_PREFIX + nameof(s_HomePath));
private static readonly EditorPrefsBackedString s_SortOrderFirst = new(MANUAL_PREFIX + nameof(s_SortOrderFirst));
private static readonly EditorPrefsBackedString s_SortOrderLast = new(MANUAL_PREFIX + nameof(s_SortOrderLast));
private static readonly EditorPrefsBackedString s_Bookmarks = new(MANUAL_PREFIX + nameof(s_Bookmarks));
// -----------------------------------------------------------------------------------------------------------------------------
// State
// -----------------------------------------------------------------------------------------------------------------------------
private Vector2 m_ListScrollPos;
private Vector2 m_PageScrollPos;
private ManualEntry m_CurrentNode;
private ManualPageBase m_CurrentPage;
private ManualEntry m_TreeRoot;
private readonly Dictionary<string, Type> m_PageClasses = new();
private GUIStyle m_SelectedItemStyle;
private float m_TreeViewWidth = 235f;
private bool m_IsResizing;
private readonly List<string> m_History = new();
private int m_HistoryPtr = -1;
public float PageWidth => position.width - m_TreeViewWidth - 20f;
public static void OpenManual(string windowTitle, Type startPage = null, string[] sortOrderFirst = null, string[] sortOrderLast = null)
{
string startPath = null;
if (startPage != null)
{
startPage.GetCustomAttributes(out ManualPageAttribute pageInfo);
if (pageInfo == null)
{
Debug.LogWarning($"Tried to open manual to page: {startPage.Name} - which is not a valid page - going home...");
}
else
{
startPath = pageInfo.Path;
}
}
OpenManual(windowTitle, startPath, sortOrderFirst, sortOrderLast);
}
public static void OpenManual(string windowTitle, string startPath = null, string[] sortOrderFirst = null, string[] sortOrderLast = null)
{
s_Path.Value = startPath;
s_SortOrderFirst.Values = sortOrderFirst ?? Array.Empty<string>();
s_SortOrderLast.Values = sortOrderLast ?? Array.Empty<string>();
ManualWindow window = GetWindow<ManualWindow>(true, windowTitle, true);
Vector2 size = new(1200f, 640f);
window.minSize = new(800f, 400f);
window.position = new(EditorGUIUtility.GetMainWindowPosition().center - size / 2f, size);
window.Show();
}
private void OnEnable()
{
s_HomePath.Value = null;
m_TreeRoot = new() { Title = "" };
TypeCache.TypeCollection pages = TypeCache.GetTypesWithAttribute<ManualPageAttribute>();
foreach (Type pageClass in pages)
{
pageClass.GetCustomAttributes(out ManualPageAttribute pageInfo);
if (pageInfo.IsHomePage)
{
if (s_HomePath.Value != null)
{
Debug.LogError($"Multiple home pages in manual! Was: {s_HomePath.Values}, now using: {pageInfo.Path}!");
}
s_HomePath.Value = pageInfo.Path;
}
m_PageClasses[pageInfo.Path] = pageClass;
List<string> pathList = pageInfo.Path.Split("/", StringSplitOptions.RemoveEmptyEntries).ToList();
CreateHierarchy_Recursive(m_TreeRoot, pathList, pageInfo);
}
SortHierarchy_Recursive(m_TreeRoot, s_HomePath.Value);
GoToPage(s_Path.Value ?? s_HomePath.Value);
}
public void GoToPage(Type type, bool noUpdateHistory = false)
{
type.GetCustomAttributes(out ManualPageAttribute manualPageAttribute);
if (manualPageAttribute == null)
{
Debug.LogError($"Type {type.Name} is not a [ManualPage]");
return;
}
GoToPage(manualPageAttribute.Path, noUpdateHistory);
}
public void GoToPage(string path, bool noUpdateHistory = false)
{
if (!noUpdateHistory)
{
if (m_History.Count > 0 && m_HistoryPtr > -1 && m_HistoryPtr != m_History.Count - 1)
{
m_History.RemoveRange(m_HistoryPtr + 1, m_History.Count - m_HistoryPtr - 1);
}
m_History.Add(path);
m_HistoryPtr = m_History.Count - 1;
}
if (!m_PageClasses.TryGetValue(path, out Type pageType))
{
EditorUtility.DisplayDialog("Invalid Page", $"Could not go to page with path '{path}' - maybe it was removed or moved?", "Oh no!");
RemoveBookmark(path);
return;
}
m_CurrentPage?.DeInit();
{
m_CurrentNode = m_TreeRoot.FindEntryByPath_Recursive(path);
m_CurrentPage = (ManualPageBase)Activator.CreateInstance(pageType);
}
m_CurrentPage.Init(this);
s_Path.Value = path;
m_PageScrollPos = Vector2.zero;
ExpandHierarchy(path);
}
private void OnGUI()
{
if (m_SelectedItemStyle == null)
{
Color lightBlue = new(0f, 0.6f, 1f);
m_SelectedItemStyle = new(EditorStyles.wordWrappedLabel)
{
fontStyle = FontStyle.Bold,
normal = { textColor = lightBlue },
focused = { textColor = lightBlue },
hover = { textColor = lightBlue }
};
}
DrawToolbar();
// Horizontal separator
GUILayout.Box(GUIContent.none, GUILayout.ExpandWidth(true), GUILayout.Height(2f));
GUILayout.BeginHorizontal(GUILayout.ExpandHeight(true));
{
DrawTreeView(m_TreeViewWidth);
DrawDraggableSeparator();
DrawContent();
DrawBookmarkOverlayButton();
}
GUILayout.EndHorizontal();
}
private void DrawToolbar()
{
GUILayout.BeginHorizontal();
{
EditorGUI.BeginDisabledGroup(m_HistoryPtr < 1);
{
if (GUILayout.Button("<", GUILayout.Width(20f)))
{
m_HistoryPtr--;
GoToPage(m_History[m_HistoryPtr], noUpdateHistory: true);
}
}
EditorGUI.EndDisabledGroup();
EditorGUI.BeginDisabledGroup(m_HistoryPtr >= m_History.Count - 1);
{
if (GUILayout.Button(">", GUILayout.Width(20f)))
{
m_HistoryPtr++;
GoToPage(m_History[m_HistoryPtr], noUpdateHistory: true);
}
}
EditorGUI.EndDisabledGroup();
EditorGUI.BeginDisabledGroup(m_CurrentNode?.PagePath.EqualsInvariant(s_HomePath.Value) ?? false);
{
if (GUILayout.Button("Home", GUILayout.Width(50f)))
{
m_History.Clear();
m_HistoryPtr = -1;
GoToPage(s_HomePath.Value);
}
}
EditorGUI.EndDisabledGroup();
// Bookmarks
GUILayout.Space(5f);
string[] bookmarks = s_Bookmarks.Values;
Array.Sort(bookmarks, String.CompareOrdinal);
if (bookmarks.Length > MAX_BOOKMARKS)
{
if (EditorGUILayout.DropdownButton(new("Bookmarks"), FocusType.Passive))
{
GenericMenu menu = new();
foreach (string bookmark in bookmarks)
{
menu.AddItem(new(bookmark), false, () => GoToPage(bookmark));
}
menu.ShowAsContext();
}
}
else
{
foreach (string bookmark in bookmarks)
{
EditorGUI.BeginDisabledGroup(s_Path.Value.EqualsInvariant(bookmark));
{
if (GUILayout.Button(new GUIContent(Path.GetFileName(bookmark)), EditorStyles.miniButton))
{
GoToPage(bookmark);
}
}
EditorGUI.EndDisabledGroup();
}
}
// GUI.color = Color.gray;
// GUILayout.Label($"Path: {m_CurrentNode?.PagePath ?? "<none>"}");
// GUI.color = Color.white;
GUILayout.FlexibleSpace();
GUILayout.Label($"Scale: {ManualStyles.Scale*100f:F0}%");
float rawValue = GUILayout.HorizontalSlider(ManualStyles.Scale, 0.7f, 1.3f, GUILayout.Width(200f));
ManualStyles.Scale = Mathf.FloorToInt(rawValue * 10f) / 10f;
EditorGUI.BeginDisabledGroup(ManualStyles.Scale == 1f);
{
if (GUILayout.Button(new GUIContent("x", "Reset Zoom")))
{
ManualStyles.Scale = 1f;
}
}
EditorGUI.EndDisabledGroup();
}
GUILayout.EndHorizontal();
}
private void DrawTreeView(float width)
{
// Tree view
m_ListScrollPos = GUILayout.BeginScrollView(m_ListScrollPos, GUILayout.Width(width));
{
DrawHierarchy_Recursive(m_TreeRoot, isRoot: true);
}
GUILayout.EndScrollView();
}
private void DrawDraggableSeparator()
{
GUILayout.Box(GUIContent.none, GUILayout.Width(4f), GUILayout.ExpandHeight(true));
Rect resizeHandleRect = GUILayoutUtility.GetLastRect();
EditorGUIUtility.AddCursorRect(resizeHandleRect, MouseCursor.ResizeHorizontal);
if (resizeHandleRect.Contains(Event.current.mousePosition))
{
// Mouse down while over - start resizing
if (Event.current.type == EventType.MouseDown)
{
m_IsResizing = true;
Event.current.Use();
}
}
// Mouse up - no resizing
if (Event.current.type == EventType.MouseUp)
{
m_IsResizing = false;
}
// If currently resizing, update the m_TreeViewWidth based on mouse movement
if (m_IsResizing && Event.current.type != EventType.Layout && Event.current.type != EventType.Repaint)
{
m_TreeViewWidth += Event.current.delta.x;
m_TreeViewWidth = Mathf.Clamp(m_TreeViewWidth, 10f, 500f);
Event.current.Use();
}
}
private void DrawContent()
{
if (m_CurrentPage != null)
{
EditorGUILayoutUtil.Pad(10f, () =>
{
m_PageScrollPos = GUILayout.BeginScrollView(m_PageScrollPos);
{
GUILayout.Label(m_CurrentNode.Title, ManualStyles.Styles.Title);
m_CurrentPage.Render();
}
GUILayout.EndScrollView();
});
}
else
{
GUILayout.Label("Please select an item on the left!", EditorStyles.centeredGreyMiniLabel, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
}
}
private void DrawBookmarkOverlayButton()
{
// Bookmark overlay button
bool wasBookmarked = s_Bookmarks.Values.Contains(s_Path.Value);
Rect buttonPosition = position;
buttonPosition.x = position.width - 32f - 30f;
buttonPosition.y = 26f;
buttonPosition.width = 32f;
buttonPosition.height = 32f;
GUIContent bookmarkButton = wasBookmarked
? new(ManualStyles.Styles.BookmarkIconOn, "Remove bookmark from this page")
: new(ManualStyles.Styles.BookmarkIconOff, "Bookmark this page");
if (GUI.Button(buttonPosition, bookmarkButton, ManualStyles.Styles.Text))
{
SetBookmark(s_Path.Value, !wasBookmarked);
}
}
private void ExpandHierarchy(string path)
{
int endSlice = path.Length;
// While the path still has '/' in it...
while (endSlice != -1)
{
// Chop off after last slash (no-op on first run)
path = path.Substring(0, endSlice);
// Open the child, find the parent for further chopping
EditorGUILayoutUtil.SetHeaderOpen(path, true);
endSlice = path.LastIndexOf('/');
}
}
private void SetBookmark(string path, bool on)
{
if (on)
{
AddBookmark(path);
}
else
{
RemoveBookmark(path);
}
}
private void AddBookmark(string path)
{
s_Bookmarks.Values = s_Bookmarks.Values.Append(path).ToArray();
ShowNotification(new("Page bookmarked!"));
}
private void RemoveBookmark(string path)
{
s_Bookmarks.Values = s_Bookmarks.Values.Where(p => p != path).ToArray();
ShowNotification(new("Bookmark removed!"));
}
private void CreateHierarchy_Recursive(ManualEntry node, List<string> path, ManualPageAttribute pageInfo)
{
if (path.Count == 0)
return;
string newNodeTitle = path[0];
path.RemoveAt(0);
// Find existing parent, and go down that route
foreach (ManualEntry existingChild in node.Children)
{
if (existingChild.Title.EqualsInvariant(newNodeTitle))
{
CreateHierarchy_Recursive(existingChild, path, pageInfo);
return;
}
}
// Or... create a new one, and go down that route!
bool isLeaf = path.Count == 0;
string newPagePath = isLeaf
? pageInfo.Path
: (node.PagePath.IsNullOrEmpty() ? newNodeTitle : $"{node.PagePath}/{newNodeTitle}");
ManualEntry entry = new()
{
Title = isLeaf ? pageInfo.Title : newNodeTitle,
PagePath = newPagePath,
ShowInTree = pageInfo.ShowInTree
};
node.Children.Add(entry);
CreateHierarchy_Recursive(entry, path, pageInfo);
}
private void SortHierarchy_Recursive(ManualEntry node, string homePath)
{
string[] sortOrderFirst = s_SortOrderFirst.Values;
string[] sortOrderLast = s_SortOrderLast.Values;
node.Children.Sort((c1, c2) =>
{
// Home path ALWAYS TOP
if (c1.PagePath != null && c1.PagePath.EqualsInvariant(homePath))
return -1;
if (c2.PagePath != null && c2.PagePath.EqualsInvariant(homePath))
return +1;
// Specific FIRST sort order first?
int c1FirstSort = Array.IndexOf(sortOrderFirst, c1.Title);
int c2FirstSort = Array.IndexOf(sortOrderFirst, c2.Title);
if (c1FirstSort != -1 || c2FirstSort != -1)
{
// One sorted, the other not - put sorted below
if (c1FirstSort == -1)
return +1;
if (c2FirstSort == -1)
return -1;
// Both last-sorted!
return c1FirstSort.CompareTo(c2FirstSort);
}
// Specific LAST sort order first?
int c1LastSort = Array.IndexOf(sortOrderLast, c1.Title);
int c2LastSort = Array.IndexOf(sortOrderLast, c2.Title);
if (c1LastSort != -1 || c2LastSort != -1)
{
// One sorted, the other not - put sorted below
if (c1LastSort == -1)
return -1;
if (c2LastSort == -1)
return +1;
// Both last-sorted!
return c1LastSort.CompareTo(c2LastSort);
}
// Both no specific sort at all - check titles
return String.Compare(c1.Title, c2.Title, StringComparison.Ordinal);
});
foreach (ManualEntry child in node.Children)
{
SortHierarchy_Recursive(child, homePath);
}
}
private void DrawHierarchy_Recursive(ManualEntry entry, bool isRoot = false)
{
if (entry == null)
return;
// It's a leaf!
if (entry.Children.Count == 0)
{
if (!entry.ShowInTree)
return;
bool isCurrentPage = entry == m_CurrentNode;
GUILayout.BeginHorizontal();
GUILayout.Space(26f);
bool wasPressed = isCurrentPage
? GUILayout.Button(entry.Title, m_SelectedItemStyle)
: GUILayout.Button(entry.Title, EditorStyles.wordWrappedLabel);
GUILayout.EndHorizontal();
if (wasPressed)
{
GoToPage(entry.PagePath);
}
GUILayout.Space(5f);
return;
}
if (isRoot)
{
foreach (ManualEntry child in entry.Children)
{
DrawHierarchy_Recursive(child);
}
}
else
{
EditorGUILayoutUtil.CollapsibleHeader(entry.Title, entry.PagePath, () =>
{
GUILayout.Space(5f);
foreach (ManualEntry child in entry.Children)
{
DrawHierarchy_Recursive(child);
}
});
if (!EditorGUILayoutUtil.IsHeaderOpen(entry.PagePath))
{
GUILayout.Space(5f);
}
}
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a65db7c4cc9e4ebc9badc668b140ddba
timeCreated: 1722960129
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/ManualWindow.cs
uploadId: 939664
+3
View File
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b7fbbf7261684aa2b0a07ca9e9ec9ee1
timeCreated: 1722960145
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4a10d864747e4870a69b944b49fb0f57
timeCreated: 1723448980
@@ -0,0 +1,90 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Advanced/Base Classes")]
public class BaseClassesPage : ManualPageBase
{
protected override void OnGUI()
{
Text(
"Sometimes, you want to use a field (or a set of fields) across multiple",
"prefabs, point entities, and brush entities. For example, imagine you have a 'team' system,",
"whereby different entities might be on a player 'team' or the enemy 'team'. Entities that",
"you may wish to give a 'team' in this case could be the player prefab, some enemy prefabs,",
"and some doors which can only be interacted with by things on the same 'team'."
);
Text(
$"In this case, you can create a C# interface derived from {nameof(ITrembleBaseClass)}, which",
"those entities or prefabs implement, in order to attach fields to all of",
"them at once."
);
Text("Here's how this might look for our 'teams' example:");
Code(
$"using {nameof(TinyGoose)}.{nameof(Tremble)};",
"",
"// Simple enum to denote which team an entity is on (or for).",
"public enum TeamType",
"{",
" Neutral,",
" Players,",
" Enemies,",
"}",
"",
"// Inherit your interface from ITrembleBaseClass in order to expose it to",
"// Tremble.",
$"public interface ITeam : {nameof(ITrembleBaseClass)}",
"{",
" public TeamType Team => TeamType.Neutral; //you must provide a default!",
"}"
);
Text("Now, attach the interface to your entities, like this:");
Code(
$"using {nameof(TinyGoose)}.{nameof(Tremble)};",
"",
$"[{FormatAttributeName(typeof(PrefabEntityAttribute))}]",
"public class Door : MonoBehaviour, ITeam",
"{",
"",
"}"
);
Text(
"In order to read the data set from this base class, you will need to implement",
"OnImportFromMapEntity. You can then store this data in a variable, or do whatever",
"else you need with it."
);
Code(
$"using {nameof(TinyGoose)}.{nameof(Tremble)};",
"",
$"[{FormatAttributeName(typeof(PrefabEntityAttribute))}]",
$"public class Door : MonoBehaviour, ITeam, {nameof(IOnImportFromMapEntity)}",
"{",
" // [SerializeField] so that Unity stores the result",
" [SerializeField] private TeamType m_Team; ",
" ",
" // We must implement this method and pull the data out manually",
$" public void OnImportFromMapEntity({nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity)",
" {",
" // Interestingly, because this is named `m_Team`, and our",
" // interface has `Team`, this would have been set",
" // automagically anyway. But it's better to be explicit!",
" m_Team = entity.GetBaseClassData<TeamType>(this, nameof(ITeam.Team));",
" Debug.Log($\"This door is usable by the {m_Team} team!\");",
" }",
"}"
);
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c25e8e2e7f7a4efdbc9985c7232a2ed0
timeCreated: 1723449065
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Advanced/BaseClassesPage.cs
uploadId: 939664
@@ -0,0 +1,120 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Advanced/Custom Types")]
public class CustomTypesPage : ManualPageBase
{
protected override void OnGUI()
{
Text("Tremble also supports syncing custom data types from your maps.");
Text("For example, imagine you have an enemy that has a random amount of",
"health, chosen between two values that you want to set in a map. You could of course add",
"two fields, like this:"
);
CodeWithHeader("Individual fields sample",
"[SerializeField] private int m_MinHealth = 10;",
"[SerializeField] private int m_MaxHealth = 50;"
);
Text("However, you might prefer a single field of a custom type, something like this:");
CodeWithHeader("Custom type sample",
"[SerializeField] private IntInRange m_HealthRange = new(10, 50);");
Text("To do this, first you need a custom type of course (well, you might already have one!)",
"- in our example something like this:");
CodeWithHeader("IntInRange.cs",
"[Serializable]",
"public struct IntInRange",
"{",
" [SerializeField] public int Min;",
" [SerializeField] public int Max;",
"",
" public override string ToString() => $\"{Min}-{Max}\";",
"}");
Text("Now we have our class to store our data, we just need to tell Tremble how to read/write",
"this data from our map.");
Text("To do this, we create a new class extending TrembleFieldConverter,",
"and add the [TrembleFieldConverter] attribute to it.");
CodeWithHeader("IntInRangeFieldConverter.cs",
"[TrembleFieldConverter(typeof(IntInRange))]",
"public class IntInRangeFieldConverter : TrembleFieldConverter<IntInRange>",
"{",
" ...",
"}");
Text("Next, you need to implement the AddFieldToFgd method which tells TrenchBroom how to",
"display your data. This can be as a string, an integer, a list of values, and more.");
CodeWithHeader("AddFieldToFgd Method",
$"protected override void AddFieldToFgd({nameof(FgdClass)} entityClass, string fieldName, IntInRange defaultValue, MemberInfo target)",
"{",
" // Add a hint to the end of the description to show the format",
" string extraDescription = \" (format: \\\"2-4\\\")\";",
"",
" // Get the [Tooltip] attribute for this field, if it exists",
" target.GetCustomAttributes(out TooltipAttribute existingTooltip);",
" ",
" // Add a \"string\" field to the FGD class (it's not a float or boolean, for example)",
$" entityClass.AddField(new {nameof(FgdStringField)}",
" {",
" Name = fieldName,",
" DefaultValue = defaultValue.ToString(),",
" Description = (existingTooltip?.tooltip ?? $\"IntInRange {target.Name}\") + extraDescription",
" });",
"}");
Text("Finally, you need to implement the TryGetValueFromMap method which reads your custom data",
"from an entity in map. This is used when a map is parsed during import. You can read any data",
"from the 'entity' passed in, in any format. This example reads a string value, but you can",
"also read integers, floats, and others.");
CodeWithHeader("TryGetValueFromMap Method",
"protected override bool TryGetValueFromMap(BspEntity entity, string key, MapProcessorBase mapProcessor, MemberInfo target, out IntInRange value)",
"{",
" // Try to read string value for our field",
" if (!entity.TryGetString(key, out string rangeIntValue))",
" {",
" value = default;",
" return false; // we could not convert the data",
" }",
"",
" // Now parse our range from the string value in the map.",
" // !! NOTE !!: This sample code performs no bounds checking and is",
" thus very unsafe. See IntInRangeFieldConverter.cs",
" in the Tremble Sample for a much better implementation!",
"",
" value.Min = int.Parse(rangeIntValue.Split(\"-\")[0]);",
" value.Max = int.Parse(rangeIntValue.Split(\"-\")[1]);",
" return true; // we succesfully converted the data",
"",
"}");
Text("And that's it! Now Tremble will be able to tell TrenchBroom how to display your custom",
"type, and it will be able to import it from maps without issue.");
Text("Feel free to check out the real 'IntInRange.cs' and 'IntInRangeFieldConverter.cs' classes",
"in the Tremble Sample folder, or look in Tremble's FieldConverters folder to see all the",
"built-in field converters for things like Vector3s, strings, Materials, and more!");
}
private void Test(out MinMax mm)
{
mm.Min = 2;
mm.Max = 2;
}
}
struct MinMax
{
public int Min;
public int Max;
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 88bb368f84f84983aa5e46dd6b28b70e
timeCreated: 1725216144
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Advanced/CustomTypesPage.cs
uploadId: 939664
@@ -0,0 +1,97 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using UnityEditor;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Advanced/Map Processors")]
public class MapProcessorPage : ManualPageBase
{
protected override void OnGUI()
{
Text(
$"While {nameof(IOnImportFromMapEntity)} can cover a lot of bases for custom import logic,",
"sometimes you need to either:"
);
Bullet(
"look at the map as a whole - for example, to capture all",
"entities of a certain class into a list, and pass this to some system"
);
Bullet(
"or, you might want to use Editor-only functionality, which can be tricky",
"to write inside an OnImportFromMapEntity callback."
);
Text(
$"For this, you can create your own {nameof(MapProcessorBase)} subclass, and override the",
"functions you need."
);
Text(
"An example of this is provided in SampleMapProcessor.cs. The example finds all",
"the Sheep Spawners in the map, and logs their position. However in a real game",
"you might, for example, take the positions of these and write them into a",
"ScriptableObject which could be later used by a minimap system."
);
Text(
"Map Processors can either be set per-Map or in the Tremble Pipeline settings to affect every",
"map in your project.");
Number("To set a per-Map processor, click your map file in the",
"Project tab, and ensure your map processor class(es) are set, like this:"
);
Image("T_Manual_MapProcessor");
Number("To set Map processors globally for your project, open the Pipeline settings.");
ActionBar_SingleAction("Open Pipeline Settings", () =>
{
const string TREMBLE_PIPELINE_PATH = "Project/Tremble/4 Pipeline";
SettingsService.OpenProjectSettings(TREMBLE_PIPELINE_PATH);
});
H1("Sample Map Processor");
Foldout("Show Code", () =>
{
Code(
$"using {nameof(TinyGoose)}.{nameof(Tremble)};",
"",
$"public class MyCoolMapProcessor : {nameof(MapProcessorBase)}",
"{",
$" public override void OnProcessingStarted({nameof(TrembleMapImportSettings)} context, GameObject root, {nameof(MapBsp)} mapBsp)",
" {",
" Debug.Log($\"Map processing started for {mapBsp.MapName}\");",
" }",
$" public override void OnProcessingCompleted({nameof(TrembleMapImportSettings)} context, GameObject root, {nameof(MapBsp)} mapBsp)",
" {",
" Debug.Log($\"Map processing completed for {mapBsp.MapName} - all entities spawned\");",
" }",
" ",
$" public override void ProcessWorldSpawnProperties({nameof(TrembleMapImportSettings)} context, {nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity, GameObject rootGameObject)",
" {",
" Debug.Log($\"Worldspawn created for {mapBsp.MapName} - map-wide properties can be read from 'entity'\");",
" }",
" ",
$" public override void ProcessPrefabEntity({nameof(TrembleMapImportSettings)} context, {nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity, GameObject prefab)",
" {",
" Debug.Log(\"Found a prefab!\");",
" }",
$" public override void ProcessBrushEntity({nameof(TrembleMapImportSettings)} context, {nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity, GameObject brush)",
" {",
" Debug.Log(\"Found a brush!\");",
" }",
$" public override void ProcessPointEntity({nameof(TrembleMapImportSettings)} context, {nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity, GameObject point)",
" {",
" Debug.Log(\"Found a point!\");",
" }",
"}");
});
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 1a71f6a787fc471cbaabca9141e578fe
timeCreated: 1723449126
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Advanced/MapProcessorPage.cs
uploadId: 939664
@@ -0,0 +1,58 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Advanced/Custom Logic with IOnImportFromMapEntity")]
public class OnImportFromMapEntityPage : ManualPageBase
{
protected override void OnGUI()
{
Text(
"Sometimes, the automated import which takes entity properties from TrenchBroom cannot",
"convert the entity fully, or you need to add custom processing logic to translate the",
"data afterwards."
);
Text(
"You can see an example of this in SheepSpawner.cs in the sample project.",
"In this case, we are importing a Point Entity with various properties,",
"but at runtime we set up a reference to a default prefab to spawn, if not set in TrenchBroom.",
$"So, by using this interface and handling OnImportFromMapEntity({nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity),",
"we can wire this up before the GameObject is saved into the imported map."
);
Text(
"You might also want to add extra components to a Brush entity - for example,",
"adding a Rigidbody:"
);
H1("Code sample");
Code(
$"[{FormatAttributeName(typeof(BrushEntityAttribute))}(\"rigidbody\", category: \"misc\")]",
$"public class RigidbodyEntity : MonoBehaviour, {nameof(IOnImportFromMapEntity)}",
"{",
" // Customisable mass for the rigidbody - but 1kg by default",
" [SerializeField] private float m_Mass = 1f;",
" ",
" // Called after importing this entity into the map.",
$" public void OnImportFromMapEntity({nameof(MapBsp)} mapBsp, {nameof(BspEntity)} entity)",
" {",
" // Turn all colliders for this mesh convex (required for Rigidbodies)",
" foreach (MeshCollider meshCollider in gameObject.GetComponentsInChildren<MeshCollider>())",
" {",
" meshCollider.convex = true;",
" }",
" ",
" // Finally add the rigidbody to the entity, and set its mass.",
" Rigidbody rb = gameObject.AddComponent<Rigidbody>();",
" rb.mass = m_Mass;",
" }",
"}");
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 1e143c387f9646d18f3ac2ddbc84093d
timeCreated: 1723449090
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Advanced/OnImportFromMapEntityPage.cs
uploadId: 939664
@@ -0,0 +1,40 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using UnityEditor;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Advanced/Pipeline")]
public class PipelinePage : ManualPageBase
{
protected override void OnGUI()
{
Text("When Tremble imports a map, it performs a number of processing steps on it.");
Text(
"From the Pipeline settings, you can choose which steps to perform, and which",
"custom map processors (if any) you want to run. You can speed up import",
"by disabling any steps which your game does not use."
);
Text("The settings looks like this:");
Image("T_Manual_Pipeline");
Callout(
"Note that each step shows how long it took to run, the last time",
"a map was imported."
);
ActionBar_SingleAction("Open Pipeline Settings", () =>
{
const string TREMBLE_PIPELINE_PATH = "Project/Tremble/4 Pipeline";
SettingsService.OpenProjectSettings(TREMBLE_PIPELINE_PATH);
});
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 4185f010c3e840a9bff636ae5998e587
timeCreated: 1728887902
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Advanced/PipelinePage.cs
uploadId: 939664
@@ -0,0 +1,73 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Advanced/Runtime Querying")]
public class RuntimeQueryingPage : ManualPageBase
{
protected override void OnGUI()
{
Text(
"At runtime, Tremble does not perform any logic and has zero overhead by design.",
"Almost all Tremble functionality only runs in the Editor. However, you may need to query",
"a loaded map to find certain objects at runtime."
);
Text(
"Of course, since entities are just MonoBehaviours, you can use Unity's functionality",
"(such as gameObject.GetComponentsInChildren<T>()) to find all objects of a given type."
);
Text(
"However, if you want to find a specific instance of an entity in the map,",
"you can do the following:"
);
Number(
"Ensure the entity you want to find is marked with a unique",
$"{TrembleSyncSettings.Get().IdentityPropertyName} property in TrenchBroom. You can also have multiple",
$"objects with the same {TrembleSyncSettings.Get().IdentityPropertyName}, but when you query the map",
"you will then get a list of entities back."
);
Indent(() =>
{
Bullet(
"For example, in the worldspawn entity you could have a start_spawn field",
"which names a spawn point to start from. We'll set it to 'my_cool_spawnpoint'.",
$"Then, you give your spawn point entity in the world a {TrembleSyncSettings.Get().IdentityPropertyName}"
,"field, with the value 'my_cool_spawnpoint'."
);
});
Number(
$"Now, given a reference to the {nameof(MapDocument)} for your map (which is added to the root",
$"GameObject), you can query for your {TrembleSyncSettings.Get().IdentityPropertyName} with the Q() method."
);
Code(
"// Get the map document - assumes one map in the scene.",
"// You might store a reference somewhere to this instead.",
"",
$"{nameof(MapDocument)} map = GameObject.FindAnyObjectByType<{nameof(MapDocument)}>();",
"",
$"// 1. Find a single entity with this {TrembleSyncSettings.Get().IdentityPropertyName}",
"if (map.Q(\"my_cool_spawnpoint\", out SpawnPoint spawnPoint))",
"{",
" spawnPoint.DoAThing();",
"}",
"",
$"// 2. Find many entities with this {TrembleSyncSettings.Get().IdentityPropertyName}",
"if (map.Q(\"my_cool_spawnpoint\", out SpawnPoint[] spawnPoints))",
"{",
" foreach (SpawnPoint spawnPoint in spawnPoints)",
" {",
" spawnPoint.DoAThing();",
" }",
"}"
);
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7d23c1b332fc42a98456960d6ee4e7de
timeCreated: 1723448990
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Advanced/RuntimeQueryingPage.cs
uploadId: 939664
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: cbb8db30e0c04bceaa04fcd01ce6d5c1
timeCreated: 1723137362
@@ -0,0 +1,49 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using UnityEditor;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Basics/Create Map", "Create your first map")]
public class CreateMapPage : ManualPageBase
{
protected override void OnGUI()
{
Number(
"In the project window, right-click and select 'Create' > 'Tremble Map'. Give your map a name,",
"then hit enter."
);
ActionBar_SingleAction("Create new map called 'Test' in Assets", () =>
{
MapFileAsset mapFileAsset = MapFileAsset.CreateInstance<MapFileAsset>();
AssetDatabase.CreateAsset(mapFileAsset, "Assets/MAP_Test.asset");
AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
});
Number(
"TrenchBroom will open the new map for you to edit, with your project's materials",
"available to use."
);
Number(
"Since you have not yet marked any Unity scripts as entities, you will not see any",
"in TrenchBroom yet and can only create worldspawn brushes for now. See",
"the 'Entities' section to get started!"
);
ActionBar_SingleAction("Read about Entities", () => GoToPage(typeof(EntitiesOverviewPage)));
Number("When you're ready, save the map and return to Unity.");
Number("You should see a prompt - click 'Yep!'. Your new map is added to your current Unity scene.");
Image("T_Manual_CreateMap", width: 300f);
Callout("If the prompt doesn't show, or you want to add it to another scene, manually drag your",
"new map file into the scene.");
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 43b737fff371496b807982db7eb1e9ad
timeCreated: 1723137369
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Basics/CreateMapPage.cs
uploadId: 939664
@@ -0,0 +1,105 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using UnityEditor;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Basics/Live Update", "Using Live Update")]
public class LiveUpdatePage : ManualPageBase
{
private static readonly string[] REFRESH_MODES = { "Disabled", "Enabled", "Enabled Outside Playmode" };
protected override void OnGUI()
{
Experimental();
int autoRefreshMode = EditorPrefs.GetInt("kAutoRefreshMode");
if (autoRefreshMode != 1)
{
Callout($"Your project uses Auto Refresh Mode: {REFRESH_MODES[autoRefreshMode]}. This",
$"will mean that Live Update will not function. Change it to {REFRESH_MODES[1]} to",
"use Live Update!");
ActionBar_SingleAction("Enable Auto Refresh during playmode", () => EditorPrefs.SetInt("kAutoRefreshMode", 1));
}
Text(
"Tremble supports Live Editing - the act of editing a map while in Unity Editor's playmode.",
"All you need to do is save changes to your map file while the game is running in editor playmode.",
"The map is imported as normal, and then Tremble will try to 'reinstance' the map in memory."
);
Foldout("Wait, what's reinstancing?", () =>
{
Text("What this means is, Tremble will:");
Bullet("Destroy all worldspawn geometry, and copy the new geometry from the new map");
Bullet("For entities:");
Indent(() =>
{
Bullet(
"If an entity is not present in the running game, spawn it (note: this may mean, for example,",
"that if you kill an enemy and then save the map, the enemy may get respawned)."
);
Bullet(
"If an entity is present in the running game, but not in the map, it is removed",
"(this does not work in all cases!)"
);
Bullet(
"If any entity properties have changed, and are simple properties",
"(floats, ints, Vector3s), these are updated."
);
});
});
H1("Handling Live Update logic");
{
H2("General Usage");
Text(
"If you need to re-run some logic in an entity after it is LiveUpdated, you can implement",
$"the {nameof(IOnLiveUpdate)} interface, and override the OnLiveUpdate() method to perform any custom",
"logic."
);
Text(
"For example, finding the list of entities of a certain type (as these may have",
"changed as a result of the map changing)."
);
Image("T_Manual_LiveUpdate1");
H2("Simpler Usage");
Text(
"If this logic is identical to what would usually happen in your Start or Awake methods,",
$"you can instead implement the {nameof(IOnLiveUpdate_Simple)} interface."
);
Text(
"This will signal to Tremble that after a LiveUpdate occurs, it should call OnDestroy,",
"followed by Awake and Start (in that order) on your entity. That way, as long as your",
"Awake/Start methods set your entity up, and OnDestroy removes any state, it will 'just work'!"
);
Image("T_Manual_LiveUpdate2");
}
H2("Warnings!");
{
Text(
"If LiveUpdate goes wrong or breaks, your game may be left in a broken state.",
"To recover from this, you'll need to stop playmode, and start it again."
);
Callout(
"Known bug: Sometimes, after LiveUpdate has failed, the map is left in a broken state",
"outside of playmode too. This is a rare bug that I've only seen a handful of times.",
"Of course, if this occurs, simply re-import your map again after exiting playmode to fix it."
);
}
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 5da16a3f20f7452f92a7f6ca768bb67b
timeCreated: 1723449031
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Basics/LiveUpdatePage.cs
uploadId: 939664
@@ -0,0 +1,27 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Basics/Settings", "Tremble's Settings")]
public class SettingsPage : ManualPageBase
{
protected override void OnGUI()
{
Text(
"Tremble's default settings are designed to be suitable for most users, and most games.",
"If you're a bit more advanced, or just want to tweak various things - click ''Tools'' > ",
"''Tremble'' > ''Open Settings...'' in the Unity menu."
);
Text(
"Each tab shows settings for a different aspect of Tremble.",
"Help text is provided for each option."
);
ActionBar_SingleAction("Open Settings for me", TrembleEditorAPI.OpenSettings);
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 00222940e88a45a3ac88a8fa87192328
timeCreated: 1723137185
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Basics/SettingsPage.cs
uploadId: 939664
@@ -0,0 +1,71 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Basics/Sync Toolbar")]
public class SyncOverlayPage : ManualPageBase
{
private bool m_ShowAlreadyHere;
protected override void OnGUI()
{
Text(
"By default, Tremble adds a toolbar to your scene view to quickly sync settings to",
"TrenchBroom, or to (re)import your map."
);
Text(
"You can reopen it with \"Tools\" > \"Tremble\" > \"Show Sync Toolbar\" (Unity 2022+)",
"if you lose it, or by right-clicking on your scene tab and clicking \"Overlay Menu\"",
"(or hitting [`] on your keyboard) and selecting \"Tremble Sync\".");
#if UNITY_2022_1_OR_NEWER
ActionBar_SingleAction("Open the Sync Toolbar for me", () => SceneView.AddOverlayToActiveView(new TrembleSyncOverlay()));
#endif
H1("Toolbar Buttons");
Text("The sync toolbar looks like this:");
ToolbarButtonDescription("T_TB_Import", "Re-import map(s) in current scene from TrenchBroom");
ToolbarButtonDescription("T_TB_Sync", "Sync Unity prefabs and materials to TrenchBroom");
ToolbarButtonDescription("T_TB_Config", "Open Tremble's Settings");
ToolbarButtonDescription("T_TB_Manual", "Open the Tremble Manual (this!)");
ActionBar(() =>
{
Action("Import", TrembleEditorAPI.ReimportCurrentMap);
Action("Sync", TrembleEditorAPI.SyncToTrenchBroom);
Action("Settings", TrembleEditorAPI.OpenSettings);
Action("Manual", () => m_ShowAlreadyHere = true);
});
if (m_ShowAlreadyHere)
{
Text("You silly! You're already in the manual!");
}
}
private void ToolbarButtonDescription(string textureName, string description)
{
GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
{
Image(textureName, 30f, centred: false);
GUILayout.BeginVertical();
{
GUILayout.Space(10f * ManualStyles.Scale);
GUILayout.Label(description, ManualStyles.Styles.Text);
}
GUILayout.EndVertical();
GUILayout.FlexibleSpace();
}
GUILayout.EndHorizontal();
SmallSpace();
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: b7dbe33a0d0446e381e8d0316f066317
timeCreated: 1723117770
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Basics/SyncOverlayPage.cs
uploadId: 939664
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9d822fe9fde64471bed45f0c6381719e
timeCreated: 1726388519
@@ -0,0 +1,181 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Debug/Sanity Check")]
public class DebugSanityCheckPage : ManualPageBase
{
private PrefabNameLookup m_PrefabNameLookup;
private MapTypeLookup m_MapTypeLookup;
private readonly Dictionary<Type, MonoScript> m_TypeToMonoScript = new();
private int m_SelectedTabIdx = 0;
private readonly string[] m_TabNames = new[] { "Basics", "Entities" };
protected override void OnInit()
{
TrembleSyncSettings syncSettings = TrembleSyncSettings.Get();
m_PrefabNameLookup = new(syncSettings);
m_MapTypeLookup = new(syncSettings);
}
protected override void OnGUI()
{
Tabs(ref m_SelectedTabIdx, m_TabNames);
switch (m_SelectedTabIdx)
{
case 0:
OnBasicsGUI();
break;
case 1:
OnEntitiesGUI();
break;
}
}
private void OnBasicsGUI()
{
Text("This page will verify that Tremble is installed and working correctly!");
// TB?
bool trenchBroomInstalled = !TrenchBroomUtil.TrenchBroomPath.IsNullOrEmpty();
CheckListItem("TrenchBroom installed and detected?", trenchBroomInstalled);
if (!trenchBroomInstalled)
{
Callout("If TrenchBroom is installed, but not detected here, open it",
"and Tremble should detect its location!");
}
// Installed game into TB?
bool gameFolderExists = Directory.Exists(TrenchBroomUtil.GetGameFolder());
CheckListItem("TrenchBroom game folder exists?", gameFolderExists, "Sync to create it!", TrembleEditorAPI.SyncToTrenchBroom);
bool gameInstalledInTBPrefs = TrenchBroomUtil.DoesEnginePathExistInTrenchBroomPrefs();
CheckListItem("TrenchBroom knows game location?", gameInstalledInTBPrefs, "Sync to create it!", TrembleEditorAPI.SyncToTrenchBroom);
// BaseQ3 folder
bool baseQ3FolderExists = Directory.Exists(TrembleConsts.BASEQ3_PATH);
CheckListItem("BaseQ3 folder exists in Library?", baseQ3FolderExists, "Sync to create it!", TrembleEditorAPI.SyncToTrenchBroom);
// DLL loaded?
bool dllIsLoaded = Q3Map2Dll.IsLoaded;
CheckListItem("Q3Map2 DLL loaded successfully?", dllIsLoaded);
}
private void OnEntitiesGUI()
{
Foldout("Prefab Entities", () =>
{
Text("The following are the prefabs that Tremble knows about:");
EditorGUI.BeginDisabledGroup(true);
{
foreach (string prefabPath in m_PrefabNameLookup.AllPrefabPaths)
{
GameObject prefab = AssetDatabase.LoadAssetAtPath<GameObject>(prefabPath);
m_PrefabNameLookup.TryGetMapNameFromPrefabPath(prefabPath, out string mapName);
GUILayout.BeginHorizontal();
{
EditorGUILayout.PrefixLabel(mapName);
EditorGUILayout.ObjectField(prefab, typeof(GameObject), false);
}
GUILayout.EndHorizontal();
}
}
EditorGUI.EndDisabledGroup();
});
Foldout("Point Entities", () =>
{
Text("The following are the [PointEntity] MonoBehaviours that Tremble knows about:");
bool wasAnyPresent = false;
foreach (Type type in m_MapTypeLookup.AllTypes)
{
if (!m_MapTypeLookup.TryGetMapNameFromClass(type, out string mapName))
{
Text($"Invalid: '{type.Name}' - no map name known!");
continue;
}
if (!m_MapTypeLookup.TryGetEntityTypeFromMapName(mapName, out EntityType entityType) || entityType != EntityType.Point)
continue;
DisabledTypeField(type, mapName);
wasAnyPresent = true;
}
if (!wasAnyPresent)
{
Text("There are none (which might be fine)!");
}
});
Foldout("Brush Entities", () =>
{
Text("The following are the [BrushEntity] MonoBehaviours that Tremble knows about:");
bool wasAnyPresent = false;
foreach (Type type in m_MapTypeLookup.AllTypes)
{
if (!m_MapTypeLookup.TryGetMapNameFromClass(type, out string mapName))
{
Text($"Invalid: '{type.Name}' - no map name known!");
continue;
}
if (!m_MapTypeLookup.TryGetEntityTypeFromMapName(mapName, out EntityType entityType) || entityType != EntityType.Brush)
continue;
DisabledTypeField(type, mapName);
wasAnyPresent = true;
}
if (!wasAnyPresent)
{
Text("There are none (which might be fine)!");
}
});
}
private void DisabledTypeField(Type type, string label)
{
EditorGUI.BeginDisabledGroup(true);
{
if (!m_TypeToMonoScript.TryGetValue(type, out MonoScript monoScript))
{
GameObject go = new("Tester");
MonoBehaviour mb = (MonoBehaviour)go.AddComponent(type);
monoScript = MonoScript.FromMonoBehaviour(mb);
m_TypeToMonoScript[type] = monoScript;
GameObject.DestroyImmediate(go);
}
GUILayout.BeginHorizontal();
{
EditorGUILayout.PrefixLabel(label);
EditorGUILayout.ObjectField(monoScript, typeof(MonoScript), false);
}
GUILayout.EndHorizontal();
}
EditorGUI.EndDisabledGroup();
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: a7c8885112604038b963d644ebbb4ead
timeCreated: 1726483054
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Debug/DebugSanityCheckPage.cs
uploadId: 939664
@@ -0,0 +1,68 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System;
using System.IO;
using System.Linq;
using System.Text;
using UnityEditor;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Debug/Entity Explorer")]
public class DebugShowEntitiesPage : ManualPageBase
{
private FgdWriter m_FgdWriter;
private string[] m_ClassList;
private int m_SelectedClassIdx = 0;
protected override void OnInit()
{
m_FgdWriter = TrembleSync.GatherEntities();
m_ClassList = m_FgdWriter.BaseClasses
.Select(bc => $"@BaseClass {bc.Name}")
.Concat(m_FgdWriter.Classes.Select(c => $"@{c.Type}Class {c.Name}"))
.Prepend("(select a class...)")
.ToArray();
}
protected override void OnGUI()
{
m_SelectedClassIdx = EditorGUILayout.Popup(m_SelectedClassIdx, m_ClassList);
int selectedClassIdx = m_SelectedClassIdx - 1;
if (selectedClassIdx < 0)
{
Text("Select a class above to see its entity definition!");
return;
}
FgdClass entityClass = (selectedClassIdx < m_FgdWriter.BaseClasses.Count)
? m_FgdWriter.BaseClasses[selectedClassIdx]
: m_FgdWriter.Classes[selectedClassIdx - m_FgdWriter.BaseClasses.Count];
MemoryStream memoryStream = new();
// Write to memory
using StreamWriter writer = new(memoryStream, Encoding.ASCII);
entityClass.WriteFgd(writer, TrembleSyncSettings.Get().ImportScale);
writer.Flush();
// Rewind and read
memoryStream.Position = 0;
using StreamReader reader = new(memoryStream, Encoding.ASCII);
string snippet = reader.ReadToEnd().Replace("\t", " ");
CodeWithHeader($"[{entityClass.Type}] {entityClass.Name}", snippet);
Text("Above is how the entity is passed to TrenchBroom. If you're familiar with FGD files,",
"this will look very familiar! If not, you basically are looking to make sure the name",
"is what you would expect, and any fields that you wish to edit on entities of that",
"class are present.");
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 2dc49cc1fab340b8a6d97e6fbff9fe66
timeCreated: 1726387089
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Debug/DebugShowEntitiesPage.cs
uploadId: 939664
@@ -0,0 +1,112 @@
//
// This file is part of the Tremble package by Tiny Goose.
// Copyright (c) 2024-2026 TinyGoose Ltd., All Rights Reserved.
//
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
[ManualPage("Debug/Material Explorer")]
public class DebugShowMaterialsPage : ManualPageBase
{
private readonly Dictionary<string, List<Texture>> m_Textures = new();
protected override void OnInit()
{
int texSize = TrembleSyncSettings.Get().MaterialExportSize.ToIntSize();
string texturesPath = TrembleConsts.BASE_MATERIALS_PATH;
foreach (string dir in Directory.GetDirectories(texturesPath))
{
string[] pngFiles = Directory.GetFiles(dir, "*.png");
if (pngFiles.Length == 0)
continue;
List<Texture> textures = new(pngFiles.Length);
foreach (string textureFile in pngFiles)
{
byte[] textureBytes = File.ReadAllBytes(textureFile);
Texture2D texture = new(texSize, texSize);
texture.name = Path.GetFileNameWithoutExtension(textureFile);
texture.LoadImage(textureBytes);
textures.Add(texture);
}
m_Textures[Path.GetFileName(dir)] = textures;
}
}
protected override void OnDeInit()
{
foreach (List<Texture> textures in m_Textures.Values)
{
foreach (Texture texture in textures)
{
Texture.DestroyImmediate(texture);
}
}
m_Textures.Clear();
}
protected override void OnGUI()
{
float thumbnailSize = 64f * ManualStyles.Scale;
float labelSize = thumbnailSize + 40f * ManualStyles.Scale;
int numWide = Mathf.Max(1, Mathf.FloorToInt(PageWidth / labelSize) - 2);
foreach (string textureFolder in m_Textures.Keys)
{
H1(textureFolder);
{
int cell = 0;
GUILayout.BeginHorizontal();
{
foreach (Texture texture in m_Textures[textureFolder])
{
GUILayout.BeginVertical();
{
GUILayout.BeginHorizontal(GUILayout.Width(labelSize));
{
GUILayout.Space((labelSize - thumbnailSize) / 2f);
GUIContent content = new(texture, texture.name);
GUILayout.Box(content, GUILayout.Width(thumbnailSize), GUILayout.Height(thumbnailSize));
}
GUILayout.EndHorizontal();
GUILayout.Label(texture.name, ManualStyles.Styles.CenteredGreyMiniLabel, GUILayout.Width(labelSize));
}
GUILayout.EndVertical();
// New row?
if (++cell >= numWide)
{
cell = 0;
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
GUILayout.Space(1f);
GUILayout.BeginHorizontal();
}
}
if (cell <= numWide)
{
GUILayout.FlexibleSpace();
}
}
GUILayout.EndHorizontal();
}
}
}
}
}
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: d1d737f97a4f45c193f15ac0551af98e
timeCreated: 1726390246
AssetOrigin:
serializedVersion: 1
productId: 277805
packageName: Tremble - Map Importer
packageVersion: 1.11.1
assetPath: Assets/Tremble/Editor/Manual/Pages/Debug/DebugShowMaterialsPage.cs
uploadId: 939664
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: efd666aa9a5c4579a55f666673349d69
timeCreated: 1723201715
Loaded 100 of 999 files, more files were not shown because too many files have changed in this diff. Show more