Author Topic: 🎄🎁✨ Holiday Season - are you ready to code?  (Read 38966 times)

0 Members and 1 Guest are viewing this topic.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #105 on: December 22, 2020, 07:13:48 pm »
And something which might make a nice little screensaver of sorts, for the season:

Code: QB64: [Select]
  1. SCREEN _NEWIMAGE(1280, 720, 32)
  2.  
  3. TYPE Firework
  4.     x AS _FLOAT
  5.     y AS _FLOAT
  6.     Xchange AS _FLOAT
  7.     Ychange AS _FLOAT
  8.     countdown AS _FLOAT
  9.  
  10. TYPE Sparks
  11.     x AS _FLOAT
  12.     y AS _FLOAT
  13.     Xchange AS _FLOAT
  14.     Ychange AS _FLOAT
  15.     countdown AS _FLOAT
  16.  
  17.  
  18.  
  19.  
  20. DIM SHARED Firework(20) AS Firework
  21. DIM SHARED Sparks(180 * 21) AS Sparks
  22. FOR i = 0 TO UBOUND(firework): GenerateFirework (i): NEXT
  23. f = _LOADFONT("OLDENGL.TTF", 72)
  24.  
  25.     LINE (0, 0)-(1280, 720), _RGBA32(0, 0, 0, 10), BF
  26.     DisplayMessage
  27.     FOR i = 0 TO UBOUND(firework)
  28.         Firework(i).x = Firework(i).x + Firework(i).Xchange
  29.         Firework(i).y = Firework(i).y + Firework(i).Ychange
  30.         CircleFill Firework(i).x, Firework(i).y, 5, Firework(i).color
  31.         IF Firework(i).countdown < ExtendedTimer THEN
  32.             GenerateSparks (i)
  33.             GenerateFirework (i)
  34.         END IF
  35.     NEXT
  36.     FOR i = 0 TO UBOUND(sparks)
  37.         Sparks(i).x = Sparks(i).x + Sparks(i).Xchange
  38.         Sparks(i).y = Sparks(i).y + Sparks(i).Ychange
  39.         CircleFill Sparks(i).x, Sparks(i).y, 2, Sparks(i).color
  40.         IF Sparks(i).countdown < ExtendedTimer THEN Sparks(i).color = 0
  41.     NEXT
  42.     _LIMIT 60
  43.     _DISPLAY
  44.  
  45.  
  46.  
  47. SUB GenerateFirework (which)
  48.     Firework(which).x = RND * _WIDTH(0)
  49.     Firework(which).y = 720
  50.     DO: Firework(which).Xchange = RND * 8 - 4: LOOP UNTIL Firework(which).Xchange <> 0
  51.     DO: Firework(which).Ychange = RND * -4: LOOP UNTIL Firework(which).Ychange <> 0
  52.     Firework(which).color = _RGB32(RND * 256, RND * 256, RND * 256)
  53.     Firework(which).countdown = ExtendedTimer + RND * 8
  54.  
  55. SUB GenerateSparks (which)
  56.     count = 180 * which - 1
  57.     DIM cd AS _FLOAT: cd = ExtendedTimer + RND * 4
  58.     FOR j = 0 TO _D2R(360) STEP _D2R(2)
  59.         count = count + 1
  60.         Sparks(count).x = Firework(which).x
  61.         Sparks(count).y = Firework(which).y
  62.         r = RND * 3
  63.         Sparks(count).Xchange = SIN(j) * r
  64.         Sparks(count).Ychange = COS(j) * r
  65.         Sparks(count).color = Firework(which).color
  66.         Sparks(count).countdown = ExtendedTimer + RND * 4
  67.     NEXT
  68.  
  69.  
  70. SUB DisplayMessage
  71.     STATIC T AS _FLOAT, c AS _FLOAT
  72.     IF T = 0 THEN T = ExtendedTimer
  73.     et = ExtendedTimer - T 'elapsed time
  74.     SELECT CASE et
  75.         CASE IS < 8
  76.             c = 255 / 8 * (et - 0) 'fade in
  77.             text$ = "Merry Christmas"
  78.         CASE IS < 16
  79.             c = 255 - 255 / 8 * (et - 8) 'fade out
  80.             text$ = "Merry Christmas"
  81.         CASE IS < 32
  82.             c = 255 / 8 * (et - 16) 'fade in
  83.             text$ = "Happy New Years"
  84.         CASE IS < 48
  85.             c = 255 - 255 / 8 * (et - 32) 'fade out
  86.             text$ = "Happy New Years"
  87.         CASE ELSE
  88.             T = ExtendedTimer
  89.     END SELECT
  90.     COLOR _RGB32(c), 0
  91.     _PRINTSTRING ((_WIDTH - _PRINTWIDTH(text$)) / 2, 320), text$
  92.  
  93.  
  94.  
  95. SUB CircleFill (CX AS INTEGER, CY AS INTEGER, R AS INTEGER, C AS _UNSIGNED LONG)
  96.     ' CX = center x coordinate
  97.     ' CY = center y coordinate
  98.     '  R = radius
  99.     '  C = fill color
  100.     DIM Radius AS INTEGER, RadiusError AS INTEGER
  101.     DIM X AS INTEGER, Y AS INTEGER
  102.     Radius = ABS(R)
  103.     RadiusError = -Radius
  104.     X = Radius
  105.     Y = 0
  106.     IF Radius = 0 THEN PSET (CX, CY), C: EXIT SUB
  107.     LINE (CX - X, CY)-(CX + X, CY), C, BF
  108.     WHILE X > Y
  109.         RadiusError = RadiusError + Y * 2 + 1
  110.         IF RadiusError >= 0 THEN
  111.             IF X <> Y + 1 THEN
  112.                 LINE (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
  113.                 LINE (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
  114.             END IF
  115.             X = X - 1
  116.             RadiusError = RadiusError - X * 2
  117.         END IF
  118.         Y = Y + 1
  119.         LINE (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
  120.         LINE (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
  121.     WEND
  122.  
  123. FUNCTION ExtendedTimer##
  124.     d$ = DATE$
  125.     l = INSTR(d$, "-")
  126.     l1 = INSTR(l + 1, d$, "-")
  127.     m = VAL(LEFT$(d$, l))
  128.     d = VAL(MID$(d$, l + 1))
  129.     y = VAL(MID$(d$, l1 + 1)) - 1970
  130.     FOR i = 1 TO m
  131.         SELECT CASE i 'Add the number of days for each previous month passed
  132.             CASE 1: d = d 'January doestn't have any carry over days.
  133.             CASE 2, 4, 6, 8, 9, 11: d = d + 31
  134.             CASE 3: d = d + 28
  135.             CASE 5, 7, 10, 12: d = d + 30
  136.         END SELECT
  137.     NEXT
  138.     FOR i = 1 TO y
  139.         d = d + 365
  140.     NEXT
  141.     FOR i = 2 TO y STEP 4
  142.         IF m > 2 THEN d = d + 1 'add an extra day for leap year every 4 years, starting in 1970
  143.     NEXT
  144.     d = d - 1 'for year 2000
  145.     s~&& = d * 24 * 60 * 60 'Seconds are days * 24 hours * 60 minutes * 60 seconds
  146.     ExtendedTimer## = (s~&& + TIMER)
  147.  

If needed, font can be downloaded here: https://www.wfonts.com/download/data/2015/11/25/oldenglish/OLDENGL.TTF
« Last Edit: December 23, 2020, 01:02:04 am by SMcNeill »
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: %uD83C%uDF84%uD83C%uDF81%u2728 Holiday Season - are you ready to code?
« Reply #106 on: December 22, 2020, 09:59:32 pm »
@Dav is it ok to feature your Silent Night rendition on said video?

@FellippeHeitor would you need a higher quality sound file for that?  I haven't deleted the original recording yet (was about too then I thought of this request).  The one in the screen save was saved at the lowest quality to make the filesize attachment limit.

@Steve:  Nice fireworks!  I had to comment the olde english font first, my system doesn't have it.

- Dav

FellippeHeitor

  • Guest
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #107 on: December 22, 2020, 10:01:14 pm »
@Dav I was gonna extract it from your resource file, but a higher quality version sure comes handy.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: %uD83C%uDF84%uD83C%uDF81%u2728 Holiday Season - are you ready to code?
« Reply #108 on: December 23, 2020, 01:15:20 am »
@Steve:  Nice fireworks!  I had to comment the olde english font first, my system doesn't have it.

- Dav

I thought it was a standard Windows font, but after doing some digging, it seems it's from MS Office (Word).  There's a link to it above, now, if you want to see it with the proper font is use.  ;)
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

FellippeHeitor

  • Guest
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #109 on: December 23, 2020, 10:49:10 am »
My lazy 2020 submission: Xmas Themed LED Gif Player (loud beeping song warning!):

Code: QB64: [Select]
  1.  
  2. TYPE object
  3.     x AS SINGLE
  4.     y AS SINGLE
  5.     c AS _UNSIGNED LONG
  6.  
  7. SCREEN _NEWIMAGE(800, 540, 32)
  8.  
  9. '78x52
  10. CONST maxW = 78
  11. CONST maxH = 52
  12. DIM px(1 TO maxW, 1 TO maxH) AS object
  13. DIM i AS INTEGER, j AS INTEGER, temp$
  14. DIM frame AS INTEGER
  15.  
  16. CONST offset = 5
  17. FOR i = 1 TO maxW
  18.     FOR j = 1 TO maxH
  19.         px(i, j).x = offset + i * 10
  20.         px(i, j).y = offset + j * 10
  21.     NEXT
  22.  
  23. ' We Wish You a Merry Christmas
  24. ' from http://www.devsuperpage.com/search/Articles.aspx?G=5&ArtID=116269
  25. PLAY "mb t120"
  26. PLAY "o3l4dgg8a8g8f#8"
  27. PLAY "eceaa8b8a8g8f#dd"
  28. PLAY "bb8o4c8o3b8a8ged8d8eaf#g2"
  29. PLAY "dgggf#2f#gf#ed2a"
  30. PLAY "ba8a8g8g8o4do3dd8d8eaf#g2"
  31. PLAY "p1"
  32.  
  33.     frame = frame + 1
  34.     IF frame > 4 THEN frame = 1
  35.  
  36.     SELECT CASE frame
  37.         CASE 1: RESTORE frame1
  38.         CASE 2: RESTORE frame2
  39.         CASE 3: RESTORE frame3
  40.         CASE 4: RESTORE frame4
  41.     END SELECT
  42.  
  43.     CLS
  44.     FOR j = 1 TO maxH
  45.         FOR i = 1 TO maxW
  46.             READ temp$
  47.             IF temp$ <> "0" THEN
  48.                 px(i, j).c = VAL("&H" + temp$)
  49.             ELSE
  50.                 px(i, j).c = _RGB32(21)
  51.             END IF
  52.             CircleFill px(i, j).x, px(i, j).y, 2, px(i, j).c
  53.         NEXT
  54.     NEXT
  55.  
  56.     _DISPLAY
  57.     _LIMIT 5
  58.  
  59. 'image source https://giphy.com/gifs/studiosoriginals-merry-christmas-3o6fJdYXEvMa5ZmlI4
  60.  
  61. frame1:
  62. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  63. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  64. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  65. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  66. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  67. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0C0A03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  68. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,FF0B0202,0,FF0B0202,0,0,FF0B0202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0B0202,0,FF0B0202,0,0,0,0,0,0,0,0,0,0,0
  69. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF9A3434,FFC54C4C,0,FF130303,0,0,0,0,0,FF0B0202,0,0,FF130303,FF1B0404,FF1B0404,FF130303,FF0B0202,0,0,FF130303,0,0,FF0B0202,0,0,0,0,0,0,0,0,0
  70. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF771B1B,FF3C0000,FF000C0B,0,FFEE6D6D,FFD76565,0,FF1D150D,FF130303,0,0,FF1D0A0A,FF1B0404,FF0B0B0B,0,FF130303,0,0,0,0,0,FF631313,FF4B1212,0,FFA73C3C,FFBB4545,0,FF1D0A0A,0,0,0,0,0,0,0,0
  71. DATA 0,0,0,0,0,0,0,0,0,FF0A1A0C,FF0C130C,0,0,0,FF0A1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0202,FF000C0B,FF2C0000,FFEB6262,FF9A3434,0,FF8D211F,FFFF7E7E,FFB44343,0,FF2A0F10,0,0,FF0B0202,0,0,0,FF1B0404,0,FF7B2323,FF8D211F,FF9A3434,FFAD4341,0,FFE45C5C,FF8C2D2D,0,FFF46C6C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0
  72. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0A040A,FF0A1A0C,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0A1A0C,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF5B0101,FFFF7E7E,FFBC4A4A,0,FFD45354,FFFD6B6B,FF9A3434,0,0,FF5B0101,FF220202,FF1B0404,FFB44343,FF9B2A29,FFD45354,FF6F1D1D,0,FFBC4A4A,FFF26665,FFFA7272,FFB54A48,FF4C0000,FFF46C6C,FF5B0101,FF8C2D2D,FFFA7272,FF540000,0,FF130303,0,0,0,0,0,0,0,0
  73. DATA 0,0,0,0,0,0,0,0,FF021F00,FF3E7C3F,FF316B32,0,0,0,FF438645,FF143C15,0,FF0A1A0C,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,FF1B0404,0,FF832525,FFFA7272,FFCC5151,FF871314,FFE45C5C,FFE15555,FF8C2D2D,0,FFBB4545,FFF26665,FFC54C4C,FF630000,FFF46C6C,FFEB6262,FFEE6D6D,FF430101,0,FFDD5A5A,FFAF2D2D,FFDB5555,FF7B2323,FF832525,FFF46C6C,0,FFC54C4C,FFD45354,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
  74. DATA 0,0,0,0,0,0,0,FF0B0B0B,0,FF78CC7A,FF71CC73,FF5CB35D,FF3E7C3F,FF4B994D,FF83DD84,FF2A642C,0,0,0,0,0,0,FF041304,0,0,FF0C130C,FF030B03,FF030B03,FF539452,FF143C15,0,FF131D0F,FF131414,0,0,0,0,0,FF220B0B,FF2A0F10,0,FFAD4341,FFE15555,FFD74C4C,FFD45354,FFC64242,FFDD5A5A,FF6E1414,FF9A3434,FFE45C5C,FFAD2626,FFE45C5C,FFAF2D2D,FFD45354,FFAD2626,FFD45354,0,FF7B2323,FFEB6262,FF6B0000,FFE45C5C,FF540000,FFB54A48,FFFF7E7E,FF870000,FFFA7272,FFA73C3C,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
  75. DATA 0,0,0,0,0,0,0,FF041304,0,FF2A642C,FF5CB35D,FF186C1C,FF63BC65,FF56A358,FF52AC54,FF357837,FF003000,FF61AC62,FF0E2F0F,0,FF030B03,0,0,0,FF0A1A0C,0,0,FF205422,FF88E38A,FF357837,0,0,0,FF003B00,FF0A1A0C,0,FF0B0202,0,0,0,0,FFD45354,FFB43535,FFDD5A5A,FFFA7272,FF870000,FFE56161,FF630000,FFDD5A5A,FFAF2D2D,FFE45C5C,FFB43535,FFDB5555,FFA33636,FFB33C3B,FFCC5151,0,FFDD5A5A,FFBB4545,0,FFE56161,FFBA3C3C,FFE45C5C,FFE45C5C,FFE45C5C,FFF46C6C,FFA73C3C,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
  76. DATA 0,0,0,0,0,0,0,0,FF131414,0,FF66C069,FF3E7C3F,FF003000,FF003000,FF438645,FF6CC66D,FF63BC65,FF7AD57C,FF114713,0,FF030B03,0,FF2A642C,0,FF021F00,FF71C373,FF014803,FF519C53,FF5EBA60,FF5AAC5C,FF316B32,FF4B994D,FF71C373,FF71C373,0,FF14140D,0,FF220202,FFB44343,FF832928,FF340101,FFEB6262,FF630000,FFAD4341,FFBC4A4A,FF5B0101,FFE45C5C,FF5B0101,FFDB5555,FFE15555,FFBA3C3C,FFAF2D2D,FFEB6262,0,FF9A3434,FFEA5E5E,FFCC4C4C,FFDD5A5A,FF220202,0,FF922E2E,FFE45C5C,FFB33C3B,FFA31D1D,FFC64242,FFC64242,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
  77. DATA 0,0,0,0,0,0,0,FF0C130C,0,FF71C373,FF7AD57C,FF005700,FF316B32,FF62B464,FF003B00,FF5AAC5C,FF278532,FF52AC54,0,0,FF1C1D1D,0,FF71CC73,FF62B464,FF005700,FF71CC73,FF6CC66D,FF66C069,FF003000,FF66C069,FF5CB35D,FF52AC54,FF7AD57C,FF316B32,0,FF1C1B0C,0,FFCC4C4C,FFE45C5C,FF430101,FF9A3434,FFE45C5C,0,0,0,FF4A0D00,FFEB6262,FFAF2D2D,FFE15555,FFDB5555,FFB33C3B,FFF26665,FF832525,0,FF220202,FFB44343,FFC54C4C,FF430101,0,FF1B0404,0,0,FF630000,FFF26665,FF8D211F,FFC54C4C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
  78. DATA 0,0,0,0,0,0,0,0,0,FF2A642C,FF429544,FF71CC73,FF3C893E,FF5CB35D,FF3B733A,0,FF5AAC5C,FF5EBA60,FF3C893E,FF3E7C3F,0,0,FF5CB35D,FF52AC54,FF73D375,FF4B994D,FF498A4A,FF3B733A,0,0,FF003000,FF6BBE6D,FF316B32,0,FF131D0F,0,FF4C0000,FFEB6262,FF4C0000,0,FFEA5E5E,FFA33636,0,FF24221A,FF130303,0,FFBB4545,FFE45C5C,FF8D211F,FFBC4A4A,FFCD3448,FF6B0000,0,FF1D0A0A,0,0,0,0,FF130303,0,FF2A0F10,0,FFC54C4C,FFC54C4C,0,FFDD5A5A,FFA73C3C,0,FF220B0B,0,0,0,0,0,0,0,0,0
  79. DATA 0,0,0,0,0,0,0,FF030B03,0,FF003000,FF459D48,FF63BC65,FF316B32,FF357837,FF63BC65,0,FF61AC62,FF5AAC5C,FF73D375,FF52A454,FF5AAC5C,FF52A454,FF5CB35D,FF003000,FF61AC62,FF3E7C3F,0,FF438645,FF63BC65,FF2B762D,FF6CC66D,FF368538,0,FF0E2F0F,0,FF0B0B0B,0,FFD45354,FFD45354,FFDB5555,FFD45354,0,0,0,FF316B32,FF174B1A,0,FF041304,0,0,FF038140,FF3A8C4C,FF021F00,FF0A1A0C,FF131D0F,FF1C0709,FF2A0F10,FF4C0000,FF0B0202,0,FF220B0B,0,FFC54C4C,FFD45354,FFA83232,FFEB6262,FF4C0000,0,FF130303,FF0B0202,0,0,FF130303,FF220B0B,FF0B0202,0,0,0
  80. DATA 0,0,0,0,0,0,0,FF0A1A0C,0,FF56A358,FF83DD84,FF429544,0,0,FF62B464,FF438645,0,FF021F00,FF63BC65,FF003000,FF62B464,FF73D375,FF71CC73,0,0,FF357837,FF66C069,FF5CB35D,FF014803,FF519C53,FF71CC73,FF5EBA60,FF7AD57C,FF003000,0,FF1D0A0A,0,FF430101,FFB44343,FFA73C3C,FF0B0202,0,FF316B32,FF71C373,FF83DD84,FF80D381,0,0,FF3B733A,FF80D381,FF71CC73,FF88E38A,FF498A4A,0,0,FF030B03,FF631313,FFD45354,FF340101,0,FF130303,0,FF580C0C,FFD45354,FFDD5A5A,FF771B1B,0,FF2A0F10,FF130303,0,0,FF130303,0,0,0,FF0B0202,0,0
  81. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF205422,FF52A454,FF71CC73,FF3B733A,FF114713,FF6CC66D,0,FF438645,FF5AAC5C,0,FF5CB35D,FF2B762D,FF205422,FF003B00,FF62B464,FF63BC65,FF2A642C,0,0,0,FF459D48,FF71CC73,FF498A4A,0,FF1D150D,0,0,FF000C0B,0,0,FF0A1A0C,0,FF519C53,FF429544,FF71C373,FF6AB36B,0,FF62B464,FF88E38A,FF498A4A,FF014803,FF80D381,FF005700,FF438645,FF539452,0,FF832928,FFD45354,0,FF0B0B0B,FF1B0404,FF1B0404,0,0,0,0,FF000C0B,0,0,FF2C0000,FF1B0404,0,FF631313,FFB44343,FF580C0C,0,FF0B0202,0
  82. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3C893E,FF6CC66D,FF357837,0,FF519C53,FF5AAC5C,FF005700,FF4B994D,FF2B762D,FF66C069,0,FF357837,FF6CC66D,FF498A4A,0,0,0,FF498A4A,FF63BC65,FF52A454,FF114713,0,FF1D150D,0,FF130303,FF4C0000,0,FF1D0A0A,FF1B0404,FF220202,FF62211A,0,FF2A642C,FF80D381,FF014803,FF78CC7A,FF78CC7A,FF003B00,0,FF205422,FF80D381,FF78CC7A,FF7AD57C,FF438645,FF540000,FFB33C3B,FFD24545,FFB33C3B,FF340101,0,0,0,0,FF000C0B,0,FF3C0000,FFBC4A4A,FFB33C3B,FFCC4C4C,0,FF631313,FFDB5555,FFFD6B6B,FF9A3434,0,FF220202,0
  83. DATA 0,0,0,0,0,0,0,0,FF0A1A0C,0,FF539452,FF88E38A,FF52AC54,FF5AAC5C,FF174B1A,0,FF5AAC5C,FF52AC54,FF6CC66D,FF63BC65,FF5AAC5C,FF52AC54,FF6CC66D,FF174B1A,0,FF0E2F0F,FF021F00,0,FF52A454,FF73D375,FF56A358,FF205422,FF1B0404,0,FF832525,FFE45C5C,FFEA5E5E,FFBB4545,0,0,FF832525,FFCC5151,0,FF528E51,FF83DD84,FF7AD57C,FF6AB36B,0,0,FF24221A,0,FF2A642C,FF498A4A,0,0,FF8C2D2D,FFD74C4C,FFC64242,FFA33636,FF630000,FF7B2323,FF6E1414,FF8C2D2D,FFBC4A4A,FF580C0C,0,FFCC5151,FFDB5555,FFD24545,FFDD5A5A,0,FFBC4A4A,FFE45C5C,FF760000,FF551913,0,FF0B0202,0
  84. DATA 0,0,0,0,0,0,0,0,0,0,FF0E2F0F,FF003000,FF52AC54,FF7AD57C,FF3C893E,FF498A4A,FF278532,FF66C069,FF6CC66D,0,FF63BC65,FF52A454,0,0,0,FF4B994D,FF78CC7A,FF5CB35D,FF5CB35D,FF63BC65,FF80D381,FF3E7C3F,0,FF60110A,FFEB6262,FFA33636,FF5B0101,FFEA5E5E,FF9A3434,0,FFBB4545,FFC54C4C,0,FF152600,FF6AB36B,FF539452,0,0,FF14140D,0,0,0,0,FF7B2323,FF62211A,0,FFCC4C4C,FFA33636,0,FFDB5555,FFD74C4C,FFEB6262,FFD24545,FFE45C5C,FFC54C4C,FF3C0000,FFEB6262,FF3C0000,FFB44343,FFCC4C4C,0,FF540000,FFDD5A5A,FFD45354,FF1B0404,0,0,0
  85. DATA 0,0,0,0,0,0,0,0,0,FF0A1A0C,0,FF3B733A,FF88E38A,FF5EBA60,FF5AAC5C,FF459D48,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF459D48,FF368538,FF5AAC5C,FF5AAC5C,FF519C53,FF429544,FF6CC66D,FF3C893E,FF205422,FF114713,0,FF0B0202,0,FFCC4C4C,FFC54C4C,0,0,FFDB5555,FFB44343,0,FFDB5555,FF9A3434,0,FF2A0F10,0,0,FF551913,FF9A3434,0,FF62211A,FF8C2D2D,0,FFB54A48,FFFD6B6B,FFD3565D,0,FFE45C5C,FF8C2D2D,FF6E1414,FFEB6262,FF6B0000,FFE56161,FF6B0000,FFA73C3C,FFCC5151,FF6B0000,FFE45C5C,FF1B0404,FFD45354,FF9B2A29,FFA33636,FFB44343,0,FFE45C5C,FFA73C3C,0,FF220202,0
  86. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF2F5724,FF3B733A,FF262B0C,0,FF86002F,FFD3565D,FFC54E54,FF5C934D,FF7AD57C,FF459D48,FF88E38A,FF63BC65,FF2B762D,FF4B994D,FF52A454,FF71CC73,FF6BBE6D,0,FF0B0202,FF1D1D12,FF000C0B,FF430101,FFEB6262,FF771B1B,0,FFB33C3B,FFE45C5C,FF430101,FF2C0000,FFE45C5C,FF9B2A29,FF580C0C,0,FFB54A48,FFC54C4C,FFE56161,FFE56161,0,FFBB4545,FFCC5151,FF4C0000,FFF46C6C,FFAF2D2D,FFBB4545,FF540000,FFEB6262,FF430101,FFA73C3C,FFD45354,FF4C0000,FFEB6262,FF3C0000,FFBC4A4A,FFBB4545,FF4C0000,FFEB6262,FF630000,FFE45C5C,FFAD2626,FFEB6262,FFF46C6C,FFB43535,FFEB6262,FF7B2323,0,FF130303,0
  87. DATA 0,0,0,0,0,0,0,0,0,0,FF1D1D12,0,0,0,0,FF92403A,FFBB4545,FFD76565,FF8E4632,FF2F5724,FF357837,FF519C53,FF3E7C3F,0,0,0,FF174B1A,FF316B32,FF030B03,FF041304,FF1B0404,0,FF832525,FFE45C5C,FF2C0000,0,FF631313,FF3C0000,0,FF771B1B,FFE45C5C,FFD74C4C,FFEB6262,FF871314,FFD3565D,FFE45C5C,FFEB6262,FFBC4A4A,0,FFD45354,FFB44343,0,FFBB4545,FFEA5E5E,FF760000,FF832525,FFE45C5C,0,FFCC5151,FFB44343,FF771B1B,FFE45C5C,0,FFBC4A4A,FFD45354,FFB43535,FFEA5E5E,FFE45C5C,FFDB5555,FFD74C4C,FFC54C4C,FF9B2A29,FFDD5A5A,FF922E2E,0,FF1B0404,0,0
  88. DATA 0,0,0,0,0,0,0,0,0,FF14140D,0,FF63501C,FFAC954A,FFB19A4C,FF63501C,FF801825,FFD3565D,FFCC5151,FFD76565,FFC44F58,FF340101,0,FF2A0827,FF323332,FF2C332C,FF323332,FF2A242C,FF0A040A,0,0,FF220B0B,0,FFA73C3C,FFDB5555,0,FF220B0B,0,FF4B1212,FF771B1B,FFA33636,FFE45C5C,FF340101,FFD45354,FFC64242,FFDB5555,FF760000,FFCC4C4C,FFA73C3C,0,FFE45C5C,FFAF2D2D,FFCC5151,0,FFB33C3B,FFDB5555,FFBA3C3C,FFDB5555,FF760000,FFF26665,FF630000,FF9A3434,FFDB5555,0,FF591313,FFDD5A5A,FFDD5A5A,FF760000,FFA73C3C,FF60110A,0,0,0,0,0,FF130303,0,0,0
  89. DATA 0,0,0,0,0,0,0,0,FF14140D,0,FFB19A4C,FFDBC267,FFAC954A,FFDBC267,FFD19B59,FFD3565D,FFC7635C,FFC54E54,FFBB4545,FFD76565,FF713D38,FF002920,FF1D1D12,0,0,0,FF0C130C,FF323332,FF242424,0,FF220B0B,0,FFBC4A4A,FFC54C4C,0,FF2A0F10,0,FF9A3434,FFDB5555,FFC64242,FFC54C4C,0,FFDD5A5A,FFAF2D2D,FFE45C5C,FF3C0000,FFCC5151,FFBB4545,FF871314,FFE45C5C,FFC64242,FFFF7E7E,FFBA3C3C,FFD45354,FFC64242,FFCC4C4C,FFBA3C3C,FFE45C5C,FFB44343,0,FF591313,FF631313,0,0,FF130303,FF220202,0,0,0,FF0B0202,FF130303,FF1B0404,FF1D0A0A,FF1B0404,0,0,0,0
  90. DATA 0,0,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFD5BC63,FF340E00,0,FFB19A4C,FFCAA853,FFB10025,FFD3565D,FFA65136,FFAD4341,FF9D494B,FF242424,FF0B0202,0,0,0,0,0,0,FF323332,FF1C1D1D,FF1B0404,0,FFCC5151,FFBB4545,0,FF381515,0,FFCC5151,FFBB4545,FFD74C4C,FFA73C3C,0,FFE45C5C,FFD45354,FFDD5A5A,0,FF6F1D1D,FFE45C5C,FFF26665,FFB43535,FFBA3C3C,FF9B2A29,FFD45354,FFC54C4C,FF340101,FF430101,FF1B0404,FF2C0000,0,FF0B0202,0,0,FF0B0202,FF130303,0,0,FF130303,FF220202,FF130303,0,0,0,0,0,0,0,0,0
  91. DATA 0,0,0,0,0,0,FF130E03,0,FF746027,FFDBC267,FF2C0000,0,0,FF63501C,FFD5BC63,FFDBAE60,FFD19B59,FFCAA853,FF93803C,0,FF2F2723,0,0,0,0,0,0,0,FF131414,FF302F2F,FF1B0404,0,FFD45354,FFA73C3C,0,0,FF5B0101,FFEB6262,FF870000,FFE56161,FF832525,0,FFA33636,FFEB6262,FF8C2D2D,0,0,FF540000,FF832928,FF1B0404,0,0,0,0,0,0,0,0,FF1B0404,0,FF0B0202,FF130303,0,0,FF0B0202,FF0B0202,0,0,0,0,0,0,0,0,0,0,0,0
  92. DATA 0,0,0,0,0,0,FF1C1B0C,0,FFC1AA5B,FFA28D44,0,FF221D0A,FF0C0A03,0,FF4E3804,FFA28D44,FF8A7730,FF9C843E,FFCDB45F,FF12001B,FF24221A,0,0,0,0,0,0,0,0,FF2B2B2B,FF2F2723,0,FFBC4A4A,FFDD5A5A,FF430101,FF6E1414,FFE85F60,FFB44343,0,FFBB4545,FF430101,0,0,FF130303,0,FF0A040A,FF130303,0,0,0,FF0B0202,FF1B0404,FF1D0A0A,FF1D0A0A,FF0B0202,FF0B0202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  93. DATA 0,0,0,0,0,FF0C0A03,0,FF5C4715,FFD5BC63,FF3F2A00,0,0,0,FF130E03,0,0,0,FF63501C,FFCDB45F,FF3B2A21,FF14191D,0,0,0,0,0,0,0,0,FF1C1D1D,FF2B2B2B,0,FF3C0000,FFCC5151,FFE45C5C,FFE45C5C,FFB33C3B,0,FF0B0B0B,0,0,FF130E03,FF0B0202,0,FF1D150D,0,FF050812,FF14090C,FF1B0404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  94. DATA 0,0,0,0,0,FF1C1B0C,0,FFA28D44,FFBCA454,0,FF1C1B0C,0,0,0,FF0B0202,FF2B2711,0,FF746027,FFCDB45F,FF2A0F10,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF0B0202,0,0,FF580C0C,FF340101,0,FF14090C,0,0,FF1A1D22,0,FF35456D,FF6E7CA1,0,FF232D3F,0,0,FF050812,0,0,0,0,0,0,FF1C1D1D,FF1C1D1D,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,0,0,0,0,0,0,0,0
  95. DATA 0,0,0,0,FF130E03,FF000C0B,FF0B0202,FFD5BC63,FF746027,0,FF1A1506,0,0,0,0,FF1C1B0C,0,FF93803C,FFCAA853,0,FF34352F,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,FF14090C,0,0,FF1D0A0A,0,FF0C0A03,FF334161,FF000133,FF8192BC,FF788CC7,FF8A9ACA,FF8294C3,FF5B6A8B,FF000133,FF30394B,0,FF02040A,0,0,FF0B0B0B,FF0B0B0B,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF0B0B0B,FF0B0B0B,0,0,0,0,FF0B0B0B,0,FF1C1D1D,FF242424,FF2B2B2B,FF242424,FF2B2B2B,0,FF131414,0,0,0,0,0
  96. DATA 0,0,0,FF1E1805,FF131D0F,0,FFC1AA5B,FFBCA454,0,FF1C1B0C,0,0,0,0,0,FF1C1B0C,0,FFBCA454,FFAC954A,0,FF393837,FF0B0B0B,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF2B2B2B,0,0,0,0,FF232D3F,FF000133,FF8A9ACA,FF475677,FF475677,FF99ABDC,FFA1B5EA,FF8192BC,0,FF8A9ACA,FF3C5288,FF000133,FF0D1522,0,0,FF2B2B2B,0,FF1C1D1D,FF323332,FF323332,FF1C1D1D,0,FF2B2B2B,0,0,0,0,FF131414,FF2B2B2B,0,FF2B2B2B,FF323332,FF323332,FF0B0B0B,FF1C1D1D,FF2B2B2B,0,FF0B0B0B,0,0,0
  97. DATA 0,0,0,0,0,FFBCA454,FFCDB45F,0,FF000C0B,0,0,0,0,0,FF0B0202,0,FF3F2A00,FFD5BC63,FF5C4715,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,FF242424,FF1A1D22,0,FF475677,FF8A9ACA,FF889CD6,FF6276AB,0,FF5C6B94,FF90A2D3,0,FF00104A,FF8FA4DC,FF7F93CC,FF7084B8,0,FF242424,FF2B2B2B,FF2B2B2B,FF131414,0,FF242424,FF242424,0,FF131414,FF2B2B2B,FF2B2B2B,FF1C1D1D,0,FF2B2B2B,FF242424,FF2B2B2B,0,0,FF2B2B2B,FF131414,0,FF242424,FF2B2B2B,FF2B2B2B,FF0B0B0B,0,0,0
  98. DATA 0,0,FF3F2A00,FF7D6628,FFCDB45F,FFC1AA5B,FF1B0404,FF030B03,FF130E03,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFBCA454,0,FF1C1B0C,0,FF2B2B2B,FF131414,0,0,0,0,0,0,0,0,0,0,FF242424,FF393837,FF242424,0,FF162C54,FF788CC7,FFA1B5EA,FF8FA4DC,FF35456D,FF516089,FF8A9ACA,FF000133,FF798BB7,FFA1B5EA,FF98ACE3,FF445992,0,FF0C0E13,FF2B2B2B,FF323332,FF2B2B2B,0,FF242424,FF242424,0,FF2B2B2B,FF323332,FF2B2B2B,FF0B0B0B,0,FF131414,FF323332,FF323332,FF242424,0,FF2B2B2B,FF0B0B0B,FF131414,FF323332,FF323332,FF242424,0,0,0,0
  99. DATA FF1C1B0C,0,FFA28D44,FFFCE689,FFD7B855,FF4A0D00,0,0,FF0C130C,0,0,0,0,FF0C0A03,0,FF340E00,FFD5BC63,FF63501C,0,FF130E03,0,FF1C1D1D,FF2B2B2B,0,0,0,0,0,0,0,FF0B0B0B,FF242424,FF323332,FF242424,0,FF050812,0,FF516089,FF8294C3,FF3C5288,FF5C6B94,FF90A2D3,FF7F93CC,FF889CD6,FF889CD6,FF8192BC,FF1E3D7B,FF7182AD,FF798BB7,FF000026,FF24221A,FF2A242C,FF0B0B0B,FF242424,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF2B2B2B,FF1C1D1D,FF0B0B0B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF131414,FF131414,FF2B2B2B,FF131414,0,0,0
  100. DATA 0,0,FF301F00,FF7D6628,FFBCA454,FFD5BC63,FFBCA454,FF7D6628,0,0,FF0C0A03,FF1D1D12,FF130E03,FF1C1B0C,0,FF93803C,FFC1AA5B,0,FF1C1B0C,0,0,FF0B0B0B,FF2B2B2B,0,0,0,0,0,0,FF242424,FF323332,FF242424,0,0,0,0,0,FF162C54,FF00104A,0,0,FF6276AB,FF8FA4DC,FF6A86CE,FF889CD6,FF000133,0,FF000026,FF1F325B,FF0D1522,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,FF131414,0,0,0,0,0,0,0
  101. DATA 0,0,0,0,0,FF4E3804,FFA28D44,FFD5BC63,FFCDB45F,FF301F00,FF02040A,0,0,FF262B0C,0,FFBCA454,FFA28D44,0,FF1A1506,0,0,0,FF2B2B2B,FF0B0B0B,0,0,FF0B0B0B,FF131414,0,FF2B2B2B,FF242424,0,0,0,0,FF111319,0,FF5C6B94,FF90A2D3,FF788CC7,FF8A9ACA,FF90A2D3,FF7084B8,FF8A9ACA,FF7084B8,FF99ABDC,FF7084B8,FF90A2D3,FF8192BC,FF001032,FF24221A,FF2F2F31,FF242424,FF2B2B2B,FF242424,FF242424,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF2B2B2B,FF2B2B2B,FF242424,FF323332,FF242424,FF2B2B2B,FF1C1D1D,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF1C1D1D,0,0,0
  102. DATA 0,0,FF0B0202,FF1A1506,FF1C1B0C,0,0,FF8A7730,FFD5BC63,0,FF3F2A00,FFC1AA5B,FF7D6628,0,0,FFC1AA5B,FF9C843E,0,FF1A1506,0,0,0,FF2B2B2B,0,0,FF242424,FF323332,FF323332,FF131414,FF2B2B2B,FF242424,0,0,0,0,FF02040A,FF0B0202,FF000040,FF788CC7,FFA1B5EA,FF7F93CC,0,FF516089,FF8A9ACA,0,FF445992,FFA1B5EA,FF8FA4DC,FF3C5288,0,FF111319,FF2B2B2B,FF323332,FF1C1D1D,0,FF242424,FF242424,0,FF242424,FF323332,FF2B2B2B,0,0,FF131414,FF323332,FF323332,FF0B0B0B,0,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF323332,FF242424,0,0,0,0
  103. DATA 0,0,0,0,0,FF1A1506,0,FF746027,FFD5BC63,FF77570B,FFC1AA5B,FFDBC267,FFCDB45F,FFCDB45F,FF654703,FFB19A4C,FFA28D44,0,FF1A1506,0,0,FF0B0B0B,FF2B2B2B,FF1C1D1D,FF323332,FF242424,0,FF131414,FF2B2B2B,FF242424,0,0,0,0,0,FF0C0E13,0,FF475677,FF7182AD,FF7F93CC,FF6E7CA1,0,FF6276AB,FF90A2D3,0,FF001032,FF90A2D3,FF687CB3,FF6E7CA1,0,FF242424,FF1C1D1D,FF2B2B2B,FF131414,0,FF2B2B2B,FF242424,0,FF131414,FF2B2B2B,FF1C1D1D,FF1C1D1D,0,FF242424,FF1C1D1D,FF2B2B2B,0,0,FF2B2B2B,FF131414,0,FF242424,FF242424,FF242424,FF131414,0,0,0
  104. DATA 0,0,0,0,0,0,FF130E03,0,FF9C843E,FFD5BC63,FFBCA454,FF130303,FF1B0404,FFA28D44,FFCDB45F,FFE8CD6C,FFCDB45F,0,FF1C1B0C,0,0,FF1C1D1D,FF393837,FF242424,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,FF02040A,0,0,FF7182AD,FF162C54,FF6E7CA1,FF98ACE3,FF98ACE3,FF8A9ACA,FF000026,FF6E7CA1,FF334161,0,FF1A1D22,0,0,FF242424,0,FF242424,FF323332,FF323332,FF242424,0,FF242424,0,0,0,0,FF131414,FF242424,0,FF2B2B2B,FF323332,FF323332,FF131414,FF0B0B0B,FF242424,0,0,0,0,0
  105. DATA 0,0,0,0,0,0,0,FF0C0A03,0,0,0,FF000C0B,FF000C0B,0,FF1B0404,FFAC954A,FFC1AA5B,0,FF000C0B,0,0,FF131414,FF131414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1A1D22,0,FF001032,FF8192BC,FF687CB3,FF7F93CC,FF687CB3,FF5B6A8B,0,FF111319,FF14191D,0,0,0,0,FF131414,FF242424,FF242424,FF242424,FF242424,FF0B0B0B,0,0,0,0,0,0,0,FF242424,FF1C1D1D,FF2B2B2B,FF1C1D1D,FF242424,0,0,0,0,0,0,0
  106. DATA 0,0,0,0,0,0,0,0,FF1D150D,FF0C130C,FF1C1B0C,FF0B0202,FF0B0202,FF1C1B0C,FF02040A,0,0,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF14191D,0,FF334161,FF5C6B94,0,FF02040A,FF111319,0,0,0,0,0,0,0,0,FF1C1D1D,FF131414,0,0,0,0,0,0,0,0,0,0,0,FF1C1D1D,0,0,0,0,0,0,0,0,0
  107. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1B0C,FF14140D,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131414,0,0,FF1C1D1D,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  108. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF02040A,FF131414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  109. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  110. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  111. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  112. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  113. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  114.  
  115. frame2:
  116. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  117. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  118. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  119. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  120. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  121. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0F0B02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  122. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,FF0B0302,0,FF0B0302,0,0,FF0B0302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0B0302,0,FF0B0302,0,0,0,0,0,0,0,0,0,0,0
  123. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF9A3434,FFC54C4C,0,FF130303,0,0,0,0,0,FF0B0302,0,0,FF130303,FF1B0404,FF1B0404,FF130303,FF0B0302,0,0,FF130303,0,0,FF0B0302,0,0,0,0,0,0,0,0,0
  124. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF771B1B,FF3C0000,FF010B0B,0,FFEE6D6D,FFD76565,0,FF1C140E,FF130303,0,0,FF1D0A0A,FF1B0404,FF0C0B0B,0,FF130303,0,0,0,0,0,FF631313,FF4B1212,0,FFA43B3B,FFBB4545,0,FF1D0A0A,0,0,0,0,0,0,0,0
  125. DATA 0,0,0,0,0,0,0,0,0,FF0B1A0B,FF0C130C,0,0,0,FF0B1A0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0302,FF010B0B,FF2C0000,FFEB6262,FF9A3434,0,FF8D211F,FFFF7E7E,FFB44343,0,FF2A0F10,0,0,FF0B0302,0,0,0,FF1B0404,0,FF7B2323,FF8D211F,FF9A3434,FFAD4341,0,FFE45C5C,FF8C2D2D,0,FFF46C6C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0
  126. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0B040A,FF0B1A0B,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B1A0B,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF5B0101,FFFF7E7E,FFBC4A4A,0,FFD45354,FFFD6B6B,FF9A3434,0,0,FF5B0101,FF220202,FF1B0404,FFB44343,FF9B2A29,FFD45354,FF6F1D1D,0,FFBC4A4A,FFF26665,FFFA7272,FFB54A48,FF4C0000,FFF46C6C,FF5B0101,FF8C2D2D,FFFA7272,FF540000,0,FF130303,0,0,0,0,0,0,0,0
  127. DATA 0,0,0,0,0,0,0,0,FF021F00,FF3E7C3F,FF316B32,0,0,0,FF438645,FF143C15,0,FF0B1A0B,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,FF1B0404,0,FF832525,FFFA7272,FFCC5151,FF871314,FFE45C5C,FFE15555,FF8C2D2D,0,FFBB4545,FFF26665,FFC54C4C,FF630000,FFF46C6C,FFEB6262,FFEE6D6D,FF430101,0,FFDD5A5A,FFAF2D2D,FFDB5555,FF7B2323,FF832525,FFF46C6C,0,FFC54C4C,FFD45354,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
  128. DATA 0,0,0,0,0,0,0,FF0C0B0B,0,FF78CC7A,FF71CC73,FF5CB35D,FF3E7C3F,FF4B994D,FF83DD84,FF2A642C,0,0,0,0,0,0,FF041304,0,0,FF0C130C,FF030B03,FF030B03,FF539452,FF143C15,0,FF131D0F,FF131413,0,0,0,0,0,FF220B0B,FF2A0F10,0,FFAD4341,FFE15555,FFD74C4C,FFD45354,FFC64242,FFDD5A5A,FF6E1414,FF9A3434,FFE45C5C,FFAD2626,FFE45C5C,FFAF2D2D,FFD45354,FFAD2626,FFD45354,0,FF7B2323,FFEB6262,FF6B0000,FFE45C5C,FF540000,FFB54A48,FFFF7E7E,FF870000,FFFA7272,FFA93D3D,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
  129. DATA 0,0,0,0,0,0,0,FF041304,0,FF2A642C,FF5CB35D,FF186C1C,FF63BC65,FF56A358,FF52AC54,FF357837,FF003000,FF61AC62,FF0B300C,0,FF030B03,0,0,0,FF0B1A0B,0,0,FF205422,FF88E38A,FF357837,0,0,0,FF003B00,FF0B1A0B,0,FF0B0302,0,0,0,0,FFD45354,FFB43535,FFDD5A5A,FFFA7272,FF870000,FFE56161,FF630000,FFDD5A5A,FFAF2D2D,FFE45C5C,FFB43535,FFDB5555,FFA33636,FFB33C3B,FFCC5151,0,FFDD5A5A,FFBB4545,0,FFE56161,FFBA3C3C,FFE45C5C,FFE45C5C,FFE45C5C,FFF46C6C,FFA93D3D,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
  130. DATA 0,0,0,0,0,0,0,0,FF131413,0,FF66C069,FF3E7C3F,FF003000,FF003000,FF438645,FF6CC66D,FF63BC65,FF7CD47D,FF114713,0,FF030B03,0,FF2A642C,0,FF021F00,FF71C373,FF014803,FF519C53,FF5EBA60,FF5AAC5C,FF316B32,FF4B994D,FF71C373,FF71C373,0,FF14140D,0,FF220202,FFB44343,FF832928,FF340101,FFEB6262,FF630000,FFAD4341,FFBC4A4A,FF5B0101,FFE45C5C,FF5B0101,FFDB5555,FFE15555,FFBA3C3C,FFAF2D2D,FFEB6262,0,FF9A3434,FFEA5E5E,FFCC4C4C,FFDD5A5A,FF220202,0,FF922E2E,FFE45C5C,FFB33C3B,FFA31D1D,FFC64242,FFC64242,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
  131. DATA 0,0,0,0,0,0,0,FF0C130C,0,FF71C373,FF7CD47D,FF005700,FF316B32,FF62B464,FF003B00,FF5AAC5C,FF278532,FF52AC54,0,0,FF1C1C1C,0,FF71CC73,FF62B464,FF005700,FF71CC73,FF6CC66D,FF66C069,FF003000,FF66C069,FF5CB35D,FF52AC54,FF76D77A,FF316B32,0,FF1C1B0C,0,FFCC4C4C,FFE45C5C,FF430101,FF9A3434,FFE45C5C,0,0,0,FF4A0D00,FFEB6262,FFAF2D2D,FFE15555,FFDB5555,FFB33C3B,FFF26665,FF832525,0,FF220202,FFB44343,FFC54C4C,FF430101,0,FF1B0404,0,0,FF630000,FFF26665,FF8D211F,FFC54C4C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
  132. DATA 0,0,0,0,0,0,0,0,0,FF2A642C,FF429544,FF71CC73,FF3C893E,FF5CB35D,FF3B733A,0,FF5AAC5C,FF5EBA60,FF3C893E,FF3E7C3F,0,0,FF5CB35D,FF52AC54,FF73D375,FF4B994D,FF498A4A,FF3B733A,0,0,FF003000,FF6BBE6D,FF316B32,0,FF131D0F,0,FF4C0000,FFEB6262,FF4C0000,0,FFEA5E5E,FFA33636,0,FF28201C,FF130303,0,FFBB4545,FFE45C5C,FF8D211F,FFBC4A4A,FFCD3448,FF6B0000,0,FF1D0A0A,0,0,0,0,FF130303,0,FF2A0F10,0,FFC54C4C,FFC54C4C,0,FFDD5A5A,FFA43B3B,0,FF220B0B,0,0,0,0,0,0,0,0,0
  133. DATA 0,0,0,0,0,0,0,FF030B03,0,FF003000,FF459D48,FF63BC65,FF316B32,FF357837,FF63BC65,0,FF61AC62,FF5AAC5C,FF73D375,FF52A454,FF5AAC5C,FF52A454,FF5CB35D,FF003000,FF61AC62,FF3E7C3F,0,FF438645,FF63BC65,FF2B762D,FF6CC66D,FF368538,0,FF1F2917,0,FF0C0B0B,0,FFD45354,FFD45354,FFDB5555,FFD45354,0,0,0,FF316B32,FF174B1A,0,FF041304,0,0,FF038140,FF3A8C4C,FF021F00,FF0B1A0B,FF131D0F,FF1C0709,FF2A0F10,FF4C0000,FF0B0302,0,FF220B0B,0,FFC54C4C,FFD45354,FFA83232,FFEB6262,FF4C0000,0,FF130303,FF0B0302,0,0,FF130303,FF220B0B,FF0B0302,0,0,0
  134. DATA 0,0,0,0,0,0,0,FF0B1A0B,0,FF56A358,FF83DD84,FF429544,0,0,FF62B464,FF438645,0,FF021F00,FF63BC65,FF003000,FF62B464,FF73D375,FF71CC73,0,0,FF357837,FF66C069,FF5CB35D,FF014803,FF519C53,FF71CC73,FF5EBA60,FF7CD47D,FF003000,0,FF1D0A0A,0,FF430101,FFB44343,FFA93D3D,FF0B0302,0,FF316B32,FF71C373,FF83DD84,FF80D381,0,0,FF3B733A,FF80D381,FF71CC73,FF88E38A,FF498A4A,0,0,FF030B03,FF631313,FFD45354,FF340101,0,FF130303,0,FF580C0C,FFD45354,FFDD5A5A,FF771B1B,0,FF2A0F10,FF130303,0,0,FF130303,0,0,0,FF0B0302,0,0
  135. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF205422,FF52A454,FF71CC73,FF3B733A,FF114713,FF6CC66D,0,FF438645,FF5AAC5C,0,FF5CB35D,FF2B762D,FF205422,FF003B00,FF62B464,FF63BC65,FF2A642C,0,0,0,FF459D48,FF71CC73,FF498A4A,0,FF1C140E,0,0,FF010B0B,0,0,FF021810,0,FF519C53,FF429544,FF71C373,FF6AB36B,0,FF62B464,FF88E38A,FF498A4A,FF014803,FF80D381,FF005700,FF438645,FF539452,0,FF832928,FFD45354,0,FF0C0B0B,FF1B0404,FF1B0404,0,0,0,0,FF010B0B,0,0,FF2C0000,FF1B0404,0,FF631313,FFB44343,FF580C0C,0,FF0B0302,0
  136. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3C893E,FF6CC66D,FF357837,0,FF519C53,FF5AAC5C,FF005700,FF4B994D,FF2B762D,FF66C069,0,FF357837,FF6CC66D,FF498A4A,0,0,0,FF498A4A,FF63BC65,FF52A454,FF114713,0,FF1C140E,0,FF130303,FF4C0000,0,FF1D0A0A,FF1B0404,FF220202,FF62211A,0,FF2A642C,FF80D381,FF014803,FF78CC7A,FF78CC7A,FF003B00,0,FF205422,FF80D381,FF78CC7A,FF7CD47D,FF438645,FF540000,FFB33C3B,FFD24545,FFB33C3B,FF340101,0,0,0,0,FF010B0B,0,FF3C0000,FFBC4A4A,FFB33C3B,FFCC4C4C,0,FF631313,FFDB5555,FFFD6B6B,FF9A3434,0,FF220202,0
  137. DATA 0,0,0,0,0,0,0,0,FF0B1A0B,0,FF539452,FF88E38A,FF52AC54,FF5AAC5C,FF174B1A,0,FF5AAC5C,FF52AC54,FF6CC66D,FF63BC65,FF5AAC5C,FF52AC54,FF6CC66D,FF174B1A,0,FF0B300C,FF021F00,0,FF52A454,FF73D375,FF56A358,FF205422,FF1B0404,0,FF832525,FFE45C5C,FFEA5E5E,FFBB4545,0,0,FF832525,FFCC5151,0,FF528E51,FF83DD84,FF7CD47D,FF6AB36B,0,0,FF1F2917,0,FF2A642C,FF498A4A,0,0,FF8C2D2D,FFD74C4C,FFC64242,FFA33636,FF630000,FF7B2323,FF6E1414,FF8C2D2D,FFBC4A4A,FF580C0C,0,FFCC5151,FFDB5555,FFD24545,FFDD5A5A,0,FFBC4A4A,FFE45C5C,FF760000,FF551913,0,FF0B0302,0
  138. DATA 0,0,0,0,0,0,0,0,0,0,FF0B300C,FF003000,FF52AC54,FF76D77A,FF3C893E,FF498A4A,FF278532,FF66C069,FF6CC66D,0,FF63BC65,FF52A454,0,0,0,FF4B994D,FF78CC7A,FF5CB35D,FF5CB35D,FF63BC65,FF80D381,FF3E7C3F,0,FF60110A,FFEB6262,FFA33636,FF5B0101,FFEA5E5E,FF9A3434,0,FFBB4545,FFC54C4C,0,FF152600,FF6AB36B,FF539452,0,0,FF14140D,0,0,0,0,FF7B2323,FF62211A,0,FFCC4C4C,FFA33636,0,FFDB5555,FFD74C4C,FFEB6262,FFD24545,FFE45C5C,FFC54C4C,FF3C0000,FFEB6262,FF3C0000,FFB44343,FFCC4C4C,0,FF540000,FFDD5A5A,FFD45354,FF1B0404,0,0,0
  139. DATA 0,0,0,0,0,0,0,0,0,FF0B1A0B,0,FF3B733A,FF88E38A,FF5EBA60,FF5AAC5C,FF459D48,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF459D48,FF368538,FF5AAC5C,FF5AAC5C,FF519C53,FF429544,FF6CC66D,FF3C893E,FF205422,FF114713,0,FF0B0302,0,FFCC4C4C,FFC54C4C,0,0,FFDB5555,FFB44343,0,FFDB5555,FF9A3434,0,FF2A0F10,0,0,FF551913,FF9A3434,0,FF62211A,FF8C2D2D,0,FFB54A48,FFFD6B6B,FFD3565D,0,FFE45C5C,FF8C2D2D,FF6E1414,FFEB6262,FF6B0000,FFE56161,FF6B0000,FFA93D3D,FFCC5151,FF6B0000,FFE45C5C,FF1B0404,FFD45354,FF9B2A29,FFA33636,FFB44343,0,FFE45C5C,FFA93D3D,0,FF220202,0
  140. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF2F5724,FF3B733A,FF242E03,0,FF86002F,FFD3565D,FFC54E54,FF5C934D,FF76D77A,FF459D48,FF88E38A,FF63BC65,FF2B762D,FF4B994D,FF52A454,FF71CC73,FF6BBE6D,0,FF0B0302,FF1D1D12,FF00160D,FF430101,FFEB6262,FF771B1B,0,FFB33C3B,FFE45C5C,FF430101,FF2C0000,FFE45C5C,FF9B2A29,FF580C0C,0,FFB54A48,FFC54C4C,FFE56161,FFE56161,0,FFBB4545,FFCC5151,FF4C0000,FFF46C6C,FFAF2D2D,FFBB4545,FF540000,FFEB6262,FF430101,FFA43B3B,FFD45354,FF4C0000,FFEB6262,FF3C0000,FFBC4A4A,FFBB4545,FF4C0000,FFEB6262,FF630000,FFE45C5C,FFAD2626,FFEB6262,FFF46C6C,FFB43535,FFEB6262,FF7B2323,0,FF130303,0
  141. DATA 0,0,0,0,0,0,0,0,0,0,FF1D1D12,0,0,0,0,FF92403A,FFBB4545,FFD76565,FF8E4632,FF2F5724,FF357837,FF519C53,FF3E7C3F,0,0,0,FF174B1A,FF316B32,FF030B03,FF041304,FF1B0404,0,FF832525,FFE45C5C,FF2C0000,0,FF631313,FF3C0000,0,FF771B1B,FFE45C5C,FFD74C4C,FFEB6262,FF871314,FFD3565D,FFE45C5C,FFEB6262,FFBC4A4A,0,FFD45354,FFB44343,0,FFBB4545,FFEA5E5E,FF760000,FF832525,FFE45C5C,0,FFCC5151,FFB44343,FF771B1B,FFE45C5C,0,FFBC4A4A,FFD45354,FFB43535,FFEA5E5E,FFE45C5C,FFDB5555,FFD74C4C,FFC54C4C,FF9B2A29,FFDD5A5A,FF922E2E,0,FF1B0404,0,0
  142. DATA 0,0,0,0,0,0,0,0,0,FF14140D,0,FF63501C,FFAC954A,FFB19A4C,FF63501C,FF801825,FFD3565D,FFCC5151,FFD76565,FFC44F58,FF340101,0,FF2A0827,FF323232,FF2C332C,FF323232,FF2D212D,FF0B040A,0,0,FF220B0B,0,FFA43B3B,FFDB5555,0,FF220B0B,0,FF4B1212,FF771B1B,FFA33636,FFE45C5C,FF340101,FFD45354,FFC64242,FFDB5555,FF760000,FFCC4C4C,FFA43B3B,0,FFE45C5C,FFAF2D2D,FFCC5151,0,FFB33C3B,FFDB5555,FFBA3C3C,FFDB5555,FF760000,FFF26665,FF630000,FF9A3434,FFDB5555,0,FF591313,FFDD5A5A,FFDD5A5A,FF760000,FFA43B3B,FF60110A,0,0,0,0,0,FF130303,0,0,0
  143. DATA 0,0,0,0,0,0,0,0,FF14140D,0,FFB19A4C,FFDBC267,FFAC954A,FFDBC267,FFD19B59,FFD3565D,FFC7635C,FFC54E54,FFBB4545,FFD76565,FF713D38,FF002920,FF1D1D12,0,0,0,FF0C130C,FF323232,FF242424,0,FF220B0B,0,FFBC4A4A,FFC54C4C,0,FF2A0F10,0,FF9A3434,FFDB5555,FFC64242,FFC54C4C,0,FFDD5A5A,FFAF2D2D,FFE45C5C,FF3C0000,FFCC5151,FFBB4545,FF871314,FFE45C5C,FFC64242,FFFF7E7E,FFBA3C3C,FFD45354,FFC64242,FFCC4C4C,FFBA3C3C,FFE45C5C,FFB44343,0,FF591313,FF631313,0,0,FF130303,FF220202,0,0,0,FF0B0302,FF130303,FF1B0404,FF1D0A0A,FF1B0404,0,0,0,0
  144. DATA 0,0,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFD5BC63,FF340E00,0,FFB19A4C,FFCAA853,FFB10025,FFD3565D,FFA65136,FFAD4341,FF9D494B,FF242424,FF0B0302,0,0,0,0,0,0,FF323232,FF1C1C1C,FF1B0404,0,FFCC5151,FFBB4545,0,FF381515,0,FFCC5151,FFBB4545,FFD74C4C,FFA93D3D,0,FFE45C5C,FFD45354,FFDD5A5A,0,FF6F1D1D,FFE45C5C,FFF26665,FFB43535,FFBA3C3C,FF9B2A29,FFD45354,FFC54C4C,FF340101,FF430101,FF1B0404,FF2C0000,0,FF0B0302,0,0,FF0B0302,FF130303,0,0,FF130303,FF220202,FF130303,0,0,0,0,0,0,0,0,0
  145. DATA 0,0,0,0,0,0,FF141105,0,FF746027,FFDBC267,FF2C0000,0,0,FF63501C,FFD5BC63,FFDBAE60,FFD19B59,FFCAA853,FF93803C,0,FF2F2723,0,0,0,0,0,0,0,FF131413,FF302F2F,FF1B0404,0,FFD45354,FFA93D3D,0,0,FF5B0101,FFEB6262,FF870000,FFE56161,FF832525,0,FFA33636,FFEB6262,FF8C2D2D,0,0,FF540000,FF832928,FF1B0404,0,0,0,0,0,0,0,0,FF1B0404,0,FF0B0302,FF130303,0,0,FF0B0302,FF0B0302,0,0,0,0,0,0,0,0,0,0,0,0
  146. DATA 0,0,0,0,0,0,FF1C1B0C,0,FFC1AA5B,FFA28D44,0,FF221D0A,FF0F0B02,0,FF4E3804,FFA28D44,FF8A7730,FF9C843E,FFCDB45F,FF12001B,FF28201C,0,0,0,0,0,0,0,0,FF2B2B2C,FF2F2723,0,FFBC4A4A,FFDD5A5A,FF430101,FF6E1414,FFE85F60,FFB44343,0,FFBB4545,FF430101,0,0,0,0,FF0B0302,FF130303,0,0,0,FF0B0302,FF1B0404,FF1D0A0A,FF1D0A0A,FF0B0302,FF130B0C,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  147. DATA 0,0,0,0,0,FF0F0B02,0,FF5C4715,FFD5BC63,FF3F2A00,0,0,0,FF141105,0,0,0,FF63501C,FFCDB45F,FF3B2A21,FF15191C,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2C,0,FF3C0000,FFCC5151,FFE45C5C,FFE45C5C,FFB33C3B,0,FF0C0B0B,0,0,0,FF130303,0,FF130303,0,0,FF130303,FF1B0404,0,0,0,FF0B0C13,0,FF141105,0,0,FF0F0B02,0,FF0B0C13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  148. DATA 0,0,0,0,0,FF1C1B0C,0,FFA28D44,FFBCA454,0,FF1C1B0C,0,0,0,FF0B0302,FF2B2711,0,FF746027,FFCDB45F,FF2A0F10,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2C,FF0B0302,0,0,FF580C0C,FF340101,0,FF130B0C,0,FF130303,0,0,FF0C0B0B,FF242424,0,0,0,0,0,0,FF02040B,0,0,FF212937,0,FF53668D,FF53668D,0,FF212937,0,0,FF02040B,0,0,0,0,0,0,FF242424,0,0,0,0,0,0,0,0,0
  149. DATA 0,0,0,0,FF0F0B02,FF010B0B,FF0B0302,FFD5BC63,FF746027,0,FF1A1506,0,0,0,0,FF1C1B0C,0,FF93803C,FFCAA853,0,FF34352F,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2C,0,FF130B0C,0,0,FF1D0A0A,0,0,FF130B0C,0,FF2B2B2C,FF242424,FF242424,FF2B2B2C,FF1C1C1C,0,FF0C0B0B,0,FF02040B,0,FF212937,FF233253,FF334260,FF8293C0,FF788EC8,FF7188C1,FF889BCC,FF334260,FF233253,FF212937,0,FF02040B,0,FF0C0B0B,0,FF1C1C1C,FF242424,FF2B2B2C,FF242424,FF2B2B2C,0,FF131413,0,0,0,0,0
  150. DATA 0,0,0,FF1E1805,FF131D0F,0,FFC1AA5B,FFBCA454,0,FF1C1B0C,0,0,0,0,0,FF1C1B0C,0,FFBCA454,FFAC954A,0,FF393837,FF0C0B0B,0,0,0,0,0,0,0,0,0,FF2B2B2C,FF2B2B2C,0,0,0,0,FF0C0B0B,0,FF2B2B2C,FF131413,FF131413,FF323232,FF323232,FF2B2B2C,0,FF2B2B2C,FF131413,0,0,FF212937,FF052863,FF8FA2D4,FF000040,FF6C7DA8,FF96ACE5,FF96ACE5,FF66769D,FF00224F,FF8FA2D4,FF000459,FF212937,0,0,FF131413,FF2B2B2C,0,FF2B2B2C,FF323232,FF323232,FF0C0B0B,FF1C1C1C,FF2B2B2C,0,FF0C0B0B,0,0,0
  151. DATA 0,0,0,0,0,FFBCA454,FFCDB45F,0,FF010B0B,0,0,0,0,0,FF0B0302,0,FF3F2A00,FFD5BC63,FF5C4715,0,FF242424,FF2B2B2C,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2C,FF242424,FF131413,0,FF131413,FF2B2B2C,FF2B2B2C,FF1C1C1C,0,FF1C1C1C,FF2B2B2C,0,0,FF2B2B2C,FF242424,FF2B2B2C,0,FF66769D,FF8196CB,FF8FA2D4,FF445476,0,FF7188C1,FF7188C1,0,FF4D5D83,FF8FA2D4,FF8196CB,FF617090,0,FF2D2E31,FF242424,FF2B2B2C,0,0,FF2B2B2C,FF131413,0,FF242424,FF2B2B2C,FF2B2B2C,FF0C0B0B,0,0,0
  152. DATA 0,0,FF3F2A00,FF7D6628,FFCDB45F,FFC1AA5B,FF1B0404,FF030B03,FF0F0B02,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFBCA454,0,FF1C1B0C,0,FF2B2B2C,FF131413,0,0,0,0,0,0,0,0,0,0,FF242424,FF393837,FF242424,0,0,FF242424,FF323232,FF2B2B2C,FF0C0B0B,FF131413,FF2B2B2C,0,FF242424,FF323232,FF2B2B2C,FF11151D,0,FF29437C,FF879CD6,FFA1B6ED,FF8196CB,FF000040,FF6B81B5,FF6C7DA8,FF000040,FF889BCC,FFA1B6ED,FF879CD6,FF1E386E,0,FF15191C,FF323232,FF323232,FF242424,0,FF2B2B2C,FF0C0B0B,FF131413,FF323232,FF323232,FF242424,0,0,0,0
  153. DATA FF1C1B0C,0,FFA28D44,FFFCE689,FFD7B855,FF4A0D00,0,0,FF0C130C,0,0,0,0,FF0F0B02,0,FF340E00,FFD5BC63,FF63501C,0,FF141105,0,FF1C1C1C,FF2B2B2C,0,0,0,0,0,0,0,FF0C0B0B,FF242424,FF323232,FF242424,0,0,0,FF1C1C1C,FF2B2B2C,FF131413,FF1C1C1C,FF2B2B2C,FF242424,FF2B2B2C,FF2B2B2C,FF242424,FF0C0B0B,FF242424,FF2B2B2C,0,FF6C7DA8,FF7D8EB8,FF29437C,FF7283AD,FF8FA2D4,FF7A93D4,FF7A93D4,FF8FA2D4,FF6C7DA8,FF29437C,FF8293C0,FF66769D,0,FF2B2B2C,FF1B1E22,FF0C0B0B,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF131413,FF131413,FF2B2B2C,FF131413,0,0,0
  154. DATA 0,0,FF301F00,FF7D6628,FFBCA454,FFD5BC63,FFBCA454,FF7D6628,0,0,FF0F0B02,FF1D1D12,FF0F0B02,FF1C1B0C,0,FF93803C,FFC1AA5B,0,FF1C1B0C,0,0,FF0C0B0B,FF2B2B2C,0,0,0,0,0,0,FF242424,FF323232,FF242424,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2C,FF242424,FF2B2B2C,0,0,0,0,FF02040B,FF203359,FF000040,0,0,FF788EC8,FF7A93D4,FF7A93D4,FF7188C1,0,0,FF000040,FF233253,0,0,0,0,0,FF2B2B2C,FF242424,FF2B2B2C,FF131413,0,0,0,0,0,0,0
  155. DATA 0,0,0,0,0,FF4E3804,FFA28D44,FFD5BC63,FFCDB45F,FF301F00,FF02040B,0,0,FF1F2917,0,FFBCA454,FFA28D44,0,FF1A1506,0,0,0,FF2B2B2C,FF0C0B0B,0,0,FF0C0B0B,FF131413,0,FF2B2B2C,FF242424,0,0,0,0,0,0,FF1C1C1C,FF2B2B2C,FF242424,FF2B2B2C,FF2B2B2C,FF242424,FF2B2B2C,FF242424,FF323232,FF242424,FF2B2B2C,FF2B2B2C,0,FF7283AD,FF8FA2D4,FF7188C1,FF8FA2D4,FF8293C0,FF788EC8,FF7188C1,FF8293C0,FF8FA2D4,FF7188C1,FF8FA2D4,FF6C7DA8,0,FF2B2B2C,FF2B2B2C,FF242424,FF323232,FF242424,FF2B2B2C,FF1C1C1C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF1C1C1C,0,0,0
  156. DATA 0,0,FF0B0302,FF1A1506,FF1C1B0C,0,0,FF8A7730,FFD5BC63,0,FF3F2A00,FFC1AA5B,FF7D6628,0,0,FFC1AA5B,FF9C843E,0,FF1A1506,0,0,0,FF2B2B2C,0,0,FF242424,FF323232,FF323232,FF131413,FF2B2B2C,FF242424,0,0,0,0,0,0,0,FF242424,FF323232,FF242424,0,FF131413,FF2B2B2C,0,FF131413,FF323232,FF2B2B2C,FF11151D,0,FF1E386E,FF879CD6,FFA1B6ED,FF6478AF,0,FF7788B2,FF6C7DA8,0,FF6B81B5,FFA1B6ED,FF879CD6,FF052863,0,FF15191C,FF323232,FF323232,FF0C0B0B,0,FF2B2B2C,FF0C0B0B,0,FF2B2B2C,FF323232,FF242424,0,0,0,0
  157. DATA 0,0,0,0,0,FF1A1506,0,FF746027,FFD5BC63,FF77570B,FFC1AA5B,FFDBC267,FFCDB45F,FFCDB45F,FF654703,FFB19A4C,FFA28D44,0,FF1A1506,0,0,FF0C0B0B,FF2B2B2C,FF1C1C1C,FF323232,FF242424,0,FF131413,FF2B2B2C,FF242424,0,0,0,0,0,0,0,FF131413,FF242424,FF242424,FF1C1C1C,0,FF1C1C1C,FF2B2B2C,0,0,FF2B2B2C,FF1C1C1C,FF2B2B2C,0,FF617090,FF6478AF,FF879CD6,FF445476,0,FF8196CB,FF7188C1,0,FF4D5D83,FF879CD6,FF6478AF,FF617090,0,FF2B2B2C,FF1C1C1C,FF2B2B2C,0,0,FF2B2B2C,FF131413,0,FF242424,FF242424,FF242424,FF131413,0,0,0
  158. DATA 0,0,0,0,0,0,FF141105,0,FF9C843E,FFD5BC63,FFBCA454,FF130303,FF1B0404,FFA28D44,FFCDB45F,FFE8CD6C,FFCDB45F,0,FF1C1B0C,0,0,FF1C1C1C,FF393837,FF242424,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,FF1C1C1C,FF323232,FF323232,FF2B2B2C,0,FF242424,FF0C0B0B,0,FF0E1016,0,FF00002E,FF7788B2,FF00002E,FF8293C0,FF96ACE5,FF96ACE5,FF7788B2,FF00002E,FF7788B2,FF02040B,0,FF11151D,0,FF131413,FF242424,0,FF2B2B2C,FF323232,FF323232,FF131413,FF0C0B0B,FF242424,0,0,0,0,0
  159. DATA 0,0,0,0,0,0,0,FF0F0B02,0,0,0,FF010B0B,FF010B0B,0,FF1B0404,FFAC954A,FFC1AA5B,0,FF010B0B,0,0,FF131413,FF131413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2C,FF1C1C1C,FF242424,FF242424,FF1C1C1C,0,0,0,0,FF0B0C13,FF1B1E22,0,FF445476,FF7788B2,FF7188C1,FF7188C1,FF7788B2,FF334260,0,FF1B1E22,FF0C0B0B,0,0,0,0,FF242424,FF1C1C1C,FF2B2B2C,FF1C1C1C,FF242424,0,0,0,0,0,0,0
  160. DATA 0,0,0,0,0,0,0,0,FF1C140E,FF0C130C,FF1C1B0C,FF0B0302,FF0B0302,FF1C1B0C,FF02040B,0,0,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0C0B0B,FF1C1C1C,0,0,0,0,0,0,0,0,FF131413,FF11151D,0,FF4D5D83,FF445476,0,FF11151D,FF131413,0,0,0,0,0,0,0,0,FF1C1C1C,0,0,0,0,0,0,0,0,0
  161. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1B0C,FF14140D,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,0,0,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  162. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0C13,FF0B0C13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  163. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  164. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  165. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  166. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  167. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  168.  
  169. frame3:
  170. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  171. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  172. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  173. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  174. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  175. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  176. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  177. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  178. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131413,0,0,0,FF3B3B3B,FF343434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131413,FF0B0B0B,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
  179. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,FF0B130B,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF3B3B3B,FF1C1C1C,0,FF131413,FF414241,FF242424,0,0,0,0,0,0,0,0,0,0,FF131413,FF1C1C1C,FF1C1C1C,FF242424,0,FF343434,FF1C1C1C,0,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
  180. DATA 0,0,0,0,0,0,0,0,0,0,0,FF090408,FF0C1A0C,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,FF414241,FF2B2B2B,0,FF2B2B2B,FF3B3B3B,FF1C1C1C,0,0,FF0B0B0B,0,0,FF242424,FF1C1C1C,FF343434,FF131413,0,FF2B2B2B,FF3B3B3B,FF3B3B3B,FF242424,0,FF3B3B3B,0,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0
  181. DATA 0,0,0,0,0,0,0,0,FF002300,FF407C42,FF326C34,0,0,0,FF448A46,FF143C15,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,0,0,FF131413,FF3B3B3B,FF2B2B2B,FF0B0B0B,FF343434,FF343434,FF1C1C1C,0,FF2B2B2B,FF3B3B3B,FF2B2B2B,0,FF3B3B3B,FF3B3B3B,FF3B3B3B,0,0,FF343434,FF1C1C1C,FF343434,FF131413,FF131413,FF3B3B3B,0,FF2B2B2B,FF343434,0,0,0,0,0,0,0,0,0,0,0
  182. DATA 0,0,0,0,0,0,0,FF0B0B0B,0,FF78CC7A,FF6FCB72,FF5FB661,FF3B7B3D,FF4C9E4E,FF82DD84,FF2C642D,0,0,0,0,0,0,FF031303,0,0,FF0B130B,FF030B03,FF030B03,FF4D934F,FF143C15,0,FF122413,FF131413,0,0,0,0,0,0,0,0,FF242424,FF343434,FF2B2B2B,FF343434,FF2B2B2B,FF343434,FF0B0B0B,FF1C1C1C,FF343434,FF1C1C1C,FF343434,FF1C1C1C,FF343434,FF1C1C1C,FF343434,0,FF131413,FF343434,0,FF343434,0,FF242424,FF3B3B3B,0,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
  183. DATA 0,0,0,0,0,0,0,FF031303,0,FF266328,FF5BB35D,FF186C1C,FF63BB65,FF54A456,FF53AC54,FF357736,FF002E00,FF61AD62,FF08350A,0,FF030B03,0,0,0,FF0C1A0C,0,0,FF1D5B20,FF88E48A,FF357736,0,0,0,FF003B00,FF0C1A0C,0,0,0,0,0,0,FF343434,FF242424,FF343434,FF3B3B3B,FF0B0B0B,FF343434,0,FF343434,FF1C1C1C,FF343434,FF1C1C1C,FF343434,FF242424,FF242424,FF2B2B2B,0,FF343434,FF2B2B2B,0,FF343434,FF242424,FF343434,FF343434,FF343434,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
  184. DATA 0,0,0,0,0,0,0,0,FF131413,0,FF66C269,FF407C42,FF002E00,FF002E00,FF448545,FF6CCA6E,FF63BB65,FF7BD47D,FF144716,0,FF030B03,0,FF2C642D,0,FF002300,FF6FC271,FF004700,FF4C9E4E,FF5DBB5F,FF57AD59,FF2E6C30,FF4D934F,FF72C473,FF72C473,0,FF0B130B,0,0,FF2B2B2B,FF1C1C1C,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,FF343434,0,FF343434,FF343434,FF242424,FF1C1C1C,FF3B3B3B,0,FF1D2122,FF343434,FF2B2B2B,FF343434,0,0,FF1C1C1C,FF343434,FF242424,FF131413,FF2B2B2B,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
  185. DATA 0,0,0,0,0,0,0,FF0B130B,0,FF6FC271,FF7BD47D,FF005400,FF2E6C30,FF62B464,FF003B00,FF5BAB5C,FF2C812E,FF53AC54,0,0,FF1C1C1C,0,FF72CD74,FF62B464,FF005B00,FF72CD74,FF6CCA6E,FF66C269,FF003400,FF66B968,FF5BB35D,FF4EAB50,FF74D476,FF326C34,0,FF0B130B,0,FF2B2B2B,FF343434,0,FF1C1C1C,FF343434,0,0,FF031303,FF0B130B,FF343434,FF1C1C1C,FF343434,FF343434,FF252B25,FF414241,FF131413,0,0,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF3B3B3B,FF131413,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
  186. DATA 0,0,0,0,0,0,0,0,0,FF2C642D,FF439544,FF6FCB72,FF3C833F,FF5FB661,FF3A753B,0,FF5BAB5C,FF5FBA61,FF3C833F,FF407C42,0,0,FF5BB35D,FF53AC54,FF74D476,FF4C9E4E,FF478F49,FF3A753B,0,0,FF003400,FF68BF6A,FF2E6C30,0,FF0C1A0C,0,0,FF3B3B3B,0,0,FF343434,FF201F20,FF030B03,FF131413,0,0,FF2B2B2B,FF343434,FF1B241B,FF302F2F,FF1D001D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF2B2B2B,0,FF343434,FF242424,0,0,0,0,0,0,0,0,0,0,0
  187. DATA 0,0,0,0,0,0,0,FF030B03,0,FF002E00,FF449B49,FF63BB65,FF326C34,FF357736,FF63BB65,0,FF61AD62,FF5BAB5C,FF74D476,FF54A456,FF5BAB5C,FF54A456,FF5BB35D,FF002E00,FF61AD62,FF3B7B3D,0,FF448A46,FF63BB65,FF2A752D,FF6CC46D,FF398B3B,0,FF122413,0,0,0,FF343434,FF343434,FF343434,FF343434,0,0,0,FF326C34,FF144716,0,FF122413,0,0,FF448545,FF4B8C4C,FF001900,FF141C14,FF0C1A0C,0,0,FF0B0B0B,0,0,0,0,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0,0
  188. DATA 0,0,0,0,0,0,0,FF0C1A0C,0,FF549D54,FF82DD84,FF439544,0,0,FF62B464,FF448545,0,FF002300,FF63BB65,FF002E00,FF62B464,FF74D476,FF6FCB72,0,0,FF357736,FF66C269,FF5BB35D,FF054B0A,FF549D54,FF6FCB72,FF5FBA61,FF7BD47D,FF003400,0,FF030B03,0,0,FF2B2B2B,FF242424,FF030B03,0,FF326C34,FF72C473,FF82DD84,FF7FD381,0,0,FF3A753B,FF7FD381,FF72CD74,FF88E48A,FF48854A,0,0,FF030B03,FF0B0B0B,FF343434,0,0,0,0,FF0B0B0B,FF343434,FF343434,FF131413,0,0,0,0,0,0,0,0,0,0,0,0
  189. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF1A521C,FF4C9E4E,FF6FCB72,FF3A753B,FF0E4811,FF6CC46D,0,FF448545,FF5BAB5C,0,FF5BB35D,FF2A752D,FF1A521C,FF003B00,FF62B464,FF63BB65,FF2C642D,0,0,0,FF449B49,FF72CD74,FF4B8C4C,0,FF0B130B,0,0,0,0,0,FF0B130B,0,FF549D54,FF439544,FF72C473,FF69B36B,0,FF62B464,FF86DC88,FF4B8C4C,FF004700,FF7FD381,FF005400,FF448545,FF4D934F,0,FF1C1C1C,FF343434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF2B2B2B,FF0B0B0B,0,0,0
  190. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3E8E40,FF6CCA6E,FF357736,0,FF549D54,FF5BAB5C,FF005B00,FF4C9E4E,FF2A752D,FF66C269,0,FF357736,FF6CC46D,FF478F49,0,0,0,FF48854A,FF63BB65,FF54A456,FF0E4811,0,FF0B130B,0,0,0,0,0,0,0,FF1B241B,0,FF266328,FF7FD381,FF004700,FF78CC7A,FF78CC7A,FF003B00,0,FF235225,FF7FD381,FF78CC7A,FF7BD47D,FF448545,0,FF252B25,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,0,FF0B0B0B,FF343434,FF3B3B3B,FF1C1C1C,0,0,0
  191. DATA 0,0,0,0,0,0,0,0,FF0C1A0C,0,FF4D934F,FF88E48A,FF53AC54,FF61AD62,FF1D471E,0,FF5BAB5C,FF53AC54,FF6CC46D,FF66C269,FF57AD59,FF53AC54,FF6CC46D,FF1A521C,0,FF0C2E0E,FF001900,0,FF54A456,FF74D476,FF54A456,FF235225,0,0,FF181718,FF343434,FF343434,FF2B2B2B,0,0,FF1C1C1C,FF363935,0,FF4B8C4C,FF82DD84,FF7BD47D,FF69B36B,0,0,FF1B241B,0,FF2C642D,FF48854A,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF131413,FF120D0D,FF1C1C1C,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF343434,FF2B2B2B,FF343434,0,FF2B2B2B,FF343434,0,FF0B0B0B,0,0,0
  192. DATA 0,0,0,0,0,0,0,0,0,0,FF0C2E0E,FF003400,FF53AC54,FF74D476,FF398B3B,FF4B8C4C,FF228935,FF66C269,FF6CC46D,0,FF63BB65,FF54A456,0,0,0,FF4D934F,FF78CC7A,FF5BB35D,FF5BB35D,FF63BB65,FF7FD381,FF3B7B3D,0,FF0C1A0C,FF3B3B3B,FF1C1C1C,0,FF343434,FF242424,0,FF2B2B2B,FF2B2B2B,0,FF002300,FF69B36B,FF529454,0,FF131413,FF031303,0,FF030B03,0,0,FF1C1C1C,FF141C14,0,FF2B2B2B,FF242424,0,FF343434,FF343434,FF3B3B3B,FF2B2B2B,FF343434,FF2B2B2B,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,0,FF343434,FF343434,0,0,0,0
  193. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,0,FF386F39,FF88E48A,FF5DBB5F,FF5BAB5C,FF449B49,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF449B49,FF348237,FF5BAB5C,FF5BAB5C,FF549D54,FF439544,FF6CCA6E,FF398B3B,FF235225,FF144716,0,0,0,FF2B2B2B,FF2B2B2B,0,0,FF343434,FF2B2B2B,0,FF343434,FF1C1C1C,0,FF090408,0,0,FF141C14,FF1B241B,0,FF131413,FF1C1C1C,FF031303,FF2E332C,FF3B3B3B,FF343434,0,FF343434,FF1C1C1C,FF0B0B0B,FF343434,0,FF343434,0,FF242424,FF2B2B2B,FF0B0B0B,FF343434,0,FF343434,FF1C1C1C,FF242424,FF2B2B2B,0,FF343434,FF242424,0,0,0
  194. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF235225,FF326C34,FF112300,0,FF86002F,FFD35A60,FFC45458,FF5C934D,FF77DA7D,FF46A245,FF88E48A,FF63BB65,FF006C29,FF2D904B,FF399E50,FF6FCB72,FF70BD6F,0,0,FF141C14,FF0B130B,0,FF343434,FF131413,0,FF242424,FF343434,0,0,FF343434,FF1C1C1C,FF0B0B0B,0,FF2E332C,FF2E332C,FF343434,FF343434,0,FF2B2B2B,FF343434,0,FF3B3B3B,FF242424,FF2B2B2B,0,FF343434,0,FF242424,FF343434,0,FF343434,0,FF2B2B2B,FF2B2B2B,0,FF3B3B3B,0,FF343434,FF1C1C1C,FF343434,FF3B3B3B,FF242424,FF343434,FF131413,0,0,0
  195. DATA 0,0,0,0,0,0,0,0,0,0,FF030B03,0,0,FF140000,0,FF913C38,FFBE4341,FFD56364,FF8E4632,FF305A21,FF3C833F,FF469951,FF4C803B,FF7C5918,FF8E6F28,FF7C5918,FF3A510B,FF005C28,FF161A0C,FF091204,0,0,FF131413,FF343434,0,0,FF0B0B0B,0,0,FF0F1010,FF343434,FF343434,FF3B3B3B,FF131413,FF343434,FF343434,FF363935,FF2B2B2B,0,FF343434,FF242424,0,FF2B2B2B,FF3B3B3B,FF0B0B0B,FF131413,FF343434,0,FF2B2B2B,FF242424,FF0B0B0B,FF343434,0,FF2B2B2B,FF2B2B2B,FF242424,FF3B3B3B,FF343434,FF343434,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF343434,FF1C1C1C,0,0,0,0
  196. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0B130B,FF252B25,FF2A2625,0,FF812929,FFD35A60,FFC45458,FFD56364,FFC45458,0,FF5E4002,FFD4BB62,FFCBB25D,FFC5AD59,FFCBB25D,FFD4BB62,FF967F3B,0,FF161A0C,0,0,FF242424,FF343434,0,0,0,FF0B0B0B,FF131413,FF1C1C1C,FF343434,0,FF2B2B2B,FF2B2B2B,FF343434,0,FF2B2B2B,FF242424,0,FF343434,FF1C1C1C,FF2B2B2B,0,FF242424,FF343434,FF242424,FF343434,0,FF3B3B3B,0,FF1C1C1C,FF343434,0,FF0B0B0B,FF343434,FF343434,FF0B0B0B,FF242424,FF0B0B0B,0,0,0,0,0,0,0,0,0
  197. DATA 0,0,0,0,0,0,0,0,0,0,FF242424,FF343434,FF242424,FF002928,FF773B3B,FFD56364,FFC45458,FFCA5252,FFBE4341,FFD35A60,FFC19353,FFAD9941,FF6E5921,0,0,0,FF69541A,FFD4BB62,FFB29B4C,0,FF1B1C11,0,FF2B2B2B,FF2B2B2B,0,0,0,FF1C1C1C,FF343434,FF242424,FF2B2B2B,0,FF343434,FF1C1C1C,FF343434,0,FF2B2B2B,FF242424,FF131413,FF343434,FF242424,FF414241,FF242424,FF343434,FF2B2B2B,FF2B2B2B,FF242424,FF343434,FF242424,0,FF0B0B0B,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  198. DATA 0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF001D1C,FF603030,FFBE4341,FFD56364,FF913C38,FF9B3240,FFC17452,FFD7C065,FF452D00,0,FF1B1C11,FF1B1B0D,FF1B1B0D,0,0,FFDAC066,FF8E7937,0,FF130E01,FF2B2B2B,FF2B2B2B,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF343434,FF2B2B2B,FF343434,0,FF131413,FF343434,FF3B3B3B,FF242424,FF2B2B2B,FF1C1C1C,FF343434,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  199. DATA 0,0,0,0,0,0,0,0,FF0B0B0B,FF343434,0,0,0,FF1A1010,FF002928,FF773B3B,FF8B4242,FF2E332C,0,FFB29B4C,FFAA9349,0,FF292510,0,0,0,FF292510,0,FF766128,FFD4BB62,FF1E0000,0,FF302F2F,FF242424,0,0,0,FF3B3B3B,FF0B0B0B,FF343434,FF131413,0,FF242424,FF3B3B3B,FF1C1C1C,0,0,0,FF1B1C11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  200. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF120D0D,FF001D1C,0,FF26241D,FF000019,FFC5AD59,FF8A7433,0,FF151104,0,0,0,0,FF222111,0,FFC5AD59,FF967F3B,0,FF2E332C,FF343434,0,FF0B0B0B,FF343434,FF242424,0,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0F14,0,FF02030A,0,0,0,0,0,0,0
  201. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,0,0,0,0,0,0,0,FF140000,FF1B1C11,FF000019,FFC5AD59,FF8E7937,0,FF151104,0,0,0,0,FF191406,0,FF967F3B,FFCBB25D,0,FF1B1B0D,FF302F2F,FF343434,FF343434,FF242424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF02030A,FF060911,0,FF13150B,0,0,0,0,FF060911,0,0,0,0,0
  202. DATA 0,0,0,0,0,0,0,FF1C1C1C,FF242424,0,0,0,0,0,0,0,0,FF26241D,FF000019,FFB49D51,FFAA9349,0,FF1B1B0D,0,0,0,0,0,0,FF3C2300,FFD4BB62,FF5E4002,0,FF130E01,0,0,0,0,0,0,0,0,FF0B0B0B,FF242424,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF1C1C1C,0,0,0,0,0,0,FF060911,0,0,FF192335,0,FF6D7EA8,FF1E325B,FF000019,FF16191E,0,FF02030A,0,0,0,0
  203. DATA 0,0,0,0,0,0,0,FF2B2B2B,FF120D0D,0,0,0,0,0,0,0,0,FF26241D,FF000019,FF8A7433,FFCBB25D,0,FF1B1C11,0,0,0,0,0,FF1B1B0D,0,FFAA9349,FFCBB25D,0,FF02030A,FF201E0E,FF130E01,0,0,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF1C1C1C,0,FF0B0B0B,0,0,0,0,FF0B0B0B,FF0B0B0B,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF0B0B0B,FF0B0B0B,0,0,0,0,FF364158,FF00002E,FF617295,FF7E92C3,FF8298D3,FF7287C0,FF8597C3,FF00002E,FF364158,0,0,0,0,0
  204. DATA 0,0,0,0,0,0,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2A2625,FF1D2122,FF1E0000,FFD4BB62,FF6E5921,0,FF191406,0,0,0,0,0,FF0B130B,0,FFC5AD59,FFCBB25D,FF452D00,0,0,FF0D0B03,0,0,FF2B2B2B,FF131413,FF131413,FF343434,FF343434,FF2B2B2B,0,FF2B2B2B,FF131413,0,0,0,0,FF2B2B2B,0,FF1C1C1C,FF343434,FF343434,FF1C1C1C,0,FF2B2B2B,0,0,FF161C29,FF000024,FF4F6294,FF8597C3,0,FF8597C3,FF95ACE5,FF9BADDD,FF334368,FF58668A,FF7E92C3,FF000024,FF29303E,0,0,0
  205. DATA 0,0,0,0,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF201E0E,0,FFA59149,FFC5AD59,0,FF1B1B0D,0,0,0,0,0,FF0C0400,FF13150B,0,FFAA9349,FFD4B95D,FFB8A255,FF7A6731,0,FF1C1C1C,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF242424,FF242424,0,FF201F1F,FF2B2B2B,FF2B2B2B,FF131413,0,FF242424,FF242424,0,FF131413,FF2B2B2B,FF2B2B2B,FF242424,0,FF7B8CB3,FF7D93CC,FF8A9ED2,FF000019,0,FF8DA2D4,FF4C5D87,0,FF7284B2,FF8298D3,FF8698C9,FF334368,0,FF060911,0
  206. DATA 0,0,0,FF131413,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,FF00080A,FF1E0000,FFD4BB62,FF7A6731,0,FF151104,0,0,0,0,FF1B1C11,0,0,FF310000,FFC4A64D,FFF5DE82,FFA89453,0,FF1B1C11,FF242424,FF343434,FF2B2B2B,FF0B0B0B,FF131413,FF2B2B2B,0,FF242424,FF343434,FF2B2B2B,FF131413,0,FF0B0B0B,FF2B2B2B,FF343434,FF2B2B2B,0,FF242424,FF242424,0,FF2B2B2B,FF343434,FF2B2B2B,FF0B0B0B,FF02030A,FF49609C,FF95ACE5,FF9FB4EB,FF7284B2,FF00002E,FF8DA2D4,FF364B7E,FF45567C,FF90A5DF,FF9FB4EB,FF6D83C1,FF031C43,0,FF02030A,0
  207. DATA 0,0,FF242424,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF0B0B0B,0,FF201E0E,0,FF9C8644,FFC5AD59,0,FF1B1C11,0,FF151104,FF191406,FF030B03,0,FF5E4B17,FFB49D51,FFDAC066,FFB8A255,FF5E4002,0,FF0D0B03,FF1C1C1C,FF2B2B2B,FF131413,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF242424,FF242424,FF0B0B0B,FF242424,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF272829,FF1B1B0D,FF031C43,FF7D8FB8,FF6D7EA8,FF26417D,FF8597C3,FF7F95D0,FF8298D3,FF7F95D0,FF93A5D3,FF4F6294,FF485D93,FF8597C3,FF45567C,0,FF0B0F14,0
  208. DATA 0,0,0,FF131413,FF242424,FF2B2B2B,FF2B2B2B,FF131413,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,FF0D0B03,0,FF5E4B17,FFD4BB62,FF301400,0,FF222111,0,0,0,FFB8A255,FFDAC066,FFB29B4C,FF59430D,0,0,FF13150B,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,0,0,0,0,FF0D182D,FF1E325B,FF000019,0,FF000050,FF90A5DF,FF5F7FCC,FF90A5DF,FF49609C,0,0,FF001F52,FF1B2A47,0,0,0
  209. DATA 0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF242424,FF1C1C1C,0,0,0,0,FF3C2300,FFD0B760,FF5E4B17,0,0,FF665422,FF7A6731,0,FFCEB563,FFB29B4C,0,0,FF201E0E,FF130E01,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF343434,FF242424,FF2B2B2B,FF272829,0,FF242424,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF242424,FF242424,FF242424,FF2B2B2B,FF242424,FF2E2F31,FF1B1B0D,FF1B2A47,FF8597C3,FF8A9ED2,FF7287C0,FF9BADDD,FF657AB4,FF8298D3,FF657AB4,FF93A5D3,FF8597C3,FF7D93CC,FF93A5D3,FF4C5D87,0,FF0F1219,0
  210. DATA 0,0,0,0,0,0,0,FF131413,FF2B2B2B,0,0,FF2B2B2B,FF131413,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF452D00,FFD4BB62,FF330A00,FF330A00,FFB49D51,FFDAC066,FFE6CD73,FF8E6F28,FFCBB25D,FFA59149,0,FF292510,0,0,0,0,0,FF242424,FF343434,FF242424,0,FF131413,FF2B2B2B,0,FF131413,FF343434,FF2B2B2B,FF131413,0,0,FF2B2B2B,FF343434,FF1C1C1C,0,FF242424,FF242424,0,FF242424,FF343434,FF2B2B2B,FF131413,0,FF485D93,FF95ACE5,FF9BAEE4,FF364B7E,0,FF8A9ED2,FF334368,0,FF8298D3,FF9FB4EB,FF6D82BD,FF00002E,FF0D0B03,0,0
  211. DATA 0,0,0,0,0,0,0,FF131413,FF2B2B2B,0,FF2B2B2B,FF343434,FF2B2B2B,FF2B2B2B,0,FF242424,FF1C1C1C,0,0,FF130E01,0,FF69541A,FFD4B95D,FFB19342,FFD6BF68,FFB8A255,FF513100,FF8A7433,FFD4BB62,FFB49D51,FF1E0000,0,0,0,0,0,0,FF131413,FF242424,FF242424,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF1C1C1C,FF242424,0,FF242424,FF1C1C1C,FF2B2B2B,FF131413,0,FF2B2B2B,FF242424,0,FF131413,FF2B2B2B,FF201F20,FF26241D,0,FF7182A6,FF657AB4,FF8A9ED2,0,FF000050,FF90A5DF,FF4F6294,0,FF7284B2,FF798EC9,FF7284B2,FF3D4964,0,FF060911,0
  212. DATA 0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,0,0,FF242424,FF2B2B2B,FF343434,FF2B2B2B,0,0,FF201E0E,0,FF9C8644,FFF5DE82,FFC4A64D,FF665422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,FF1C1C1C,FF343434,FF343434,FF2B2B2B,0,FF242424,FF0B0B0B,0,0,0,0,FF242424,0,FF242424,FF343434,FF343434,FF242424,0,FF242424,0,0,FF16191E,0,FF45567C,FF6A7A9E,FF000F44,FF93A5D3,FF95ACE5,FF9BAEE4,FF58668A,FF334368,FF6D7EA8,0,FF0D0B03,0,0,0
  213. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF0D0B03,0,FF665422,FF766128,0,0,FF222111,FF0C0400,FF191406,FF161A0C,FF1B1B0D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,FF242424,FF242424,FF1C1C1C,0,0,0,0,0,0,0,FF131413,FF242424,FF242424,FF242424,FF242424,FF0B0B0B,0,0,0,0,FF1C1C1C,FF0B0F14,0,FF6A7A9E,FF657AB4,FF7D93CC,FF657AB4,FF7B8CB3,0,0,FF1D2122,0,0,0,0
  214. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0D0B03,0,0,FF1B1B0D,FF151104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF131413,0,0,0,0,0,0,0,FF02030A,FF16191E,0,0,FF617295,FF142747,0,FF16191E,FF0B0B0B,0,0,0,0,0
  215. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF151104,FF191406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131413,0,0,FF131413,0,0,0,0,0,0,0
  216. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0F1219,FF02030A,0,0,0,0,0,0,0,0
  217. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  218. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  219. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  220. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  221. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  222.  
  223. frame4:
  224. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  225. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  226. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  227. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  228. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  229. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  230. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  231. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  232. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF141414,0,0,0,FF3B3B3B,FF333333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF141414,FF0B0B0B,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
  233. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,FF0B130B,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF3B3B3B,FF1C1C1C,0,FF141414,FF424242,FF242424,0,0,0,0,0,0,0,0,0,0,FF141414,FF1C1C1C,FF1C1C1C,FF242424,0,FF333333,FF1C1C1C,0,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
  234. DATA 0,0,0,0,0,0,0,0,0,0,0,FF090408,FF0C1A0C,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,FF424242,FF2B2B2B,0,FF2B2B2B,FF3B3B3B,FF1C1C1C,0,0,FF0B0B0B,0,0,FF242424,FF1C1C1C,FF333333,FF141414,0,FF2B2B2B,FF3B3B3B,FF3B3B3B,FF242424,0,FF3B3B3B,0,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0
  235. DATA 0,0,0,0,0,0,0,0,FF002300,FF407C42,FF326C34,0,0,0,FF448A46,FF143C15,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,0,0,FF141414,FF3B3B3B,FF2B2B2B,FF0B0B0B,FF333333,FF333333,FF1C1C1C,0,FF2B2B2B,FF3B3B3B,FF2B2B2B,0,FF3B3B3B,FF3B3B3B,FF3B3B3B,0,0,FF333333,FF1C1C1C,FF333333,FF141414,FF141414,FF3B3B3B,0,FF2B2B2B,FF333333,0,0,0,0,0,0,0,0,0,0,0
  236. DATA 0,0,0,0,0,0,0,FF0B0B0B,0,FF76CB78,FF6FCB72,FF5FB661,FF3B7B3D,FF4A9C4C,FF81E183,FF2C662E,0,0,0,0,0,0,FF031303,0,0,FF0B130B,FF030B03,FF030B03,FF4F9351,FF143C15,0,FF112111,FF141414,0,0,0,0,0,0,0,0,FF242424,FF333333,FF2B2B2B,FF333333,FF2B2B2B,FF333333,FF0B0B0B,FF1C1C1C,FF333333,FF1C1C1C,FF333333,FF1C1C1C,FF333333,FF1C1C1C,FF333333,0,FF141414,FF333333,0,FF333333,0,FF242424,FF3B3B3B,0,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
  237. DATA 0,0,0,0,0,0,0,FF031303,0,FF266328,FF5BB35D,FF186C1C,FF63BB65,FF56A658,FF53AB55,FF347936,FF002E00,FF61AC62,FF08350A,0,FF030B03,0,0,0,FF0C1A0C,0,0,FF1D5B20,FF87E589,FF347535,0,0,0,FF003B00,FF0C1A0C,0,0,0,0,0,0,FF333333,FF242424,FF333333,FF3B3B3B,FF0B0B0B,FF333333,0,FF333333,FF1C1C1C,FF333333,FF1C1C1C,FF333333,FF242424,FF242424,FF2B2B2B,0,FF333333,FF2B2B2B,0,FF333333,FF242424,FF333333,FF333333,FF333333,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
  238. DATA 0,0,0,0,0,0,0,0,FF141414,0,FF66C269,FF407C42,FF002E00,FF002E00,FF448545,FF6CCA6E,FF63BB65,FF7CD37E,FF144A16,0,FF030B03,0,FF2C662E,0,FF002300,FF6FC271,FF004900,FF4FA051,FF5DBB5F,FF57AD59,FF2E6C30,FF4B944C,FF72C473,FF72C473,0,FF0B130B,0,0,FF2B2B2B,FF1C1C1C,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,FF333333,0,FF333333,FF333333,FF242424,FF1C1C1C,FF3B3B3B,0,FF1D2122,FF333333,FF2B2B2B,FF333333,0,0,FF1C1C1C,FF333333,FF242424,FF141414,FF2B2B2B,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
  239. DATA 0,0,0,0,0,0,0,FF0B130B,0,FF6FC271,FF79DA7B,FF005400,FF2E6C30,FF62B464,FF003B00,FF5BAB5C,FF2C812E,FF53AB55,0,0,FF1C1C1C,0,FF72CD74,FF62B464,FF005B00,FF72CD74,FF6CCA6E,FF66C269,FF003400,FF66B968,FF5BB35D,FF4EAB50,FF76D578,FF326C34,0,FF0B130B,0,FF2B2B2B,FF333333,0,FF1C1C1C,FF333333,0,0,FF031303,FF0B130B,FF333333,FF1C1C1C,FF333333,FF333333,FF252B25,FF3D433E,FF141414,0,0,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF3B3B3B,FF141414,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
  240. DATA 0,0,0,0,0,0,0,0,0,FF2A5E2C,FF439544,FF6FCB72,FF3C833F,FF5FB661,FF3A753B,0,FF5BAB5C,FF5FBA61,FF3C833F,FF407C42,0,0,FF5BB35D,FF53AB55,FF73D375,FF4A9C4C,FF478F49,FF3A753B,0,0,FF003400,FF68BF6A,FF2E6C30,0,FF0C1A0C,0,0,FF3B3B3B,0,0,FF333333,FF201F20,FF030B03,FF141414,0,0,FF2B2B2B,FF333333,FF1B231C,FF302F2F,FF1D001D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF2B2B2B,0,FF333333,FF242424,0,0,0,0,0,0,0,0,0,0,0
  241. DATA 0,0,0,0,0,0,0,FF030B03,0,FF002E00,FF459C4A,FF63BB65,FF326C34,FF347535,FF63BB65,0,FF61AC62,FF5BAB5C,FF73D375,FF53A455,FF5BAB5C,FF53A455,FF5BB35D,FF002E00,FF61AC62,FF3B7B3D,0,FF448A46,FF63BB65,FF2A792D,FF6CC46D,FF378839,0,FF162A16,0,0,0,FF333333,FF333333,FF333333,FF333333,0,0,0,FF326C34,FF144A16,0,FF112111,0,0,FF448545,FF4B8C4B,FF001900,FF141C14,FF0C1A0C,0,0,FF0B0B0B,0,0,0,0,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0,0
  242. DATA 0,0,0,0,0,0,0,FF0C1A0C,0,FF569E58,FF81E183,FF439544,0,0,FF62B464,FF448545,0,FF002300,FF63BB65,FF002E00,FF62B464,FF73D375,FF6FCB72,0,0,FF347936,FF66C269,FF5BB35D,FF054B0A,FF539D54,FF6FCB72,FF5FBA61,FF7CD37E,FF003400,0,FF030B03,0,0,FF2B2B2B,FF242424,FF030B03,0,FF326C34,FF72C473,FF84DA85,FF7FD281,0,0,FF3A753B,FF7FD281,FF72CD74,FF89E38B,FF48854A,0,0,FF030B03,FF0B0B0B,FF333333,0,0,0,0,FF0B0B0B,FF333333,FF333333,FF141414,0,0,0,0,0,0,0,0,0,0,0,0
  243. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF1C531E,FF4FA051,FF6FCB72,FF3A753B,FF0E4B11,FF6CC46D,0,FF448545,FF5BAB5C,0,FF5BB35D,FF2B742D,FF1C531E,FF003B00,FF62B464,FF63BB65,FF2C662E,0,0,0,FF439845,FF72CD74,FF4B8C4B,0,FF0B130B,0,0,0,0,0,FF0B130B,0,FF539D54,FF439544,FF72C473,FF68AF6A,0,FF62B464,FF86DC88,FF4B8C4B,FF004600,FF7FD281,FF005400,FF448545,FF4F9351,0,FF1C1C1C,FF333333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF2B2B2B,FF0B0B0B,0,0,0
  244. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3E8E40,FF6CCA6E,FF367638,0,FF539D54,FF5BAB5C,FF005B00,FF4CA04E,FF2B742D,FF66C269,0,FF367638,FF6CC46D,FF478F49,0,0,0,FF48854A,FF63BB65,FF53A455,FF0D4510,0,FF0B130B,0,0,0,0,0,0,0,FF1B231C,0,FF266328,FF7FD281,FF004600,FF79CD7B,FF79CD7B,FF003B00,0,FF235325,FF83D785,FF79CD7B,FF7CD37E,FF448545,0,FF252B25,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,0,FF0B0B0B,FF333333,FF3B3B3B,FF1C1C1C,0,0,0
  245. DATA 0,0,0,0,0,0,0,0,FF0C1A0C,0,FF4F9351,FF87E589,FF52B053,FF5EAE60,FF1D471E,0,FF5BAB5C,FF53AB55,FF6CC46D,FF64C066,FF57AD59,FF53AB55,FF6CC46D,FF184F1A,0,FF0C2E0E,FF001900,0,FF53A455,FF73D375,FF56A658,FF235325,0,0,FF181718,FF333333,FF333333,FF2B2B2B,0,0,FF1C1C1C,FF363935,0,FF4F8D50,FF84DA85,FF7CD37E,FF6AB56C,0,0,FF182818,0,FF2C662E,FF48854A,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF141414,FF120D0D,FF1C1C1C,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF333333,FF2B2B2B,FF333333,0,FF2B2B2B,FF333333,0,FF0B0B0B,0,0,0
  246. DATA 0,0,0,0,0,0,0,0,0,0,FF0C2E0E,FF003400,FF53AB55,FF76D578,FF3A8C3C,FF4B8C4B,FF228935,FF66C269,FF6CC46D,0,FF63BB65,FF53A455,0,0,0,FF4B944C,FF79CD7B,FF5BB35D,FF5BB35D,FF63BB65,FF7FD281,FF3B7B3D,0,FF0C1A0C,FF3B3B3B,FF1C1C1C,0,FF333333,FF242424,0,FF2B2B2B,FF2B2B2B,0,FF002300,FF6AB56C,FF529454,0,FF141414,FF031303,0,FF030B03,0,0,FF1C1C1C,FF141C14,0,FF2B2B2B,FF242424,0,FF333333,FF333333,FF3B3B3B,FF2B2B2B,FF333333,FF2B2B2B,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,0,FF333333,FF333333,0,0,0,0
  247. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,0,FF386F39,FF89E38B,FF5DBB5F,FF5BAB5C,FF459C4A,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF459C4A,FF348237,FF5BAB5C,FF5BAB5C,FF539D54,FF439544,FF6CCA6E,FF3A8C3C,FF235325,FF164317,0,0,0,FF2B2B2B,FF2B2B2B,0,0,FF333333,FF2B2B2B,0,FF333333,FF1C1C1C,0,FF090408,0,0,FF141C14,FF1B231C,0,FF141414,FF1C1C1C,FF031303,FF2D332D,FF3B3B3B,FF333333,0,FF333333,FF1C1C1C,FF0B0B0B,FF333333,0,FF333333,0,FF242424,FF2B2B2B,FF0B0B0B,FF333333,0,FF333333,FF1C1C1C,FF242424,FF2B2B2B,0,FF333333,FF242424,0,0,0
  248. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF244F25,FF326C34,FF112300,0,FF86002F,FFD55B63,FFC34F56,FF5C934D,FF77DA7D,FF46A245,FF89E38B,FF63BB65,FF006C29,FF2D904B,FF399E50,FF6FCB72,FF70BD6F,0,0,FF141C14,FF0B130B,0,FF333333,FF141414,0,FF242424,FF333333,0,0,FF333333,FF1C1C1C,FF0B0B0B,0,FF2D332D,FF2D332D,FF333333,FF333333,0,FF2B2B2B,FF333333,0,FF3B3B3B,FF242424,FF2B2B2B,0,FF333333,0,FF242424,FF333333,0,FF333333,0,FF2B2B2B,FF2B2B2B,0,FF3B3B3B,0,FF333333,FF1C1C1C,FF333333,FF3B3B3B,FF242424,FF333333,FF141414,0,0,0
  249. DATA 0,0,0,0,0,0,0,0,0,0,FF030B03,0,0,FF140000,0,FF913E3A,FFBE4743,FFD56364,FF8E4632,FF305A21,FF3C833F,FF469951,FF4C803B,FF7D5518,FF8C6D2B,FF7A5C17,FF3A510B,FF005C28,FF161A0C,FF091204,0,0,FF141414,FF333333,0,0,FF0B0B0B,0,0,FF0F1010,FF333333,FF333333,FF3B3B3B,FF141414,FF333333,FF333333,FF363935,FF2B2B2B,0,FF333333,FF242424,0,FF2B2B2B,FF3B3B3B,FF0B0B0B,FF141414,FF333333,0,FF2B2B2B,FF242424,FF0B0B0B,FF333333,0,FF2B2B2B,FF2B2B2B,FF242424,FF3B3B3B,FF333333,FF333333,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF333333,FF1C1C1C,0,0,0,0
  250. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0B130B,FF252B25,FF2A2625,0,FF812929,FFD15A5A,FFC35555,FFD56364,FFC5575A,0,FF613B00,FFD4BB62,FFCBB35D,FFC4AC56,FFCBB35D,FFD4BB62,FF9B7F39,0,FF161A0C,0,0,FF242424,FF333333,0,0,0,FF0B0B0B,FF141414,FF1C1C1C,FF333333,0,FF2B2B2B,FF2B2B2B,FF333333,0,FF2B2B2B,FF242424,0,FF333333,FF1C1C1C,FF2B2B2B,0,FF242424,FF333333,FF242424,FF333333,0,FF3B3B3B,0,FF1C1C1C,FF333333,0,FF0B0B0B,FF333333,FF333333,FF0B0B0B,FF242424,FF0B0B0B,0,0,0,0,0,0,0,0,0
  251. DATA 0,0,0,0,0,0,0,0,0,0,FF242424,FF333333,FF242424,FF002928,FF773B3B,FFD56364,FFC5575A,FFCA5252,FFBE4743,FFD55B63,FFC19353,FFAD9941,FF6E5921,0,0,0,FF685217,FFD4BB62,FFB29B4C,0,FF1B1C11,0,FF2B2B2B,FF2B2B2B,0,0,0,FF1C1C1C,FF333333,FF242424,FF2B2B2B,0,FF333333,FF1C1C1C,FF333333,0,FF2B2B2B,FF242424,FF141414,FF333333,FF242424,FF424242,FF242424,FF333333,FF2B2B2B,FF2B2B2B,FF242424,FF333333,FF242424,0,FF0B0B0B,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  252. DATA 0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF001D1C,FF603030,FFBD3D3D,FFD56364,FF903935,FF9B3240,FFC17452,FFD7C065,FF452D00,0,FF1B1C11,FF1B1B0D,FF1B1B0D,0,0,FFDAC066,FF8E7937,0,FF130E01,FF2B2B2B,FF2B2B2B,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF333333,FF2B2B2B,FF333333,0,FF141414,FF333333,FF3B3B3B,FF242424,FF2B2B2B,FF1C1C1C,FF333333,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  253. DATA 0,0,0,0,0,0,0,0,FF0B0B0B,FF333333,0,0,0,FF1A1010,FF002928,FF773B3B,FF8B4242,FF2A3027,0,FFB29B4C,FFAA9349,0,FF292510,0,0,0,FF292510,0,FF776125,FFD4BB62,FF1D0000,0,FF302F2F,FF242424,0,0,0,FF3B3B3B,FF0B0B0B,FF333333,FF141414,0,FF242424,FF3B3B3B,FF1C1C1C,0,0,0,FF1B1C11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  254. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF120D0D,FF001D1C,0,FF26241C,FF00001C,FFC5AD59,FF8A7433,0,FF151104,0,0,0,0,FF1F2012,0,FFC5AD59,FF96813E,0,FF34332C,FF333333,0,FF0B0B0B,FF333333,FF242424,0,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  255. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,0,0,0,0,0,0,0,FF140000,FF1B1C11,FF00001C,FFC5AD59,FF8E7937,0,FF151104,0,0,0,0,FF191406,0,FF917C3A,FFC8AF5D,0,FF1B1B0D,FF302F2F,FF333333,FF333333,FF242424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  256. DATA 0,0,0,0,0,0,0,FF1C1C1C,FF242424,0,0,0,0,0,0,0,0,FF26241C,FF000014,FFB49D51,FFAA9349,0,FF1B1B0D,0,0,0,0,0,0,FF3C2300,FFD4BB62,FF5D4304,0,FF130E01,0,0,0,0,0,0,0,0,FF0B0B0B,FF242424,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,0,0,0,0,0,0,0,0
  257. DATA 0,0,0,0,0,0,0,FF2B2B2B,FF120D0D,0,0,0,0,0,0,0,0,FF29271E,FF00001C,FF8A7433,FFCBB35D,0,FF1B1C11,0,0,0,0,0,FF1B1B0D,0,FFAA9349,FFCBB35D,0,FF000008,FF201E0E,FF130E01,0,0,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF1C1C1C,0,FF0B0B0B,0,0,0,0,FF0B0B0B,FF0B0B0B,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF0B0B0B,FF0B0B0B,0,0,0,0,FF0B0B0B,0,FF1C1C1C,FF242424,FF2B2B2B,FF242424,FF2B2B2B,0,FF0B0B0B,0,0,0,0,0
  258. DATA 0,0,0,0,0,0,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2A2625,FF1D2122,FF230000,FFD4BB62,FF6E5921,0,FF191406,0,0,0,0,0,FF0B130B,0,FFC5AD59,FFCBB35D,FF452D00,0,0,FF0D0B03,0,0,FF2B2B2B,FF141414,FF141414,FF333333,FF333333,FF2B2B2B,0,FF2B2B2B,FF141414,0,0,0,0,FF2B2B2B,0,FF1C1C1C,FF333333,FF333333,FF1C1C1C,0,FF2B2B2B,0,0,0,0,FF141414,FF2B2B2B,0,FF2B2B2B,FF333333,FF333333,FF0B0B0B,FF1C1C1C,FF2B2B2B,0,FF0B0B0B,0,0,0
  259. DATA 0,0,0,0,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF201E0E,0,FFA59149,FFC5AD59,0,FF1B1B0D,0,0,0,0,0,FF0C0400,FF12150A,0,FFAA9349,FFD1B75F,FFBAA354,FF786734,0,FF1C1C1C,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF242424,FF242424,0,FF201F1F,FF2B2B2B,FF2B2B2B,FF141414,0,FF242424,FF242424,0,FF141414,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,FF2B2B2B,FF242424,FF2B2B2B,0,0,FF2B2B2B,FF141414,0,FF242424,FF2B2B2B,FF2B2B2B,FF141414,0,0,0
  260. DATA 0,0,0,FF141414,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,FF00080A,FF1D0000,FFD4BB62,FF7D682C,0,FF151104,0,0,0,0,FF1B1C11,0,0,FF310000,FFC7A647,FFF5DE82,FFA89453,0,FF1B1C11,FF242424,FF333333,FF2B2B2B,FF0B0B0B,FF141414,FF2B2B2B,0,FF242424,FF333333,FF2B2B2B,FF141414,0,FF0B0B0B,FF2B2B2B,FF333333,FF2B2B2B,0,FF242424,FF242424,0,FF2B2B2B,FF333333,FF2B2B2B,FF0B0B0B,0,FF141414,FF333333,FF333333,FF242424,0,FF2B2B2B,FF0B0B0B,FF141414,FF333333,FF333333,FF242424,0,0,0,0
  261. DATA 0,0,FF242424,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF0B0B0B,0,FF201E0E,0,FF9C8644,FFC5AD59,0,FF1B1C11,0,FF151104,FF191406,FF030B03,0,FF604B16,FFB49D51,FFDAC066,FFBAA354,FF5D4304,0,FF0D0B03,FF1C1C1C,FF2B2B2B,FF141414,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF242424,FF242424,FF0B0B0B,FF242424,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF2B2B2B,FF242424,FF0B0B0B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF141414,FF141414,FF2B2B2B,FF141414,0,0,0
  262. DATA 0,0,0,FF141414,FF242424,FF2B2B2B,FF2B2B2B,FF141414,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,FF0D0B03,0,FF604B16,FFD4BB62,FF301400,0,FF242211,0,0,0,FFB4A058,FFDAC066,FFB29B4C,FF59430D,0,0,FF12150A,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,FF141414,0,0,0,0,0,0,0
  263. DATA 0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF242424,FF1C1C1C,0,0,0,0,FF3C2300,FFD1B75F,FF5B4A19,0,0,FF655423,FF786734,0,FFCEB563,FFB29B4C,0,0,FF201E0E,FF130E01,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF333333,FF242424,FF2B2B2B,FF272728,0,FF242424,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF242424,FF242424,FF242424,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF2B2B2B,FF2B2B2B,FF242424,FF333333,FF1C1C1C,FF2B2B2B,FF1C1C1C,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,0,0
  264. DATA 0,0,0,0,0,0,0,FF141414,FF2B2B2B,0,0,FF2B2B2B,FF141414,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF452D00,FFD4BB62,FF370800,FF2F0C00,FFB49D51,FFDAC066,FFE6CD73,FF907125,FFCBB35D,FFA59149,0,FF292510,0,0,0,0,0,FF242424,FF333333,FF242424,0,FF141414,FF2B2B2B,0,FF141414,FF333333,FF2B2B2B,FF141414,0,0,FF2B2B2B,FF333333,FF1C1C1C,0,FF242424,FF242424,0,FF242424,FF333333,FF2B2B2B,0,0,FF141414,FF333333,FF333333,FF0B0B0B,0,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF333333,FF242424,0,0,0,0
  265. DATA 0,0,0,0,0,0,0,FF141414,FF2B2B2B,0,FF2B2B2B,FF333333,FF2B2B2B,FF2B2B2B,0,FF242424,FF1C1C1C,0,0,FF130E01,0,FF6A551D,FFD6BA5B,FFB19342,FFD6BF68,FFBAA354,FF513100,FF8A7433,FFD4BB62,FFB49D51,FF1D0000,0,0,0,0,0,0,FF141414,FF242424,FF242424,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF1C1C1C,FF242424,0,FF242424,FF1C1C1C,FF2B2B2B,FF141414,0,FF2B2B2B,FF242424,0,FF141414,FF2B2B2B,FF1C1C1C,FF1C1C1C,0,FF242424,FF1C1C1C,FF2B2B2B,0,0,FF333333,FF141414,0,FF242424,FF242424,FF242424,FF141414,0,0,0
  266. DATA 0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,0,0,FF242424,FF2B2B2B,FF333333,FF2B2B2B,0,0,FF201E0E,0,FF9C8644,FFF5DE82,FFC0A652,FF695522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,FF1C1C1C,FF333333,FF333333,FF2B2B2B,0,FF242424,FF0B0B0B,0,0,0,0,FF242424,0,FF242424,FF333333,FF333333,FF242424,0,FF242424,0,0,0,0,FF141414,FF242424,0,FF2B2B2B,FF333333,FF333333,FF141414,FF0B0B0B,FF242424,0,0,0,0,0
  267. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF0D0B03,0,FF655423,FF75612B,0,0,FF242211,FF0C0400,FF191406,FF161A0C,FF1B1B0D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,FF242424,FF242424,FF1C1C1C,0,0,0,0,0,0,0,FF141414,FF242424,FF242424,FF242424,FF242424,FF0B0B0B,0,0,0,0,0,0,0,FF242424,FF1C1C1C,FF2B2B2B,FF1C1C1C,FF242424,0,0,0,0,0,0,0
  268. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0D0B03,0,0,FF1B1B0D,FF151104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF141414,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,0,0,0,0,0,0,0,0,0
  269. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF151104,FF191406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  270. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  271. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  272. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  273. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  274. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  275. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  276.  
  277. SUB CircleFill (CX AS INTEGER, CY AS INTEGER, R AS INTEGER, C AS _UNSIGNED LONG)
  278.     ' CX = center x coordinate
  279.     ' CY = center y coordinate
  280.     '  R = radius
  281.     '  C = fill color
  282.     DIM Radius AS INTEGER, RadiusError AS INTEGER
  283.     DIM X AS INTEGER, Y AS INTEGER
  284.     Radius = ABS(R)
  285.     RadiusError = -Radius
  286.     X = Radius
  287.     Y = 0
  288.     IF Radius = 0 THEN PSET (CX, CY), C: EXIT SUB
  289.     LINE (CX - X, CY)-(CX + X, CY), C, BF
  290.     WHILE X > Y
  291.         RadiusError = RadiusError + Y * 2 + 1
  292.         IF RadiusError >= 0 THEN
  293.             IF X <> Y + 1 THEN
  294.                 LINE (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
  295.                 LINE (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
  296.             END IF
  297.             X = X - 1
  298.             RadiusError = RadiusError - X * 2
  299.         END IF
  300.         Y = Y + 1
  301.         LINE (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
  302.         LINE (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
  303.     WEND
  304.  
« Last Edit: December 23, 2020, 10:50:12 am by FellippeHeitor »

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #110 on: December 23, 2020, 12:08:59 pm »
@SMcNeill  Fireworks never get old, nice colorful version.

@FellippeHeitor  nice, no monster data load program :)

This has been a crummy year and I hear allot of people saying it's hard to get into the spirit, gotta say this thread sure helped distract me :)
« Last Edit: December 23, 2020, 12:12:37 pm by bplus »

Offline Ashish

  • Forum Resident
  • Posts: 630
  • Never Give Up!
    • View Profile
Re: %uD83C%uDF84%uD83C%uDF81%u2728 Holiday Season - are you ready to code?
« Reply #111 on: December 23, 2020, 01:25:35 pm »
Ashish's Submission -

Code: [Select]
'coded for holidays 2020
'Merry Christmas! & Happy Holidays!
'from Ashish
RANDOMIZE TIMER
_TITLE "Merry Christmas 2020! Greetings From Ashish!"
SCREEN _NEWIMAGE(800, 600, 32)


TYPE vec3
    x AS SINGLE
    y AS SINGLE
    z AS SINGLE
END TYPE

TYPE snow_obj
    pos AS vec3
    vel AS vec3
END TYPE

DECLARE LIBRARY 'camera control function
    SUB gluLookAt (BYVAL eyeX#, BYVAL eyeY#, BYVAL eyeZ#, BYVAL centerX#, BYVAL centerY#, BYVAL centerZ#, BYVAL upX#, BYVAL upY#, BYVAL upZ#)
END DECLARE

DIM SHARED perlin_octaves, perlin_amp_falloff 'noise related variables
DIM SHARED max_w, max_h
max_w = 100: max_h = 100

DIM SHARED gl_init

DIM SHARED snow(1000) AS snow_obj

FOR i = 0 TO UBOUND(snow)
    snow(i).pos.y = p5random(10, 20)
    IF RND > 0.5 THEN snow(i).pos.x = p5random(-20, -2) ELSE snow(i).pos.x = p5random(2, 20)
    IF RND > 0.5 THEN snow(i).pos.z = p5random(-20, -2) ELSE snow(i).pos.z = p5random(2, 20)

    snow(i).vel.y = p5random(-0.3, -0.05)
NEXT

DIM SHARED map_vert(max_w * max_h * 6), map_norm(max_w * max_h * 6), h_map(100, 100) AS vec3
DIM SHARED max_vert_index

REDIM SHARED pineMesh(0) AS SINGLE, pineMeshInfo(0) AS mesh_part_info, pineMeshFileInfo AS MDL_INFO
f$ = Writetree.basData("tree.binobj")
objImportBin f$, pineMesh(), pineMeshInfo(), pineMeshFileInfo


DIM SHARED sky_tex AS LONG
sky_tex = _NEWIMAGE(800, 600, 32)
_DEST sky_tex
FOR i = 0 TO 300
    LINE (0, i)-(800, i), _RGB(map(i, 0, 300, 46, 130), map(i, 0, 300, 0, 2), map(i, 0, 300, 91, 130))
NEXT
FOR i = 300 TO 600
    LINE (0, i)-(800, i), _RGB(map(i, 300, 600, 130, 237), map(i, 300, 600, 2, 173), map(i, 300, 600, 130, 90))
NEXT
_DEST 0


FOR i = 0 TO 100
    FOR j = 0 TO 100
        ' pset (i,j),_rgb32(150*abs(noise(i*0.05,j*0.05,0))+50)

        h_map(i, j).x = map(i, 0, 100, -30, 30)
        h_map(i, j).y = -2 + 8 * ABS(noise(i * 0.05, j * 0.05, 0))
        h_map(i, j).z = map(j, 0, 100, -30, 30)
    NEXT j
NEXT i

init_land

_PUTIMAGE , sky_tex
_GLRENDER _ONTOP
gl_init = 1
DO
    FOR i = 0 TO UBOUND(snow)
        snow(i).pos.y = snow(i).pos.y + snow(i).vel.y
        IF snow(i).pos.y < -2 THEN
            snow(i).pos.y = p5random(10, 20)
            IF RND > 0.5 THEN snow(i).pos.x = p5random(-20, -2) ELSE snow(i).pos.x = p5random(2, 20)
            IF RND > 0.5 THEN snow(i).pos.z = p5random(-20, -2) ELSE snow(i).pos.z = p5random(2, 20)

            snow(i).vel.y = p5random(-0.3, -0.05)
        END IF
    NEXT
    _LIMIT 60
LOOP

SUB _GL ()
    STATIC init, clock
    IF gl_init = 0 THEN EXIT SUB
    IF init = 0 THEN
        init = 1
        _glViewport 0, 0, 800, 600

    END IF


    _glEnable _GL_DEPTH_TEST
    _glEnable _GL_LIGHTING
    _glEnable _GL_LIGHT0

    _glShadeModel _GL_SMOOTH

    'bluish light
    _glLightfv _GL_LIGHT0, _GL_AMBIENT, glVec4(0.05, 0.05, 0.1, 0)
    _glLightfv _GL_LIGHT0, _GL_DIFFUSE, glVec4(0.95, 0.95, 1, 0)
    _glLightfv _GL_LIGHT0, _GL_SPECULAR, glVec4(0.6, 0.6, 0.6, 0) ' glVec4(0.75, 0.80, 0.85, 0)


    _glMatrixMode _GL_PROJECTION
    _glLoadIdentity
    _gluPerspective 60, 1.3333, 0.1, 50


    _glMatrixMode _GL_MODELVIEW
    _glLoadIdentity
    gluLookAt 8, 10, 8, 0, 5, 0, 0, 1, 0
    _glRotatef clock, 0, 1, 0

    'land
    _glColor3f 1, 1, 1
    _glEnable _GL_COLOR_MATERIAL
    _glEnableClientState _GL_VERTEX_ARRAY
    _glVertexPointer 3, _GL_FLOAT, 0, _OFFSET(map_vert())
    _glEnableClientState _GL_NORMAL_ARRAY
    _glNormalPointer _GL_FLOAT, 0, _OFFSET(map_norm())

    _glDrawArrays _GL_TRIANGLE_STRIP, 1, (max_vert_index / 3) - 1
    'tree
    _glDisable _GL_COLOR_MATERIAL
    _glPushMatrix
    _glTranslatef 0, ABS(h_map(50, 50).y + 1), 0
    objDraw pineMesh(), pineMeshInfo(), pineMeshFileInfo
    _glPopMatrix


    'snow
    _glDisable _GL_LIGHTING
    _glPointSize 8.0
    _glColor3f 1, 1, 1
    _glEnable _GL_COLOR_MATERIAL
    _glEnableClientState _GL_VERTEX_ARRAY
    _glVertexPointer 3, _GL_FLOAT, 24, _OFFSET(snow())
    _glDrawArrays _GL_POINTS, 1, UBOUND(snow)
    _glFlush
    clock = clock + 0.5
END SUB

SUB init_land ()
    DIM A AS vec3, B AS vec3, C AS vec3, R AS vec3
    max_vert_index = 0
    DO
        IF z MOD 2 = 0 THEN x = x + 1 ELSE x = x - 1

        A = h_map(x, z) 'get out coordinates from our stored data
        B = h_map(x, z + 1)
        C = h_map(x + 1, z)

        OBJ_CalculateNormal A, B, C, R 'calculates the normal of a triangle

        'store color, coordinate & normal data in an array
        map_norm(max_vert_index) = R.x: map_norm(max_vert_index + 1) = R.y: map_norm(max_vert_index + 2) = R.z
        map_vert(max_vert_index) = A.x: map_vert(max_vert_index + 1) = A.y: map_vert(max_vert_index + 2) = A.z

        map_norm(max_vert_index + 3) = R.x: map_norm(max_vert_index + 4) = R.y: map_norm(max_vert_index + 5) = R.z
        map_vert(max_vert_index + 3) = B.x: map_vert(max_vert_index + 4) = B.y: map_vert(max_vert_index + 5) = B.z

        max_vert_index = max_vert_index + 6

        IF x = max_w - 1 THEN
            IF z MOD 2 = 0 THEN x = x + 1: z = z + 1
        END IF
        IF x = 1 THEN
            IF z MOD 2 = 1 THEN x = x - 1: z = z + 1
        END IF
        IF z = max_h - 1 THEN EXIT DO
    LOOP
END SUB

SUB OBJ_CalculateNormal (p1 AS vec3, p2 AS vec3, p3 AS vec3, N AS vec3)
    DIM U AS vec3, V AS vec3

    U.x = p2.x - p1.x
    U.y = p2.y - p1.y
    U.z = p2.z - p1.z

    V.x = p3.x - p1.x
    V.y = p3.y - p1.y
    V.z = p3.z - p1.z

    N.x = (U.y * V.z) - (U.z * V.y)
    N.y = (U.z * V.x) - (U.x * V.z)
    N.z = (U.x * V.y) - (U.y * V.x)
    OBJ_Normalize N
END SUB

SUB OBJ_Normalize (V AS vec3)
    mag! = SQR(V.x * V.x + V.y * V.y + V.z * V.z)
    V.x = V.x / mag!
    V.y = V.y / mag!
    V.z = V.z / mag!
END SUB

'>>>>>>>>>>>> p5js.bas CONTENT START >>>>>>>>>>>>>>>>>>>>>>>>>>>
FUNCTION map! (value!, minRange!, maxRange!, newMinRange!, newMaxRange!)
    map! = ((value! - minRange!) / (maxRange! - minRange!)) * (newMaxRange! - newMinRange!) + newMinRange!
END FUNCTION

FUNCTION p5random! (mn!, mx!)
    IF mn! > mx! THEN
        SWAP mn!, mx!
    END IF
    p5random! = RND * (mx! - mn!) + mn!
END FUNCTION

FUNCTION noise! (x AS SINGLE, y AS SINGLE, z AS SINGLE)
    STATIC p5NoiseSetup AS _BYTE
    STATIC perlin() AS SINGLE
    STATIC PERLIN_YWRAPB AS SINGLE, PERLIN_YWRAP AS SINGLE
    STATIC PERLIN_ZWRAPB AS SINGLE, PERLIN_ZWRAP AS SINGLE
    STATIC PERLIN_SIZE AS SINGLE

    IF NOT p5NoiseSetup THEN
        p5NoiseSetup = -1

        PERLIN_YWRAPB = 4
        PERLIN_YWRAP = INT(1 * (2 ^ PERLIN_YWRAPB))
        PERLIN_ZWRAPB = 8
        PERLIN_ZWRAP = INT(1 * (2 ^ PERLIN_ZWRAPB))
        PERLIN_SIZE = 4095

        perlin_octaves = 4
        perlin_amp_falloff = 0.5

        REDIM perlin(PERLIN_SIZE + 1) AS SINGLE
        DIM i AS SINGLE
        FOR i = 0 TO PERLIN_SIZE + 1
            perlin(i) = RND
        NEXT
    END IF

    x = ABS(x)
    y = ABS(y)
    z = ABS(z)

    DIM xi AS SINGLE, yi AS SINGLE, zi AS SINGLE
    xi = INT(x)
    yi = INT(y)
    zi = INT(z)

    DIM xf AS SINGLE, yf AS SINGLE, zf AS SINGLE
    xf = x - xi
    yf = y - yi
    zf = z - zi

    DIM r AS SINGLE, ampl AS SINGLE, o AS SINGLE
    r = 0
    ampl = .5

    FOR o = 1 TO perlin_octaves
        DIM of AS SINGLE, rxf AS SINGLE
        DIM ryf AS SINGLE, n1 AS SINGLE, n2 AS SINGLE, n3 AS SINGLE
        of = xi + INT(yi * (2 ^ PERLIN_YWRAPB)) + INT(zi * (2 ^ PERLIN_ZWRAPB))

        rxf = 0.5 * (1.0 - COS(xf * _PI))
        ryf = 0.5 * (1.0 - COS(yf * _PI))

        n1 = perlin(of AND PERLIN_SIZE)
        n1 = n1 + rxf * (perlin((of + 1) AND PERLIN_SIZE) - n1)
        n2 = perlin((of + PERLIN_YWRAP) AND PERLIN_SIZE)
        n2 = n2 + rxf * (perlin((of + PERLIN_YWRAP + 1) AND PERLIN_SIZE) - n2)
        n1 = n1 + ryf * (n2 - n1)

        of = of + PERLIN_ZWRAP
        n2 = perlin(of AND PERLIN_SIZE)
        n2 = n2 + rxf * (perlin((of + 1) AND PERLIN_SIZE) - n2)
        n3 = perlin((of + PERLIN_YWRAP) AND PERLIN_SIZE)
        n3 = n3 + rxf * (perlin((of + PERLIN_YWRAP + 1) AND PERLIN_SIZE) - n3)
        n2 = n2 + ryf * (n3 - n2)

        n1 = n1 + (0.5 * (1.0 - COS(zf * _PI))) * (n2 - n1)

        r = r + n1 * ampl
        ampl = ampl * perlin_amp_falloff
        xi = INT(xi * (2 ^ 1))
        xf = xf * 2
        yi = INT(yi * (2 ^ 1))
        yf = yf * 2
        zi = INT(zi * (2 ^ 1))
        zf = zf * 2

        IF xf >= 1.0 THEN xi = xi + 1: xf = xf - 1
        IF yf >= 1.0 THEN yi = yi + 1: yf = yf - 1
        IF zf >= 1.0 THEN zi = zi + 1: zf = zf - 1
    NEXT
    noise! = r
END FUNCTION

SUB noiseDetail (lod!, falloff!)
    IF lod! > 0 THEN perlin_octaves = lod!
    IF falloff! > 0 THEN perlin_amp_falloff = falloff!
END SUB

'>>>>>>>>>>>>> p5js.bas CONTENT END >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

'->>>>>>> OBJ_LOADER_LIB.BAS CONTENT START>>>>>>>>>>>>>>

'An LIBRARY version of OBJ Loader
'Contain useful Functions/methods for your making your 3D Apps/Games

SUB internal_OBJ_types ()
    TYPE MDL_INFO
        num_of_vertices AS _UNSIGNED LONG
        num_of_normals AS _UNSIGNED LONG
        num_of_tex_coords AS _UNSIGNED LONG
        num_of_objects AS _UNSIGNED LONG
        num_of_faces AS _UNSIGNED LONG
        num_of_materials AS _UNSIGNED LONG
        materialPresent AS _BYTE
        mode AS INTEGER
    END TYPE


    TYPE material_info
        exits AS _BYTE 'material exits or not
        init AS _BYTE
        id AS STRING * 128 'material name
        amb AS vec3 'ambient
        diff AS vec3 'diffuse
        spec AS vec3 'specular
        emis AS vec3 'emission
        img_tex_name AS STRING * 128 'name of the image texture file name
        img_tex AS LONG 'image handle
        gl_tex AS LONG 'GL tex handle
        shine AS SINGLE 'shineness
        trans AS SINGLE 'transparency
    END TYPE

    TYPE mesh_part_info
        start AS _UNSIGNED LONG 'start index of mesh()
        length AS _UNSIGNED LONG 'length
        init AS _BYTE 'intialize?
        mtl AS material_info 'material properties
        origin AS vec3 'origin of each mesh_part
        atOrigin AS _BYTE 'is it at the origin
        hidden AS _BYTE 'if hidden, it will not render when calling with objDraw(). However, it can be made render by objDrawMeshPart()
    END TYPE

END SUB

SUB objHideMeshPart (which$, mesh_part() AS mesh_part_info)
    FOR i = 0 TO UBOUND(mesh_part)
        IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
            mesh_part(i).hidden = -1
            EXIT SUB
        END IF
    NEXT
END SUB

SUB objUnhideMeshPart (which$, mesh_part() AS mesh_part_info)
    FOR i = 0 TO UBOUND(mesh_part)
        IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
            mesh_part(i).hidden = 0
            EXIT SUB
        END IF
    NEXT
END SUB

SUB setMeshPartOrigin (which$, mesh_part() AS mesh_part_info, mesh() AS SINGLE)
    FOR i = 0 TO UBOUND(mesh_part)
        IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
            IF NOT mesh_part(i).atOrigin THEN
                FOR j = 8 * mesh_part(i).start TO 8 * (mesh_part(i).start + mesh_part(i).length - 1) STEP 8
                    mesh(j) = mesh(j) - mesh_part(i).origin.x
                    mesh(j + 1) = mesh(j + 1) - mesh_part(i).origin.y
                    mesh(j + 2) = mesh(j + 2) - mesh_part(i).origin.z
                NEXT
                mesh_part(i).atOrigin = -1
            END IF
            _glTranslatef mesh_part(i).origin.x, mesh_part(i).origin.y, mesh_part(i).origin.z
            ' ? mesh_part(i).origin.x,mesh_part(i).origin.y,mesh_part(i).origin.z
            EXIT SUB
        END IF
    NEXT
END SUB

SUB resetMeshPartOrigin (which$, mesh_part() AS mesh_part_info, mesh() AS SINGLE)
    FOR i = 0 TO UBOUND(mesh_part)
        IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
            IF mesh_part(i).atOrigin THEN
                FOR j = 8 * mesh_part(i).start TO 8 * (mesh_part(i).start + mesh_part(i).length - 1) STEP 8
                    mesh(j) = mesh(j) + mesh_part(i).origin.x
                    mesh(j + 1) = mesh(j + 1) + mesh_part(i).origin.y
                    mesh(j + 2) = mesh(j + 2) + mesh_part(i).origin.z
                NEXT
                mesh_part(i).atOrigin = 0
            END IF
            EXIT SUB
        END IF
    NEXT
END SUB

SUB objImportBin (inFile$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
    REDIM mesh(0) AS SINGLE, mesh_part(0) AS mesh_part_info
    x = _INSTRREV(inFile$, "/") + _INSTRREV(inFile$, "\")
    DIM path$, count AS _UNSIGNED LONG
    path$ = LEFT$(inFile$, x)

    f = FREEFILE

    OPEN inFile$ FOR BINARY AS #f
    GET #f, , mdl_info
    GET #f, , count
    REDIM mesh_part(count) AS mesh_part_info
    GET #f, , mesh_part()
    GET #f, , count
    REDIM mesh(count) AS SINGLE
    GET #f, , mesh()
    CLOSE #f

    FOR i = 0 TO UBOUND(mesh_part)
        mesh_part(i).mtl.img_tex = 0
        mesh_part(i).mtl.gl_tex = 0
        mesh_part(i).mtl.img_tex = _LOADIMAGE(path$ + _TRIM$(mesh_part(i).mtl.img_tex_name))
    NEXT
END SUB

SUB objExportBin (outFile$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
    IF _FILEEXISTS(outFile$) THEN KILL outFile$
    DIM count AS _UNSIGNED LONG, mn AS vec3, mx AS vec3

    'just to calculate origin of each mesh part by simple the mean of their max & min position vector
    FOR i = 0 TO UBOUND(mesh_part)
        ' ? "ID : ";_TRIM$(mesh_part(i).mtl.id)
        count = 8 * mesh_part(i).start
        mn.x = mesh(count): mn.y = mesh(count + 1): mn.z = mesh(count + 2)
        mx.x = mesh(count): mx.y = mesh(count + 1): mx.z = mesh(count + 2)
        ' ? "Max : (";mx.x;",";mx.y;",";mx.z;")"
        ' ? "Min : (";mn.x;",";mn.y;",";mn.z;")"
        FOR j = count TO count + 8 * (mesh_part(i).length - 1) STEP 8
            IF mn.x >= mesh(j) THEN mn.x = mesh(j)
            IF mn.y >= mesh(j + 1) THEN mn.y = mesh(j + 1)
            IF mn.z >= mesh(j + 2) THEN mn.z = mesh(j + 2)

            IF mx.x <= mesh(j) THEN mx.x = mesh(j)
            IF mx.y <= mesh(j + 1) THEN mx.y = mesh(j + 1)
            IF mx.z <= mesh(j + 2) THEN mx.z = mesh(j + 2)
        NEXT
        ' ? "Max : (";mx.x;",";mx.y;",";mx.z;")"
        ' ? "Min : (";mn.x;",";mn.y;",";mn.z;")"
        ' sleep
        mesh_part(i).origin.x = (mn.x + mx.x) * 0.5
        mesh_part(i).origin.y = (mn.y + mx.y) * 0.5
        mesh_part(i).origin.z = (mn.z + mx.z) * 0.5

    NEXT

    f = FREEFILE
    OPEN outFile$ FOR BINARY AS #f
    PUT #f, , mdl_info 'MODEL GENERAL INFO
    count = UBOUND(mesh_part) 'length of mesh_part() array
    PUT #f, , count
    PUT #f, , mesh_part()
    count = UBOUND(mesh) 'length of mesh() array
    PUT #f, , count
    PUT #f, , mesh()
    CLOSE #f
END SUB

SUB objInit (mesh_part() AS mesh_part_info)
    FOR i = 0 TO UBOUND(mesh_part)
        IF mesh_part(i).mtl.img_tex < -1 THEN mesh_part(i).mtl.gl_tex = feedGLTexture(mesh_part(i).mtl.img_tex)
    NEXT
END SUB

SUB objDrawMeshPart (which$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
    FOR i = 0 TO UBOUND(mesh_part)
        IF which$ = _TRIM$(mesh_part(i).mtl.id) THEN
            IF mesh_part(i).mtl.trans = 1 THEN _glDisable _GL_BLEND ELSE _glEnable _GL_BLEND
            _glMaterialfv _GL_FRONT, _GL_AMBIENT, glVec4(mesh_part(i).mtl.amb.x, mesh_part(i).mtl.amb.y, mesh_part(i).mtl.amb.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_DIFFUSE, glVec4(mesh_part(i).mtl.diff.x, mesh_part(i).mtl.diff.y, mesh_part(i).mtl.diff.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_SPECULAR, glVec4(mesh_part(i).mtl.spec.x, mesh_part(i).mtl.spec.y, mesh_part(i).mtl.spec.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_EMISSION, glVec4(mesh_part(i).mtl.emis.x, mesh_part(i).mtl.emis.y, mesh_part(i).mtl.emis.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_SHININESS, glVec4(mesh_part(i).mtl.shine * 0.128, 0, 0, 0)
            _glEnableClientState _GL_VERTEX_ARRAY
            _glVertexPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 32 * mesh_part(i).start
            IF mdl_info.num_of_tex_coords > 0 THEN
                selectTexture mesh_part(i).mtl.gl_tex
                _glEnableClientState _GL_TEXTURE_COORD_ARRAY
                _glTexCoordPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 12 + 32 * mesh_part(i).start
            END IF
            IF mdl_info.num_of_normals > 0 THEN
                _glEnableClientState _GL_NORMAL_ARRAY
                _glNormalPointer _GL_FLOAT, 32, _OFFSET(mesh()) + 20 + 32 * mesh_part(i).start
            END IF
            IF mdl_info.mode = 1 THEN _glDrawArrays _GL_TRIANGLES, 0, mesh_part(i).length
            IF mdl_info.mode = 2 THEN _glDrawArrays _GL_LINES, 0, mesh_part(i).length

            EXIT SUB
        END IF
    NEXT
    _glDisableClientState _GL_VERTEX_ARRAY
    _glDisableClientState _GL_NORMAL_ARRAY
    _glDisableClientState _GL_TEXTURE_COORD_ARRAY
END SUB
SUB objDraw (mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
    FOR i = 0 TO UBOUND(mesh_part) 'draw the mesh
        IF mesh_part(i).hidden THEN _CONTINUE 'no need to draw the hidden/unactive part (if there)
        IF mdl_info.materialPresent = 1 THEN
            IF mesh_part(i).mtl.trans = 1 THEN _glDisable _GL_BLEND ELSE _glEnable _GL_BLEND
            _glMaterialfv _GL_FRONT, _GL_AMBIENT, glVec4(mesh_part(i).mtl.amb.x, mesh_part(i).mtl.amb.y, mesh_part(i).mtl.amb.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_DIFFUSE, glVec4(mesh_part(i).mtl.diff.x, mesh_part(i).mtl.diff.y, mesh_part(i).mtl.diff.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_SPECULAR, glVec4(mesh_part(i).mtl.spec.x, mesh_part(i).mtl.spec.y, mesh_part(i).mtl.spec.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_EMISSION, glVec4(mesh_part(i).mtl.emis.x, mesh_part(i).mtl.emis.y, mesh_part(i).mtl.emis.z, mesh_part(i).mtl.trans)
            _glMaterialfv _GL_FRONT, _GL_SHININESS, glVec4(mesh_part(i).mtl.shine * 0.128, 0, 0, 0)
        END IF
        _glEnableClientState _GL_VERTEX_ARRAY
        _glVertexPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 32 * mesh_part(i).start
        IF mdl_info.num_of_tex_coords > 0 THEN
            selectTexture mesh_part(i).mtl.gl_tex
            _glEnableClientState _GL_TEXTURE_COORD_ARRAY
            _glTexCoordPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 12 + 32 * mesh_part(i).start
        END IF
        IF mdl_info.num_of_normals > 0 THEN
            _glEnableClientState _GL_NORMAL_ARRAY
            _glNormalPointer _GL_FLOAT, 32, _OFFSET(mesh()) + 20 + 32 * mesh_part(i).start
        END IF
        IF mdl_info.mode = 1 THEN _glDrawArrays _GL_TRIANGLES, 0, mesh_part(i).length
        IF mdl_info.mode = 2 THEN _glDrawArrays _GL_LINES, 0, mesh_part(i).length
    NEXT
    _glDisableClientState _GL_VERTEX_ARRAY
    _glDisableClientState _GL_NORMAL_ARRAY
    _glDisableClientState _GL_TEXTURE_COORD_ARRAY
END SUB

SUB objLoad (f$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
    'seprate file name and path
    x = _INSTRREV(f$, "/") + _INSTRREV(f$, "\")
    IF x = 0 THEN
        obj_file$ = f$
    ELSE
        obj_file$ = RIGHT$(f$, LEN(f$) - x)
        path$ = LEFT$(f$, x)
    END IF

    DIM tag(4) AS STRING * 3, p(4) AS _UNSIGNED LONG 'tag() contain keywords like v, vt, etc. p() store the position for each keywords independently
    DIM v(4) AS _UNSIGNED LONG 'v(0) -> no. of vertices, v(1)->no. of tex. coord.,v(2)->no. of normals, v(3)->no. of faces
    REDIM vert(2) AS SINGLE, norm(2) AS SINGLE, texcoord(1) AS SINGLE 'vert(), norm() and texcoord() will store all the vertices, normals and texture coordinates()
    REDIM mesh(23) AS SINGLE '(3 vert + 2 tex coord + 3 norm )* 3 vert of triangle : This is the main data which we will pass to OpenGL
    REDIM materials(0) AS material_info, mesh_part(0) AS mesh_part_info 'contain properties of mesh like materials
    DIM materialPresent

    tag(0) = CHR$(10) + "v ": tag(1) = CHR$(10) + "vt": tag(2) = CHR$(10) + "vn": tag(3) = CHR$(10) + "f ": tag(4) = CHR$(10) + "o "
    DIM LINE_FEED AS STRING * 1
    LINE_FEED = CHR$(10)
    OPEN f$ FOR BINARY AS #1
    length = LOF(1)
    a$ = SPACE$(length)
    GET #1, , a$
    CLOSE #1

    'check if the mtl file exits for the given OBJ
    x = INSTR(1, a$, LINE_FEED + "mtllib")
    IF x THEN 'yes it exits
        FOR i = x + 8 TO LEN(a$)
            IF MID$(a$, i, 1) = CHR$(13) OR MID$(a$, i, 1) = LINE_FEED THEN y = i: EXIT FOR
        NEXT
        mtl_file$ = path$ + _TRIM$(MID$(a$, x + 8, y - (x + 8)))
        IF NOT _FILEEXISTS(mtl_file$) THEN PRINT "ERROR : File not found - " + mtl_file$: END
        x = 1
        materialPresent = 1
        mtl_index = -1 'so it start with 0 in the loop
        OPEN mtl_file$ FOR INPUT AS #2
        WHILE NOT EOF(2)
            LINE INPUT #2, b$
            IF LEFT$(b$, 1) <> "#" THEN 'to avoid comments. Comments in OBJ/MTL start with #
                IF LEFT$(b$, 6) = "newmtl" THEN 'new material
                    mtl_index = mtl_index + 1
                    REDIM _PRESERVE materials(mtl_index) AS material_info
                    materials(mtl_index).id = _TRIM$(MID$(b$, 7, LEN(b$) - 6))
                    materials(mtl_index).exits = 1
                ELSEIF LEFT$(b$, 2) = "Ka" THEN 'ambient
                    y1 = INSTR(4, b$, " ")
                    y2 = INSTR(y1 + 1, b$, " ")
                    materials(mtl_index).amb.x = VAL(MID$(b$, 4, y1 - 3))
                    materials(mtl_index).amb.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                    materials(mtl_index).amb.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                ELSEIF LEFT$(b$, 2) = "Kd" THEN 'diffuse
                    y1 = INSTR(4, b$, " ")
                    y2 = INSTR(y1 + 1, b$, " ")
                    materials(mtl_index).diff.x = VAL(MID$(b$, 4, y1 - 3))
                    materials(mtl_index).diff.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                    materials(mtl_index).diff.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                ELSEIF LEFT$(b$, 2) = "Ks" THEN 'specular
                    y1 = INSTR(4, b$, " ")
                    y2 = INSTR(y1 + 1, b$, " ")
                    materials(mtl_index).spec.x = VAL(MID$(b$, 4, y1 - 3))
                    materials(mtl_index).spec.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                    materials(mtl_index).spec.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                ELSEIF LEFT$(b$, 2) = "Ke" THEN 'emission
                    y1 = INSTR(4, b$, " ")
                    y2 = INSTR(y1 + 1, b$, " ")
                    materials(mtl_index).emis.x = VAL(MID$(b$, 4, y1 - 3))
                    materials(mtl_index).emis.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                    materials(mtl_index).emis.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                ELSEIF LEFT$(b$, 2) = "Ns" THEN 'shineness
                    materials(mtl_index).shine = VAL(MID$(b$, 3, LEN(b$) - 2))
                ELSEIF LEFT$(b$, 2) = "d " THEN 'transparency
                    materials(mtl_index).trans = VAL(MID$(b$, 2, LEN(b$) - 1))
                ELSEIF LEFT$(b$, 6) = "map_Kd" THEN 'texture file name
                    img_file$ = path$ + _TRIM$(MID$(b$, 7, LEN(b$) - 6))
                    materials(mtl_index).img_tex_name = _TRIM$(MID$(b$, 7, LEN(b$) - 6))
                    dummy_img& = _LOADIMAGE(img_file$)
                    IF NOT dummy_img& < -1 THEN PRINT "ERROR : Could not load the texture - " + img_file$: END
                    materials(mtl_index).img_tex = dummy_img&
                END IF
            END IF
        WEND
        CLOSE #2
    END IF

    p(0) = 1: p(1) = 1: p(2) = 1: p(3) = 1: p(4) = 1
    'get position of first mention of material to be used
    mtl_first = INSTR(1, a$, LINE_FEED + "usemtl"): mtl_second = INSTR(mtl_first + 1, a$, LINE_FEED + "usemtl")
    mtl_id$ = _TRIM$(MID$(a$, mtl_first + 8, INSTR(mtl_first + 8, a$, LINE_FEED) - (mtl_first + 8)))
    FOR j = 0 TO UBOUND(materials)
        IF RTRIM$(materials(j).id) = mtl_id$ THEN mtl_index = j: EXIT FOR
    NEXT
    'This is the main loop of reading the file. It does all the things which is required.
    DO
        x = INSTR(p(c), a$, tag(c))
        IF x > 0 THEN
            v(c) = v(c) + 1
            IF c = 0 THEN 'store vertices
                y1 = INSTR(x + 3, a$, " ")
                y2 = INSTR(y1 + 1, a$, " ")
                y3 = INSTR(y2 + 1, a$, LINE_FEED)
                vert(v_index) = VAL(MID$(a$, x + 3, y1 - (x + 3)))
                vert(v_index + 1) = VAL(MID$(a$, y1, y2 - y1))
                vert(v_index + 2) = VAL(MID$(a$, y2, y3 - y2))
                v_index = v_index + 3
                REDIM _PRESERVE vert(UBOUND(vert) + 3) AS SINGLE
            ELSEIF c = 1 THEN 'store tex coord.
                y1 = INSTR(x + 4, a$, " ")
                y2 = INSTR(y1 + 1, a$, LINE_FEED)
                texcoord(vt_index) = VAL(MID$(a$, x + 4, y1 - (x + 4)))
                texcoord(vt_index + 1) = -VAL(MID$(a$, y1, y2 - y1))
                vt_index = vt_index + 2
                REDIM _PRESERVE texcoord(UBOUND(texcoord) + 2) AS SINGLE
            ELSEIF c = 2 THEN 'store normals
                y1 = INSTR(x + 4, a$, " ")
                y2 = INSTR(y1 + 1, a$, " ")
                y3 = INSTR(y2 + 1, a$, LINE_FEED)
                norm(vn_index) = VAL(MID$(a$, x + 4, y1 - (x + 4)))
                norm(vn_index + 1) = VAL(MID$(a$, y1, y2 - y1))
                norm(vn_index + 2) = VAL(MID$(a$, y2, y3 - y2))
                vn_index = vn_index + 3
                REDIM _PRESERVE norm(UBOUND(norm) + 3) AS SINGLE
            ELSEIF c = 3 THEN 'face part
                'check if there is new material to be used for face. If not then array length for current mesh_info() increases
                check_for_obj:
                IF x > mtl_first AND x < mtl_second OR mtl_second = 0 THEN
                    IF mesh_part(mp_index).init = 0 THEN mesh_part(mp_index).init = 1: mesh_part(mp_index).start = m_index / 8: mesh_part(mp_index).mtl = materials(mtl_index)
                    mesh_part(mp_index).length = mesh_part(mp_index).length + 3 '3 vertex in a face
                ELSE
                    mtl_first = mtl_second
                    mtl_second = INSTR(mtl_first + 1, a$, LINE_FEED + "usemtl")
                    mtl_id$ = _TRIM$(MID$(a$, mtl_first + 8, INSTR(mtl_first + 8, a$, LINE_FEED) - (mtl_first + 8)))
                    FOR j = 0 TO UBOUND(materials)
                        IF RTRIM$(materials(j).id) = mtl_id$ THEN mtl_index = j: EXIT FOR
                    NEXT
                    mp_index = mp_index + 1
                    REDIM _PRESERVE mesh_part(mp_index) AS mesh_part_info
                    GOTO check_for_obj
                END IF
                'reading of face data comes heer
                spc_1 = x + 2: spc_2 = INSTR(spc_1 + 1, a$, " ")
                y_max = INSTR(x + 1, a$, LINE_FEED)

                n = -1 'so start with 0 in while loop
                'get the each vertex info block which are sperated by space
                REDIM dat(0) AS STRING
                WHILE 1 'spc_2<y_max
                    n = n + 1
                    REDIM _PRESERVE dat(n) AS STRING
                    IF spc_2 >= y_max OR spc_2 < spc_1 THEN
                        dat(n) = MID$(a$, spc_1 + 1, y_max - (spc_1 + 1))
                        EXIT WHILE
                    ELSE
                        dat(n) = MID$(a$, spc_1 + 1, spc_2 - (spc_1 + 1))
                    END IF
                    SWAP spc_1, spc_2
                    spc_2 = INSTR(spc_1 + 1, a$, " ")
                WEND

                REDIM z_ref(n, 1) AS INTEGER
                'get ref info for v,vt,vn
                FOR i = 0 TO n
                    z_ref(i, 0) = INSTR(1, dat(i), "/")
                    z_ref(i, 1) = _INSTRREV(dat(i), "/")
                NEXT

                IF z_ref(0, 0) = 0 THEN 'only v data given
                    IF (n + 1) > 3 THEN 'polygon face given : So, subdivide the polygon in minimum no. of triangles
                        v_r1 = (VAL(dat(0)) - 1) * 3
                        FOR i = 3 TO (n + 1)
                            v_r2 = (VAL(dat(i - 2)) - 1) * 3
                            v_r3 = (VAL(dat(i - 1)) - 1) * 3
                            mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                            m_index = m_index + 8
                            mesh(m_index) = vert(v_r2): mesh(m_index + 1) = vert(v_r2 + 1): mesh(m_index + 2) = vert(v_r2 + 2)
                            m_index = m_index + 8
                            mesh(m_index) = vert(v_r3): mesh(m_index + 1) = vert(v_r3 + 1): mesh(m_index + 2) = vert(v_r3 + 2)
                            m_index = m_index + 8
                            REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                        NEXT
                        'add additional new vertices
                        mesh_part(mp_index).length = mesh_part(mp_index).length + 3 * (n - 2) '3*(X - 2) - 3 => 3*(X - 3), now here X = n+1, so, 3*(n-2)
                    ELSE 'simply a triangle face
                        FOR j = 0 TO 2
                            v_r1 = (VAL(dat(j)) - 1) * 3
                            mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                            m_index = m_index + 8
                        NEXT
                        REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                    END IF
                ELSEIF z_ref(0, 1) - z_ref(0, 0) = 1 THEN 'only v and vn data given
                    IF (n + 1) > 3 THEN
                        v_r1 = (VAL(LEFT$(dat(0), z_ref(0, 0))) - 1) * 3
                        vn_r1 = (VAL(RIGHT$(dat(0), LEN(dat(0)) - z_ref(0, 1))) - 1) * 3
                        FOR i = 3 TO (n + 1)
                            v_r2 = (VAL(LEFT$(dat(i - 2), z_ref(i - 2, 0))) - 1) * 3: vn_r2 = (VAL(RIGHT$(dat(i - 2), LEN(dat(i - 2)) - z_ref((i - 2), 1))) - 1) * 3
                            v_r3 = (VAL(LEFT$(dat(i - 1), z_ref(i - 1, 0))) - 1) * 3: vn_r3 = (VAL(RIGHT$(dat(i - 1), LEN(dat(i - 1)) - z_ref((i - 1), 1))) - 1) * 3

                            mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                            mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                            m_index = m_index + 8
                            mesh(m_index) = vert(v_r2): mesh(m_index + 1) = vert(v_r2 + 1): mesh(m_index + 2) = vert(v_r2 + 2)
                            mesh(m_index + 5) = norm(vn_r2): mesh(m_index + 6) = norm(vn_r2 + 1): mesh(m_index + 7) = norm(vn_r2 + 2)
                            m_index = m_index + 8
                            mesh(m_index) = vert(v_r3): mesh(m_index + 1) = vert(v_r3 + 1): mesh(m_index + 2) = vert(v_r3 + 2)
                            mesh(m_index + 5) = norm(vn_r3): mesh(m_index + 6) = norm(vn_r3 + 1): mesh(m_index + 7) = norm(vn_r3 + 2)
                            m_index = m_index + 8
                            REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                        NEXT
                        'add additional new vertices
                        mesh_part(mp_index).length = mesh_part(mp_index).length + 3 * (n - 2) '3*(X - 2) - 3 => 3*(X - 3), now here X = n+1, so, 3*(n-2)
                    ELSE
                        FOR j = 0 TO 2
                            v_r1 = (VAL(LEFT$(dat(j), z_ref(j, 0) - 1)) - 1) * 3: vn_r1 = (VAL(RIGHT$(dat(j), LEN(dat(j)) - z_ref(j, 1))) - 1) * 3
                            'v
                            mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                            'vn
                            mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                            m_index = m_index + 8
                        NEXT
                        REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                    END IF
                ELSE 'v, vn and vt data given
                    IF (n + 1) > 3 THEN
                        'reference for first vertex of a polygon
                        v_r1 = (VAL(LEFT$(dat(0), z_ref(0, 0))) - 1) * 3
                        vn_r1 = (VAL(RIGHT$(dat(0), LEN(dat(0)) - z_ref(0, 1))) - 1) * 3
                        vt_r1 = (VAL(MID$(dat(0), z_ref(0, 0) + 1, z_ref(0, 1) - (z_ref(0, 0) + 1))) - 1) * 2
                        FOR i = 3 TO (n + 1)
                            v_r2 = (VAL(LEFT$(dat(i - 2), z_ref(i - 2, 0))) - 1) * 3: vn_r2 = (VAL(RIGHT$(dat(i - 2), LEN(dat(i - 2)) - z_ref((i - 2), 1))) - 1) * 3: vt_r2 = (VAL(MID$(dat(i - 2), z_ref(i - 2, 0) + 1, z_ref(i - 2, 1) - (z_ref(i - 2, 0) + 1))) - 1) * 2
                            v_r3 = (VAL(LEFT$(dat(i - 1), z_ref(i - 1, 0))) - 1) * 3: vn_r3 = (VAL(RIGHT$(dat(i - 1), LEN(dat(i - 1)) - z_ref((i - 1), 1))) - 1) * 3: vt_r3 = (VAL(MID$(dat(i - 1), z_ref(i - 1, 0) + 1, z_ref(i - 1, 1) - (z_ref(i - 1, 0) + 1))) - 1) * 2
                            mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                            mesh(m_index + 3) = texcoord(vt_r1): mesh(m_index + 4) = texcoord(vt_r1 + 1)
                            mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                            m_index = m_index + 8
                            mesh(m_index) = vert(v_r2): mesh(m_index + 1) = vert(v_r2 + 1): mesh(m_index + 2) = vert(v_r2 + 2)
                            mesh(m_index + 3) = texcoord(vt_r2): mesh(m_index + 4) = texcoord(vt_r2 + 1)
                            mesh(m_index + 5) = norm(vn_r2): mesh(m_index + 6) = norm(vn_r2 + 1): mesh(m_index + 7) = norm(vn_r2 + 2)
                            m_index = m_index + 8
                            mesh(m_index) = vert(v_r3): mesh(m_index + 1) = vert(v_r3 + 1): mesh(m_index + 2) = vert(v_r3 + 2)
                            mesh(m_index + 3) = texcoord(vt_r3): mesh(m_index + 4) = texcoord(vt_r3 + 1)
                            mesh(m_index + 5) = norm(vn_r3): mesh(m_index + 6) = norm(vn_r3 + 1): mesh(m_index + 7) = norm(vn_r3 + 2)
                            m_index = m_index + 8
                            REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                        NEXT
                        mesh_part(mp_index).length = mesh_part(mp_index).length + 3 * (n - 2) '3*(X - 2) - 3 => 3*(X - 3), now here X = n+1, so, 3*(n-2)
                    ELSE
                        FOR j = 0 TO 2
                            v_r1 = (VAL(LEFT$(dat(j), z_ref(j, 0) - 1)) - 1) * 3: vn_r1 = (VAL(RIGHT$(dat(j), LEN(dat(j)) - z_ref(j, 1))) - 1) * 3: vt_r1 = (VAL(MID$(dat(j), z_ref(j, 0) + 1, z_ref(j, 1) - (z_ref(j, 0) + 1))) - 1) * 2
                            'v
                            mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                            'vt
                            mesh(m_index + 3) = texcoord(vt_r1): mesh(m_index + 4) = texcoord(vt_r1 + 1)
                            'vn
                            mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                            m_index = m_index + 8
                        NEXT
                        REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                    END IF
                END IF

                ERASE dat, z_ref
            END IF
            p(c) = x + 1
        ELSE
            IF c = 4 THEN EXIT DO ELSE c = c + 1
        END IF
        x = 0
    LOOP

    mdl_info.num_of_vertices = v(0)
    mdl_info.num_of_tex_coords = v(1)
    mdl_info.num_of_normals = v(2)
    mdl_info.num_of_objects = v(4)
    mdl_info.num_of_faces = v(3)
    mdl_info.num_of_materials = UBOUND(materials) + 1
    mdl_info.materialPresent = materialPresent
    mdl_info.mode = 1
    ERASE vert, norm, texcoord 'not require now. So save memory whenever possible.
    a$ = ""
END SUB

'################# Internal Functions ##################################

FUNCTION feedGLTexture& (img AS LONG)
    IF img < -1 THEN
        DIM m AS _MEM
        m = _MEMIMAGE(img)

        _glGenTextures 1, _OFFSET(feedGLTexture&)
        _glBindTexture _GL_TEXTURE_2D, feedGLTexture&

        _glTexImage2D _GL_TEXTURE_2D, 0, _GL_RGBA, _WIDTH(img&), _HEIGHT(img&), 0, _GL_BGRA_EXT, _GL_UNSIGNED_BYTE, m.OFFSET

        _MEMFREE m
        _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MAG_FILTER, _GL_LINEAR
        _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MIN_FILTER, _GL_NEAREST

    ELSE
        PRINT "FUNCTION feedGlTexture&() : invalid image handle passed"
    END IF
END FUNCTION

SUB selectTexture (tex&)
    _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MAG_FILTER, _GL_LINEAR
    _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MIN_FILTER, _GL_LINEAR
    _glBindTexture _GL_TEXTURE_2D, tex&
END SUB

FUNCTION glVec4%& (x, y, z, w)
    STATIC internal_vec4(3)
    internal_vec4(0) = x
    internal_vec4(1) = y
    internal_vec4(2) = z
    internal_vec4(3) = w
    glVec4%& = _OFFSET(internal_vec4())
END FUNCTION
'>>>>>>>>>>> OBJ_LOADER_LIB.BAS CONTENT END >>>>>>>>>>>>>>>>>>>>>>>>>>>

'============================================================
'=== This file was created with MakeDATA.bas by RhoSigma, ===
'=== you must $INCLUDE this at the end of your program.   ===
'============================================================

'=====================================================================
'Function to write the embedded DATAs back to disk. Call this FUNCTION
'once, before you will access the represented file for the first time.
'After the call always use the returned realFile$ ONLY to access the
'written file, as the filename was maybe altered in order to avoid the
'overwriting of an existing file of the same name in the given location.
'---------------------------------------------------------------------
'SYNTAX: realFile$ = Writetree.basData$ (wantFile$)
'
'INPUTS: wantFile$ --> The filename you would like to write the DATAs
'                      to, can contain a full or relative path.
'
'RESULT: realFile$ --> On success the path and filename finally used
'                      after applied checks, use ONLY this returned
'                      name to access the file.
'                   -> On failure this FUNCTION will panic with the
'                      appropriate ERROR code, you may handle this as
'                      needed with your own ON ERROR GOTO... handler.
'=====================================================================
FUNCTION Writetree.basData$ (file$)
    '--- separate filename body & extension ---
    FOR po% = LEN(file$) TO 1 STEP -1
        IF MID$(file$, po%, 1) = "." THEN
            body$ = LEFT$(file$, po% - 1)
            ext$ = MID$(file$, po%)
            EXIT FOR
        ELSEIF MID$(file$, po%, 1) = "\" OR MID$(file$, po%, 1) = "/" OR po% = 1 THEN
            body$ = file$
            ext$ = ""
            EXIT FOR
        END IF
    NEXT po%
    '--- avoid overwriting of existing files ---
    num% = 1
    WHILE _FILEEXISTS(file$)
        file$ = body$ + "(" + LTRIM$(STR$(num%)) + ")" + ext$
        num% = num% + 1
    WEND
    '--- write DATAs ---
    ff% = FREEFILE
    OPEN file$ FOR OUTPUT AS ff%
    RESTORE tree.bas
    READ numL&, numB&
    FOR i& = 1 TO numL&
        READ dat&
        PRINT #ff%, MKL$(dat&);
    NEXT i&
    IF numB& > 0 THEN
        FOR i& = 1 TO numB&
            READ dat&
            PRINT #ff%, CHR$(dat&);
        NEXT i&
    END IF
    CLOSE ff%
    '--- set result ---
    Writetree.basData$ = file$
    EXIT FUNCTION

    '--- DATAs representing the contents of file tree.binobj
    '---------------------------------------------------------------------
    tree.bas:
    DATA 2056,7
    DATA &H0000002F,&H00000026,&H00000000,&H00000005,&H00000025,&H00000002,&H03000101,&H00000000
    DATA &H2A000000,&H01000000,&H614D0001,&H69726574,&H302E6C61,&H20203130,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H00002020,&H00003F80,&H00003F80,&H2B563F80,&H8B593E33,&H00003F07
    DATA &H00000000,&H999A0000,&H00003F19,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H28280000,&H000042C0,&H00003F80,&H7E020000,&H000040A9,&H00000000,&H0000002A,&H0000002A
    DATA &H4D000101,&H72657461,&H2E6C6169,&H20313030,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H00202020,&H003F8000,&H003F8000,&H563F8000,&H593E332B,&H003F078B,&H00000000,&H9A000000
    DATA &H003F1999,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H28000000,&H0042C028
    DATA &H003F8000,&HD5000000,&H00408258,&H00000000,&H00005400,&H00002A00,&H00010100,&H6574614D
    DATA &H6C616972,&H3130302E,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H3F800000
    DATA &H3F800000,&H3F800000,&H3E332B56,&H3F078B59,&H00000000,&H00000000,&H3F19999A,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H42C02828,&H3F800000,&H00000000
    DATA &H402F8672,&H00000000,&H007E0000,&H00540000,&H01010000,&H74614D00,&H61697265,&H30302E6C
    DATA &H20202032,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
    DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H80000020,&H8000003F,&H8000003F
    DATA &H3A09033F,&HB0CDC83F,&H1DBCA93E,&H0000003D,&H0000003F,&H0000003F,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&HC0282800,&H80000042,&H0000003F,&H00000000,&H00000000
    DATA &HA7000000,&H66000006,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H95BEB1DE,&H36BF2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H95BF56B5,&H363F2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H95BF56B5,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H003EB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H663EB1DE,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H003EB1DE,&H36000000,&H66408A78,&H003F782E,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H003F56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H953F56B5,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H953F56B5,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H003F56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H003F56B5,&H36000000,&H66408A78,&H003F782E,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H663F56B5,&H363F782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H003EB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H953EB1DE,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H953EB1DE,&H36BF2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H95BF56B5,&H363F2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H66BEB1DE,&H363F782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H95000000,&H363F2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H66000000,&H363F782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H66000000,&H363F782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H95000000,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H95000000,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H003F782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H003F782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H95000000,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H95000000,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H66000000,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H66000000,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H95000000,&H36BF2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H05000000,&H29BFC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H75BEB1DE,&H29BF8A1D,&H75402308,&H00BF8A1D,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&H29000000,&H05402308,&H00BFC353,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H75BF56B5,&H293F8A1D,&H75402308,&H00BF8A1D,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H75BF56B5,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H003EB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H053EB1DE,&H29BFC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H003EB1DE,&H29000000,&H05402308,&H003FC353,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H003F56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H753F56B5,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H753F56B5,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H003F56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H003F56B5,&H29000000,&H05402308,&H003FC353,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H053F56B5,&H293FC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H003EB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H753EB1DE,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H753EB1DE,&H29BF8A1D,&H75402308,&H00BF8A1D,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&H29000000,&H05402308,&H00BFC353,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H75BF56B5,&H293F8A1D,&H75402308,&H00BF8A1D,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H05BEB1DE,&H293FC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H75000000,&H293F8A1D,&H75402308,&H00BF8A1D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H05000000,&H293FC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H05000000,&H293FC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H75000000,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H75000000,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H003FC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H003FC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H75000000,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H75000000,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H05000000,&H29BFC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H05000000,&H29BFC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H75000000,&H29BF8A1D,&H75402308,&H00BF8A1D,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H38000000,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H5EBEB1DE,&HEBBFBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H5EBF56B5,&HEB3FBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H5EBF56B5,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H003EB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H383EB1DE,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H99BF56B5
    DATA &H6A3ED6BB,&H003EB1DE,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H003F56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H5E3F56B5,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H5E3F56B5,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H003F56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H003F56B5,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H6A000000,&H993EB1DE
    DATA &H0B3ED6BB,&H383F56B5,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H003EB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H5E3EB1DE,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H5E3EB1DE,&HEBBFBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H00BF56B5,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H6A000000,&H99BEB1DE
    DATA &H0B3ED6BB,&H5EBF56B5,&HEB3FBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H38BEB1DE,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H993F56B5
    DATA &H6A3ED6BB,&H00BEB1DE,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H5E000000,&HEB3FBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H38000000,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H38000000,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H5E000000,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H5E000000,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H5E000000,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H5E000000,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H38000000,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H38000000,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H5E000000,&HEBBFBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&H00BF6C84,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&H00BF6C84,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&HBDBEC3F1,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&H3DBEC3F1,&H003F2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&HBDBEC3F1,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&H3DBEC3F1,&H003F2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&H3DBEC3F1,&H003F2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&H3DBEC3F1,&H003F2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&H3D3EC3F1,&H003F2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&H3D3EC3F1,&H003F2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&HB6000000,&H003F6C84
    DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&HBD3F6C84,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&H003F6C84,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&HBD3F6C84,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&H003F6C84,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&H003F6C84,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H41000000,&H003EC3F1
    DATA &HB6000000,&H003F6C84,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&H003F6C84,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&H003F6C84,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&HBD3EC3F1,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&H3D3EC3F1,&H00BF2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&HBD3EC3F1,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&H3D3EC3F1,&H00BF2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&H3D3EC3F1,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&H00000000,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&H3D000000,&H00BF2161,&H003F8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&H3D000000,&H00BF2161,&H003F8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&H00000000,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&H00000000,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&H3D000000,&H003F2161,&H003F8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H003F8000,&HBD000000,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&HBDBF6C84,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&H00BF6C84,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&HBDBF6C84,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&H00BF6C84,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&H00BF6C84,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H41000000,&H00BEC3F1
    DATA &HB6000000,&H3DBF6C84,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&H3DBEC3F1,&H00BF2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&HBDBEC3F1,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&H3DBEC3F1,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&HBDBEC3F1,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&HBDBEC3F1,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&HB6000000,&H00BF6C84
    DATA &H41000000,&H00BEC3F1,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&HBD000000,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H3D000000,&H003F2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H3D000000,&H003F2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&HBD000000,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&HBD000000,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&HBD000000,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&HBD000000,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H3D000000,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H3D000000,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&HBD000000,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&H00000000,&H00000000
    DATA &H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00
END FUNCTION

PS: All the programs in this thread were amazing... I enjoyed each of them!



 
Screenshot_1.png
« Last Edit: December 23, 2020, 01:30:20 pm by Ashish »
if (Me.success) {Me.improve()} else {Me.tryAgain()}


My Projects - https://github.com/AshishKingdom?tab=repositories
OpenGL tutorials - https://ashishkingdom.github.io/OpenGL-Tutorials

Offline johnno56

  • Forum Resident
  • Posts: 1270
  • Live long and prosper.
    • View Profile
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #112 on: December 23, 2020, 04:58:45 pm »
Very nicely done!
Logic is the beginning of wisdom.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #113 on: December 23, 2020, 05:30:58 pm »
Another gift from the GL master! Nice one @Ashish :)

You know I was kinda expecting something like this from Fellippe:
Code: QB64: [Select]
  1. OPTION _EXPLICIT ' bplus mod of Fellippe's Pendula 2020-12-23
  2.  
  3. SCREEN _NEWIMAGE(1000, 600, 32)
  4. _DELAY .25
  5.  
  6. CONST maxPendulum = 15
  7. f& = _LOADFONT("Arial.ttf", 20, "MONOSPACE")
  8. DIM theta(maxPendulum), accel(maxPendulum), speed(maxPendulum)
  9. DIM length(maxPendulum), mass(maxPendulum)
  10. DIM px, py, bx, by, rr, btx, bty, btx2, bty2
  11.  
  12. DIM a, x1, y1, x2, y2, x3, y3, x4, y4 'try one more time for ornament tops
  13.  
  14. g = 9.81
  15. FOR i = 0 TO maxPendulum
  16.     theta(i) = _PI / 1.5
  17.     speed(i) = 0
  18.     length(i) = 100 + i * 30
  19.     mass(i) = 1 - i * .01
  20.  
  21. px = _WIDTH / 2
  22. py = -5
  23.  
  24. _TITLE "Pendula by FellippeHeitor with alittle mod by bplus"
  25. COLOR , &H000000
  26.     CLS
  27.     FOR i = maxPendulum TO 1 STEP -1 'reverse som lines aren't drawn over previous ones
  28.         accel(i) = mass(i) * g * SIN(theta(i)) / 100
  29.         speed(i) = speed(i) + accel(i) / 100
  30.         theta(i) = theta(i) + speed(i)
  31.         bx = px + length(i) * SIN(theta(i))
  32.         btx = px + (length(i) - 30) * SIN(theta(i))
  33.         btx2 = px + (length(i) - 32) * SIN(theta(i))
  34.         by = py - length(i) * COS(theta(i))
  35.         bty = py - (length(i) - 30) * COS(theta(i))
  36.         bty2 = py - (length(i) - 32) * COS(theta(i))
  37.         LINE (px, py)-(bx, by), &HAAFF8800
  38.         FOR rr = 25 TO 0 STEP -.25
  39.             IF i MOD 2 THEN CIRCLE (bx, by), rr, _RGB32(255 - rr * 7, 0, 0) ELSE CIRCLE (bx, by), rr, _RGB32(0, 255 - rr * 7, 0)
  40.         NEXT
  41.         CIRCLE (btx2, bty2), 3, &HFFFF8800
  42.         a = _ATAN2(py - by, px - bx) - _PI / 2
  43.         x1 = btx + 5 * COS(a): y1 = bty + 5 * SIN(a)
  44.         x2 = btx + 5 * COS(a + _PI): y2 = bty + 5 * SIN(a + _PI)
  45.         x3 = x1 + 7 * COS(a - _PI / 2): y3 = y1 + 7 * SIN(a - _PI / 2)
  46.         x4 = x2 + 7 * COS(a - _PI + _PI / 2): y4 = y2 + 7 * SIN(a - _PI + _PI / 2)
  47.         IF i MOD 2 THEN
  48.             ftri x1, y1, x2, y2, x3, y3, &HFF660000
  49.             ftri x3, y3, x4, y4, x2, y2, &HFF660000
  50.         ELSE
  51.             ftri x1, y1, x2, y2, x3, y3, &HFF007700
  52.             ftri x3, y3, x4, y4, x2, y2, &HFF007700
  53.         END IF
  54.         _PRINTSTRING (bx - 5, by - 9), MID$("Merry Christmas", i, 1)
  55.     NEXT
  56.     _DISPLAY
  57.     _LIMIT 60
  58.  
  59.  
  60. SUB ftri (x1, y1, x2, y2, x3, y3, K AS _UNSIGNED LONG)
  61.     DIM D AS LONG
  62.     STATIC a&
  63.     D = _DEST
  64.     IF a& = 0 THEN a& = _NEWIMAGE(1, 1, 32)
  65.     _DEST a&
  66.     _DONTBLEND a& '  '<<<< new 2019-12-16 fix
  67.     PSET (0, 0), K
  68.     _BLEND a& '<<<< new 2019-12-16 fix
  69.     _DEST D
  70.     _MAPTRIANGLE _SEAMLESS(0, 0)-(0, 0)-(0, 0), a& TO(x1, y1)-(x2, y2)-(x3, y3)
  71.  
  72.  

;-))

I confess being stymied trying to give the pendula little ornament like tops, the trig system used here is backwards from everything I've ever done in Basic. I will try one more time because I think I was going wrong trying to use this system, stick to what I know and all that... :)

BTW I posted a translation of this at JB and was informed that mass should not be needed but might compensate for some other thing... I think STx said similar. But got Wows, anyway. So Cheers @FellippeHeitor :)

Update: Yeah! Got it fixed to how I wanted it, using regular trig system. Reposted code above 7:55 PM my time.
« Last Edit: December 23, 2020, 07:58:23 pm by bplus »

FellippeHeitor

  • Guest
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #114 on: December 23, 2020, 05:43:50 pm »
Lol, I had a hard time remembering what pendulum code you were talking about until I ran it. Great mod!

FellippeHeitor

  • Guest
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #115 on: December 23, 2020, 07:40:27 pm »
Thanks to everyone who submitted their code! Here's our annual Holiday Season Code Sampler video:


Offline Petr

  • Forum Resident
  • Posts: 1720
  • The best code is the DNA of the hops.
    • View Profile
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #116 on: December 24, 2020, 05:05:13 am »
Nicely done, Fellippe. Merry Christmas!

Offline Dimster

  • Forum Resident
  • Posts: 500
    • View Profile
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #117 on: December 24, 2020, 08:10:41 am »
What a beautiful Christmas butterfly you QB64 coders have created. Thanks for same. Hope you all get a good poke in the arm in the New Year and have a Merry Christmas.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #118 on: December 24, 2020, 11:13:49 am »
Well I think it's way too short, most samplers let you at least taste the candy, not just smell it ;-))

But I blame Dav, his music track ran too short! Poor Fellippe had to jam everything into 2 minutes of sound track and a good job at that.

Next year I suggest a whole album from Dav so Fellippe can make a movie ;-))


FellippeHeitor

  • Guest
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #119 on: December 24, 2020, 11:25:04 am »
I did have to extend the original track though... Can you spot the patch?

Dav, don't spill it 😂