Crinkler compression report

Report for file C:\Repos\Blossom_fun-city\Release\blossom.exe generated by Crinkler 2.3 on Wed Apr 1 18:22:42 2026

Options: /SUBSYSTEM:WINDOWS /COMPMODE:FAST /HASHSIZE:100 /HASHTRIES:300 /ORDERTRIES:1000 /RANGE:opengl32 /UNSAFEIMPORT /UNALIGNCODE

Output file size: 4014

Bits per byte:                                          
0.10.512357912

collapsed sections globals sections + globals globals expanded sections + globals expanded 
 AddressLabel nameSizeComp. sizeRatio
-00420000 Code sections1238630.8151.0%
-00420000 Crinkler import:.text132115.2487.3%
-00420000 _Import132115.2487.3%
 00420000 _Import2923.5481.2%
 00420000 
BB08014000                      MOV             EBX, _HeaderHashes
 00420005 
BED6044200                      MOV             ESI, _DLLNames
 0042000A 
BF00004300                      MOV             EDI, _ImportList
 0042000F 
58                              POP             EAX
 00420010 
8B400C                          MOV             EAX, [EAX+0xC]
 00420013 
8B400C                          MOV             EAX, [EAX+0xC]
 00420016 
8B00                            MOV             EAX, [EAX]
 00420018 
8B00                            MOV             EAX, [EAX]
 0042001A 
8B6818                          MOV             EBP, [EAX+0x18]
 0042001D DLLLoop44.74118.6%
 0042001D 
31C0                            XOR             EAX, EAX
 0042001F 
AC                              LODSB           
 00420020 
91                              XCHG            ECX, EAX
 00420021 HashLoop11.12112.4%
 00420021 
60                              PUSHA           
 00420022 GetProcAddress1311.3187.0%
 00420022 
8B453C                          MOV             EAX, [EBP+0x3C]
 00420025 
01E8                            ADD             EAX, EBP
 00420027 
8B5078                          MOV             EDX, [EAX+0x78]
 0042002A 
01EA                            ADD             EDX, EBP
 0042002C 
8B4A18                          MOV             ECX, [EDX+0x18]
 0042002F ScanProcedureNamesLoop1310.4380.2%
 0042002F 
8B4220                          MOV             EAX, [EDX+0x20]
 00420032 
01E8                            ADD             EAX, EBP
 00420034 
8B7488FC                        MOV             ESI, [EAX+ECX*4-0x4]
 00420038 
01EE                            ADD             ESI, EBP
 0042003A 
31FF                            XOR             EDI, EDI
 0042003C CalculateHashLoop3731.3084.6%
 0042003C 
C1C706                          ROL             EDI, 0x6
 0042003F 
31C0                            XOR             EAX, EAX
 00420041 
AC                              LODSB           
 00420042 
31C7                            XOR             EDI, EAX
 00420044 
48                              DEC             EAX
 00420045 
7DF5                            JGE             CalculateHashLoop
 00420047 
3B3B                            CMP             EDI, [EBX]
 00420049 
E0E4                            LOOPNZ          ScanProcedureNamesLoop
 0042004B 
8B4224                          MOV             EAX, [EDX+0x24]
 0042004E 
01E8                            ADD             EAX, EBP
 00420050 
668B0C48                        MOV             CX, [EAX+ECX*2]
 00420054 
8B421C                          MOV             EAX, [EDX+0x1C]
 00420057 
01E8                            ADD             EAX, EBP
 00420059 
8D0488                          LEA             EAX, [EAX+ECX*4]
 0042005C 
89442414                        MOV             [ESP+0x14], EAX
 00420060 
61                              POPA            
 00420061 OrdinalLoop1817.0194.5%
 00420061 
8B02                            MOV             EAX, [EDX]
 00420063 
01E8                            ADD             EAX, EBP
 00420065 
83C204                          ADD             EDX, 0x4
 00420068 
AB                              STOSD           
 00420069 
FE0E                            DEC             BYTE [ESI]
 0042006B 
75F4                            JNZ             OrdinalLoop
 0042006D 
46                              INC             ESI
 0042006E 
83C304                          ADD             EBX, 0x4
 00420071 
E2AE                            LOOP            HashLoop
 00420073 LoadDLL87.1889.7%
 00420073 
56                              PUSH            ESI
 00420074 
FF1504004300                    CALL            [__imp__LoadLibraryA@4]
 0042007A 
95                              XCHG            EBP, EAX
 0042007B NextDLL98.6095.6%
 0042007B 
AC                              LODSB           
 0042007C 
FEC8                            DEC             AL
 0042007E 
79FB                            JNS             NextDLL
 00420080 
FEC0                            INC             AL
 00420082 
7499                            JZ              DLLLoop
-00420084 MAIN.OBJ:.text$mn571302.5453.0%
-00420084 ?WinMainCRTStartup@@YAHXZ571302.5453.0%
 00420084 ?WinMainCRTStartup@@YAHXZ562299.1053.2%
 00420084 
53                              PUSH            EBX
 00420085 
8BDC                            MOV             EBX, ESP
 00420087 
83EC08                          SUB             ESP, 0x8
 0042008A 
83E4F0                          AND             ESP, -0x10
 0042008D 
83C404                          ADD             ESP, 0x4
 00420090 
55                              PUSH            EBP
 00420091 
8B6B04                          MOV             EBP, [EBX+0x4]
 00420094 
896C2404                        MOV             [ESP+0x4], EBP
 00420098 
8BEC                            MOV             EBP, ESP
 0042009A 
81ECD8000000                    SUB             ESP, 0xD8
 004200A0 
56                              PUSH            ESI
 004200A1 
57                              PUSH            EDI
 004200A2 
FF15AC044300                    CALL            [__imp__timeGetTime@0]
 004200A8 
8BF0                            MOV             ESI, EAX
 004200AA 
C78554FFFFFF9C000000            MOV             DWORD [EBP-0xAC], 0x9C
 004200B4 
33C0                            XOR             EAX, EAX
 004200B6 
C78558FFFFFF00001800            MOV             DWORD [EBP-0xA8], 0x180000
 004200C0 
0F57C0                          XORPS           XMM0, XMM0
 004200C3 
898550FFFFFF                    MOV             [EBP-0xB0], EAX
 004200C9 
89856CFFFFFF                    MOV             [EBP-0x94], EAX
 004200CF 
898570FFFFFF                    MOV             [EBP-0x90], EAX
 004200D5 
66898574FFFFFF                  MOV             [EBP-0x8C], AX
 004200DC 
66894596                        MOV             [EBP-0x6A], AX
 004200E0 
894598                          MOV             [EBP-0x68], EAX
 004200E3 
8945A4                          MOV             [EBP-0x5C], EAX
 004200E6 
8945A8                          MOV             [EBP-0x58], EAX
 004200E9 
8945AC                          MOV             [EBP-0x54], EAX
 004200EC 
8945B0                          MOV             [EBP-0x50], EAX
 004200EF 
8945B4                          MOV             [EBP-0x4C], EAX
 004200F2 
8945B8                          MOV             [EBP-0x48], EAX
 004200F5 
8945BC                          MOV             [EBP-0x44], EAX
 004200F8 
8945C0                          MOV             [EBP-0x40], EAX
 004200FB 
8945C4                          MOV             [EBP-0x3C], EAX
 004200FE 
8945C8                          MOV             [EBP-0x38], EAX
 00420101 
8945E4                          MOV             [EBP-0x1C], EAX
 00420104 
8945F0                          MOV             [EBP-0x10], EAX
 00420107 
8945F4                          MOV             [EBP-0xC], EAX
 0042010A 
8945F8                          MOV             [EBP-0x8], EAX
 0042010D 
8945FC                          MOV             [EBP-0x4], EAX
 00420110 
8D8530FFFFFF                    LEA             EAX, [EBP-0xD0]
 00420116 
6A04                            PUSH            0x4
 00420118 
50                              PUSH            EAX
 00420119 
0F298530FFFFFF                  MOVAPS          DQWORD [EBP-0xD0], XMM0
 00420120 
0F298540FFFFFF                  MOVAPS          DQWORD [EBP-0xC0], XMM0
 00420127 
0F11855CFFFFFF                  MOVUPS          DQWORD [EBP-0xA4], XMM0
 0042012E 
C7459C80070000                  MOV             DWORD [EBP-0x64], 0x780
 00420135 
0F118576FFFFFF                  MOVUPS          DQWORD [EBP-0x8A], XMM0
 0042013C 
C745A038040000                  MOV             DWORD [EBP-0x60], 0x438
 00420143 
0F114586                        MOVUPS          DQWORD [EBP-0x7A], XMM0
 00420147 
C745D828000100                  MOV             DWORD [EBP-0x28], 0x10028
 0042014E 
C745DC25000000                  MOV             DWORD [EBP-0x24], 0x25
 00420155 
C745E000200000                  MOV             DWORD [EBP-0x20], 0x2000
 0042015C 
C745E808000000                  MOV             DWORD [EBP-0x18], 0x8
 00420163 
C745EC00000020                  MOV             DWORD [EBP-0x14], 0x20000000
 0042016A 
FF1508004300                    CALL            [__imp__ChangeDisplaySettingsA@8]
 00420170 
6A00                            PUSH            0x0
 00420172 
FF151C004300                    CALL            [__imp__ShowCursor@4]
 00420178 
6A00                            PUSH            0x0
 0042017A 
6A00                            PUSH            0x0
 0042017C 
6A00                            PUSH            0x0
 0042017E 
6A00                            PUSH            0x0
 00420180 
6A00                            PUSH            0x0
 00420182 
6A00                            PUSH            0x0
 00420184 
6A00                            PUSH            0x0
 00420186 
6A00                            PUSH            0x0
 00420188 
6800000091                      PUSH            0x91000000
 0042018D 
6A00                            PUSH            0x0
 0042018F 
6818C00000                      PUSH            0xC018
 00420194 
6A00                            PUSH            0x0
 00420196 
FF150C004300                    CALL            [__imp__CreateWindowExA@48]
 0042019C 
50                              PUSH            EAX
 0042019D 
FF1514004300                    CALL            [__imp__GetDC@4]
 004201A3 
8BF8                            MOV             EDI, EAX
 004201A5 
8D45D8                          LEA             EAX, [EBP-0x28]
 004201A8 
50                              PUSH            EAX
 004201A9 
50                              PUSH            EAX
 004201AA 
57                              PUSH            EDI
 004201AB 
897DD0                          MOV             [EBP-0x30], EDI
 004201AE 
FF1520004300                    CALL            [__imp__ChoosePixelFormat@8]
 004201B4 
50                              PUSH            EAX
 004201B5 
57                              PUSH            EDI
 004201B6 
FF1524004300                    CALL            [__imp__SetPixelFormat@12]
 004201BC 
57                              PUSH            EDI
 004201BD 
FF157C044300                    CALL            [__imp__wglCreateContext@4]
 004201C3 
50                              PUSH            EAX
 004201C4 
57                              PUSH            EDI
 004201C5 
FF15A8044300                    CALL            [__imp__wglMakeCurrent@8]
 004201CB 
57                              PUSH            EDI
 004201CC 
FF1528004300                    CALL            [__imp__SwapBuffers@4]
 004201D2 
E804020000                      CALL            ?makeFramebuffer@@YAIXZ
 004201D7 
A3B8044300                      MOV             [?fbAccumulator@@3IA], EAX
 004201DC 
FF3524054200                    PUSH            DWORD [?draw_frag@@3PBDB]
 004201E2 
E8F4000000                      CALL            ?makeShader@@YAIPBD@Z
 004201E7 
FF3528054200                    PUSH            DWORD [?present_frag@@3PBDB]
 004201ED 
A3B0044300                      MOV             [?gShaderDraw@@3IA], EAX
 004201F2 
E8E4000000                      CALL            ?makeShader@@YAIPBD@Z
 004201F7 
A3B4044300                      MOV             [?gShaderPresent@@3IA], EAX
 004201FC 
E8F7000000                      CALL            ?accumulatorSetup@@YAXXZ
 00420201 
C744240400000000                MOV             DWORD [ESP+0x4], 0x0
 00420209 
C7042400000000                  MOV             DWORD [ESP], 0x0
 00420210 
83EC08                          SUB             ESP, 0x8
 00420213 
C744240400000000                MOV             DWORD [ESP+0x4], 0x0
 0042021B 
C7042400000000                  MOV             DWORD [ESP], 0x0
 00420222 
FF1548004300                    CALL            [__imp__glClearColor@16]
 00420228 
6800400000                      PUSH            0x4000
 0042022D 
FF1540004300                    CALL            [__imp__glClear@4]
 00420233 
8D8630750000                    LEA             EAX, [ESI+0x7530]
 00420239 
33FF                            XOR             EDI, EDI
 0042023B 
8B3510004300                    MOV             ESI, [__imp__GetAsyncKeyState@4]
 00420241 
8945D4                          MOV             [EBP-0x2C], EAX
 00420244 
FF15AC044300                    CALL            [__imp__timeGetTime@0]
 0042024A 
3B45D4                          CMP             EAX, [EBP-0x2C]
 0042024D 
732B                            JAE             0x42027A
 0042024F 
6A01                            PUSH            0x1
 00420251 
6A00                            PUSH            0x0
 00420253 
6A00                            PUSH            0x0
 00420255 
6A00                            PUSH            0x0
 00420257 
6A00                            PUSH            0x0
 00420259 
FF1518004300                    CALL            [__imp__PeekMessageA@20]
 0042025F 
57                              PUSH            EDI
 00420260 
E847020000                      CALL            ?accumulatorRender@@YAXH@Z
 00420265 
83C404                          ADD             ESP, 0x4
 00420268 
6A1B                            PUSH            0x1B
 0042026A 
FFD6                            CALL            ESI
 0042026C 
6685C0                          TEST            AX, AX
 0042026F 
7545                            JNZ             $abort$20
 00420271 
47                              INC             EDI
 00420272 
81FF5E010000                    CMP             EDI, 0x15E
 00420278 
7CCA                            JL              0x420244
 0042027A 
6A00                            PUSH            0x0
 0042027C 
E8E5000000                      CALL            ?presentSetup@@YAXH@Z
 00420281 
83C404                          ADD             ESP, 0x4
 00420284 
6A1B                            PUSH            0x1B
 00420286 
FFD6                            CALL            ESI
 00420288 
6685C0                          TEST            AX, AX
 0042028B 
7529                            JNZ             $abort$20
 0042028D 
8B7DD0                          MOV             EDI, [EBP-0x30]
 00420290 
0F1F4000                        NOP             DWORD [EAX+0x0]
 00420294 
6A01                            PUSH            0x1
 00420296 
6A00                            PUSH            0x0
 00420298 
6A00                            PUSH            0x0
 0042029A 
6A00                            PUSH            0x0
 0042029C 
6A00                            PUSH            0x0
 0042029E 
FF1518004300                    CALL            [__imp__PeekMessageA@20]
 004202A4 
57                              PUSH            EDI
 004202A5 
E815000000                      CALL            ?presentRender@@YAXPAUHDC__@@@Z
 004202AA 
83C404                          ADD             ESP, 0x4
 004202AD 
6A1B                            PUSH            0x1B
 004202AF 
FFD6                            CALL            ESI
 004202B1 
6685C0                          TEST            AX, AX
 004202B4 
74DE                            JZ              0x420294
 004202B6 $abort$2081.6420.5%
 004202B6 
6A00                            PUSH            0x0
 004202B8 
FF1500004300                    CALL            [__imp__ExitProcess@4]
 004202BE $LN1911.80179.5%
 004202BE 
CC                              INT 3           
-004202BF MAIN.OBJ:.text$mn2817.7463.4%
-004202BF ?presentRender@@YAXPAUHDC__@@@Z2817.7463.4%
 004202BF ?presentRender@@YAXPAUHDC__@@@Z2817.7463.4%
 004202BF 
55                              PUSH            EBP
 004202C0 
8BEC                            MOV             EBP, ESP
 004202C2 
6A01                            PUSH            0x1
 004202C4 
6A01                            PUSH            0x1
 004202C6 
6AFF                            PUSH            -0x1
 004202C8 
6AFF                            PUSH            -0x1
 004202CA 
FF15E4034300                    CALL            [__imp__glRecti@16]
 004202D0 
FF7508                          PUSH            DWORD [EBP+0x8]
 004202D3 
FF1528004300                    CALL            [__imp__SwapBuffers@4]
 004202D9 
5D                              POP             EBP
 004202DA 
C3                              RET             
-004202DB MAIN.OBJ:.text$mn2918.3963.4%
-004202DB ?makeShader@@YAIPBD@Z2918.3963.4%
 004202DB ?makeShader@@YAIPBD@Z2918.3963.4%
 004202DB 
55                              PUSH            EBP
 004202DC 
8BEC                            MOV             EBP, ESP
 004202DE 
8D4508                          LEA             EAX, [EBP+0x8]
 004202E1 
50                              PUSH            EAX
 004202E2 
6A01                            PUSH            0x1
 004202E4 
68308B0000                      PUSH            0x8B30
 004202E9 
6838054200                      PUSH            ??_C@_0BH@BOJGDFJN@glCreateShaderProgramv@
 004202EE 
FF15A4044300                    CALL            [__imp__wglGetProcAddress@4]
 004202F4 
FFD0                            CALL            EAX
 004202F6 
5D                              POP             EBP
 004202F7 
C3                              RET             
-004202F8 MAIN.OBJ:.text$mn11059.8754.4%
-004202F8 ?accumulatorSetup@@YAXXZ11059.8754.4%
 004202F8 ?accumulatorSetup@@YAXXZ11059.8754.4%
 004202F8 
56                              PUSH            ESI
 004202F9 
FF35B0044300                    PUSH            DWORD [?gShaderDraw@@3IA]
 004202FF 
8B35A4044300                    MOV             ESI, [__imp__wglGetProcAddress@4]
 00420305 
6814054200                      PUSH            ??_C@_0N@ICBDHBI@glUseProgram@
 0042030A 
FFD6                            CALL            ESI
 0042030C 
FFD0                            CALL            EAX
 0042030E 
FF35B8044300                    PUSH            DWORD [?fbAccumulator@@3IA]
 00420314 
68408D0000                      PUSH            0x8D40
 00420319 
6868054200                      PUSH            ??_C@_0BC@CJMIBNO@glBindFramebuffer@
 0042031E 
FFD6                            CALL            ESI
 00420320 
FFD0                            CALL            EAX
 00420322 
68E20B0000                      PUSH            0xBE2
 00420327 
FF153C014300                    CALL            [__imp__glEnable@4]
 0042032D 
6A01                            PUSH            0x1
 0042032F 
6A01                            PUSH            0x1
 00420331 
FF1534004300                    CALL            [__imp__glBlendFunc@8]
 00420337 
83EC10                          SUB             ESP, 0x10
 0042033A 
C744240C0000103F                MOV             DWORD [ESP+0xC], 0x3F100000
 00420342 
C7442408398EE33F                MOV             DWORD [ESP+0x8], 0x3FE38E39
 0042034A 
C744240400008744                MOV             DWORD [ESP+0x4], 0x44870000
 00420352 
C704240000F044                  MOV             DWORD [ESP], 0x44F00000
 00420359 
6A00                            PUSH            0x0
 0042035B 
6808054200                      PUSH            ??_C@_0M@MNEJMNAO@glUniform4f@
 00420360 
FFD6                            CALL            ESI
 00420362 
FFD0                            CALL            EAX
 00420364 
5E                              POP             ESI
 00420365 
C3                              RET             
-00420366 MAIN.OBJ:.text$mn11722.6719.4%
-00420366 ?presentSetup@@YAXH@Z11722.6719.4%
 00420366 ?presentSetup@@YAXH@Z11722.6719.4%
 00420366 
55                              PUSH            EBP
 00420367 
8BEC                            MOV             EBP, ESP
 00420369 
56                              PUSH            ESI
 0042036A 
FF35B4044300                    PUSH            DWORD [?gShaderPresent@@3IA]
 00420370 
8B35A4044300                    MOV             ESI, [__imp__wglGetProcAddress@4]
 00420376 
6814054200                      PUSH            ??_C@_0N@ICBDHBI@glUseProgram@
 0042037B 
FFD6                            CALL            ESI
 0042037D 
FFD0                            CALL            EAX
 0042037F 
FF7508                          PUSH            DWORD [EBP+0x8]
 00420382 
68408D0000                      PUSH            0x8D40
 00420387 
6868054200                      PUSH            ??_C@_0BC@CJMIBNO@glBindFramebuffer@
 0042038C 
FFD6                            CALL            ESI
 0042038E 
FFD0                            CALL            EAX
 00420390 
6A00                            PUSH            0x0
 00420392 
6A01                            PUSH            0x1
 00420394 
FF1534004300                    CALL            [__imp__glBlendFunc@8]
 0042039A 
83EC10                          SUB             ESP, 0x10
 0042039D 
C744240C0000103F                MOV             DWORD [ESP+0xC], 0x3F100000
 004203A5 
C7442408398EE33F                MOV             DWORD [ESP+0x8], 0x3FE38E39
 004203AD 
C744240400008744                MOV             DWORD [ESP+0x4], 0x44870000
 004203B5 
C704240000F044                  MOV             DWORD [ESP], 0x44F00000
 004203BC 
6A00                            PUSH            0x0
 004203BE 
6808054200                      PUSH            ??_C@_0M@MNEJMNAO@glUniform4f@
 004203C3 
FFD6                            CALL            ESI
 004203C5 
FFD0                            CALL            EAX
 004203C7 
FF35B8044300                    PUSH            DWORD [?fbAccumulator@@3IA]
 004203CD 
68E10D0000                      PUSH            0xDE1
 004203D2 
FF152C004300                    CALL            [__imp__glBindTexture@8]
 004203D8 
5E                              POP             ESI
 004203D9 
5D                              POP             EBP
 004203DA 
C3                              RET             
-004203DB MAIN.OBJ:.text$mn20980.3938.5%
-004203DB ?makeFramebuffer@@YAIXZ20980.3938.5%
 004203DB ?makeFramebuffer@@YAIXZ20980.3938.5%
 004203DB 
55                              PUSH            EBP
 004203DC 
8BEC                            MOV             EBP, ESP
 004203DE 
83EC0C                          SUB             ESP, 0xC
 004203E1 
57                              PUSH            EDI
 004203E2 
8B3DA4044300                    MOV             EDI, [__imp__wglGetProcAddress@4]
 004203E8 
8D45F8                          LEA             EAX, [EBP-0x8]
 004203EB 
50                              PUSH            EAX
 004203EC 
6A01                            PUSH            0x1
 004203EE 
688C054200                      PUSH            ??_C@_0BC@FAPEBGID@glGenFramebuffers@
 004203F3 
FFD7                            CALL            EDI
 004203F5 
FFD0                            CALL            EAX
 004203F7 
FF75F8                          PUSH            DWORD [EBP-0x8]
 004203FA 
68408D0000                      PUSH            0x8D40
 004203FF 
6868054200                      PUSH            ??_C@_0BC@CJMIBNO@glBindFramebuffer@
 00420404 
FFD7                            CALL            EDI
 00420406 
FFD0                            CALL            EAX
 00420408 
8D45FC                          LEA             EAX, [EBP-0x4]
 0042040B 
50                              PUSH            EAX
 0042040C 
6A01                            PUSH            0x1
 0042040E 
FF15A4014300                    CALL            [__imp__glGenTextures@8]
 00420414 
FF75FC                          PUSH            DWORD [EBP-0x4]
 00420417 
68E10D0000                      PUSH            0xDE1
 0042041C 
FF152C004300                    CALL            [__imp__glBindTexture@8]
 00420422 
6A00                            PUSH            0x0
 00420424 
6806140000                      PUSH            0x1406
 00420429 
6808190000                      PUSH            0x1908
 0042042E 
6A00                            PUSH            0x0
 00420430 
6838040000                      PUSH            0x438
 00420435 
6880070000                      PUSH            0x780
 0042043A 
6814880000                      PUSH            0x8814
 0042043F 
6A00                            PUSH            0x0
 00420441 
68E10D0000                      PUSH            0xDE1
 00420446 
FF15E8034300                    CALL            [__imp__glTexImage2D@36]
 0042044C 
6800260000                      PUSH            0x2600
 00420451 
6800280000                      PUSH            0x2800
 00420456 
68E10D0000                      PUSH            0xDE1
 0042045B 
FF15F4034300                    CALL            [__imp__glTexParameteri@12]
 00420461 
6800260000                      PUSH            0x2600
 00420466 
6801280000                      PUSH            0x2801
 0042046B 
68E10D0000                      PUSH            0xDE1
 00420470 
FF15F4034300                    CALL            [__imp__glTexParameteri@12]
 00420476 
6A00                            PUSH            0x0
 00420478 
FF75FC                          PUSH            DWORD [EBP-0x4]
 0042047B 
68E08C0000                      PUSH            0x8CE0
 00420480 
68408D0000                      PUSH            0x8D40
 00420485 
6850054200                      PUSH            ??_C@_0BF@ENLMLILA@glFramebufferTexture@
 0042048A 
FFD7                            CALL            EDI
 0042048C 
FFD0                            CALL            EAX
 0042048E 
8D45F4                          LEA             EAX, [EBP-0xC]
 00420491 
C745F4E08C0000                  MOV             DWORD [EBP-0xC], 0x8CE0
 00420498 
50                              PUSH            EAX
 00420499 
6A01                            PUSH            0x1
 0042049B 
687C054200                      PUSH            ??_C@_0O@COHJKDBH@glDrawBuffers@
 004204A0 
FFD7                            CALL            EDI
 004204A2 
FFD0                            CALL            EAX
 004204A4 
8B45F8                          MOV             EAX, [EBP-0x8]
 004204A7 
5F                              POP             EDI
 004204A8 
8BE5                            MOV             ESP, EBP
 004204AA 
5D                              POP             EBP
 004204AB 
C3                              RET             
-004204AC MAIN.OBJ:.text$mn4213.8533.0%
-004204AC ?accumulatorRender@@YAXH@Z4213.8533.0%
 004204AC ?accumulatorRender@@YAXH@Z4213.8533.0%
 004204AC 
55                              PUSH            EBP
 004204AD 
8BEC                            MOV             EBP, ESP
 004204AF 
FF7508                          PUSH            DWORD [EBP+0x8]
 004204B2 
6A01                            PUSH            0x1
 004204B4 
682C054200                      PUSH            ??_C@_0M@EMBKBDCK@glUniform1i@
 004204B9 
FF15A4044300                    CALL            [__imp__wglGetProcAddress@4]
 004204BF 
FFD0                            CALL            EAX
 004204C1 
6A01                            PUSH            0x1
 004204C3 
6A01                            PUSH            0x1
 004204C5 
6AFF                            PUSH            -0x1
 004204C7 
6AFF                            PUSH            -0x1
 004204C9 
FF15E4034300                    CALL            [__imp__glRecti@16]
 004204CF 
5D                              POP             EBP
 004204D0 
FF2580014300                    JMP             [__imp__glFinish@0]
-004204D6 Data sections125863023.6424.0%
-004204D6 crinkler import:.data5033.4566.9%
-004204D6 _DLLNames5033.4566.9%
 004204D6 _DLLNames5033.4566.9%
 004204D6 
02010175 73657233 32000601 01010101  01676469 33320003 0101016F 70656E67   ...user32........gdi32.....openg
 004204F6 
6C333200 02EF3177 696E6D6D 000101FF  0000                                  l32..ï1winmm...ÿ..              
-00420508 MAIN.OBJ:.rdata129.6080.0%
-00420508 ??_C@_0M@MNEJMNAO@glUniform4f@129.6080.0%
 00420508 ??_C@_0M@MNEJMNAO@glUniform4f@129.6080.0%
 00420508 
676C556E 69666F72 6D346600                                                 glUniform4f.                    
-00420514 MAIN.OBJ:.rdata169.4258.8%
-00420514 ??_C@_0N@ICBDHBI@glUseProgram@169.4258.8%
 00420514 ??_C@_0N@ICBDHBI@glUseProgram@169.4258.8%
 00420514 
676C5573 6550726F 6772616D 00000000                                        glUseProgram....                
-00420524 MAIN.OBJ:.data87.0387.8%
-00420524 ?draw_frag@@3PBDB43.5488.5%
 00420524 ?draw_frag@@3PBDB43.5488.5%
 00420524 
68064200                                                                   ??_C@_0CPJJ@JJILOILJ@?$CDversion?5430?6layout?$CIlocation?$DN0?$CJ@
-00420528 ?present_frag@@3PBDB43.4987.2%
 00420528 ?present_frag@@3PBDB43.4987.2%
 00420528 
A0054200                                                                   ??_C@_0MD@EHLAENMJ@?$CDversion?5430?6layout?$CIlocation?$DN0?$CJ@
-0042052C MAIN.OBJ:.rdata123.5729.8%
-0042052C ??_C@_0M@EMBKBDCK@glUniform1i@123.5729.8%
 0042052C ??_C@_0M@EMBKBDCK@glUniform1i@123.5729.8%
 0042052C 
676C556E 69666F72 6D316900                                                 glUniform1i.                    
-00420538 MAIN.OBJ:.rdata2412.7753.2%
-00420538 ??_C@_0BH@BOJGDFJN@glCreateShaderProgramv@2412.7753.2%
 00420538 ??_C@_0BH@BOJGDFJN@glCreateShaderProgramv@2412.7753.2%
 00420538 
676C4372 65617465 53686164 65725072  6F677261 6D760000                     glCreateShaderProgramv..        
-00420550 MAIN.OBJ:.rdata2413.9958.3%
-00420550 ??_C@_0BF@ENLMLILA@glFramebufferTexture@2413.9958.3%
 00420550 ??_C@_0BF@ENLMLILA@glFramebufferTexture@2413.9958.3%
 00420550 
676C4672 616D6562 75666665 72546578  74757265 00000000                     glFramebufferTexture....        
-00420568 MAIN.OBJ:.rdata207.1135.5%
-00420568 ??_C@_0BC@CJMIBNO@glBindFramebuffer@207.1135.5%
 00420568 ??_C@_0BC@CJMIBNO@glBindFramebuffer@207.1135.5%
 00420568 
676C4269 6E644672 616D6562 75666665  72000000                              glBindFramebuffer...            
-0042057C MAIN.OBJ:.rdata167.6247.6%
-0042057C ??_C@_0O@COHJKDBH@glDrawBuffers@167.6247.6%
 0042057C ??_C@_0O@COHJKDBH@glDrawBuffers@167.6247.6%
 0042057C 
676C4472 61774275 66666572 73000000                                        glDrawBuffers...                
-0042058C MAIN.OBJ:.rdata205.0625.3%
-0042058C ??_C@_0BC@FAPEBGID@glGenFramebuffers@205.0625.3%
 0042058C ??_C@_0BC@FAPEBGID@glGenFramebuffers@205.0625.3%
 0042058C 
676C4765 6E467261 6D656275 66666572  73000000                              glGenFramebuffers...            
-004205A0 MAIN.OBJ:.rdata200114.1157.1%
-004205A0 ??_C@_0MD@EHLAENMJ@?$CDversion?5430?6layout?$CIlocation?$DN0?$CJ@200114.1157.1%
 004205A0 ??_C@_0MD@EHLAENMJ@?$CDversion?5430?6layout?$CIlocation?$DN0?$CJ@200114.1157.1%
 004205A0 
23766572 73696F6E 20343330 0A6C6179  6F757428 6C6F6361 74696F6E 3D302920   #version.430.layout(location=0).
 004205C0 
6F757420 76656334 20763B6C 61796F75  74286C6F 63617469 6F6E3D30 2920756E   out.vec4.v;layout(location=0).un
 004205E0 
69666F72 6D207665 63342075 3B6C6179  6F757428 62696E64 696E673D 30292075   iform.vec4.u;layout(binding=0).u
 00420600 
6E69666F 726D2073 616D706C 65723244  206C3B76 6F696420 6D61696E 28297B76   niform.sampler2D.l;void.main(){v
 00420620 
65633420 753D7465 78656C46 65746368  286C2C69 76656332 28676C5F 46726167   ec4.u=texelFetch(l,ivec2(gl_Frag
 00420640 
436F6F72 642E7879 292C3029 3B763D76  65633428 752E7879 7A2F752E 772C3129   Coord.xy),0);v=vec4(u.xyz/u.w,1)
 00420660 
3B7D0000 00000000                                                          ;}......                        
-00420668 MAIN.OBJ:.rdata121842799.9023.0%
-00420668 ??_C@_0CPJJ@JJILOILJ@?$CDversion?5430?6layout?$CIlocation?$DN0?$CJ@121842799.9023.0%
 00420668 ??_C@_0CPJJ@JJILOILJ@?$CDversion?5430?6layout?$CIlocation?$DN0?$CJ@121842799.9023.0%
 00420668 
23766572 73696F6E 20343330 0A6C6179  6F757428 6C6F6361 74696F6E 3D302920   #version.430.layout(location=0).
 00420688 
6F757420 76656334 20653B6C 61796F75  74286C6F 63617469 6F6E3D30 2920756E   out.vec4.e;layout(location=0).un
 004206A8 
69666F72 6D207665 63342076 3B6C6179  6F757428 6C6F6361 74696F6E 3D312920   iform.vec4.v;layout(location=1).
 004206C8 
756E6966 6F726D20 696E7420 693B0A23  64656669 6E652050 4920332E 31343135   uniform.int.i;.#define.PI.3.1415
 004206E8 
390A2364 6566696E 65204D41 585F5354  45505320 32350A23 64656669 6E65204D   9.#define.MAX_STEPS.25.#define.M
 00420708 
494E5F48 49545F44 49535420 302E3030  310A2364 6566696E 65204849 545F5459   IN_HIT_DIST.0.001.#define.HIT_TY
 00420728 
50455F4E 4F4E4520 300A2364 6566696E  65204849 545F5459 50455F46 20310A23   PE_NONE.0.#define.HIT_TYPE_F.1.#
 00420748 
64656669 6E652048 49545F54 5950455F  5520320A 23646566 696E6520 4849545F   define.HIT_TYPE_U.2.#define.HIT_
 00420768 
54595045 5F4E2033 0A236465 66696E65  20484954 5F545950 455F4320 340A2364   TYPE_N.3.#define.HIT_TYPE_C.4.#d
 00420788 
6566696E 65204849 545F5459 50455F49  20350A23 64656669 6E652048 49545F54   efine.HIT_TYPE_I.5.#define.HIT_T
 004207A8 
5950455F 5420360A 23646566 696E6520  4849545F 54595045 5F592037 0A236465   YPE_T.6.#define.HIT_TYPE_Y.7.#de
 004207C8 
66696E65 20484954 5F545950 455F4D4F  54454C20 380A2364 6566696E 65204849   fine.HIT_TYPE_MOTEL.8.#define.HI
 004207E8 
545F5459 50455F4D 4F54454C 5F424143  4B494E47 20390A23 64656669 6E652048   T_TYPE_MOTEL_BACKING.9.#define.H
 00420808 
49545F54 5950455F 43495243 4C455F42  41522031 300A2364 6566696E 65204849   IT_TYPE_CIRCLE_BAR.10.#define.HI
 00420828 
545F5459 50455F43 4952434C 455F5350  48455245 2031310A 23646566 696E6520   T_TYPE_CIRCLE_SPHERE.11.#define.
 00420848 
4849545F 54595045 5F434952 434C455F  4241434B 5F494E4E 45522031 320A2364   HIT_TYPE_CIRCLE_BACK_INNER.12.#d
 00420868 
6566696E 65204849 545F5459 50455F43  4952434C 455F4241 434B5F4F 55544552   efine.HIT_TYPE_CIRCLE_BACK_OUTER
 00420888 
2031330A 23646566 696E6520 4849545F  54595045 5F415252 4F572031 340A2364   .13.#define.HIT_TYPE_ARROW.14.#d
 004208A8 
6566696E 65204849 545F5459 50455F41  52524F57 5F535048 45524520 31350A23   efine.HIT_TYPE_ARROW_SPHERE.15.#
 004208C8 
64656669 6E652048 49545F54 5950455F  4D41494E 5F424143 4B494E47 2031360A   define.HIT_TYPE_MAIN_BACKING.16.
 004208E8 
23646566 696E6520 4849545F 54595045  5F504F4C 45203137 0A236465 66696E65   #define.HIT_TYPE_POLE.17.#define
 00420908 
20484954 5F545950 455F504F 4C455F42  41534520 31380A23 64656669 6E652072   .HIT_TYPE_POLE_BASE.18.#define.r
 00420928 
6F746174 65287229 6D617432 28636F73  2872292C 73696E28 72292C2D 73696E28   otate(r)mat2(cos(r),sin(r),-sin(
 00420948 
72292C63 6F732872 29290A23 64656669  6E652064 6F743228 7629646F 7428762C   r),cos(r)).#define.dot2(v)dot(v,
 00420968 
76290A66 6C6F6174 20662876 65633220  76297B72 65747572 6E206672 61637428   v).float.f(vec2.v){return.fract(
 00420988 
31353332 2E313832 39343739 33382A73  696E2864 6F742876 2E78792C 76656332   1532.182947938*sin(dot(v.xy,vec2
 004209A8 
28313132 332E3833 32393734 3239382C  3839312E 39323338 34373239 29292929   (1123.832974298,891.92384729))))
 004209C8 
3B7D666C 6F617420 48287665 63332076  297B7265 7475726E 20667261 63742831   ;}float.H(vec3.v){return.fract(1
 004209E8 
3533322E 31383239 34373933 382A7369  6E28646F 7428762E 78797A2C 76656333   532.182947938*sin(dot(v.xyz,vec3
 00420A08 
28313132 332E3833 32393734 3239382C  3839312E 39323338 34373239 2C393237   (1123.832974298,891.92384729,927
 00420A28 
2E313238 39373233 38292929 293B7D66  6C6F6174 20482876 65633320 482C7665   .12897238))));}float.H(vec3.H,ve
 00420A48 
63332074 2C766563 3320762C 666C6F61  7420652C 666C6F61 74206929 7B766563   c3.t,vec3.v,float.e,float.i){vec
 00420A68 
3320793D 482D742C 7A3D762D 743B666C  6F617420 663D636C 616D7028 646F7428   3.y=H-t,z=v-t;float.f=clamp(dot(
 00420A88 
792C7A29 2F646F74 287A2C7A 292C302E  2C312E29 3B663D70 6F772866 2C312E2B   y,z)/dot(z,z),0.,1.);f=pow(f,1.+
 00420AA8 
69293B72 65747572 6E206C65 6E677468  28792D7A 2A66292D 653B7D66 6C6F6174   i);return.length(y-z*f)-e;}float
 00420AC8 
20482876 65633320 762C666C 6F617420  742C666C 6F617420 482C666C 6F617420   .H(vec3.v,float.t,float.H,float.
 00420AE8 
65297B76 65633320 693D7665 63332876  2E782C6D 61782861 62732876 2E79292D   e){vec3.i=vec3(v.x,max(abs(v.y)-
 00420B08 
742C302E 292C762E 7A293B72 65747572  6E206C65 6E677468 28766563 32286C65   t,0.),v.z);return.length(vec2(le
 00420B28 
6E677468 28692E78 79292D48 2C692E7A  29292D65 3B7D666C 6F617420 48287665   ngth(i.xy)-H,i.z))-e;}float.H(ve
 00420B48 
63332076 2C666C6F 61742079 2C666C6F  61742065 297B7665 63322074 3D766563   c3.v,float.y,float.e){vec2.t=vec
 00420B68 
3228312C 30293B76 2E783D61 62732876  2E78293B 666C6F61 7420483D 742E792A   2(1,0);v.x=abs(v.x);float.H=t.y*
 00420B88 
762E783E 742E782A 762E793F 646F7428  762E7879 2C74293A 6C656E67 74682876   v.x>t.x*v.y?dot(v.xy,t):length(v
 00420BA8 
2E787929 3B726574 75726E20 73717274  28646F74 28762C76 292B792A 792D322E   .xy);return.sqrt(dot(v,v)+y*y-2.
 00420BC8 
2A792A48 292D653B 7D666C6F 61742066  28766563 3320762C 76656333 20742C66   *y*H)-e;}float.f(vec3.v,vec3.t,f
 00420BE8 
6C6F6174 2065297B 76656333 20693D61  62732876 292D742B 653B7265 7475726E   loat.e){vec3.i=abs(v)-t+e;return
 00420C08 
206C656E 67746828 6D617828 692C302E  29292B6D 696E286D 61782869 2E782C6D   .length(max(i,0.))+min(max(i.x,m
 00420C28 
61782869 2E792C69 2E7A2929 2C302E29  2D653B7D 666C6F61 74206E28 76656333   ax(i.y,i.z)),0.)-e;}float.n(vec3
 00420C48 
20762C76 65633220 482C666C 6F617420  65297B63 6F6E7374 20666C6F 61742074   .v,vec2.H,float.e){const.float.t
 00420C68 
3D737172 7428332E 293B482E 782A3D2E  352A743B 762E7879 2F3D482E 783B762E   =sqrt(3.);H.x*=.5*t;v.xy/=H.x;v.
 00420C88 
783D6162 7328762E 78292D31 2E3B762E  793D762E 792B312E 2F743B69 6628762E   x=abs(v.x)-1.;v.y=v.y+1./t;if(v.
 00420CA8 
782B742A 762E793E 302E2976 2E78793D  76656332 28762E78 2D742A76 2E792C2D   x+t*v.y>0.)v.xy=vec2(v.x-t*v.y,-
 00420CC8 
742A762E 782D762E 79292F32 2E3B762E  782D3D63 6C616D70 28762E78 2C2D322E   t*v.x-v.y)/2.;v.x-=clamp(v.x,-2.
 00420CE8 
2C302E29 3B666C6F 61742069 3D6C656E  67746828 762E7879 292A7369 676E282D   ,0.);float.i=length(v.xy)*sign(-
 00420D08 
762E7929 2A482E78 2C663D61 62732876  2E7A292D 482E793B 72657475 726E206C   v.y)*H.x,f=abs(v.z)-H.y;return.l
 00420D28 
656E6774 68286D61 78287665 63322869  2C66292C 302E2929 2B6D696E 286D6178   ength(max(vec2(i,f),0.))+min(max
 00420D48 
28692C66 292C302E 292D653B 7D666C6F  6174206D 28766563 3320762C 666C6F61   (i,f),0.)-e;}float.m(vec3.v,floa
 00420D68 
7420742C 666C6F61 74207929 7B766563  3220653D 76656332 286C656E 67746828   t.t,float.y){vec2.e=vec2(length(
 00420D88 
762E787A 292D742B 2E303135 2C616273  28762E79 292D792B 2E303135 293B7265   v.xz)-t+.015,abs(v.y)-y+.015);re
 00420DA8 
7475726E 206D696E 286D6178 28652E78  2C652E79 292C302E 292B6C65 6E677468   turn.min(max(e.x,e.y),0.)+length
 00420DC8 
286D6178 28652C30 2E29292D 2E303135  3B7D666C 6F617420 6E287665 63332076   (max(e,0.))-.015;}float.n(vec3.v
 00420DE8 
2C766563 32207429 7B726574 75726E20  6E28762C 742C302E 293B7D66 6C6F6174   ,vec2.t){return.n(v,t,0.);}float
 00420E08 
20742876 65633320 762C7665 63332074  2C666C6F 61742065 297B7265 7475726E   .t(vec3.v,vec3.t,float.e){return
 00420E28 
206C656E 67746828 762D7429 2D653B7D  73747275 63742048 69747B69 6E742074   .length(v-t)-e;}struct.Hit{int.t
 00420E48 
7970653B 666C6F61 74206469 73743B62  6F6F6C20 656D6973 73697665 3B7D3B73   ype;float.dist;bool.emissive;};s
 00420E68 
74727563 7420456D 69747465 725F4869  74737B69 6E742074 79706531 3B666C6F   truct.Emitter_Hits{int.type1;flo
 00420E88 
61742064 69737431 3B696E74 20747970  65323B66 6C6F6174 20646973 74323B69   at.dist1;int.type2;float.dist2;i
 00420EA8 
6E742074 79706533 3B666C6F 61742064  69737433 3B7D3B48 6974206D 28766563   nt.type3;float.dist3;};Hit.m(vec
 00420EC8 
33207629 7B486974 20693B69 2E656D69  73736976 653D7472 75653B69 2E747970   3.v){Hit.i;i.emissive=true;i.typ
 00420EE8 
653D4849 545F5459 50455F46 3B762E78  792A3D72 6F746174 65282D2E 30313529   e=HIT_TYPE_F;v.xy*=rotate(-.015)
 00420F08 
3B766563 3320743D 76656333 282D312E  37392C32 2E33382C 30292C65 3D766563   ;vec3.t=vec3(-1.79,2.38,0),e=vec
 00420F28 
33282D31 2E34322C 322E3338 2C30293B  692E6469 73743D48 28762C74 2C652C2E   3(-1.42,2.38,0);i.dist=H(v,t,e,.
 00420F48 
31312C2E 34293B74 3D766563 33282D31  2E37392C 322E3036 2C30293B 653D7665   11,.4);t=vec3(-1.79,2.06,0);e=ve
 00420F68 
6333282D 312E3532 2C322E30 362C3029  3B692E64 6973743D 6D696E28 692E6469   c3(-1.52,2.06,0);i.dist=min(i.di
 00420F88 
73742C48 28762C74 2C652C2E 31312C2E  3529293B 743D7665 6333282D 312E3739   st,H(v,t,e,.11,.5));t=vec3(-1.79
 00420FA8 
2C322E33 382C3029 3B653D76 65633328  2D312E37 392C312E 382C3029 3B692E64   ,2.38,0);e=vec3(-1.79,1.8,0);i.d
 00420FC8 
6973743D 6D696E28 692E6469 73742C48  28762C74 2C652C2E 31312C2E 3229293B   ist=min(i.dist,H(v,t,e,.11,.2));
 00420FE8 
72657475 726E2069 3B7D4869 74206E28  76656333 2076297B 48697420 693B692E   return.i;}Hit.n(vec3.v){Hit.i;i.
 00421008 
656D6973 73697665 3D747275 653B692E  74797065 3D484954 5F545950 455F553B   emissive=true;i.type=HIT_TYPE_U;
 00421028 
762E7879 2A3D726F 74617465 282D2E33  35293B69 6628762E 793E312E 36297265   v.xy*=rotate(-.35);if(v.y>1.6)re
 00421048 
7475726E 20692E64 6973743D 6D696E28  4828762C 76656333 282D312E 38392C31   turn.i.dist=min(H(v,vec3(-1.89,1
 00421068 
2E31362C 30292C76 65633328 2D312E38  37352C31 2E37342C 30292C2E 31312C30   .16,0),vec3(-1.875,1.74,0),.11,0
 00421088 
2E292C48 28762C76 65633328 2D312E35  37322C31 2E31362C 30292C76 65633328   .),H(v,vec3(-1.572,1.16,0),vec3(
 004210A8 
2D312E35 35372C31 2E37342C 30292C2E  31312C30 2E29292C 693B762E 78792B3D   -1.557,1.74,0),.11,0.)),i;v.xy+=
 004210C8 
76656332 28312E37 322C2D31 2E343429  3B692E64 6973743D 4828762C 2E31362C   vec2(1.72,-1.44);i.dist=H(v,.16,
 004210E8 
2E31362C 2E313129 3B726574 75726E20  693B7D48 69742074 28766563 33207629   .16,.11);return.i;}Hit.t(vec3.v)
 00421108 
7B486974 20693B69 2E656D69 73736976  653D7472 75653B69 2E747970 653D4849   {Hit.i;i.emissive=true;i.type=HI
 00421128 
545F5459 50455F4E 3B762E78 792A3D72  6F746174 65282D2E 3231293B 762E7879   T_TYPE_N;v.xy*=rotate(-.21);v.xy
 00421148 
2B3D7665 63322831 2E30312C 2D2E3933  293B692E 64697374 3D482876 2C766563   +=vec2(1.01,-.93);i.dist=H(v,vec
 00421168 
3328302C 2E33342C 30292C76 65633328  302C2E39 332C3029 2C2E3131 352C302E   3(0,.34,0),vec3(0,.93,0),.115,0.
 00421188 
293B692E 64697374 3D6D696E 28692E64  6973742C 4828762C 76656333 282E3338   );i.dist=min(i.dist,H(v,vec3(.38
 004211A8 
2C2E3335 2C30292C 76656333 282E3336  352C2E36 372C3029 2C2E3131 352C302E   ,.35,0),vec3(.365,.67,0),.115,0.
 004211C8 
29293B76 2E78792D 3D766563 32282E31  382C2E35 38293B69 6628762E 793E2E31   ));v.xy-=vec2(.18,.58);if(v.y>.1
 004211E8 
29692E64 6973743D 6D696E28 692E6469  73742C48 28762C2E 31362C2E 31382C2E   )i.dist=min(i.dist,H(v,.16,.18,.
 00421208 
31313529 293B7265 7475726E 20693B7D  48697420 72287665 63332076 297B4869   115));return.i;}Hit.r(vec3.v){Hi
 00421228 
7420693B 692E656D 69737369 76653D74  7275653B 692E7479 70653D48 49545F54   t.i;i.emissive=true;i.type=HIT_T
 00421248 
5950455F 433B762E 78792A3D 726F7461  74652831 2E38293B 762E7879 2B3D7665   YPE_C;v.xy*=rotate(1.8);v.xy+=ve
 00421268 
6332282D 312E3636 2C312E31 293B692E  64697374 3D482876 2C2E332C 2E313135   c2(-1.66,1.1);i.dist=H(v,.3,.115
 00421288 
293B7265 7475726E 20693B7D 48697420  73287665 63332076 297B4869 7420693B   );return.i;}Hit.s(vec3.v){Hit.i;
 004212A8 
692E656D 69737369 76653D74 7275653B  692E7479 70653D48 49545F54 5950455F   i.emissive=true;i.type=HIT_TYPE_
 004212C8 
493B762E 78792A3D 726F7461 7465282E  31373929 3B762E78 792B3D76 65633228   I;v.xy*=rotate(.179);v.xy+=vec2(
 004212E8 
2D2E3932 2C2D312E 31363229 3B692E64  6973743D 4828762C 76656333 282E3338   -.92,-1.162);i.dist=H(v,vec3(.38
 00421308 
2C2E332C 30292C76 65633328 2E333635  2C2E3837 2C30292C 2E313135 2C2E3232   ,.3,0),vec3(.365,.87,0),.115,.22
 00421328 
293B7265 7475726E 20693B7D 48697420  78287665 63332076 297B4869 7420693B   );return.i;}Hit.x(vec3.v){Hit.i;
 00421348 
692E656D 69737369 76653D74 7275653B  692E7479 70653D48 49545F54 5950455F   i.emissive=true;i.type=HIT_TYPE_
 00421368 
543B762E 78792A3D 726F7461 7465282E  31373929 3B762E78 792B3D76 65633228   T;v.xy*=rotate(.179);v.xy+=vec2(
 00421388 
2D2E3932 2C2D312E 31363229 3B692E64  6973743D 4828762C 76656333 282E3833   -.92,-1.162);i.dist=H(v,vec3(.83
 004213A8 
2C2E3333 2C30292C 76656333 282E3831  352C2E39 2C30292C 2E313135 2C2E3229   ,.33,0),vec3(.815,.9,0),.115,.2)
 004213C8 
3B762E78 792A3D72 6F746174 65285049  2A2E3529 3B692E64 6973743D 6D696E28   ;v.xy*=rotate(PI*.5);i.dist=min(
 004213E8 
692E6469 73742C48 28762C76 65633328  2E392C2D 2E36332C 30292C76 65633328   i.dist,H(v,vec3(.9,-.63,0),vec3(
 00421408 
2E393135 2C2D312C 30292C2E 3131352C  2E322929 3B726574 75726E20 693B7D48   .915,-1,0),.115,.2));return.i;}H
 00421428 
69742061 28766563 33207629 7B486974  20693B69 2E656D69 73736976 653D7472   it.a(vec3.v){Hit.i;i.emissive=tr
 00421448 
75653B69 2E747970 653D4849 545F5459  50455F59 3B762E78 792A3D72 6F746174   ue;i.type=HIT_TYPE_Y;v.xy*=rotat
 00421468 
65285049 293B762E 78792B3D 76656332  28312E39 342C312E 3936293B 692E6469   e(PI);v.xy+=vec2(1.94,1.96);i.di
 00421488 
73743D48 28762C2E 3137352C 2E313035  293B692E 64697374 3D6D696E 28692E64   st=H(v,.175,.105);i.dist=min(i.d
 004214A8 
6973742C 4828762C 76656333 282D2E31  382C302C 30292C76 65633328 2D2E322C   ist,H(v,vec3(-.18,0,0),vec3(-.2,
 004214C8 
2D2E3437 2C30292C 2E313035 2C2E3229  293B762E 78792B3D 76656332 28312E37   -.47,0),.105,.2));v.xy+=vec2(1.7
 004214E8 
352C2D31 293B762E 78792A3D 726F7461  74652833 2E313429 3B486974 20653B69   5,-1);v.xy*=rotate(3.14);Hit.e;i
 00421508 
6628762E 793E312E 3429652E 64697374  3D482876 2C766563 33282D31 2E39322C   f(v.y>1.4)e.dist=H(v,vec3(-1.92,
 00421528 
312E3136 2C30292C 76656333 282D312E  39322C31 2E34382C 30292C2E 3130352C   1.16,0),vec3(-1.92,1.48,0),.105,
 00421548 
2E32293B 656C7365 20762E78 792B3D76  65633228 312E3734 2C2D312E 3532292C   .2);else.v.xy+=vec2(1.74,-1.52),
 00421568 
652E6469 73743D48 28762C2E 31382C2E  31382C2E 31303529 3B692E64 6973743D   e.dist=H(v,.18,.18,.105);i.dist=
 00421588 
6D696E28 692E6469 73742C65 2E646973  74293B72 65747572 6E20693B 7D486974   min(i.dist,e.dist);return.i;}Hit
 004215A8 
20702876 65633320 76297B48 69742069  3B692E65 6D697373 6976653D 74727565   .p(vec3.v){Hit.i;i.emissive=true
 004215C8 
3B692E74 7970653D 4849545F 54595045  5F4D4F54 454C3B76 65633320 653D763B   ;i.type=HIT_TYPE_MOTEL;vec3.e=v;
 004215E8 
652E7879 2A3D726F 74617465 2850492A  2E35293B 76656333 20743D76 3B742E78   e.xy*=rotate(PI*.5);vec3.t=v;t.x
 00421608 
792A3D72 6F746174 65285049 293B692E  64697374 3D662876 2B766563 33282E32   y*=rotate(PI);i.dist=f(v+vec3(.2
 00421628 
382C2D2E 36322C30 292C7665 6333282E  3034372C 2E32342C 2E31292C 2E303129   8,-.62,0),vec3(.047,.24,.1),.01)
 00421648 
3B692E64 6973743D 6D696E28 692E6469  73742C66 28762B76 65633328 2E353535   ;i.dist=min(i.dist,f(v+vec3(.555
 00421668 
2C2D2E36 322C3029 2C766563 33282E30  34372C2E 32342C2E 31292C2E 30312929   ,-.62,0),vec3(.047,.24,.1),.01))
 00421688 
3B766563 3320483D 743B482E 782A3D32  2E33323B 482E792A 3D312E35 313B666C   ;vec3.H=t;H.x*=2.32;H.y*=1.51;fl
 004216A8 
6F617420 793D6E28 482B7665 6333282D  2E39372C 312E3035 352C3029 2C766563   oat.y=n(H+vec3(-.97,1.055,0),vec
 004216C8 
32282E35 2C2E3129 292C7A3D 6E28482B  76656333 282D2E39 372C312E 3435352C   2(.5,.1)),z=n(H+vec3(-.97,1.455,
 004216E8 
30292C76 65633228 2E352929 3B692E64  6973743D 6D696E28 692E6469 73742C6D   0),vec2(.5));i.dist=min(i.dist,m
 00421708 
6178282D 7A2C7929 293B666C 6F617420  6D3D6628 762B7665 6333282E 34332C2D   ax(-z,y));float.m=f(v+vec3(.43,-
 00421728 
2E303732 2C30292C 76656333 282E3136  2C2E3233 332C2E31 32292C2E 3037292C   .072,0),vec3(.16,.233,.12),.07),
 00421748 
783D6628 762B7665 6333282E 34332C2D  2E303732 2C30292C 76656333 282E3038   x=f(v+vec3(.43,-.072,0),vec3(.08
 00421768 
2C2E3137 2C2E3529 2C2E3035 293B692E  64697374 3D6D696E 28692E64 6973742C   ,.17,.5),.05);i.dist=min(i.dist,
 00421788 
6D617828 2D782C6D 29293B69 2E646973  743D6D69 6E28692E 64697374 2C662876   max(-x,m));i.dist=min(i.dist,f(v
 004217A8 
2B766563 33282E34 322C2E35 31352C30  292C7665 6333282E 3034372C 2E32342C   +vec3(.42,.515,0),vec3(.047,.24,
 004217C8 
2E31292C 2E303129 293B692E 64697374  3D6D696E 28692E64 6973742C 6628652B   .1),.01));i.dist=min(i.dist,f(e+
 004217E8 
76656333 282E3239 2C2D2E34 31352C30  292C7665 6333282E 3034322C 2E31382C   vec3(.29,-.415,0),vec3(.042,.18,
 00421808 
2E31292C 2E303129 293B692E 64697374  3D6D696E 28692E64 6973742C 6628762B   .1),.01));i.dist=min(i.dist,f(v+
 00421828 
76656333 282E3532 2C312E30 37362C30  292C7665 6333282E 3034372C 2E32342C   vec3(.52,1.076,0),vec3(.047,.24,
 00421848 
2E31292C 2E303129 293B692E 64697374  3D6D696E 28692E64 6973742C 6628652B   .1),.01));i.dist=min(i.dist,f(e+
 00421868 
76656333 282E3837 2C2D2E34 312C3029  2C766563 33282E30 3339352C 2E313538   vec3(.87,-.41,0),vec3(.0395,.158
 00421888 
2C2E3129 2C2E3031 29293B69 2E646973  743D6D69 6E28692E 64697374 2C662865   ,.1),.01));i.dist=min(i.dist,f(e
 004218A8 
2B766563 3328312E 30372C2D 2E34312C  30292C76 65633328 2E303339 352C2E31   +vec3(1.07,-.41,0),vec3(.0395,.1
 004218C8 
322C2E31 292C2E30 3129293B 692E6469  73743D6D 696E2869 2E646973 742C6628   2,.1),.01));i.dist=min(i.dist,f(
 004218E8 
652B7665 63332831 2E323735 2C2D2E34  312C3029 2C766563 33282E30 3339352C   e+vec3(1.275,-.41,0),vec3(.0395,
 00421908 
2E313532 2C2E3129 2C2E3031 29293B69  2E646973 743D6D69 6E28692E 64697374   .152,.1),.01));i.dist=min(i.dist
 00421928 
2C662876 2B766563 33282E35 31362C31  2E363438 2C30292C 76656333 282E3034   ,f(v+vec3(.516,1.648,0),vec3(.04
 00421948 
352C2E32 352C2E31 292C2E30 3129293B  692E6469 73743D6D 696E2869 2E646973   5,.25,.1),.01));i.dist=min(i.dis
 00421968 
742C6628 652B7665 63332831 2E383735  2C2D2E34 312C3029 2C766563 33282E30   t,f(e+vec3(1.875,-.41,0),vec3(.0
 00421988 
3339352C 2E313436 2C2E3129 2C2E3031  29293B76 2E7A2B3D 2E30383B 666C6F61   395,.146,.1),.01));v.z+=.08;floa
 004219A8 
7420723D 6628762B 76656333 282E3432  332C2E35 32352C2D 2E31292C 76656333   t.r=f(v+vec3(.423,.525,-.1),vec3
 004219C8 
282E3233 2C312E34 33352C2E 3038292C  2E303129 3B696628 723C692E 64697374   (.23,1.435,.08),.01);if(r<i.dist
 004219E8 
29692E74 7970653D 4849545F 54595045  5F4D4F54 454C5F42 41434B49 4E472C69   )i.type=HIT_TYPE_MOTEL_BACKING,i
 00421A08 
2E646973 743D722C 692E656D 69737369  76653D66 616C7365 3B726574 75726E20   .dist=r,i.emissive=false;return.
 00421A28 
693B7D48 69742068 28766563 33207629  7B486974 20693B69 2E646973 743D3939   i;}Hit.h(vec3.v){Hit.i;i.dist=99
 00421A48 
39393939 39392E3B 692E656D 69737369  76653D66 616C7365 3B766563 3320653D   999999.;i.emissive=false;vec3.e=
 00421A68 
763B652E 797A2A3D 726F7461 7465282D  50492A2E 35293B66 6C6F6174 20743D6D   v;e.yz*=rotate(-PI*.5);float.t=m
 00421A88 
28652B76 65633328 302C2E31 2C2D332E  3238292C 2E353732 2C2E3032 293B6966   (e+vec3(0,.1,-3.28),.572,.02);if
 00421AA8 
28743C69 2E646973 7429692E 64697374  3D742C69 2E747970 653D4849 545F5459   (t<i.dist)i.dist=t,i.type=HIT_TY
 00421AC8 
50455F43 4952434C 455F4241 434B5F4F  55544552 3B666C6F 61742048 3D6D2865   PE_CIRCLE_BACK_OUTER;float.H=m(e
 00421AE8 
2B766563 3328302C 2E303935 2C2D332E  32343529 2C2E3435 2C2E3038 293B6966   +vec3(0,.095,-3.245),.45,.08);if
 00421B08 
28483C69 2E646973 7429692E 64697374  3D482C69 2E747970 653D4849 545F5459   (H<i.dist)i.dist=H,i.type=HIT_TY
 00421B28 
50455F43 4952434C 455F4241 434B5F49  4E4E4552 3B726574 75726E20 693B7D48   PE_CIRCLE_BACK_INNER;return.i;}H
 00421B48 
6974206C 28766563 33207629 7B486974  20693B69 2E656D69 73736976 653D7472   it.l(vec3.v){Hit.i;i.emissive=tr
 00421B68 
75653B66 6C6F6174 20653D39 39393939  39392E3B 692E6469 73743D65 3B766563   ue;float.e=9999999.;i.dist=e;vec
 00421B88 
33206D3D 76656333 282E3532 2C302C30  293B666F 7228696E 7420663D 303B663C   3.m=vec3(.52,0,0);for(int.f=0;f<
 00421BA8 
31353B66 2B2B297B 666C6F61 7420793D  666C6F61 74286629 2F666C6F 61742831   15;f++){float.y=float(f)/float(1
 00421BC8 
35292A32 2E2A5049 3B766563 3320723D  6D3B722E 78792A3D 726F7461 74652879   5)*2.*PI;vec3.r=m;r.xy*=rotate(y
 00421BE8 
293B653D 6D696E28 652C7428 762B7665  63332830 2C2D332E 32352C30 292C722C   );e=min(e,t(v+vec3(0,-3.25,0),r,
 00421C08 
2E303233 29293B7D 666C6F61 7420723D  39393939 3939392E 3B666F72 28696E74   .023));}float.r=9999999.;for(int
 00421C28 
20663D30 3B663C31 353B662B 2B297B66  6C6F6174 20793D66 6C6F6174 2866292F   .f=0;f<15;f++){float.y=float(f)/
 00421C48 
666C6F61 74283135 292A322E 2A50493B  76656333 207A3D6D 3B7A2E78 792A3D72   float(15)*2.*PI;vec3.z=m;z.xy*=r
 00421C68 
6F746174 65287929 3B723D6D 696E2872  2C482876 2B766563 3328302C 2D332E32   otate(y);r=min(r,H(v+vec3(0,-3.2
 00421C88 
352C3029 2C766563 33283029 2C7A2C2E  3030312C 302E2929 3B7D6966 28653C3D   5,0),vec3(0),z,.001,0.));}if(e<=
 00421CA8 
7229692E 64697374 3D652C69 2E747970  653D4849 545F5459 50455F43 4952434C   r)i.dist=e,i.type=HIT_TYPE_CIRCL
 00421CC8 
455F5350 48455245 3B656C73 6520692E  64697374 3D722C69 2E747970 653D4849   E_SPHERE;else.i.dist=r,i.type=HI
 00421CE8 
545F5459 50455F43 4952434C 455F4241  523B7265 7475726E 20693B7D 48697420   T_TYPE_CIRCLE_BAR;return.i;}Hit.
 00421D08 
64287665 63332076 297B4869 7420693B  692E656D 69737369 76653D66 616C7365   d(vec3.v){Hit.i;i.emissive=false
 00421D28 
3B692E74 7970653D 4849545F 54595045  5F415252 4F573B76 65633320 653D763B   ;i.type=HIT_TYPE_ARROW;vec3.e=v;
 00421D48 
652E7879 2A3D726F 74617465 2850492F  322E3729 3B766563 3320743D 653B742E   e.xy*=rotate(PI/2.7);vec3.t=e;t.
 00421D68 
792A3D32 2E363B74 2E782B3D 73696E28  742E792A 322E292A 2E313B66 6C6F6174   y*=2.6;t.x+=sin(t.y*2.)*.1;float
 00421D88 
20483D6E 28742B76 65633328 312E3835  2C312C2D 2E303629 2B766563 33282D2E   .H=n(t+vec3(1.85,1,-.06)+vec3(-.
 00421DA8 
39372C31 2E303535 2C30292C 76656332  282E352C 30292C2E 31292F32 2E363B69   97,1.055,0),vec2(.5,0),.1)/2.6;i
 00421DC8 
2E646973 743D483B 743D763B 742E782B  3D73696E 28762E79 2A31302E 292A2E30   .dist=H;t=v;t.x+=sin(v.y*10.)*.0
 00421DE8 
353B692E 64697374 3D6D696E 28692E64  6973742C 6628742B 76656333 282D2E33   5;i.dist=min(i.dist,f(t+vec3(-.3
 00421E08 
2C2E3132 2C30292C 76656333 282E3038  2C312C2E 3035292C 2E303129 293B7265   ,.12,0),vec3(.08,1,.05),.01));re
 00421E28 
7475726E 20693B7D 48697420 4D287665  63332076 297B4869 7420693B 692E656D   turn.i;}Hit.M(vec3.v){Hit.i;i.em
 00421E48 
69737369 76653D74 7275653B 692E7479  70653D48 49545F54 5950455F 4152524F   issive=true;i.type=HIT_TYPE_ARRO
 00421E68 
575F5350 48455245 3B766563 3320653D  763B652E 78792A3D 726F7461 74652850   W_SPHERE;vec3.e=v;e.xy*=rotate(P
 00421E88 
492F322E 37293B76 65633320 663D653B  662E792A 3D322E36 3B662E78 2B3D7369   I/2.7);vec3.f=e;f.y*=2.6;f.x+=si
 00421EA8 
6E28662E 792A322E 292A2E31 3B692E64  6973743D 39393939 39392E3B 663D763B   n(f.y*2.)*.1;i.dist=999999.;f=v;
 00421EC8 
666C6F61 7420483D 73696E28 762E792A  31302E29 2A2E3035 3B662E78 2B3D483B   float.H=sin(v.y*10.)*.05;f.x+=H;
 00421EE8 
666F7228 696E7420 793D303B 793C333B  792B2B29 666F7228 696E7420 723D313B   for(int.y=0;y<3;y++)for(int.r=1;
 00421F08 
723C3335 3B722B2B 297B7665 6333207A  3D766563 3328666C 6F617428 79292C66   r<35;r++){vec3.z=vec3(float(y),f
 00421F28 
6C6F6174 2872292C 2D2E3129 3B7A2E78  792A3D2E 30353B7A 2E792D3D 2E38353B   loat(r),-.1);z.xy*=.05;z.y-=.85;
 00421F48 
7A2E782B 3D2E3234 353B7A2E 782D3D48  3B666C6F 6174206D 3D742876 2C7A2C2E   z.x+=.245;z.x-=H;float.m=t(v,z,.
 00421F68 
3031293B 6966286D 3C692E64 69737429  692E7479 70653D48 49545F54 5950455F   01);if(m<i.dist)i.type=HIT_TYPE_
 00421F88 
4152524F 575F5350 48455245 2C692E65  6D697373 6976653D 74727565 2C692E64   ARROW_SPHERE,i.emissive=true,i.d
 00421FA8 
6973743D 6D3B7D66 6F722869 6E742079  3D303B79 3C32323B 792B2B29 666F7228   ist=m;}for(int.y=0;y<22;y++)for(
 00421FC8 
696E7420 723D303B 723C3130 3B722B2B  297B6966 28723C33 29636F6E 74696E75   int.r=0;r<10;r++){if(r<3)continu
 00421FE8 
653B6966 28792B72 3E323329 636F6E74  696E7565 3B696628 722A322D 793E3729   e;if(y+r>23)continue;if(r*2-y>7)
 00422008 
636F6E74 696E7565 3B766563 33207A3D  76656333 28666C6F 61742879 292C666C   continue;vec3.z=vec3(float(y),fl
 00422028 
6F617428 72292C2D 2E31293B 7A2E7A2B  3D2E3034 3B7A2E78 792A3D2E 30353B7A   oat(r),-.1);z.z+=.04;z.xy*=.05;z
 00422048 
2E78792B 3D766563 32282D31 2E352C2D  31293B66 6C6F6174 206D3D74 28652C7A   .xy+=vec2(-1.5,-1);float.m=t(e,z
 00422068 
2C2E3031 293B6966 286D3C3D 692E6469  73742969 2E747970 653D4849 545F5459   ,.01);if(m<=i.dist)i.type=HIT_TY
 00422088 
50455F41 52524F57 5F535048 4552452C  692E656D 69737369 76653D74 7275652C   PE_ARROW_SPHERE,i.emissive=true,
 004220A8 
692E6469 73743D6D 3B7D7265 7475726E  20693B7D 48697420 77287665 63332076   i.dist=m;}return.i;}Hit.w(vec3.v
 004220C8 
297B4869 7420693B 692E656D 69737369  76653D74 7275653B 692E7479 70653D48   ){Hit.i;i.emissive=true;i.type=H
 004220E8 
49545F54 5950455F 4D4F5445 4C3B7665  63332065 3D763B65 2E78792A 3D726F74   IT_TYPE_MOTEL;vec3.e=v;e.xy*=rot
 00422108 
61746528 2E303135 293B652E 782B3D2E  37313B65 2E792B3D 73696E28 652E782A   ate(.015);e.x+=.71;e.y+=sin(e.x*
 00422128 
322E292A 2E313635 3B692E64 6973743D  4828652B 76656333 28302C2D 322E352C   2.)*.165;i.dist=H(e+vec3(0,-2.5,
 00422148 
30292C76 65633328 2D2E3932 2C302C30  292C7665 63332832 2E37352C 302C3029   0),vec3(-.92,0,0),vec3(2.75,0,0)
 00422168 
2C2E3030 362C302E 293B7665 63332074  3D763B74 2E78792A 3D726F74 61746528   ,.006,0.);vec3.t=v;t.xy*=rotate(
 00422188 
50492A2E 35293B74 2E792D3D 312E3733  3B742E78 2D3D322E 31313B69 2E646973   PI*.5);t.y-=1.73;t.x-=2.11;i.dis
 004221A8 
743D6D69 6E28692E 64697374 2C482874  2C2E3531 372C2E30 30362929 3B766563   t=min(i.dist,H(t,.517,.006));vec
 004221C8 
3320663D 763B662B 3D766563 33282E30  392C2E30 352C3029 3B662E79 2B3D7369   3.f=v;f+=vec3(.09,.05,0);f.y+=si
 004221E8 
6E28662E 782A352E 292A2E32 3B692E64  6973743D 6D696E28 692E6469 73742C48   n(f.x*5.)*.2;i.dist=min(i.dist,H
 00422208 
28662B76 65633328 312E372C 2D312E34  342C3029 2C766563 33282E31 322C302C   (f+vec3(1.7,-1.44,0),vec3(.12,0,
 00422228 
30292C76 65633328 2E352C30 2C30292C  2E303036 2C302E29 293B7665 63332072   0),vec3(.5,0,0),.006,0.));vec3.r
 00422248 
3D763B72 2E78792A 3D726F74 61746528  2E303135 293B7665 6333207A 3D766563   =v;r.xy*=rotate(.015);vec3.z=vec
 00422268 
33282D31 2E33322C 302C3029 2C793D76  65633328 312E3331 2C302C30 293B666C   3(-1.32,0,0),y=vec3(1.31,0,0);fl
 00422288 
6F617420 6D3D2872 2E782D7A 2E78292F  28792E78 2D7A2E78 292C783D 352E3B69   oat.m=(r.x-z.x)/(y.x-z.x),x=5.;i
 004222A8 
66286D2D 2E353E30 2E29783D 382E3B6D  3D616273 286D2D2E 35292A32 2E3B6D3D   f(m-.5>0.)x=8.;m=abs(m-.5)*2.;m=
 004222C8 
706F7728 6D2C7829 3B692E64 6973743D  6D696E28 692E6469 73742C48 28722B76   pow(m,x);i.dist=min(i.dist,H(r+v
 004222E8 
65633328 302C2D31 2E312D6D 2A2E332C  30292C7A 2C792C2E 3030362C 302E2929   ec3(0,-1.1-m*.3,0),z,y,.006,0.))
 00422308 
3B766563 33206C3D 763B6C2E 78792A3D  726F7461 7465282D 2E303129 3B7A3D76   ;vec3.l=v;l.xy*=rotate(-.01);z=v
 00422328 
65633328 312E3232 2C302C30 293B793D  76656333 28312E39 2C302C30 293B6D3D   ec3(1.22,0,0);y=vec3(1.9,0,0);m=
 00422348 
286C2E78 2D7A2E78 292F2879 2E782D7A  2E78293B 783D332E 3B696628 6D2D2E35   (l.x-z.x)/(y.x-z.x);x=3.;if(m-.5
 00422368 
3C2E3138 26266D2D 2E353E2D 2E35296D  3D616273 286D2D2E 35292A32 2E2C6D3D   <.18&&m-.5>-.5)m=abs(m-.5)*2.,m=
 00422388 
706F7728 6D2C7829 2C692E64 6973743D  6D696E28 692E6469 73742C48 28722B76   pow(m,x),i.dist=min(i.dist,H(r+v
 004223A8 
65633328 302C2D31 2E35332B 6D2A2E32  2C30292C 7A2C792C 2E303036 2C302E29   ec3(0,-1.53+m*.2,0),z,y,.006,0.)
 004223C8 
293B7665 63332050 3D763B50 2E78792A  3D726F74 61746528 2D50492A 2E353929   );vec3.P=v;P.xy*=rotate(-PI*.59)
 004223E8 
3B502E78 2B3D322E 35333B50 2E792B3D  2D312E32 343B502E 782A3D31 2E30363B   ;P.x+=2.53;P.y+=-1.24;P.x*=1.06;
 00422408 
502E792A 3D2E3938 353B692E 64697374  3D6D696E 28692E64 6973742C 4828502C   P.y*=.985;i.dist=min(i.dist,H(P,
 00422428 
2E362C2E 30303629 293B7265 7475726E  20693B7D 48697420 63287665 63332076   .6,.006));return.i;}Hit.c(vec3.v
 00422448 
297B4869 7420693B 692E7479 70653D48  49545F54 5950455F 4D41494E 5F424143   ){Hit.i;i.type=HIT_TYPE_MAIN_BAC
 00422468 
4B494E47 3B692E65 6D697373 6976653D  66616C73 653B7665 63332065 3D763B65   KING;i.emissive=false;vec3.e=v;e
 00422488 
2E797A2A 3D726F74 61746528 2D50492A  2E35293B 692E6469 73743D6D 28652B76   .yz*=rotate(-PI*.5);i.dist=m(e+v
 004224A8 
65633328 312E3736 2C2E3132 352C2D32  2E313129 2C2E3632 2C2E3038 293B692E   ec3(1.76,.125,-2.11),.62,.08);i.
 004224C8 
64697374 3D6D696E 28692E64 6973742C  6D28652B 76656333 282D312E 39392C2E   dist=min(i.dist,m(e+vec3(-1.99,.
 004224E8 
312C2D32 2E303829 2C2E3635 2C2E3038  29293B66 6C6F6174 20743D73 696E2828   1,-2.08),.65,.08));float.t=sin((
 00422508 
762E782B 322E3635 292A2E36 292A2E32  352C723D 2D616273 28762E78 2B2E3032   v.x+2.65)*.6)*.25,r=-abs(v.x+.02
 00422528 
293B723D 722A722A 722A722A 722A722A  723B742B 3D722A2E 3032353B 69662876   );r=r*r*r*r*r*r*r;t+=r*.025;if(v
 00422548 
2E793C32 2E332969 2E646973 743D6D69  6E28692E 64697374 2C662876 2B766563   .y<2.3)i.dist=min(i.dist,f(v+vec
 00422568 
3328302C 2D312E38 30352B74 2C2D2E31  292C7665 63332832 2E36372C 2E382C2E   3(0,-1.805+t,-.1),vec3(2.67,.8,.
 00422588 
30313529 2C2E3329 293B692E 64697374  3D6D696E 28692E64 6973742C 6628762B   015),.3));i.dist=min(i.dist,f(v+
 004225A8 
76656333 28302C2D 322E3433 2B73696E  2828762E 782B312E 3636292A 2E393329   vec3(0,-2.43+sin((v.x+1.66)*.93)
 004225C8 
2A2E3535 2C2D2E31 292C7665 63332831  2E322C2E 382C2E30 3135292C 2E332929   *.55,-.1),vec3(1.2,.8,.015),.3))
 004225E8 
3B766563 3320793D 653B792E 787A2A3D  726F7461 7465282D 2E313429 3B692E64   ;vec3.y=e;y.xz*=rotate(-.14);i.d
 00422608 
6973743D 6D696E28 692E6469 73742C6D  28792A76 65633328 2E34342C 312C3129   ist=min(i.dist,m(y*vec3(.44,1,1)
 00422628 
2B766563 33282E37 322C2E31 342C2D32  2E313929 2C2E3335 2C2E3038 29293B76   +vec3(.72,.14,-2.19),.35,.08));v
 00422648 
65633320 7A3D653B 7A2E787A 2A3D726F  74617465 282E3135 35293B69 2E646973   ec3.z=e;z.xz*=rotate(.155);i.dis
 00422668 
743D6D69 6E28692E 64697374 2C6D287A  2A766563 33282E33 382C312C 31292B76   t=min(i.dist,m(z*vec3(.38,1,1)+v
 00422688 
65633328 2D2E3636 372C2E31 342C2D32  2E313829 2C2E3335 2C2E3038 29293B76   ec3(-.667,.14,-2.18),.35,.08));v
 004226A8 
65633320 483D763B 743D7369 6E282848  2E782B31 2E33292A 332E3435 292A2E33   ec3.H=v;t=sin((H.x+1.3)*3.45)*.3
 004226C8 
323B666C 6F617420 783D312E 3B696628  743E302E 29783D73 696E2831 2E2D7429   2;float.x=1.;if(t>0.)x=sin(1.-t)
 004226E8 
2A2E383B 482E792B 3D782A74 3B482B3D  76656333 28312E33 2C2D312E 37362C2D   *.8;H.y+=x*t;H+=vec3(1.3,-1.76,-
 00422708 
2E31293B 692E6469 73743D6D 696E2869  2E646973 742C6628 482C7665 6333282E   .1);i.dist=min(i.dist,f(H,vec3(.
 00422728 
34352C2E 36352C2E 30313529 2C2E3129  293B7665 63332050 3D763B50 2B3D7665   45,.65,.015),.1));vec3.P=v;P+=ve
 00422748 
6333282D 312E352C 2D312E38 382C2D2E  31293B50 2E792B3D 73696E28 28502E78   c3(-1.5,-1.88,-.1);P.y+=sin((P.x
 00422768 
2B312E39 33292A35 2E32292A 2E31383B  692E6469 73743D6D 696E2869 2E646973   +1.93)*5.2)*.18;i.dist=min(i.dis
 00422788 
742C6628 502C7665 6333282E 33352C2E  36352C2E 30313529 2C2E3129 293B7265   t,f(P,vec3(.35,.65,.015),.1));re
 004227A8 
7475726E 20693B7D 48697420 75287665  63332069 297B4869 7420763B 762E7479   turn.i;}Hit.u(vec3.i){Hit.v;v.ty
 004227C8 
70653D48 49545F54 5950455F 504F4C45  3B762E65 6D697373 6976653D 66616C73   pe=HIT_TYPE_POLE;v.emissive=fals
 004227E8 
653B7665 63332074 3D693B74 2E792D3D  2E30353B 666C6F61 7420653D 6D697828   e;vec3.t=i;t.y-=.05;float.e=mix(
 00422808 
312E2C31 2E352C28 742E792B 332E3629  2F372E32 293B742E 782A3D65 3B742E7A   1.,1.5,(t.y+3.6)/7.2);t.x*=e;t.z
 00422828 
2D3D2E33 3B762E64 6973743D 6628742C  76656333 282E3132 2C332E36 2C2E3132   -=.3;v.dist=f(t,vec3(.12,3.6,.12
 00422848 
292C2E30 32293B69 2E792B3D 332E343B  653D6D69 7828312E 2C312E33 2C28692E   ),.02);i.y+=3.4;e=mix(1.,1.3,(i.
 00422868 
792B2E32 292F2E34 293B692E 782A3D65  3B692E7A 2D3D2E32 383B666C 6F617420   y+.2)/.4);i.x*=e;i.z-=.28;float.
 00422888 
483D6628 692C7665 6333282E 32372C2E  31342C2E 3237292C 2E303129 3B696628   H=f(i,vec3(.27,.14,.27),.01);if(
 004228A8 
483C762E 64697374 29762E74 7970653D  4849545F 54595045 5F504F4C 455F4241   H<v.dist)v.type=HIT_TYPE_POLE_BA
 004228C8 
53452C76 2E646973 743D483B 72657475  726E2076 3B7D4869 74204528 76656333   SE,v.dist=H;return.v;}Hit.E(vec3
 004228E8 
2076297B 48697420 653D6D28 76292C69  3D6E2876 292C483D 74287629 2C663D72   .v){Hit.e=m(v),i=n(v),H=t(v),f=r
 00422908 
2876292C 7A3D7328 76292C79 3D782876  292C503D 61287629 2C453D70 2876292C   (v),z=s(v),y=x(v),P=a(v),E=p(v),
 00422928 
623D6828 76292C49 3D6C2876 292C523D  64287629 2C4C3D4D 2876292C 6B3D6328   b=h(v),I=l(v),R=d(v),L=M(v),k=c(
 00422948 
76292C43 3D772876 292C463B 666C6F61  7420673D 61627328 762E792D 322E3034   v),C=w(v),F;float.g=abs(v.y-2.04
 00422968 
293B6966 28673E2E 3032297B 76656333  206F3D76 3B666C6F 61742054 3D312E32   );if(g>.02){vec3.o=v;float.T=1.2
 00422988 
38323B69 66286F2E 793E322E 30342954  3D312E31 383B6F2E 793D706F 77286F2E   82;if(o.y>2.04)T=1.18;o.y=pow(o.
 004229A8 
792C5429 3B463D77 286F2A76 65633328  2E393736 2B672A2E 30332C2E 37312C31   y,T);F=w(o*vec3(.976+g*.03,.71,1
 004229C8 
292B7665 63332830 2C2E3335 362C3029  293B7D65 6C736520 462E6469 73743D39   )+vec3(0,.356,0));}else.F.dist=9
 004229E8 
39393939 392E3B48 6974206F 3D752876  292C543D 653B6966 28692E64 6973743C   99999.;Hit.o=u(v),T=e;if(i.dist<
 00422A08 
542E6469 73742954 3D693B69 6628482E  64697374 3C542E64 69737429 543D483B   T.dist)T=i;if(H.dist<T.dist)T=H;
 00422A28 
69662866 2E646973 743C542E 64697374  29543D66 3B696628 7A2E6469 73743C54   if(f.dist<T.dist)T=f;if(z.dist<T
 00422A48 
2E646973 7429543D 7A3B6966 28792E64  6973743C 542E6469 73742954 3D793B69   .dist)T=z;if(y.dist<T.dist)T=y;i
 00422A68 
6628502E 64697374 3C542E64 69737429  543D503B 69662845 2E646973 743C542E   f(P.dist<T.dist)T=P;if(E.dist<T.
 00422A88 
64697374 29543D45 3B696628 622E6469  73743C54 2E646973 7429543D 623B6966   dist)T=E;if(b.dist<T.dist)T=b;if
 00422AA8 
28492E64 6973743C 542E6469 73742954  3D493B69 6628522E 64697374 3C542E64   (I.dist<T.dist)T=I;if(R.dist<T.d
 00422AC8 
69737429 543D523B 6966284C 2E646973  743C542E 64697374 29543D4C 3B696628   ist)T=R;if(L.dist<T.dist)T=L;if(
 00422AE8 
432E6469 73743C54 2E646973 7429543D  433B6966 28462E64 6973743C 542E6469   C.dist<T.dist)T=C;if(F.dist<T.di
 00422B08 
73742954 3D463B69 66286B2E 64697374  3C542E64 69737429 543D6B3B 6966286F   st)T=F;if(k.dist<T.dist)T=k;if(o
 00422B28 
2E646973 743C542E 64697374 29543D6F  3B726574 75726E20 543B7D45 6D697474   .dist<T.dist)T=o;return.T;}Emitt
 00422B48 
65725F48 69747320 4528456D 69747465  725F4869 74732076 2C486974 2069297B   er_Hits.E(Emitter_Hits.v,Hit.i){
 00422B68 
69662869 2E646973 743C762E 64697374  3129762E 64697374 323D762E 64697374   if(i.dist<v.dist1)v.dist2=v.dist
 00422B88 
312C762E 74797065 323D762E 74797065  312C762E 64697374 333D762E 64697374   1,v.type2=v.type1,v.dist3=v.dist
 00422BA8 
322C762E 74797065 333D762E 74797065  332C762E 64697374 313D692E 64697374   2,v.type3=v.type3,v.dist1=i.dist
 00422BC8 
2C762E74 79706531 3D692E74 7970653B  656C7365 20696628 692E6469 73743C76   ,v.type1=i.type;else.if(i.dist<v
 00422BE8 
2E646973 74322976 2E646973 74333D76  2E646973 74322C76 2E747970 65333D76   .dist2)v.dist3=v.dist2,v.type3=v
 00422C08 
2E747970 65322C76 2E646973 74323D69  2E646973 742C762E 74797065 323D692E   .type2,v.dist2=i.dist,v.type2=i.
 00422C28 
74797065 3B656C73 65206966 28692E64  6973743C 762E6469 73743329 762E6469   type;else.if(i.dist<v.dist3)v.di
 00422C48 
7374333D 692E6469 73742C76 2E747970  65333D69 2E747970 653B7265 7475726E   st3=i.dist,v.type3=i.type;return
 00422C68 
20763B7D 456D6974 7465725F 48697473  20502876 65633320 76297B48 69742065   .v;}Emitter_Hits.P(vec3.v){Hit.e
 00422C88 
3D6D2876 292C793D 6E287629 2C663D74  2876292C 7A3D7228 76292C54 3D732876   =m(v),y=n(v),f=t(v),z=r(v),T=s(v
 00422CA8 
292C693D 78287629 2C483D61 2876292C  523D7028 76292C49 3D6C2876 292C503D   ),i=x(v),H=a(v),R=p(v),I=l(v),P=
 00422CC8 
4D287629 2C433D77 2876292C 6F3B666C  6F617420 643D6162 7328762E 792D322E   M(v),C=w(v),o;float.d=abs(v.y-2.
 00422CE8 
3034293B 69662864 3E2E3032 297B7665  63332062 3D763B66 6C6F6174 20633D31   04);if(d>.02){vec3.b=v;float.c=1
 00422D08 
2E323832 3B696628 622E793E 322E3034  29633D31 2E31383B 622E793D 706F7728   .282;if(b.y>2.04)c=1.18;b.y=pow(
 00422D28 
622E792C 63293B6F 3D772862 2A766563  33282E39 37362B64 2A2E3033 2C2E3731   b.y,c);o=w(b*vec3(.976+d*.03,.71
 00422D48 
2C31292B 76656333 28302C2E 3335362C  3029293B 7D656C73 65206F2E 64697374   ,1)+vec3(0,.356,0));}else.o.dist
 00422D68 
3D393939 3939392E 3B456D69 74746572  5F486974 7320623B 622E6469 7374313D   =999999.;Emitter_Hits.b;b.dist1=
 00422D88 
39393939 39393939 2E3B622E 64697374  323D3939 39393939 39392E3B 622E6469   99999999.;b.dist2=99999999.;b.di
 00422DA8 
7374333D 39393939 39393939 2E3B623D  4528622C 65293B62 3D452862 2C79293B   st3=99999999.;b=E(b,e);b=E(b,y);
 00422DC8 
623D4528 622C6629 3B623D45 28622C7A  293B623D 4528622C 54293B62 3D452862   b=E(b,f);b=E(b,z);b=E(b,T);b=E(b
 00422DE8 
2C69293B 623D4528 622C4829 3B623D45  28622C50 293B623D 4528622C 43293B62   ,i);b=E(b,H);b=E(b,P);b=E(b,C);b
 00422E08 
3D452862 2C6F293B 623D4528 622C5229  3B726574 75726E20 4528622C 49293B7D   =E(b,o);b=E(b,R);return.E(b,I);}
 00422E28 
76656334 20622869 6E742076 297B7665  63342069 3D766563 34282E31 2C2E362C   vec4.b(int.v){vec4.i=vec4(.1,.6,
 00422E48 
2E39392C 31292C74 3D766563 34282E32  352C2E37 392C302C 31292C65 3D766563   .99,1),t=vec4(.25,.79,0,1),e=vec
 00422E68 
34282E39 392C2E32 382C2E33 342C3129  2C483D76 65633428 2E392C2E 38362C30   4(.99,.28,.34,1),H=vec4(.9,.86,0
 00422E88 
2C31293B 69662876 3D3D4849 545F5459  50455F46 29726574 75726E20 76656334   ,1);if(v==HIT_TYPE_F)return.vec4
 00422EA8 
28742E78 797A2A2E 372C3129 3B696628  763D3D48 49545F54 5950455F 55297265   (t.xyz*.7,1);if(v==HIT_TYPE_U)re
 00422EC8 
7475726E 20766563 3428652E 78797A2A  2E372C31 293B6966 28763D3D 4849545F   turn.vec4(e.xyz*.7,1);if(v==HIT_
 00422EE8 
54595045 5F4E2972 65747572 6E207665  63342869 2E78797A 2A2E372C 31293B69   TYPE_N)return.vec4(i.xyz*.7,1);i
 00422F08 
6628763D 3D484954 5F545950 455F4329  72657475 726E2076 65633428 742E7879   f(v==HIT_TYPE_C)return.vec4(t.xy
 00422F28 
7A2A2E37 2C31293B 656C7365 20696628  763D3D48 49545F54 5950455F 49297265   z*.7,1);else.if(v==HIT_TYPE_I)re
 00422F48 
7475726E 20766563 3428652E 78797A2A  2E372C31 293B656C 73652069 6628763D   turn.vec4(e.xyz*.7,1);else.if(v=
 00422F68 
3D484954 5F545950 455F5429 72657475  726E2076 65633428 692E7879 7A2A2E37   =HIT_TYPE_T)return.vec4(i.xyz*.7
 00422F88 
2C31293B 656C7365 20696628 763D3D48  49545F54 5950455F 59297265 7475726E   ,1);else.if(v==HIT_TYPE_Y)return
 00422FA8 
20766563 3428742E 78797A2A 2E372C31  293B656C 73652069 6628763D 3D484954   .vec4(t.xyz*.7,1);else.if(v==HIT
 00422FC8 
5F545950 455F4D4F 54454C29 72657475  726E2076 65633428 482E7879 7A2C3129   _TYPE_MOTEL)return.vec4(H.xyz,1)
 00422FE8 
3B656C73 65206966 28763D3D 4849545F  54595045 5F4D4F54 454C5F42 41434B49   ;else.if(v==HIT_TYPE_MOTEL_BACKI
 00423008 
4E472972 65747572 6E207665 63342869  2E78797A 2A2E332C 31293B65 6C736520   NG)return.vec4(i.xyz*.3,1);else.
 00423028 
69662876 3D3D4849 545F5459 50455F43  4952434C 455F5350 48455245 29726574   if(v==HIT_TYPE_CIRCLE_SPHERE)ret
 00423048 
75726E20 483B656C 73652069 6628763D  3D484954 5F545950 455F4349 52434C45   urn.H;else.if(v==HIT_TYPE_CIRCLE
 00423068 
5F424143 4B5F4F55 54455229 72657475  726E2076 65633428 482E7879 7A2A2E34   _BACK_OUTER)return.vec4(H.xyz*.4
 00423088 
2C31293B 656C7365 20696628 763D3D48  49545F54 5950455F 43495243 4C455F42   ,1);else.if(v==HIT_TYPE_CIRCLE_B
 004230A8 
41434B5F 494E4E45 52297265 7475726E  20766563 3428692E 78797A2A 2E342C31   ACK_INNER)return.vec4(i.xyz*.4,1
 004230C8 
293B656C 73652069 6628763D 3D484954  5F545950 455F4349 52434C45 5F424152   );else.if(v==HIT_TYPE_CIRCLE_BAR
 004230E8 
29726574 75726E20 76656334 282E3935  2C2E3936 2C312C31 293B656C 73652069   )return.vec4(.95,.96,1,1);else.i
 00423108 
6628763D 3D484954 5F545950 455F4152  524F5729 72657475 726E2076 65633428   f(v==HIT_TYPE_ARROW)return.vec4(
 00423128 
482E7879 7A2A2E37 2C31293B 656C7365  20696628 763D3D48 49545F54 5950455F   H.xyz*.7,1);else.if(v==HIT_TYPE_
 00423148 
4152524F 575F5350 48455245 29726574  75726E20 76656334 28482E78 797A2C31   ARROW_SPHERE)return.vec4(H.xyz,1
 00423168 
293B656C 73652069 6628763D 3D484954  5F545950 455F4D41 494E5F42 41434B49   );else.if(v==HIT_TYPE_MAIN_BACKI
 00423188 
4E472972 65747572 6E207665 63342869  2E78797A 2A2E322C 31293B65 6C736520   NG)return.vec4(i.xyz*.2,1);else.
 004231A8 
69662876 3D3D4849 545F5459 50455F50  4F4C4529 72657475 726E2076 65633428   if(v==HIT_TYPE_POLE)return.vec4(
 004231C8 
2E303835 2C2E3038 2C2E3038 2C31293B  656C7365 20696628 763D3D48 49545F54   .085,.08,.08,1);else.if(v==HIT_T
 004231E8 
5950455F 504F4C45 5F424153 45297265  7475726E 20766563 34282E32 2C2E322C   YPE_POLE_BASE)return.vec4(.2,.2,
 00423208 
2E322C31 293B656C 73652072 65747572  6E207665 63342831 293B7D76 6F696420   .2,1);else.return.vec4(1);}void.
 00423228 
6D61696E 28297B76 65633220 743D2867  6C5F4672 6167436F 6F72642E 78792F76   main(){vec2.t=(gl_FragCoord.xy/v
 00423248 
2E78792D 2E35292A 76656332 28762E78  2F762E79 2C31293B 76656333 20723D76   .xy-.5)*vec2(v.x/v.y,1);vec3.r=v
 00423268 
65633328 302C2D31 2C2D3829 2C793D6E  6F726D61 6C697A65 28766563 3328742E   ec3(0,-1,-8),y=normalize(vec3(t.
 00423288 
782C742E 792B2E31 352C3129 293B792E  787A2A3D 726F7461 74652850 492A2E31   x,t.y+.15,1));y.xz*=rotate(PI*.1
 004232A8 
38293B72 2E787A2A 3D726F74 61746528  50492A2E 3138293B 666C6F61 74207A3D   8);r.xz*=rotate(PI*.18);float.z=
 004232C8 
302E3B76 65633320 6D3D7665 63332830  293B653D 76656334 286D2E78 797A2C31   0.;vec3.m=vec3(0);e=vec4(m.xyz,1
 004232E8 
293B666F 7228696E 7420783D 303B783C  4D41585F 53544550 533B782B 2B297B76   );for(int.x=0;x<MAX_STEPS;x++){v
 00423308 
65633320 543D722B 792A7A3B 48697420  6C3D4528 54293B69 66286162 73286C2E   ec3.T=r+y*z;Hit.l=E(T);if(abs(l.
 00423328 
64697374 293C3D4D 494E5F48 49545F44  49535429 7B666C6F 61742064 3D2E3135   dist)<=MIN_HIT_DIST){float.d=.15
 00423348 
3B696628 6C2E7479 70653D3D 4849545F  54595045 5F434952 434C455F 4241434B   ;if(l.type==HIT_TYPE_CIRCLE_BACK
 00423368 
5F494E4E 45527C7C 6C2E7479 70653D3D  4849545F 54595045 5F434952 434C455F   _INNER||l.type==HIT_TYPE_CIRCLE_
 00423388 
4241434B 5F4F5554 45522964 3D2E353B  6D3D6228 6C2E7479 7065292E 78797A2A   BACK_OUTER)d=.5;m=b(l.type).xyz*
 004233A8 
643B6966 286C2E74 7970653D 3D484954  5F545950 455F504F 4C457C7C 6C2E7479   d;if(l.type==HIT_TYPE_POLE||l.ty
 004233C8 
70653D3D 4849545F 54595045 5F504F4C  455F4241 5345296D 3D62286C 2E747970   pe==HIT_TYPE_POLE_BASE)m=b(l.typ
 004233E8 
65292E78 797A2B76 65633328 2E392C2E  38362C30 292A2831 2E2F2831 2E2B6162   e).xyz+vec3(.9,.86,0)*(1./(1.+ab
 00423408 
7328542E 79292A61 62732854 2E792929  292A2E37 3B627265 616B3B7D 7A2B3D6C   s(T.y)*abs(T.y)))*.7;break;}z+=l
 00423428 
2E646973 743B7D7A 3D302E3B 666F7228  696E7420 783D303B 783C3332 3B782B2B   .dist;}z=0.;for(int.x=0;x<32;x++
 00423448 
297B7665 63332054 3D722B79 2A7A3B66  6C6F6174 206C3D66 6C6F6174 28692B31   ){vec3.T=r+y*z;float.l=float(i+1
 00423468 
292B666C 6F617428 782B3129 3B766563  33206F3D 76656333 2848286C 2A28722B   )+float(x+1);vec3.o=vec3(H(l*(r+
 00423488 
5429292C 66286C2A 28742E78 792B542E  787A2929 2C66286C 2A28792E 78792B54   T)),f(l*(t.xy+T.xz)),f(l*(y.xy+T
 004234A8 
2E787929 29293B6F 2E78792D 3D2E353B  6F3D6E6F 726D616C 697A6528 6F293B45   .xy)));o.xy-=.5;o=normalize(o);E
 004234C8 
6D697474 65725F48 69747320 643D5028  542B6F2A 2E303035 293B666C 6F617420   mitter_Hits.d=P(T+o*.005);float.
 004234E8 
733D4828 6C2A2872 2B542929 2C493D61  62732864 2E646973 7431293B 69662849   s=H(l*(r+T)),I=abs(d.dist1);if(I
 00423508 
3E4D494E 5F484954 5F444953 542D3565  2D34297B 666C6F61 7420633D 732A282E   >MIN_HIT_DIST-5e-4){float.c=s*(.
 00423528 
352D4929 2F2E353B 6D2E7879 7A2B3D62  28642E74 79706531 292E7879 7A2A2831   5-I)/.5;m.xyz+=b(d.type1).xyz*(1
 00423548 
2E2F2831 2E2B492A 492A3335 302E2929  2A733B49 3D616273 28642E64 69737432   ./(1.+I*I*350.))*s;I=abs(d.dist2
 00423568 
293B6966 28493E4D 494E5F48 49545F44  49535429 633D732A 282E352D 49292F2E   );if(I>MIN_HIT_DIST)c=s*(.5-I)/.
 00423588 
352C6D2E 78797A2B 3D622864 2E747970  6532292E 78797A2A 28312E2F 28312E2B   5,m.xyz+=b(d.type2).xyz*(1./(1.+
 004235A8 
492A492A 3335302E 29292A73 3B7A2B3D  642E6469 7374313B 7D656C73 65206272   I*I*350.))*s;z+=d.dist1;}else.br
 004235C8 
65616B3B 7D6D2E78 797A2A3D 312E353B  6D2E7879 7A3D6D2E 78797A2F 28312E2B   eak;}m.xyz*=1.5;m.xyz=m.xyz/(1.+
 004235E8 
6D2E7879 7A293B65 3D766563 34286D2E  78797A2C 31293B7D                     m.xyz);e=vec4(m.xyz,1);}        
-00423600 Uninitialized sections52924  
-00430000 crinkler import:.bss1200  
 00430000 _ImportList   
 00430000 __imp__ExitProcess@44  
 00430004 __imp__LoadLibraryA@44  
 00430008 __imp__ChangeDisplaySettingsA@84  
 0043000C __imp__CreateWindowExA@484  
 00430010 __imp__GetAsyncKeyState@44  
 00430014 __imp__GetDC@44  
 00430018 __imp__PeekMessageA@204  
 0043001C __imp__ShowCursor@44  
 00430020 __imp__ChoosePixelFormat@84  
 00430024 __imp__SetPixelFormat@124  
 00430028 __imp__SwapBuffers@44  
 0043002C __imp__glBindTexture@88  
 00430034 __imp__glBlendFunc@812  
 00430040 __imp__glClear@48  
 00430048 __imp__glClearColor@16244  
 0043013C __imp__glEnable@468  
 00430180 __imp__glFinish@036  
 004301A4 __imp__glGenTextures@8576  
 004303E4 __imp__glRecti@164  
 004303E8 __imp__glTexImage2D@3612  
 004303F4 __imp__glTexParameteri@12136  
 0043047C __imp__wglCreateContext@440  
 004304A4 __imp__wglGetProcAddress@44  
 004304A8 __imp__wglMakeCurrent@84  
 004304AC __imp__timeGetTime@04  
-004304B0 MAIN.OBJ:.bss12  
 004304B0 ?gShaderDraw@@3IA4  
 004304B4 ?gShaderPresent@@3IA4  
 004304B8 ?fbAccumulator@@3IA4  

http://www.crinkler.net