Advertisement
Guest User

Inindo tile segment data ROM map

a guest
May 23rd, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.84 KB | None | 0 0
  1. #ifndef inc_inindo_tile_data
  2. #define inc_inindo_tile_data
  3.  
  4. #include "types.h"
  5.  
  6. #include <snes/tile.h>
  7.  
  8. #pragma pack(push)
  9. #pragma pack(1)
  10.  
  11. namespace inindo
  12. {
  13.     template <int planes>
  14.     using tile = snes::tile_t<planes>;
  15.  
  16.     template <int width, int height, typename T = snes::tile_t<4>>
  17.     using img = snes::image_t<width, height, T>;
  18.  
  19.     template <int tiles, int width, typename T = snes::tile_t<4>>
  20.     using imgn = snes::image_n_t<tiles, width, T>;
  21.  
  22.     struct tile_data_t
  23.     {
  24.         // 0c/c0ca (640ca)
  25.         u08 unk_640ca[54];
  26.  
  27.         // 0c/c100 (64100)
  28.         array<img<6, 2>, 42> kerned_text1;
  29.  
  30.         // 0d/8000 (68000)
  31.         u08 unk_68000[23564];
  32.  
  33.         // boss related dungeon sprites
  34.         struct boss_t
  35.         {
  36.             // 0d/dc0c (6dc0c)
  37.             img<3, 2, img<2, 2>> nicolai;
  38.             img<3, 2, img<2, 2>> nobunaga;
  39.             img<3, 2, img<2, 2>> kaison;
  40.             img<3, 2, img<2, 2>> ghost;
  41.             img<3, 2, img<2, 2>> sagamibo;
  42.             img<3, 2, img<2, 2>> ashura;
  43.  
  44.             // (6ee0c)
  45.             img<3, 2, img<2, 2>> ring;
  46.             // (6f10c)
  47.             array<img<2, 2>, 4> otoko1;
  48.             array<img<2, 2>, 4> otoko2;
  49.             // (6f50c)
  50.             array<img<2, 2>, 3> sprites1;
  51.             // (6f68c)
  52.             img<2, 16> sprites2;
  53.             // (6fa8c)
  54.             img<2, 2, img<2, 2>> b;
  55.             // (6fc8c)
  56.             img<3, 2, img<2, 2>> nobunaga2;
  57.         } boss;
  58.        
  59.         // 0d/ff8c (6ff8c)
  60.         u08 unk_6ff8c[116];
  61.  
  62.         // 0e/8000 (70000)
  63.         u08 unk_70000[32768];
  64.  
  65.         // 0f/8000 (78000)
  66.         u08 unk_78000[4576];
  67.  
  68.         u08 unk_78200[24];
  69.  
  70.         struct magic_t
  71.         {
  72.             // 0f/91f8 (791f8)
  73.             img<4, 2> flame;
  74.             // (792f8)
  75.             img<16, 2> fireo;
  76.             // (796f8)
  77.             img<8, 1> lines;
  78.             // (797f8)
  79.             array<img<16, 2>, 3> heal;
  80.             // (7a3f8)
  81.             img<16, 4> wind;
  82.             // (7abf8)
  83.             img<16, 4> spark;
  84.             // (7b3f8)
  85.             img<2, 2> star1;
  86.             // (7b478)
  87.             img<2, 2> scroll;
  88.             // (7b4f8)
  89.             img<4, 2> star2;
  90.             // (7b5f8)
  91.             img<4, 1> blank1;
  92.             // (7b678)
  93.             // star, fire, smoke, orb, arrow
  94.             img<16, 4> sprites;
  95.             // (7be78)
  96.             img<8, 2> bomb;
  97.             // (7c078)
  98.             img<1, 1> bullet;
  99.             img<1, 1> question;
  100.             img<1, 1> blank2;
  101.             // (7c0d8)
  102.             array<img<6, 1>, 23> fire;
  103.             // (7d218)
  104.             //img<1, 1> blank3;
  105.             img<4, 29> ring1;
  106.             // (7dcd8)
  107.             // img<4, 4> ringz1;
  108.             // (7e098)
  109.             array<img<2, 2>, 3> ring2;
  110.             // (7e218)
  111.             img<12, 12> checkered;
  112.             // (7f418)
  113.             array<img<2, 13>, 2> lightning;
  114.             // (7fa98)
  115.             img<4, 4> weird;
  116.         } magic;
  117.  
  118.         // 0f/fc98 (7fc98)
  119.         u08 unk_7fc98[616];
  120.         // 0f/ff00 (7ff00)
  121.         u08 unk_7ff00[256];
  122.  
  123.         // 10/8000 (80000)
  124.         u08 unk_80000[32768];
  125.         // 11/8000 (88000)
  126.         u08 unk_88000[32768];
  127.        
  128.         // 12/8000 (90000)
  129.         u08 unk_90000[20864];
  130.  
  131.         // 12/d180 (95180)
  132.         u08 unk_95180[18];
  133.  
  134.         struct bingo_t
  135.         {
  136.             // 12/d192 (95192)
  137.             array<img<3, 3>, 31> tile;
  138.             // 12/f472 (97472)
  139.             img<3, 1> bottom;
  140.             // 12/f4d2 (974d2)
  141.             array<img<2, 2>, 5> multiplier;
  142.             // 12/f752 (97752)
  143.             img<3, 10> left;
  144.  
  145.             // 12/fb12 (97b12)
  146.             u08 unk3[96];
  147.  
  148.             // 12/fb72 (97b72)
  149.             img<2, 3> background;
  150.             // 12/fc32 (97c32)
  151.             img<2, 2> pattern_star;
  152.             // 12/fcb2 (97cb2)
  153.             array<img<1, 1>, 16> frame;
  154.  
  155.             // 12/feb2 (97eb2)
  156.             u08 unk4[320];
  157.  
  158.             // 12/fff2 (97ff2)
  159.             u08 unk5[14];
  160.         } bingo;
  161.  
  162.         struct tileset_t
  163.         {
  164.             // 13/8000 (98000)
  165.             // pal 26,27,28 from data.palette 15600
  166.             imgn<248, 16> nihon;
  167.             // pal 29
  168.             imgn<186, 16> town;
  169.             // pal 30
  170.             imgn<186, 16> train;
  171.             // 13/cd80 (9cd80) pal 31
  172.             imgn<178, 16> cave;
  173.             // 13/e3c0 (9e3c0) pal 32
  174.             imgn<178, 16> fuji;
  175.             // 13/fa00 (9fa00)
  176.             array<img<2, 2>, 5> bingo_pattern;
  177.  
  178.             // 13/fc80 (9fc80)
  179.             u08 unk1[896];
  180.  
  181.             // 14/8000 (a0000)
  182.             imgn<178, 16> blue; // pal 33
  183.             // (a1640)
  184.             imgn<178, 16> tomb; // pal 34
  185.             // (a2c80)
  186.             imgn<178, 16> mine; // pal 35
  187.             // (a42c0)
  188.             imgn<178, 16> mountain; // pal 36
  189.             // (a5900)
  190.             imgn<178, 16> forest; // pal 37
  191.             // arrows
  192.             struct arrows_t
  193.             {
  194.                 // 14/ef40 (a6f40)
  195.                 img<2, 1> up;
  196.                 // (a6f80)
  197.                 img<1, 2> left;
  198.                 // (a6fc0)
  199.                 img<1, 2> right;
  200.                 // (a7000)
  201.                 img<2, 1> down;
  202.                 // 14/f040 (a7040)
  203.                 img<1, 1> up_right;
  204.             } arrows;
  205.  
  206.             // 14/f060 (a7060)
  207.             // window frame
  208.             array<img<1, 1>, 8> frame1;
  209.  
  210.             // text arrows
  211.             struct text_arrows_t
  212.             {
  213.                 // 14/f160 (a7160)
  214.                 img<2, 2> up;
  215.                 // 14/f1e0 (a71e0)
  216.                 img<2, 2> down;
  217.                 // 14/f260 (a7260)
  218.                 img<1, 2> right;
  219.             } text_arrows;
  220.  
  221.             img<2, 2> movement_circle;
  222.  
  223.             // (a7320)
  224.             array<img<2, 2>, 8> condition1;
  225.             // 14/f720 (a7720)
  226.             img<1, 1> map_marker;
  227.             // 14/f740 (a7740)
  228.             img<1, 1> blank;
  229.             // 14/f760 (a7760)
  230.             array<img<1, 1>, 8> frame2;
  231.             // 14/f860 (a7860)
  232.             array<img<2, 2>, 5> condition2;
  233.             // 14/fae0 (a7ae0)
  234.             // background tile patterns
  235.             array<img<1, 1>, 10> background;
  236.             // (a7c20)
  237.             // red square (daimyo trust)
  238.             img<3, 3> box;
  239.             // (a7d40)
  240.             // [100] (smaller digits)
  241.             img<2, 2> hundred;
  242.  
  243.             // 14/fdc0 (a7dc0)
  244.             u08 unk2[576];
  245.  
  246.             // 15/8000 (a8000)
  247.             // pal 38
  248.             imgn<178, 16> azuchi;
  249.         } tileset;
  250.  
  251.         struct compressed_t
  252.         {
  253.             // (a9640)
  254.             u08 iga_hiding[1826 + 2];
  255.             // (a9d64)
  256.             u08 iga_normal[2493 + 2];
  257.             // (aa723)
  258.             u08 iga_sorcerer[1834];
  259.             // (aae4d)
  260.             u08 iga_bushes[2136 + 2];
  261.             // (ab6a7)
  262.             u08 azuchi_enter[1970 + 2];
  263.             // (abe5b)
  264.             // warfare tiles + cutscene image
  265.             u08 warfare_cmb[3594 + 2];
  266.             // 15/cc67 (acc67)
  267.             u08 map[7535 + 2];
  268.         } cmp;
  269.  
  270.         struct dungeon_t
  271.         {
  272.             // 15/e9d8 (ae9d8)
  273.             array<img<2, 2>, 17> sprite;
  274.             //
  275.             img<2, 2, img<2, 2>> gate;
  276.         } dungeon;
  277.  
  278.         // 15/f458 (af458)
  279.         u08 unk_af458[2984];
  280.  
  281.         // combat sprites
  282.         struct combat_t
  283.         {
  284.             // 16/8000 (b0000)
  285.             array<img<3, 9>, 13> human1;
  286.             // (b2be0)
  287.             array<img<3, 6>, 3> human2;
  288.             // (b32a0)
  289.             array<img<3, 12>, 17> a;
  290.  
  291.             // (b7f20)
  292.             u08 unk1[224];
  293.  
  294.             // 17/8000 (b8000)
  295.             array<img<3, 12>, 3> b;
  296.             // (b8d80)
  297.             array<img<3, 8>, 7> c;
  298.             // (ba280)
  299.             array<img<4, 9>, 15> d;
  300.             // (be600)
  301.             array<img<4, 6>, 8> e;
  302.  
  303.             // (bfe00)
  304.             u08 unk2[512];
  305.  
  306.             // 18/8000 (c0000)
  307.             array<img<4, 6>, 5> f;
  308.             // (c0f00)
  309.             array<img<5, 15>, 12> g;
  310.                
  311.             // (c7f80)
  312.             u08 unk3[128];
  313.  
  314.             // 19/8000 (c8000)
  315.             array<img<5, 15>, 4> h;
  316.             // (ca580)
  317.             array<img<5, 10>, 3> i;
  318.         } combat;
  319.  
  320.         struct warfare_t
  321.         {
  322.             // 19/b840 (cb840)
  323.             img<8, 2> sprites1;
  324.             // (cba40)
  325.             img<16, 2> sprites2;
  326.             // (cbe40)
  327.             img<16, 4> dragon;
  328.             img<16, 4> ogre;
  329.             img<16, 4> tiger;
  330.             img<16, 4> giant;
  331.             img<16, 4> magic;
  332.             // (ce640)
  333.             img<3, 9> flame1;
  334.  
  335.             // (ce9a0)
  336.             u08 unk1[128];
  337.  
  338.             // (cea20)
  339.             img<3, 10> flame2;
  340.             // (cede0)
  341.             array<img<3, 3>, 2> explosion;
  342.             // (cf020)
  343.             img<11, 5> lightning;
  344.             // (cf700)
  345.             array<img<1, 1>, 10> numbers;
  346.         } warfare;
  347.  
  348.         // 19/f840 (cf840)
  349.         u08 unk_cf840[1984];
  350.  
  351.         struct town_t
  352.         {
  353.             struct location_t
  354.             {
  355.                 // 1a/8000 (d0000)
  356.                 img<3, 4> tower;
  357.                 img<3, 4> inn;
  358.                 img<3, 4> tea;
  359.                 img<3, 4> guild;
  360.                 img<3, 4> arms;
  361.                 img<3, 4> medic;
  362.                 img<3, 4> pawn;
  363.                 img<3, 4> bingo;
  364.                 img<3, 4> seer;
  365.             } location;
  366.  
  367.             struct portrait_t
  368.             {
  369.                 // 1a/8d80 (d0d80)
  370.                 img<3, 4> tea;
  371.                 img<3, 4> inn;
  372.                 img<3, 4> guild;
  373.                 img<3, 4> bingo;
  374.                 img<3, 4> tower;
  375.                 // 1a/9500 (d1500)
  376.                 img<3, 4> hero;
  377.                 img<3, 4> iga;
  378.                 img<3, 4> koga;
  379.                 img<3, 4> female;
  380.                 img<3, 4> negoro;
  381.                 img<3, 4> fuma;
  382.                 img<3, 4> mendicant;
  383.                 img<3, 4> sohei;
  384.                 img<3, 4> hermit;
  385.                 img<3, 4> sage;
  386.                 img<3, 4> sorcerer;
  387.                 img<3, 4> magician;
  388.                 img<3, 4> mystic;
  389.                 img<3, 4> samurai;
  390.                 img<3, 4> ronin;
  391.                 img<3, 4> swordsman;
  392.             } portrait;
  393.  
  394.             struct sprites_t
  395.             {
  396.                 // 1a/ad00 (d2d00)
  397.                 img<16, 2> hero;
  398.                 img<16, 2> otoko1;
  399.                 img<16, 2> otoko2;
  400.                 img<16, 2> onna1;
  401.                 img<16, 2> onna2;
  402.                 img<16, 2> otoko3;
  403.                 img<16, 2> otoko4;
  404.                 img<16, 2> otoko5;
  405.                 img<16, 2> ko1;
  406.                 img<16, 2> otoko6;
  407.                 img<16, 2> otoko7;
  408.                 img<16, 2> otoko8;
  409.                 // (d5d00)
  410.                 img<4, 2> guard;
  411.                 img<4, 2> elder;
  412.                 // (d5f00)
  413.                 img<16, 2> otoko9;
  414.                 img<16, 2> otokoa;
  415.                 img<16, 2> otokob;
  416.                 img<16, 2> otokoc;
  417.                 img<16, 2> otokod;
  418.                 img<16, 2> otokoe;
  419.                 img<16, 2> boat;
  420.             } sprite;
  421.  
  422.             // 1a/fb00 (d7b00)
  423.             // min/max health/energy
  424.             array<img<2, 2>, 4> cards;
  425.         } town;
  426.  
  427.         // 1a/fd00 (d7d00)
  428.         u08 unk_d7d00[768];
  429.  
  430.         struct spy_bg_t
  431.         {
  432.             // 1b/8000 (d8000)
  433.             // background tilesets
  434.             imgn<27, 8> castle;
  435.             imgn<48, 8> interior1;
  436.             imgn<22, 8> interior2;
  437.             imgn<85, 8> sabotage;
  438.         } spy_bg;
  439.  
  440.         // 1b/96c0 (d96c0)
  441.         u08 unk_d96c0[19803];
  442.  
  443.         struct koei_t
  444.         {
  445.             // 1b/e41b (de41b)
  446.             u08 koei_text[3657 + 2];
  447.             // 1b/f266 (df266)
  448.             u08 koei_logo[2778];
  449.         } koei;
  450.  
  451.         // 1b/fd40 (dfd40)
  452.         u08 unk_dfd40[704];
  453.  
  454.         // 1c/8000 (e0000)
  455.         u08 unk_e0000[30926];
  456.  
  457.         struct spy_t
  458.         {
  459.             // (e78ce)
  460.             array<img<2, 2>, 4> climbing;
  461.             // (e7ace)
  462.             img<2, 4> bales;
  463.             // (e7bce)
  464.             img<2, 4> shelf;
  465.         } spy;
  466.  
  467.         // (e7cce)
  468.         u08 unk_e7cce[818];
  469.  
  470.         // 1d/8000 (e8000)
  471.         u08 unk_e8000[16];
  472.  
  473.         // 1d/8010 (e8010)
  474.         // 2 bpp blank + numbers 0 - 9 (never used?)
  475.         array<tile<2>, 11> numbers;
  476.  
  477.         // compressed
  478.         struct ending_t
  479.         {
  480.             // 1d/80b0 (e80b0)
  481.             u08 padding_e80b0;
  482.  
  483.             // (e80c1)
  484.             u08 azuchi[3737 + 2];
  485.             // (e8f5c)
  486.             u08 rei[1625 + 2];
  487.             // (e95b7)
  488.             u08 swordsman[1451];
  489.             // (e9b62)
  490.             u08 monk[3923 + 2];
  491.             // (eaab7)
  492.             u08 hermit1[852 + 2];
  493.             // (eae0d)
  494.             u08 magician[1615 + 2];
  495.             // (eb45e)
  496.             u08 minka[4536 + 2];
  497.             // (ec618)
  498.             u08 flower1[2061 + 2];
  499.             // (ece27)
  500.             u08 flower2[3052];
  501.  
  502.             // 1d/da13 (eda13)
  503.             u08 unk_eda13[442];
  504.  
  505.             // (edbcd)
  506.             u08 rei2[1269 + 2];
  507.             // (ee0c4)
  508.             u08 smile[184 + 2];
  509.             // (ee17e)
  510.             u08 hermit2[1774 + 2];
  511.             // (ee86e)
  512.             u08 spell[477 + 2];
  513.             // (eea4d)
  514.             u08 back[1029 + 2];
  515.             // (eee54)
  516.             u08 end_text[219 + 2];
  517.             // (eef31)
  518.             u08 flames[2732 + 2];
  519.             // (ef9df)
  520.             u08 petals[27 + 2];
  521.             // (ef9fc)
  522.             u08 angle[34 + 2];
  523.         } ending;
  524.  
  525.         // 1d/fa20 (efa20)
  526.         u08 unk_efa20[1504];
  527.  
  528.         // 1e/8000 (f0000)
  529.         // 23 = kanji for "normal" / "default"
  530.         array<img<6, 2>, 76> kerned_text2;
  531.  
  532.         // 1e/f200 (f7200)
  533.         // output = img<12, 24>
  534.         // top 12 = transparent background
  535.         // bottom 12 = solid background
  536.         u08 compressed_font[2512];
  537.  
  538.         // 1e/fbd0 (f7bd0)
  539.         u08 unk_f7bd0[1072];
  540.  
  541.         // 1f/8000 (f8000)
  542.         u08 unk_f8000[32];
  543.  
  544.         struct bg_t
  545.         {
  546.             // (f8020) combat background tiles
  547.             // palettes from senmap.pal2 at 197ea
  548.             img<11, 1> sky1;
  549.             img<11, 1> sky2;
  550.             img<3, 1> tree1;
  551.             img<5, 1> tree2;
  552.             img<9, 1> grass;
  553.             snes::tile_t<4> gap1;
  554.             img<4, 6> cave_wall_floor;
  555.             img<1, 1> cave_floor;
  556.             snes::tile_t<4> gap2;
  557.             // (f8860)
  558.             img<3, 8> blue_wall_floor;
  559.             snes::tile_t<4> gap3;
  560.             // (f8b80)
  561.             img<6, 6> wood_wall_floor;
  562.             snes::tile_t<4> gap4;
  563.             // (f9020)
  564.             img<11, 1> cloud1;
  565.             img<11, 1> cloud2;
  566.             // (f92e0)
  567.             img<4, 3> brick;
  568.             snes::tile_t<4> gap5;
  569.             // (f9480)
  570.             array<img<4, 1>, 3> top;
  571.             img<4, 1> mid1;
  572.             img<3, 1> mid2;
  573.             img<4, 1> mid3;
  574.             array<img<4, 1>, 3> low1;
  575.             img<3, 1> low2;
  576.             // (f9940)
  577.             img<4, 1> bottom;
  578.             // (f99c0)
  579.             img<4, 1> board1;
  580.             img<3, 1> board2;
  581.             // (f9aa0)
  582.             img<12, 1> wood_floor;
  583.         } bg;
  584.  
  585.         // compressed
  586.         struct opening_t
  587.         {
  588.             // (f9c20)
  589.             u08 minka[1597 + 2];
  590.             // (fa25f)
  591.             u08 moon[616 + 2];
  592.             // (fa4c9)
  593.             u08 window[1752 + 2];
  594.             // (faba3)
  595.             u08 winmoon[2019 + 2];
  596.             // (fb388)
  597.             u08 momochi1[1524 + 2];
  598.             // (fb97e)
  599.             u08 momochi2[1529 + 2];
  600.             // (fbf79)
  601.             u08 attack[1967 + 2];
  602.             // (fc72a)
  603.             u08 nobunaga[2087 + 2];
  604.             // (fc7f5)
  605.             u08 hero[895 + 2];
  606.             // (fd2d4)
  607.             u08 title[2081];
  608.             // (fdaf5)
  609.             u08 meet[1827 + 2];
  610.             // (fe21a)
  611.             u08 back[1038 + 2];
  612.             // (fe62a)
  613.             u08 jump[1863 + 2];
  614.             // (fed73)
  615.             u08 train[2202];
  616.             // (ff60d)
  617.             u08 rei[1760];
  618.         } opening;
  619.  
  620.         // (ffced)
  621.         u08 unk_ffced[787];
  622.     };
  623. };
  624.  
  625. #pragma pack(pop)
  626.  
  627. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement