Advertisement
Guest User

Untitled

a guest
Mar 6th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 2.03 KB | None | 0 0
  1. package;
  2. import openfl.Assets;
  3. import openfl.display.Sprite;
  4. import openfl.Lib;
  5. import openfl.display.BitmapData;
  6. import openfl.display.PNGEncoderOptions;
  7. import openfl.geom.Rectangle;
  8. import openfl.utils.ByteArray;
  9. import sys.io.File;
  10. import sys.io.FileOutput;
  11. import sys.FileSystem;
  12. class Main extends Sprite
  13. {
  14.     var NTSCBitmap:BitmapData = Assets.getBitmapData("img/atari.png");
  15.     var intToHex:Array<String> = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
  16.     static inline var step:Int = 16;
  17.     public function new()
  18.     {
  19.         super();
  20.         if (!FileSystem.exists("output")) FileSystem.createDirectory("output");
  21.         else {
  22.             FileSystem.deleteDirectory("output");
  23.             FileSystem.createDirectory("output");
  24.         }
  25.         var  lumpstr:String = "";
  26.         var noise:BitmapData = Assets.getBitmapData("img/noise.png");
  27.         for (a in 0...16) {
  28.             for (b in 0...16) {
  29.                 var hex = NTSCBitmap.getPixel(a * 37, b * 27);
  30.                 var bitmap_gen:BitmapData = new BitmapData(64, 64, false, hex);
  31.                 bitmap_gen.draw(noise);
  32.                 var swatchname = intToHex[a] + intToHex[b];
  33.                 var pathname = "output/" + swatchname + ".png";
  34.                 var png_out:FileOutput = File.write(pathname);
  35.                 var bytes:ByteArray = bitmap_gen.encode(new Rectangle(0, 0, 64, 64), new PNGEncoderOptions());
  36.                 png_out.writeBytes(bytes, 0, bytes.length);
  37.                 png_out.close();
  38.                 lumpstr += 'texture $swatchname' + '64A, 64, 64\r\n';
  39.                 lumpstr += '{\r\n';
  40.                 lumpstr += '\tpatch $swatchname, 0, 0\r\n';
  41.                 lumpstr += '}\r\n';
  42.                 lumpstr += 'texture $swatchname' +'64B, 64, 64\r\n';
  43.                 lumpstr += '{\r\n';
  44.                 lumpstr += '\tpatch $swatchname, 0, 0\r\n';
  45.                 lumpstr += '\tpatch DIVBLK64, 0, 0\r\n';
  46.                 lumpstr += '}\r\n';
  47.                 lumpstr += 'texture $swatchname' + '64C, 64, 64\r\n';
  48.                 lumpstr += '{\r\n';
  49.                 lumpstr += '\tpatch $swatchname, 0, 0\r\n';
  50.                 lumpstr += '\tpatch DIVWHT64, 0, 0\r\n';
  51.                 lumpstr += '}\r\n';
  52.             }
  53.         }
  54.         var lumpout:FileOutput = File.write("output/TEXTURES.geometry");
  55.         lumpout.writeString(lumpstr);
  56.         lumpout.close();
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement