diff --git a/bin/raptor-rust b/bin/raptor-rust index 26c2f1b5..09c01819 100755 Binary files a/bin/raptor-rust and b/bin/raptor-rust differ diff --git a/data/hd/hd.json b/data/hd/hd.json index 1f0c8882..8f1673f9 100644 --- a/data/hd/hd.json +++ b/data/hd/hd.json @@ -4157,6 +4157,2277 @@ ] } ] + }, + { + "name": "SHIP16G1_PIC faithful HD candidate", + "base_asset": 66318, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-1030e-1030e/generated/remaster-v1.png", + "logical_width": 104, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "3503c09a14354076bed71af87c86fddf82d7b8e9cc8b99cf7eba9f9a30da3dac", + "crop": [ + 6, + 4, + 1495, + 1035 + ] + } + ] + }, + { + "name": "SHIP22G1_PIC", + "base_asset": 66329, + "frame_count": 6, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-10319-1031e/generated/atlas-raw.png", + "logical_width": 96, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "586b45fed917c0a70b71144bb79ca7db1f889166ddcd82e8cb4f35a7ec14f97f", + "crop": [ + 0, + 0, + 592, + 444 + ] + }, + { + "frame": 1, + "file": "jobs/bosses-10319-1031e/generated/atlas-raw.png", + "logical_width": 96, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "586b45fed917c0a70b71144bb79ca7db1f889166ddcd82e8cb4f35a7ec14f97f", + "crop": [ + 0, + 0, + 592, + 444 + ] + }, + { + "frame": 2, + "file": "jobs/bosses-10319-1031e/generated/atlas-raw.png", + "logical_width": 96, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "1466fe4fea19599b60d2ace21422bab7a242c285d2a1d81a11ef91a5af09f287", + "crop": [ + 1182, + 0, + 592, + 444 + ] + }, + { + "frame": 3, + "file": "jobs/bosses-10319-1031e/generated/atlas-raw.png", + "logical_width": 96, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "9118b9cc4992c6c7518f22faecf7a7dfecabac99f110b7ca22a1390072b4158d", + "crop": [ + 0, + 443, + 592, + 444 + ] + }, + { + "frame": 4, + "file": "jobs/bosses-10319-1031e/generated/atlas-raw.png", + "logical_width": 96, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "bb71bba4cae77d5a6ab69a1713e6da970588f7eae28e7999d55a7dcab19407d0", + "crop": [ + 591, + 443, + 592, + 444 + ] + }, + { + "frame": 5, + "file": "jobs/bosses-10319-1031e/generated/atlas-raw.png", + "logical_width": 96, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "a86f84e54dc57bc1cac2400cdd7b256096cf3f4a03c81c59185d051b4046c502", + "crop": [ + 1182, + 443, + 592, + 444 + ] + } + ] + }, + { + "name": "SHIP10G2_PIC", + "base_asset": 131233, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-200a1-200a1/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 40, + "origin": [ + 0, + 0 + ], + "source_sha256": "c31490edab8f1843238c487e3781a33f30166c853125347f8eb5900a5ce247bd", + "crop": [ + 1, + 1, + 1584, + 990 + ] + } + ] + }, + { + "name": "SHIP16G2_PIC", + "base_asset": 131240, + "frame_count": 4, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-200a8-200ab/generated/remaster-v1.png", + "logical_width": 104, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "aa2eca93e44ca7ad30bae984133e4b4950a0d5e019695a184c32be07670a4d77", + "crop": [ + 13, + 8, + 741, + 513 + ] + }, + { + "frame": 1, + "file": "jobs/bosses-200a8-200ab/generated/remaster-v1.png", + "logical_width": 104, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "e4c227aab41a090f7d3b04a36c3b8439984936fc91033548c977b849b63eb5eb", + "crop": [ + 754, + 8, + 741, + 513 + ] + }, + { + "frame": 2, + "file": "jobs/bosses-200a8-200ab/generated/remaster-v1.png", + "logical_width": 104, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "352fddd3a9b6d129f136f3fb8f65aaeba6375669b660707d315151a6b4b73d18", + "crop": [ + 13, + 521, + 741, + 513 + ] + }, + { + "frame": 3, + "file": "jobs/bosses-200a8-200ab/generated/remaster-v1.png", + "logical_width": 104, + "logical_height": 72, + "origin": [ + 0, + 0 + ], + "source_sha256": "0b4e4ba3ad6e61e5254a6bcde71cb457712368fd849736150d2cdec363215bfe", + "crop": [ + 754, + 521, + 741, + 513 + ] + } + ] + }, + { + "name": "SHIP17G2_PIC", + "base_asset": 131244, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-200ac-200ac/generated/remaster-v1.png", + "logical_width": 80, + "logical_height": 56, + "origin": [ + 0, + 0 + ], + "source_sha256": "bc9904d02a5608b0ea4ec5f8034f5463d277abda4d204d18438b8561b61fc38f", + "crop": [ + 5, + 3, + 1490, + 1043 + ] + } + ] + }, + { + "name": "SHIP18G2_PIC", + "base_asset": 131245, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-200ad-200ad/generated/sprite-raw.png", + "logical_width": 80, + "logical_height": 56, + "origin": [ + 0, + 0 + ], + "source_sha256": "3e53d28745f429814b00f00eed6dd542317000e40004fc0367f2072e19d16b93", + "crop": [ + 5, + 0, + 1490, + 1043 + ] + } + ] + }, + { + "name": "SHIP21G2_PIC", + "base_asset": 131278, + "frame_count": 6, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-200ce-200d3/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 96, + "origin": [ + 0, + 0 + ], + "source_sha256": "5ccbb6f6082afa7234eee1b593fc58cd62c79b776acdf2835e412124c2d2dac7", + "crop": [ + 0, + 0, + 512, + 512 + ] + }, + { + "frame": 1, + "file": "jobs/bosses-200ce-200d3/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 96, + "origin": [ + 0, + 0 + ], + "source_sha256": "76d6ebb5357601c37f208dfc296cc2ff2aa9d60e3797276fcfcc47a6614fc7e6", + "crop": [ + 512, + 0, + 512, + 512 + ] + }, + { + "frame": 2, + "file": "jobs/bosses-200ce-200d3/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 96, + "origin": [ + 0, + 0 + ], + "source_sha256": "cc9c945e5dcf4a1a8c5310788dba75226f872786116a998e0087dc3e7cc80461", + "crop": [ + 1024, + 0, + 512, + 512 + ] + }, + { + "frame": 3, + "file": "jobs/bosses-200ce-200d3/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 96, + "origin": [ + 0, + 0 + ], + "source_sha256": "fec75eba385251412053a5f6e5c7ba2e51a4837805bda169c17ace96d2504cff", + "crop": [ + 0, + 512, + 512, + 512 + ] + }, + { + "frame": 4, + "file": "jobs/bosses-200ce-200d3/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 96, + "origin": [ + 0, + 0 + ], + "source_sha256": "a361e5170ee4263bdef12c8d49c7e0bc258efea15de81c835fc60d4c1b405b2e", + "crop": [ + 512, + 512, + 512, + 512 + ] + }, + { + "frame": 5, + "file": "jobs/bosses-200ce-200d3/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 96, + "origin": [ + 0, + 0 + ], + "source_sha256": "0ff1fb2697c6f3247693750c55fc788994fbf64853816d44bdd5882cb57b0067", + "crop": [ + 1024, + 512, + 512, + 512 + ] + } + ] + }, + { + "name": "SHIP34G2_PIC", + "base_asset": 131307, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-200eb-200eb/generated/remaster-v1.png", + "logical_width": 80, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "053d52128efb2d5cf28f0029cce2498a7d370f77437594408e113fc312e0763d", + "crop": [ + 1, + 1, + 1400, + 1120 + ] + } + ] + }, + { + "name": "DUOBOSS_PIC", + "base_asset": 131332, + "frame_count": 8, + "frames": [ + { + "frame": 0, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "93abab117436b6e3d3d62e597c748fba3314944d0c109c474f3714a2ba868bd0", + "crop": [ + 1, + 0, + 443, + 443 + ] + }, + { + "frame": 1, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "c139daf9534ced573d0ae9aeb687f4972f4fb3640e18544517555af92075c7da", + "crop": [ + 444, + 0, + 443, + 443 + ] + }, + { + "frame": 2, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "1f5d6f21092d94dbdc81a5a3bce1ea8458eab77b143617bf4bcc3000517594f1", + "crop": [ + 887, + 0, + 443, + 443 + ] + }, + { + "frame": 3, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "5cdaf22ce6040c2e9b369c771ef3476ed9786357a037ba44ad629db0e7ff19ee", + "crop": [ + 1330, + 0, + 443, + 443 + ] + }, + { + "frame": 4, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "26d6dc2e39fb8280273270ba75b617c2569709433d79d292a07d1dee35cfba29", + "crop": [ + 1, + 443, + 443, + 443 + ] + }, + { + "frame": 5, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "d4af2b9f12f8c5680c79296714af99bdf3d09e00ad0b912381519556e21f81b4", + "crop": [ + 444, + 443, + 443, + 443 + ] + }, + { + "frame": 6, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "dc745ced95a352ccd2c9f350fa3cac39facf7c2cf562e88cd7c5612ae4f35cf4", + "crop": [ + 887, + 443, + 443, + 443 + ] + }, + { + "frame": 7, + "file": "jobs/bosses-20104-2010b/generated/remaster-v1.png", + "logical_width": 64, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "175455f4ba06003bc0b806e190c0155ff6d536639f2a50f0e263413876173cfa", + "crop": [ + 1330, + 443, + 443, + 443 + ] + } + ] + }, + { + "name": "Terrain 2010d", + "base_asset": 131341, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "7a3964769d62b7918a2e3eb9f8cd6b44e4360a9920ac73e9a540ffb7526412b6", + "crop": [ + 0, + 0, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 2010e", + "base_asset": 131342, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "da4e2d5cdf34024d6d77d90258bd7e85e40bc08193fb4750a294e354fd2e0a8d", + "crop": [ + 314, + 0, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 2010f", + "base_asset": 131343, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "4ffc889655f7ba7517349c77931f2e6bc1856495e64a86eb40a4b136149a58db", + "crop": [ + 627, + 0, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20110", + "base_asset": 131344, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "b51f49c8704a9a13938bc074a98bb990871e85a63b90ce5e68876be83a0cca1c", + "crop": [ + 941, + 0, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20111", + "base_asset": 131345, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/20111-v2.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "272f9e463a0198bfed6db602342d8ed09a4aeba29fbb408a55bda84549b9d9e3" + } + ] + }, + { + "name": "Terrain 20112", + "base_asset": 131346, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "b3d80d3a593dc7343b37a76f693d8ef94e69c756e6e8eae8f34d8b820362c91a", + "crop": [ + 314, + 314, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20113", + "base_asset": 131347, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "cb6773ddd55f60556763868f8db12d9e47fc881ee86a1cccfac153b5ed8ea645", + "crop": [ + 627, + 314, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20114", + "base_asset": 131348, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "a328a51ac493a3c8d714a11e75852827856913cfddbe7254ccd2b3f6b5ec339f", + "crop": [ + 941, + 314, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20115", + "base_asset": 131349, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "645deafa49304fb518b845798209235c9ab565b93cbc2625cf72aa927bf2d26d", + "crop": [ + 0, + 627, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20116", + "base_asset": 131350, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "4d7441444237f4fa8c4f0906e4587b72894350a59975207db959a578b392bc90", + "crop": [ + 314, + 627, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20117", + "base_asset": 131351, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "7d46e0c20ac85d476eeabde06241e7bbd035a415719883932c814c023d3dc8cb", + "crop": [ + 627, + 627, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20118", + "base_asset": 131352, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "f8625877eff4db2d392f4316c5218a2ba9859019733b2e420d8f7244e856f7a5", + "crop": [ + 941, + 627, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 20119", + "base_asset": 131353, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "17b91da29095b56ec84b3af40a26879e8bea27e8d73900d24634cc8b5e0cdc3b", + "crop": [ + 0, + 941, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 2011a", + "base_asset": 131354, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "e023fd91997224b40cfb7cfe65a7250c1d2380c53aeeea16ba55b1be9a8e9bbe", + "crop": [ + 314, + 941, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 2011b", + "base_asset": 131355, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "a5356fad7083aac58d7411e0eda515373fe22aa96bddaeb1c84cd93c745a2501", + "crop": [ + 627, + 941, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain 2011c", + "base_asset": 131356, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-2010d-2011c/generated/atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "00c26b210e1163d424cd4aaeeba283fa471062396209e9ed00a1a6946cc0f577", + "crop": [ + 941, + 941, + 313, + 313 + ] + } + ] + }, + { + "name": "Terrain set3 intact industrial roof shard1", + "base_asset": 196845, + "frame_count": 16, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 0, + 0, + 313, + 313 + ], + "source_sha256": "63fd3cafeeaa014039d043dd8dd844d988f1fe34cdfb4cafef9b4eba4b15f6e8" + }, + { + "frame": 1, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 314, + 0, + 313, + 313 + ], + "source_sha256": "487cb9110dc81d44282e914afda53411f7cc20cb4a4d90eb3c5a5fe4588895c2" + }, + { + "frame": 2, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 627, + 0, + 313, + 313 + ], + "source_sha256": "be6d4b56a8f77c4037fcd02c06763551b9745c14cb6759feca94333399b20591" + }, + { + "frame": 3, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 940, + 0, + 313, + 313 + ], + "source_sha256": "649565bf5addf4b213780e57e59d68c136a1042d4a3cf807b0dee16262aa030d" + }, + { + "frame": 4, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 0, + 314, + 313, + 313 + ], + "source_sha256": "55272916eb4f76e5fc2aa70d8774391edc536960b3b39bb203a0bb767f5a4a29" + }, + { + "frame": 5, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 314, + 314, + 313, + 313 + ], + "source_sha256": "0a20ef07a4a2e4a5b3f0d3f0b816df0548486aa04c75fd2440d9be32261b1dd0" + }, + { + "frame": 6, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 627, + 314, + 313, + 313 + ], + "source_sha256": "7b4aae9aa49e301f5b9794fa5527a31831af79a5faca868cd4fb74ef35f6b5e1" + }, + { + "frame": 7, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 940, + 314, + 313, + 313 + ], + "source_sha256": "5b793b8c8e580416d401481f75bd5bd1ee78b8ac28c7a2327f1090e3f9c5298d" + }, + { + "frame": 8, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 0, + 627, + 313, + 313 + ], + "source_sha256": "1bf0e12fa551a220d5de9a83aac9f92c3527463e4f1db80cae435e23867734f9" + }, + { + "frame": 9, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 314, + 627, + 313, + 313 + ], + "source_sha256": "e1b4c0e47e8ff0ace342323bb8d84ba6edf2354232083f13ded64a98f3406f14" + }, + { + "frame": 10, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 627, + 627, + 313, + 313 + ], + "source_sha256": "b8e740c62941c00bca4ea69220f288d9f62dd0aba00795572e35b4a85f54d63e" + }, + { + "frame": 11, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 940, + 627, + 313, + 313 + ], + "source_sha256": "f7d4cca9819a8ac1897670249fbcc6697b95b548c8989e0d867c63df7039bf95" + }, + { + "frame": 12, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 0, + 940, + 313, + 313 + ], + "source_sha256": "beea6c2e2475ffd6e7902add51eda015c3b9fa2fbd61d4401866733b4589419b" + }, + { + "frame": 13, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 314, + 940, + 313, + 313 + ], + "source_sha256": "21cb89cafccbc3d2f687d4e0294d0091d527813956de040bf9041aabd78c88e0" + }, + { + "frame": 14, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 627, + 940, + 313, + 313 + ], + "source_sha256": "6a33e14e592045bd1af33f913de4b0f3cefc8d7fccfd1ddf24ed59b3f0a95b31" + }, + { + "frame": 15, + "file": "jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "crop": [ + 940, + 940, + 313, + 313 + ], + "source_sha256": "2ce9aa7e2e9893aaeb88acd19c29ba40ecc24a25ffc1e6673ccd6c698afe4824" + } + ] + }, + { + "base_asset": 196861, + "frame_count": 16, + "frames": [ + { + "frame": 0, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "ebe3c6f7cccaa52e3b4b8b1e1283e7719bb2903f408f5720059a6e8762a3cc0a", + "crop": [ + 0, + 0, + 313, + 313 + ] + }, + { + "frame": 1, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "00349dccebd29f35677052bb12089bd2082ae39b110b4fe93a92256ea9016f3e", + "crop": [ + 314, + 0, + 313, + 313 + ] + }, + { + "frame": 2, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "6ca6694adda8376399ddad641da0d70abd509d051bdcfe88a6e6cad1ce1e3b14", + "crop": [ + 627, + 0, + 313, + 313 + ] + }, + { + "frame": 3, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "94652fce59adfc1f5b989e5c6aa49365202eb873f77835da79a92dbdbfe56bdb", + "crop": [ + 940, + 0, + 313, + 313 + ] + }, + { + "frame": 4, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "2823b70443669def918643ebce5d99784902f9599fe25c765533e36bdd854910", + "crop": [ + 0, + 314, + 313, + 313 + ] + }, + { + "frame": 5, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "67ef49915bd7fff7557e7171793012d5ce4ef8340a7ae5ede82552ca711c6a19", + "crop": [ + 314, + 314, + 313, + 313 + ] + }, + { + "frame": 6, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "5267d23938b4ada9f77aa9515c7af9d75ecf4e933fe15b63484d641a008069b5", + "crop": [ + 627, + 314, + 313, + 313 + ] + }, + { + "frame": 7, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "44ec40b610ef1ce2bad6dce1154f0a312f92821c3509ed69c35094af595763c1", + "crop": [ + 940, + 314, + 313, + 313 + ] + }, + { + "frame": 8, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "41f06e911dbacf27455a8ff3d424334b46c6b5373515c680e5257bd85bb94d2d", + "crop": [ + 0, + 627, + 313, + 313 + ] + }, + { + "frame": 9, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "f147096a9ef01e1336980230e015e0ab0f77f5c4f462e534d3dc6f361c7c6288", + "crop": [ + 314, + 627, + 313, + 313 + ] + }, + { + "frame": 10, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "a74ab38b5380bfe2d55336e5aa0776978323c5cf1e8b7e6126030a6a4466b1f6", + "crop": [ + 627, + 627, + 313, + 313 + ] + }, + { + "frame": 11, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "47f4f6ed4efa5672f5a41bb8354e11a07f68741de70116d313eeb08555958008", + "crop": [ + 940, + 627, + 313, + 313 + ] + }, + { + "frame": 12, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "950063704ca538336a28f33660980c34422bf0e32f6cb7644071e638f57b5e35", + "crop": [ + 0, + 940, + 313, + 313 + ] + }, + { + "frame": 13, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "65e4c7c8f8446cde95eaa644b17b62b7805a31378c612182d173dd4ee041a541", + "crop": [ + 314, + 940, + 313, + 313 + ] + }, + { + "frame": 14, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "2e95b7a9df61c390dfab8d4d595f56c75cef90acafe90174024615f7a842fe28", + "crop": [ + 627, + 940, + 313, + 313 + ] + }, + { + "frame": 15, + "file": "jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "ffd81cd3cc919b2df48ebf4c7c230653895fb893f6792b069c887b62dd9f1aa8", + "crop": [ + 940, + 940, + 313, + 313 + ] + } + ], + "name": "Terrain set 3 shard 2" + }, + { + "name": "SHIP21G1_PIC", + "base_asset": 66327, + "frame_count": 2, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-10317-10318/generated/remaster-v1.png", + "logical_width": 48, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "ee1d16e39362a1ccdf424b57bfb56bec7677faf4fcb4727e82ba3ea5ca908064", + "crop": [ + 1, + 148, + 885, + 590 + ] + }, + { + "frame": 1, + "file": "jobs/enemies-10317-10318/generated/remaster-v1.png", + "logical_width": 48, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "52150a489d534c5486e78a8850868d90020ca6d3ba217010b0235fe1f1a786f7", + "crop": [ + 888, + 148, + 885, + 590 + ] + } + ] + }, + { + "name": "SHIP23G1_PIC", + "base_asset": 66335, + "frame_count": 8, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "1b2c22a9ac3816b15f3ea7bd40eca87c883a540414d652c34bdabd60cf1865dd", + "crop": [ + 17, + 54, + 416, + 312 + ] + }, + { + "frame": 1, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "afd980091ac435f43e885ac9deadc5ce1b1e8bfd77ed47039a69839f6943766d", + "crop": [ + 465, + 61, + 416, + 312 + ] + }, + { + "frame": 2, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "0d2168c19143173d5dc06d4fce5343a70463e423d5ffd15551e0d2e3ef159654", + "crop": [ + 912, + 55, + 408, + 306 + ] + }, + { + "frame": 3, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "3de445c6e850a69f2f3d0d81e63300b8b1b566bab531e00ce413ffc39caa733b", + "crop": [ + 1355, + 63, + 400, + 300 + ] + }, + { + "frame": 4, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "518a276b5285ce1eb0ee005862f0f5184b03b005c2a410a7f7b348b4523c9ab9", + "crop": [ + 19, + 503, + 416, + 312 + ] + }, + { + "frame": 5, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "b9b82680f4bdbb008b7a41b1c8045e05595e43c77135d4d826220abab73b386d", + "crop": [ + 463, + 505, + 416, + 312 + ] + }, + { + "frame": 6, + "file": "jobs/enemies-1031f-10326/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "fa83103ec5925953b5b3fabfda8e66284965121bf873d8ce6a0ecf15ddf15f88", + "crop": [ + 916, + 499, + 404, + 303 + ] + }, + { + "frame": 7, + "file": "jobs/enemies-1031f-10326/generated/frame-7-remaster-v2.png", + "logical_width": 32, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "6608fb2a03652182e563d60ad4920bc49976a38868d7bc4760427b5cc4aa88ad", + "crop": [ + 60, + 167, + 1192, + 894 + ] + } + ] + }, + { + "name": "SHIP29G1_PIC", + "base_asset": 66354, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-10332-10332/generated/remaster-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "1f93e79e625ef932a2173a8bd63e117b9351a18e845c6f2a9ed131f94f57a40e" + } + ] + }, + { + "name": "SHIP32G1_PIC", + "base_asset": 66357, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-10335-10335/generated/remaster-v1.png", + "logical_width": 96, + "logical_height": 64, + "origin": [ + 0, + 0 + ], + "source_sha256": "640ed8f1d45ead01337ce2ed95a1be1b44f88fe0cfecdc61e98537093d1e9324", + "crop": [ + 0, + 209, + 1254, + 836 + ] + } + ] + }, + { + "name": "SHIP39G1_PIC", + "base_asset": 66372, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-10344-10344/generated/remaster-v1.png", + "logical_width": 24, + "logical_height": 24, + "origin": [ + 0, + 0 + ], + "source_sha256": "7cb09e925ea7786b331d576c360aad09b5e18f35d0258ec78ab5ef2e50c2590e" + } + ] + }, + { + "name": "SHIP33G1_PIC", + "base_asset": 66358, + "frame_count": 4, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-10336-10339/generated/ship33g1-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "4395bc36fbfe293633e8f1045fbca2de3be8fb344373382954299ddbb6fe79f3", + "crop": [ + 0, + 0, + 627, + 627 + ] + }, + { + "frame": 1, + "file": "jobs/enemies-10336-10339/generated/ship33g1-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "9e2828bd07a6904cbfeff94f081aa209a790f5684cc8201f6fe93bc639d32b02", + "crop": [ + 627, + 0, + 627, + 627 + ] + }, + { + "frame": 2, + "file": "jobs/enemies-10336-10339/generated/ship33g1-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "d8c67f3a0f8abfe0a358d30cdcd0b2271e02157699a0598bf77698758165f266", + "crop": [ + 0, + 627, + 627, + 627 + ] + }, + { + "frame": 3, + "file": "jobs/enemies-10336-10339/generated/ship33g1-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "fd67cf558baa2ebdbcf421f995f0cf41b8cc653af3beae50bcb92e2d18049518", + "crop": [ + 627, + 627, + 627, + 627 + ] + } + ] + }, + { + "name": "SHIP34G1_PIC", + "base_asset": 66362, + "frame_count": 2, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-1033a-1033b/generated/ship34g1-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "bc215ee9f4393e202b750f77fddbb453f85975a17bc183e62c4328565d9a2602", + "crop": [ + 28, + 14, + 832, + 832 + ] + }, + { + "frame": 1, + "file": "jobs/enemies-1033a-1033b/generated/ship34g1-v1.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "a2d2c88aae46cf7ab1a1b149dadb2deb02e1c9db58f2a74eec662a9939024c6a", + "crop": [ + 28, + 901, + 832, + 832 + ] + } + ] + }, + { + "name": "SHIP30G1_PIC", + "base_asset": 66355, + "frame_count": 1, + "frames": [ + { + "frame": 0, + "file": "jobs/enemies-10333-10333/generated/ship30g1-v3.png", + "logical_width": 32, + "logical_height": 32, + "origin": [ + 0, + 0 + ], + "source_sha256": "6e4756ad411a8950150ecf0aac1fe9df4b6415e6d89c557a50446071c792f350", + "crop": [ + 54, + 162, + 1072, + 1072 + ] + } + ] + }, + { + "name": "Muzzle flash and casings replacement v4", + "base_asset": 65991, + "frame_count": 4, + "frames": [ + { + "frame": 0, + "file": "jobs/effects-101c7-101ca/generated-v4.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "28aa05b74a72d32e677aacd441d60fac3ea63825d9cae93d6f158fe2b1de4b3b", + "crop": [ + 0, + 0, + 887, + 887 + ] + }, + { + "frame": 1, + "file": "jobs/effects-101c7-101ca/generated-v3.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "c42c70f745802853cae673e0e59f17709755c2e5beaa2462980eb456d4645cc9", + "crop": [ + 627, + 0, + 627, + 627 + ] + }, + { + "frame": 2, + "file": "jobs/effects-101c7-101ca/generated-v4.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "4a36075b01beb6a88472b5a968bf761d272bdfad37f141dc7d158848a2ff3e66", + "crop": [ + 887, + 0, + 887, + 887 + ] + }, + { + "frame": 3, + "file": "jobs/effects-101c7-101ca/generated-v3.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "49264d313508ccb4ea371bfb1fe29fbd77edd7a93f57e3ab3cf0b2809b8837c1", + "crop": [ + 627, + 627, + 627, + 627 + ] + } + ] + }, + { + "name": "Small air explosion replacement v2", + "base_asset": 66044, + "frame_count": 14, + "frames": [ + { + "frame": 0, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "6b73ca188d59d9566dcd941009e79b70b584d759de6159f5e53da0ec26ebe15a", + "crop": [ + 0, + 0, + 313, + 313 + ] + }, + { + "frame": 1, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "fa59b0d8581d5a7b7d19d3d0f04fc4bca50afd3b4edbb00db7c886aa0ecc7c3b", + "crop": [ + 313, + 0, + 313, + 313 + ] + }, + { + "frame": 2, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "63c8636e0d57203f8f09cd8e54b3a531d00a80335fb4d041179aa00063fee0a1", + "crop": [ + 627, + 0, + 313, + 313 + ] + }, + { + "frame": 3, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "66d24b3745fd5a6e896ee3509e9b66fe54fb4cd35f182314f16e064b5bef4fd1", + "crop": [ + 940, + 0, + 313, + 313 + ] + }, + { + "frame": 4, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "e0077a4e83d0df5afc49a9d8ce5e9daffbcbfd6abc7d8a499ffaaaee46fdade1", + "crop": [ + 0, + 313, + 313, + 313 + ] + }, + { + "frame": 5, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "2c51ac2912b71fe8179cc7ce89a0a6550aa43c04e1b310f45b9c62db0bb50e59", + "crop": [ + 313, + 313, + 314, + 314 + ] + }, + { + "frame": 6, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "d998d0d9dc0a8df2ed6b04c1cad6188db2f16140549be0b04b310500590b6abb", + "crop": [ + 627, + 313, + 313, + 313 + ] + }, + { + "frame": 7, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "f87154ac15a0da54c9db51075b15e959631e254fa2625e13c591513e97e8375a", + "crop": [ + 940, + 313, + 314, + 314 + ] + }, + { + "frame": 8, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "d8692edb16dffad526b3659d338d8d4123126a61906f58195ba530eb8c1e10e2", + "crop": [ + 0, + 627, + 313, + 313 + ] + }, + { + "frame": 9, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "5d642eb134808b6c71e37479d22d53a76370abe48f422fd7acf20bad1b895911", + "crop": [ + 313, + 627, + 313, + 313 + ] + }, + { + "frame": 10, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "3c31d09b2106b83c3054c9f6c4d6befb21e1b2665e00ea3c46cc8cc15ea997aa", + "crop": [ + 627, + 627, + 313, + 313 + ] + }, + { + "frame": 11, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "0c9ef03057cfbaa6663145287c21bd2f4c7cc8db1d5435d9d15a230788bbb497", + "crop": [ + 940, + 627, + 313, + 313 + ] + }, + { + "frame": 12, + "file": "jobs/effects-101fc-10209/generated-v1.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "08f9fcfafac6cbbefd21670de9ae5c42146db1c8977c04e0a886a0cbd13886a8", + "crop": [ + 0, + 940, + 313, + 313 + ] + }, + { + "frame": 13, + "file": "jobs/effects-101fc-10209/generated-v2.png", + "logical_width": 16, + "logical_height": 16, + "origin": [ + 0, + 0 + ], + "source_sha256": "d32e95161f5a97187a087efcdf6f8a6d28f479f798358a87cc1c9c1734ca74e7", + "crop": [ + 0, + 0, + 1254, + 1254 + ] + } + ] + }, + { + "name": "Enemy coconut v1", + "base_asset": 66125, + "frame_count": 4, + "frames": [ + { + "frame": 0, + "file": "jobs/projectiles-1024d-10250/generated-v1.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "4353a39c48c9afc3aebcbcb21ea89fe5ece98dceeed98be6f26f40d18c53de57", + "crop": [ + 0, + 0, + 627, + 627 + ] + }, + { + "frame": 1, + "file": "jobs/projectiles-1024d-10250/generated-v1.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "0d4d31915573e306b62fcaf58be9514710f329a462f8762e54d8cb27c688f15d", + "crop": [ + 627, + 0, + 627, + 627 + ] + }, + { + "frame": 2, + "file": "jobs/projectiles-1024d-10250/generated-v1.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "999baafea576496e64ec50302d761c56083670760ae64551e4254a7223c9768b", + "crop": [ + 0, + 627, + 627, + 627 + ] + }, + { + "frame": 3, + "file": "jobs/projectiles-1024d-10250/generated-v1.png", + "logical_width": 8, + "logical_height": 8, + "origin": [ + 0, + 0 + ], + "source_sha256": "71faf30f60c52fb720944eb2bc8dcbd9900313905510f7b892213006c2bbbcee", + "crop": [ + 627, + 627, + 627, + 627 + ] + } + ] } ] } diff --git a/data/hd/jobs/bosses-1030e-1030e/generated/remaster-v1.png b/data/hd/jobs/bosses-1030e-1030e/generated/remaster-v1.png new file mode 100644 index 00000000..93313caf Binary files /dev/null and b/data/hd/jobs/bosses-1030e-1030e/generated/remaster-v1.png differ diff --git a/data/hd/jobs/bosses-10319-1031e/generated/atlas-raw.png b/data/hd/jobs/bosses-10319-1031e/generated/atlas-raw.png new file mode 100644 index 00000000..fe2c2c35 Binary files /dev/null and b/data/hd/jobs/bosses-10319-1031e/generated/atlas-raw.png differ diff --git a/data/hd/jobs/bosses-200a1-200a1/generated/remaster-v1.png b/data/hd/jobs/bosses-200a1-200a1/generated/remaster-v1.png new file mode 100644 index 00000000..01fceab8 Binary files /dev/null and b/data/hd/jobs/bosses-200a1-200a1/generated/remaster-v1.png differ diff --git a/data/hd/jobs/bosses-200a8-200ab/generated/remaster-v1.png b/data/hd/jobs/bosses-200a8-200ab/generated/remaster-v1.png new file mode 100644 index 00000000..fc63fc2f Binary files /dev/null and b/data/hd/jobs/bosses-200a8-200ab/generated/remaster-v1.png differ diff --git a/data/hd/jobs/bosses-200ac-200ac/generated/remaster-v1.png b/data/hd/jobs/bosses-200ac-200ac/generated/remaster-v1.png new file mode 100644 index 00000000..dbe38fed Binary files /dev/null and b/data/hd/jobs/bosses-200ac-200ac/generated/remaster-v1.png differ diff --git a/data/hd/jobs/bosses-200ad-200ad/generated/sprite-raw.png b/data/hd/jobs/bosses-200ad-200ad/generated/sprite-raw.png new file mode 100644 index 00000000..de318fe7 Binary files /dev/null and b/data/hd/jobs/bosses-200ad-200ad/generated/sprite-raw.png differ diff --git a/data/hd/jobs/bosses-200ce-200d3/generated/remaster-v1.png b/data/hd/jobs/bosses-200ce-200d3/generated/remaster-v1.png new file mode 100644 index 00000000..976da0c4 Binary files /dev/null and b/data/hd/jobs/bosses-200ce-200d3/generated/remaster-v1.png differ diff --git a/data/hd/jobs/bosses-200eb-200eb/generated/remaster-v1.png b/data/hd/jobs/bosses-200eb-200eb/generated/remaster-v1.png new file mode 100644 index 00000000..a95c54db Binary files /dev/null and b/data/hd/jobs/bosses-200eb-200eb/generated/remaster-v1.png differ diff --git a/data/hd/jobs/bosses-20104-2010b/generated/remaster-v1.png b/data/hd/jobs/bosses-20104-2010b/generated/remaster-v1.png new file mode 100644 index 00000000..887e91e2 Binary files /dev/null and b/data/hd/jobs/bosses-20104-2010b/generated/remaster-v1.png differ diff --git a/data/hd/jobs/effects-101c7-101ca/generated-v3.png b/data/hd/jobs/effects-101c7-101ca/generated-v3.png new file mode 100644 index 00000000..b7e7e797 Binary files /dev/null and b/data/hd/jobs/effects-101c7-101ca/generated-v3.png differ diff --git a/data/hd/jobs/effects-101c7-101ca/generated-v4.png b/data/hd/jobs/effects-101c7-101ca/generated-v4.png new file mode 100644 index 00000000..d720c661 Binary files /dev/null and b/data/hd/jobs/effects-101c7-101ca/generated-v4.png differ diff --git a/data/hd/jobs/effects-101fc-10209/generated-v1.png b/data/hd/jobs/effects-101fc-10209/generated-v1.png new file mode 100644 index 00000000..755d37f0 Binary files /dev/null and b/data/hd/jobs/effects-101fc-10209/generated-v1.png differ diff --git a/data/hd/jobs/effects-101fc-10209/generated-v2.png b/data/hd/jobs/effects-101fc-10209/generated-v2.png new file mode 100644 index 00000000..dbb248ee Binary files /dev/null and b/data/hd/jobs/effects-101fc-10209/generated-v2.png differ diff --git a/data/hd/jobs/enemies-10317-10318/generated/remaster-v1.png b/data/hd/jobs/enemies-10317-10318/generated/remaster-v1.png new file mode 100644 index 00000000..ad69a1c7 Binary files /dev/null and b/data/hd/jobs/enemies-10317-10318/generated/remaster-v1.png differ diff --git a/data/hd/jobs/enemies-1031f-10326/generated/frame-7-remaster-v2.png b/data/hd/jobs/enemies-1031f-10326/generated/frame-7-remaster-v2.png new file mode 100644 index 00000000..90f39244 Binary files /dev/null and b/data/hd/jobs/enemies-1031f-10326/generated/frame-7-remaster-v2.png differ diff --git a/data/hd/jobs/enemies-1031f-10326/generated/remaster-v1.png b/data/hd/jobs/enemies-1031f-10326/generated/remaster-v1.png new file mode 100644 index 00000000..3ca2093c Binary files /dev/null and b/data/hd/jobs/enemies-1031f-10326/generated/remaster-v1.png differ diff --git a/data/hd/jobs/enemies-10332-10332/generated/remaster-v1.png b/data/hd/jobs/enemies-10332-10332/generated/remaster-v1.png new file mode 100644 index 00000000..a6673c8b Binary files /dev/null and b/data/hd/jobs/enemies-10332-10332/generated/remaster-v1.png differ diff --git a/data/hd/jobs/enemies-10333-10333/generated/ship30g1-v3.png b/data/hd/jobs/enemies-10333-10333/generated/ship30g1-v3.png new file mode 100644 index 00000000..4453a170 Binary files /dev/null and b/data/hd/jobs/enemies-10333-10333/generated/ship30g1-v3.png differ diff --git a/data/hd/jobs/enemies-10335-10335/generated/remaster-v1.png b/data/hd/jobs/enemies-10335-10335/generated/remaster-v1.png new file mode 100644 index 00000000..aefecf99 Binary files /dev/null and b/data/hd/jobs/enemies-10335-10335/generated/remaster-v1.png differ diff --git a/data/hd/jobs/enemies-10336-10339/generated/ship33g1-v1.png b/data/hd/jobs/enemies-10336-10339/generated/ship33g1-v1.png new file mode 100644 index 00000000..3d544648 Binary files /dev/null and b/data/hd/jobs/enemies-10336-10339/generated/ship33g1-v1.png differ diff --git a/data/hd/jobs/enemies-1033a-1033b/generated/ship34g1-v1.png b/data/hd/jobs/enemies-1033a-1033b/generated/ship34g1-v1.png new file mode 100644 index 00000000..68342242 Binary files /dev/null and b/data/hd/jobs/enemies-1033a-1033b/generated/ship34g1-v1.png differ diff --git a/data/hd/jobs/enemies-10344-10344/generated/remaster-v1.png b/data/hd/jobs/enemies-10344-10344/generated/remaster-v1.png new file mode 100644 index 00000000..bf09a1cb Binary files /dev/null and b/data/hd/jobs/enemies-10344-10344/generated/remaster-v1.png differ diff --git a/data/hd/jobs/projectiles-1024d-10250/generated-v1.png b/data/hd/jobs/projectiles-1024d-10250/generated-v1.png new file mode 100644 index 00000000..3a9a3393 Binary files /dev/null and b/data/hd/jobs/projectiles-1024d-10250/generated-v1.png differ diff --git a/data/hd/jobs/terrain-2010d-2011c/generated/20111-v2.png b/data/hd/jobs/terrain-2010d-2011c/generated/20111-v2.png new file mode 100644 index 00000000..f5ea4e79 Binary files /dev/null and b/data/hd/jobs/terrain-2010d-2011c/generated/20111-v2.png differ diff --git a/data/hd/jobs/terrain-2010d-2011c/generated/atlas-v1.png b/data/hd/jobs/terrain-2010d-2011c/generated/atlas-v1.png new file mode 100644 index 00000000..252648ba Binary files /dev/null and b/data/hd/jobs/terrain-2010d-2011c/generated/atlas-v1.png differ diff --git a/data/hd/jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png b/data/hd/jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png new file mode 100644 index 00000000..17123935 Binary files /dev/null and b/data/hd/jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png differ diff --git a/data/hd/jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png b/data/hd/jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png new file mode 100644 index 00000000..df2c9b79 Binary files /dev/null and b/data/hd/jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png differ diff --git a/docs/mod-authoring-checklist.md b/docs/mod-authoring-checklist.md index b9eaf458..6b646faf 100644 --- a/docs/mod-authoring-checklist.md +++ b/docs/mod-authoring-checklist.md @@ -58,7 +58,8 @@ do not invent unsupported fields or callbacks. Keep volumes and repetition comfortable and avoid playing hit sounds on misses. - [ ] Track final assets, required source masters, prompts, provenance and reproducible preparation/synthesis recipes with the package. Never commit - original game pixels, the extracted catalog or local reference captures. + decoded style-reference images or local review captures into a mod. The + approved original/HD runtime catalog is tracked separately in `data/`. ## 5. Price and balance equipment diff --git a/docs/resume-checkpoint.md b/docs/resume-checkpoint.md index e03da2e5..8f017d10 100644 --- a/docs/resume-checkpoint.md +++ b/docs/resume-checkpoint.md @@ -24,20 +24,24 @@ the relocation. See [repository layout](repository.md). ## Engine and package -- Packaged executable checkpoint: `fdf2ff0`, standalone RustRaptor, widescreen +- Packaged executable now includes the `c0a6fd3` reviewed source checkpoint, + including diagnostics navigation and interpolated Lightning effects. Its + SHA-256 is `4b164987d9fabf7388d2fc66168a9f2aedc71392d42a6ce4066e3607684b1479`. + The original `fdf2ff0` checkpoint supplied standalone RustRaptor, widescreen menus and always-4:3 original cinematics, including when gameplay stretching is selected. Fresh 1080p intro capture confirms black 240-pixel side borders. - `RustRaptor/bin/raptor-rust`, `lib/`, `data/` and `dist/RustRaptor-linux-x86_64.zip` exist. The latest snapshot includes all - 6,449 original assets, 221 approved HD frames and 22 local mods. It was + 6,449 original assets, 340 approved HD frames and 22 local mods. It was launched from a copied folder containing spaces, from `/tmp`, without Cargo. - Before shutdown, 320 default tests, the complete 42-image menu/intro audit, separate cinematic aspect regression, mod/catalog/HD validation and copied 1280×800/1080p SDL/audio smoke checks passed. Later fixes require fresh checks. - Source navigation fixes are committed in `4b1edef`; the terrain compositor - fix is committed in `ab23255`. Uncommitted Lightning weapon/API packages - are preserved. Review and commit them separately; do not discard their work. - The executable/package must be refreshed after source or accepted-art changes. + fix is committed in `ab23255`; Lightning weapon/API packages and authored + art/audio are committed in `c0a6fd3`. The refreshed package validates all + 22 mods and 340 supplied HD frames. Desktop builds use the isolated + `target/desktop-runtime` directory to avoid competing headless artifacts. ## Next user fixes @@ -55,8 +59,10 @@ the relocation. See [repository layout](repository.md). The resumed source suite passes 333 tests with 31 optional checks ignored. The original menu/intro audit passes and completes at 1,891 service ticks. -These checks include pending Lightning API/mod changes, which still require -independent review and a refreshed packaged executable before release. +The subsequent independent Lightning review found and fixed attached-effect +interpolation and missing mod/script/hook command-error context. All 72 focused +API, modding and weapon checks pass after those fixes. The reviewed packages +are committed, and the executable and zip have been refreshed and launched. Root owns menu fixes. `iron_coast_5` temporarily owns the ground-target diagnosis; its completed boss candidates and pending equipment review remain preserved. @@ -65,7 +71,7 @@ its completed boss candidates and pending equipment review remain preserved. The original picture inventory is 5,753 IDs. The development pack now has 340 registered frames across 122 complete sequences; 5,413 IDs remain unregistered. -The packaged runtime still has its earlier 221-frame snapshot. Existing raw +The packaged runtime has the same 340-frame approved snapshot. Existing raw candidates are not counted as accepted remasters. Working originals, generated drafts and proof captures remain outside the Git root; the approved runtime snapshot and all authored mod artwork and sound are tracked in Git. diff --git a/docs/standalone-package.md b/docs/standalone-package.md index 8df758f3..04be7d96 100644 --- a/docs/standalone-package.md +++ b/docs/standalone-package.md @@ -20,6 +20,8 @@ python3 tools/assemble_runtime.py --zip dist/RustRaptor-linux-x86_64.zip The assembler builds the desktop release, copies all catalog-listed files and the exact currently approved HD manifest and referenced PNGs, installs the binary and SDL2 shared library if linked, and checks the packaged catalog. +Desktop packaging uses its own `target/desktop-runtime` build directory so +concurrent headless asset reviews cannot replace the packaged executable. `runtime-manifest.json` records file hashes, catalog/HD counts and platform dependencies. Unapproved HD drafts, reference screenshots and the Cargo build cache are excluded from the zip. The exported `RustRaptor` folder can be moved @@ -40,7 +42,10 @@ only; it does not claim the full original HD catalog is complete. The current package was unpacked into a folder containing spaces and launched from `/tmp` with only its bundled SDL2 library on the library search path. Catalog validation checked 6,449 assets, 27 missions, 528 enemies, 16 weapons -and 24 items. All 22 bundled mods and all 221 approved HD frames validated. +and 24 items. The refreshed 11 October bundle validates all 22 bundled mods +and all 340 approved HD frames, with zero rejected supplied frames. Its +runtime manifest verifies all 6,593 data files. The updated desktop executable +also launches from `/tmp` with only the bundled library and an isolated profile. Menu and gameplay screenshots at 1280×800 and 1920×1080, plus stereo audio captures, completed successfully. Native `unzip` preserves the executable permissions stored in the archive. diff --git a/mods/lightning_cannon/ART_PROVENANCE.md b/mods/lightning_cannon/ART_PROVENANCE.md index 5483c350..818f46c2 100644 --- a/mods/lightning_cannon/ART_PROVENANCE.md +++ b/mods/lightning_cannon/ART_PROVENANCE.md @@ -7,4 +7,3 @@ Final prompt: Use case: stylized-concept. Asset type: transparent inventory equipment sprite for a top-down 1994-inspired arcade aircraft shooter, supplied as a square master image for a 16x16 logical icon and 64x64 HD icon. Primary request: a high-powered Lightning Cannon weapon module. Single compact industrial gun assembly viewed directly from above, long forward-facing barrel at top, two sturdy brushed steel rails around a vivid cyan electrical coil, white-blue zigzag electricity confined between the rails, dark navy housing with small copper contacts. Hand-painted retro game sprite with strong readable silhouette, simple broad material planes and restrained crisp highlights. Center the entire object with a little transparent padding. Genuinely transparent background and no ground shadow. No text, letters, numbers, frame, UI, watermark, or surrounding scene. The gun occupies most of the canvas and should still read at tiny size. The master, SD/HD images and sound WAVs are included in the package. SHA-256 hashes are recorded in `art-provenance.json`. `generate_audio.py` reproduces deterministic PCM16 mono sounds at 22,050 Hz. Palette conversion occurs in the runtime loader. - diff --git a/mods/lightning_shield/ART_PROVENANCE.md b/mods/lightning_shield/ART_PROVENANCE.md index 8f2a0fee..6dc0bb92 100644 --- a/mods/lightning_shield/ART_PROVENANCE.md +++ b/mods/lightning_shield/ART_PROVENANCE.md @@ -7,4 +7,3 @@ Final prompt: Use case: stylized-concept. Asset type: transparent inventory equipment sprite for a top-down 1994-inspired arcade aircraft shooter, supplied as a square master image for a 16x16 logical icon and 64x64 HD icon. Primary request: a Lightning Shield proximity zap weapon module. Single compact circular industrial coil unit viewed directly from above, a vivid cyan ring enclosing a dark central steel capacitor, four small copper electrode terminals evenly spaced, tiny white-blue lightning arcs contained inside the ring. Dark navy and brushed steel housing. Hand-painted retro game sprite with strong readable silhouette, simple broad material planes and restrained crisp highlights. Center the entire object with a little transparent padding. Genuinely transparent background and no ground shadow. No text, letters, numbers, frame, UI, watermark, spaceship, or surrounding scene. The circular emitter occupies most of the canvas and should still read at tiny size. The master, SD/HD images and sound WAVs are included in the package. SHA-256 hashes are recorded in `art-provenance.json`. `generate_audio.py` reproduces deterministic PCM16 mono sounds at 22,050 Hz. Palette conversion occurs in the runtime loader. - diff --git a/runtime-manifest.json b/runtime-manifest.json index 9c6661d3..96c8933e 100644 --- a/runtime-manifest.json +++ b/runtime-manifest.json @@ -2,10 +2,10 @@ "format_version": 1, "platform": "Linux x86_64", "catalog_entries": 6449, - "approved_hd_frames": 221, - "binary_sha256": "da750499800d33884ddc8ea2beccd3b0339058012525b60805341335d9d28bcb", - "data_files": 6566, - "data_bytes": 149032412, + "approved_hd_frames": 340, + "binary_sha256": "4b164987d9fabf7388d2fc66168a9f2aedc71392d42a6ce4066e3607684b1479", + "data_files": 6593, + "data_bytes": 195469368, "files": { "data/INDEX": "4ce78e5e638b6603114dd233ceaa41f386c0963ba4aa02ecf88ce0215b096681", "data/demos/DEMO1G1_REC": "3f1458e078c4ad10823d8bf5f9918732b87f4b66cf66dd4ea1d95c535b2a87c8", @@ -46,13 +46,26 @@ "data/hd/equipment/forward-guns-hd-v1.png": "8f0734681b93c4ea06520353a3f8517537ed94c0a4e9fe5eb6929ad0582fe25d", "data/hd/equipment/plasma-guns-0-hd-v1.png": "317ddc9bdd02371399e5edd7cf420882029484023ac2d4920b9a5d95f9727b10", "data/hd/equipment/plasma-guns-1-hd-v1.png": "08c3c26d00d9ba1a208dd8f9b14d6552f6087f8446f686d295165516a9149b6a", - "data/hd/hd.json": "9dd7c88b282ff85723a04c8e25dd2a7c2140101aa0c778426ec3b154364345cf", + "data/hd/hd.json": "648241ad22ff0863dc3824270d7275cd0184204369349ad0a359a4a08dc32097", "data/hd/jobs/bosses-10307-10307/generated/remaster-v1.png": "98a66b5b3aaed496f7080869b57f4332cbf0eed514007943af25a578656724c7", "data/hd/jobs/bosses-10308-10308/generated/remaster-v1.png": "b0fdffa4f72fcdee7f39fdd7d0df4bbce8304fbba38eda66a88c8c3670e5f122", + "data/hd/jobs/bosses-1030e-1030e/generated/remaster-v1.png": "2caa5bb832fc17541d92ac3adbf2314f4b1778808b6b062b62d973f4a9a0f9d7", "data/hd/jobs/bosses-1030f-1030f/generated/remaster-v1.png": "0c716e462afaf3b0d143392431f0464fc16c99fa20a4d81c117bb6c55fcd209c", + "data/hd/jobs/bosses-10319-1031e/generated/atlas-raw.png": "07aaab4d62743cbbd67630db35db2f9ec57bcb5c13f3af4b9f52ed8c881b4f47", + "data/hd/jobs/bosses-200a1-200a1/generated/remaster-v1.png": "a87da721045e0326afb12544e6ea1a39569e16f6204a25d1e55c89e61512dae3", + "data/hd/jobs/bosses-200a8-200ab/generated/remaster-v1.png": "72d7e8d2b9952d98cce8298376196b6ddb8858902da7377c12bd0bf0f50a7094", + "data/hd/jobs/bosses-200ac-200ac/generated/remaster-v1.png": "afe43d01d702b4b0337e65da3d085409f969b4be291c8a8a901e281a7d09b8b4", + "data/hd/jobs/bosses-200ad-200ad/generated/sprite-raw.png": "604a6da0efe78f7f820173f890afe704980efde212242b24b13f9f128dc684dd", + "data/hd/jobs/bosses-200ce-200d3/generated/remaster-v1.png": "f416f0be16348ba97cdd6861647836bf79253ca71981269da1a314f7ee473133", + "data/hd/jobs/bosses-200eb-200eb/generated/remaster-v1.png": "4dca0aa232eb116ef2e67f4a632182330e8ab375c813d61d6225645bc7d67f45", + "data/hd/jobs/bosses-20104-2010b/generated/remaster-v1.png": "678688f5a2ada42a76e6eea99f8d256859b9844b21a60e420a2d1c10906d96b0", "data/hd/jobs/effects-1018e-1019b/generated-v1.png": "7a3a813460f837a81bb155f5b21e83d61e1e95ab9a27b17ea3dff5294caf083e", "data/hd/jobs/effects-1019c-101a4/generated-v1.png": "807ae9adad4237df424ec99022f117bf4c3bfa52397cb40ccfb8c648bb7ad6fe", + "data/hd/jobs/effects-101c7-101ca/generated-v3.png": "81d63850413e2490afc01d91b4086517aac58e6b52aa4166019f274ec6708589", + "data/hd/jobs/effects-101c7-101ca/generated-v4.png": "9b328365a4421018b458edab78c4651a22da6bda697f20dcd7824b3c22cfca20", "data/hd/jobs/effects-101f1-101f4/generated-v1.png": "1562ecc393223dcaeb45ef19300b92a3d2fc9126a8bfaec285125d16206e48da", + "data/hd/jobs/effects-101fc-10209/generated-v1.png": "ae0b87f78a1e56445112fe043481840614fc6730c5c25bf8d3bee36bc38be9d9", + "data/hd/jobs/effects-101fc-10209/generated-v2.png": "5e2893d56a28249278841308e170e28dea5e932102225c9a5ce19a103dd678fb", "data/hd/jobs/effects-10213-1021c/generated-v1.png": "b4ef2a8d066ac668476e8e260e81c95d34abf4f1916e6913ded6fcf38ee96083", "data/hd/jobs/effects-10225-10228/generated-v1.png": "f63536d6795573cd1743419a7ded2b8cfa37b70e95e3a3528eedadf2909ef135", "data/hd/jobs/effects-102a0-102af/generated-v1.png": "32bafcc6f7ed5996b80bc05dda1e56e2ee988437b8b5c517372338a50583043a", @@ -73,9 +86,18 @@ "data/hd/jobs/enemies-10304-10305/generated/remaster-v1.png": "d4e1a8601b75f07638c8e5ab6417e114d3bb7681193b91ae73863bce5e35f846", "data/hd/jobs/enemies-10309-10309/generated/remaster-v1.png": "feea10ceec9bacdbe2a20161c513dafe571a6908c260d8a9eb39170168d81164", "data/hd/jobs/enemies-1030a-1030a/generated/ship14g1-v1.png": "ef948c2f06e738af7a240576106141cdd785003f3d245fdf94940c172e68deda", + "data/hd/jobs/enemies-10317-10318/generated/remaster-v1.png": "2573eb7165fab6063c8b6c4e9250bf170ac67126e602597636055c46d6a77b0c", + "data/hd/jobs/enemies-1031f-10326/generated/frame-7-remaster-v2.png": "656228bf8ff5abb7d41fcaffa1873e6e6c8127919dca4d1397bdf7692aa46b7b", + "data/hd/jobs/enemies-1031f-10326/generated/remaster-v1.png": "13c39aa40784a1228205451bab693c307364acc7ef4983b1c5bbf373de3dd6d5", "data/hd/jobs/enemies-10327-10327/generated/raw-v1.png": "1e4e452c9f6862fdc1d3a85da39833f5481c2c16b3f150071724d2ff2142bdcf", "data/hd/jobs/enemies-1032f-1032f/generated/ship26g1-v2.png": "0dedb507178bc3d95b51b129137d74cae3472cfc9b4dc82d282e39780245d9aa", "data/hd/jobs/enemies-10331-10331/generated/raw-v1.png": "89b3924353c46794e774b4f74731619791cbd65beb96bb0d046a43faccc6f358", + "data/hd/jobs/enemies-10332-10332/generated/remaster-v1.png": "e07eb239ff1132ef665c26beff80e60e023dd75c2f3345b14c4789eb00837e6d", + "data/hd/jobs/enemies-10333-10333/generated/ship30g1-v3.png": "ee53443111ffded777f9a30e295fe4b834af1baec6d8fb2f3b08381748cc5e54", + "data/hd/jobs/enemies-10335-10335/generated/remaster-v1.png": "207b3fa841b8548a29986e42c3cacf8be99b8d8ce8c7b7605cf031181fbf8ac5", + "data/hd/jobs/enemies-10336-10339/generated/ship33g1-v1.png": "546b03857a38a1339fd7a5b6563a17e2c1f968d11a36232da7263fef709b35aa", + "data/hd/jobs/enemies-1033a-1033b/generated/ship34g1-v1.png": "b12aa01ab37e04c5b1b31c599d28b1403fca2f17b319ed0523abb27205f8ae90", + "data/hd/jobs/enemies-10344-10344/generated/remaster-v1.png": "2b92ae48d9f62e25505b2e569dc030ae0179f57bee131f61759913d396bcada6", "data/hd/jobs/equipment-102b3-102b4/generated/102b3-hd-v2.png": "def2b53dec70b3127ccb016189de363e1bd26168b06df57f3bed1daec454e53e", "data/hd/jobs/equipment-102b3-102b4/generated/102b4-hd-v2.png": "655d3610ec0ec26a224d9261790e2fbfa48d8c8bc6b84611ceb0fbda06f37d33", "data/hd/jobs/equipment-102b6-102b9/generated/102b6-hd-v1.png": "3a0daa1dbc23cdab2ca350eecfaa4b4ee1aa5b6307a5d5cf632fb8b28cea0ec8", @@ -115,7 +137,12 @@ "data/hd/jobs/projectiles-101c3-101c6/generated/atlas-v1.png": "31286d56a1e70011adc1fb1df25cb3b683ccb4fe18372a01e0a1136d05d50789", "data/hd/jobs/projectiles-101d1-101d2/generated-v1.png": "4c1721886bb6d54fce602b53785fe8657121dfb4d0bc9d77dd0902ea89d70ccb", "data/hd/jobs/projectiles-10223-10224/generated-v1.png": "52e1ec48867312529df0658f1f0ea76cb6ddf2f774d89641e0b63c6737b6130b", + "data/hd/jobs/projectiles-1024d-10250/generated-v1.png": "1b64394981e5295a81d5cb3e78dfc7a25ce381d811a6c02f72b8c710fa5a32db", "data/hd/jobs/terrain-10360-1036f/generated/atlas-v1.png": "0e8f18a8001ce561341bf10c42589ee7bf2a81b8a8eec025c565225cba90289d", + "data/hd/jobs/terrain-2010d-2011c/generated/20111-v2.png": "9bddae5cb7a120c7b6582efc8875736f8bcf8adbfaf7da4403df06da3c7ee0bc", + "data/hd/jobs/terrain-2010d-2011c/generated/atlas-v1.png": "ae78888bf93afcef84fbd2bc639a1e7d7cd7e8b7414007dbe2be641208dc2a7d", + "data/hd/jobs/terrain-300ed-300fc/generated/raw-atlas-v1.png": "a9e37b3c9370828aaea615a3c4b78c2459e70c4c89a1ac262032c3148bd4e718", + "data/hd/jobs/terrain-300fd-3010c/generated/raw-atlas-v1.png": "644cf8c99afc3bb153b007547d9a02dfa1f8df372a2f41ff0cd0e2803df7b2c5", "data/hd/player-dark/frame-0-hd-v1.png": "65ba6776bd440d65c1a6c199c34b6a871979d09a38d43b7a27e280f5b0f2c184", "data/hd/player-dark/frame-1-hd-v1.png": "b73ba640b4a1b332e9b8eeb7d1866438efb7c6f067a08fefda92b6e405def80e", "data/hd/player-dark/frame-2-hd-v1.png": "922c742f47bd98cd9dc048ec079684fb6fa028256ac9478416ecca9647c31f15", @@ -6575,11 +6602,11 @@ "data/ui/WINGAME_SWD": "304630a1223419d69723902ffd22c2c4eea0388491e37dfca663fcbe78e99aff" }, "system_dependencies": [ - "\tlinux-vdso.so.1 (0x00007fcd072d0000)", - "\tlibSDL2-2.0.so.0 => /home/quintine/.local/lib/libSDL2-2.0.so.0 (0x00007fcd06400000)", - "\tlibgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fcd0727c000)", - "\tlibm.so.6 => /usr/lib/libm.so.6 (0x00007fcd07145000)", - "\tlibc.so.6 => /usr/lib/libc.so.6 (0x00007fcd06000000)", - "\t/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fcd072d2000)" + "\tlinux-vdso.so.1 (0x00007f23a012d000)", + "\tlibSDL2-2.0.so.0 => /home/quintine/.local/lib/libSDL2-2.0.so.0 (0x00007f239f400000)", + "\tlibgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f23a00d9000)", + "\tlibm.so.6 => /usr/lib/libm.so.6 (0x00007f239f6c9000)", + "\tlibc.so.6 => /usr/lib/libc.so.6 (0x00007f239f000000)", + "\t/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f23a012f000)" ] } diff --git a/tools/assemble_runtime.py b/tools/assemble_runtime.py index 7bec1249..f3fbf8c5 100644 --- a/tools/assemble_runtime.py +++ b/tools/assemble_runtime.py @@ -41,10 +41,14 @@ def main(): environment = os.environ.copy() local_lib = Path.home() / ".local/lib" environment["LD_LIBRARY_PATH"] = str(local_lib) + ":" + environment.get("LD_LIBRARY_PATH", "") + # Asset-review helpers also build a headless release. Keep the desktop + # artifact separate so concurrent validation cannot replace this binary. + desktop_target = package / "target/desktop-runtime" if not args.skip_build: - subprocess.run(["cargo", "build", "--locked", "--release", "--bin", "raptor-rust", "--features", "desktop"], + subprocess.run(["cargo", "build", "--locked", "--release", "--target-dir", str(desktop_target), + "--bin", "raptor-rust", "--features", "desktop"], cwd=package, env=environment, check=True) - executable = package / "target/release/raptor-rust" + executable = desktop_target / "release/raptor-rust" if not executable.is_file(): raise ValueError("release executable is missing; run without --skip-build")