summaryrefslogtreecommitdiffstats
path: root/Shaders
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2022-11-25 12:27:42 -0800
committeryum <yum.food.vr@gmail.com>2022-11-25 12:30:29 -0800
commita9e22d486432295c0185d317f5064cd1bc9c1738 (patch)
tree20142b207e5dba8c1eae01b7b49265f0ec872b1c /Shaders
parentae9ac5ba5942447f47d8d996d2d340381e730c33 (diff)
Code cleanup
Reorganize locations, remove a couple unused parameters.
Diffstat (limited to 'Shaders')
-rw-r--r--Shaders/TaSTT.shader1373
-rw-r--r--Shaders/TaSTT_Backplate.shader59
2 files changed, 1432 insertions, 0 deletions
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(<dx,dy> * <dx,dy>)
+ 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
+ }
+ }
+}