From a9e22d486432295c0185d317f5064cd1bc9c1738 Mon Sep 17 00:00:00 2001 From: yum Date: Fri, 25 Nov 2022 12:27:42 -0800 Subject: Code cleanup Reorganize locations, remove a couple unused parameters. --- Fonts/Bitmaps/font-0.png | Bin 0 -> 95477 bytes Fonts/Bitmaps/font-0.png.meta | 116 ++++ Fonts/Bitmaps/font-1.png | Bin 0 -> 616494 bytes Fonts/Bitmaps/font-1.png.meta | 116 ++++ Fonts/Bitmaps/font-2.png | Bin 0 -> 1188527 bytes Fonts/Bitmaps/font-2.png.meta | 116 ++++ Fonts/Bitmaps/font-3.png | Bin 0 -> 1293564 bytes Fonts/Bitmaps/font-3.png.meta | 116 ++++ Fonts/Bitmaps/font-4.png | Bin 0 -> 1239816 bytes Fonts/Bitmaps/font-4.png.meta | 116 ++++ Fonts/Bitmaps/font-5.png | Bin 0 -> 303341 bytes Fonts/Bitmaps/font-5.png.meta | 116 ++++ Fonts/Bitmaps/font-6.png | Bin 0 -> 442753 bytes Fonts/Bitmaps/font-6.png.meta | 116 ++++ Shaders/TaSTT.shader | 1373 ++++++++++++++++++++++++++++++++++++++++ Shaders/TaSTT_Backplate.shader | 59 ++ TaSTT.shader | 1373 ---------------------------------------- TaSTT_Backplate.shader | 59 -- TaSTT_texture.png | Bin 276085 -> 0 bytes TaSTT_texture.png.meta | 116 ---- TaSTT_texture.xcf | Bin 768218 -> 0 bytes font-0.png | Bin 95477 -> 0 bytes font-0.png.meta | 116 ---- font-1.png | Bin 616494 -> 0 bytes font-1.png.meta | 116 ---- font-2.png | Bin 1188527 -> 0 bytes font-2.png.meta | 116 ---- font-3.png | Bin 1293564 -> 0 bytes font-3.png.meta | 116 ---- font-4.png | Bin 1239816 -> 0 bytes font-4.png.meta | 116 ---- font-5.png | Bin 303341 -> 0 bytes font-5.png.meta | 116 ---- font-6.png | Bin 442753 -> 0 bytes font-6.png.meta | 116 ---- generate.py | 33 - generate_fonts.py | 2 +- generate_params.py | 9 - generate_utils.py | 9 - libtastt.py | 3 - lorum_ipsum.txt | 1 - template.anim.txt | 116 ---- text_to_text_demo_message.txt | 9 - 43 files changed, 2245 insertions(+), 2541 deletions(-) create mode 100644 Fonts/Bitmaps/font-0.png create mode 100644 Fonts/Bitmaps/font-0.png.meta create mode 100644 Fonts/Bitmaps/font-1.png create mode 100644 Fonts/Bitmaps/font-1.png.meta create mode 100644 Fonts/Bitmaps/font-2.png create mode 100644 Fonts/Bitmaps/font-2.png.meta create mode 100644 Fonts/Bitmaps/font-3.png create mode 100644 Fonts/Bitmaps/font-3.png.meta create mode 100644 Fonts/Bitmaps/font-4.png create mode 100644 Fonts/Bitmaps/font-4.png.meta create mode 100644 Fonts/Bitmaps/font-5.png create mode 100644 Fonts/Bitmaps/font-5.png.meta create mode 100644 Fonts/Bitmaps/font-6.png create mode 100644 Fonts/Bitmaps/font-6.png.meta create mode 100644 Shaders/TaSTT.shader create mode 100644 Shaders/TaSTT_Backplate.shader delete mode 100644 TaSTT.shader delete mode 100644 TaSTT_Backplate.shader delete mode 100644 TaSTT_texture.png delete mode 100644 TaSTT_texture.png.meta delete mode 100644 TaSTT_texture.xcf delete mode 100644 font-0.png delete mode 100644 font-0.png.meta delete mode 100644 font-1.png delete mode 100644 font-1.png.meta delete mode 100644 font-2.png delete mode 100644 font-2.png.meta delete mode 100644 font-3.png delete mode 100644 font-3.png.meta delete mode 100644 font-4.png delete mode 100644 font-4.png.meta delete mode 100644 font-5.png delete mode 100644 font-5.png.meta delete mode 100644 font-6.png delete mode 100644 font-6.png.meta delete mode 100644 generate.py delete mode 100644 lorum_ipsum.txt delete mode 100644 template.anim.txt delete mode 100644 text_to_text_demo_message.txt diff --git a/Fonts/Bitmaps/font-0.png b/Fonts/Bitmaps/font-0.png new file mode 100644 index 0000000..e286a66 Binary files /dev/null and b/Fonts/Bitmaps/font-0.png differ diff --git a/Fonts/Bitmaps/font-0.png.meta b/Fonts/Bitmaps/font-0.png.meta new file mode 100644 index 0000000..4316b24 --- /dev/null +++ b/Fonts/Bitmaps/font-0.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: 0417deb9fee97e24e9099569bed34c6c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Fonts/Bitmaps/font-1.png b/Fonts/Bitmaps/font-1.png new file mode 100644 index 0000000..17068e4 Binary files /dev/null and b/Fonts/Bitmaps/font-1.png differ diff --git a/Fonts/Bitmaps/font-1.png.meta b/Fonts/Bitmaps/font-1.png.meta new file mode 100644 index 0000000..62c9a60 --- /dev/null +++ b/Fonts/Bitmaps/font-1.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: 45d1d35ef90dd5742bab73718b1fa64e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Fonts/Bitmaps/font-2.png b/Fonts/Bitmaps/font-2.png new file mode 100644 index 0000000..484be7e Binary files /dev/null and b/Fonts/Bitmaps/font-2.png differ diff --git a/Fonts/Bitmaps/font-2.png.meta b/Fonts/Bitmaps/font-2.png.meta new file mode 100644 index 0000000..475ca07 --- /dev/null +++ b/Fonts/Bitmaps/font-2.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: fbb9dcb303ae5fc46a1b4f6b82b55a16 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Fonts/Bitmaps/font-3.png b/Fonts/Bitmaps/font-3.png new file mode 100644 index 0000000..0c00da4 Binary files /dev/null and b/Fonts/Bitmaps/font-3.png differ diff --git a/Fonts/Bitmaps/font-3.png.meta b/Fonts/Bitmaps/font-3.png.meta new file mode 100644 index 0000000..b1c1603 --- /dev/null +++ b/Fonts/Bitmaps/font-3.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: cf2fc1dc6a21e9d42bf08d8148dba0b7 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Fonts/Bitmaps/font-4.png b/Fonts/Bitmaps/font-4.png new file mode 100644 index 0000000..01a7818 Binary files /dev/null and b/Fonts/Bitmaps/font-4.png differ diff --git a/Fonts/Bitmaps/font-4.png.meta b/Fonts/Bitmaps/font-4.png.meta new file mode 100644 index 0000000..5b723d3 --- /dev/null +++ b/Fonts/Bitmaps/font-4.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: d06c79dd35cbaa94c81b2eb9240a7c57 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Fonts/Bitmaps/font-5.png b/Fonts/Bitmaps/font-5.png new file mode 100644 index 0000000..ffa6a58 Binary files /dev/null and b/Fonts/Bitmaps/font-5.png differ diff --git a/Fonts/Bitmaps/font-5.png.meta b/Fonts/Bitmaps/font-5.png.meta new file mode 100644 index 0000000..57852ac --- /dev/null +++ b/Fonts/Bitmaps/font-5.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: dea31226b42fe7e4d9470806d43afcf8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Fonts/Bitmaps/font-6.png b/Fonts/Bitmaps/font-6.png new file mode 100644 index 0000000..9dccf1c Binary files /dev/null and b/Fonts/Bitmaps/font-6.png differ diff --git a/Fonts/Bitmaps/font-6.png.meta b/Fonts/Bitmaps/font-6.png.meta new file mode 100644 index 0000000..2a01dd3 --- /dev/null +++ b/Fonts/Bitmaps/font-6.png.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: e8c2974f31efa7a4e9e7588c90561a85 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + 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: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 2 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/TaSTT.shader b/Shaders/TaSTT.shader new file mode 100644 index 0000000..79a1bfc --- /dev/null +++ b/Shaders/TaSTT.shader @@ -0,0 +1,1373 @@ +Shader "Unlit/TaSTT" +{ + Properties + { + _Font_0x0000_0x1FFF ("Font 0 (unicode 0x0000 - 0x1FFFF)", 2D) = "white" {} + _Font_0x2000_0x3FFF ("Font 1 (unicode 0x2000 - 0x3FFFF)", 2D) = "white" {} + _Font_0x4000_0x5FFF ("Font 2 (unicode 0x4000 - 0x5FFFF)", 2D) = "white" {} + _Font_0x6000_0x7FFF ("Font 3 (unicode 0x6000 - 0x7FFFF)", 2D) = "white" {} + _Font_0x8000_0x9FFF ("Font 4 (unicode 0x8000 - 0x9FFFF)", 2D) = "white" {} + _Font_0xA000_0xBFFF ("Font 5 (unicode 0xA000 - 0xBFFFF)", 2D) = "white" {} + _Font_0xC000_0xDFFF ("Font 6 (unicode 0xC000 - 0xDFFFF)", 2D) = "white" {} + + TaSTT_Backplate("TaSTT_Backplate", 2D) = "black" {} + + TaSTT_Indicator_0("TaSTT_Indicator_0", float) = 0 + TaSTT_Indicator_1("TaSTT_Indicator_1", float) = 0 + + // software "engineering" LULW + _Letter_Row00_Col00_Byte0("_Letter_Row00_Col00_Byte0", float) = 0 + _Letter_Row00_Col01_Byte0("_Letter_Row00_Col01_Byte0", float) = 0 + _Letter_Row00_Col02_Byte0("_Letter_Row00_Col02_Byte0", float) = 0 + _Letter_Row00_Col03_Byte0("_Letter_Row00_Col03_Byte0", float) = 0 + _Letter_Row00_Col04_Byte0("_Letter_Row00_Col04_Byte0", float) = 0 + _Letter_Row00_Col05_Byte0("_Letter_Row00_Col05_Byte0", float) = 0 + _Letter_Row00_Col06_Byte0("_Letter_Row00_Col06_Byte0", float) = 0 + _Letter_Row00_Col07_Byte0("_Letter_Row00_Col07_Byte0", float) = 0 + _Letter_Row00_Col08_Byte0("_Letter_Row00_Col08_Byte0", float) = 0 + _Letter_Row00_Col09_Byte0("_Letter_Row00_Col09_Byte0", float) = 0 + _Letter_Row00_Col10_Byte0("_Letter_Row00_Col10_Byte0", float) = 0 + _Letter_Row00_Col11_Byte0("_Letter_Row00_Col11_Byte0", float) = 0 + _Letter_Row00_Col12_Byte0("_Letter_Row00_Col12_Byte0", float) = 0 + _Letter_Row00_Col13_Byte0("_Letter_Row00_Col13_Byte0", float) = 0 + _Letter_Row00_Col14_Byte0("_Letter_Row00_Col14_Byte0", float) = 0 + _Letter_Row00_Col15_Byte0("_Letter_Row00_Col15_Byte0", float) = 0 + _Letter_Row00_Col16_Byte0("_Letter_Row00_Col16_Byte0", float) = 0 + _Letter_Row00_Col17_Byte0("_Letter_Row00_Col17_Byte0", float) = 0 + _Letter_Row00_Col18_Byte0("_Letter_Row00_Col18_Byte0", float) = 0 + _Letter_Row00_Col19_Byte0("_Letter_Row00_Col19_Byte0", float) = 0 + _Letter_Row00_Col20_Byte0("_Letter_Row00_Col20_Byte0", float) = 0 + _Letter_Row00_Col21_Byte0("_Letter_Row00_Col21_Byte0", float) = 0 + _Letter_Row00_Col22_Byte0("_Letter_Row00_Col22_Byte0", float) = 0 + _Letter_Row00_Col23_Byte0("_Letter_Row00_Col23_Byte0", float) = 0 + _Letter_Row00_Col24_Byte0("_Letter_Row00_Col24_Byte0", float) = 0 + _Letter_Row00_Col25_Byte0("_Letter_Row00_Col25_Byte0", float) = 0 + _Letter_Row00_Col26_Byte0("_Letter_Row00_Col26_Byte0", float) = 0 + _Letter_Row00_Col27_Byte0("_Letter_Row00_Col27_Byte0", float) = 0 + _Letter_Row00_Col28_Byte0("_Letter_Row00_Col28_Byte0", float) = 0 + _Letter_Row00_Col29_Byte0("_Letter_Row00_Col29_Byte0", float) = 0 + _Letter_Row00_Col30_Byte0("_Letter_Row00_Col30_Byte0", float) = 0 + _Letter_Row00_Col31_Byte0("_Letter_Row00_Col31_Byte0", float) = 0 + _Letter_Row00_Col32_Byte0("_Letter_Row00_Col32_Byte0", float) = 0 + _Letter_Row00_Col33_Byte0("_Letter_Row00_Col33_Byte0", float) = 0 + _Letter_Row00_Col34_Byte0("_Letter_Row00_Col34_Byte0", float) = 0 + _Letter_Row00_Col35_Byte0("_Letter_Row00_Col35_Byte0", float) = 0 + _Letter_Row00_Col36_Byte0("_Letter_Row00_Col36_Byte0", float) = 0 + _Letter_Row00_Col37_Byte0("_Letter_Row00_Col37_Byte0", float) = 0 + _Letter_Row00_Col38_Byte0("_Letter_Row00_Col38_Byte0", float) = 0 + _Letter_Row00_Col39_Byte0("_Letter_Row00_Col39_Byte0", float) = 0 + _Letter_Row00_Col40_Byte0("_Letter_Row00_Col40_Byte0", float) = 0 + _Letter_Row00_Col41_Byte0("_Letter_Row00_Col41_Byte0", float) = 0 + _Letter_Row00_Col42_Byte0("_Letter_Row00_Col42_Byte0", float) = 0 + _Letter_Row00_Col43_Byte0("_Letter_Row00_Col43_Byte0", float) = 0 + _Letter_Row01_Col00_Byte0("_Letter_Row01_Col00_Byte0", float) = 0 + _Letter_Row01_Col01_Byte0("_Letter_Row01_Col01_Byte0", float) = 0 + _Letter_Row01_Col02_Byte0("_Letter_Row01_Col02_Byte0", float) = 0 + _Letter_Row01_Col03_Byte0("_Letter_Row01_Col03_Byte0", float) = 0 + _Letter_Row01_Col04_Byte0("_Letter_Row01_Col04_Byte0", float) = 0 + _Letter_Row01_Col05_Byte0("_Letter_Row01_Col05_Byte0", float) = 0 + _Letter_Row01_Col06_Byte0("_Letter_Row01_Col06_Byte0", float) = 0 + _Letter_Row01_Col07_Byte0("_Letter_Row01_Col07_Byte0", float) = 0 + _Letter_Row01_Col08_Byte0("_Letter_Row01_Col08_Byte0", float) = 0 + _Letter_Row01_Col09_Byte0("_Letter_Row01_Col09_Byte0", float) = 0 + _Letter_Row01_Col10_Byte0("_Letter_Row01_Col10_Byte0", float) = 0 + _Letter_Row01_Col11_Byte0("_Letter_Row01_Col11_Byte0", float) = 0 + _Letter_Row01_Col12_Byte0("_Letter_Row01_Col12_Byte0", float) = 0 + _Letter_Row01_Col13_Byte0("_Letter_Row01_Col13_Byte0", float) = 0 + _Letter_Row01_Col14_Byte0("_Letter_Row01_Col14_Byte0", float) = 0 + _Letter_Row01_Col15_Byte0("_Letter_Row01_Col15_Byte0", float) = 0 + _Letter_Row01_Col16_Byte0("_Letter_Row01_Col16_Byte0", float) = 0 + _Letter_Row01_Col17_Byte0("_Letter_Row01_Col17_Byte0", float) = 0 + _Letter_Row01_Col18_Byte0("_Letter_Row01_Col18_Byte0", float) = 0 + _Letter_Row01_Col19_Byte0("_Letter_Row01_Col19_Byte0", float) = 0 + _Letter_Row01_Col20_Byte0("_Letter_Row01_Col20_Byte0", float) = 0 + _Letter_Row01_Col21_Byte0("_Letter_Row01_Col21_Byte0", float) = 0 + _Letter_Row01_Col22_Byte0("_Letter_Row01_Col22_Byte0", float) = 0 + _Letter_Row01_Col23_Byte0("_Letter_Row01_Col23_Byte0", float) = 0 + _Letter_Row01_Col24_Byte0("_Letter_Row01_Col24_Byte0", float) = 0 + _Letter_Row01_Col25_Byte0("_Letter_Row01_Col25_Byte0", float) = 0 + _Letter_Row01_Col26_Byte0("_Letter_Row01_Col26_Byte0", float) = 0 + _Letter_Row01_Col27_Byte0("_Letter_Row01_Col27_Byte0", float) = 0 + _Letter_Row01_Col28_Byte0("_Letter_Row01_Col28_Byte0", float) = 0 + _Letter_Row01_Col29_Byte0("_Letter_Row01_Col29_Byte0", float) = 0 + _Letter_Row01_Col30_Byte0("_Letter_Row01_Col30_Byte0", float) = 0 + _Letter_Row01_Col31_Byte0("_Letter_Row01_Col31_Byte0", float) = 0 + _Letter_Row01_Col32_Byte0("_Letter_Row01_Col32_Byte0", float) = 0 + _Letter_Row01_Col33_Byte0("_Letter_Row01_Col33_Byte0", float) = 0 + _Letter_Row01_Col34_Byte0("_Letter_Row01_Col34_Byte0", float) = 0 + _Letter_Row01_Col35_Byte0("_Letter_Row01_Col35_Byte0", float) = 0 + _Letter_Row01_Col36_Byte0("_Letter_Row01_Col36_Byte0", float) = 0 + _Letter_Row01_Col37_Byte0("_Letter_Row01_Col37_Byte0", float) = 0 + _Letter_Row01_Col38_Byte0("_Letter_Row01_Col38_Byte0", float) = 0 + _Letter_Row01_Col39_Byte0("_Letter_Row01_Col39_Byte0", float) = 0 + _Letter_Row01_Col40_Byte0("_Letter_Row01_Col40_Byte0", float) = 0 + _Letter_Row01_Col41_Byte0("_Letter_Row01_Col41_Byte0", float) = 0 + _Letter_Row01_Col42_Byte0("_Letter_Row01_Col42_Byte0", float) = 0 + _Letter_Row01_Col43_Byte0("_Letter_Row01_Col43_Byte0", float) = 0 + _Letter_Row02_Col00_Byte0("_Letter_Row02_Col00_Byte0", float) = 0 + _Letter_Row02_Col01_Byte0("_Letter_Row02_Col01_Byte0", float) = 0 + _Letter_Row02_Col02_Byte0("_Letter_Row02_Col02_Byte0", float) = 0 + _Letter_Row02_Col03_Byte0("_Letter_Row02_Col03_Byte0", float) = 0 + _Letter_Row02_Col04_Byte0("_Letter_Row02_Col04_Byte0", float) = 0 + _Letter_Row02_Col05_Byte0("_Letter_Row02_Col05_Byte0", float) = 0 + _Letter_Row02_Col06_Byte0("_Letter_Row02_Col06_Byte0", float) = 0 + _Letter_Row02_Col07_Byte0("_Letter_Row02_Col07_Byte0", float) = 0 + _Letter_Row02_Col08_Byte0("_Letter_Row02_Col08_Byte0", float) = 0 + _Letter_Row02_Col09_Byte0("_Letter_Row02_Col09_Byte0", float) = 0 + _Letter_Row02_Col10_Byte0("_Letter_Row02_Col10_Byte0", float) = 0 + _Letter_Row02_Col11_Byte0("_Letter_Row02_Col11_Byte0", float) = 0 + _Letter_Row02_Col12_Byte0("_Letter_Row02_Col12_Byte0", float) = 0 + _Letter_Row02_Col13_Byte0("_Letter_Row02_Col13_Byte0", float) = 0 + _Letter_Row02_Col14_Byte0("_Letter_Row02_Col14_Byte0", float) = 0 + _Letter_Row02_Col15_Byte0("_Letter_Row02_Col15_Byte0", float) = 0 + _Letter_Row02_Col16_Byte0("_Letter_Row02_Col16_Byte0", float) = 0 + _Letter_Row02_Col17_Byte0("_Letter_Row02_Col17_Byte0", float) = 0 + _Letter_Row02_Col18_Byte0("_Letter_Row02_Col18_Byte0", float) = 0 + _Letter_Row02_Col19_Byte0("_Letter_Row02_Col19_Byte0", float) = 0 + _Letter_Row02_Col20_Byte0("_Letter_Row02_Col20_Byte0", float) = 0 + _Letter_Row02_Col21_Byte0("_Letter_Row02_Col21_Byte0", float) = 0 + _Letter_Row02_Col22_Byte0("_Letter_Row02_Col22_Byte0", float) = 0 + _Letter_Row02_Col23_Byte0("_Letter_Row02_Col23_Byte0", float) = 0 + _Letter_Row02_Col24_Byte0("_Letter_Row02_Col24_Byte0", float) = 0 + _Letter_Row02_Col25_Byte0("_Letter_Row02_Col25_Byte0", float) = 0 + _Letter_Row02_Col26_Byte0("_Letter_Row02_Col26_Byte0", float) = 0 + _Letter_Row02_Col27_Byte0("_Letter_Row02_Col27_Byte0", float) = 0 + _Letter_Row02_Col28_Byte0("_Letter_Row02_Col28_Byte0", float) = 0 + _Letter_Row02_Col29_Byte0("_Letter_Row02_Col29_Byte0", float) = 0 + _Letter_Row02_Col30_Byte0("_Letter_Row02_Col30_Byte0", float) = 0 + _Letter_Row02_Col31_Byte0("_Letter_Row02_Col31_Byte0", float) = 0 + _Letter_Row02_Col32_Byte0("_Letter_Row02_Col32_Byte0", float) = 0 + _Letter_Row02_Col33_Byte0("_Letter_Row02_Col33_Byte0", float) = 0 + _Letter_Row02_Col34_Byte0("_Letter_Row02_Col34_Byte0", float) = 0 + _Letter_Row02_Col35_Byte0("_Letter_Row02_Col35_Byte0", float) = 0 + _Letter_Row02_Col36_Byte0("_Letter_Row02_Col36_Byte0", float) = 0 + _Letter_Row02_Col37_Byte0("_Letter_Row02_Col37_Byte0", float) = 0 + _Letter_Row02_Col38_Byte0("_Letter_Row02_Col38_Byte0", float) = 0 + _Letter_Row02_Col39_Byte0("_Letter_Row02_Col39_Byte0", float) = 0 + _Letter_Row02_Col40_Byte0("_Letter_Row02_Col40_Byte0", float) = 0 + _Letter_Row02_Col41_Byte0("_Letter_Row02_Col41_Byte0", float) = 0 + _Letter_Row02_Col42_Byte0("_Letter_Row02_Col42_Byte0", float) = 0 + _Letter_Row02_Col43_Byte0("_Letter_Row02_Col43_Byte0", float) = 0 + _Letter_Row03_Col00_Byte0("_Letter_Row03_Col00_Byte0", float) = 0 + _Letter_Row03_Col01_Byte0("_Letter_Row03_Col01_Byte0", float) = 0 + _Letter_Row03_Col02_Byte0("_Letter_Row03_Col02_Byte0", float) = 0 + _Letter_Row03_Col03_Byte0("_Letter_Row03_Col03_Byte0", float) = 0 + _Letter_Row03_Col04_Byte0("_Letter_Row03_Col04_Byte0", float) = 0 + _Letter_Row03_Col05_Byte0("_Letter_Row03_Col05_Byte0", float) = 0 + _Letter_Row03_Col06_Byte0("_Letter_Row03_Col06_Byte0", float) = 0 + _Letter_Row03_Col07_Byte0("_Letter_Row03_Col07_Byte0", float) = 0 + _Letter_Row03_Col08_Byte0("_Letter_Row03_Col08_Byte0", float) = 0 + _Letter_Row03_Col09_Byte0("_Letter_Row03_Col09_Byte0", float) = 0 + _Letter_Row03_Col10_Byte0("_Letter_Row03_Col10_Byte0", float) = 0 + _Letter_Row03_Col11_Byte0("_Letter_Row03_Col11_Byte0", float) = 0 + _Letter_Row03_Col12_Byte0("_Letter_Row03_Col12_Byte0", float) = 0 + _Letter_Row03_Col13_Byte0("_Letter_Row03_Col13_Byte0", float) = 0 + _Letter_Row03_Col14_Byte0("_Letter_Row03_Col14_Byte0", float) = 0 + _Letter_Row03_Col15_Byte0("_Letter_Row03_Col15_Byte0", float) = 0 + _Letter_Row03_Col16_Byte0("_Letter_Row03_Col16_Byte0", float) = 0 + _Letter_Row03_Col17_Byte0("_Letter_Row03_Col17_Byte0", float) = 0 + _Letter_Row03_Col18_Byte0("_Letter_Row03_Col18_Byte0", float) = 0 + _Letter_Row03_Col19_Byte0("_Letter_Row03_Col19_Byte0", float) = 0 + _Letter_Row03_Col20_Byte0("_Letter_Row03_Col20_Byte0", float) = 0 + _Letter_Row03_Col21_Byte0("_Letter_Row03_Col21_Byte0", float) = 0 + _Letter_Row03_Col22_Byte0("_Letter_Row03_Col22_Byte0", float) = 0 + _Letter_Row03_Col23_Byte0("_Letter_Row03_Col23_Byte0", float) = 0 + _Letter_Row03_Col24_Byte0("_Letter_Row03_Col24_Byte0", float) = 0 + _Letter_Row03_Col25_Byte0("_Letter_Row03_Col25_Byte0", float) = 0 + _Letter_Row03_Col26_Byte0("_Letter_Row03_Col26_Byte0", float) = 0 + _Letter_Row03_Col27_Byte0("_Letter_Row03_Col27_Byte0", float) = 0 + _Letter_Row03_Col28_Byte0("_Letter_Row03_Col28_Byte0", float) = 0 + _Letter_Row03_Col29_Byte0("_Letter_Row03_Col29_Byte0", float) = 0 + _Letter_Row03_Col30_Byte0("_Letter_Row03_Col30_Byte0", float) = 0 + _Letter_Row03_Col31_Byte0("_Letter_Row03_Col31_Byte0", float) = 0 + _Letter_Row03_Col32_Byte0("_Letter_Row03_Col32_Byte0", float) = 0 + _Letter_Row03_Col33_Byte0("_Letter_Row03_Col33_Byte0", float) = 0 + _Letter_Row03_Col34_Byte0("_Letter_Row03_Col34_Byte0", float) = 0 + _Letter_Row03_Col35_Byte0("_Letter_Row03_Col35_Byte0", float) = 0 + _Letter_Row03_Col36_Byte0("_Letter_Row03_Col36_Byte0", float) = 0 + _Letter_Row03_Col37_Byte0("_Letter_Row03_Col37_Byte0", float) = 0 + _Letter_Row03_Col38_Byte0("_Letter_Row03_Col38_Byte0", float) = 0 + _Letter_Row03_Col39_Byte0("_Letter_Row03_Col39_Byte0", float) = 0 + _Letter_Row03_Col40_Byte0("_Letter_Row03_Col40_Byte0", float) = 0 + _Letter_Row03_Col41_Byte0("_Letter_Row03_Col41_Byte0", float) = 0 + _Letter_Row03_Col42_Byte0("_Letter_Row03_Col42_Byte0", float) = 0 + _Letter_Row03_Col43_Byte0("_Letter_Row03_Col43_Byte0", float) = 0 + _Letter_Row00_Col00_Byte1("_Letter_Row00_Col00_Byte1", float) = 0 + _Letter_Row00_Col01_Byte1("_Letter_Row00_Col01_Byte1", float) = 0 + _Letter_Row00_Col02_Byte1("_Letter_Row00_Col02_Byte1", float) = 0 + _Letter_Row00_Col03_Byte1("_Letter_Row00_Col03_Byte1", float) = 0 + _Letter_Row00_Col04_Byte1("_Letter_Row00_Col04_Byte1", float) = 0 + _Letter_Row00_Col05_Byte1("_Letter_Row00_Col05_Byte1", float) = 0 + _Letter_Row00_Col06_Byte1("_Letter_Row00_Col06_Byte1", float) = 0 + _Letter_Row00_Col07_Byte1("_Letter_Row00_Col07_Byte1", float) = 0 + _Letter_Row00_Col08_Byte1("_Letter_Row00_Col08_Byte1", float) = 0 + _Letter_Row00_Col09_Byte1("_Letter_Row00_Col09_Byte1", float) = 0 + _Letter_Row00_Col10_Byte1("_Letter_Row00_Col10_Byte1", float) = 0 + _Letter_Row00_Col11_Byte1("_Letter_Row00_Col11_Byte1", float) = 0 + _Letter_Row00_Col12_Byte1("_Letter_Row00_Col12_Byte1", float) = 0 + _Letter_Row00_Col13_Byte1("_Letter_Row00_Col13_Byte1", float) = 0 + _Letter_Row00_Col14_Byte1("_Letter_Row00_Col14_Byte1", float) = 0 + _Letter_Row00_Col15_Byte1("_Letter_Row00_Col15_Byte1", float) = 0 + _Letter_Row00_Col16_Byte1("_Letter_Row00_Col16_Byte1", float) = 0 + _Letter_Row00_Col17_Byte1("_Letter_Row00_Col17_Byte1", float) = 0 + _Letter_Row00_Col18_Byte1("_Letter_Row00_Col18_Byte1", float) = 0 + _Letter_Row00_Col19_Byte1("_Letter_Row00_Col19_Byte1", float) = 0 + _Letter_Row00_Col20_Byte1("_Letter_Row00_Col20_Byte1", float) = 0 + _Letter_Row00_Col21_Byte1("_Letter_Row00_Col21_Byte1", float) = 0 + _Letter_Row00_Col22_Byte1("_Letter_Row00_Col22_Byte1", float) = 0 + _Letter_Row00_Col23_Byte1("_Letter_Row00_Col23_Byte1", float) = 0 + _Letter_Row00_Col24_Byte1("_Letter_Row00_Col24_Byte1", float) = 0 + _Letter_Row00_Col25_Byte1("_Letter_Row00_Col25_Byte1", float) = 0 + _Letter_Row00_Col26_Byte1("_Letter_Row00_Col26_Byte1", float) = 0 + _Letter_Row00_Col27_Byte1("_Letter_Row00_Col27_Byte1", float) = 0 + _Letter_Row00_Col28_Byte1("_Letter_Row00_Col28_Byte1", float) = 0 + _Letter_Row00_Col29_Byte1("_Letter_Row00_Col29_Byte1", float) = 0 + _Letter_Row00_Col30_Byte1("_Letter_Row00_Col30_Byte1", float) = 0 + _Letter_Row00_Col31_Byte1("_Letter_Row00_Col31_Byte1", float) = 0 + _Letter_Row00_Col32_Byte1("_Letter_Row00_Col32_Byte1", float) = 0 + _Letter_Row00_Col33_Byte1("_Letter_Row00_Col33_Byte1", float) = 0 + _Letter_Row00_Col34_Byte1("_Letter_Row00_Col34_Byte1", float) = 0 + _Letter_Row00_Col35_Byte1("_Letter_Row00_Col35_Byte1", float) = 0 + _Letter_Row00_Col36_Byte1("_Letter_Row00_Col36_Byte1", float) = 0 + _Letter_Row00_Col37_Byte1("_Letter_Row00_Col37_Byte1", float) = 0 + _Letter_Row00_Col38_Byte1("_Letter_Row00_Col38_Byte1", float) = 0 + _Letter_Row00_Col39_Byte1("_Letter_Row00_Col39_Byte1", float) = 0 + _Letter_Row00_Col40_Byte1("_Letter_Row00_Col40_Byte1", float) = 0 + _Letter_Row00_Col41_Byte1("_Letter_Row00_Col41_Byte1", float) = 0 + _Letter_Row00_Col42_Byte1("_Letter_Row00_Col42_Byte1", float) = 0 + _Letter_Row00_Col43_Byte1("_Letter_Row00_Col43_Byte1", float) = 0 + _Letter_Row01_Col00_Byte1("_Letter_Row01_Col00_Byte1", float) = 0 + _Letter_Row01_Col01_Byte1("_Letter_Row01_Col01_Byte1", float) = 0 + _Letter_Row01_Col02_Byte1("_Letter_Row01_Col02_Byte1", float) = 0 + _Letter_Row01_Col03_Byte1("_Letter_Row01_Col03_Byte1", float) = 0 + _Letter_Row01_Col04_Byte1("_Letter_Row01_Col04_Byte1", float) = 0 + _Letter_Row01_Col05_Byte1("_Letter_Row01_Col05_Byte1", float) = 0 + _Letter_Row01_Col06_Byte1("_Letter_Row01_Col06_Byte1", float) = 0 + _Letter_Row01_Col07_Byte1("_Letter_Row01_Col07_Byte1", float) = 0 + _Letter_Row01_Col08_Byte1("_Letter_Row01_Col08_Byte1", float) = 0 + _Letter_Row01_Col09_Byte1("_Letter_Row01_Col09_Byte1", float) = 0 + _Letter_Row01_Col10_Byte1("_Letter_Row01_Col10_Byte1", float) = 0 + _Letter_Row01_Col11_Byte1("_Letter_Row01_Col11_Byte1", float) = 0 + _Letter_Row01_Col12_Byte1("_Letter_Row01_Col12_Byte1", float) = 0 + _Letter_Row01_Col13_Byte1("_Letter_Row01_Col13_Byte1", float) = 0 + _Letter_Row01_Col14_Byte1("_Letter_Row01_Col14_Byte1", float) = 0 + _Letter_Row01_Col15_Byte1("_Letter_Row01_Col15_Byte1", float) = 0 + _Letter_Row01_Col16_Byte1("_Letter_Row01_Col16_Byte1", float) = 0 + _Letter_Row01_Col17_Byte1("_Letter_Row01_Col17_Byte1", float) = 0 + _Letter_Row01_Col18_Byte1("_Letter_Row01_Col18_Byte1", float) = 0 + _Letter_Row01_Col19_Byte1("_Letter_Row01_Col19_Byte1", float) = 0 + _Letter_Row01_Col20_Byte1("_Letter_Row01_Col20_Byte1", float) = 0 + _Letter_Row01_Col21_Byte1("_Letter_Row01_Col21_Byte1", float) = 0 + _Letter_Row01_Col22_Byte1("_Letter_Row01_Col22_Byte1", float) = 0 + _Letter_Row01_Col23_Byte1("_Letter_Row01_Col23_Byte1", float) = 0 + _Letter_Row01_Col24_Byte1("_Letter_Row01_Col24_Byte1", float) = 0 + _Letter_Row01_Col25_Byte1("_Letter_Row01_Col25_Byte1", float) = 0 + _Letter_Row01_Col26_Byte1("_Letter_Row01_Col26_Byte1", float) = 0 + _Letter_Row01_Col27_Byte1("_Letter_Row01_Col27_Byte1", float) = 0 + _Letter_Row01_Col28_Byte1("_Letter_Row01_Col28_Byte1", float) = 0 + _Letter_Row01_Col29_Byte1("_Letter_Row01_Col29_Byte1", float) = 0 + _Letter_Row01_Col30_Byte1("_Letter_Row01_Col30_Byte1", float) = 0 + _Letter_Row01_Col31_Byte1("_Letter_Row01_Col31_Byte1", float) = 0 + _Letter_Row01_Col32_Byte1("_Letter_Row01_Col32_Byte1", float) = 0 + _Letter_Row01_Col33_Byte1("_Letter_Row01_Col33_Byte1", float) = 0 + _Letter_Row01_Col34_Byte1("_Letter_Row01_Col34_Byte1", float) = 0 + _Letter_Row01_Col35_Byte1("_Letter_Row01_Col35_Byte1", float) = 0 + _Letter_Row01_Col36_Byte1("_Letter_Row01_Col36_Byte1", float) = 0 + _Letter_Row01_Col37_Byte1("_Letter_Row01_Col37_Byte1", float) = 0 + _Letter_Row01_Col38_Byte1("_Letter_Row01_Col38_Byte1", float) = 0 + _Letter_Row01_Col39_Byte1("_Letter_Row01_Col39_Byte1", float) = 0 + _Letter_Row01_Col40_Byte1("_Letter_Row01_Col40_Byte1", float) = 0 + _Letter_Row01_Col41_Byte1("_Letter_Row01_Col41_Byte1", float) = 0 + _Letter_Row01_Col42_Byte1("_Letter_Row01_Col42_Byte1", float) = 0 + _Letter_Row01_Col43_Byte1("_Letter_Row01_Col43_Byte1", float) = 0 + _Letter_Row02_Col00_Byte1("_Letter_Row02_Col00_Byte1", float) = 0 + _Letter_Row02_Col01_Byte1("_Letter_Row02_Col01_Byte1", float) = 0 + _Letter_Row02_Col02_Byte1("_Letter_Row02_Col02_Byte1", float) = 0 + _Letter_Row02_Col03_Byte1("_Letter_Row02_Col03_Byte1", float) = 0 + _Letter_Row02_Col04_Byte1("_Letter_Row02_Col04_Byte1", float) = 0 + _Letter_Row02_Col05_Byte1("_Letter_Row02_Col05_Byte1", float) = 0 + _Letter_Row02_Col06_Byte1("_Letter_Row02_Col06_Byte1", float) = 0 + _Letter_Row02_Col07_Byte1("_Letter_Row02_Col07_Byte1", float) = 0 + _Letter_Row02_Col08_Byte1("_Letter_Row02_Col08_Byte1", float) = 0 + _Letter_Row02_Col09_Byte1("_Letter_Row02_Col09_Byte1", float) = 0 + _Letter_Row02_Col10_Byte1("_Letter_Row02_Col10_Byte1", float) = 0 + _Letter_Row02_Col11_Byte1("_Letter_Row02_Col11_Byte1", float) = 0 + _Letter_Row02_Col12_Byte1("_Letter_Row02_Col12_Byte1", float) = 0 + _Letter_Row02_Col13_Byte1("_Letter_Row02_Col13_Byte1", float) = 0 + _Letter_Row02_Col14_Byte1("_Letter_Row02_Col14_Byte1", float) = 0 + _Letter_Row02_Col15_Byte1("_Letter_Row02_Col15_Byte1", float) = 0 + _Letter_Row02_Col16_Byte1("_Letter_Row02_Col16_Byte1", float) = 0 + _Letter_Row02_Col17_Byte1("_Letter_Row02_Col17_Byte1", float) = 0 + _Letter_Row02_Col18_Byte1("_Letter_Row02_Col18_Byte1", float) = 0 + _Letter_Row02_Col19_Byte1("_Letter_Row02_Col19_Byte1", float) = 0 + _Letter_Row02_Col20_Byte1("_Letter_Row02_Col20_Byte1", float) = 0 + _Letter_Row02_Col21_Byte1("_Letter_Row02_Col21_Byte1", float) = 0 + _Letter_Row02_Col22_Byte1("_Letter_Row02_Col22_Byte1", float) = 0 + _Letter_Row02_Col23_Byte1("_Letter_Row02_Col23_Byte1", float) = 0 + _Letter_Row02_Col24_Byte1("_Letter_Row02_Col24_Byte1", float) = 0 + _Letter_Row02_Col25_Byte1("_Letter_Row02_Col25_Byte1", float) = 0 + _Letter_Row02_Col26_Byte1("_Letter_Row02_Col26_Byte1", float) = 0 + _Letter_Row02_Col27_Byte1("_Letter_Row02_Col27_Byte1", float) = 0 + _Letter_Row02_Col28_Byte1("_Letter_Row02_Col28_Byte1", float) = 0 + _Letter_Row02_Col29_Byte1("_Letter_Row02_Col29_Byte1", float) = 0 + _Letter_Row02_Col30_Byte1("_Letter_Row02_Col30_Byte1", float) = 0 + _Letter_Row02_Col31_Byte1("_Letter_Row02_Col31_Byte1", float) = 0 + _Letter_Row02_Col32_Byte1("_Letter_Row02_Col32_Byte1", float) = 0 + _Letter_Row02_Col33_Byte1("_Letter_Row02_Col33_Byte1", float) = 0 + _Letter_Row02_Col34_Byte1("_Letter_Row02_Col34_Byte1", float) = 0 + _Letter_Row02_Col35_Byte1("_Letter_Row02_Col35_Byte1", float) = 0 + _Letter_Row02_Col36_Byte1("_Letter_Row02_Col36_Byte1", float) = 0 + _Letter_Row02_Col37_Byte1("_Letter_Row02_Col37_Byte1", float) = 0 + _Letter_Row02_Col38_Byte1("_Letter_Row02_Col38_Byte1", float) = 0 + _Letter_Row02_Col39_Byte1("_Letter_Row02_Col39_Byte1", float) = 0 + _Letter_Row02_Col40_Byte1("_Letter_Row02_Col40_Byte1", float) = 0 + _Letter_Row02_Col41_Byte1("_Letter_Row02_Col41_Byte1", float) = 0 + _Letter_Row02_Col42_Byte1("_Letter_Row02_Col42_Byte1", float) = 0 + _Letter_Row02_Col43_Byte1("_Letter_Row02_Col43_Byte1", float) = 0 + _Letter_Row03_Col00_Byte1("_Letter_Row03_Col00_Byte1", float) = 0 + _Letter_Row03_Col01_Byte1("_Letter_Row03_Col01_Byte1", float) = 0 + _Letter_Row03_Col02_Byte1("_Letter_Row03_Col02_Byte1", float) = 0 + _Letter_Row03_Col03_Byte1("_Letter_Row03_Col03_Byte1", float) = 0 + _Letter_Row03_Col04_Byte1("_Letter_Row03_Col04_Byte1", float) = 0 + _Letter_Row03_Col05_Byte1("_Letter_Row03_Col05_Byte1", float) = 0 + _Letter_Row03_Col06_Byte1("_Letter_Row03_Col06_Byte1", float) = 0 + _Letter_Row03_Col07_Byte1("_Letter_Row03_Col07_Byte1", float) = 0 + _Letter_Row03_Col08_Byte1("_Letter_Row03_Col08_Byte1", float) = 0 + _Letter_Row03_Col09_Byte1("_Letter_Row03_Col09_Byte1", float) = 0 + _Letter_Row03_Col10_Byte1("_Letter_Row03_Col10_Byte1", float) = 0 + _Letter_Row03_Col11_Byte1("_Letter_Row03_Col11_Byte1", float) = 0 + _Letter_Row03_Col12_Byte1("_Letter_Row03_Col12_Byte1", float) = 0 + _Letter_Row03_Col13_Byte1("_Letter_Row03_Col13_Byte1", float) = 0 + _Letter_Row03_Col14_Byte1("_Letter_Row03_Col14_Byte1", float) = 0 + _Letter_Row03_Col15_Byte1("_Letter_Row03_Col15_Byte1", float) = 0 + _Letter_Row03_Col16_Byte1("_Letter_Row03_Col16_Byte1", float) = 0 + _Letter_Row03_Col17_Byte1("_Letter_Row03_Col17_Byte1", float) = 0 + _Letter_Row03_Col18_Byte1("_Letter_Row03_Col18_Byte1", float) = 0 + _Letter_Row03_Col19_Byte1("_Letter_Row03_Col19_Byte1", float) = 0 + _Letter_Row03_Col20_Byte1("_Letter_Row03_Col20_Byte1", float) = 0 + _Letter_Row03_Col21_Byte1("_Letter_Row03_Col21_Byte1", float) = 0 + _Letter_Row03_Col22_Byte1("_Letter_Row03_Col22_Byte1", float) = 0 + _Letter_Row03_Col23_Byte1("_Letter_Row03_Col23_Byte1", float) = 0 + _Letter_Row03_Col24_Byte1("_Letter_Row03_Col24_Byte1", float) = 0 + _Letter_Row03_Col25_Byte1("_Letter_Row03_Col25_Byte1", float) = 0 + _Letter_Row03_Col26_Byte1("_Letter_Row03_Col26_Byte1", float) = 0 + _Letter_Row03_Col27_Byte1("_Letter_Row03_Col27_Byte1", float) = 0 + _Letter_Row03_Col28_Byte1("_Letter_Row03_Col28_Byte1", float) = 0 + _Letter_Row03_Col29_Byte1("_Letter_Row03_Col29_Byte1", float) = 0 + _Letter_Row03_Col30_Byte1("_Letter_Row03_Col30_Byte1", float) = 0 + _Letter_Row03_Col31_Byte1("_Letter_Row03_Col31_Byte1", float) = 0 + _Letter_Row03_Col32_Byte1("_Letter_Row03_Col32_Byte1", float) = 0 + _Letter_Row03_Col33_Byte1("_Letter_Row03_Col33_Byte1", float) = 0 + _Letter_Row03_Col34_Byte1("_Letter_Row03_Col34_Byte1", float) = 0 + _Letter_Row03_Col35_Byte1("_Letter_Row03_Col35_Byte1", float) = 0 + _Letter_Row03_Col36_Byte1("_Letter_Row03_Col36_Byte1", float) = 0 + _Letter_Row03_Col37_Byte1("_Letter_Row03_Col37_Byte1", float) = 0 + _Letter_Row03_Col38_Byte1("_Letter_Row03_Col38_Byte1", float) = 0 + _Letter_Row03_Col39_Byte1("_Letter_Row03_Col39_Byte1", float) = 0 + _Letter_Row03_Col40_Byte1("_Letter_Row03_Col40_Byte1", float) = 0 + _Letter_Row03_Col41_Byte1("_Letter_Row03_Col41_Byte1", float) = 0 + _Letter_Row03_Col42_Byte1("_Letter_Row03_Col42_Byte1", float) = 0 + _Letter_Row03_Col43_Byte1("_Letter_Row03_Col43_Byte1", float) = 0 + } + SubShader + { + Tags { "RenderType"="Opaque" "Queue"="AlphaTest"} + LOD 100 + + Pass + { + Blend SrcAlpha OneMinusSrcAlpha + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + float3 normal : NORMAL; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + SamplerState sampler_linear_repeat; + + Texture2D _Font_0x0000_0x1FFF; + Texture2D _Font_0x2000_0x3FFF; + Texture2D _Font_0x4000_0x5FFF; + Texture2D _Font_0x6000_0x7FFF; + Texture2D _Font_0x8000_0x9FFF; + Texture2D _Font_0xA000_0xBFFF; + Texture2D _Font_0xC000_0xDFFF; + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return ((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float TaSTT_Indicator_0; + float TaSTT_Indicator_1; + static const float3 TaSTT_Indicator_Color_0 = HSVtoRGB(float3(0.00, 0.7, 1.0)); + static const float3 TaSTT_Indicator_Color_1 = HSVtoRGB(float3(0.07, 0.7, 1.0)); + static const float3 TaSTT_Indicator_Color_2 = HSVtoRGB(float3(0.30, 0.7, 1.0)); + + fixed4 float3tofixed4(in float3 f3, in float alpha) + { + return fixed4( + f3.r, + f3.g, + f3.b, + alpha); + } + + Texture2D TaSTT_Backplate; + + float _Letter_Row00_Col00_Byte0; + float _Letter_Row00_Col01_Byte0; + float _Letter_Row00_Col02_Byte0; + float _Letter_Row00_Col03_Byte0; + float _Letter_Row00_Col04_Byte0; + float _Letter_Row00_Col05_Byte0; + float _Letter_Row00_Col06_Byte0; + float _Letter_Row00_Col07_Byte0; + float _Letter_Row00_Col08_Byte0; + float _Letter_Row00_Col09_Byte0; + float _Letter_Row00_Col10_Byte0; + float _Letter_Row00_Col11_Byte0; + float _Letter_Row00_Col12_Byte0; + float _Letter_Row00_Col13_Byte0; + float _Letter_Row00_Col14_Byte0; + float _Letter_Row00_Col15_Byte0; + float _Letter_Row00_Col16_Byte0; + float _Letter_Row00_Col17_Byte0; + float _Letter_Row00_Col18_Byte0; + float _Letter_Row00_Col19_Byte0; + float _Letter_Row00_Col20_Byte0; + float _Letter_Row00_Col21_Byte0; + float _Letter_Row00_Col22_Byte0; + float _Letter_Row00_Col23_Byte0; + float _Letter_Row00_Col24_Byte0; + float _Letter_Row00_Col25_Byte0; + float _Letter_Row00_Col26_Byte0; + float _Letter_Row00_Col27_Byte0; + float _Letter_Row00_Col28_Byte0; + float _Letter_Row00_Col29_Byte0; + float _Letter_Row00_Col30_Byte0; + float _Letter_Row00_Col31_Byte0; + float _Letter_Row00_Col32_Byte0; + float _Letter_Row00_Col33_Byte0; + float _Letter_Row00_Col34_Byte0; + float _Letter_Row00_Col35_Byte0; + float _Letter_Row00_Col36_Byte0; + float _Letter_Row00_Col37_Byte0; + float _Letter_Row00_Col38_Byte0; + float _Letter_Row00_Col39_Byte0; + float _Letter_Row00_Col40_Byte0; + float _Letter_Row00_Col41_Byte0; + float _Letter_Row00_Col42_Byte0; + float _Letter_Row00_Col43_Byte0; + float _Letter_Row01_Col00_Byte0; + float _Letter_Row01_Col01_Byte0; + float _Letter_Row01_Col02_Byte0; + float _Letter_Row01_Col03_Byte0; + float _Letter_Row01_Col04_Byte0; + float _Letter_Row01_Col05_Byte0; + float _Letter_Row01_Col06_Byte0; + float _Letter_Row01_Col07_Byte0; + float _Letter_Row01_Col08_Byte0; + float _Letter_Row01_Col09_Byte0; + float _Letter_Row01_Col10_Byte0; + float _Letter_Row01_Col11_Byte0; + float _Letter_Row01_Col12_Byte0; + float _Letter_Row01_Col13_Byte0; + float _Letter_Row01_Col14_Byte0; + float _Letter_Row01_Col15_Byte0; + float _Letter_Row01_Col16_Byte0; + float _Letter_Row01_Col17_Byte0; + float _Letter_Row01_Col18_Byte0; + float _Letter_Row01_Col19_Byte0; + float _Letter_Row01_Col20_Byte0; + float _Letter_Row01_Col21_Byte0; + float _Letter_Row01_Col22_Byte0; + float _Letter_Row01_Col23_Byte0; + float _Letter_Row01_Col24_Byte0; + float _Letter_Row01_Col25_Byte0; + float _Letter_Row01_Col26_Byte0; + float _Letter_Row01_Col27_Byte0; + float _Letter_Row01_Col28_Byte0; + float _Letter_Row01_Col29_Byte0; + float _Letter_Row01_Col30_Byte0; + float _Letter_Row01_Col31_Byte0; + float _Letter_Row01_Col32_Byte0; + float _Letter_Row01_Col33_Byte0; + float _Letter_Row01_Col34_Byte0; + float _Letter_Row01_Col35_Byte0; + float _Letter_Row01_Col36_Byte0; + float _Letter_Row01_Col37_Byte0; + float _Letter_Row01_Col38_Byte0; + float _Letter_Row01_Col39_Byte0; + float _Letter_Row01_Col40_Byte0; + float _Letter_Row01_Col41_Byte0; + float _Letter_Row01_Col42_Byte0; + float _Letter_Row01_Col43_Byte0; + float _Letter_Row02_Col00_Byte0; + float _Letter_Row02_Col01_Byte0; + float _Letter_Row02_Col02_Byte0; + float _Letter_Row02_Col03_Byte0; + float _Letter_Row02_Col04_Byte0; + float _Letter_Row02_Col05_Byte0; + float _Letter_Row02_Col06_Byte0; + float _Letter_Row02_Col07_Byte0; + float _Letter_Row02_Col08_Byte0; + float _Letter_Row02_Col09_Byte0; + float _Letter_Row02_Col10_Byte0; + float _Letter_Row02_Col11_Byte0; + float _Letter_Row02_Col12_Byte0; + float _Letter_Row02_Col13_Byte0; + float _Letter_Row02_Col14_Byte0; + float _Letter_Row02_Col15_Byte0; + float _Letter_Row02_Col16_Byte0; + float _Letter_Row02_Col17_Byte0; + float _Letter_Row02_Col18_Byte0; + float _Letter_Row02_Col19_Byte0; + float _Letter_Row02_Col20_Byte0; + float _Letter_Row02_Col21_Byte0; + float _Letter_Row02_Col22_Byte0; + float _Letter_Row02_Col23_Byte0; + float _Letter_Row02_Col24_Byte0; + float _Letter_Row02_Col25_Byte0; + float _Letter_Row02_Col26_Byte0; + float _Letter_Row02_Col27_Byte0; + float _Letter_Row02_Col28_Byte0; + float _Letter_Row02_Col29_Byte0; + float _Letter_Row02_Col30_Byte0; + float _Letter_Row02_Col31_Byte0; + float _Letter_Row02_Col32_Byte0; + float _Letter_Row02_Col33_Byte0; + float _Letter_Row02_Col34_Byte0; + float _Letter_Row02_Col35_Byte0; + float _Letter_Row02_Col36_Byte0; + float _Letter_Row02_Col37_Byte0; + float _Letter_Row02_Col38_Byte0; + float _Letter_Row02_Col39_Byte0; + float _Letter_Row02_Col40_Byte0; + float _Letter_Row02_Col41_Byte0; + float _Letter_Row02_Col42_Byte0; + float _Letter_Row02_Col43_Byte0; + float _Letter_Row03_Col00_Byte0; + float _Letter_Row03_Col01_Byte0; + float _Letter_Row03_Col02_Byte0; + float _Letter_Row03_Col03_Byte0; + float _Letter_Row03_Col04_Byte0; + float _Letter_Row03_Col05_Byte0; + float _Letter_Row03_Col06_Byte0; + float _Letter_Row03_Col07_Byte0; + float _Letter_Row03_Col08_Byte0; + float _Letter_Row03_Col09_Byte0; + float _Letter_Row03_Col10_Byte0; + float _Letter_Row03_Col11_Byte0; + float _Letter_Row03_Col12_Byte0; + float _Letter_Row03_Col13_Byte0; + float _Letter_Row03_Col14_Byte0; + float _Letter_Row03_Col15_Byte0; + float _Letter_Row03_Col16_Byte0; + float _Letter_Row03_Col17_Byte0; + float _Letter_Row03_Col18_Byte0; + float _Letter_Row03_Col19_Byte0; + float _Letter_Row03_Col20_Byte0; + float _Letter_Row03_Col21_Byte0; + float _Letter_Row03_Col22_Byte0; + float _Letter_Row03_Col23_Byte0; + float _Letter_Row03_Col24_Byte0; + float _Letter_Row03_Col25_Byte0; + float _Letter_Row03_Col26_Byte0; + float _Letter_Row03_Col27_Byte0; + float _Letter_Row03_Col28_Byte0; + float _Letter_Row03_Col29_Byte0; + float _Letter_Row03_Col30_Byte0; + float _Letter_Row03_Col31_Byte0; + float _Letter_Row03_Col32_Byte0; + float _Letter_Row03_Col33_Byte0; + float _Letter_Row03_Col34_Byte0; + float _Letter_Row03_Col35_Byte0; + float _Letter_Row03_Col36_Byte0; + float _Letter_Row03_Col37_Byte0; + float _Letter_Row03_Col38_Byte0; + float _Letter_Row03_Col39_Byte0; + float _Letter_Row03_Col40_Byte0; + float _Letter_Row03_Col41_Byte0; + float _Letter_Row03_Col42_Byte0; + float _Letter_Row03_Col43_Byte0; + float _Letter_Row00_Col00_Byte1; + float _Letter_Row00_Col01_Byte1; + float _Letter_Row00_Col02_Byte1; + float _Letter_Row00_Col03_Byte1; + float _Letter_Row00_Col04_Byte1; + float _Letter_Row00_Col05_Byte1; + float _Letter_Row00_Col06_Byte1; + float _Letter_Row00_Col07_Byte1; + float _Letter_Row00_Col08_Byte1; + float _Letter_Row00_Col09_Byte1; + float _Letter_Row00_Col10_Byte1; + float _Letter_Row00_Col11_Byte1; + float _Letter_Row00_Col12_Byte1; + float _Letter_Row00_Col13_Byte1; + float _Letter_Row00_Col14_Byte1; + float _Letter_Row00_Col15_Byte1; + float _Letter_Row00_Col16_Byte1; + float _Letter_Row00_Col17_Byte1; + float _Letter_Row00_Col18_Byte1; + float _Letter_Row00_Col19_Byte1; + float _Letter_Row00_Col20_Byte1; + float _Letter_Row00_Col21_Byte1; + float _Letter_Row00_Col22_Byte1; + float _Letter_Row00_Col23_Byte1; + float _Letter_Row00_Col24_Byte1; + float _Letter_Row00_Col25_Byte1; + float _Letter_Row00_Col26_Byte1; + float _Letter_Row00_Col27_Byte1; + float _Letter_Row00_Col28_Byte1; + float _Letter_Row00_Col29_Byte1; + float _Letter_Row00_Col30_Byte1; + float _Letter_Row00_Col31_Byte1; + float _Letter_Row00_Col32_Byte1; + float _Letter_Row00_Col33_Byte1; + float _Letter_Row00_Col34_Byte1; + float _Letter_Row00_Col35_Byte1; + float _Letter_Row00_Col36_Byte1; + float _Letter_Row00_Col37_Byte1; + float _Letter_Row00_Col38_Byte1; + float _Letter_Row00_Col39_Byte1; + float _Letter_Row00_Col40_Byte1; + float _Letter_Row00_Col41_Byte1; + float _Letter_Row00_Col42_Byte1; + float _Letter_Row00_Col43_Byte1; + float _Letter_Row01_Col00_Byte1; + float _Letter_Row01_Col01_Byte1; + float _Letter_Row01_Col02_Byte1; + float _Letter_Row01_Col03_Byte1; + float _Letter_Row01_Col04_Byte1; + float _Letter_Row01_Col05_Byte1; + float _Letter_Row01_Col06_Byte1; + float _Letter_Row01_Col07_Byte1; + float _Letter_Row01_Col08_Byte1; + float _Letter_Row01_Col09_Byte1; + float _Letter_Row01_Col10_Byte1; + float _Letter_Row01_Col11_Byte1; + float _Letter_Row01_Col12_Byte1; + float _Letter_Row01_Col13_Byte1; + float _Letter_Row01_Col14_Byte1; + float _Letter_Row01_Col15_Byte1; + float _Letter_Row01_Col16_Byte1; + float _Letter_Row01_Col17_Byte1; + float _Letter_Row01_Col18_Byte1; + float _Letter_Row01_Col19_Byte1; + float _Letter_Row01_Col20_Byte1; + float _Letter_Row01_Col21_Byte1; + float _Letter_Row01_Col22_Byte1; + float _Letter_Row01_Col23_Byte1; + float _Letter_Row01_Col24_Byte1; + float _Letter_Row01_Col25_Byte1; + float _Letter_Row01_Col26_Byte1; + float _Letter_Row01_Col27_Byte1; + float _Letter_Row01_Col28_Byte1; + float _Letter_Row01_Col29_Byte1; + float _Letter_Row01_Col30_Byte1; + float _Letter_Row01_Col31_Byte1; + float _Letter_Row01_Col32_Byte1; + float _Letter_Row01_Col33_Byte1; + float _Letter_Row01_Col34_Byte1; + float _Letter_Row01_Col35_Byte1; + float _Letter_Row01_Col36_Byte1; + float _Letter_Row01_Col37_Byte1; + float _Letter_Row01_Col38_Byte1; + float _Letter_Row01_Col39_Byte1; + float _Letter_Row01_Col40_Byte1; + float _Letter_Row01_Col41_Byte1; + float _Letter_Row01_Col42_Byte1; + float _Letter_Row01_Col43_Byte1; + float _Letter_Row02_Col00_Byte1; + float _Letter_Row02_Col01_Byte1; + float _Letter_Row02_Col02_Byte1; + float _Letter_Row02_Col03_Byte1; + float _Letter_Row02_Col04_Byte1; + float _Letter_Row02_Col05_Byte1; + float _Letter_Row02_Col06_Byte1; + float _Letter_Row02_Col07_Byte1; + float _Letter_Row02_Col08_Byte1; + float _Letter_Row02_Col09_Byte1; + float _Letter_Row02_Col10_Byte1; + float _Letter_Row02_Col11_Byte1; + float _Letter_Row02_Col12_Byte1; + float _Letter_Row02_Col13_Byte1; + float _Letter_Row02_Col14_Byte1; + float _Letter_Row02_Col15_Byte1; + float _Letter_Row02_Col16_Byte1; + float _Letter_Row02_Col17_Byte1; + float _Letter_Row02_Col18_Byte1; + float _Letter_Row02_Col19_Byte1; + float _Letter_Row02_Col20_Byte1; + float _Letter_Row02_Col21_Byte1; + float _Letter_Row02_Col22_Byte1; + float _Letter_Row02_Col23_Byte1; + float _Letter_Row02_Col24_Byte1; + float _Letter_Row02_Col25_Byte1; + float _Letter_Row02_Col26_Byte1; + float _Letter_Row02_Col27_Byte1; + float _Letter_Row02_Col28_Byte1; + float _Letter_Row02_Col29_Byte1; + float _Letter_Row02_Col30_Byte1; + float _Letter_Row02_Col31_Byte1; + float _Letter_Row02_Col32_Byte1; + float _Letter_Row02_Col33_Byte1; + float _Letter_Row02_Col34_Byte1; + float _Letter_Row02_Col35_Byte1; + float _Letter_Row02_Col36_Byte1; + float _Letter_Row02_Col37_Byte1; + float _Letter_Row02_Col38_Byte1; + float _Letter_Row02_Col39_Byte1; + float _Letter_Row02_Col40_Byte1; + float _Letter_Row02_Col41_Byte1; + float _Letter_Row02_Col42_Byte1; + float _Letter_Row02_Col43_Byte1; + float _Letter_Row03_Col00_Byte1; + float _Letter_Row03_Col01_Byte1; + float _Letter_Row03_Col02_Byte1; + float _Letter_Row03_Col03_Byte1; + float _Letter_Row03_Col04_Byte1; + float _Letter_Row03_Col05_Byte1; + float _Letter_Row03_Col06_Byte1; + float _Letter_Row03_Col07_Byte1; + float _Letter_Row03_Col08_Byte1; + float _Letter_Row03_Col09_Byte1; + float _Letter_Row03_Col10_Byte1; + float _Letter_Row03_Col11_Byte1; + float _Letter_Row03_Col12_Byte1; + float _Letter_Row03_Col13_Byte1; + float _Letter_Row03_Col14_Byte1; + float _Letter_Row03_Col15_Byte1; + float _Letter_Row03_Col16_Byte1; + float _Letter_Row03_Col17_Byte1; + float _Letter_Row03_Col18_Byte1; + float _Letter_Row03_Col19_Byte1; + float _Letter_Row03_Col20_Byte1; + float _Letter_Row03_Col21_Byte1; + float _Letter_Row03_Col22_Byte1; + float _Letter_Row03_Col23_Byte1; + float _Letter_Row03_Col24_Byte1; + float _Letter_Row03_Col25_Byte1; + float _Letter_Row03_Col26_Byte1; + float _Letter_Row03_Col27_Byte1; + float _Letter_Row03_Col28_Byte1; + float _Letter_Row03_Col29_Byte1; + float _Letter_Row03_Col30_Byte1; + float _Letter_Row03_Col31_Byte1; + float _Letter_Row03_Col32_Byte1; + float _Letter_Row03_Col33_Byte1; + float _Letter_Row03_Col34_Byte1; + float _Letter_Row03_Col35_Byte1; + float _Letter_Row03_Col36_Byte1; + float _Letter_Row03_Col37_Byte1; + float _Letter_Row03_Col38_Byte1; + float _Letter_Row03_Col39_Byte1; + float _Letter_Row03_Col40_Byte1; + float _Letter_Row03_Col41_Byte1; + float _Letter_Row03_Col42_Byte1; + float _Letter_Row03_Col43_Byte1; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = 1.0 - v.uv; + return o; + } + + float2 AddMarginToUV(float2 uv, float2 margin) + { + float2 lo = float2(-margin.x / 2, -margin.y / 2); + float2 hi = float2(1.0 + margin.x / 2, 1.0 + margin.y / 2); + + return clamp(lerp(lo, hi, uv), 0.0, 1.0); + } + + bool InMargin(float2 uv, float2 margin) + { + return uv.x < margin.x / 2 || + uv.x > 1 - margin.x / 2 || + uv.y < margin.y / 2 || + uv.y > 1 - margin.y / 2; + } + + // dist = sqrt(dx^2 + dy^2) = sqrt( * ) + bool InRadius2(float2 uv, float2 pos, float radius2) + { + float2 delta = uv - pos; + return dot(delta, delta) < radius2; + } + + // Write the nth letter in the current cell and return the value of the + // pixel. + float2 GetLetter(float2 uv, int nth_letter) + { + // UV spans from [0,1] to [0,1]. + // 'U' is horizontal; cols. + // 'V' is vertical; rows. + // + // I want to divide the mesh into an m x n grid. + // I want to know what grid cell I'm in. This is simply u * m, v * n. + int CHAR_ROWS = 4; + int CHAR_COLS = 44; + + // OK, I know what cell I'm in. Now I need to know how far across it I + // am. Produce a float in the range [0, 1). + float CHAR_FRAC_COL = uv.x * CHAR_COLS - floor(uv.x * CHAR_COLS); + float CHAR_FRAC_ROW = uv.y * CHAR_ROWS - floor(uv.y * CHAR_ROWS); + + // Avoid rendering pixels right on the edge of the slot. If we were to + // do this, then that value would get stretched due to clamping + // (AddMarginToUV), resulting in long lines on the edge of the display. + if (CHAR_FRAC_ROW < 0.01 || + CHAR_FRAC_COL < 0.01 || + CHAR_FRAC_ROW > 0.99 || + CHAR_FRAC_COL > 0.99) { + return float2(0, 0); + } + + // This is the number of rows and columns in the actual texture. + float LETTER_COLS = 128.0; + float LETTER_ROWS = 64.0; + + float LETTER_COL = fmod(nth_letter, floor(LETTER_COLS)); + float LETTER_ROW = floor(LETTER_ROWS) - floor(nth_letter / floor(LETTER_COLS)); + + float LETTER_UV_ROW = (LETTER_ROW + CHAR_FRAC_ROW - 1.00) / LETTER_ROWS; + float LETTER_UV_COL = (LETTER_COL + CHAR_FRAC_COL) / LETTER_COLS; + + float2 result; + result.x = LETTER_UV_COL; + result.y = LETTER_UV_ROW; + + return result; + } + + Texture2D GetTexture(int which_letter) { + int which_texture = (int) floor(which_letter / (64 * 64)); + + [forcecase] switch (which_letter) + { + case 0: + return _Font_0x0000_0x1FFF; + case 1: + return _Font_0x2000_0x3FFF; + case 2: + return _Font_0x4000_0x5FFF; + case 3: + return _Font_0x6000_0x7FFF; + case 4: + return _Font_0x8000_0x9FFF; + case 5: + return _Font_0xA000_0xBFFF; + case 6: + return _Font_0xC000_0xDFFF; + default: + return _Font_0x0000_0x1FFF; + } + } + + // Get the value of the parameter for the cell we're in. + float2 GetLetterParameter(float2 uv) + { + float CHAR_ROWS = 4.0; + float CHAR_COLS = 44.0; + float CHAR_COL = floor(uv.x * CHAR_COLS); + float CHAR_ROW = floor(uv.y * CHAR_ROWS); + + [forcecase] switch (CHAR_ROW) + { + case 3: + [forcecase] switch (CHAR_COL) { + case 0: + return float2(_Letter_Row00_Col00_Byte0, _Letter_Row00_Col00_Byte1); + case 1: + return float2(_Letter_Row00_Col01_Byte0, _Letter_Row00_Col01_Byte1); + case 2: + return float2(_Letter_Row00_Col02_Byte0, _Letter_Row00_Col02_Byte1); + case 3: + return float2(_Letter_Row00_Col03_Byte0, _Letter_Row00_Col03_Byte1); + case 4: + return float2(_Letter_Row00_Col04_Byte0, _Letter_Row00_Col04_Byte1); + case 5: + return float2(_Letter_Row00_Col05_Byte0, _Letter_Row00_Col05_Byte1); + case 6: + return float2(_Letter_Row00_Col06_Byte0, _Letter_Row00_Col06_Byte1); + case 7: + return float2(_Letter_Row00_Col07_Byte0, _Letter_Row00_Col07_Byte1); + case 8: + return float2(_Letter_Row00_Col08_Byte0, _Letter_Row00_Col08_Byte1); + case 9: + return float2(_Letter_Row00_Col09_Byte0, _Letter_Row00_Col09_Byte1); + case 10: + return float2(_Letter_Row00_Col10_Byte0, _Letter_Row00_Col10_Byte1); + case 11: + return float2(_Letter_Row00_Col11_Byte0, _Letter_Row00_Col11_Byte1); + case 12: + return float2(_Letter_Row00_Col12_Byte0, _Letter_Row00_Col12_Byte1); + case 13: + return float2(_Letter_Row00_Col13_Byte0, _Letter_Row00_Col13_Byte1); + case 14: + return float2(_Letter_Row00_Col14_Byte0, _Letter_Row00_Col14_Byte1); + case 15: + return float2(_Letter_Row00_Col15_Byte0, _Letter_Row00_Col15_Byte1); + case 16: + return float2(_Letter_Row00_Col16_Byte0, _Letter_Row00_Col16_Byte1); + case 17: + return float2(_Letter_Row00_Col17_Byte0, _Letter_Row00_Col17_Byte1); + case 18: + return float2(_Letter_Row00_Col18_Byte0, _Letter_Row00_Col18_Byte1); + case 19: + return float2(_Letter_Row00_Col19_Byte0, _Letter_Row00_Col19_Byte1); + case 20: + return float2(_Letter_Row00_Col20_Byte0, _Letter_Row00_Col20_Byte1); + case 21: + return float2(_Letter_Row00_Col21_Byte0, _Letter_Row00_Col21_Byte1); + case 22: + return float2(_Letter_Row00_Col22_Byte0, _Letter_Row00_Col22_Byte1); + case 23: + return float2(_Letter_Row00_Col23_Byte0, _Letter_Row00_Col23_Byte1); + case 24: + return float2(_Letter_Row00_Col24_Byte0, _Letter_Row00_Col24_Byte1); + case 25: + return float2(_Letter_Row00_Col25_Byte0, _Letter_Row00_Col25_Byte1); + case 26: + return float2(_Letter_Row00_Col26_Byte0, _Letter_Row00_Col26_Byte1); + case 27: + return float2(_Letter_Row00_Col27_Byte0, _Letter_Row00_Col27_Byte1); + case 28: + return float2(_Letter_Row00_Col28_Byte0, _Letter_Row00_Col28_Byte1); + case 29: + return float2(_Letter_Row00_Col29_Byte0, _Letter_Row00_Col29_Byte1); + case 30: + return float2(_Letter_Row00_Col30_Byte0, _Letter_Row00_Col30_Byte1); + case 31: + return float2(_Letter_Row00_Col31_Byte0, _Letter_Row00_Col31_Byte1); + case 32: + return float2(_Letter_Row00_Col32_Byte0, _Letter_Row00_Col32_Byte1); + case 33: + return float2(_Letter_Row00_Col33_Byte0, _Letter_Row00_Col33_Byte1); + case 34: + return float2(_Letter_Row00_Col34_Byte0, _Letter_Row00_Col34_Byte1); + case 35: + return float2(_Letter_Row00_Col35_Byte0, _Letter_Row00_Col35_Byte1); + case 36: + return float2(_Letter_Row00_Col36_Byte0, _Letter_Row00_Col36_Byte1); + case 37: + return float2(_Letter_Row00_Col37_Byte0, _Letter_Row00_Col37_Byte1); + case 38: + return float2(_Letter_Row00_Col38_Byte0, _Letter_Row00_Col38_Byte1); + case 39: + return float2(_Letter_Row00_Col39_Byte0, _Letter_Row00_Col39_Byte1); + case 40: + return float2(_Letter_Row00_Col40_Byte0, _Letter_Row00_Col40_Byte1); + case 41: + return float2(_Letter_Row00_Col41_Byte0, _Letter_Row00_Col41_Byte1); + case 42: + return float2(_Letter_Row00_Col42_Byte0, _Letter_Row00_Col42_Byte1); + case 43: + return float2(_Letter_Row00_Col43_Byte0, _Letter_Row00_Col43_Byte1); + default: + return float2(0, 0); + } + case 2: + [forcecase] switch (CHAR_COL) { + case 0: + return float2(_Letter_Row01_Col00_Byte0, _Letter_Row01_Col00_Byte1); + case 1: + return float2(_Letter_Row01_Col01_Byte0, _Letter_Row01_Col01_Byte1); + case 2: + return float2(_Letter_Row01_Col02_Byte0, _Letter_Row01_Col02_Byte1); + case 3: + return float2(_Letter_Row01_Col03_Byte0, _Letter_Row01_Col03_Byte1); + case 4: + return float2(_Letter_Row01_Col04_Byte0, _Letter_Row01_Col04_Byte1); + case 5: + return float2(_Letter_Row01_Col05_Byte0, _Letter_Row01_Col05_Byte1); + case 6: + return float2(_Letter_Row01_Col06_Byte0, _Letter_Row01_Col06_Byte1); + case 7: + return float2(_Letter_Row01_Col07_Byte0, _Letter_Row01_Col07_Byte1); + case 8: + return float2(_Letter_Row01_Col08_Byte0, _Letter_Row01_Col08_Byte1); + case 9: + return float2(_Letter_Row01_Col09_Byte0, _Letter_Row01_Col09_Byte1); + case 10: + return float2(_Letter_Row01_Col10_Byte0, _Letter_Row01_Col10_Byte1); + case 11: + return float2(_Letter_Row01_Col11_Byte0, _Letter_Row01_Col11_Byte1); + case 12: + return float2(_Letter_Row01_Col12_Byte0, _Letter_Row01_Col12_Byte1); + case 13: + return float2(_Letter_Row01_Col13_Byte0, _Letter_Row01_Col13_Byte1); + case 14: + return float2(_Letter_Row01_Col14_Byte0, _Letter_Row01_Col14_Byte1); + case 15: + return float2(_Letter_Row01_Col15_Byte0, _Letter_Row01_Col15_Byte1); + case 16: + return float2(_Letter_Row01_Col16_Byte0, _Letter_Row01_Col16_Byte1); + case 17: + return float2(_Letter_Row01_Col17_Byte0, _Letter_Row01_Col17_Byte1); + case 18: + return float2(_Letter_Row01_Col18_Byte0, _Letter_Row01_Col18_Byte1); + case 19: + return float2(_Letter_Row01_Col19_Byte0, _Letter_Row01_Col19_Byte1); + case 20: + return float2(_Letter_Row01_Col20_Byte0, _Letter_Row01_Col20_Byte1); + case 21: + return float2(_Letter_Row01_Col21_Byte0, _Letter_Row01_Col21_Byte1); + case 22: + return float2(_Letter_Row01_Col22_Byte0, _Letter_Row01_Col22_Byte1); + case 23: + return float2(_Letter_Row01_Col23_Byte0, _Letter_Row01_Col23_Byte1); + case 24: + return float2(_Letter_Row01_Col24_Byte0, _Letter_Row01_Col24_Byte1); + case 25: + return float2(_Letter_Row01_Col25_Byte0, _Letter_Row01_Col25_Byte1); + case 26: + return float2(_Letter_Row01_Col26_Byte0, _Letter_Row01_Col26_Byte1); + case 27: + return float2(_Letter_Row01_Col27_Byte0, _Letter_Row01_Col27_Byte1); + case 28: + return float2(_Letter_Row01_Col28_Byte0, _Letter_Row01_Col28_Byte1); + case 29: + return float2(_Letter_Row01_Col29_Byte0, _Letter_Row01_Col29_Byte1); + case 30: + return float2(_Letter_Row01_Col30_Byte0, _Letter_Row01_Col30_Byte1); + case 31: + return float2(_Letter_Row01_Col31_Byte0, _Letter_Row01_Col31_Byte1); + case 32: + return float2(_Letter_Row01_Col32_Byte0, _Letter_Row01_Col32_Byte1); + case 33: + return float2(_Letter_Row01_Col33_Byte0, _Letter_Row01_Col33_Byte1); + case 34: + return float2(_Letter_Row01_Col34_Byte0, _Letter_Row01_Col34_Byte1); + case 35: + return float2(_Letter_Row01_Col35_Byte0, _Letter_Row01_Col35_Byte1); + case 36: + return float2(_Letter_Row01_Col36_Byte0, _Letter_Row01_Col36_Byte1); + case 37: + return float2(_Letter_Row01_Col37_Byte0, _Letter_Row01_Col37_Byte1); + case 38: + return float2(_Letter_Row01_Col38_Byte0, _Letter_Row01_Col38_Byte1); + case 39: + return float2(_Letter_Row01_Col39_Byte0, _Letter_Row01_Col39_Byte1); + case 40: + return float2(_Letter_Row01_Col40_Byte0, _Letter_Row01_Col40_Byte1); + case 41: + return float2(_Letter_Row01_Col41_Byte0, _Letter_Row01_Col41_Byte1); + case 42: + return float2(_Letter_Row01_Col42_Byte0, _Letter_Row01_Col42_Byte1); + case 43: + return float2(_Letter_Row01_Col43_Byte0, _Letter_Row01_Col43_Byte1); + default: + return float2(0, 0); + } + case 1: + [forcecase] switch (CHAR_COL) { + case 0: + return float2(_Letter_Row02_Col00_Byte0, _Letter_Row02_Col00_Byte1); + case 1: + return float2(_Letter_Row02_Col01_Byte0, _Letter_Row02_Col01_Byte1); + case 2: + return float2(_Letter_Row02_Col02_Byte0, _Letter_Row02_Col02_Byte1); + case 3: + return float2(_Letter_Row02_Col03_Byte0, _Letter_Row02_Col03_Byte1); + case 4: + return float2(_Letter_Row02_Col04_Byte0, _Letter_Row02_Col04_Byte1); + case 5: + return float2(_Letter_Row02_Col05_Byte0, _Letter_Row02_Col05_Byte1); + case 6: + return float2(_Letter_Row02_Col06_Byte0, _Letter_Row02_Col06_Byte1); + case 7: + return float2(_Letter_Row02_Col07_Byte0, _Letter_Row02_Col07_Byte1); + case 8: + return float2(_Letter_Row02_Col08_Byte0, _Letter_Row02_Col08_Byte1); + case 9: + return float2(_Letter_Row02_Col09_Byte0, _Letter_Row02_Col09_Byte1); + case 10: + return float2(_Letter_Row02_Col10_Byte0, _Letter_Row02_Col10_Byte1); + case 11: + return float2(_Letter_Row02_Col11_Byte0, _Letter_Row02_Col11_Byte1); + case 12: + return float2(_Letter_Row02_Col12_Byte0, _Letter_Row02_Col12_Byte1); + case 13: + return float2(_Letter_Row02_Col13_Byte0, _Letter_Row02_Col13_Byte1); + case 14: + return float2(_Letter_Row02_Col14_Byte0, _Letter_Row02_Col14_Byte1); + case 15: + return float2(_Letter_Row02_Col15_Byte0, _Letter_Row02_Col15_Byte1); + case 16: + return float2(_Letter_Row02_Col16_Byte0, _Letter_Row02_Col16_Byte1); + case 17: + return float2(_Letter_Row02_Col17_Byte0, _Letter_Row02_Col17_Byte1); + case 18: + return float2(_Letter_Row02_Col18_Byte0, _Letter_Row02_Col18_Byte1); + case 19: + return float2(_Letter_Row02_Col19_Byte0, _Letter_Row02_Col19_Byte1); + case 20: + return float2(_Letter_Row02_Col20_Byte0, _Letter_Row02_Col20_Byte1); + case 21: + return float2(_Letter_Row02_Col21_Byte0, _Letter_Row02_Col21_Byte1); + case 22: + return float2(_Letter_Row02_Col22_Byte0, _Letter_Row02_Col22_Byte1); + case 23: + return float2(_Letter_Row02_Col23_Byte0, _Letter_Row02_Col23_Byte1); + case 24: + return float2(_Letter_Row02_Col24_Byte0, _Letter_Row02_Col24_Byte1); + case 25: + return float2(_Letter_Row02_Col25_Byte0, _Letter_Row02_Col25_Byte1); + case 26: + return float2(_Letter_Row02_Col26_Byte0, _Letter_Row02_Col26_Byte1); + case 27: + return float2(_Letter_Row02_Col27_Byte0, _Letter_Row02_Col27_Byte1); + case 28: + return float2(_Letter_Row02_Col28_Byte0, _Letter_Row02_Col28_Byte1); + case 29: + return float2(_Letter_Row02_Col29_Byte0, _Letter_Row02_Col29_Byte1); + case 30: + return float2(_Letter_Row02_Col30_Byte0, _Letter_Row02_Col30_Byte1); + case 31: + return float2(_Letter_Row02_Col31_Byte0, _Letter_Row02_Col31_Byte1); + case 32: + return float2(_Letter_Row02_Col32_Byte0, _Letter_Row02_Col32_Byte1); + case 33: + return float2(_Letter_Row02_Col33_Byte0, _Letter_Row02_Col33_Byte1); + case 34: + return float2(_Letter_Row02_Col34_Byte0, _Letter_Row02_Col34_Byte1); + case 35: + return float2(_Letter_Row02_Col35_Byte0, _Letter_Row02_Col35_Byte1); + case 36: + return float2(_Letter_Row02_Col36_Byte0, _Letter_Row02_Col36_Byte1); + case 37: + return float2(_Letter_Row02_Col37_Byte0, _Letter_Row02_Col37_Byte1); + case 38: + return float2(_Letter_Row02_Col38_Byte0, _Letter_Row02_Col38_Byte1); + case 39: + return float2(_Letter_Row02_Col39_Byte0, _Letter_Row02_Col39_Byte1); + case 40: + return float2(_Letter_Row02_Col40_Byte0, _Letter_Row02_Col40_Byte1); + case 41: + return float2(_Letter_Row02_Col41_Byte0, _Letter_Row02_Col41_Byte1); + case 42: + return float2(_Letter_Row02_Col42_Byte0, _Letter_Row02_Col42_Byte1); + case 43: + return float2(_Letter_Row02_Col43_Byte0, _Letter_Row02_Col43_Byte1); + default: + return float2(0, 0); + } + case 0: + [forcecase] switch (CHAR_COL) { + case 0: + return float2(_Letter_Row03_Col00_Byte0, _Letter_Row03_Col00_Byte1); + case 1: + return float2(_Letter_Row03_Col01_Byte0, _Letter_Row03_Col01_Byte1); + case 2: + return float2(_Letter_Row03_Col02_Byte0, _Letter_Row03_Col02_Byte1); + case 3: + return float2(_Letter_Row03_Col03_Byte0, _Letter_Row03_Col03_Byte1); + case 4: + return float2(_Letter_Row03_Col04_Byte0, _Letter_Row03_Col04_Byte1); + case 5: + return float2(_Letter_Row03_Col05_Byte0, _Letter_Row03_Col05_Byte1); + case 6: + return float2(_Letter_Row03_Col06_Byte0, _Letter_Row03_Col06_Byte1); + case 7: + return float2(_Letter_Row03_Col07_Byte0, _Letter_Row03_Col07_Byte1); + case 8: + return float2(_Letter_Row03_Col08_Byte0, _Letter_Row03_Col08_Byte1); + case 9: + return float2(_Letter_Row03_Col09_Byte0, _Letter_Row03_Col09_Byte1); + case 10: + return float2(_Letter_Row03_Col10_Byte0, _Letter_Row03_Col10_Byte1); + case 11: + return float2(_Letter_Row03_Col11_Byte0, _Letter_Row03_Col11_Byte1); + case 12: + return float2(_Letter_Row03_Col12_Byte0, _Letter_Row03_Col12_Byte1); + case 13: + return float2(_Letter_Row03_Col13_Byte0, _Letter_Row03_Col13_Byte1); + case 14: + return float2(_Letter_Row03_Col14_Byte0, _Letter_Row03_Col14_Byte1); + case 15: + return float2(_Letter_Row03_Col15_Byte0, _Letter_Row03_Col15_Byte1); + case 16: + return float2(_Letter_Row03_Col16_Byte0, _Letter_Row03_Col16_Byte1); + case 17: + return float2(_Letter_Row03_Col17_Byte0, _Letter_Row03_Col17_Byte1); + case 18: + return float2(_Letter_Row03_Col18_Byte0, _Letter_Row03_Col18_Byte1); + case 19: + return float2(_Letter_Row03_Col19_Byte0, _Letter_Row03_Col19_Byte1); + case 20: + return float2(_Letter_Row03_Col20_Byte0, _Letter_Row03_Col20_Byte1); + case 21: + return float2(_Letter_Row03_Col21_Byte0, _Letter_Row03_Col21_Byte1); + case 22: + return float2(_Letter_Row03_Col22_Byte0, _Letter_Row03_Col22_Byte1); + case 23: + return float2(_Letter_Row03_Col23_Byte0, _Letter_Row03_Col23_Byte1); + case 24: + return float2(_Letter_Row03_Col24_Byte0, _Letter_Row03_Col24_Byte1); + case 25: + return float2(_Letter_Row03_Col25_Byte0, _Letter_Row03_Col25_Byte1); + case 26: + return float2(_Letter_Row03_Col26_Byte0, _Letter_Row03_Col26_Byte1); + case 27: + return float2(_Letter_Row03_Col27_Byte0, _Letter_Row03_Col27_Byte1); + case 28: + return float2(_Letter_Row03_Col28_Byte0, _Letter_Row03_Col28_Byte1); + case 29: + return float2(_Letter_Row03_Col29_Byte0, _Letter_Row03_Col29_Byte1); + case 30: + return float2(_Letter_Row03_Col30_Byte0, _Letter_Row03_Col30_Byte1); + case 31: + return float2(_Letter_Row03_Col31_Byte0, _Letter_Row03_Col31_Byte1); + case 32: + return float2(_Letter_Row03_Col32_Byte0, _Letter_Row03_Col32_Byte1); + case 33: + return float2(_Letter_Row03_Col33_Byte0, _Letter_Row03_Col33_Byte1); + case 34: + return float2(_Letter_Row03_Col34_Byte0, _Letter_Row03_Col34_Byte1); + case 35: + return float2(_Letter_Row03_Col35_Byte0, _Letter_Row03_Col35_Byte1); + case 36: + return float2(_Letter_Row03_Col36_Byte0, _Letter_Row03_Col36_Byte1); + case 37: + return float2(_Letter_Row03_Col37_Byte0, _Letter_Row03_Col37_Byte1); + case 38: + return float2(_Letter_Row03_Col38_Byte0, _Letter_Row03_Col38_Byte1); + case 39: + return float2(_Letter_Row03_Col39_Byte0, _Letter_Row03_Col39_Byte1); + case 40: + return float2(_Letter_Row03_Col40_Byte0, _Letter_Row03_Col40_Byte1); + case 41: + return float2(_Letter_Row03_Col41_Byte0, _Letter_Row03_Col41_Byte1); + case 42: + return float2(_Letter_Row03_Col42_Byte0, _Letter_Row03_Col42_Byte1); + case 43: + return float2(_Letter_Row03_Col43_Byte0, _Letter_Row03_Col43_Byte1); + default: + return float2(0, 0); + } + } + + return float2(0, 0); + } + + fixed4 frag (v2f i) : SV_Target + { + float2 uv = i.uv; + + // Derived from github.com/pema99/shader-knowledge (MIT license). + if (unity_CameraProjection[2][0] != 0.0 || + unity_CameraProjection[2][1] != 0.0) { + uv.x = 1.0 - uv.x; + } + + float2 uv_margin = float2(0.03, 0.06); + if (InMargin(uv, uv_margin)) { + // Margin is uv_margin/2 wide/tall. + // We want a circle whose radius is ~80% of that. + float radius_factor = 0.95; + float radius = (uv_margin.x / 2) * radius_factor; + // We want this circle to be centered halfway through the margin + // vertically, and at 1.5x the margin width horizontally. + float2 indicator_center = float2( + uv_margin.x * 0.5 + radius, + uv_margin.y * 0.5 * 0.5 + ); + // Finally, translate it to the top of the board instead of the + // bottom. + indicator_center.y = 1.0 - indicator_center.y; + + if (InRadius2(uv, indicator_center, radius * radius)) { + if (floor(TaSTT_Indicator_0) == 1.0) { + // Actively speaking + return float3tofixed4(TaSTT_Indicator_Color_2, 1.0); + } else if (floor(TaSTT_Indicator_1) == 1.0) { + // Done speaking, waiting for paging. + return float3tofixed4(TaSTT_Indicator_Color_1, 1.0); + } else { + // Neither speaking nor paging. + return float3tofixed4(TaSTT_Indicator_Color_0, 1.0); + } + } + + return fixed4(1,1,1,1); + } else { + uv_margin *= 2; + uv = AddMarginToUV(uv, uv_margin); + + int2 letter_bytes = (int2) floor(GetLetterParameter(uv)); + int letter = letter_bytes[0] | (letter_bytes[1] << 8); + + uv = GetLetter(uv, letter); + + fixed4 background = TaSTT_Backplate.Sample(sampler_linear_repeat, uv); + fixed4 text; + + int which_texture = (int) floor(letter / (64 * 128)); + [forcecase] switch (which_texture) + { + case 0: + text = _Font_0x0000_0x1FFF.Sample(sampler_linear_repeat, uv); + break; + case 1: + text = _Font_0x2000_0x3FFF.Sample(sampler_linear_repeat, uv); + break; + case 2: + text = _Font_0x4000_0x5FFF.Sample(sampler_linear_repeat, uv); + break; + case 3: + text = _Font_0x6000_0x7FFF.Sample(sampler_linear_repeat, uv); + break; + case 4: + text = _Font_0x8000_0x9FFF.Sample(sampler_linear_repeat, uv); + break; + case 5: + text = _Font_0xA000_0xBFFF.Sample(sampler_linear_repeat, uv); + break; + case 6: + text = _Font_0xC000_0xDFFF.Sample(sampler_linear_repeat, uv); + break; + default: + text = _Font_0x0000_0x1FFF.Sample(sampler_linear_repeat, uv); + break; + } + fixed4 black = fixed4(0,0,0,0); + if (text.r == black.r && text.g == black.g && text.b == black.b && text.a == black.a) { + return background; + } else { + return text; + } + } + } + ENDCG + } + } +} diff --git a/Shaders/TaSTT_Backplate.shader b/Shaders/TaSTT_Backplate.shader new file mode 100644 index 0000000..2ab032a --- /dev/null +++ b/Shaders/TaSTT_Backplate.shader @@ -0,0 +1,59 @@ +Shader "Unlit/TaSTT_Backplate" +{ + Properties + { + _MainTex ("Texture", 2D) = "black" {} + } + SubShader + { + Tags { "RenderType"="Opaque" "Queue"="AlphaTest-1"} + LOD 100 + + Pass + { + Blend SrcAlpha OneMinusSrcAlpha + Cull Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + float3 normal : NORMAL; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + Texture2D _MainTex; + SamplerState sampler_linear_repeat; + float4 _MainTex_ST; + + v2f vert (appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = 1.0 - v.uv; + return o; + } + + fixed4 frag (v2f i) : SV_Target + { + + fixed4 result = _MainTex.Sample(sampler_linear_repeat, i.uv); + result.a = 1.0; + return result; + } + ENDCG + } + } +} diff --git a/TaSTT.shader b/TaSTT.shader deleted file mode 100644 index 79a1bfc..0000000 --- a/TaSTT.shader +++ /dev/null @@ -1,1373 +0,0 @@ -Shader "Unlit/TaSTT" -{ - Properties - { - _Font_0x0000_0x1FFF ("Font 0 (unicode 0x0000 - 0x1FFFF)", 2D) = "white" {} - _Font_0x2000_0x3FFF ("Font 1 (unicode 0x2000 - 0x3FFFF)", 2D) = "white" {} - _Font_0x4000_0x5FFF ("Font 2 (unicode 0x4000 - 0x5FFFF)", 2D) = "white" {} - _Font_0x6000_0x7FFF ("Font 3 (unicode 0x6000 - 0x7FFFF)", 2D) = "white" {} - _Font_0x8000_0x9FFF ("Font 4 (unicode 0x8000 - 0x9FFFF)", 2D) = "white" {} - _Font_0xA000_0xBFFF ("Font 5 (unicode 0xA000 - 0xBFFFF)", 2D) = "white" {} - _Font_0xC000_0xDFFF ("Font 6 (unicode 0xC000 - 0xDFFFF)", 2D) = "white" {} - - TaSTT_Backplate("TaSTT_Backplate", 2D) = "black" {} - - TaSTT_Indicator_0("TaSTT_Indicator_0", float) = 0 - TaSTT_Indicator_1("TaSTT_Indicator_1", float) = 0 - - // software "engineering" LULW - _Letter_Row00_Col00_Byte0("_Letter_Row00_Col00_Byte0", float) = 0 - _Letter_Row00_Col01_Byte0("_Letter_Row00_Col01_Byte0", float) = 0 - _Letter_Row00_Col02_Byte0("_Letter_Row00_Col02_Byte0", float) = 0 - _Letter_Row00_Col03_Byte0("_Letter_Row00_Col03_Byte0", float) = 0 - _Letter_Row00_Col04_Byte0("_Letter_Row00_Col04_Byte0", float) = 0 - _Letter_Row00_Col05_Byte0("_Letter_Row00_Col05_Byte0", float) = 0 - _Letter_Row00_Col06_Byte0("_Letter_Row00_Col06_Byte0", float) = 0 - _Letter_Row00_Col07_Byte0("_Letter_Row00_Col07_Byte0", float) = 0 - _Letter_Row00_Col08_Byte0("_Letter_Row00_Col08_Byte0", float) = 0 - _Letter_Row00_Col09_Byte0("_Letter_Row00_Col09_Byte0", float) = 0 - _Letter_Row00_Col10_Byte0("_Letter_Row00_Col10_Byte0", float) = 0 - _Letter_Row00_Col11_Byte0("_Letter_Row00_Col11_Byte0", float) = 0 - _Letter_Row00_Col12_Byte0("_Letter_Row00_Col12_Byte0", float) = 0 - _Letter_Row00_Col13_Byte0("_Letter_Row00_Col13_Byte0", float) = 0 - _Letter_Row00_Col14_Byte0("_Letter_Row00_Col14_Byte0", float) = 0 - _Letter_Row00_Col15_Byte0("_Letter_Row00_Col15_Byte0", float) = 0 - _Letter_Row00_Col16_Byte0("_Letter_Row00_Col16_Byte0", float) = 0 - _Letter_Row00_Col17_Byte0("_Letter_Row00_Col17_Byte0", float) = 0 - _Letter_Row00_Col18_Byte0("_Letter_Row00_Col18_Byte0", float) = 0 - _Letter_Row00_Col19_Byte0("_Letter_Row00_Col19_Byte0", float) = 0 - _Letter_Row00_Col20_Byte0("_Letter_Row00_Col20_Byte0", float) = 0 - _Letter_Row00_Col21_Byte0("_Letter_Row00_Col21_Byte0", float) = 0 - _Letter_Row00_Col22_Byte0("_Letter_Row00_Col22_Byte0", float) = 0 - _Letter_Row00_Col23_Byte0("_Letter_Row00_Col23_Byte0", float) = 0 - _Letter_Row00_Col24_Byte0("_Letter_Row00_Col24_Byte0", float) = 0 - _Letter_Row00_Col25_Byte0("_Letter_Row00_Col25_Byte0", float) = 0 - _Letter_Row00_Col26_Byte0("_Letter_Row00_Col26_Byte0", float) = 0 - _Letter_Row00_Col27_Byte0("_Letter_Row00_Col27_Byte0", float) = 0 - _Letter_Row00_Col28_Byte0("_Letter_Row00_Col28_Byte0", float) = 0 - _Letter_Row00_Col29_Byte0("_Letter_Row00_Col29_Byte0", float) = 0 - _Letter_Row00_Col30_Byte0("_Letter_Row00_Col30_Byte0", float) = 0 - _Letter_Row00_Col31_Byte0("_Letter_Row00_Col31_Byte0", float) = 0 - _Letter_Row00_Col32_Byte0("_Letter_Row00_Col32_Byte0", float) = 0 - _Letter_Row00_Col33_Byte0("_Letter_Row00_Col33_Byte0", float) = 0 - _Letter_Row00_Col34_Byte0("_Letter_Row00_Col34_Byte0", float) = 0 - _Letter_Row00_Col35_Byte0("_Letter_Row00_Col35_Byte0", float) = 0 - _Letter_Row00_Col36_Byte0("_Letter_Row00_Col36_Byte0", float) = 0 - _Letter_Row00_Col37_Byte0("_Letter_Row00_Col37_Byte0", float) = 0 - _Letter_Row00_Col38_Byte0("_Letter_Row00_Col38_Byte0", float) = 0 - _Letter_Row00_Col39_Byte0("_Letter_Row00_Col39_Byte0", float) = 0 - _Letter_Row00_Col40_Byte0("_Letter_Row00_Col40_Byte0", float) = 0 - _Letter_Row00_Col41_Byte0("_Letter_Row00_Col41_Byte0", float) = 0 - _Letter_Row00_Col42_Byte0("_Letter_Row00_Col42_Byte0", float) = 0 - _Letter_Row00_Col43_Byte0("_Letter_Row00_Col43_Byte0", float) = 0 - _Letter_Row01_Col00_Byte0("_Letter_Row01_Col00_Byte0", float) = 0 - _Letter_Row01_Col01_Byte0("_Letter_Row01_Col01_Byte0", float) = 0 - _Letter_Row01_Col02_Byte0("_Letter_Row01_Col02_Byte0", float) = 0 - _Letter_Row01_Col03_Byte0("_Letter_Row01_Col03_Byte0", float) = 0 - _Letter_Row01_Col04_Byte0("_Letter_Row01_Col04_Byte0", float) = 0 - _Letter_Row01_Col05_Byte0("_Letter_Row01_Col05_Byte0", float) = 0 - _Letter_Row01_Col06_Byte0("_Letter_Row01_Col06_Byte0", float) = 0 - _Letter_Row01_Col07_Byte0("_Letter_Row01_Col07_Byte0", float) = 0 - _Letter_Row01_Col08_Byte0("_Letter_Row01_Col08_Byte0", float) = 0 - _Letter_Row01_Col09_Byte0("_Letter_Row01_Col09_Byte0", float) = 0 - _Letter_Row01_Col10_Byte0("_Letter_Row01_Col10_Byte0", float) = 0 - _Letter_Row01_Col11_Byte0("_Letter_Row01_Col11_Byte0", float) = 0 - _Letter_Row01_Col12_Byte0("_Letter_Row01_Col12_Byte0", float) = 0 - _Letter_Row01_Col13_Byte0("_Letter_Row01_Col13_Byte0", float) = 0 - _Letter_Row01_Col14_Byte0("_Letter_Row01_Col14_Byte0", float) = 0 - _Letter_Row01_Col15_Byte0("_Letter_Row01_Col15_Byte0", float) = 0 - _Letter_Row01_Col16_Byte0("_Letter_Row01_Col16_Byte0", float) = 0 - _Letter_Row01_Col17_Byte0("_Letter_Row01_Col17_Byte0", float) = 0 - _Letter_Row01_Col18_Byte0("_Letter_Row01_Col18_Byte0", float) = 0 - _Letter_Row01_Col19_Byte0("_Letter_Row01_Col19_Byte0", float) = 0 - _Letter_Row01_Col20_Byte0("_Letter_Row01_Col20_Byte0", float) = 0 - _Letter_Row01_Col21_Byte0("_Letter_Row01_Col21_Byte0", float) = 0 - _Letter_Row01_Col22_Byte0("_Letter_Row01_Col22_Byte0", float) = 0 - _Letter_Row01_Col23_Byte0("_Letter_Row01_Col23_Byte0", float) = 0 - _Letter_Row01_Col24_Byte0("_Letter_Row01_Col24_Byte0", float) = 0 - _Letter_Row01_Col25_Byte0("_Letter_Row01_Col25_Byte0", float) = 0 - _Letter_Row01_Col26_Byte0("_Letter_Row01_Col26_Byte0", float) = 0 - _Letter_Row01_Col27_Byte0("_Letter_Row01_Col27_Byte0", float) = 0 - _Letter_Row01_Col28_Byte0("_Letter_Row01_Col28_Byte0", float) = 0 - _Letter_Row01_Col29_Byte0("_Letter_Row01_Col29_Byte0", float) = 0 - _Letter_Row01_Col30_Byte0("_Letter_Row01_Col30_Byte0", float) = 0 - _Letter_Row01_Col31_Byte0("_Letter_Row01_Col31_Byte0", float) = 0 - _Letter_Row01_Col32_Byte0("_Letter_Row01_Col32_Byte0", float) = 0 - _Letter_Row01_Col33_Byte0("_Letter_Row01_Col33_Byte0", float) = 0 - _Letter_Row01_Col34_Byte0("_Letter_Row01_Col34_Byte0", float) = 0 - _Letter_Row01_Col35_Byte0("_Letter_Row01_Col35_Byte0", float) = 0 - _Letter_Row01_Col36_Byte0("_Letter_Row01_Col36_Byte0", float) = 0 - _Letter_Row01_Col37_Byte0("_Letter_Row01_Col37_Byte0", float) = 0 - _Letter_Row01_Col38_Byte0("_Letter_Row01_Col38_Byte0", float) = 0 - _Letter_Row01_Col39_Byte0("_Letter_Row01_Col39_Byte0", float) = 0 - _Letter_Row01_Col40_Byte0("_Letter_Row01_Col40_Byte0", float) = 0 - _Letter_Row01_Col41_Byte0("_Letter_Row01_Col41_Byte0", float) = 0 - _Letter_Row01_Col42_Byte0("_Letter_Row01_Col42_Byte0", float) = 0 - _Letter_Row01_Col43_Byte0("_Letter_Row01_Col43_Byte0", float) = 0 - _Letter_Row02_Col00_Byte0("_Letter_Row02_Col00_Byte0", float) = 0 - _Letter_Row02_Col01_Byte0("_Letter_Row02_Col01_Byte0", float) = 0 - _Letter_Row02_Col02_Byte0("_Letter_Row02_Col02_Byte0", float) = 0 - _Letter_Row02_Col03_Byte0("_Letter_Row02_Col03_Byte0", float) = 0 - _Letter_Row02_Col04_Byte0("_Letter_Row02_Col04_Byte0", float) = 0 - _Letter_Row02_Col05_Byte0("_Letter_Row02_Col05_Byte0", float) = 0 - _Letter_Row02_Col06_Byte0("_Letter_Row02_Col06_Byte0", float) = 0 - _Letter_Row02_Col07_Byte0("_Letter_Row02_Col07_Byte0", float) = 0 - _Letter_Row02_Col08_Byte0("_Letter_Row02_Col08_Byte0", float) = 0 - _Letter_Row02_Col09_Byte0("_Letter_Row02_Col09_Byte0", float) = 0 - _Letter_Row02_Col10_Byte0("_Letter_Row02_Col10_Byte0", float) = 0 - _Letter_Row02_Col11_Byte0("_Letter_Row02_Col11_Byte0", float) = 0 - _Letter_Row02_Col12_Byte0("_Letter_Row02_Col12_Byte0", float) = 0 - _Letter_Row02_Col13_Byte0("_Letter_Row02_Col13_Byte0", float) = 0 - _Letter_Row02_Col14_Byte0("_Letter_Row02_Col14_Byte0", float) = 0 - _Letter_Row02_Col15_Byte0("_Letter_Row02_Col15_Byte0", float) = 0 - _Letter_Row02_Col16_Byte0("_Letter_Row02_Col16_Byte0", float) = 0 - _Letter_Row02_Col17_Byte0("_Letter_Row02_Col17_Byte0", float) = 0 - _Letter_Row02_Col18_Byte0("_Letter_Row02_Col18_Byte0", float) = 0 - _Letter_Row02_Col19_Byte0("_Letter_Row02_Col19_Byte0", float) = 0 - _Letter_Row02_Col20_Byte0("_Letter_Row02_Col20_Byte0", float) = 0 - _Letter_Row02_Col21_Byte0("_Letter_Row02_Col21_Byte0", float) = 0 - _Letter_Row02_Col22_Byte0("_Letter_Row02_Col22_Byte0", float) = 0 - _Letter_Row02_Col23_Byte0("_Letter_Row02_Col23_Byte0", float) = 0 - _Letter_Row02_Col24_Byte0("_Letter_Row02_Col24_Byte0", float) = 0 - _Letter_Row02_Col25_Byte0("_Letter_Row02_Col25_Byte0", float) = 0 - _Letter_Row02_Col26_Byte0("_Letter_Row02_Col26_Byte0", float) = 0 - _Letter_Row02_Col27_Byte0("_Letter_Row02_Col27_Byte0", float) = 0 - _Letter_Row02_Col28_Byte0("_Letter_Row02_Col28_Byte0", float) = 0 - _Letter_Row02_Col29_Byte0("_Letter_Row02_Col29_Byte0", float) = 0 - _Letter_Row02_Col30_Byte0("_Letter_Row02_Col30_Byte0", float) = 0 - _Letter_Row02_Col31_Byte0("_Letter_Row02_Col31_Byte0", float) = 0 - _Letter_Row02_Col32_Byte0("_Letter_Row02_Col32_Byte0", float) = 0 - _Letter_Row02_Col33_Byte0("_Letter_Row02_Col33_Byte0", float) = 0 - _Letter_Row02_Col34_Byte0("_Letter_Row02_Col34_Byte0", float) = 0 - _Letter_Row02_Col35_Byte0("_Letter_Row02_Col35_Byte0", float) = 0 - _Letter_Row02_Col36_Byte0("_Letter_Row02_Col36_Byte0", float) = 0 - _Letter_Row02_Col37_Byte0("_Letter_Row02_Col37_Byte0", float) = 0 - _Letter_Row02_Col38_Byte0("_Letter_Row02_Col38_Byte0", float) = 0 - _Letter_Row02_Col39_Byte0("_Letter_Row02_Col39_Byte0", float) = 0 - _Letter_Row02_Col40_Byte0("_Letter_Row02_Col40_Byte0", float) = 0 - _Letter_Row02_Col41_Byte0("_Letter_Row02_Col41_Byte0", float) = 0 - _Letter_Row02_Col42_Byte0("_Letter_Row02_Col42_Byte0", float) = 0 - _Letter_Row02_Col43_Byte0("_Letter_Row02_Col43_Byte0", float) = 0 - _Letter_Row03_Col00_Byte0("_Letter_Row03_Col00_Byte0", float) = 0 - _Letter_Row03_Col01_Byte0("_Letter_Row03_Col01_Byte0", float) = 0 - _Letter_Row03_Col02_Byte0("_Letter_Row03_Col02_Byte0", float) = 0 - _Letter_Row03_Col03_Byte0("_Letter_Row03_Col03_Byte0", float) = 0 - _Letter_Row03_Col04_Byte0("_Letter_Row03_Col04_Byte0", float) = 0 - _Letter_Row03_Col05_Byte0("_Letter_Row03_Col05_Byte0", float) = 0 - _Letter_Row03_Col06_Byte0("_Letter_Row03_Col06_Byte0", float) = 0 - _Letter_Row03_Col07_Byte0("_Letter_Row03_Col07_Byte0", float) = 0 - _Letter_Row03_Col08_Byte0("_Letter_Row03_Col08_Byte0", float) = 0 - _Letter_Row03_Col09_Byte0("_Letter_Row03_Col09_Byte0", float) = 0 - _Letter_Row03_Col10_Byte0("_Letter_Row03_Col10_Byte0", float) = 0 - _Letter_Row03_Col11_Byte0("_Letter_Row03_Col11_Byte0", float) = 0 - _Letter_Row03_Col12_Byte0("_Letter_Row03_Col12_Byte0", float) = 0 - _Letter_Row03_Col13_Byte0("_Letter_Row03_Col13_Byte0", float) = 0 - _Letter_Row03_Col14_Byte0("_Letter_Row03_Col14_Byte0", float) = 0 - _Letter_Row03_Col15_Byte0("_Letter_Row03_Col15_Byte0", float) = 0 - _Letter_Row03_Col16_Byte0("_Letter_Row03_Col16_Byte0", float) = 0 - _Letter_Row03_Col17_Byte0("_Letter_Row03_Col17_Byte0", float) = 0 - _Letter_Row03_Col18_Byte0("_Letter_Row03_Col18_Byte0", float) = 0 - _Letter_Row03_Col19_Byte0("_Letter_Row03_Col19_Byte0", float) = 0 - _Letter_Row03_Col20_Byte0("_Letter_Row03_Col20_Byte0", float) = 0 - _Letter_Row03_Col21_Byte0("_Letter_Row03_Col21_Byte0", float) = 0 - _Letter_Row03_Col22_Byte0("_Letter_Row03_Col22_Byte0", float) = 0 - _Letter_Row03_Col23_Byte0("_Letter_Row03_Col23_Byte0", float) = 0 - _Letter_Row03_Col24_Byte0("_Letter_Row03_Col24_Byte0", float) = 0 - _Letter_Row03_Col25_Byte0("_Letter_Row03_Col25_Byte0", float) = 0 - _Letter_Row03_Col26_Byte0("_Letter_Row03_Col26_Byte0", float) = 0 - _Letter_Row03_Col27_Byte0("_Letter_Row03_Col27_Byte0", float) = 0 - _Letter_Row03_Col28_Byte0("_Letter_Row03_Col28_Byte0", float) = 0 - _Letter_Row03_Col29_Byte0("_Letter_Row03_Col29_Byte0", float) = 0 - _Letter_Row03_Col30_Byte0("_Letter_Row03_Col30_Byte0", float) = 0 - _Letter_Row03_Col31_Byte0("_Letter_Row03_Col31_Byte0", float) = 0 - _Letter_Row03_Col32_Byte0("_Letter_Row03_Col32_Byte0", float) = 0 - _Letter_Row03_Col33_Byte0("_Letter_Row03_Col33_Byte0", float) = 0 - _Letter_Row03_Col34_Byte0("_Letter_Row03_Col34_Byte0", float) = 0 - _Letter_Row03_Col35_Byte0("_Letter_Row03_Col35_Byte0", float) = 0 - _Letter_Row03_Col36_Byte0("_Letter_Row03_Col36_Byte0", float) = 0 - _Letter_Row03_Col37_Byte0("_Letter_Row03_Col37_Byte0", float) = 0 - _Letter_Row03_Col38_Byte0("_Letter_Row03_Col38_Byte0", float) = 0 - _Letter_Row03_Col39_Byte0("_Letter_Row03_Col39_Byte0", float) = 0 - _Letter_Row03_Col40_Byte0("_Letter_Row03_Col40_Byte0", float) = 0 - _Letter_Row03_Col41_Byte0("_Letter_Row03_Col41_Byte0", float) = 0 - _Letter_Row03_Col42_Byte0("_Letter_Row03_Col42_Byte0", float) = 0 - _Letter_Row03_Col43_Byte0("_Letter_Row03_Col43_Byte0", float) = 0 - _Letter_Row00_Col00_Byte1("_Letter_Row00_Col00_Byte1", float) = 0 - _Letter_Row00_Col01_Byte1("_Letter_Row00_Col01_Byte1", float) = 0 - _Letter_Row00_Col02_Byte1("_Letter_Row00_Col02_Byte1", float) = 0 - _Letter_Row00_Col03_Byte1("_Letter_Row00_Col03_Byte1", float) = 0 - _Letter_Row00_Col04_Byte1("_Letter_Row00_Col04_Byte1", float) = 0 - _Letter_Row00_Col05_Byte1("_Letter_Row00_Col05_Byte1", float) = 0 - _Letter_Row00_Col06_Byte1("_Letter_Row00_Col06_Byte1", float) = 0 - _Letter_Row00_Col07_Byte1("_Letter_Row00_Col07_Byte1", float) = 0 - _Letter_Row00_Col08_Byte1("_Letter_Row00_Col08_Byte1", float) = 0 - _Letter_Row00_Col09_Byte1("_Letter_Row00_Col09_Byte1", float) = 0 - _Letter_Row00_Col10_Byte1("_Letter_Row00_Col10_Byte1", float) = 0 - _Letter_Row00_Col11_Byte1("_Letter_Row00_Col11_Byte1", float) = 0 - _Letter_Row00_Col12_Byte1("_Letter_Row00_Col12_Byte1", float) = 0 - _Letter_Row00_Col13_Byte1("_Letter_Row00_Col13_Byte1", float) = 0 - _Letter_Row00_Col14_Byte1("_Letter_Row00_Col14_Byte1", float) = 0 - _Letter_Row00_Col15_Byte1("_Letter_Row00_Col15_Byte1", float) = 0 - _Letter_Row00_Col16_Byte1("_Letter_Row00_Col16_Byte1", float) = 0 - _Letter_Row00_Col17_Byte1("_Letter_Row00_Col17_Byte1", float) = 0 - _Letter_Row00_Col18_Byte1("_Letter_Row00_Col18_Byte1", float) = 0 - _Letter_Row00_Col19_Byte1("_Letter_Row00_Col19_Byte1", float) = 0 - _Letter_Row00_Col20_Byte1("_Letter_Row00_Col20_Byte1", float) = 0 - _Letter_Row00_Col21_Byte1("_Letter_Row00_Col21_Byte1", float) = 0 - _Letter_Row00_Col22_Byte1("_Letter_Row00_Col22_Byte1", float) = 0 - _Letter_Row00_Col23_Byte1("_Letter_Row00_Col23_Byte1", float) = 0 - _Letter_Row00_Col24_Byte1("_Letter_Row00_Col24_Byte1", float) = 0 - _Letter_Row00_Col25_Byte1("_Letter_Row00_Col25_Byte1", float) = 0 - _Letter_Row00_Col26_Byte1("_Letter_Row00_Col26_Byte1", float) = 0 - _Letter_Row00_Col27_Byte1("_Letter_Row00_Col27_Byte1", float) = 0 - _Letter_Row00_Col28_Byte1("_Letter_Row00_Col28_Byte1", float) = 0 - _Letter_Row00_Col29_Byte1("_Letter_Row00_Col29_Byte1", float) = 0 - _Letter_Row00_Col30_Byte1("_Letter_Row00_Col30_Byte1", float) = 0 - _Letter_Row00_Col31_Byte1("_Letter_Row00_Col31_Byte1", float) = 0 - _Letter_Row00_Col32_Byte1("_Letter_Row00_Col32_Byte1", float) = 0 - _Letter_Row00_Col33_Byte1("_Letter_Row00_Col33_Byte1", float) = 0 - _Letter_Row00_Col34_Byte1("_Letter_Row00_Col34_Byte1", float) = 0 - _Letter_Row00_Col35_Byte1("_Letter_Row00_Col35_Byte1", float) = 0 - _Letter_Row00_Col36_Byte1("_Letter_Row00_Col36_Byte1", float) = 0 - _Letter_Row00_Col37_Byte1("_Letter_Row00_Col37_Byte1", float) = 0 - _Letter_Row00_Col38_Byte1("_Letter_Row00_Col38_Byte1", float) = 0 - _Letter_Row00_Col39_Byte1("_Letter_Row00_Col39_Byte1", float) = 0 - _Letter_Row00_Col40_Byte1("_Letter_Row00_Col40_Byte1", float) = 0 - _Letter_Row00_Col41_Byte1("_Letter_Row00_Col41_Byte1", float) = 0 - _Letter_Row00_Col42_Byte1("_Letter_Row00_Col42_Byte1", float) = 0 - _Letter_Row00_Col43_Byte1("_Letter_Row00_Col43_Byte1", float) = 0 - _Letter_Row01_Col00_Byte1("_Letter_Row01_Col00_Byte1", float) = 0 - _Letter_Row01_Col01_Byte1("_Letter_Row01_Col01_Byte1", float) = 0 - _Letter_Row01_Col02_Byte1("_Letter_Row01_Col02_Byte1", float) = 0 - _Letter_Row01_Col03_Byte1("_Letter_Row01_Col03_Byte1", float) = 0 - _Letter_Row01_Col04_Byte1("_Letter_Row01_Col04_Byte1", float) = 0 - _Letter_Row01_Col05_Byte1("_Letter_Row01_Col05_Byte1", float) = 0 - _Letter_Row01_Col06_Byte1("_Letter_Row01_Col06_Byte1", float) = 0 - _Letter_Row01_Col07_Byte1("_Letter_Row01_Col07_Byte1", float) = 0 - _Letter_Row01_Col08_Byte1("_Letter_Row01_Col08_Byte1", float) = 0 - _Letter_Row01_Col09_Byte1("_Letter_Row01_Col09_Byte1", float) = 0 - _Letter_Row01_Col10_Byte1("_Letter_Row01_Col10_Byte1", float) = 0 - _Letter_Row01_Col11_Byte1("_Letter_Row01_Col11_Byte1", float) = 0 - _Letter_Row01_Col12_Byte1("_Letter_Row01_Col12_Byte1", float) = 0 - _Letter_Row01_Col13_Byte1("_Letter_Row01_Col13_Byte1", float) = 0 - _Letter_Row01_Col14_Byte1("_Letter_Row01_Col14_Byte1", float) = 0 - _Letter_Row01_Col15_Byte1("_Letter_Row01_Col15_Byte1", float) = 0 - _Letter_Row01_Col16_Byte1("_Letter_Row01_Col16_Byte1", float) = 0 - _Letter_Row01_Col17_Byte1("_Letter_Row01_Col17_Byte1", float) = 0 - _Letter_Row01_Col18_Byte1("_Letter_Row01_Col18_Byte1", float) = 0 - _Letter_Row01_Col19_Byte1("_Letter_Row01_Col19_Byte1", float) = 0 - _Letter_Row01_Col20_Byte1("_Letter_Row01_Col20_Byte1", float) = 0 - _Letter_Row01_Col21_Byte1("_Letter_Row01_Col21_Byte1", float) = 0 - _Letter_Row01_Col22_Byte1("_Letter_Row01_Col22_Byte1", float) = 0 - _Letter_Row01_Col23_Byte1("_Letter_Row01_Col23_Byte1", float) = 0 - _Letter_Row01_Col24_Byte1("_Letter_Row01_Col24_Byte1", float) = 0 - _Letter_Row01_Col25_Byte1("_Letter_Row01_Col25_Byte1", float) = 0 - _Letter_Row01_Col26_Byte1("_Letter_Row01_Col26_Byte1", float) = 0 - _Letter_Row01_Col27_Byte1("_Letter_Row01_Col27_Byte1", float) = 0 - _Letter_Row01_Col28_Byte1("_Letter_Row01_Col28_Byte1", float) = 0 - _Letter_Row01_Col29_Byte1("_Letter_Row01_Col29_Byte1", float) = 0 - _Letter_Row01_Col30_Byte1("_Letter_Row01_Col30_Byte1", float) = 0 - _Letter_Row01_Col31_Byte1("_Letter_Row01_Col31_Byte1", float) = 0 - _Letter_Row01_Col32_Byte1("_Letter_Row01_Col32_Byte1", float) = 0 - _Letter_Row01_Col33_Byte1("_Letter_Row01_Col33_Byte1", float) = 0 - _Letter_Row01_Col34_Byte1("_Letter_Row01_Col34_Byte1", float) = 0 - _Letter_Row01_Col35_Byte1("_Letter_Row01_Col35_Byte1", float) = 0 - _Letter_Row01_Col36_Byte1("_Letter_Row01_Col36_Byte1", float) = 0 - _Letter_Row01_Col37_Byte1("_Letter_Row01_Col37_Byte1", float) = 0 - _Letter_Row01_Col38_Byte1("_Letter_Row01_Col38_Byte1", float) = 0 - _Letter_Row01_Col39_Byte1("_Letter_Row01_Col39_Byte1", float) = 0 - _Letter_Row01_Col40_Byte1("_Letter_Row01_Col40_Byte1", float) = 0 - _Letter_Row01_Col41_Byte1("_Letter_Row01_Col41_Byte1", float) = 0 - _Letter_Row01_Col42_Byte1("_Letter_Row01_Col42_Byte1", float) = 0 - _Letter_Row01_Col43_Byte1("_Letter_Row01_Col43_Byte1", float) = 0 - _Letter_Row02_Col00_Byte1("_Letter_Row02_Col00_Byte1", float) = 0 - _Letter_Row02_Col01_Byte1("_Letter_Row02_Col01_Byte1", float) = 0 - _Letter_Row02_Col02_Byte1("_Letter_Row02_Col02_Byte1", float) = 0 - _Letter_Row02_Col03_Byte1("_Letter_Row02_Col03_Byte1", float) = 0 - _Letter_Row02_Col04_Byte1("_Letter_Row02_Col04_Byte1", float) = 0 - _Letter_Row02_Col05_Byte1("_Letter_Row02_Col05_Byte1", float) = 0 - _Letter_Row02_Col06_Byte1("_Letter_Row02_Col06_Byte1", float) = 0 - _Letter_Row02_Col07_Byte1("_Letter_Row02_Col07_Byte1", float) = 0 - _Letter_Row02_Col08_Byte1("_Letter_Row02_Col08_Byte1", float) = 0 - _Letter_Row02_Col09_Byte1("_Letter_Row02_Col09_Byte1", float) = 0 - _Letter_Row02_Col10_Byte1("_Letter_Row02_Col10_Byte1", float) = 0 - _Letter_Row02_Col11_Byte1("_Letter_Row02_Col11_Byte1", float) = 0 - _Letter_Row02_Col12_Byte1("_Letter_Row02_Col12_Byte1", float) = 0 - _Letter_Row02_Col13_Byte1("_Letter_Row02_Col13_Byte1", float) = 0 - _Letter_Row02_Col14_Byte1("_Letter_Row02_Col14_Byte1", float) = 0 - _Letter_Row02_Col15_Byte1("_Letter_Row02_Col15_Byte1", float) = 0 - _Letter_Row02_Col16_Byte1("_Letter_Row02_Col16_Byte1", float) = 0 - _Letter_Row02_Col17_Byte1("_Letter_Row02_Col17_Byte1", float) = 0 - _Letter_Row02_Col18_Byte1("_Letter_Row02_Col18_Byte1", float) = 0 - _Letter_Row02_Col19_Byte1("_Letter_Row02_Col19_Byte1", float) = 0 - _Letter_Row02_Col20_Byte1("_Letter_Row02_Col20_Byte1", float) = 0 - _Letter_Row02_Col21_Byte1("_Letter_Row02_Col21_Byte1", float) = 0 - _Letter_Row02_Col22_Byte1("_Letter_Row02_Col22_Byte1", float) = 0 - _Letter_Row02_Col23_Byte1("_Letter_Row02_Col23_Byte1", float) = 0 - _Letter_Row02_Col24_Byte1("_Letter_Row02_Col24_Byte1", float) = 0 - _Letter_Row02_Col25_Byte1("_Letter_Row02_Col25_Byte1", float) = 0 - _Letter_Row02_Col26_Byte1("_Letter_Row02_Col26_Byte1", float) = 0 - _Letter_Row02_Col27_Byte1("_Letter_Row02_Col27_Byte1", float) = 0 - _Letter_Row02_Col28_Byte1("_Letter_Row02_Col28_Byte1", float) = 0 - _Letter_Row02_Col29_Byte1("_Letter_Row02_Col29_Byte1", float) = 0 - _Letter_Row02_Col30_Byte1("_Letter_Row02_Col30_Byte1", float) = 0 - _Letter_Row02_Col31_Byte1("_Letter_Row02_Col31_Byte1", float) = 0 - _Letter_Row02_Col32_Byte1("_Letter_Row02_Col32_Byte1", float) = 0 - _Letter_Row02_Col33_Byte1("_Letter_Row02_Col33_Byte1", float) = 0 - _Letter_Row02_Col34_Byte1("_Letter_Row02_Col34_Byte1", float) = 0 - _Letter_Row02_Col35_Byte1("_Letter_Row02_Col35_Byte1", float) = 0 - _Letter_Row02_Col36_Byte1("_Letter_Row02_Col36_Byte1", float) = 0 - _Letter_Row02_Col37_Byte1("_Letter_Row02_Col37_Byte1", float) = 0 - _Letter_Row02_Col38_Byte1("_Letter_Row02_Col38_Byte1", float) = 0 - _Letter_Row02_Col39_Byte1("_Letter_Row02_Col39_Byte1", float) = 0 - _Letter_Row02_Col40_Byte1("_Letter_Row02_Col40_Byte1", float) = 0 - _Letter_Row02_Col41_Byte1("_Letter_Row02_Col41_Byte1", float) = 0 - _Letter_Row02_Col42_Byte1("_Letter_Row02_Col42_Byte1", float) = 0 - _Letter_Row02_Col43_Byte1("_Letter_Row02_Col43_Byte1", float) = 0 - _Letter_Row03_Col00_Byte1("_Letter_Row03_Col00_Byte1", float) = 0 - _Letter_Row03_Col01_Byte1("_Letter_Row03_Col01_Byte1", float) = 0 - _Letter_Row03_Col02_Byte1("_Letter_Row03_Col02_Byte1", float) = 0 - _Letter_Row03_Col03_Byte1("_Letter_Row03_Col03_Byte1", float) = 0 - _Letter_Row03_Col04_Byte1("_Letter_Row03_Col04_Byte1", float) = 0 - _Letter_Row03_Col05_Byte1("_Letter_Row03_Col05_Byte1", float) = 0 - _Letter_Row03_Col06_Byte1("_Letter_Row03_Col06_Byte1", float) = 0 - _Letter_Row03_Col07_Byte1("_Letter_Row03_Col07_Byte1", float) = 0 - _Letter_Row03_Col08_Byte1("_Letter_Row03_Col08_Byte1", float) = 0 - _Letter_Row03_Col09_Byte1("_Letter_Row03_Col09_Byte1", float) = 0 - _Letter_Row03_Col10_Byte1("_Letter_Row03_Col10_Byte1", float) = 0 - _Letter_Row03_Col11_Byte1("_Letter_Row03_Col11_Byte1", float) = 0 - _Letter_Row03_Col12_Byte1("_Letter_Row03_Col12_Byte1", float) = 0 - _Letter_Row03_Col13_Byte1("_Letter_Row03_Col13_Byte1", float) = 0 - _Letter_Row03_Col14_Byte1("_Letter_Row03_Col14_Byte1", float) = 0 - _Letter_Row03_Col15_Byte1("_Letter_Row03_Col15_Byte1", float) = 0 - _Letter_Row03_Col16_Byte1("_Letter_Row03_Col16_Byte1", float) = 0 - _Letter_Row03_Col17_Byte1("_Letter_Row03_Col17_Byte1", float) = 0 - _Letter_Row03_Col18_Byte1("_Letter_Row03_Col18_Byte1", float) = 0 - _Letter_Row03_Col19_Byte1("_Letter_Row03_Col19_Byte1", float) = 0 - _Letter_Row03_Col20_Byte1("_Letter_Row03_Col20_Byte1", float) = 0 - _Letter_Row03_Col21_Byte1("_Letter_Row03_Col21_Byte1", float) = 0 - _Letter_Row03_Col22_Byte1("_Letter_Row03_Col22_Byte1", float) = 0 - _Letter_Row03_Col23_Byte1("_Letter_Row03_Col23_Byte1", float) = 0 - _Letter_Row03_Col24_Byte1("_Letter_Row03_Col24_Byte1", float) = 0 - _Letter_Row03_Col25_Byte1("_Letter_Row03_Col25_Byte1", float) = 0 - _Letter_Row03_Col26_Byte1("_Letter_Row03_Col26_Byte1", float) = 0 - _Letter_Row03_Col27_Byte1("_Letter_Row03_Col27_Byte1", float) = 0 - _Letter_Row03_Col28_Byte1("_Letter_Row03_Col28_Byte1", float) = 0 - _Letter_Row03_Col29_Byte1("_Letter_Row03_Col29_Byte1", float) = 0 - _Letter_Row03_Col30_Byte1("_Letter_Row03_Col30_Byte1", float) = 0 - _Letter_Row03_Col31_Byte1("_Letter_Row03_Col31_Byte1", float) = 0 - _Letter_Row03_Col32_Byte1("_Letter_Row03_Col32_Byte1", float) = 0 - _Letter_Row03_Col33_Byte1("_Letter_Row03_Col33_Byte1", float) = 0 - _Letter_Row03_Col34_Byte1("_Letter_Row03_Col34_Byte1", float) = 0 - _Letter_Row03_Col35_Byte1("_Letter_Row03_Col35_Byte1", float) = 0 - _Letter_Row03_Col36_Byte1("_Letter_Row03_Col36_Byte1", float) = 0 - _Letter_Row03_Col37_Byte1("_Letter_Row03_Col37_Byte1", float) = 0 - _Letter_Row03_Col38_Byte1("_Letter_Row03_Col38_Byte1", float) = 0 - _Letter_Row03_Col39_Byte1("_Letter_Row03_Col39_Byte1", float) = 0 - _Letter_Row03_Col40_Byte1("_Letter_Row03_Col40_Byte1", float) = 0 - _Letter_Row03_Col41_Byte1("_Letter_Row03_Col41_Byte1", float) = 0 - _Letter_Row03_Col42_Byte1("_Letter_Row03_Col42_Byte1", float) = 0 - _Letter_Row03_Col43_Byte1("_Letter_Row03_Col43_Byte1", float) = 0 - } - SubShader - { - Tags { "RenderType"="Opaque" "Queue"="AlphaTest"} - LOD 100 - - Pass - { - Blend SrcAlpha OneMinusSrcAlpha - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile - - #include "UnityCG.cginc" - - struct appdata - { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float3 normal : NORMAL; - }; - - struct v2f - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - }; - - SamplerState sampler_linear_repeat; - - Texture2D _Font_0x0000_0x1FFF; - Texture2D _Font_0x2000_0x3FFF; - Texture2D _Font_0x4000_0x5FFF; - Texture2D _Font_0x6000_0x7FFF; - Texture2D _Font_0x8000_0x9FFF; - Texture2D _Font_0xA000_0xBFFF; - Texture2D _Font_0xC000_0xDFFF; - - float3 HUEtoRGB(in float H) - { - float R = abs(H * 6 - 3) - 1; - float G = 2 - abs(H * 6 - 2); - float B = 2 - abs(H * 6 - 4); - return saturate(float3(R, G, B)); - } - - float3 HSVtoRGB(in float3 HSV) - { - float3 RGB = HUEtoRGB(HSV.x); - return ((RGB - 1) * HSV.y + 1) * HSV.z; - } - - float TaSTT_Indicator_0; - float TaSTT_Indicator_1; - static const float3 TaSTT_Indicator_Color_0 = HSVtoRGB(float3(0.00, 0.7, 1.0)); - static const float3 TaSTT_Indicator_Color_1 = HSVtoRGB(float3(0.07, 0.7, 1.0)); - static const float3 TaSTT_Indicator_Color_2 = HSVtoRGB(float3(0.30, 0.7, 1.0)); - - fixed4 float3tofixed4(in float3 f3, in float alpha) - { - return fixed4( - f3.r, - f3.g, - f3.b, - alpha); - } - - Texture2D TaSTT_Backplate; - - float _Letter_Row00_Col00_Byte0; - float _Letter_Row00_Col01_Byte0; - float _Letter_Row00_Col02_Byte0; - float _Letter_Row00_Col03_Byte0; - float _Letter_Row00_Col04_Byte0; - float _Letter_Row00_Col05_Byte0; - float _Letter_Row00_Col06_Byte0; - float _Letter_Row00_Col07_Byte0; - float _Letter_Row00_Col08_Byte0; - float _Letter_Row00_Col09_Byte0; - float _Letter_Row00_Col10_Byte0; - float _Letter_Row00_Col11_Byte0; - float _Letter_Row00_Col12_Byte0; - float _Letter_Row00_Col13_Byte0; - float _Letter_Row00_Col14_Byte0; - float _Letter_Row00_Col15_Byte0; - float _Letter_Row00_Col16_Byte0; - float _Letter_Row00_Col17_Byte0; - float _Letter_Row00_Col18_Byte0; - float _Letter_Row00_Col19_Byte0; - float _Letter_Row00_Col20_Byte0; - float _Letter_Row00_Col21_Byte0; - float _Letter_Row00_Col22_Byte0; - float _Letter_Row00_Col23_Byte0; - float _Letter_Row00_Col24_Byte0; - float _Letter_Row00_Col25_Byte0; - float _Letter_Row00_Col26_Byte0; - float _Letter_Row00_Col27_Byte0; - float _Letter_Row00_Col28_Byte0; - float _Letter_Row00_Col29_Byte0; - float _Letter_Row00_Col30_Byte0; - float _Letter_Row00_Col31_Byte0; - float _Letter_Row00_Col32_Byte0; - float _Letter_Row00_Col33_Byte0; - float _Letter_Row00_Col34_Byte0; - float _Letter_Row00_Col35_Byte0; - float _Letter_Row00_Col36_Byte0; - float _Letter_Row00_Col37_Byte0; - float _Letter_Row00_Col38_Byte0; - float _Letter_Row00_Col39_Byte0; - float _Letter_Row00_Col40_Byte0; - float _Letter_Row00_Col41_Byte0; - float _Letter_Row00_Col42_Byte0; - float _Letter_Row00_Col43_Byte0; - float _Letter_Row01_Col00_Byte0; - float _Letter_Row01_Col01_Byte0; - float _Letter_Row01_Col02_Byte0; - float _Letter_Row01_Col03_Byte0; - float _Letter_Row01_Col04_Byte0; - float _Letter_Row01_Col05_Byte0; - float _Letter_Row01_Col06_Byte0; - float _Letter_Row01_Col07_Byte0; - float _Letter_Row01_Col08_Byte0; - float _Letter_Row01_Col09_Byte0; - float _Letter_Row01_Col10_Byte0; - float _Letter_Row01_Col11_Byte0; - float _Letter_Row01_Col12_Byte0; - float _Letter_Row01_Col13_Byte0; - float _Letter_Row01_Col14_Byte0; - float _Letter_Row01_Col15_Byte0; - float _Letter_Row01_Col16_Byte0; - float _Letter_Row01_Col17_Byte0; - float _Letter_Row01_Col18_Byte0; - float _Letter_Row01_Col19_Byte0; - float _Letter_Row01_Col20_Byte0; - float _Letter_Row01_Col21_Byte0; - float _Letter_Row01_Col22_Byte0; - float _Letter_Row01_Col23_Byte0; - float _Letter_Row01_Col24_Byte0; - float _Letter_Row01_Col25_Byte0; - float _Letter_Row01_Col26_Byte0; - float _Letter_Row01_Col27_Byte0; - float _Letter_Row01_Col28_Byte0; - float _Letter_Row01_Col29_Byte0; - float _Letter_Row01_Col30_Byte0; - float _Letter_Row01_Col31_Byte0; - float _Letter_Row01_Col32_Byte0; - float _Letter_Row01_Col33_Byte0; - float _Letter_Row01_Col34_Byte0; - float _Letter_Row01_Col35_Byte0; - float _Letter_Row01_Col36_Byte0; - float _Letter_Row01_Col37_Byte0; - float _Letter_Row01_Col38_Byte0; - float _Letter_Row01_Col39_Byte0; - float _Letter_Row01_Col40_Byte0; - float _Letter_Row01_Col41_Byte0; - float _Letter_Row01_Col42_Byte0; - float _Letter_Row01_Col43_Byte0; - float _Letter_Row02_Col00_Byte0; - float _Letter_Row02_Col01_Byte0; - float _Letter_Row02_Col02_Byte0; - float _Letter_Row02_Col03_Byte0; - float _Letter_Row02_Col04_Byte0; - float _Letter_Row02_Col05_Byte0; - float _Letter_Row02_Col06_Byte0; - float _Letter_Row02_Col07_Byte0; - float _Letter_Row02_Col08_Byte0; - float _Letter_Row02_Col09_Byte0; - float _Letter_Row02_Col10_Byte0; - float _Letter_Row02_Col11_Byte0; - float _Letter_Row02_Col12_Byte0; - float _Letter_Row02_Col13_Byte0; - float _Letter_Row02_Col14_Byte0; - float _Letter_Row02_Col15_Byte0; - float _Letter_Row02_Col16_Byte0; - float _Letter_Row02_Col17_Byte0; - float _Letter_Row02_Col18_Byte0; - float _Letter_Row02_Col19_Byte0; - float _Letter_Row02_Col20_Byte0; - float _Letter_Row02_Col21_Byte0; - float _Letter_Row02_Col22_Byte0; - float _Letter_Row02_Col23_Byte0; - float _Letter_Row02_Col24_Byte0; - float _Letter_Row02_Col25_Byte0; - float _Letter_Row02_Col26_Byte0; - float _Letter_Row02_Col27_Byte0; - float _Letter_Row02_Col28_Byte0; - float _Letter_Row02_Col29_Byte0; - float _Letter_Row02_Col30_Byte0; - float _Letter_Row02_Col31_Byte0; - float _Letter_Row02_Col32_Byte0; - float _Letter_Row02_Col33_Byte0; - float _Letter_Row02_Col34_Byte0; - float _Letter_Row02_Col35_Byte0; - float _Letter_Row02_Col36_Byte0; - float _Letter_Row02_Col37_Byte0; - float _Letter_Row02_Col38_Byte0; - float _Letter_Row02_Col39_Byte0; - float _Letter_Row02_Col40_Byte0; - float _Letter_Row02_Col41_Byte0; - float _Letter_Row02_Col42_Byte0; - float _Letter_Row02_Col43_Byte0; - float _Letter_Row03_Col00_Byte0; - float _Letter_Row03_Col01_Byte0; - float _Letter_Row03_Col02_Byte0; - float _Letter_Row03_Col03_Byte0; - float _Letter_Row03_Col04_Byte0; - float _Letter_Row03_Col05_Byte0; - float _Letter_Row03_Col06_Byte0; - float _Letter_Row03_Col07_Byte0; - float _Letter_Row03_Col08_Byte0; - float _Letter_Row03_Col09_Byte0; - float _Letter_Row03_Col10_Byte0; - float _Letter_Row03_Col11_Byte0; - float _Letter_Row03_Col12_Byte0; - float _Letter_Row03_Col13_Byte0; - float _Letter_Row03_Col14_Byte0; - float _Letter_Row03_Col15_Byte0; - float _Letter_Row03_Col16_Byte0; - float _Letter_Row03_Col17_Byte0; - float _Letter_Row03_Col18_Byte0; - float _Letter_Row03_Col19_Byte0; - float _Letter_Row03_Col20_Byte0; - float _Letter_Row03_Col21_Byte0; - float _Letter_Row03_Col22_Byte0; - float _Letter_Row03_Col23_Byte0; - float _Letter_Row03_Col24_Byte0; - float _Letter_Row03_Col25_Byte0; - float _Letter_Row03_Col26_Byte0; - float _Letter_Row03_Col27_Byte0; - float _Letter_Row03_Col28_Byte0; - float _Letter_Row03_Col29_Byte0; - float _Letter_Row03_Col30_Byte0; - float _Letter_Row03_Col31_Byte0; - float _Letter_Row03_Col32_Byte0; - float _Letter_Row03_Col33_Byte0; - float _Letter_Row03_Col34_Byte0; - float _Letter_Row03_Col35_Byte0; - float _Letter_Row03_Col36_Byte0; - float _Letter_Row03_Col37_Byte0; - float _Letter_Row03_Col38_Byte0; - float _Letter_Row03_Col39_Byte0; - float _Letter_Row03_Col40_Byte0; - float _Letter_Row03_Col41_Byte0; - float _Letter_Row03_Col42_Byte0; - float _Letter_Row03_Col43_Byte0; - float _Letter_Row00_Col00_Byte1; - float _Letter_Row00_Col01_Byte1; - float _Letter_Row00_Col02_Byte1; - float _Letter_Row00_Col03_Byte1; - float _Letter_Row00_Col04_Byte1; - float _Letter_Row00_Col05_Byte1; - float _Letter_Row00_Col06_Byte1; - float _Letter_Row00_Col07_Byte1; - float _Letter_Row00_Col08_Byte1; - float _Letter_Row00_Col09_Byte1; - float _Letter_Row00_Col10_Byte1; - float _Letter_Row00_Col11_Byte1; - float _Letter_Row00_Col12_Byte1; - float _Letter_Row00_Col13_Byte1; - float _Letter_Row00_Col14_Byte1; - float _Letter_Row00_Col15_Byte1; - float _Letter_Row00_Col16_Byte1; - float _Letter_Row00_Col17_Byte1; - float _Letter_Row00_Col18_Byte1; - float _Letter_Row00_Col19_Byte1; - float _Letter_Row00_Col20_Byte1; - float _Letter_Row00_Col21_Byte1; - float _Letter_Row00_Col22_Byte1; - float _Letter_Row00_Col23_Byte1; - float _Letter_Row00_Col24_Byte1; - float _Letter_Row00_Col25_Byte1; - float _Letter_Row00_Col26_Byte1; - float _Letter_Row00_Col27_Byte1; - float _Letter_Row00_Col28_Byte1; - float _Letter_Row00_Col29_Byte1; - float _Letter_Row00_Col30_Byte1; - float _Letter_Row00_Col31_Byte1; - float _Letter_Row00_Col32_Byte1; - float _Letter_Row00_Col33_Byte1; - float _Letter_Row00_Col34_Byte1; - float _Letter_Row00_Col35_Byte1; - float _Letter_Row00_Col36_Byte1; - float _Letter_Row00_Col37_Byte1; - float _Letter_Row00_Col38_Byte1; - float _Letter_Row00_Col39_Byte1; - float _Letter_Row00_Col40_Byte1; - float _Letter_Row00_Col41_Byte1; - float _Letter_Row00_Col42_Byte1; - float _Letter_Row00_Col43_Byte1; - float _Letter_Row01_Col00_Byte1; - float _Letter_Row01_Col01_Byte1; - float _Letter_Row01_Col02_Byte1; - float _Letter_Row01_Col03_Byte1; - float _Letter_Row01_Col04_Byte1; - float _Letter_Row01_Col05_Byte1; - float _Letter_Row01_Col06_Byte1; - float _Letter_Row01_Col07_Byte1; - float _Letter_Row01_Col08_Byte1; - float _Letter_Row01_Col09_Byte1; - float _Letter_Row01_Col10_Byte1; - float _Letter_Row01_Col11_Byte1; - float _Letter_Row01_Col12_Byte1; - float _Letter_Row01_Col13_Byte1; - float _Letter_Row01_Col14_Byte1; - float _Letter_Row01_Col15_Byte1; - float _Letter_Row01_Col16_Byte1; - float _Letter_Row01_Col17_Byte1; - float _Letter_Row01_Col18_Byte1; - float _Letter_Row01_Col19_Byte1; - float _Letter_Row01_Col20_Byte1; - float _Letter_Row01_Col21_Byte1; - float _Letter_Row01_Col22_Byte1; - float _Letter_Row01_Col23_Byte1; - float _Letter_Row01_Col24_Byte1; - float _Letter_Row01_Col25_Byte1; - float _Letter_Row01_Col26_Byte1; - float _Letter_Row01_Col27_Byte1; - float _Letter_Row01_Col28_Byte1; - float _Letter_Row01_Col29_Byte1; - float _Letter_Row01_Col30_Byte1; - float _Letter_Row01_Col31_Byte1; - float _Letter_Row01_Col32_Byte1; - float _Letter_Row01_Col33_Byte1; - float _Letter_Row01_Col34_Byte1; - float _Letter_Row01_Col35_Byte1; - float _Letter_Row01_Col36_Byte1; - float _Letter_Row01_Col37_Byte1; - float _Letter_Row01_Col38_Byte1; - float _Letter_Row01_Col39_Byte1; - float _Letter_Row01_Col40_Byte1; - float _Letter_Row01_Col41_Byte1; - float _Letter_Row01_Col42_Byte1; - float _Letter_Row01_Col43_Byte1; - float _Letter_Row02_Col00_Byte1; - float _Letter_Row02_Col01_Byte1; - float _Letter_Row02_Col02_Byte1; - float _Letter_Row02_Col03_Byte1; - float _Letter_Row02_Col04_Byte1; - float _Letter_Row02_Col05_Byte1; - float _Letter_Row02_Col06_Byte1; - float _Letter_Row02_Col07_Byte1; - float _Letter_Row02_Col08_Byte1; - float _Letter_Row02_Col09_Byte1; - float _Letter_Row02_Col10_Byte1; - float _Letter_Row02_Col11_Byte1; - float _Letter_Row02_Col12_Byte1; - float _Letter_Row02_Col13_Byte1; - float _Letter_Row02_Col14_Byte1; - float _Letter_Row02_Col15_Byte1; - float _Letter_Row02_Col16_Byte1; - float _Letter_Row02_Col17_Byte1; - float _Letter_Row02_Col18_Byte1; - float _Letter_Row02_Col19_Byte1; - float _Letter_Row02_Col20_Byte1; - float _Letter_Row02_Col21_Byte1; - float _Letter_Row02_Col22_Byte1; - float _Letter_Row02_Col23_Byte1; - float _Letter_Row02_Col24_Byte1; - float _Letter_Row02_Col25_Byte1; - float _Letter_Row02_Col26_Byte1; - float _Letter_Row02_Col27_Byte1; - float _Letter_Row02_Col28_Byte1; - float _Letter_Row02_Col29_Byte1; - float _Letter_Row02_Col30_Byte1; - float _Letter_Row02_Col31_Byte1; - float _Letter_Row02_Col32_Byte1; - float _Letter_Row02_Col33_Byte1; - float _Letter_Row02_Col34_Byte1; - float _Letter_Row02_Col35_Byte1; - float _Letter_Row02_Col36_Byte1; - float _Letter_Row02_Col37_Byte1; - float _Letter_Row02_Col38_Byte1; - float _Letter_Row02_Col39_Byte1; - float _Letter_Row02_Col40_Byte1; - float _Letter_Row02_Col41_Byte1; - float _Letter_Row02_Col42_Byte1; - float _Letter_Row02_Col43_Byte1; - float _Letter_Row03_Col00_Byte1; - float _Letter_Row03_Col01_Byte1; - float _Letter_Row03_Col02_Byte1; - float _Letter_Row03_Col03_Byte1; - float _Letter_Row03_Col04_Byte1; - float _Letter_Row03_Col05_Byte1; - float _Letter_Row03_Col06_Byte1; - float _Letter_Row03_Col07_Byte1; - float _Letter_Row03_Col08_Byte1; - float _Letter_Row03_Col09_Byte1; - float _Letter_Row03_Col10_Byte1; - float _Letter_Row03_Col11_Byte1; - float _Letter_Row03_Col12_Byte1; - float _Letter_Row03_Col13_Byte1; - float _Letter_Row03_Col14_Byte1; - float _Letter_Row03_Col15_Byte1; - float _Letter_Row03_Col16_Byte1; - float _Letter_Row03_Col17_Byte1; - float _Letter_Row03_Col18_Byte1; - float _Letter_Row03_Col19_Byte1; - float _Letter_Row03_Col20_Byte1; - float _Letter_Row03_Col21_Byte1; - float _Letter_Row03_Col22_Byte1; - float _Letter_Row03_Col23_Byte1; - float _Letter_Row03_Col24_Byte1; - float _Letter_Row03_Col25_Byte1; - float _Letter_Row03_Col26_Byte1; - float _Letter_Row03_Col27_Byte1; - float _Letter_Row03_Col28_Byte1; - float _Letter_Row03_Col29_Byte1; - float _Letter_Row03_Col30_Byte1; - float _Letter_Row03_Col31_Byte1; - float _Letter_Row03_Col32_Byte1; - float _Letter_Row03_Col33_Byte1; - float _Letter_Row03_Col34_Byte1; - float _Letter_Row03_Col35_Byte1; - float _Letter_Row03_Col36_Byte1; - float _Letter_Row03_Col37_Byte1; - float _Letter_Row03_Col38_Byte1; - float _Letter_Row03_Col39_Byte1; - float _Letter_Row03_Col40_Byte1; - float _Letter_Row03_Col41_Byte1; - float _Letter_Row03_Col42_Byte1; - float _Letter_Row03_Col43_Byte1; - - v2f vert (appdata v) - { - v2f o; - o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = 1.0 - v.uv; - return o; - } - - float2 AddMarginToUV(float2 uv, float2 margin) - { - float2 lo = float2(-margin.x / 2, -margin.y / 2); - float2 hi = float2(1.0 + margin.x / 2, 1.0 + margin.y / 2); - - return clamp(lerp(lo, hi, uv), 0.0, 1.0); - } - - bool InMargin(float2 uv, float2 margin) - { - return uv.x < margin.x / 2 || - uv.x > 1 - margin.x / 2 || - uv.y < margin.y / 2 || - uv.y > 1 - margin.y / 2; - } - - // dist = sqrt(dx^2 + dy^2) = sqrt( * ) - bool InRadius2(float2 uv, float2 pos, float radius2) - { - float2 delta = uv - pos; - return dot(delta, delta) < radius2; - } - - // Write the nth letter in the current cell and return the value of the - // pixel. - float2 GetLetter(float2 uv, int nth_letter) - { - // UV spans from [0,1] to [0,1]. - // 'U' is horizontal; cols. - // 'V' is vertical; rows. - // - // I want to divide the mesh into an m x n grid. - // I want to know what grid cell I'm in. This is simply u * m, v * n. - int CHAR_ROWS = 4; - int CHAR_COLS = 44; - - // OK, I know what cell I'm in. Now I need to know how far across it I - // am. Produce a float in the range [0, 1). - float CHAR_FRAC_COL = uv.x * CHAR_COLS - floor(uv.x * CHAR_COLS); - float CHAR_FRAC_ROW = uv.y * CHAR_ROWS - floor(uv.y * CHAR_ROWS); - - // Avoid rendering pixels right on the edge of the slot. If we were to - // do this, then that value would get stretched due to clamping - // (AddMarginToUV), resulting in long lines on the edge of the display. - if (CHAR_FRAC_ROW < 0.01 || - CHAR_FRAC_COL < 0.01 || - CHAR_FRAC_ROW > 0.99 || - CHAR_FRAC_COL > 0.99) { - return float2(0, 0); - } - - // This is the number of rows and columns in the actual texture. - float LETTER_COLS = 128.0; - float LETTER_ROWS = 64.0; - - float LETTER_COL = fmod(nth_letter, floor(LETTER_COLS)); - float LETTER_ROW = floor(LETTER_ROWS) - floor(nth_letter / floor(LETTER_COLS)); - - float LETTER_UV_ROW = (LETTER_ROW + CHAR_FRAC_ROW - 1.00) / LETTER_ROWS; - float LETTER_UV_COL = (LETTER_COL + CHAR_FRAC_COL) / LETTER_COLS; - - float2 result; - result.x = LETTER_UV_COL; - result.y = LETTER_UV_ROW; - - return result; - } - - Texture2D GetTexture(int which_letter) { - int which_texture = (int) floor(which_letter / (64 * 64)); - - [forcecase] switch (which_letter) - { - case 0: - return _Font_0x0000_0x1FFF; - case 1: - return _Font_0x2000_0x3FFF; - case 2: - return _Font_0x4000_0x5FFF; - case 3: - return _Font_0x6000_0x7FFF; - case 4: - return _Font_0x8000_0x9FFF; - case 5: - return _Font_0xA000_0xBFFF; - case 6: - return _Font_0xC000_0xDFFF; - default: - return _Font_0x0000_0x1FFF; - } - } - - // Get the value of the parameter for the cell we're in. - float2 GetLetterParameter(float2 uv) - { - float CHAR_ROWS = 4.0; - float CHAR_COLS = 44.0; - float CHAR_COL = floor(uv.x * CHAR_COLS); - float CHAR_ROW = floor(uv.y * CHAR_ROWS); - - [forcecase] switch (CHAR_ROW) - { - case 3: - [forcecase] switch (CHAR_COL) { - case 0: - return float2(_Letter_Row00_Col00_Byte0, _Letter_Row00_Col00_Byte1); - case 1: - return float2(_Letter_Row00_Col01_Byte0, _Letter_Row00_Col01_Byte1); - case 2: - return float2(_Letter_Row00_Col02_Byte0, _Letter_Row00_Col02_Byte1); - case 3: - return float2(_Letter_Row00_Col03_Byte0, _Letter_Row00_Col03_Byte1); - case 4: - return float2(_Letter_Row00_Col04_Byte0, _Letter_Row00_Col04_Byte1); - case 5: - return float2(_Letter_Row00_Col05_Byte0, _Letter_Row00_Col05_Byte1); - case 6: - return float2(_Letter_Row00_Col06_Byte0, _Letter_Row00_Col06_Byte1); - case 7: - return float2(_Letter_Row00_Col07_Byte0, _Letter_Row00_Col07_Byte1); - case 8: - return float2(_Letter_Row00_Col08_Byte0, _Letter_Row00_Col08_Byte1); - case 9: - return float2(_Letter_Row00_Col09_Byte0, _Letter_Row00_Col09_Byte1); - case 10: - return float2(_Letter_Row00_Col10_Byte0, _Letter_Row00_Col10_Byte1); - case 11: - return float2(_Letter_Row00_Col11_Byte0, _Letter_Row00_Col11_Byte1); - case 12: - return float2(_Letter_Row00_Col12_Byte0, _Letter_Row00_Col12_Byte1); - case 13: - return float2(_Letter_Row00_Col13_Byte0, _Letter_Row00_Col13_Byte1); - case 14: - return float2(_Letter_Row00_Col14_Byte0, _Letter_Row00_Col14_Byte1); - case 15: - return float2(_Letter_Row00_Col15_Byte0, _Letter_Row00_Col15_Byte1); - case 16: - return float2(_Letter_Row00_Col16_Byte0, _Letter_Row00_Col16_Byte1); - case 17: - return float2(_Letter_Row00_Col17_Byte0, _Letter_Row00_Col17_Byte1); - case 18: - return float2(_Letter_Row00_Col18_Byte0, _Letter_Row00_Col18_Byte1); - case 19: - return float2(_Letter_Row00_Col19_Byte0, _Letter_Row00_Col19_Byte1); - case 20: - return float2(_Letter_Row00_Col20_Byte0, _Letter_Row00_Col20_Byte1); - case 21: - return float2(_Letter_Row00_Col21_Byte0, _Letter_Row00_Col21_Byte1); - case 22: - return float2(_Letter_Row00_Col22_Byte0, _Letter_Row00_Col22_Byte1); - case 23: - return float2(_Letter_Row00_Col23_Byte0, _Letter_Row00_Col23_Byte1); - case 24: - return float2(_Letter_Row00_Col24_Byte0, _Letter_Row00_Col24_Byte1); - case 25: - return float2(_Letter_Row00_Col25_Byte0, _Letter_Row00_Col25_Byte1); - case 26: - return float2(_Letter_Row00_Col26_Byte0, _Letter_Row00_Col26_Byte1); - case 27: - return float2(_Letter_Row00_Col27_Byte0, _Letter_Row00_Col27_Byte1); - case 28: - return float2(_Letter_Row00_Col28_Byte0, _Letter_Row00_Col28_Byte1); - case 29: - return float2(_Letter_Row00_Col29_Byte0, _Letter_Row00_Col29_Byte1); - case 30: - return float2(_Letter_Row00_Col30_Byte0, _Letter_Row00_Col30_Byte1); - case 31: - return float2(_Letter_Row00_Col31_Byte0, _Letter_Row00_Col31_Byte1); - case 32: - return float2(_Letter_Row00_Col32_Byte0, _Letter_Row00_Col32_Byte1); - case 33: - return float2(_Letter_Row00_Col33_Byte0, _Letter_Row00_Col33_Byte1); - case 34: - return float2(_Letter_Row00_Col34_Byte0, _Letter_Row00_Col34_Byte1); - case 35: - return float2(_Letter_Row00_Col35_Byte0, _Letter_Row00_Col35_Byte1); - case 36: - return float2(_Letter_Row00_Col36_Byte0, _Letter_Row00_Col36_Byte1); - case 37: - return float2(_Letter_Row00_Col37_Byte0, _Letter_Row00_Col37_Byte1); - case 38: - return float2(_Letter_Row00_Col38_Byte0, _Letter_Row00_Col38_Byte1); - case 39: - return float2(_Letter_Row00_Col39_Byte0, _Letter_Row00_Col39_Byte1); - case 40: - return float2(_Letter_Row00_Col40_Byte0, _Letter_Row00_Col40_Byte1); - case 41: - return float2(_Letter_Row00_Col41_Byte0, _Letter_Row00_Col41_Byte1); - case 42: - return float2(_Letter_Row00_Col42_Byte0, _Letter_Row00_Col42_Byte1); - case 43: - return float2(_Letter_Row00_Col43_Byte0, _Letter_Row00_Col43_Byte1); - default: - return float2(0, 0); - } - case 2: - [forcecase] switch (CHAR_COL) { - case 0: - return float2(_Letter_Row01_Col00_Byte0, _Letter_Row01_Col00_Byte1); - case 1: - return float2(_Letter_Row01_Col01_Byte0, _Letter_Row01_Col01_Byte1); - case 2: - return float2(_Letter_Row01_Col02_Byte0, _Letter_Row01_Col02_Byte1); - case 3: - return float2(_Letter_Row01_Col03_Byte0, _Letter_Row01_Col03_Byte1); - case 4: - return float2(_Letter_Row01_Col04_Byte0, _Letter_Row01_Col04_Byte1); - case 5: - return float2(_Letter_Row01_Col05_Byte0, _Letter_Row01_Col05_Byte1); - case 6: - return float2(_Letter_Row01_Col06_Byte0, _Letter_Row01_Col06_Byte1); - case 7: - return float2(_Letter_Row01_Col07_Byte0, _Letter_Row01_Col07_Byte1); - case 8: - return float2(_Letter_Row01_Col08_Byte0, _Letter_Row01_Col08_Byte1); - case 9: - return float2(_Letter_Row01_Col09_Byte0, _Letter_Row01_Col09_Byte1); - case 10: - return float2(_Letter_Row01_Col10_Byte0, _Letter_Row01_Col10_Byte1); - case 11: - return float2(_Letter_Row01_Col11_Byte0, _Letter_Row01_Col11_Byte1); - case 12: - return float2(_Letter_Row01_Col12_Byte0, _Letter_Row01_Col12_Byte1); - case 13: - return float2(_Letter_Row01_Col13_Byte0, _Letter_Row01_Col13_Byte1); - case 14: - return float2(_Letter_Row01_Col14_Byte0, _Letter_Row01_Col14_Byte1); - case 15: - return float2(_Letter_Row01_Col15_Byte0, _Letter_Row01_Col15_Byte1); - case 16: - return float2(_Letter_Row01_Col16_Byte0, _Letter_Row01_Col16_Byte1); - case 17: - return float2(_Letter_Row01_Col17_Byte0, _Letter_Row01_Col17_Byte1); - case 18: - return float2(_Letter_Row01_Col18_Byte0, _Letter_Row01_Col18_Byte1); - case 19: - return float2(_Letter_Row01_Col19_Byte0, _Letter_Row01_Col19_Byte1); - case 20: - return float2(_Letter_Row01_Col20_Byte0, _Letter_Row01_Col20_Byte1); - case 21: - return float2(_Letter_Row01_Col21_Byte0, _Letter_Row01_Col21_Byte1); - case 22: - return float2(_Letter_Row01_Col22_Byte0, _Letter_Row01_Col22_Byte1); - case 23: - return float2(_Letter_Row01_Col23_Byte0, _Letter_Row01_Col23_Byte1); - case 24: - return float2(_Letter_Row01_Col24_Byte0, _Letter_Row01_Col24_Byte1); - case 25: - return float2(_Letter_Row01_Col25_Byte0, _Letter_Row01_Col25_Byte1); - case 26: - return float2(_Letter_Row01_Col26_Byte0, _Letter_Row01_Col26_Byte1); - case 27: - return float2(_Letter_Row01_Col27_Byte0, _Letter_Row01_Col27_Byte1); - case 28: - return float2(_Letter_Row01_Col28_Byte0, _Letter_Row01_Col28_Byte1); - case 29: - return float2(_Letter_Row01_Col29_Byte0, _Letter_Row01_Col29_Byte1); - case 30: - return float2(_Letter_Row01_Col30_Byte0, _Letter_Row01_Col30_Byte1); - case 31: - return float2(_Letter_Row01_Col31_Byte0, _Letter_Row01_Col31_Byte1); - case 32: - return float2(_Letter_Row01_Col32_Byte0, _Letter_Row01_Col32_Byte1); - case 33: - return float2(_Letter_Row01_Col33_Byte0, _Letter_Row01_Col33_Byte1); - case 34: - return float2(_Letter_Row01_Col34_Byte0, _Letter_Row01_Col34_Byte1); - case 35: - return float2(_Letter_Row01_Col35_Byte0, _Letter_Row01_Col35_Byte1); - case 36: - return float2(_Letter_Row01_Col36_Byte0, _Letter_Row01_Col36_Byte1); - case 37: - return float2(_Letter_Row01_Col37_Byte0, _Letter_Row01_Col37_Byte1); - case 38: - return float2(_Letter_Row01_Col38_Byte0, _Letter_Row01_Col38_Byte1); - case 39: - return float2(_Letter_Row01_Col39_Byte0, _Letter_Row01_Col39_Byte1); - case 40: - return float2(_Letter_Row01_Col40_Byte0, _Letter_Row01_Col40_Byte1); - case 41: - return float2(_Letter_Row01_Col41_Byte0, _Letter_Row01_Col41_Byte1); - case 42: - return float2(_Letter_Row01_Col42_Byte0, _Letter_Row01_Col42_Byte1); - case 43: - return float2(_Letter_Row01_Col43_Byte0, _Letter_Row01_Col43_Byte1); - default: - return float2(0, 0); - } - case 1: - [forcecase] switch (CHAR_COL) { - case 0: - return float2(_Letter_Row02_Col00_Byte0, _Letter_Row02_Col00_Byte1); - case 1: - return float2(_Letter_Row02_Col01_Byte0, _Letter_Row02_Col01_Byte1); - case 2: - return float2(_Letter_Row02_Col02_Byte0, _Letter_Row02_Col02_Byte1); - case 3: - return float2(_Letter_Row02_Col03_Byte0, _Letter_Row02_Col03_Byte1); - case 4: - return float2(_Letter_Row02_Col04_Byte0, _Letter_Row02_Col04_Byte1); - case 5: - return float2(_Letter_Row02_Col05_Byte0, _Letter_Row02_Col05_Byte1); - case 6: - return float2(_Letter_Row02_Col06_Byte0, _Letter_Row02_Col06_Byte1); - case 7: - return float2(_Letter_Row02_Col07_Byte0, _Letter_Row02_Col07_Byte1); - case 8: - return float2(_Letter_Row02_Col08_Byte0, _Letter_Row02_Col08_Byte1); - case 9: - return float2(_Letter_Row02_Col09_Byte0, _Letter_Row02_Col09_Byte1); - case 10: - return float2(_Letter_Row02_Col10_Byte0, _Letter_Row02_Col10_Byte1); - case 11: - return float2(_Letter_Row02_Col11_Byte0, _Letter_Row02_Col11_Byte1); - case 12: - return float2(_Letter_Row02_Col12_Byte0, _Letter_Row02_Col12_Byte1); - case 13: - return float2(_Letter_Row02_Col13_Byte0, _Letter_Row02_Col13_Byte1); - case 14: - return float2(_Letter_Row02_Col14_Byte0, _Letter_Row02_Col14_Byte1); - case 15: - return float2(_Letter_Row02_Col15_Byte0, _Letter_Row02_Col15_Byte1); - case 16: - return float2(_Letter_Row02_Col16_Byte0, _Letter_Row02_Col16_Byte1); - case 17: - return float2(_Letter_Row02_Col17_Byte0, _Letter_Row02_Col17_Byte1); - case 18: - return float2(_Letter_Row02_Col18_Byte0, _Letter_Row02_Col18_Byte1); - case 19: - return float2(_Letter_Row02_Col19_Byte0, _Letter_Row02_Col19_Byte1); - case 20: - return float2(_Letter_Row02_Col20_Byte0, _Letter_Row02_Col20_Byte1); - case 21: - return float2(_Letter_Row02_Col21_Byte0, _Letter_Row02_Col21_Byte1); - case 22: - return float2(_Letter_Row02_Col22_Byte0, _Letter_Row02_Col22_Byte1); - case 23: - return float2(_Letter_Row02_Col23_Byte0, _Letter_Row02_Col23_Byte1); - case 24: - return float2(_Letter_Row02_Col24_Byte0, _Letter_Row02_Col24_Byte1); - case 25: - return float2(_Letter_Row02_Col25_Byte0, _Letter_Row02_Col25_Byte1); - case 26: - return float2(_Letter_Row02_Col26_Byte0, _Letter_Row02_Col26_Byte1); - case 27: - return float2(_Letter_Row02_Col27_Byte0, _Letter_Row02_Col27_Byte1); - case 28: - return float2(_Letter_Row02_Col28_Byte0, _Letter_Row02_Col28_Byte1); - case 29: - return float2(_Letter_Row02_Col29_Byte0, _Letter_Row02_Col29_Byte1); - case 30: - return float2(_Letter_Row02_Col30_Byte0, _Letter_Row02_Col30_Byte1); - case 31: - return float2(_Letter_Row02_Col31_Byte0, _Letter_Row02_Col31_Byte1); - case 32: - return float2(_Letter_Row02_Col32_Byte0, _Letter_Row02_Col32_Byte1); - case 33: - return float2(_Letter_Row02_Col33_Byte0, _Letter_Row02_Col33_Byte1); - case 34: - return float2(_Letter_Row02_Col34_Byte0, _Letter_Row02_Col34_Byte1); - case 35: - return float2(_Letter_Row02_Col35_Byte0, _Letter_Row02_Col35_Byte1); - case 36: - return float2(_Letter_Row02_Col36_Byte0, _Letter_Row02_Col36_Byte1); - case 37: - return float2(_Letter_Row02_Col37_Byte0, _Letter_Row02_Col37_Byte1); - case 38: - return float2(_Letter_Row02_Col38_Byte0, _Letter_Row02_Col38_Byte1); - case 39: - return float2(_Letter_Row02_Col39_Byte0, _Letter_Row02_Col39_Byte1); - case 40: - return float2(_Letter_Row02_Col40_Byte0, _Letter_Row02_Col40_Byte1); - case 41: - return float2(_Letter_Row02_Col41_Byte0, _Letter_Row02_Col41_Byte1); - case 42: - return float2(_Letter_Row02_Col42_Byte0, _Letter_Row02_Col42_Byte1); - case 43: - return float2(_Letter_Row02_Col43_Byte0, _Letter_Row02_Col43_Byte1); - default: - return float2(0, 0); - } - case 0: - [forcecase] switch (CHAR_COL) { - case 0: - return float2(_Letter_Row03_Col00_Byte0, _Letter_Row03_Col00_Byte1); - case 1: - return float2(_Letter_Row03_Col01_Byte0, _Letter_Row03_Col01_Byte1); - case 2: - return float2(_Letter_Row03_Col02_Byte0, _Letter_Row03_Col02_Byte1); - case 3: - return float2(_Letter_Row03_Col03_Byte0, _Letter_Row03_Col03_Byte1); - case 4: - return float2(_Letter_Row03_Col04_Byte0, _Letter_Row03_Col04_Byte1); - case 5: - return float2(_Letter_Row03_Col05_Byte0, _Letter_Row03_Col05_Byte1); - case 6: - return float2(_Letter_Row03_Col06_Byte0, _Letter_Row03_Col06_Byte1); - case 7: - return float2(_Letter_Row03_Col07_Byte0, _Letter_Row03_Col07_Byte1); - case 8: - return float2(_Letter_Row03_Col08_Byte0, _Letter_Row03_Col08_Byte1); - case 9: - return float2(_Letter_Row03_Col09_Byte0, _Letter_Row03_Col09_Byte1); - case 10: - return float2(_Letter_Row03_Col10_Byte0, _Letter_Row03_Col10_Byte1); - case 11: - return float2(_Letter_Row03_Col11_Byte0, _Letter_Row03_Col11_Byte1); - case 12: - return float2(_Letter_Row03_Col12_Byte0, _Letter_Row03_Col12_Byte1); - case 13: - return float2(_Letter_Row03_Col13_Byte0, _Letter_Row03_Col13_Byte1); - case 14: - return float2(_Letter_Row03_Col14_Byte0, _Letter_Row03_Col14_Byte1); - case 15: - return float2(_Letter_Row03_Col15_Byte0, _Letter_Row03_Col15_Byte1); - case 16: - return float2(_Letter_Row03_Col16_Byte0, _Letter_Row03_Col16_Byte1); - case 17: - return float2(_Letter_Row03_Col17_Byte0, _Letter_Row03_Col17_Byte1); - case 18: - return float2(_Letter_Row03_Col18_Byte0, _Letter_Row03_Col18_Byte1); - case 19: - return float2(_Letter_Row03_Col19_Byte0, _Letter_Row03_Col19_Byte1); - case 20: - return float2(_Letter_Row03_Col20_Byte0, _Letter_Row03_Col20_Byte1); - case 21: - return float2(_Letter_Row03_Col21_Byte0, _Letter_Row03_Col21_Byte1); - case 22: - return float2(_Letter_Row03_Col22_Byte0, _Letter_Row03_Col22_Byte1); - case 23: - return float2(_Letter_Row03_Col23_Byte0, _Letter_Row03_Col23_Byte1); - case 24: - return float2(_Letter_Row03_Col24_Byte0, _Letter_Row03_Col24_Byte1); - case 25: - return float2(_Letter_Row03_Col25_Byte0, _Letter_Row03_Col25_Byte1); - case 26: - return float2(_Letter_Row03_Col26_Byte0, _Letter_Row03_Col26_Byte1); - case 27: - return float2(_Letter_Row03_Col27_Byte0, _Letter_Row03_Col27_Byte1); - case 28: - return float2(_Letter_Row03_Col28_Byte0, _Letter_Row03_Col28_Byte1); - case 29: - return float2(_Letter_Row03_Col29_Byte0, _Letter_Row03_Col29_Byte1); - case 30: - return float2(_Letter_Row03_Col30_Byte0, _Letter_Row03_Col30_Byte1); - case 31: - return float2(_Letter_Row03_Col31_Byte0, _Letter_Row03_Col31_Byte1); - case 32: - return float2(_Letter_Row03_Col32_Byte0, _Letter_Row03_Col32_Byte1); - case 33: - return float2(_Letter_Row03_Col33_Byte0, _Letter_Row03_Col33_Byte1); - case 34: - return float2(_Letter_Row03_Col34_Byte0, _Letter_Row03_Col34_Byte1); - case 35: - return float2(_Letter_Row03_Col35_Byte0, _Letter_Row03_Col35_Byte1); - case 36: - return float2(_Letter_Row03_Col36_Byte0, _Letter_Row03_Col36_Byte1); - case 37: - return float2(_Letter_Row03_Col37_Byte0, _Letter_Row03_Col37_Byte1); - case 38: - return float2(_Letter_Row03_Col38_Byte0, _Letter_Row03_Col38_Byte1); - case 39: - return float2(_Letter_Row03_Col39_Byte0, _Letter_Row03_Col39_Byte1); - case 40: - return float2(_Letter_Row03_Col40_Byte0, _Letter_Row03_Col40_Byte1); - case 41: - return float2(_Letter_Row03_Col41_Byte0, _Letter_Row03_Col41_Byte1); - case 42: - return float2(_Letter_Row03_Col42_Byte0, _Letter_Row03_Col42_Byte1); - case 43: - return float2(_Letter_Row03_Col43_Byte0, _Letter_Row03_Col43_Byte1); - default: - return float2(0, 0); - } - } - - return float2(0, 0); - } - - fixed4 frag (v2f i) : SV_Target - { - float2 uv = i.uv; - - // Derived from github.com/pema99/shader-knowledge (MIT license). - if (unity_CameraProjection[2][0] != 0.0 || - unity_CameraProjection[2][1] != 0.0) { - uv.x = 1.0 - uv.x; - } - - float2 uv_margin = float2(0.03, 0.06); - if (InMargin(uv, uv_margin)) { - // Margin is uv_margin/2 wide/tall. - // We want a circle whose radius is ~80% of that. - float radius_factor = 0.95; - float radius = (uv_margin.x / 2) * radius_factor; - // We want this circle to be centered halfway through the margin - // vertically, and at 1.5x the margin width horizontally. - float2 indicator_center = float2( - uv_margin.x * 0.5 + radius, - uv_margin.y * 0.5 * 0.5 - ); - // Finally, translate it to the top of the board instead of the - // bottom. - indicator_center.y = 1.0 - indicator_center.y; - - if (InRadius2(uv, indicator_center, radius * radius)) { - if (floor(TaSTT_Indicator_0) == 1.0) { - // Actively speaking - return float3tofixed4(TaSTT_Indicator_Color_2, 1.0); - } else if (floor(TaSTT_Indicator_1) == 1.0) { - // Done speaking, waiting for paging. - return float3tofixed4(TaSTT_Indicator_Color_1, 1.0); - } else { - // Neither speaking nor paging. - return float3tofixed4(TaSTT_Indicator_Color_0, 1.0); - } - } - - return fixed4(1,1,1,1); - } else { - uv_margin *= 2; - uv = AddMarginToUV(uv, uv_margin); - - int2 letter_bytes = (int2) floor(GetLetterParameter(uv)); - int letter = letter_bytes[0] | (letter_bytes[1] << 8); - - uv = GetLetter(uv, letter); - - fixed4 background = TaSTT_Backplate.Sample(sampler_linear_repeat, uv); - fixed4 text; - - int which_texture = (int) floor(letter / (64 * 128)); - [forcecase] switch (which_texture) - { - case 0: - text = _Font_0x0000_0x1FFF.Sample(sampler_linear_repeat, uv); - break; - case 1: - text = _Font_0x2000_0x3FFF.Sample(sampler_linear_repeat, uv); - break; - case 2: - text = _Font_0x4000_0x5FFF.Sample(sampler_linear_repeat, uv); - break; - case 3: - text = _Font_0x6000_0x7FFF.Sample(sampler_linear_repeat, uv); - break; - case 4: - text = _Font_0x8000_0x9FFF.Sample(sampler_linear_repeat, uv); - break; - case 5: - text = _Font_0xA000_0xBFFF.Sample(sampler_linear_repeat, uv); - break; - case 6: - text = _Font_0xC000_0xDFFF.Sample(sampler_linear_repeat, uv); - break; - default: - text = _Font_0x0000_0x1FFF.Sample(sampler_linear_repeat, uv); - break; - } - fixed4 black = fixed4(0,0,0,0); - if (text.r == black.r && text.g == black.g && text.b == black.b && text.a == black.a) { - return background; - } else { - return text; - } - } - } - ENDCG - } - } -} diff --git a/TaSTT_Backplate.shader b/TaSTT_Backplate.shader deleted file mode 100644 index 2ab032a..0000000 --- a/TaSTT_Backplate.shader +++ /dev/null @@ -1,59 +0,0 @@ -Shader "Unlit/TaSTT_Backplate" -{ - Properties - { - _MainTex ("Texture", 2D) = "black" {} - } - SubShader - { - Tags { "RenderType"="Opaque" "Queue"="AlphaTest-1"} - LOD 100 - - Pass - { - Blend SrcAlpha OneMinusSrcAlpha - Cull Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile - - #include "UnityCG.cginc" - - struct appdata - { - float4 vertex : POSITION; - float2 uv : TEXCOORD0; - float3 normal : NORMAL; - }; - - struct v2f - { - float2 uv : TEXCOORD0; - float4 vertex : SV_POSITION; - }; - - Texture2D _MainTex; - SamplerState sampler_linear_repeat; - float4 _MainTex_ST; - - v2f vert (appdata v) - { - v2f o; - o.vertex = UnityObjectToClipPos(v.vertex); - o.uv = 1.0 - v.uv; - return o; - } - - fixed4 frag (v2f i) : SV_Target - { - - fixed4 result = _MainTex.Sample(sampler_linear_repeat, i.uv); - result.a = 1.0; - return result; - } - ENDCG - } - } -} diff --git a/TaSTT_texture.png b/TaSTT_texture.png deleted file mode 100644 index 804500c..0000000 Binary files a/TaSTT_texture.png and /dev/null differ diff --git a/TaSTT_texture.png.meta b/TaSTT_texture.png.meta deleted file mode 100644 index c8b0f37..0000000 --- a/TaSTT_texture.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: de2907ea02dbf4d4bb89de5182d40040 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 1 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 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 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/TaSTT_texture.xcf b/TaSTT_texture.xcf deleted file mode 100644 index a980f5d..0000000 Binary files a/TaSTT_texture.xcf and /dev/null differ diff --git a/font-0.png b/font-0.png deleted file mode 100644 index e286a66..0000000 Binary files a/font-0.png and /dev/null differ diff --git a/font-0.png.meta b/font-0.png.meta deleted file mode 100644 index 4316b24..0000000 --- a/font-0.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 0417deb9fee97e24e9099569bed34c6c -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/font-1.png b/font-1.png deleted file mode 100644 index 17068e4..0000000 Binary files a/font-1.png and /dev/null differ diff --git a/font-1.png.meta b/font-1.png.meta deleted file mode 100644 index 62c9a60..0000000 --- a/font-1.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: 45d1d35ef90dd5742bab73718b1fa64e -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/font-2.png b/font-2.png deleted file mode 100644 index 484be7e..0000000 Binary files a/font-2.png and /dev/null differ diff --git a/font-2.png.meta b/font-2.png.meta deleted file mode 100644 index 475ca07..0000000 --- a/font-2.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: fbb9dcb303ae5fc46a1b4f6b82b55a16 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/font-3.png b/font-3.png deleted file mode 100644 index 0c00da4..0000000 Binary files a/font-3.png and /dev/null differ diff --git a/font-3.png.meta b/font-3.png.meta deleted file mode 100644 index b1c1603..0000000 --- a/font-3.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: cf2fc1dc6a21e9d42bf08d8148dba0b7 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/font-4.png b/font-4.png deleted file mode 100644 index 01a7818..0000000 Binary files a/font-4.png and /dev/null differ diff --git a/font-4.png.meta b/font-4.png.meta deleted file mode 100644 index 5b723d3..0000000 --- a/font-4.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: d06c79dd35cbaa94c81b2eb9240a7c57 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/font-5.png b/font-5.png deleted file mode 100644 index ffa6a58..0000000 Binary files a/font-5.png and /dev/null differ diff --git a/font-5.png.meta b/font-5.png.meta deleted file mode 100644 index 57852ac..0000000 --- a/font-5.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: dea31226b42fe7e4d9470806d43afcf8 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/font-6.png b/font-6.png deleted file mode 100644 index 9dccf1c..0000000 Binary files a/font-6.png and /dev/null differ diff --git a/font-6.png.meta b/font-6.png.meta deleted file mode 100644 index 2a01dd3..0000000 --- a/font-6.png.meta +++ /dev/null @@ -1,116 +0,0 @@ -fileFormatVersion: 2 -guid: e8c2974f31efa7a4e9e7588c90561a85 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - 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 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 8192 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/generate.py b/generate.py deleted file mode 100644 index 92c2e25..0000000 --- a/generate.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - -import argparse -import osc_ctrl -import time - -parser = argparse.ArgumentParser() -parser.add_argument("-i", default="127.0.0.1", help="OSC server IP") -parser.add_argument("-p", type=int, default=9000, help="OSC server port") -args = parser.parse_args() - -state = osc_ctrl.EvilGlobalState() -client = osc_ctrl.getClient(args.i, args.p) -tx_state = osc_ctrl.OscTxState() -state.encoding = osc_ctrl.generateEncoding() - -osc_ctrl.clear(client) - -time.sleep(1) - -#i = 0xAC00 -#i = 0x3000 -i = 0x0000 -line = "" -while True: - for j in range(0, 1024): - letter = chr(i) - line += letter - i = i + 1 - - while not osc_ctrl.sendMessageLazy(client, line, tx_state): - continue - diff --git a/generate_fonts.py b/generate_fonts.py index 6564c09..ef5bfc5 100644 --- a/generate_fonts.py +++ b/generate_fonts.py @@ -143,5 +143,5 @@ for nth_texture in range(0, total_textures): draw.text((col * font_pixels / 2, (row - row_begin) * font_pixels + font_info.dy), char, font=font_info.font, fill=255) - image.save("font-%01d.png" % nth_texture) + image.save("Fonts/Bitmaps/font-%01d.png" % nth_texture) diff --git a/generate_params.py b/generate_params.py index 1146ee5..48ee252 100644 --- a/generate_params.py +++ b/generate_params.py @@ -50,15 +50,6 @@ print(generate_utils.replaceMacros(PARAM_HEADER, params)) params["PARAM_NAME"] = generate_utils.getDummyParam() print(generate_utils.replaceMacros(BOOL_PARAM, params)) -params["PARAM_NAME"] = generate_utils.getResizeEnableParam() -print(generate_utils.replaceMacros(BOOL_PARAM, params)) - -params["PARAM_NAME"] = generate_utils.getResize0Param() -print(generate_utils.replaceMacros(BOOL_PARAM, params)) - -params["PARAM_NAME"] = generate_utils.getResize1Param() -print(generate_utils.replaceMacros(BOOL_PARAM, params)) - params["PARAM_NAME"] = generate_utils.getEnableParam() print(generate_utils.replaceMacros(BOOL_PARAM, params)) diff --git a/generate_utils.py b/generate_utils.py index c4cbf4c..0758be0 100644 --- a/generate_utils.py +++ b/generate_utils.py @@ -28,15 +28,6 @@ NUM_PARAM_BITS=(NUM_LAYERS * (8 + INDEX_BITS + 1)) def getDummyParam(): return "TaSTT_Dummy" -def getResizeEnableParam(): - return "TaSTT_Resize_Enable" - -def getResize0Param(): - return "TaSTT_Resize_0" - -def getResize1Param(): - return "TaSTT_Resize_1" - def getHipToggleParam(): return "TaSTT_Hip_Toggle" diff --git a/libtastt.py b/libtastt.py index 658e9ff..395d339 100644 --- a/libtastt.py +++ b/libtastt.py @@ -294,9 +294,6 @@ def generateFXController(anim: libunity.UnityAnimator) -> typing.Dict[int, libun anim.addParameter(generate_utils.getEnableParam(), bool) anim.addParameter(generate_utils.getDummyParam(), bool) - anim.addParameter(generate_utils.getResizeEnableParam(), bool) - anim.addParameter(generate_utils.getResize0Param(), bool) - anim.addParameter(generate_utils.getResize1Param(), bool) anim.addParameter(generate_utils.getHipToggleParam(), bool) anim.addParameter(generate_utils.getHandToggleParam(), bool) anim.addParameter(generate_utils.getToggleParam(), bool) diff --git a/lorum_ipsum.txt b/lorum_ipsum.txt deleted file mode 100644 index 42b0fe1..0000000 --- a/lorum_ipsum.txt +++ /dev/null @@ -1 +0,0 @@ -A spectre is haunting Europe-the spectre of Communism. All the Powers of old Europe have entered into a holy alliance to exorcise this spectre: Pope and Czar, Metternich and Guizot, French Radicals and German police-spies. Where is the party in opposition that has not been decried as Communistic by its opponents in power? Where is the Opposition that has not hurled back the branding reproach of Communism, against the more advanced opposition parties, as well as against its reactionary adversaries? Two things result from this fact. I. Communism is already acknowledged by all European Powers to be itself a Power. II. It is high time that Communists should openly, in the face of the whole world, publish their views, their aims, their tendencies, and meet this nursery tale of the Spectre of Communism with a Manifesto of the party itself. To this end, Communists of various nationalities have assembled in London, and sketched the following Manifesto, to be published in the English, French, German, Italian, Flemish and Danish languages. diff --git a/template.anim.txt b/template.anim.txt deleted file mode 100644 index 6dccbd5..0000000 --- a/template.anim.txt +++ /dev/null @@ -1,116 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!74 &7400000 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: %ANIMATION_NAME% - serializedVersion: 6 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: [] - m_PositionCurves: [] - m_ScaleCurves: [] - m_FloatCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: %LETTER_VALUE% - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.016666668 - value: %LETTER_VALUE% - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: material.%LETTER_SHADER_PARAM% - path: TaSTT - classID: 137 - script: {fileID: 0} - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: - - serializedVersion: 2 - path: 2794480623 - attribute: 2284639795 - script: {fileID: 0} - typeID: 137 - customType: 22 - isPPtrCurve: 0 - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 0 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 1 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: %LETTER_VALUE% - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.016666668 - value: %LETTER_VALUE% - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: material.%LETTER_SHADER_PARAM% - path: TaSTT - classID: 137 - script: {fileID: 0} - m_EulerEditorCurves: [] - m_HasGenericRootTransform: 0 - m_HasMotionFloatCurves: 0 - m_Events: [] diff --git a/text_to_text_demo_message.txt b/text_to_text_demo_message.txt deleted file mode 100644 index 956db83..0000000 --- a/text_to_text_demo_message.txt +++ /dev/null @@ -1,9 +0,0 @@ - -Hello, my name is yum_food. -I'm a VRChat mute: a player that chooses not to use their microphone. -This repository contains the code for an in-game chat bubble. -It is designed with the core goals of being low latency, reliable, and free - free as in freedom, and as in beer. -All code is written from scratch and permissively licensed. -This project is in the exploratory phase. Once the core set of features are implemented, I will focus on productizing. -Until then, use with caution. -Contributions welcome! -- cgit v1.2.3