Starfield Mod:Biome File Format

'BIOME files are found in one of Starfield's ESM file and appear to contain data related to the biomes of each planet.

Overall Structure
Header (14-54 bytes) Color Data 1 (262144 bytes) Index Data 1 (65536 + 4 bytes) Color Data 2 (262144 bytes) Index Data 2 (65536 + 4 bytes)

The two image sections appear to form the top half and bottom half of a rectangular 256x512 image matching the aspect ratio of the planet textures.

Header
The first 14-54 bytes at the start of the file is a variable sized header: word U1        (261) dword Count    (1-8) dword U3[Count] (color RGB, same as in data?) dword U4       (2)

U3 appears to match the colors in the color data but its purpose is not known.

Count appears to correlate to the possible file sizes:
 * 655,406 bytes = 1
 * 655,410 bytes = 2
 * 655,414 bytes = 3
 * 655,418 bytes = 4
 * 655,422 bytes = 5
 * 655,426 bytes = 6
 * 655,430 bytes = 7
 * 655,434 bytes = 8

Color Data
Appears to be color RGBA values, 4 bytes per pixel. Has a 12 byte header indicating the image/data size. dword Width (256) dword Height (256) dword Size  (65536) rgba_t Color[Size]

Possible color values across all BIOME files are (color hex : number of pixels, 422 unique values):

0x1ca06 : 21162 0x2e850 : 4830 0x37935 : 11329 0x414bb : 34492 0x4e650 : 39455 0x4e681 : 91617 0x7d721 : 1045959 0x7d722 : 1204031 0x7d723 : 1263723 0x7d724 : 1229231 0x7d725 : 3916817 0x7e2c5 : 11395 0x7e2c6 : 6212 0x7ef0f : 25237 0x7f887 : 1224951 0x7f888 : 1244100 0x7f889 : 1304816 0x7f88a : 1208543 0x7f88b : 1226903 0x7fffe : 3511 0x7ffff : 3227 0x80000 : 9464 0x80231 : 16620 0x80232 : 101387 0x80233 : 16287 0x84e12 : 5500 0x8a8a4 : 38017 0x8a8a5 : 44627 0x8a8a6 : 102297 0x8a8a7 : 22816 0x8ae77 : 45379 0x8ae7a : 34795 0x8ae7b : 15632 0x8dff9 : 274044 0x8dffa : 40818 0x8dffb : 78083 0x8dffd : 25723 0x94239 : 1299021 0x9423a : 412815 0x9423b : 340870 0x95091 : 38400 0x95092 : 64111 0x95093 : 43334 0x95094 : 43876 0x95095 : 186227 0x95096 : 102752 0x95097 : 264618 0xa108c : 270766 0xa86d9 : 111569 0xa86da : 136430 0xa86db : 6244728 0xa86dc : 4233592 0xa86dd : 1291353 0xaa382 : 64882 0xaf3ca : 12661 0xaf3cb : 22719 0xb2630 : 29859 0xb2635 : 68300 0xb2d7c : 4357 0xb2d7d : 11911 0xb2d7e : 26904 0xc5714 : 4232143 0xc5715 : 7124554 0xc5716 : 4489712 0xc5717 : 4224765 0xc5718 : 4263618 0xc5719 : 4408951 0xc571a : 3903451 0xc571b : 4186981 0xd0a64 : 26821 0xd1b7b : 77987 0xd1b7c : 104406 0xd1b7d : 399536 0xd1b7e : 419909 0xd1b7f : 554355 0xd1b80 : 317752 0xd1b81 : 330021 0xd1b82 : 436101 0xd3a1d : 515243 0xd3a1e : 391307 0xd9bac : 7897 0xd9bad : 104167 0xd9bae : 96163 0xd9baf : 90858 0xd9bb0 : 93361 0xd9bb1 : 104411 0xe37d7 : 96141 0xe37d8 : 39983 0xe37d9 : 52433 0xe37da : 44778 0xe37db : 101752 0xe66ae : 1252724 0xe66af : 1196978 0xe66b0 : 1238454 0xe66b1 : 1568150 0xe869d : 265605 0xf1169 : 126027 0xf1f0b : 27975 0xf1f0c : 26885 0xf1f0d : 54257 0xf1f0e : 41328 0xf1f0f : 3229 0xf1f10 : 11163 0xf1f11 : 15510 0xf1f12 : 47023 0xf1f13 : 14478 0xf1f14 : 29823 0xf1f15 : 28019 0xf1f16 : 42986 0xf1f17 : 46774 0xf3d3a : 131072 0xfc617 : 5818483 0xfc618 : 6023094 0xfc619 : 5760065 0xfc61a : 5622099 0xfc61b : 6154070 0xfc61c : 5842934 0xfc61d : 13810 0xfc61e : 5318375 0xfc61f : 6750748 0xfc620 : 5828470 0xfd00a : 111376 0xfd00b : 153376 0xfd00c : 111894 0xfd00d : 111336 0xfd00e : 95959 0xfd00f : 19795 0xfd010 : 21131 0xfd011 : 90268 0xfd012 : 27027 0xfd013 : 55936 0xfd014 : 49780 0xfd015 : 59268 0xfd6f5 : 123508 0xfd6f6 : 156507 0xfd6f7 : 89915 0x100515 : 12391 0x101646 : 63714 0x10ec55 : 4841 0x10ec56 : 22730 0x10ec57 : 18206 0x10ec58 : 32191 0x110d5c : 402487 0x110fca : 13481 0x110fcb : 54433 0x11445c : 1338728 0x1160d5 : 238623 0x1160d6 : 174230 0x1160d7 : 157506 0x1160d8 : 199874 0x1160d9 : 134137 0x1160da : 247247 0x1160db : 146926 0x1160dc : 230095 0x1160dd : 155837 0x1160de : 222393 0x1160df : 158966 0x1160e0 : 153924 0x1160e1 : 219107 0x1160e2 : 222863 0x1160e3 : 233398 0x1160e4 : 140959 0x1160e5 : 103826 0x1160e6 : 185833 0x1160e7 : 110832 0x1160e8 : 102052 0x1160e9 : 129457 0x1160ea : 142063 0x1160eb : 132598 0x1160ec : 12360 0x1160ed : 21555 0x1160ee : 10284 0x1160ef : 4585 0x1160f0 : 16242 0x1160f1 : 4962 0x1160f2 : 20972 0x1160f3 : 10406 0x1160f4 : 4466 0x1160f5 : 13114 0x116476 : 5181 0x116477 : 11099 0x116478 : 10254 0x116479 : 19524 0x11647a : 22069 0x11647b : 39480 0x11647c : 38762 0x11647d : 56436 0x11647e : 13616 0x116482 : 9373 0x116483 : 28632 0x116484 : 20815 0x1177c4 : 83763 0x1177c5 : 26850 0x1177c6 : 23282 0x1177c7 : 50026 0x11b743 : 58602 0x11b744 : 35730 0x11b745 : 9719 0x11b746 : 23104 0x11bcd2 : 361397 0x11bcd3 : 288049 0x11f922 : 6527 0x11f923 : 10065 0x11f924 : 11508 0x11f925 : 23938 0x11f926 : 23011 0x11f927 : 14771 0x11f928 : 25576 0x11f929 : 23621 0x11f92a : 19999 0x11f92b : 9285 0x11f97e : 9040 0x11f97f : 34468 0x11f980 : 23607 0x11f981 : 10406 0x11f982 : 10328 0x11f983 : 14250 0x11f984 : 18091 0x11f985 : 22757 0x11f986 : 14875 0x11f987 : 43350 0x11f988 : 41369 0x120c76 : 131072 0x1217bb : 21212 0x1217bc : 7292 0x1217bd : 20203 0x1217be : 60692 0x124044 : 99723 0x1297f1 : 29139 0x1297f2 : 66731 0x12b463 : 26792 0x12b464 : 10972 0x134b6a : 93382 0x145440 : 469874 0x145442 : 23298 0x14544e : 4046 0x14544f : 31115 0x14805d : 46080 0x148061 : 276638 0x148062 : 343489 0x148063 : 52763 0x148064 : 12058 0x14c016 : 734345 0x14c017 : 951142 0x14c018 : 706812 0x14c019 : 598234 0x14c01a : 723371 0x14c01b : 77688 0x14c1c3 : 37525 0x14c1d4 : 42629 0x14c1d5 : 64909 0x14c1dd : 51149 0x17b858 : 15535 0x17b859 : 24832 0x17b85a : 9643 0x17b85b : 20906 0x17b85c : 14252 0x17b85d : 20965 0x1862bd : 7147 0x1862be : 17626 0x1862bf : 4210789 0x1862c0 : 4492666 0x187463 : 13583 0x1886d0 : 28980 0x1886d2 : 23571 0x1886d3 : 20379 0x18a899 : 57697 0x18a89a : 53116 0x18a89b : 52078 0x18a89c : 67448 0x18a89d : 38925 0x18a89e : 46064 0x18a89f : 12191 0x18a8a0 : 62629 0x18e3c8 : 10435 0x18e65a : 27488 0x18f249 : 22127 0x18fe1a : 22279 0x190131 : 16051 0x190132 : 25558 0x190133 : 28427 0x190134 : 10812 0x190135 : 13925 0x190136 : 11906 0x190137 : 8884 0x190b97 : 35421 0x190b98 : 20504 0x190b99 : 19744 0x190b9a : 18374 0x19e808 : 559612 0x19e809 : 101859 0x19e82a : 115413 0x1a23c7 : 788199 0x1a2f12 : 676269 0x1a2f16 : 37678 0x1a540b : 1182169 0x1a540d : 1328958 0x1a540e : 136933 0x1a540f : 101761 0x1a5410 : 1047159 0x1c068a : 45601 0x1cbd6a : 15398 0x1d1d92 : 1096983 0x1ddf39 : 131072 0x1dfdd1 : 444845 0x1dfdfb : 324648 0x1dfdfc : 5892 0x1dfdfd : 3189 0x1dfdfe : 3495 0x1dfdff : 8125 0x1dfe01 : 10513 0x1dfe02 : 12028 0x1dfe03 : 6849 0x1dfe04 : 303382 0x1dfe05 : 125047 0x1dfe06 : 116540 0x1dfe07 : 166130 0x203e9f : 36640 0x203ea1 : 22554 0x20d0f3 : 16812 0x20e381 : 26164 0x21040c : 121627 0x21040d : 162711 0x21040e : 434144 0x211529 : 427257 0x211c5f : 11333 0x212131 : 13146 0x212132 : 14585 0x212941 : 238566 0x214810 : 22829 0x214968 : 19078 0x214969 : 10885 0x214f1a : 13872 0x215098 : 32398 0x215cc2 : 4271174 0x215cc3 : 24806 0x21615c : 17728 0x216d44 : 3911582 0x216d45 : 308456 0x236ea3 : 12483 0x23c0ce : 20791 0x25d992 : 414366 0x25d993 : 52592 0x25f375 : 38191 0x25f387 : 16068 0x25f48b : 217615 0x25f48c : 47082 0x25f490 : 4236511 0x25fc04 : 39904 0x2636b9 : 137835 0x2636ba : 97582 0x2636bb : 494511 0x2636bc : 451909 0x263fe4 : 3096 0x263fe5 : 12392 0x263fe6 : 13212 0x263fe7 : 12671 0x263fe8 : 36678 0x26893c : 469499 0x26893d : 440884 0x26b3f2 : 92631 0x26bb6a : 152927 0x285af8 : 10669 0x285af9 : 97068 0x285afa : 270484 0x285afb : 644628 0x285afc : 383075 0x285afd : 256502 0x28791f : 5045 0x28acd0 : 26901 0x28acd1 : 21611 0x294332 : 20269 0x294333 : 10053 0x294334 : 20764 0x29434e : 20412 0x29b450 : 70609 0x2a3777 : 125572 0x2acd5a : 103194 0x2acd5b : 143440 0x2b6352 : 76694 0x2c17a5 : 40041 0x2c9984 : 43121 0x2c9985 : 102384 0x2c9986 : 27946 0x2c998a : 136507 0x2c998c : 73053 0x2c998d : 864948 0x2c998e : 96463 0x2ce505 : 39021 0x2ce506 : 32727 0x2ce507 : 688063 0x2ce508 : 20159 0x2ce509 : 80078 0x2dcdd4 : 48916 0x2deac4 : 4822 0x2e54c9 : 11206 0x2e57e0 : 15597 0x2e57e1 : 11987 0x2e57e2 : 27626 0x2e57e3 : 22135 0x2e57e4 : 14410 0x2e57e5 : 34625 0x336cc7 : 415335 0x34980c : 21877 0x3d673c : 26207 0x3d673d : 10467 0x3d673e : 25122 0x3d673f : 21381 0x3d6740 : 30447 0x3d6741 : 29194 0x3d6742 : 11954 0x3e3add : 42070 0x3e3ade : 46338 0x3e3adf : 42534 0x3e3ae0 : 27443 0x3e3ae1 : 51222 0x3e5e43 : 10734 0x3ea2fb : 18031 0x3ea2fc : 28990 0x3ea2fd : 7873 0x3fa120 : 50401 0x3fa121 : 30410

Index Data
Appears to be indexed or bitflag values, usually lower numbers starting at 0, 1 byte per pixel. Has a 4 byte head indicating the size in bytes. dword Size      (65536) byte Index[Size]

Possible values for this data across all BIOME files are (value : number of pixels): 0 : 46144723    1 : 16544869     2 : 7875789     3 : 3784198     4 : 14839     8 : 75128401     80 : 14527520     81 : 3182525     82 : 1274851     83 : 794205     84 : 6417     88 : 19203199