Ticket #8942: extract_mm_nes_cleanup.diff

File extract_mm_nes_cleanup.diff, 166.5 KB (added by SF/quietust, 15 years ago)

extract_mm_nes cleanup

  • extract_mm_nes.cpp

     
    11/* extract_mm_nes - Extract data files from NES version of Maniac Mansion
    2  * Copyright (C) 2004-2006  The ScummVM Team
     2 * Copyright (C) 2004-2008  The ScummVM Team
    33 *
    44 * This program is free software; you can redistribute it and/or
    55 * modify it under the terms of the GNU General Public License
     
    7070
    7171t_romset ROMset = NUM_ROMSETS;
    7272
    73 typedef struct _resource {
     73struct t_resource {
    7474        uint32 offset;
    7575        uint16 length;
     76};
     77
     78struct t_resgroup {
    7679        res_type type;
    77 }       t_resource, *p_resource;
     80        const struct t_resource *langs[NUM_ROMSETS];
     81};
    7882
    79 t_resource res_roomgfx_usa[40] = {
    80         { 0x04001, 0x03C9, NES_ROOMGFX }, { 0x043CA, 0x069E, NES_ROOMGFX }, { 0x04A68, 0x0327, NES_ROOMGFX }, { 0x04D8F, 0x053B, NES_ROOMGFX }, { 0x052CA, 0x06BE, NES_ROOMGFX },
    81         { 0x05988, 0x0682, NES_ROOMGFX }, { 0x0600A, 0x0778, NES_ROOMGFX }, { 0x06782, 0x0517, NES_ROOMGFX }, { 0x06C99, 0x07FB, NES_ROOMGFX }, { 0x07494, 0x07BE, NES_ROOMGFX },
    82         { 0x08001, 0x07A5, NES_ROOMGFX }, { 0x087A6, 0x06DD, NES_ROOMGFX }, { 0x08E83, 0x04EA, NES_ROOMGFX }, { 0x0936D, 0x0846, NES_ROOMGFX }, { 0x09BB3, 0x08C8, NES_ROOMGFX },
    83         { 0x0A47B, 0x0844, NES_ROOMGFX }, { 0x0ACBF, 0x0515, NES_ROOMGFX }, { 0x0B1D4, 0x0799, NES_ROOMGFX }, { 0x0B96D, 0x04BB, NES_ROOMGFX }, { 0x07C52, 0x0319, NES_ROOMGFX },
    84         { 0x0C001, 0x0464, NES_ROOMGFX }, { 0x0C465, 0x076D, NES_ROOMGFX }, { 0x0CBD2, 0x0827, NES_ROOMGFX }, { 0x0D3F9, 0x0515, NES_ROOMGFX }, { 0x0D90E, 0x064E, NES_ROOMGFX },
    85         { 0x0DF5C, 0x0775, NES_ROOMGFX }, { 0x0E6D1, 0x06DD, NES_ROOMGFX }, { 0x0EDAE, 0x0376, NES_ROOMGFX }, { 0x0F124, 0x05F7, NES_ROOMGFX }, { 0x0F71B, 0x0787, NES_ROOMGFX },
    86         { 0x10001, 0x02D6, NES_ROOMGFX }, { 0x102D7, 0x06A3, NES_ROOMGFX }, { 0x1097A, 0x099F, NES_ROOMGFX }, { 0x11319, 0x0361, NES_ROOMGFX }, { 0x1167A, 0x0489, NES_ROOMGFX },
    87         { 0x11B03, 0x0437, NES_ROOMGFX }, { 0x11F3A, 0x084D, NES_ROOMGFX }, { 0x0BE28, 0x0199, NES_ROOMGFX }, { 0x12787, 0x09A7, NES_ROOMGFX }, { 0x1312E, 0x037A, NES_ROOMGFX }
     83const struct t_resource res_roomgfx_usa[40] = {
     84        { 0x04001, 0x03C9 }, { 0x043CA, 0x069E }, { 0x04A68, 0x0327 }, { 0x04D8F, 0x053B }, { 0x052CA, 0x06BE },
     85        { 0x05988, 0x0682 }, { 0x0600A, 0x0778 }, { 0x06782, 0x0517 }, { 0x06C99, 0x07FB }, { 0x07494, 0x07BE },
     86        { 0x08001, 0x07A5 }, { 0x087A6, 0x06DD }, { 0x08E83, 0x04EA }, { 0x0936D, 0x0846 }, { 0x09BB3, 0x08C8 },
     87        { 0x0A47B, 0x0844 }, { 0x0ACBF, 0x0515 }, { 0x0B1D4, 0x0799 }, { 0x0B96D, 0x04BB }, { 0x07C52, 0x0319 },
     88        { 0x0C001, 0x0464 }, { 0x0C465, 0x076D }, { 0x0CBD2, 0x0827 }, { 0x0D3F9, 0x0515 }, { 0x0D90E, 0x064E },
     89        { 0x0DF5C, 0x0775 }, { 0x0E6D1, 0x06DD }, { 0x0EDAE, 0x0376 }, { 0x0F124, 0x05F7 }, { 0x0F71B, 0x0787 },
     90        { 0x10001, 0x02D6 }, { 0x102D7, 0x06A3 }, { 0x1097A, 0x099F }, { 0x11319, 0x0361 }, { 0x1167A, 0x0489 },
     91        { 0x11B03, 0x0437 }, { 0x11F3A, 0x084D }, { 0x0BE28, 0x0199 }, { 0x12787, 0x09A7 }, { 0x1312E, 0x037A }
    8892};
    8993
    90 t_resource res_roomgfx_eur[40] = {
    91         { 0x04001, 0x03B9, NES_ROOMGFX }, { 0x043BA, 0x069E, NES_ROOMGFX }, { 0x04A58, 0x0327, NES_ROOMGFX }, { 0x04D7F, 0x053B, NES_ROOMGFX }, { 0x052BA, 0x06BE, NES_ROOMGFX },
    92         { 0x05978, 0x0682, NES_ROOMGFX }, { 0x05FFA, 0x0778, NES_ROOMGFX }, { 0x06772, 0x0517, NES_ROOMGFX }, { 0x06C89, 0x07FB, NES_ROOMGFX }, { 0x07484, 0x07BE, NES_ROOMGFX },
    93         { 0x08001, 0x07A5, NES_ROOMGFX }, { 0x087A6, 0x06DD, NES_ROOMGFX }, { 0x08E83, 0x04EA, NES_ROOMGFX }, { 0x0936D, 0x0846, NES_ROOMGFX }, { 0x09BB3, 0x08C8, NES_ROOMGFX },
    94         { 0x0A47B, 0x0844, NES_ROOMGFX }, { 0x0ACBF, 0x0515, NES_ROOMGFX }, { 0x0B1D4, 0x0799, NES_ROOMGFX }, { 0x0B96D, 0x04BB, NES_ROOMGFX }, { 0x07C42, 0x0319, NES_ROOMGFX },
    95         { 0x0C001, 0x0464, NES_ROOMGFX }, { 0x0C465, 0x076D, NES_ROOMGFX }, { 0x0CBD2, 0x0827, NES_ROOMGFX }, { 0x0D3F9, 0x0515, NES_ROOMGFX }, { 0x0D90E, 0x064E, NES_ROOMGFX },
    96         { 0x0DF5C, 0x0775, NES_ROOMGFX }, { 0x0E6D1, 0x06DD, NES_ROOMGFX }, { 0x0EDAE, 0x0376, NES_ROOMGFX }, { 0x0F124, 0x05F7, NES_ROOMGFX }, { 0x0F71B, 0x0787, NES_ROOMGFX },
    97         { 0x10001, 0x02D6, NES_ROOMGFX }, { 0x102D7, 0x06A3, NES_ROOMGFX }, { 0x1097A, 0x099F, NES_ROOMGFX }, { 0x11319, 0x0361, NES_ROOMGFX }, { 0x1167A, 0x0489, NES_ROOMGFX },
    98         { 0x11B03, 0x0437, NES_ROOMGFX }, { 0x11F3A, 0x084D, NES_ROOMGFX }, { 0x12787, 0x0199, NES_ROOMGFX }, { 0x12920, 0x09A7, NES_ROOMGFX }, { 0x132C7, 0x037A, NES_ROOMGFX }
     94const struct t_resource res_roomgfx_eur[40] = {
     95        { 0x04001, 0x03B9 }, { 0x043BA, 0x069E }, { 0x04A58, 0x0327 }, { 0x04D7F, 0x053B }, { 0x052BA, 0x06BE },
     96        { 0x05978, 0x0682 }, { 0x05FFA, 0x0778 }, { 0x06772, 0x0517 }, { 0x06C89, 0x07FB }, { 0x07484, 0x07BE },
     97        { 0x08001, 0x07A5 }, { 0x087A6, 0x06DD }, { 0x08E83, 0x04EA }, { 0x0936D, 0x0846 }, { 0x09BB3, 0x08C8 },
     98        { 0x0A47B, 0x0844 }, { 0x0ACBF, 0x0515 }, { 0x0B1D4, 0x0799 }, { 0x0B96D, 0x04BB }, { 0x07C42, 0x0319 },
     99        { 0x0C001, 0x0464 }, { 0x0C465, 0x076D }, { 0x0CBD2, 0x0827 }, { 0x0D3F9, 0x0515 }, { 0x0D90E, 0x064E },
     100        { 0x0DF5C, 0x0775 }, { 0x0E6D1, 0x06DD }, { 0x0EDAE, 0x0376 }, { 0x0F124, 0x05F7 }, { 0x0F71B, 0x0787 },
     101        { 0x10001, 0x02D6 }, { 0x102D7, 0x06A3 }, { 0x1097A, 0x099F }, { 0x11319, 0x0361 }, { 0x1167A, 0x0489 },
     102        { 0x11B03, 0x0437 }, { 0x11F3A, 0x084D }, { 0x12787, 0x0199 }, { 0x12920, 0x09A7 }, { 0x132C7, 0x037A }
    99103};
    100104
    101 t_resource res_roomgfx_swe[40] = {
    102         { 0x04001, 0x03F0, NES_ROOMGFX }, { 0x043F1, 0x069E, NES_ROOMGFX }, { 0x04A8F, 0x0327, NES_ROOMGFX }, { 0x04DB6, 0x053B, NES_ROOMGFX }, { 0x052F1, 0x06BE, NES_ROOMGFX },
    103         { 0x059AF, 0x0682, NES_ROOMGFX }, { 0x06031, 0x0778, NES_ROOMGFX }, { 0x067A9, 0x0517, NES_ROOMGFX }, { 0x06CC0, 0x07FB, NES_ROOMGFX }, { 0x074BB, 0x07BE, NES_ROOMGFX },
    104         { 0x08001, 0x07A5, NES_ROOMGFX }, { 0x087A6, 0x06DD, NES_ROOMGFX }, { 0x08E83, 0x04EA, NES_ROOMGFX }, { 0x0936D, 0x07E2, NES_ROOMGFX }, { 0x09B4F, 0x0791, NES_ROOMGFX },
    105         { 0x0A2E0, 0x07B5, NES_ROOMGFX }, { 0x0AA95, 0x0515, NES_ROOMGFX }, { 0x0AFAA, 0x0799, NES_ROOMGFX }, { 0x0B743, 0x04BF, NES_ROOMGFX }, { 0x0BC02, 0x0319, NES_ROOMGFX },
    106         { 0x0C001, 0x0464, NES_ROOMGFX }, { 0x0C465, 0x072C, NES_ROOMGFX }, { 0x0CB91, 0x0827, NES_ROOMGFX }, { 0x0D3B8, 0x0515, NES_ROOMGFX }, { 0x0D8CD, 0x064E, NES_ROOMGFX },
    107         { 0x0DF1B, 0x0775, NES_ROOMGFX }, { 0x0E690, 0x06DD, NES_ROOMGFX }, { 0x0ED6D, 0x0376, NES_ROOMGFX }, { 0x0F0E3, 0x05F7, NES_ROOMGFX }, { 0x0F6DA, 0x0791, NES_ROOMGFX },
    108         { 0x07C79, 0x02D6, NES_ROOMGFX }, { 0x10001, 0x06A3, NES_ROOMGFX }, { 0x106A4, 0x0921, NES_ROOMGFX }, { 0x10FC5, 0x0361, NES_ROOMGFX }, { 0x11326, 0x0489, NES_ROOMGFX },
    109         { 0x117AF, 0x0437, NES_ROOMGFX }, { 0x11BE6, 0x084F, NES_ROOMGFX }, { 0x12435, 0x0199, NES_ROOMGFX }, { 0x125CE, 0x0947, NES_ROOMGFX }, { 0x12F15, 0x037A, NES_ROOMGFX }
     105const struct t_resource res_roomgfx_swe[40] = {
     106        { 0x04001, 0x03F0 }, { 0x043F1, 0x069E }, { 0x04A8F, 0x0327 }, { 0x04DB6, 0x053B }, { 0x052F1, 0x06BE },
     107        { 0x059AF, 0x0682 }, { 0x06031, 0x0778 }, { 0x067A9, 0x0517 }, { 0x06CC0, 0x07FB }, { 0x074BB, 0x07BE },
     108        { 0x08001, 0x07A5 }, { 0x087A6, 0x06DD }, { 0x08E83, 0x04EA }, { 0x0936D, 0x07E2 }, { 0x09B4F, 0x0791 },
     109        { 0x0A2E0, 0x07B5 }, { 0x0AA95, 0x0515 }, { 0x0AFAA, 0x0799 }, { 0x0B743, 0x04BF }, { 0x0BC02, 0x0319 },
     110        { 0x0C001, 0x0464 }, { 0x0C465, 0x072C }, { 0x0CB91, 0x0827 }, { 0x0D3B8, 0x0515 }, { 0x0D8CD, 0x064E },
     111        { 0x0DF1B, 0x0775 }, { 0x0E690, 0x06DD }, { 0x0ED6D, 0x0376 }, { 0x0F0E3, 0x05F7 }, { 0x0F6DA, 0x0791 },
     112        { 0x07C79, 0x02D6 }, { 0x10001, 0x06A3 }, { 0x106A4, 0x0921 }, { 0x10FC5, 0x0361 }, { 0x11326, 0x0489 },
     113        { 0x117AF, 0x0437 }, { 0x11BE6, 0x084F }, { 0x12435, 0x0199 }, { 0x125CE, 0x0947 }, { 0x12F15, 0x037A }
    110114};
    111115
    112 t_resource res_roomgfx_fra[40] = {
    113         { 0x04001, 0x0426, NES_ROOMGFX }, { 0x04427, 0x069E, NES_ROOMGFX }, { 0x04AC5, 0x0327, NES_ROOMGFX }, { 0x04DEC, 0x053B, NES_ROOMGFX }, { 0x05327, 0x06BE, NES_ROOMGFX },
    114         { 0x059E5, 0x0682, NES_ROOMGFX }, { 0x06067, 0x0778, NES_ROOMGFX }, { 0x067DF, 0x0517, NES_ROOMGFX }, { 0x06CF6, 0x07FB, NES_ROOMGFX }, { 0x074F1, 0x07BE, NES_ROOMGFX },
    115         { 0x08001, 0x07A5, NES_ROOMGFX }, { 0x087A6, 0x06DD, NES_ROOMGFX }, { 0x08E83, 0x04EA, NES_ROOMGFX }, { 0x0936D, 0x07E2, NES_ROOMGFX }, { 0x09B4F, 0x0791, NES_ROOMGFX },
    116         { 0x0A2E0, 0x07B5, NES_ROOMGFX }, { 0x0AA95, 0x0515, NES_ROOMGFX }, { 0x0AFAA, 0x0799, NES_ROOMGFX }, { 0x0B743, 0x04BB, NES_ROOMGFX }, { 0x0BBFE, 0x0319, NES_ROOMGFX },
    117         { 0x0C001, 0x0464, NES_ROOMGFX }, { 0x0C465, 0x072C, NES_ROOMGFX }, { 0x0CB91, 0x0827, NES_ROOMGFX }, { 0x0D3B8, 0x0515, NES_ROOMGFX }, { 0x0D8CD, 0x064E, NES_ROOMGFX },
    118         { 0x0DF1B, 0x0775, NES_ROOMGFX }, { 0x0E690, 0x06DD, NES_ROOMGFX }, { 0x0ED6D, 0x0376, NES_ROOMGFX }, { 0x0F0E3, 0x05F7, NES_ROOMGFX }, { 0x0F6DA, 0x0787, NES_ROOMGFX },
    119         { 0x10001, 0x02D6, NES_ROOMGFX }, { 0x102D7, 0x06A3, NES_ROOMGFX }, { 0x1097A, 0x0921, NES_ROOMGFX }, { 0x1129B, 0x0361, NES_ROOMGFX }, { 0x115FC, 0x0489, NES_ROOMGFX },
    120         { 0x11A85, 0x0437, NES_ROOMGFX }, { 0x11EBC, 0x070D, NES_ROOMGFX }, { 0x07CAF, 0x0199, NES_ROOMGFX }, { 0x125C9, 0x0947, NES_ROOMGFX }, { 0x12F10, 0x037A, NES_ROOMGFX }
     116const struct t_resource res_roomgfx_fra[40] = {
     117        { 0x04001, 0x0426 }, { 0x04427, 0x069E }, { 0x04AC5, 0x0327 }, { 0x04DEC, 0x053B }, { 0x05327, 0x06BE },
     118        { 0x059E5, 0x0682 }, { 0x06067, 0x0778 }, { 0x067DF, 0x0517 }, { 0x06CF6, 0x07FB }, { 0x074F1, 0x07BE },
     119        { 0x08001, 0x07A5 }, { 0x087A6, 0x06DD }, { 0x08E83, 0x04EA }, { 0x0936D, 0x07E2 }, { 0x09B4F, 0x0791 },
     120        { 0x0A2E0, 0x07B5 }, { 0x0AA95, 0x0515 }, { 0x0AFAA, 0x0799 }, { 0x0B743, 0x04BB }, { 0x0BBFE, 0x0319 },
     121        { 0x0C001, 0x0464 }, { 0x0C465, 0x072C }, { 0x0CB91, 0x0827 }, { 0x0D3B8, 0x0515 }, { 0x0D8CD, 0x064E },
     122        { 0x0DF1B, 0x0775 }, { 0x0E690, 0x06DD }, { 0x0ED6D, 0x0376 }, { 0x0F0E3, 0x05F7 }, { 0x0F6DA, 0x0787 },
     123        { 0x10001, 0x02D6 }, { 0x102D7, 0x06A3 }, { 0x1097A, 0x0921 }, { 0x1129B, 0x0361 }, { 0x115FC, 0x0489 },
     124        { 0x11A85, 0x0437 }, { 0x11EBC, 0x070D }, { 0x07CAF, 0x0199 }, { 0x125C9, 0x0947 }, { 0x12F10, 0x037A }
    121125};
    122126
    123 t_resource res_roomgfx_ger[40] = {
    124         { 0x04001, 0x0406, NES_ROOMGFX }, { 0x04407, 0x069E, NES_ROOMGFX }, { 0x04AA5, 0x0327, NES_ROOMGFX }, { 0x04DCC, 0x053B, NES_ROOMGFX }, { 0x05307, 0x06BE, NES_ROOMGFX },
    125         { 0x059C5, 0x0682, NES_ROOMGFX }, { 0x06047, 0x0778, NES_ROOMGFX }, { 0x067BF, 0x0517, NES_ROOMGFX }, { 0x06CD6, 0x07FB, NES_ROOMGFX }, { 0x074D1, 0x07BE, NES_ROOMGFX },
    126         { 0x08001, 0x07A5, NES_ROOMGFX }, { 0x087A6, 0x06DD, NES_ROOMGFX }, { 0x08E83, 0x04EA, NES_ROOMGFX }, { 0x0936D, 0x07E2, NES_ROOMGFX }, { 0x09B4F, 0x0791, NES_ROOMGFX },
    127         { 0x0A2E0, 0x07B5, NES_ROOMGFX }, { 0x0AA95, 0x0515, NES_ROOMGFX }, { 0x0AFAA, 0x0799, NES_ROOMGFX }, { 0x0B743, 0x04BB, NES_ROOMGFX }, { 0x0BBFE, 0x0319, NES_ROOMGFX },
    128         { 0x0C001, 0x0464, NES_ROOMGFX }, { 0x0C465, 0x072C, NES_ROOMGFX }, { 0x0CB91, 0x0827, NES_ROOMGFX }, { 0x0D3B8, 0x0515, NES_ROOMGFX }, { 0x0D8CD, 0x064E, NES_ROOMGFX },
    129         { 0x0DF1B, 0x0775, NES_ROOMGFX }, { 0x0E690, 0x06DD, NES_ROOMGFX }, { 0x0ED6D, 0x0376, NES_ROOMGFX }, { 0x0F0E3, 0x05F7, NES_ROOMGFX }, { 0x0F6DA, 0x0787, NES_ROOMGFX },
    130         { 0x07C8F, 0x02D6, NES_ROOMGFX }, { 0x10001, 0x06A3, NES_ROOMGFX }, { 0x106A4, 0x0921, NES_ROOMGFX }, { 0x10FC5, 0x0361, NES_ROOMGFX }, { 0x11326, 0x0489, NES_ROOMGFX },
    131         { 0x117AF, 0x0437, NES_ROOMGFX }, { 0x11BE6, 0x07A0, NES_ROOMGFX }, { 0x12386, 0x0199, NES_ROOMGFX }, { 0x1251F, 0x0947, NES_ROOMGFX }, { 0x12E66, 0x037A, NES_ROOMGFX }
     127const struct t_resource res_roomgfx_ger[40] = {
     128        { 0x04001, 0x0406 }, { 0x04407, 0x069E }, { 0x04AA5, 0x0327 }, { 0x04DCC, 0x053B }, { 0x05307, 0x06BE },
     129        { 0x059C5, 0x0682 }, { 0x06047, 0x0778 }, { 0x067BF, 0x0517 }, { 0x06CD6, 0x07FB }, { 0x074D1, 0x07BE },
     130        { 0x08001, 0x07A5 }, { 0x087A6, 0x06DD }, { 0x08E83, 0x04EA }, { 0x0936D, 0x07E2 }, { 0x09B4F, 0x0791 },
     131        { 0x0A2E0, 0x07B5 }, { 0x0AA95, 0x0515 }, { 0x0AFAA, 0x0799 }, { 0x0B743, 0x04BB }, { 0x0BBFE, 0x0319 },
     132        { 0x0C001, 0x0464 }, { 0x0C465, 0x072C }, { 0x0CB91, 0x0827 }, { 0x0D3B8, 0x0515 }, { 0x0D8CD, 0x064E },
     133        { 0x0DF1B, 0x0775 }, { 0x0E690, 0x06DD }, { 0x0ED6D, 0x0376 }, { 0x0F0E3, 0x05F7 }, { 0x0F6DA, 0x0787 },
     134        { 0x07C8F, 0x02D6 }, { 0x10001, 0x06A3 }, { 0x106A4, 0x0921 }, { 0x10FC5, 0x0361 }, { 0x11326, 0x0489 },
     135        { 0x117AF, 0x0437 }, { 0x11BE6, 0x07A0 }, { 0x12386, 0x0199 }, { 0x1251F, 0x0947 }, { 0x12E66, 0x037A }
    132136};
    133137
    134 t_resource res_roomgfx_esp[40] = {
    135         { 0x04001, 0x041B, NES_ROOMGFX }, { 0x0441C, 0x069E, NES_ROOMGFX }, { 0x04ABA, 0x0327, NES_ROOMGFX }, { 0x04DE1, 0x053B, NES_ROOMGFX }, { 0x0531C, 0x06BE, NES_ROOMGFX },
    136         { 0x059DA, 0x0682, NES_ROOMGFX }, { 0x0605C, 0x0778, NES_ROOMGFX }, { 0x067D4, 0x0517, NES_ROOMGFX }, { 0x06CEB, 0x07FB, NES_ROOMGFX }, { 0x074E6, 0x07BE, NES_ROOMGFX },
    137         { 0x08001, 0x07A5, NES_ROOMGFX }, { 0x087A6, 0x06DD, NES_ROOMGFX }, { 0x08E83, 0x04EA, NES_ROOMGFX }, { 0x0936D, 0x07E2, NES_ROOMGFX }, { 0x09B4F, 0x0791, NES_ROOMGFX },
    138         { 0x0A2E0, 0x07B5, NES_ROOMGFX }, { 0x0AA95, 0x0515, NES_ROOMGFX }, { 0x0AFAA, 0x0799, NES_ROOMGFX }, { 0x0B743, 0x04B9, NES_ROOMGFX }, { 0x0BBFC, 0x0319, NES_ROOMGFX },
    139         { 0x0C001, 0x0464, NES_ROOMGFX }, { 0x0C465, 0x072C, NES_ROOMGFX }, { 0x0CB91, 0x0827, NES_ROOMGFX }, { 0x0D3B8, 0x0515, NES_ROOMGFX }, { 0x0D8CD, 0x064E, NES_ROOMGFX },
    140         { 0x0DF1B, 0x0775, NES_ROOMGFX }, { 0x0E690, 0x06DD, NES_ROOMGFX }, { 0x0ED6D, 0x0376, NES_ROOMGFX }, { 0x0F0E3, 0x05F7, NES_ROOMGFX }, { 0x0F6DA, 0x078D, NES_ROOMGFX },
    141         { 0x07CA4, 0x02D6, NES_ROOMGFX }, { 0x10001, 0x06A3, NES_ROOMGFX }, { 0x106A4, 0x091F, NES_ROOMGFX }, { 0x10FC3, 0x0361, NES_ROOMGFX }, { 0x11324, 0x0489, NES_ROOMGFX },
    142         { 0x117AD, 0x0437, NES_ROOMGFX }, { 0x11BE4, 0x086E, NES_ROOMGFX }, { 0x12452, 0x0199, NES_ROOMGFX }, { 0x125EB, 0x0947, NES_ROOMGFX }, { 0x12F32, 0x037A, NES_ROOMGFX }
     138const struct t_resource res_roomgfx_esp[40] = {
     139        { 0x04001, 0x041B }, { 0x0441C, 0x069E }, { 0x04ABA, 0x0327 }, { 0x04DE1, 0x053B }, { 0x0531C, 0x06BE },
     140        { 0x059DA, 0x0682 }, { 0x0605C, 0x0778 }, { 0x067D4, 0x0517 }, { 0x06CEB, 0x07FB }, { 0x074E6, 0x07BE },
     141        { 0x08001, 0x07A5 }, { 0x087A6, 0x06DD }, { 0x08E83, 0x04EA }, { 0x0936D, 0x07E2 }, { 0x09B4F, 0x0791 },
     142        { 0x0A2E0, 0x07B5 }, { 0x0AA95, 0x0515 }, { 0x0AFAA, 0x0799 }, { 0x0B743, 0x04B9 }, { 0x0BBFC, 0x0319 },
     143        { 0x0C001, 0x0464 }, { 0x0C465, 0x072C }, { 0x0CB91, 0x0827 }, { 0x0D3B8, 0x0515 }, { 0x0D8CD, 0x064E },
     144        { 0x0DF1B, 0x0775 }, { 0x0E690, 0x06DD }, { 0x0ED6D, 0x0376 }, { 0x0F0E3, 0x05F7 }, { 0x0F6DA, 0x078D },
     145        { 0x07CA4, 0x02D6 }, { 0x10001, 0x06A3 }, { 0x106A4, 0x091F }, { 0x10FC3, 0x0361 }, { 0x11324, 0x0489 },
     146        { 0x117AD, 0x0437 }, { 0x11BE4, 0x086E }, { 0x12452, 0x0199 }, { 0x125EB, 0x0947 }, { 0x12F32, 0x037A }
    143147};
    144148
    145 p_resource res_roomgfx[NUM_ROMSETS] = {
     149const struct t_resgroup res_roomgfx = {
     150        NES_ROOMGFX,
     151        {
    146152        res_roomgfx_usa,
    147153        res_roomgfx_eur,
    148154        res_roomgfx_swe,
    149155        res_roomgfx_fra,
    150156        res_roomgfx_ger,
    151157        res_roomgfx_esp,
     158        }
    152159};
    153160
    154 t_resource res_costumegfx_usa[2] = { { 0x30001, 0x0EB8, NES_COSTUMEGFX }, { 0x2F9F1, 0x0340, NES_COSTUMEGFX } };
    155 t_resource res_costumegfx_eur[2] = { { 0x30001, 0x0EB8, NES_COSTUMEGFX }, { 0x2F9F1, 0x0340, NES_COSTUMEGFX } };
    156 t_resource res_costumegfx_swe[2] = { { 0x2EFE1, 0x0EB8, NES_COSTUMEGFX }, { 0x30001, 0x0340, NES_COSTUMEGFX } };
    157 t_resource res_costumegfx_fra[2] = { { 0x30001, 0x0EB8, NES_COSTUMEGFX }, { 0x2F608, 0x0340, NES_COSTUMEGFX } };
    158 t_resource res_costumegfx_ger[2] = { { 0x30001, 0x0EB8, NES_COSTUMEGFX }, { 0x2F4CE, 0x0340, NES_COSTUMEGFX } };
    159 t_resource res_costumegfx_esp[2] = { { 0x30001, 0x0EB8, NES_COSTUMEGFX }, { 0x2F0F6, 0x0340, NES_COSTUMEGFX } };
     161const struct t_resource res_costumegfx_usa[2] = { { 0x30001, 0x0EB8 }, { 0x2F9F1, 0x0340 } };
     162const struct t_resource res_costumegfx_eur[2] = { { 0x30001, 0x0EB8 }, { 0x2F9F1, 0x0340 } };
     163const struct t_resource res_costumegfx_swe[2] = { { 0x2EFE1, 0x0EB8 }, { 0x30001, 0x0340 } };
     164const struct t_resource res_costumegfx_fra[2] = { { 0x30001, 0x0EB8 }, { 0x2F608, 0x0340 } };
     165const struct t_resource res_costumegfx_ger[2] = { { 0x30001, 0x0EB8 }, { 0x2F4CE, 0x0340 } };
     166const struct t_resource res_costumegfx_esp[2] = { { 0x30001, 0x0EB8 }, { 0x2F0F6, 0x0340 } };
    160167
    161 p_resource res_costumegfx[NUM_ROMSETS] = {
     168const struct t_resgroup res_costumegfx = {
     169        NES_COSTUMEGFX,
     170        {
    162171        res_costumegfx_usa,
    163172        res_costumegfx_eur,
    164173        res_costumegfx_swe,
    165174        res_costumegfx_fra,
    166175        res_costumegfx_ger,
    167176        res_costumegfx_esp,
     177        }
    168178};
    169179
    170 t_resource res_rooms_usa[55] = {
    171         { 0x00000, 0x0000, NES_ROOM }, { 0x14001, 0x0D0C, NES_ROOM }, { 0x134A8, 0x04B3, NES_ROOM }, { 0x15397, 0x0849, NES_ROOM }, { 0x15C68, 0x0685, NES_ROOM },
    172         { 0x16381, 0x0715, NES_ROOM }, { 0x1395B, 0x04E7, NES_ROOM }, { 0x16CE8, 0x0AC0, NES_ROOM }, { 0x18001, 0x06BA, NES_ROOM }, { 0x17AED, 0x03CB, NES_ROOM },
    173         { 0x18BE7, 0x0663, NES_ROOM }, { 0x192A6, 0x0580, NES_ROOM }, { 0x19A44, 0x0443, NES_ROOM }, { 0x1A106, 0x0563, NES_ROOM }, { 0x1A669, 0x0446, NES_ROOM },
    174         { 0x1AAAF, 0x03A7, NES_ROOM }, { 0x1AE56, 0x07E3, NES_ROOM }, { 0x1B699, 0x0692, NES_ROOM }, { 0x1C001, 0x0B49, NES_ROOM }, { 0x1CD09, 0x04C6, NES_ROOM },
    175         { 0x1D4C2, 0x0568, NES_ROOM }, { 0x1DF6C, 0x0514, NES_ROOM }, { 0x1E8FA, 0x05CC, NES_ROOM }, { 0x1EF83, 0x0389, NES_ROOM }, { 0x1F5E4, 0x0723, NES_ROOM },
    176         { 0x20001, 0x049A, NES_ROOM }, { 0x20511, 0x04F8, NES_ROOM }, { 0x21666, 0x05CB, NES_ROOM }, { 0x21DD6, 0x046B, NES_ROOM }, { 0x222F0, 0x0460, NES_ROOM },
    177         { 0x227B6, 0x0909, NES_ROOM }, { 0x24001, 0x0366, NES_ROOM }, { 0x23BDF, 0x03CA, NES_ROOM }, { 0x247DB, 0x050D, NES_ROOM }, { 0x25ACF, 0x0346, NES_ROOM },
    178         { 0x1BDBD, 0x01CA, NES_ROOM }, { 0x25E15, 0x0457, NES_ROOM }, { 0x2626C, 0x0547, NES_ROOM }, { 0x267B3, 0x064A, NES_ROOM }, { 0x1FD72, 0x024B, NES_ROOM },
    179         { 0x2739A, 0x01FA, NES_ROOM }, { 0x2766D, 0x0219, NES_ROOM }, { 0x28001, 0x02F4, NES_ROOM }, { 0x284D6, 0x045C, NES_ROOM }, { 0x289A3, 0x09CF, NES_ROOM },
    180         { 0x293C6, 0x05A0, NES_ROOM }, { 0x27B65, 0x0201, NES_ROOM }, { 0x2ADD1, 0x0325, NES_ROOM }, { 0x2B339, 0x01FC, NES_ROOM }, { 0x2B535, 0x02A9, NES_ROOM },
    181         { 0x2B7DE, 0x02DE, NES_ROOM }, { 0x2C001, 0x03CE, NES_ROOM }, { 0x2BBC0, 0x0205, NES_ROOM }, { 0x2C53A, 0x0170, NES_ROOM }, { 0x13E42, 0x0169, NES_ROOM }
     180const struct t_resource res_rooms_usa[55] = {
     181        { 0x00000, 0x0000 }, { 0x14001, 0x0D0C }, { 0x134A8, 0x04B3 }, { 0x15397, 0x0849 }, { 0x15C68, 0x0685 },
     182        { 0x16381, 0x0715 }, { 0x1395B, 0x04E7 }, { 0x16CE8, 0x0AC0 }, { 0x18001, 0x06BA }, { 0x17AED, 0x03CB },
     183        { 0x18BE7, 0x0663 }, { 0x192A6, 0x0580 }, { 0x19A44, 0x0443 }, { 0x1A106, 0x0563 }, { 0x1A669, 0x0446 },
     184        { 0x1AAAF, 0x03A7 }, { 0x1AE56, 0x07E3 }, { 0x1B699, 0x0692 }, { 0x1C001, 0x0B49 }, { 0x1CD09, 0x04C6 },
     185        { 0x1D4C2, 0x0568 }, { 0x1DF6C, 0x0514 }, { 0x1E8FA, 0x05CC }, { 0x1EF83, 0x0389 }, { 0x1F5E4, 0x0723 },
     186        { 0x20001, 0x049A }, { 0x20511, 0x04F8 }, { 0x21666, 0x05CB }, { 0x21DD6, 0x046B }, { 0x222F0, 0x0460 },
     187        { 0x227B6, 0x0909 }, { 0x24001, 0x0366 }, { 0x23BDF, 0x03CA }, { 0x247DB, 0x050D }, { 0x25ACF, 0x0346 },
     188        { 0x1BDBD, 0x01CA }, { 0x25E15, 0x0457 }, { 0x2626C, 0x0547 }, { 0x267B3, 0x064A }, { 0x1FD72, 0x024B },
     189        { 0x2739A, 0x01FA }, { 0x2766D, 0x0219 }, { 0x28001, 0x02F4 }, { 0x284D6, 0x045C }, { 0x289A3, 0x09CF },
     190        { 0x293C6, 0x05A0 }, { 0x27B65, 0x0201 }, { 0x2ADD1, 0x0325 }, { 0x2B339, 0x01FC }, { 0x2B535, 0x02A9 },
     191        { 0x2B7DE, 0x02DE }, { 0x2C001, 0x03CE }, { 0x2BBC0, 0x0205 }, { 0x2C53A, 0x0170 }, { 0x13E42, 0x0169 }
    182192};
    183193
    184 t_resource res_rooms_eur[55] = {
    185         { 0x00000, 0x0000, NES_ROOM }, { 0x14001, 0x0D0C, NES_ROOM }, { 0x13641, 0x04B3, NES_ROOM }, { 0x15397, 0x0849, NES_ROOM }, { 0x15C68, 0x0685, NES_ROOM },
    186         { 0x16381, 0x0715, NES_ROOM }, { 0x16CE8, 0x04E7, NES_ROOM }, { 0x18001, 0x0ABF, NES_ROOM }, { 0x171CF, 0x06BA, NES_ROOM }, { 0x13AF4, 0x03D2, NES_ROOM },
    187         { 0x18E1A, 0x0663, NES_ROOM }, { 0x194D9, 0x04A9, NES_ROOM }, { 0x19BA0, 0x0443, NES_ROOM }, { 0x1A262, 0x047C, NES_ROOM }, { 0x1A6DE, 0x0446, NES_ROOM },
    188         { 0x1AB24, 0x03A7, NES_ROOM }, { 0x1AECB, 0x07E3, NES_ROOM }, { 0x1B70E, 0x0692, NES_ROOM }, { 0x1C001, 0x0ACA, NES_ROOM }, { 0x1CC8A, 0x04C6, NES_ROOM },
    189         { 0x1D443, 0x0568, NES_ROOM }, { 0x1DEED, 0x0514, NES_ROOM }, { 0x1E87B, 0x05CC, NES_ROOM }, { 0x1EF04, 0x0389, NES_ROOM }, { 0x1F565, 0x0723, NES_ROOM },
    190         { 0x20001, 0x049A, NES_ROOM }, { 0x20511, 0x04F8, NES_ROOM }, { 0x21666, 0x05D5, NES_ROOM }, { 0x21DE0, 0x046B, NES_ROOM }, { 0x222FA, 0x0460, NES_ROOM },
    191         { 0x227C0, 0x0909, NES_ROOM }, { 0x24001, 0x0366, NES_ROOM }, { 0x247DB, 0x03CA, NES_ROOM }, { 0x24BA5, 0x050D, NES_ROOM }, { 0x23BE9, 0x0346, NES_ROOM },
    192         { 0x17DB5, 0x01CA, NES_ROOM }, { 0x25E99, 0x0457, NES_ROOM }, { 0x262F0, 0x0547, NES_ROOM }, { 0x26837, 0x064A, NES_ROOM }, { 0x1FCF3, 0x024B, NES_ROOM },
    193         { 0x2741E, 0x01FA, NES_ROOM }, { 0x276F1, 0x0219, NES_ROOM }, { 0x28001, 0x02F4, NES_ROOM }, { 0x284D6, 0x045C, NES_ROOM }, { 0x289A3, 0x09CF, NES_ROOM },
    194         { 0x293C6, 0x05A0, NES_ROOM }, { 0x27BE9, 0x0201, NES_ROOM }, { 0x2ADE3, 0x0325, NES_ROOM }, { 0x2B34B, 0x01FC, NES_ROOM }, { 0x2B547, 0x02A9, NES_ROOM },
    195         { 0x2B7F0, 0x02DE, NES_ROOM }, { 0x2C001, 0x03CE, NES_ROOM }, { 0x2BBD2, 0x0205, NES_ROOM }, { 0x2C53A, 0x0170, NES_ROOM }, { 0x2BDD7, 0x0169, NES_ROOM }
     194const struct t_resource res_rooms_eur[55] = {
     195        { 0x00000, 0x0000 }, { 0x14001, 0x0D0C }, { 0x13641, 0x04B3 }, { 0x15397, 0x0849 }, { 0x15C68, 0x0685 },
     196        { 0x16381, 0x0715 }, { 0x16CE8, 0x04E7 }, { 0x18001, 0x0ABF }, { 0x171CF, 0x06BA }, { 0x13AF4, 0x03D2 },
     197        { 0x18E1A, 0x0663 }, { 0x194D9, 0x04A9 }, { 0x19BA0, 0x0443 }, { 0x1A262, 0x047C }, { 0x1A6DE, 0x0446 },
     198        { 0x1AB24, 0x03A7 }, { 0x1AECB, 0x07E3 }, { 0x1B70E, 0x0692 }, { 0x1C001, 0x0ACA }, { 0x1CC8A, 0x04C6 },
     199        { 0x1D443, 0x0568 }, { 0x1DEED, 0x0514 }, { 0x1E87B, 0x05CC }, { 0x1EF04, 0x0389 }, { 0x1F565, 0x0723 },
     200        { 0x20001, 0x049A }, { 0x20511, 0x04F8 }, { 0x21666, 0x05D5 }, { 0x21DE0, 0x046B }, { 0x222FA, 0x0460 },
     201        { 0x227C0, 0x0909 }, { 0x24001, 0x0366 }, { 0x247DB, 0x03CA }, { 0x24BA5, 0x050D }, { 0x23BE9, 0x0346 },
     202        { 0x17DB5, 0x01CA }, { 0x25E99, 0x0457 }, { 0x262F0, 0x0547 }, { 0x26837, 0x064A }, { 0x1FCF3, 0x024B },
     203        { 0x2741E, 0x01FA }, { 0x276F1, 0x0219 }, { 0x28001, 0x02F4 }, { 0x284D6, 0x045C }, { 0x289A3, 0x09CF },
     204        { 0x293C6, 0x05A0 }, { 0x27BE9, 0x0201 }, { 0x2ADE3, 0x0325 }, { 0x2B34B, 0x01FC }, { 0x2B547, 0x02A9 },
     205        { 0x2B7F0, 0x02DE }, { 0x2C001, 0x03CE }, { 0x2BBD2, 0x0205 }, { 0x2C53A, 0x0170 }, { 0x2BDD7, 0x0169 }
    196206};
    197207
    198 t_resource res_rooms_swe[55] = {
    199         { 0x00000, 0x0000, NES_ROOM }, { 0x14001, 0x0D12, NES_ROOM }, { 0x1328F, 0x04B3, NES_ROOM }, { 0x15367, 0x0859, NES_ROOM }, { 0x13742, 0x0694, NES_ROOM },
    200         { 0x15C45, 0x0707, NES_ROOM }, { 0x1658F, 0x04E0, NES_ROOM }, { 0x16A6F, 0x0AC8, NES_ROOM }, { 0x18001, 0x06C7, NES_ROOM }, { 0x1789C, 0x03EA, NES_ROOM },
    201         { 0x18C09, 0x0649, NES_ROOM }, { 0x192AE, 0x04AB, NES_ROOM }, { 0x19982, 0x0447, NES_ROOM }, { 0x1A04D, 0x047E, NES_ROOM }, { 0x1A4CB, 0x0444, NES_ROOM },
    202         { 0x1A90F, 0x03B9, NES_ROOM }, { 0x1ACC8, 0x07E9, NES_ROOM }, { 0x1B511, 0x06A4, NES_ROOM }, { 0x1C001, 0x0B1A, NES_ROOM }, { 0x1CCFD, 0x0486, NES_ROOM },
    203         { 0x1D482, 0x0579, NES_ROOM }, { 0x1DF61, 0x051E, NES_ROOM }, { 0x1E8EC, 0x05CF, NES_ROOM }, { 0x1EF73, 0x0398, NES_ROOM }, { 0x1F5F0, 0x071A, NES_ROOM },
    204         { 0x20001, 0x049C, NES_ROOM }, { 0x2051E, 0x051E, NES_ROOM }, { 0x21725, 0x05D5, NES_ROOM }, { 0x21EA5, 0x047F, NES_ROOM }, { 0x223D1, 0x0460, NES_ROOM },
    205         { 0x22897, 0x090D, NES_ROOM }, { 0x24001, 0x0378, NES_ROOM }, { 0x247C9, 0x03CA, NES_ROOM }, { 0x24B93, 0x050D, NES_ROOM }, { 0x25267, 0x0346, NES_ROOM },
    206         { 0x17CD0, 0x01CA, NES_ROOM }, { 0x255AD, 0x0453, NES_ROOM }, { 0x25A00, 0x053E, NES_ROOM }, { 0x25F3E, 0x0647, NES_ROOM }, { 0x1BC49, 0x024B, NES_ROOM },
    207         { 0x26B58, 0x01FA, NES_ROOM }, { 0x26E27, 0x0217, NES_ROOM }, { 0x27345, 0x02F4, NES_ROOM }, { 0x27829, 0x045C, NES_ROOM }, { 0x28001, 0x098A, NES_ROOM },
    208         { 0x289DF, 0x05A1, NES_ROOM }, { 0x2A442, 0x0201, NES_ROOM }, { 0x2A6E9, 0x0325, NES_ROOM }, { 0x1FD75, 0x01FC, NES_ROOM }, { 0x2AC64, 0x02A9, NES_ROOM },
    209         { 0x2AF0D, 0x02D1, NES_ROOM }, { 0x2B2E6, 0x03CC, NES_ROOM }, { 0x23D61, 0x0205, NES_ROOM }, { 0x2B818, 0x0168, NES_ROOM }, { 0x27CF6, 0x0169, NES_ROOM }
     208const struct t_resource res_rooms_swe[55] = {
     209        { 0x00000, 0x0000 }, { 0x14001, 0x0D12 }, { 0x1328F, 0x04B3 }, { 0x15367, 0x0859 }, { 0x13742, 0x0694 },
     210        { 0x15C45, 0x0707 }, { 0x1658F, 0x04E0 }, { 0x16A6F, 0x0AC8 }, { 0x18001, 0x06C7 }, { 0x1789C, 0x03EA },
     211        { 0x18C09, 0x0649 }, { 0x192AE, 0x04AB }, { 0x19982, 0x0447 }, { 0x1A04D, 0x047E }, { 0x1A4CB, 0x0444 },
     212        { 0x1A90F, 0x03B9 }, { 0x1ACC8, 0x07E9 }, { 0x1B511, 0x06A4 }, { 0x1C001, 0x0B1A }, { 0x1CCFD, 0x0486 },
     213        { 0x1D482, 0x0579 }, { 0x1DF61, 0x051E }, { 0x1E8EC, 0x05CF }, { 0x1EF73, 0x0398 }, { 0x1F5F0, 0x071A },
     214        { 0x20001, 0x049C }, { 0x2051E, 0x051E }, { 0x21725, 0x05D5 }, { 0x21EA5, 0x047F }, { 0x223D1, 0x0460 },
     215        { 0x22897, 0x090D }, { 0x24001, 0x0378 }, { 0x247C9, 0x03CA }, { 0x24B93, 0x050D }, { 0x25267, 0x0346 },
     216        { 0x17CD0, 0x01CA }, { 0x255AD, 0x0453 }, { 0x25A00, 0x053E }, { 0x25F3E, 0x0647 }, { 0x1BC49, 0x024B },
     217        { 0x26B58, 0x01FA }, { 0x26E27, 0x0217 }, { 0x27345, 0x02F4 }, { 0x27829, 0x045C }, { 0x28001, 0x098A },
     218        { 0x289DF, 0x05A1 }, { 0x2A442, 0x0201 }, { 0x2A6E9, 0x0325 }, { 0x1FD75, 0x01FC }, { 0x2AC64, 0x02A9 },
     219        { 0x2AF0D, 0x02D1 }, { 0x2B2E6, 0x03CC }, { 0x23D61, 0x0205 }, { 0x2B818, 0x0168 }, { 0x27CF6, 0x0169 }
    210220};
    211221
    212 t_resource res_rooms_fra[55] = {
    213         { 0x00000, 0x0000, NES_ROOM }, { 0x14001, 0x0D76, NES_ROOM }, { 0x1328A, 0x04C6, NES_ROOM }, { 0x15451, 0x0885, NES_ROOM }, { 0x13750, 0x0693, NES_ROOM },
    214         { 0x15D68, 0x0709, NES_ROOM }, { 0x166D4, 0x0528, NES_ROOM }, { 0x16BFC, 0x0ACC, NES_ROOM }, { 0x18001, 0x06E2, NES_ROOM }, { 0x17A63, 0x03E5, NES_ROOM },
    215         { 0x18C3B, 0x066A, NES_ROOM }, { 0x19301, 0x049E, NES_ROOM }, { 0x199C8, 0x044B, NES_ROOM }, { 0x1A0B1, 0x0478, NES_ROOM }, { 0x1A529, 0x043F, NES_ROOM },
    216         { 0x1A968, 0x03C8, NES_ROOM }, { 0x1AD30, 0x086F, NES_ROOM }, { 0x1B5FF, 0x069B, NES_ROOM }, { 0x1C001, 0x0AA9, NES_ROOM }, { 0x1CC97, 0x049E, NES_ROOM },
    217         { 0x1D42C, 0x05A8, NES_ROOM }, { 0x1DF71, 0x054E, NES_ROOM }, { 0x1E9D1, 0x0606, NES_ROOM }, { 0x1F0A2, 0x039A, NES_ROOM }, { 0x1F74E, 0x071C, NES_ROOM },
    218         { 0x20001, 0x04B5, NES_ROOM }, { 0x2052E, 0x04FF, NES_ROOM }, { 0x2172E, 0x05DB, NES_ROOM }, { 0x21EAD, 0x0489, NES_ROOM }, { 0x223E1, 0x0465, NES_ROOM },
    219         { 0x228AC, 0x0957, NES_ROOM }, { 0x24001, 0x037E, NES_ROOM }, { 0x2481A, 0x03CA, NES_ROOM }, { 0x24BE4, 0x050D, NES_ROOM }, { 0x252C0, 0x0346, NES_ROOM },
    220         { 0x1BD30, 0x01CA, NES_ROOM }, { 0x25606, 0x046D, NES_ROOM }, { 0x25A73, 0x055A, NES_ROOM }, { 0x25FCD, 0x0654, NES_ROOM }, { 0x26C98, 0x024B, NES_ROOM },
    221         { 0x26EE3, 0x01FA, NES_ROOM }, { 0x271DD, 0x0217, NES_ROOM }, { 0x27713, 0x02F4, NES_ROOM }, { 0x28001, 0x045C, NES_ROOM }, { 0x284CE, 0x0975, NES_ROOM },
    222         { 0x28E97, 0x05E6, NES_ROOM }, { 0x27C3A, 0x0201, NES_ROOM }, { 0x2A9D6, 0x0325, NES_ROOM }, { 0x2AF88, 0x01FC, NES_ROOM }, { 0x2B184, 0x02A9, NES_ROOM },
    223         { 0x2B42D, 0x02DF, NES_ROOM }, { 0x2B818, 0x03EC, NES_ROOM }, { 0x2BD67, 0x0209, NES_ROOM }, { 0x2C001, 0x0168, NES_ROOM }, { 0x2C4BF, 0x0169, NES_ROOM }
     222const struct t_resource res_rooms_fra[55] = {
     223        { 0x00000, 0x0000 }, { 0x14001, 0x0D76 }, { 0x1328A, 0x04C6 }, { 0x15451, 0x0885 }, { 0x13750, 0x0693 },
     224        { 0x15D68, 0x0709 }, { 0x166D4, 0x0528 }, { 0x16BFC, 0x0ACC }, { 0x18001, 0x06E2 }, { 0x17A63, 0x03E5 },
     225        { 0x18C3B, 0x066A }, { 0x19301, 0x049E }, { 0x199C8, 0x044B }, { 0x1A0B1, 0x0478 }, { 0x1A529, 0x043F },
     226        { 0x1A968, 0x03C8 }, { 0x1AD30, 0x086F }, { 0x1B5FF, 0x069B }, { 0x1C001, 0x0AA9 }, { 0x1CC97, 0x049E },
     227        { 0x1D42C, 0x05A8 }, { 0x1DF71, 0x054E }, { 0x1E9D1, 0x0606 }, { 0x1F0A2, 0x039A }, { 0x1F74E, 0x071C },
     228        { 0x20001, 0x04B5 }, { 0x2052E, 0x04FF }, { 0x2172E, 0x05DB }, { 0x21EAD, 0x0489 }, { 0x223E1, 0x0465 },
     229        { 0x228AC, 0x0957 }, { 0x24001, 0x037E }, { 0x2481A, 0x03CA }, { 0x24BE4, 0x050D }, { 0x252C0, 0x0346 },
     230        { 0x1BD30, 0x01CA }, { 0x25606, 0x046D }, { 0x25A73, 0x055A }, { 0x25FCD, 0x0654 }, { 0x26C98, 0x024B },
     231        { 0x26EE3, 0x01FA }, { 0x271DD, 0x0217 }, { 0x27713, 0x02F4 }, { 0x28001, 0x045C }, { 0x284CE, 0x0975 },
     232        { 0x28E97, 0x05E6 }, { 0x27C3A, 0x0201 }, { 0x2A9D6, 0x0325 }, { 0x2AF88, 0x01FC }, { 0x2B184, 0x02A9 },
     233        { 0x2B42D, 0x02DF }, { 0x2B818, 0x03EC }, { 0x2BD67, 0x0209 }, { 0x2C001, 0x0168 }, { 0x2C4BF, 0x0169 }
    224234};
    225235
    226 t_resource res_rooms_ger[55] = {
    227         { 0x00000, 0x0000, NES_ROOM }, { 0x14001, 0x0D63, NES_ROOM }, { 0x131E0, 0x04A9, NES_ROOM }, { 0x13689, 0x086B, NES_ROOM }, { 0x15421, 0x06A8, NES_ROOM },
    228         { 0x15B5D, 0x0731, NES_ROOM }, { 0x16507, 0x0501, NES_ROOM }, { 0x16A08, 0x0AE9, NES_ROOM }, { 0x18001, 0x06DA, NES_ROOM }, { 0x17880, 0x03D0, NES_ROOM },
    229         { 0x18C7B, 0x0651, NES_ROOM }, { 0x19328, 0x04A7, NES_ROOM }, { 0x199FE, 0x0447, NES_ROOM }, { 0x1A0F1, 0x0486, NES_ROOM }, { 0x1A577, 0x045D, NES_ROOM },
    230         { 0x1A9D4, 0x03AE, NES_ROOM }, { 0x1AD82, 0x0840, NES_ROOM }, { 0x1B622, 0x06C3, NES_ROOM }, { 0x1C001, 0x0B07, NES_ROOM }, { 0x1CD05, 0x0494, NES_ROOM },
    231         { 0x1D4A5, 0x05AC, NES_ROOM }, { 0x1DFD6, 0x0524, NES_ROOM }, { 0x1E9C0, 0x05F7, NES_ROOM }, { 0x1F09A, 0x038E, NES_ROOM }, { 0x1F75F, 0x0733, NES_ROOM },
    232         { 0x20001, 0x04A9, NES_ROOM }, { 0x2052A, 0x052E, NES_ROOM }, { 0x2177C, 0x0621, NES_ROOM }, { 0x21F57, 0x0495, NES_ROOM }, { 0x2249A, 0x045E, NES_ROOM },
    233         { 0x2295E, 0x0951, NES_ROOM }, { 0x24001, 0x036E, NES_ROOM }, { 0x247F9, 0x03CA, NES_ROOM }, { 0x24BC3, 0x050D, NES_ROOM }, { 0x252A8, 0x0346, NES_ROOM },
    234         { 0x17CA2, 0x01CA, NES_ROOM }, { 0x255EE, 0x046F, NES_ROOM }, { 0x25A5D, 0x054D, NES_ROOM }, { 0x25FAA, 0x064B, NES_ROOM }, { 0x26BE2, 0x024B, NES_ROOM },
    235         { 0x26E2D, 0x01FA, NES_ROOM }, { 0x2710F, 0x0217, NES_ROOM }, { 0x27663, 0x02F4, NES_ROOM }, { 0x28001, 0x045C, NES_ROOM }, { 0x284CE, 0x0A8F, NES_ROOM },
    236         { 0x28FB1, 0x05FF, NES_ROOM }, { 0x27B69, 0x0201, NES_ROOM }, { 0x2AAA9, 0x0325, NES_ROOM }, { 0x1BD7C, 0x01FC, NES_ROOM }, { 0x2B031, 0x02A9, NES_ROOM },
    237         { 0x2B2DA, 0x02D8, NES_ROOM }, { 0x2B6D2, 0x03D2, NES_ROOM }, { 0x2BC0D, 0x020D, NES_ROOM }, { 0x2C001, 0x0168, NES_ROOM }, { 0x27E11, 0x0169, NES_ROOM }
     236const struct t_resource res_rooms_ger[55] = {
     237        { 0x00000, 0x0000 }, { 0x14001, 0x0D63 }, { 0x131E0, 0x04A9 }, { 0x13689, 0x086B }, { 0x15421, 0x06A8 },
     238        { 0x15B5D, 0x0731 }, { 0x16507, 0x0501 }, { 0x16A08, 0x0AE9 }, { 0x18001, 0x06DA }, { 0x17880, 0x03D0 },
     239        { 0x18C7B, 0x0651 }, { 0x19328, 0x04A7 }, { 0x199FE, 0x0447 }, { 0x1A0F1, 0x0486 }, { 0x1A577, 0x045D },
     240        { 0x1A9D4, 0x03AE }, { 0x1AD82, 0x0840 }, { 0x1B622, 0x06C3 }, { 0x1C001, 0x0B07 }, { 0x1CD05, 0x0494 },
     241        { 0x1D4A5, 0x05AC }, { 0x1DFD6, 0x0524 }, { 0x1E9C0, 0x05F7 }, { 0x1F09A, 0x038E }, { 0x1F75F, 0x0733 },
     242        { 0x20001, 0x04A9 }, { 0x2052A, 0x052E }, { 0x2177C, 0x0621 }, { 0x21F57, 0x0495 }, { 0x2249A, 0x045E },
     243        { 0x2295E, 0x0951 }, { 0x24001, 0x036E }, { 0x247F9, 0x03CA }, { 0x24BC3, 0x050D }, { 0x252A8, 0x0346 },
     244        { 0x17CA2, 0x01CA }, { 0x255EE, 0x046F }, { 0x25A5D, 0x054D }, { 0x25FAA, 0x064B }, { 0x26BE2, 0x024B },
     245        { 0x26E2D, 0x01FA }, { 0x2710F, 0x0217 }, { 0x27663, 0x02F4 }, { 0x28001, 0x045C }, { 0x284CE, 0x0A8F },
     246        { 0x28FB1, 0x05FF }, { 0x27B69, 0x0201 }, { 0x2AAA9, 0x0325 }, { 0x1BD7C, 0x01FC }, { 0x2B031, 0x02A9 },
     247        { 0x2B2DA, 0x02D8 }, { 0x2B6D2, 0x03D2 }, { 0x2BC0D, 0x020D }, { 0x2C001, 0x0168 }, { 0x27E11, 0x0169 }
    238248};
    239249
    240 t_resource res_rooms_esp[55] = {
    241         { 0x00000, 0x0000, NES_ROOM }, { 0x14001, 0x0D05, NES_ROOM }, { 0x132AC, 0x04B0, NES_ROOM }, { 0x153AB, 0x087B, NES_ROOM }, { 0x1375C, 0x06B3, NES_ROOM },
    242         { 0x15CB1, 0x0729, NES_ROOM }, { 0x16625, 0x04F0, NES_ROOM }, { 0x16B15, 0x0AD4, NES_ROOM }, { 0x18001, 0x06ED, NES_ROOM }, { 0x17936, 0x03DE, NES_ROOM },
    243         { 0x18C3E, 0x0671, NES_ROOM }, { 0x1930B, 0x04C4, NES_ROOM }, { 0x199EC, 0x0452, NES_ROOM }, { 0x1A0DA, 0x048F, NES_ROOM }, { 0x1A569, 0x0449, NES_ROOM },
    244         { 0x1A9B2, 0x03A8, NES_ROOM }, { 0x1AD5A, 0x0846, NES_ROOM }, { 0x1B600, 0x0686, NES_ROOM }, { 0x1C001, 0x0B58, NES_ROOM }, { 0x1CD42, 0x049C, NES_ROOM },
    245         { 0x1D4ED, 0x0586, NES_ROOM }, { 0x1DFE9, 0x0526, NES_ROOM }, { 0x1E9C9, 0x05CE, NES_ROOM }, { 0x1F04B, 0x0390, NES_ROOM }, { 0x1F6CA, 0x073C, NES_ROOM },
    246         { 0x20001, 0x04CB, NES_ROOM }, { 0x20543, 0x0530, NES_ROOM }, { 0x2171B, 0x05FC, NES_ROOM }, { 0x21EBE, 0x0470, NES_ROOM }, { 0x223DC, 0x045C, NES_ROOM },
    247         { 0x2289E, 0x0928, NES_ROOM }, { 0x24001, 0x036C, NES_ROOM }, { 0x247EC, 0x03CA, NES_ROOM }, { 0x24BB6, 0x050D, NES_ROOM }, { 0x25283, 0x0346, NES_ROOM },
    248         { 0x17D60, 0x01CA, NES_ROOM }, { 0x255C9, 0x0462, NES_ROOM }, { 0x25A2B, 0x055C, NES_ROOM }, { 0x25F87, 0x0659, NES_ROOM }, { 0x1BD19, 0x024B, NES_ROOM },
    249         { 0x26B8A, 0x01F7, NES_ROOM }, { 0x26E5D, 0x0217, NES_ROOM }, { 0x2736A, 0x02F4, NES_ROOM }, { 0x27845, 0x045C, NES_ROOM }, { 0x28001, 0x0969, NES_ROOM },
    250         { 0x289BE, 0x058E, NES_ROOM }, { 0x2A418, 0x0201, NES_ROOM }, { 0x2A6BE, 0x0325, NES_ROOM }, { 0x23D84, 0x01FC, NES_ROOM }, { 0x2AC46, 0x02A9, NES_ROOM },
    251         { 0x2AEEF, 0x02C9, NES_ROOM }, { 0x2B2C0, 0x03D2, NES_ROOM }, { 0x27D12, 0x0207, NES_ROOM }, { 0x2B7FC, 0x0168, NES_ROOM }, { 0x2BD06, 0x0169, NES_ROOM }
     250const struct t_resource res_rooms_esp[55] = {
     251        { 0x00000, 0x0000 }, { 0x14001, 0x0D05 }, { 0x132AC, 0x04B0 }, { 0x153AB, 0x087B }, { 0x1375C, 0x06B3 },
     252        { 0x15CB1, 0x0729 }, { 0x16625, 0x04F0 }, { 0x16B15, 0x0AD4 }, { 0x18001, 0x06ED }, { 0x17936, 0x03DE },
     253        { 0x18C3E, 0x0671 }, { 0x1930B, 0x04C4 }, { 0x199EC, 0x0452 }, { 0x1A0DA, 0x048F }, { 0x1A569, 0x0449 },
     254        { 0x1A9B2, 0x03A8 }, { 0x1AD5A, 0x0846 }, { 0x1B600, 0x0686 }, { 0x1C001, 0x0B58 }, { 0x1CD42, 0x049C },
     255        { 0x1D4ED, 0x0586 }, { 0x1DFE9, 0x0526 }, { 0x1E9C9, 0x05CE }, { 0x1F04B, 0x0390 }, { 0x1F6CA, 0x073C },
     256        { 0x20001, 0x04CB }, { 0x20543, 0x0530 }, { 0x2171B, 0x05FC }, { 0x21EBE, 0x0470 }, { 0x223DC, 0x045C },
     257        { 0x2289E, 0x0928 }, { 0x24001, 0x036C }, { 0x247EC, 0x03CA }, { 0x24BB6, 0x050D }, { 0x25283, 0x0346 },
     258        { 0x17D60, 0x01CA }, { 0x255C9, 0x0462 }, { 0x25A2B, 0x055C }, { 0x25F87, 0x0659 }, { 0x1BD19, 0x024B },
     259        { 0x26B8A, 0x01F7 }, { 0x26E5D, 0x0217 }, { 0x2736A, 0x02F4 }, { 0x27845, 0x045C }, { 0x28001, 0x0969 },
     260        { 0x289BE, 0x058E }, { 0x2A418, 0x0201 }, { 0x2A6BE, 0x0325 }, { 0x23D84, 0x01FC }, { 0x2AC46, 0x02A9 },
     261        { 0x2AEEF, 0x02C9 }, { 0x2B2C0, 0x03D2 }, { 0x27D12, 0x0207 }, { 0x2B7FC, 0x0168 }, { 0x2BD06, 0x0169 }
    252262};
    253263
    254 p_resource res_rooms[NUM_ROMSETS] = {
     264const struct t_resgroup res_rooms = {
     265        NES_ROOM,
     266        {
    255267        res_rooms_usa,
    256268        res_rooms_eur,
    257269        res_rooms_swe,
    258270        res_rooms_fra,
    259271        res_rooms_ger,
    260272        res_rooms_esp,
     273        }
    261274};
    262275
    263 t_resource res_scripts_usa[179] = {
    264         { 0x00000, 0x0000, NES_SCRIPT }, { 0x29966, 0x044D, NES_SCRIPT }, { 0x29DB3, 0x0207, NES_SCRIPT }, { 0x29FBA, 0x009F, NES_SCRIPT }, { 0x2A059, 0x03F4, NES_SCRIPT },
    265         { 0x2A44D, 0x01A1, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A5EE, 0x004A, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A638, 0x0005, NES_SCRIPT },
    266         { 0x2C6AA, 0x000D, NES_SCRIPT }, { 0x2C6B7, 0x000D, NES_SCRIPT }, { 0x186BB, 0x0040, NES_SCRIPT }, { 0x186FB, 0x0016, NES_SCRIPT }, { 0x1B639, 0x0046, NES_SCRIPT },
    267         { 0x1EEC6, 0x00BD, NES_SCRIPT }, { 0x21C31, 0x0055, NES_SCRIPT }, { 0x177A8, 0x0027, NES_SCRIPT }, { 0x1FD07, 0x0027, NES_SCRIPT }, { 0x1FD2E, 0x0027, NES_SCRIPT },
    268         { 0x1BD2B, 0x0022, NES_SCRIPT }, { 0x15BE0, 0x0088, NES_SCRIPT }, { 0x22241, 0x0020, NES_SCRIPT }, { 0x22261, 0x008F, NES_SCRIPT }, { 0x1924A, 0x002B, NES_SCRIPT },
    269         { 0x1CB4A, 0x0061, NES_SCRIPT }, { 0x1CBAB, 0x003C, NES_SCRIPT }, { 0x1CBE7, 0x0042, NES_SCRIPT }, { 0x1CC29, 0x004F, NES_SCRIPT }, { 0x2049B, 0x0076, NES_SCRIPT },
    270         { 0x16A96, 0x0035, NES_SCRIPT }, { 0x16ACB, 0x001C, NES_SCRIPT }, { 0x16AE7, 0x0014, NES_SCRIPT }, { 0x16AFB, 0x001C, NES_SCRIPT }, { 0x16B17, 0x0027, NES_SCRIPT },
    271         { 0x16B3E, 0x01AA, NES_SCRIPT }, { 0x1D1CF, 0x0096, NES_SCRIPT }, { 0x1D265, 0x010E, NES_SCRIPT }, { 0x1D373, 0x001C, NES_SCRIPT }, { 0x1D38F, 0x0056, NES_SCRIPT },
    272         { 0x1D3E5, 0x0072, NES_SCRIPT }, { 0x1E480, 0x0028, NES_SCRIPT }, { 0x1E4A8, 0x017D, NES_SCRIPT }, { 0x1E625, 0x0229, NES_SCRIPT }, { 0x28932, 0x0071, NES_SCRIPT },
    273         { 0x17EB8, 0x004D, NES_SCRIPT }, { 0x162ED, 0x0039, NES_SCRIPT }, { 0x18711, 0x028B, NES_SCRIPT }, { 0x1899C, 0x00BB, NES_SCRIPT }, { 0x18A57, 0x018B, NES_SCRIPT },
    274         { 0x00000, 0x0000, NES_SCRIPT }, { 0x19E87, 0x00ED, NES_SCRIPT }, { 0x21C86, 0x00F6, NES_SCRIPT }, { 0x1E84E, 0x009B, NES_SCRIPT }, { 0x21D7C, 0x0047, NES_SCRIPT },
    275         { 0x2C6C4, 0x004D, NES_SCRIPT }, { 0x16326, 0x0024, NES_SCRIPT }, { 0x14D0D, 0x0014, NES_SCRIPT }, { 0x177CF, 0x0059, NES_SCRIPT }, { 0x17828, 0x0109, NES_SCRIPT },
    276         { 0x17931, 0x0009, NES_SCRIPT }, { 0x14D21, 0x01B6, NES_SCRIPT }, { 0x2B0F6, 0x0243, NES_SCRIPT }, { 0x230BF, 0x067F, NES_SCRIPT }, { 0x2C711, 0x001C, NES_SCRIPT },
    277         { 0x2C72D, 0x001A, NES_SCRIPT }, { 0x2C747, 0x0021, NES_SCRIPT }, { 0x2C768, 0x0024, NES_SCRIPT }, { 0x2C78C, 0x0017, NES_SCRIPT }, { 0x2C7A3, 0x0017, NES_SCRIPT },
    278         { 0x2C7BA, 0x0014, NES_SCRIPT }, { 0x2C7CE, 0x0024, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2C7F2, 0x0011, NES_SCRIPT }, { 0x1793A, 0x009D, NES_SCRIPT },
    279         { 0x22750, 0x0066, NES_SCRIPT }, { 0x14ED7, 0x0075, NES_SCRIPT }, { 0x1F30C, 0x0120, NES_SCRIPT }, { 0x1FD55, 0x001D, NES_SCRIPT }, { 0x1F42C, 0x008F, NES_SCRIPT },
    280         { 0x1F4BB, 0x0097, NES_SCRIPT }, { 0x179D7, 0x006A, NES_SCRIPT }, { 0x17A41, 0x0030, NES_SCRIPT }, { 0x1F552, 0x0092, NES_SCRIPT }, { 0x2C803, 0x00CC, NES_SCRIPT },
    281         { 0x2C8CF, 0x00BA, NES_SCRIPT }, { 0x2C989, 0x0088, NES_SCRIPT }, { 0x20A09, 0x01B0, NES_SCRIPT }, { 0x20BB9, 0x0168, NES_SCRIPT }, { 0x20D21, 0x006C, NES_SCRIPT },
    282         { 0x20D8D, 0x0037, NES_SCRIPT }, { 0x20DC4, 0x00E4, NES_SCRIPT }, { 0x20EA8, 0x0045, NES_SCRIPT }, { 0x20EED, 0x00E1, NES_SCRIPT }, { 0x20FCE, 0x00F6, NES_SCRIPT },
    283         { 0x210C4, 0x0141, NES_SCRIPT }, { 0x21205, 0x0183, NES_SCRIPT }, { 0x21388, 0x0034, NES_SCRIPT }, { 0x213BC, 0x00A9, NES_SCRIPT }, { 0x24367, 0x011B, NES_SCRIPT },
    284         { 0x1BD4D, 0x0070, NES_SCRIPT }, { 0x1CC78, 0x0091, NES_SCRIPT }, { 0x29372, 0x0054, NES_SCRIPT }, { 0x19F74, 0x00CE, NES_SCRIPT }, { 0x1A042, 0x0077, NES_SCRIPT },
    285         { 0x14F4C, 0x0057, NES_SCRIPT }, { 0x27886, 0x02DF, NES_SCRIPT }, { 0x1DA2A, 0x0219, NES_SCRIPT }, { 0x1DC43, 0x00F9, NES_SCRIPT }, { 0x1DD3C, 0x0056, NES_SCRIPT },
    286         { 0x1DD92, 0x01C2, NES_SCRIPT }, { 0x14FA3, 0x004D, NES_SCRIPT }, { 0x27594, 0x00D9, NES_SCRIPT }, { 0x21DC3, 0x0013, NES_SCRIPT }, { 0x2A63D, 0x00F0, NES_SCRIPT },
    287         { 0x24482, 0x00E7, NES_SCRIPT }, { 0x21465, 0x00F2, NES_SCRIPT }, { 0x24569, 0x002B, NES_SCRIPT }, { 0x2C3CF, 0x010F, NES_SCRIPT }, { 0x24594, 0x00AA, NES_SCRIPT },
    288         { 0x24CE8, 0x0DAB, NES_SCRIPT }, { 0x1B67F, 0x000D, NES_SCRIPT }, { 0x1B68C, 0x000D, NES_SCRIPT }, { 0x2373E, 0x017C, NES_SCRIPT }, { 0x282F5, 0x01E1, NES_SCRIPT },
    289         { 0x238BA, 0x0153, NES_SCRIPT }, { 0x23A0D, 0x019C, NES_SCRIPT }, { 0x23BA9, 0x0016, NES_SCRIPT }, { 0x2C4DE, 0x005C, NES_SCRIPT }, { 0x23BBF, 0x0020, NES_SCRIPT },
    290         { 0x27D66, 0x00A5, NES_SCRIPT }, { 0x2A72D, 0x034D, NES_SCRIPT }, { 0x14FF0, 0x00E3, NES_SCRIPT }, { 0x2BABC, 0x005F, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT },
    291         { 0x25A93, 0x003C, NES_SCRIPT }, { 0x1E8E9, 0x0011, NES_SCRIPT }, { 0x1634A, 0x0018, NES_SCRIPT }, { 0x26DFD, 0x001F, NES_SCRIPT }, { 0x26E1C, 0x0054, NES_SCRIPT },
    292         { 0x26E70, 0x0149, NES_SCRIPT }, { 0x26FB9, 0x004B, NES_SCRIPT }, { 0x27004, 0x017D, NES_SCRIPT }, { 0x27181, 0x0027, NES_SCRIPT }, { 0x271A8, 0x0041, NES_SCRIPT },
    293         { 0x271E9, 0x01B1, NES_SCRIPT }, { 0x16362, 0x001F, NES_SCRIPT }, { 0x2463E, 0x002A, NES_SCRIPT }, { 0x150D3, 0x019E, NES_SCRIPT }, { 0x19275, 0x0031, NES_SCRIPT },
    294         { 0x17A71, 0x007C, NES_SCRIPT }, { 0x21557, 0x00DC, NES_SCRIPT }, { 0x1D457, 0x0018, NES_SCRIPT }, { 0x1D46F, 0x0053, NES_SCRIPT }, { 0x18BE2, 0x0005, NES_SCRIPT },
    295         { 0x15271, 0x011B, NES_SCRIPT }, { 0x1538C, 0x000B, NES_SCRIPT }, { 0x24668, 0x0138, NES_SCRIPT }, { 0x247A0, 0x0014, NES_SCRIPT }, { 0x1DF54, 0x0018, NES_SCRIPT },
    296         { 0x247B4, 0x0027, NES_SCRIPT }, { 0x1A0B9, 0x004D, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2BB1B, 0x00A5, NES_SCRIPT }, { 0x2AA7A, 0x00C1, NES_SCRIPT },
    297         { 0x2AB3B, 0x0140, NES_SCRIPT }, { 0x19826, 0x00BF, NES_SCRIPT }, { 0x198E5, 0x014D, NES_SCRIPT }, { 0x19A32, 0x0012, NES_SCRIPT }, { 0x2AC7B, 0x0005, NES_SCRIPT },
    298         { 0x2AC80, 0x0005, NES_SCRIPT }, { 0x2AC85, 0x0005, NES_SCRIPT }, { 0x2AC8A, 0x0005, NES_SCRIPT }, { 0x2AC8F, 0x0005, NES_SCRIPT }, { 0x21633, 0x0033, NES_SCRIPT },
    299         { 0x2AC94, 0x0005, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2AC99, 0x009C, NES_SCRIPT }, { 0x2AD35, 0x009C, NES_SCRIPT }
     276const struct t_resource res_scripts_usa[179] = {
     277        { 0x00000, 0x0000 }, { 0x29966, 0x044D }, { 0x29DB3, 0x0207 }, { 0x29FBA, 0x009F }, { 0x2A059, 0x03F4 },
     278        { 0x2A44D, 0x01A1 }, { 0x00000, 0x0000 }, { 0x2A5EE, 0x004A }, { 0x00000, 0x0000 }, { 0x2A638, 0x0005 },
     279        { 0x2C6AA, 0x000D }, { 0x2C6B7, 0x000D }, { 0x186BB, 0x0040 }, { 0x186FB, 0x0016 }, { 0x1B639, 0x0046 },
     280        { 0x1EEC6, 0x00BD }, { 0x21C31, 0x0055 }, { 0x177A8, 0x0027 }, { 0x1FD07, 0x0027 }, { 0x1FD2E, 0x0027 },
     281        { 0x1BD2B, 0x0022 }, { 0x15BE0, 0x0088 }, { 0x22241, 0x0020 }, { 0x22261, 0x008F }, { 0x1924A, 0x002B },
     282        { 0x1CB4A, 0x0061 }, { 0x1CBAB, 0x003C }, { 0x1CBE7, 0x0042 }, { 0x1CC29, 0x004F }, { 0x2049B, 0x0076 },
     283        { 0x16A96, 0x0035 }, { 0x16ACB, 0x001C }, { 0x16AE7, 0x0014 }, { 0x16AFB, 0x001C }, { 0x16B17, 0x0027 },
     284        { 0x16B3E, 0x01AA }, { 0x1D1CF, 0x0096 }, { 0x1D265, 0x010E }, { 0x1D373, 0x001C }, { 0x1D38F, 0x0056 },
     285        { 0x1D3E5, 0x0072 }, { 0x1E480, 0x0028 }, { 0x1E4A8, 0x017D }, { 0x1E625, 0x0229 }, { 0x28932, 0x0071 },
     286        { 0x17EB8, 0x004D }, { 0x162ED, 0x0039 }, { 0x18711, 0x028B }, { 0x1899C, 0x00BB }, { 0x18A57, 0x018B },
     287        { 0x00000, 0x0000 }, { 0x19E87, 0x00ED }, { 0x21C86, 0x00F6 }, { 0x1E84E, 0x009B }, { 0x21D7C, 0x0047 },
     288        { 0x2C6C4, 0x004D }, { 0x16326, 0x0024 }, { 0x14D0D, 0x0014 }, { 0x177CF, 0x0059 }, { 0x17828, 0x0109 },
     289        { 0x17931, 0x0009 }, { 0x14D21, 0x01B6 }, { 0x2B0F6, 0x0243 }, { 0x230BF, 0x067F }, { 0x2C711, 0x001C },
     290        { 0x2C72D, 0x001A }, { 0x2C747, 0x0021 }, { 0x2C768, 0x0024 }, { 0x2C78C, 0x0017 }, { 0x2C7A3, 0x0017 },
     291        { 0x2C7BA, 0x0014 }, { 0x2C7CE, 0x0024 }, { 0x00000, 0x0000 }, { 0x2C7F2, 0x0011 }, { 0x1793A, 0x009D },
     292        { 0x22750, 0x0066 }, { 0x14ED7, 0x0075 }, { 0x1F30C, 0x0120 }, { 0x1FD55, 0x001D }, { 0x1F42C, 0x008F },
     293        { 0x1F4BB, 0x0097 }, { 0x179D7, 0x006A }, { 0x17A41, 0x0030 }, { 0x1F552, 0x0092 }, { 0x2C803, 0x00CC },
     294        { 0x2C8CF, 0x00BA }, { 0x2C989, 0x0088 }, { 0x20A09, 0x01B0 }, { 0x20BB9, 0x0168 }, { 0x20D21, 0x006C },
     295        { 0x20D8D, 0x0037 }, { 0x20DC4, 0x00E4 }, { 0x20EA8, 0x0045 }, { 0x20EED, 0x00E1 }, { 0x20FCE, 0x00F6 },
     296        { 0x210C4, 0x0141 }, { 0x21205, 0x0183 }, { 0x21388, 0x0034 }, { 0x213BC, 0x00A9 }, { 0x24367, 0x011B },
     297        { 0x1BD4D, 0x0070 }, { 0x1CC78, 0x0091 }, { 0x29372, 0x0054 }, { 0x19F74, 0x00CE }, { 0x1A042, 0x0077 },
     298        { 0x14F4C, 0x0057 }, { 0x27886, 0x02DF }, { 0x1DA2A, 0x0219 }, { 0x1DC43, 0x00F9 }, { 0x1DD3C, 0x0056 },
     299        { 0x1DD92, 0x01C2 }, { 0x14FA3, 0x004D }, { 0x27594, 0x00D9 }, { 0x21DC3, 0x0013 }, { 0x2A63D, 0x00F0 },
     300        { 0x24482, 0x00E7 }, { 0x21465, 0x00F2 }, { 0x24569, 0x002B }, { 0x2C3CF, 0x010F }, { 0x24594, 0x00AA },
     301        { 0x24CE8, 0x0DAB }, { 0x1B67F, 0x000D }, { 0x1B68C, 0x000D }, { 0x2373E, 0x017C }, { 0x282F5, 0x01E1 },
     302        { 0x238BA, 0x0153 }, { 0x23A0D, 0x019C }, { 0x23BA9, 0x0016 }, { 0x2C4DE, 0x005C }, { 0x23BBF, 0x0020 },
     303        { 0x27D66, 0x00A5 }, { 0x2A72D, 0x034D }, { 0x14FF0, 0x00E3 }, { 0x2BABC, 0x005F }, { 0x00000, 0x0000 },
     304        { 0x25A93, 0x003C }, { 0x1E8E9, 0x0011 }, { 0x1634A, 0x0018 }, { 0x26DFD, 0x001F }, { 0x26E1C, 0x0054 },
     305        { 0x26E70, 0x0149 }, { 0x26FB9, 0x004B }, { 0x27004, 0x017D }, { 0x27181, 0x0027 }, { 0x271A8, 0x0041 },
     306        { 0x271E9, 0x01B1 }, { 0x16362, 0x001F }, { 0x2463E, 0x002A }, { 0x150D3, 0x019E }, { 0x19275, 0x0031 },
     307        { 0x17A71, 0x007C }, { 0x21557, 0x00DC }, { 0x1D457, 0x0018 }, { 0x1D46F, 0x0053 }, { 0x18BE2, 0x0005 },
     308        { 0x15271, 0x011B }, { 0x1538C, 0x000B }, { 0x24668, 0x0138 }, { 0x247A0, 0x0014 }, { 0x1DF54, 0x0018 },
     309        { 0x247B4, 0x0027 }, { 0x1A0B9, 0x004D }, { 0x00000, 0x0000 }, { 0x2BB1B, 0x00A5 }, { 0x2AA7A, 0x00C1 },
     310        { 0x2AB3B, 0x0140 }, { 0x19826, 0x00BF }, { 0x198E5, 0x014D }, { 0x19A32, 0x0012 }, { 0x2AC7B, 0x0005 },
     311        { 0x2AC80, 0x0005 }, { 0x2AC85, 0x0005 }, { 0x2AC8A, 0x0005 }, { 0x2AC8F, 0x0005 }, { 0x21633, 0x0033 },
     312        { 0x2AC94, 0x0005 }, { 0x00000, 0x0000 }, { 0x2AC99, 0x009C }, { 0x2AD35, 0x009C }
    300313};
    301314
    302 t_resource res_scripts_eur[179] = {
    303         { 0x00000, 0x0000, NES_SCRIPT }, { 0x29966, 0x044D, NES_SCRIPT }, { 0x29DB3, 0x0207, NES_SCRIPT }, { 0x29FBA, 0x009F, NES_SCRIPT }, { 0x2A059, 0x03F4, NES_SCRIPT },
    304         { 0x2A44D, 0x01A1, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A5EE, 0x005C, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A64A, 0x0005, NES_SCRIPT },
    305         { 0x2C6AA, 0x000D, NES_SCRIPT }, { 0x2C6B7, 0x000D, NES_SCRIPT }, { 0x17889, 0x0040, NES_SCRIPT }, { 0x178C9, 0x0016, NES_SCRIPT }, { 0x1B6AE, 0x0046, NES_SCRIPT },
    306         { 0x1EE47, 0x00BD, NES_SCRIPT }, { 0x21C3B, 0x0055, NES_SCRIPT }, { 0x18AC0, 0x0027, NES_SCRIPT }, { 0x1FC88, 0x0027, NES_SCRIPT }, { 0x1FCAF, 0x0027, NES_SCRIPT },
    307         { 0x1BDA0, 0x0022, NES_SCRIPT }, { 0x15BE0, 0x0088, NES_SCRIPT }, { 0x2224B, 0x0020, NES_SCRIPT }, { 0x2226B, 0x008F, NES_SCRIPT }, { 0x1947D, 0x002B, NES_SCRIPT },
    308         { 0x1CACB, 0x0061, NES_SCRIPT }, { 0x1CB2C, 0x003C, NES_SCRIPT }, { 0x1CB68, 0x0042, NES_SCRIPT }, { 0x1CBAA, 0x004F, NES_SCRIPT }, { 0x2049B, 0x0076, NES_SCRIPT },
    309         { 0x16A96, 0x0035, NES_SCRIPT }, { 0x16ACB, 0x001C, NES_SCRIPT }, { 0x16AE7, 0x0014, NES_SCRIPT }, { 0x16AFB, 0x001C, NES_SCRIPT }, { 0x16B17, 0x0027, NES_SCRIPT },
    310         { 0x16B3E, 0x01AA, NES_SCRIPT }, { 0x1D150, 0x0096, NES_SCRIPT }, { 0x1D1E6, 0x010E, NES_SCRIPT }, { 0x1D2F4, 0x001C, NES_SCRIPT }, { 0x1D310, 0x0056, NES_SCRIPT },
    311         { 0x1D366, 0x0072, NES_SCRIPT }, { 0x1E401, 0x0028, NES_SCRIPT }, { 0x1E429, 0x017D, NES_SCRIPT }, { 0x1E5A6, 0x0229, NES_SCRIPT }, { 0x28932, 0x0071, NES_SCRIPT },
    312         { 0x13EC6, 0x004D, NES_SCRIPT }, { 0x162ED, 0x0039, NES_SCRIPT }, { 0x178DF, 0x028B, NES_SCRIPT }, { 0x17B6A, 0x00BB, NES_SCRIPT }, { 0x17C25, 0x018B, NES_SCRIPT },
    313         { 0x00000, 0x0000, NES_SCRIPT }, { 0x19FE3, 0x00ED, NES_SCRIPT }, { 0x21C90, 0x00F6, NES_SCRIPT }, { 0x1E7CF, 0x009B, NES_SCRIPT }, { 0x21D86, 0x0047, NES_SCRIPT },
    314         { 0x2C6C4, 0x004D, NES_SCRIPT }, { 0x16326, 0x0024, NES_SCRIPT }, { 0x14D0D, 0x0014, NES_SCRIPT }, { 0x18AE7, 0x0059, NES_SCRIPT }, { 0x18B40, 0x011E, NES_SCRIPT },
    315         { 0x18C5E, 0x0009, NES_SCRIPT }, { 0x14D21, 0x01B6, NES_SCRIPT }, { 0x2B108, 0x0243, NES_SCRIPT }, { 0x230C9, 0x067F, NES_SCRIPT }, { 0x2C711, 0x001C, NES_SCRIPT },
    316         { 0x2C72D, 0x001A, NES_SCRIPT }, { 0x2C747, 0x0021, NES_SCRIPT }, { 0x2C768, 0x0024, NES_SCRIPT }, { 0x2C78C, 0x0017, NES_SCRIPT }, { 0x2C7A3, 0x0017, NES_SCRIPT },
    317         { 0x2C7BA, 0x0014, NES_SCRIPT }, { 0x2C7CE, 0x0024, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2C7F2, 0x0011, NES_SCRIPT }, { 0x18C67, 0x009D, NES_SCRIPT },
    318         { 0x2275A, 0x0066, NES_SCRIPT }, { 0x14ED7, 0x0075, NES_SCRIPT }, { 0x1F28D, 0x0120, NES_SCRIPT }, { 0x1FCD6, 0x001D, NES_SCRIPT }, { 0x1F3AD, 0x008F, NES_SCRIPT },
    319         { 0x1F43C, 0x0097, NES_SCRIPT }, { 0x18D04, 0x006A, NES_SCRIPT }, { 0x18D6E, 0x0030, NES_SCRIPT }, { 0x1F4D3, 0x0092, NES_SCRIPT }, { 0x2C803, 0x00CC, NES_SCRIPT },
    320         { 0x2C8CF, 0x00BA, NES_SCRIPT }, { 0x2C989, 0x0088, NES_SCRIPT }, { 0x20A09, 0x01B0, NES_SCRIPT }, { 0x20BB9, 0x0168, NES_SCRIPT }, { 0x20D21, 0x006C, NES_SCRIPT },
    321         { 0x20D8D, 0x0037, NES_SCRIPT }, { 0x20DC4, 0x00E4, NES_SCRIPT }, { 0x20EA8, 0x0045, NES_SCRIPT }, { 0x20EED, 0x00E1, NES_SCRIPT }, { 0x20FCE, 0x00F6, NES_SCRIPT },
    322         { 0x210C4, 0x0141, NES_SCRIPT }, { 0x21205, 0x0183, NES_SCRIPT }, { 0x21388, 0x0034, NES_SCRIPT }, { 0x213BC, 0x00A9, NES_SCRIPT }, { 0x24367, 0x011B, NES_SCRIPT },
    323         { 0x1BDC2, 0x0070, NES_SCRIPT }, { 0x1CBF9, 0x0091, NES_SCRIPT }, { 0x29372, 0x0054, NES_SCRIPT }, { 0x1A0D0, 0x00CE, NES_SCRIPT }, { 0x1A19E, 0x0077, NES_SCRIPT },
    324         { 0x14F4C, 0x0057, NES_SCRIPT }, { 0x2790A, 0x02DF, NES_SCRIPT }, { 0x1D9AB, 0x0219, NES_SCRIPT }, { 0x1DBC4, 0x00F9, NES_SCRIPT }, { 0x1DCBD, 0x0056, NES_SCRIPT },
    325         { 0x1DD13, 0x01C2, NES_SCRIPT }, { 0x14FA3, 0x004D, NES_SCRIPT }, { 0x27618, 0x00D9, NES_SCRIPT }, { 0x21DCD, 0x0013, NES_SCRIPT }, { 0x2A64F, 0x00F0, NES_SCRIPT },
    326         { 0x24482, 0x00E7, NES_SCRIPT }, { 0x21465, 0x00F2, NES_SCRIPT }, { 0x24569, 0x002B, NES_SCRIPT }, { 0x2C3CF, 0x010F, NES_SCRIPT }, { 0x24594, 0x00AA, NES_SCRIPT },
    327         { 0x250B2, 0x0DAB, NES_SCRIPT }, { 0x1B6F4, 0x000D, NES_SCRIPT }, { 0x1B701, 0x000D, NES_SCRIPT }, { 0x23748, 0x017C, NES_SCRIPT }, { 0x282F5, 0x01E1, NES_SCRIPT },
    328         { 0x238C4, 0x0153, NES_SCRIPT }, { 0x23A17, 0x019C, NES_SCRIPT }, { 0x23BB3, 0x0016, NES_SCRIPT }, { 0x2C4DE, 0x005C, NES_SCRIPT }, { 0x23BC9, 0x0020, NES_SCRIPT },
    329         { 0x27DEA, 0x00A5, NES_SCRIPT }, { 0x2A73F, 0x034D, NES_SCRIPT }, { 0x14FF0, 0x00E3, NES_SCRIPT }, { 0x2BACE, 0x005F, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT },
    330         { 0x25E5D, 0x003C, NES_SCRIPT }, { 0x1E86A, 0x0011, NES_SCRIPT }, { 0x1634A, 0x0018, NES_SCRIPT }, { 0x26E81, 0x001F, NES_SCRIPT }, { 0x26EA0, 0x0054, NES_SCRIPT },
    331         { 0x26EF4, 0x0149, NES_SCRIPT }, { 0x2703D, 0x004B, NES_SCRIPT }, { 0x27088, 0x017D, NES_SCRIPT }, { 0x27205, 0x0027, NES_SCRIPT }, { 0x2722C, 0x0041, NES_SCRIPT },
    332         { 0x2726D, 0x01B1, NES_SCRIPT }, { 0x16362, 0x001F, NES_SCRIPT }, { 0x2463E, 0x002A, NES_SCRIPT }, { 0x150D3, 0x019E, NES_SCRIPT }, { 0x194A8, 0x0031, NES_SCRIPT },
    333         { 0x18D9E, 0x007C, NES_SCRIPT }, { 0x21557, 0x00DC, NES_SCRIPT }, { 0x1D3D8, 0x0018, NES_SCRIPT }, { 0x1D3F0, 0x0053, NES_SCRIPT }, { 0x17DB0, 0x0005, NES_SCRIPT },
    334         { 0x15271, 0x011B, NES_SCRIPT }, { 0x1538C, 0x000B, NES_SCRIPT }, { 0x24668, 0x0138, NES_SCRIPT }, { 0x247A0, 0x0014, NES_SCRIPT }, { 0x1DED5, 0x0018, NES_SCRIPT },
    335         { 0x247B4, 0x0027, NES_SCRIPT }, { 0x1A215, 0x004D, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2BB2D, 0x00A5, NES_SCRIPT }, { 0x2AA8C, 0x00C1, NES_SCRIPT },
    336         { 0x2AB4D, 0x0140, NES_SCRIPT }, { 0x19982, 0x00BF, NES_SCRIPT }, { 0x19A41, 0x014D, NES_SCRIPT }, { 0x19B8E, 0x0012, NES_SCRIPT }, { 0x2AC8D, 0x0005, NES_SCRIPT },
    337         { 0x2AC92, 0x0005, NES_SCRIPT }, { 0x2AC97, 0x0005, NES_SCRIPT }, { 0x2AC9C, 0x0005, NES_SCRIPT }, { 0x2ACA1, 0x0005, NES_SCRIPT }, { 0x21633, 0x0033, NES_SCRIPT },
    338         { 0x2ACA6, 0x0005, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2ACAB, 0x009C, NES_SCRIPT }, { 0x2AD47, 0x009C, NES_SCRIPT }
     315const struct t_resource res_scripts_eur[179] = {
     316        { 0x00000, 0x0000 }, { 0x29966, 0x044D }, { 0x29DB3, 0x0207 }, { 0x29FBA, 0x009F }, { 0x2A059, 0x03F4 },
     317        { 0x2A44D, 0x01A1 }, { 0x00000, 0x0000 }, { 0x2A5EE, 0x005C }, { 0x00000, 0x0000 }, { 0x2A64A, 0x0005 },
     318        { 0x2C6AA, 0x000D }, { 0x2C6B7, 0x000D }, { 0x17889, 0x0040 }, { 0x178C9, 0x0016 }, { 0x1B6AE, 0x0046 },
     319        { 0x1EE47, 0x00BD }, { 0x21C3B, 0x0055 }, { 0x18AC0, 0x0027 }, { 0x1FC88, 0x0027 }, { 0x1FCAF, 0x0027 },
     320        { 0x1BDA0, 0x0022 }, { 0x15BE0, 0x0088 }, { 0x2224B, 0x0020 }, { 0x2226B, 0x008F }, { 0x1947D, 0x002B },
     321        { 0x1CACB, 0x0061 }, { 0x1CB2C, 0x003C }, { 0x1CB68, 0x0042 }, { 0x1CBAA, 0x004F }, { 0x2049B, 0x0076 },
     322        { 0x16A96, 0x0035 }, { 0x16ACB, 0x001C }, { 0x16AE7, 0x0014 }, { 0x16AFB, 0x001C }, { 0x16B17, 0x0027 },
     323        { 0x16B3E, 0x01AA }, { 0x1D150, 0x0096 }, { 0x1D1E6, 0x010E }, { 0x1D2F4, 0x001C }, { 0x1D310, 0x0056 },
     324        { 0x1D366, 0x0072 }, { 0x1E401, 0x0028 }, { 0x1E429, 0x017D }, { 0x1E5A6, 0x0229 }, { 0x28932, 0x0071 },
     325        { 0x13EC6, 0x004D }, { 0x162ED, 0x0039 }, { 0x178DF, 0x028B }, { 0x17B6A, 0x00BB }, { 0x17C25, 0x018B },
     326        { 0x00000, 0x0000 }, { 0x19FE3, 0x00ED }, { 0x21C90, 0x00F6 }, { 0x1E7CF, 0x009B }, { 0x21D86, 0x0047 },
     327        { 0x2C6C4, 0x004D }, { 0x16326, 0x0024 }, { 0x14D0D, 0x0014 }, { 0x18AE7, 0x0059 }, { 0x18B40, 0x011E },
     328        { 0x18C5E, 0x0009 }, { 0x14D21, 0x01B6 }, { 0x2B108, 0x0243 }, { 0x230C9, 0x067F }, { 0x2C711, 0x001C },
     329        { 0x2C72D, 0x001A }, { 0x2C747, 0x0021 }, { 0x2C768, 0x0024 }, { 0x2C78C, 0x0017 }, { 0x2C7A3, 0x0017 },
     330        { 0x2C7BA, 0x0014 }, { 0x2C7CE, 0x0024 }, { 0x00000, 0x0000 }, { 0x2C7F2, 0x0011 }, { 0x18C67, 0x009D },
     331        { 0x2275A, 0x0066 }, { 0x14ED7, 0x0075 }, { 0x1F28D, 0x0120 }, { 0x1FCD6, 0x001D }, { 0x1F3AD, 0x008F },
     332        { 0x1F43C, 0x0097 }, { 0x18D04, 0x006A }, { 0x18D6E, 0x0030 }, { 0x1F4D3, 0x0092 }, { 0x2C803, 0x00CC },
     333        { 0x2C8CF, 0x00BA }, { 0x2C989, 0x0088 }, { 0x20A09, 0x01B0 }, { 0x20BB9, 0x0168 }, { 0x20D21, 0x006C },
     334        { 0x20D8D, 0x0037 }, { 0x20DC4, 0x00E4 }, { 0x20EA8, 0x0045 }, { 0x20EED, 0x00E1 }, { 0x20FCE, 0x00F6 },
     335        { 0x210C4, 0x0141 }, { 0x21205, 0x0183 }, { 0x21388, 0x0034 }, { 0x213BC, 0x00A9 }, { 0x24367, 0x011B },
     336        { 0x1BDC2, 0x0070 }, { 0x1CBF9, 0x0091 }, { 0x29372, 0x0054 }, { 0x1A0D0, 0x00CE }, { 0x1A19E, 0x0077 },
     337        { 0x14F4C, 0x0057 }, { 0x2790A, 0x02DF }, { 0x1D9AB, 0x0219 }, { 0x1DBC4, 0x00F9 }, { 0x1DCBD, 0x0056 },
     338        { 0x1DD13, 0x01C2 }, { 0x14FA3, 0x004D }, { 0x27618, 0x00D9 }, { 0x21DCD, 0x0013 }, { 0x2A64F, 0x00F0 },
     339        { 0x24482, 0x00E7 }, { 0x21465, 0x00F2 }, { 0x24569, 0x002B }, { 0x2C3CF, 0x010F }, { 0x24594, 0x00AA },
     340        { 0x250B2, 0x0DAB }, { 0x1B6F4, 0x000D }, { 0x1B701, 0x000D }, { 0x23748, 0x017C }, { 0x282F5, 0x01E1 },
     341        { 0x238C4, 0x0153 }, { 0x23A17, 0x019C }, { 0x23BB3, 0x0016 }, { 0x2C4DE, 0x005C }, { 0x23BC9, 0x0020 },
     342        { 0x27DEA, 0x00A5 }, { 0x2A73F, 0x034D }, { 0x14FF0, 0x00E3 }, { 0x2BACE, 0x005F }, { 0x00000, 0x0000 },
     343        { 0x25E5D, 0x003C }, { 0x1E86A, 0x0011 }, { 0x1634A, 0x0018 }, { 0x26E81, 0x001F }, { 0x26EA0, 0x0054 },
     344        { 0x26EF4, 0x0149 }, { 0x2703D, 0x004B }, { 0x27088, 0x017D }, { 0x27205, 0x0027 }, { 0x2722C, 0x0041 },
     345        { 0x2726D, 0x01B1 }, { 0x16362, 0x001F }, { 0x2463E, 0x002A }, { 0x150D3, 0x019E }, { 0x194A8, 0x0031 },
     346        { 0x18D9E, 0x007C }, { 0x21557, 0x00DC }, { 0x1D3D8, 0x0018 }, { 0x1D3F0, 0x0053 }, { 0x17DB0, 0x0005 },
     347        { 0x15271, 0x011B }, { 0x1538C, 0x000B }, { 0x24668, 0x0138 }, { 0x247A0, 0x0014 }, { 0x1DED5, 0x0018 },
     348        { 0x247B4, 0x0027 }, { 0x1A215, 0x004D }, { 0x00000, 0x0000 }, { 0x2BB2D, 0x00A5 }, { 0x2AA8C, 0x00C1 },
     349        { 0x2AB4D, 0x0140 }, { 0x19982, 0x00BF }, { 0x19A41, 0x014D }, { 0x19B8E, 0x0012 }, { 0x2AC8D, 0x0005 },
     350        { 0x2AC92, 0x0005 }, { 0x2AC97, 0x0005 }, { 0x2AC9C, 0x0005 }, { 0x2ACA1, 0x0005 }, { 0x21633, 0x0033 },
     351        { 0x2ACA6, 0x0005 }, { 0x00000, 0x0000 }, { 0x2ACAB, 0x009C }, { 0x2AD47, 0x009C }
    339352};
    340353
    341 t_resource res_scripts_swe[179] = {
    342         { 0x00000, 0x0000, NES_SCRIPT }, { 0x28F80, 0x043B, NES_SCRIPT }, { 0x293BB, 0x0209, NES_SCRIPT }, { 0x295C4, 0x00AB, NES_SCRIPT }, { 0x2966F, 0x03FD, NES_SCRIPT },
    343         { 0x29A6C, 0x01A1, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x29C0D, 0x005C, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x29C69, 0x0005, NES_SCRIPT },
    344         { 0x2B980, 0x000D, NES_SCRIPT }, { 0x2B98D, 0x000D, NES_SCRIPT }, { 0x186C8, 0x0040, NES_SCRIPT }, { 0x18708, 0x0016, NES_SCRIPT }, { 0x1B4B1, 0x0046, NES_SCRIPT },
    345         { 0x1EEBB, 0x00B8, NES_SCRIPT }, { 0x21CFA, 0x005C, NES_SCRIPT }, { 0x17537, 0x0027, NES_SCRIPT }, { 0x1FD0A, 0x0027, NES_SCRIPT }, { 0x1FD31, 0x0027, NES_SCRIPT },
    346         { 0x1BBB5, 0x0022, NES_SCRIPT }, { 0x15BC0, 0x0085, NES_SCRIPT }, { 0x22324, 0x001E, NES_SCRIPT }, { 0x22342, 0x008F, NES_SCRIPT }, { 0x19252, 0x002B, NES_SCRIPT },
    347         { 0x1CB1B, 0x006D, NES_SCRIPT }, { 0x1CB88, 0x004C, NES_SCRIPT }, { 0x1CBD4, 0x0044, NES_SCRIPT }, { 0x1CC18, 0x0053, NES_SCRIPT }, { 0x2049D, 0x0081, NES_SCRIPT },
    348         { 0x1634C, 0x0035, NES_SCRIPT }, { 0x16381, 0x001C, NES_SCRIPT }, { 0x1639D, 0x0014, NES_SCRIPT }, { 0x163B1, 0x001C, NES_SCRIPT }, { 0x163CD, 0x0027, NES_SCRIPT },
    349         { 0x163F4, 0x019B, NES_SCRIPT }, { 0x1D183, 0x0094, NES_SCRIPT }, { 0x1D217, 0x0117, NES_SCRIPT }, { 0x1D32E, 0x001C, NES_SCRIPT }, { 0x1D34A, 0x0056, NES_SCRIPT },
    350         { 0x1D3A0, 0x0072, NES_SCRIPT }, { 0x1E47F, 0x0028, NES_SCRIPT }, { 0x1E4A7, 0x0175, NES_SCRIPT }, { 0x1E61C, 0x022B, NES_SCRIPT }, { 0x27C85, 0x0071, NES_SCRIPT },
    351         { 0x17C86, 0x004A, NES_SCRIPT }, { 0x13DD6, 0x0039, NES_SCRIPT }, { 0x1871E, 0x0270, NES_SCRIPT }, { 0x1898E, 0x00C0, NES_SCRIPT }, { 0x18A4E, 0x01B6, NES_SCRIPT },
    352         { 0x00000, 0x0000, NES_SCRIPT }, { 0x19DC9, 0x00EE, NES_SCRIPT }, { 0x21D56, 0x00F5, NES_SCRIPT }, { 0x1E847, 0x0094, NES_SCRIPT }, { 0x21E4B, 0x0047, NES_SCRIPT },
    353         { 0x2B99A, 0x004D, NES_SCRIPT }, { 0x13E0F, 0x0024, NES_SCRIPT }, { 0x14D13, 0x0014, NES_SCRIPT }, { 0x1755E, 0x0054, NES_SCRIPT }, { 0x175B2, 0x011A, NES_SCRIPT },
    354         { 0x176CC, 0x0009, NES_SCRIPT }, { 0x14D27, 0x01B9, NES_SCRIPT }, { 0x2AA0E, 0x0256, NES_SCRIPT }, { 0x231A4, 0x06D2, NES_SCRIPT }, { 0x2B9E7, 0x001D, NES_SCRIPT },
    355         { 0x2BA04, 0x0016, NES_SCRIPT }, { 0x2BA1A, 0x002D, NES_SCRIPT }, { 0x2BA47, 0x0027, NES_SCRIPT }, { 0x2BA6E, 0x0016, NES_SCRIPT }, { 0x2BA84, 0x0014, NES_SCRIPT },
    356         { 0x2BA98, 0x0015, NES_SCRIPT }, { 0x2BAAD, 0x0029, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2BAD6, 0x0010, NES_SCRIPT }, { 0x176D5, 0x00A2, NES_SCRIPT },
    357         { 0x22831, 0x0066, NES_SCRIPT }, { 0x14EE0, 0x0077, NES_SCRIPT }, { 0x1F30B, 0x011A, NES_SCRIPT }, { 0x1FD58, 0x001D, NES_SCRIPT }, { 0x1F425, 0x0095, NES_SCRIPT },
    358         { 0x1F4BA, 0x009E, NES_SCRIPT }, { 0x17777, 0x006F, NES_SCRIPT }, { 0x177E6, 0x002F, NES_SCRIPT }, { 0x1F558, 0x0098, NES_SCRIPT }, { 0x2BAE6, 0x00C4, NES_SCRIPT },
    359         { 0x2BBAA, 0x00AE, NES_SCRIPT }, { 0x2BC58, 0x0088, NES_SCRIPT }, { 0x20A3C, 0x01BB, NES_SCRIPT }, { 0x20BF7, 0x0197, NES_SCRIPT }, { 0x20D8E, 0x006E, NES_SCRIPT },
    360         { 0x20DFC, 0x0028, NES_SCRIPT }, { 0x20E24, 0x00EA, NES_SCRIPT }, { 0x20F0E, 0x0049, NES_SCRIPT }, { 0x20F57, 0x00E7, NES_SCRIPT }, { 0x2103E, 0x010C, NES_SCRIPT },
    361         { 0x2114A, 0x0151, NES_SCRIPT }, { 0x2129B, 0x01B0, NES_SCRIPT }, { 0x2144B, 0x0034, NES_SCRIPT }, { 0x2147F, 0x00A9, NES_SCRIPT }, { 0x24379, 0x010E, NES_SCRIPT },
    362         { 0x1BBD7, 0x0072, NES_SCRIPT }, { 0x1CC6B, 0x0092, NES_SCRIPT }, { 0x2898B, 0x0054, NES_SCRIPT }, { 0x19EB7, 0x00D3, NES_SCRIPT }, { 0x19F8A, 0x0077, NES_SCRIPT },
    363         { 0x14F57, 0x0057, NES_SCRIPT }, { 0x2703E, 0x0307, NES_SCRIPT }, { 0x1D9FB, 0x024F, NES_SCRIPT }, { 0x1DC4A, 0x00E4, NES_SCRIPT }, { 0x1DD2E, 0x0059, NES_SCRIPT },
    364         { 0x1DD87, 0x01C2, NES_SCRIPT }, { 0x14FAE, 0x004D, NES_SCRIPT }, { 0x26D52, 0x00D5, NES_SCRIPT }, { 0x21E92, 0x0013, NES_SCRIPT }, { 0x29C6E, 0x00F0, NES_SCRIPT },
    365         { 0x24487, 0x00E0, NES_SCRIPT }, { 0x21528, 0x00F2, NES_SCRIPT }, { 0x24567, 0x0023, NES_SCRIPT }, { 0x2B6B2, 0x010B, NES_SCRIPT }, { 0x2458A, 0x00A1, NES_SCRIPT },
    366         { 0x250A0, 0x018B, NES_SCRIPT }, { 0x1B4F7, 0x000D, NES_SCRIPT }, { 0x1B504, 0x000D, NES_SCRIPT }, { 0x23876, 0x018E, NES_SCRIPT }, { 0x27639, 0x01F0, NES_SCRIPT },
    367         { 0x23A04, 0x017B, NES_SCRIPT }, { 0x23B7F, 0x01AC, NES_SCRIPT }, { 0x23D2B, 0x0016, NES_SCRIPT }, { 0x2B7BD, 0x005B, NES_SCRIPT }, { 0x23D41, 0x0020, NES_SCRIPT },
    368         { 0x2A643, 0x00A6, NES_SCRIPT }, { 0x29D5E, 0x0399, NES_SCRIPT }, { 0x14FFB, 0x00D2, NES_SCRIPT }, { 0x2B1DE, 0x0063, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT },
    369         { 0x2522B, 0x003C, NES_SCRIPT }, { 0x1E8DB, 0x0011, NES_SCRIPT }, { 0x13E33, 0x0018, NES_SCRIPT }, { 0x26585, 0x001F, NES_SCRIPT }, { 0x265A4, 0x0054, NES_SCRIPT },
    370         { 0x265F8, 0x017D, NES_SCRIPT }, { 0x26775, 0x004B, NES_SCRIPT }, { 0x267C0, 0x0165, NES_SCRIPT }, { 0x26925, 0x0027, NES_SCRIPT }, { 0x2694C, 0x0041, NES_SCRIPT },
    371         { 0x2698D, 0x01CB, NES_SCRIPT }, { 0x13E4B, 0x001F, NES_SCRIPT }, { 0x2462B, 0x002A, NES_SCRIPT }, { 0x150CD, 0x0187, NES_SCRIPT }, { 0x1927D, 0x0031, NES_SCRIPT },
    372         { 0x17815, 0x0087, NES_SCRIPT }, { 0x2161A, 0x00D8, NES_SCRIPT }, { 0x1D412, 0x0018, NES_SCRIPT }, { 0x1D42A, 0x0058, NES_SCRIPT }, { 0x18C04, 0x0005, NES_SCRIPT },
    373         { 0x15254, 0x0108, NES_SCRIPT }, { 0x1535C, 0x000B, NES_SCRIPT }, { 0x24655, 0x0139, NES_SCRIPT }, { 0x2478E, 0x0014, NES_SCRIPT }, { 0x1DF49, 0x0018, NES_SCRIPT },
    374         { 0x247A2, 0x0027, NES_SCRIPT }, { 0x1A001, 0x004C, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2B241, 0x00A5, NES_SCRIPT }, { 0x2A0F7, 0x00B5, NES_SCRIPT },
    375         { 0x2A1AC, 0x0140, NES_SCRIPT }, { 0x19759, 0x00CA, NES_SCRIPT }, { 0x19823, 0x014D, NES_SCRIPT }, { 0x19970, 0x0012, NES_SCRIPT }, { 0x2A2EC, 0x0005, NES_SCRIPT },
    376         { 0x2A2F1, 0x0005, NES_SCRIPT }, { 0x2A2F6, 0x0005, NES_SCRIPT }, { 0x2A2FB, 0x0005, NES_SCRIPT }, { 0x2A300, 0x0005, NES_SCRIPT }, { 0x216F2, 0x0033, NES_SCRIPT },
    377         { 0x2A305, 0x0005, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A30A, 0x009C, NES_SCRIPT }, { 0x2A3A6, 0x009C, NES_SCRIPT }
     354const struct t_resource res_scripts_swe[179] = {
     355        { 0x00000, 0x0000 }, { 0x28F80, 0x043B }, { 0x293BB, 0x0209 }, { 0x295C4, 0x00AB }, { 0x2966F, 0x03FD },
     356        { 0x29A6C, 0x01A1 }, { 0x00000, 0x0000 }, { 0x29C0D, 0x005C }, { 0x00000, 0x0000 }, { 0x29C69, 0x0005 },
     357        { 0x2B980, 0x000D }, { 0x2B98D, 0x000D }, { 0x186C8, 0x0040 }, { 0x18708, 0x0016 }, { 0x1B4B1, 0x0046 },
     358        { 0x1EEBB, 0x00B8 }, { 0x21CFA, 0x005C }, { 0x17537, 0x0027 }, { 0x1FD0A, 0x0027 }, { 0x1FD31, 0x0027 },
     359        { 0x1BBB5, 0x0022 }, { 0x15BC0, 0x0085 }, { 0x22324, 0x001E }, { 0x22342, 0x008F }, { 0x19252, 0x002B },
     360        { 0x1CB1B, 0x006D }, { 0x1CB88, 0x004C }, { 0x1CBD4, 0x0044 }, { 0x1CC18, 0x0053 }, { 0x2049D, 0x0081 },
     361        { 0x1634C, 0x0035 }, { 0x16381, 0x001C }, { 0x1639D, 0x0014 }, { 0x163B1, 0x001C }, { 0x163CD, 0x0027 },
     362        { 0x163F4, 0x019B }, { 0x1D183, 0x0094 }, { 0x1D217, 0x0117 }, { 0x1D32E, 0x001C }, { 0x1D34A, 0x0056 },
     363        { 0x1D3A0, 0x0072 }, { 0x1E47F, 0x0028 }, { 0x1E4A7, 0x0175 }, { 0x1E61C, 0x022B }, { 0x27C85, 0x0071 },
     364        { 0x17C86, 0x004A }, { 0x13DD6, 0x0039 }, { 0x1871E, 0x0270 }, { 0x1898E, 0x00C0 }, { 0x18A4E, 0x01B6 },
     365        { 0x00000, 0x0000 }, { 0x19DC9, 0x00EE }, { 0x21D56, 0x00F5 }, { 0x1E847, 0x0094 }, { 0x21E4B, 0x0047 },
     366        { 0x2B99A, 0x004D }, { 0x13E0F, 0x0024 }, { 0x14D13, 0x0014 }, { 0x1755E, 0x0054 }, { 0x175B2, 0x011A },
     367        { 0x176CC, 0x0009 }, { 0x14D27, 0x01B9 }, { 0x2AA0E, 0x0256 }, { 0x231A4, 0x06D2 }, { 0x2B9E7, 0x001D },
     368        { 0x2BA04, 0x0016 }, { 0x2BA1A, 0x002D }, { 0x2BA47, 0x0027 }, { 0x2BA6E, 0x0016 }, { 0x2BA84, 0x0014 },
     369        { 0x2BA98, 0x0015 }, { 0x2BAAD, 0x0029 }, { 0x00000, 0x0000 }, { 0x2BAD6, 0x0010 }, { 0x176D5, 0x00A2 },
     370        { 0x22831, 0x0066 }, { 0x14EE0, 0x0077 }, { 0x1F30B, 0x011A }, { 0x1FD58, 0x001D }, { 0x1F425, 0x0095 },
     371        { 0x1F4BA, 0x009E }, { 0x17777, 0x006F }, { 0x177E6, 0x002F }, { 0x1F558, 0x0098 }, { 0x2BAE6, 0x00C4 },
     372        { 0x2BBAA, 0x00AE }, { 0x2BC58, 0x0088 }, { 0x20A3C, 0x01BB }, { 0x20BF7, 0x0197 }, { 0x20D8E, 0x006E },
     373        { 0x20DFC, 0x0028 }, { 0x20E24, 0x00EA }, { 0x20F0E, 0x0049 }, { 0x20F57, 0x00E7 }, { 0x2103E, 0x010C },
     374        { 0x2114A, 0x0151 }, { 0x2129B, 0x01B0 }, { 0x2144B, 0x0034 }, { 0x2147F, 0x00A9 }, { 0x24379, 0x010E },
     375        { 0x1BBD7, 0x0072 }, { 0x1CC6B, 0x0092 }, { 0x2898B, 0x0054 }, { 0x19EB7, 0x00D3 }, { 0x19F8A, 0x0077 },
     376        { 0x14F57, 0x0057 }, { 0x2703E, 0x0307 }, { 0x1D9FB, 0x024F }, { 0x1DC4A, 0x00E4 }, { 0x1DD2E, 0x0059 },
     377        { 0x1DD87, 0x01C2 }, { 0x14FAE, 0x004D }, { 0x26D52, 0x00D5 }, { 0x21E92, 0x0013 }, { 0x29C6E, 0x00F0 },
     378        { 0x24487, 0x00E0 }, { 0x21528, 0x00F2 }, { 0x24567, 0x0023 }, { 0x2B6B2, 0x010B }, { 0x2458A, 0x00A1 },
     379        { 0x250A0, 0x018B }, { 0x1B4F7, 0x000D }, { 0x1B504, 0x000D }, { 0x23876, 0x018E }, { 0x27639, 0x01F0 },
     380        { 0x23A04, 0x017B }, { 0x23B7F, 0x01AC }, { 0x23D2B, 0x0016 }, { 0x2B7BD, 0x005B }, { 0x23D41, 0x0020 },
     381        { 0x2A643, 0x00A6 }, { 0x29D5E, 0x0399 }, { 0x14FFB, 0x00D2 }, { 0x2B1DE, 0x0063 }, { 0x00000, 0x0000 },
     382        { 0x2522B, 0x003C }, { 0x1E8DB, 0x0011 }, { 0x13E33, 0x0018 }, { 0x26585, 0x001F }, { 0x265A4, 0x0054 },
     383        { 0x265F8, 0x017D }, { 0x26775, 0x004B }, { 0x267C0, 0x0165 }, { 0x26925, 0x0027 }, { 0x2694C, 0x0041 },
     384        { 0x2698D, 0x01CB }, { 0x13E4B, 0x001F }, { 0x2462B, 0x002A }, { 0x150CD, 0x0187 }, { 0x1927D, 0x0031 },
     385        { 0x17815, 0x0087 }, { 0x2161A, 0x00D8 }, { 0x1D412, 0x0018 }, { 0x1D42A, 0x0058 }, { 0x18C04, 0x0005 },
     386        { 0x15254, 0x0108 }, { 0x1535C, 0x000B }, { 0x24655, 0x0139 }, { 0x2478E, 0x0014 }, { 0x1DF49, 0x0018 },
     387        { 0x247A2, 0x0027 }, { 0x1A001, 0x004C }, { 0x00000, 0x0000 }, { 0x2B241, 0x00A5 }, { 0x2A0F7, 0x00B5 },
     388        { 0x2A1AC, 0x0140 }, { 0x19759, 0x00CA }, { 0x19823, 0x014D }, { 0x19970, 0x0012 }, { 0x2A2EC, 0x0005 },
     389        { 0x2A2F1, 0x0005 }, { 0x2A2F6, 0x0005 }, { 0x2A2FB, 0x0005 }, { 0x2A300, 0x0005 }, { 0x216F2, 0x0033 },
     390        { 0x2A305, 0x0005 }, { 0x00000, 0x0000 }, { 0x2A30A, 0x009C }, { 0x2A3A6, 0x009C }
    378391};
    379392
    380 t_resource res_scripts_fra[179] = {
    381         { 0x00000, 0x0000, NES_SCRIPT }, { 0x2947D, 0x0480, NES_SCRIPT }, { 0x298FD, 0x0226, NES_SCRIPT }, { 0x29B23, 0x0092, NES_SCRIPT }, { 0x29BB5, 0x040C, NES_SCRIPT },
    382         { 0x29FC1, 0x01A1, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A162, 0x005C, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A1BE, 0x0005, NES_SCRIPT },
    383         { 0x2C169, 0x000D, NES_SCRIPT }, { 0x2C176, 0x000D, NES_SCRIPT }, { 0x186E3, 0x0040, NES_SCRIPT }, { 0x18723, 0x0016, NES_SCRIPT }, { 0x1B59F, 0x0046, NES_SCRIPT },
    384         { 0x1EFD7, 0x00CB, NES_SCRIPT }, { 0x21D09, 0x0054, NES_SCRIPT }, { 0x176C8, 0x0027, NES_SCRIPT }, { 0x1FE6A, 0x0027, NES_SCRIPT }, { 0x1FE91, 0x0027, NES_SCRIPT },
    385         { 0x1BC9A, 0x0022, NES_SCRIPT }, { 0x15CD6, 0x0092, NES_SCRIPT }, { 0x22336, 0x001C, NES_SCRIPT }, { 0x22352, 0x008F, NES_SCRIPT }, { 0x192A5, 0x002B, NES_SCRIPT },
    386         { 0x1CAAA, 0x0069, NES_SCRIPT }, { 0x1CB13, 0x0054, NES_SCRIPT }, { 0x1CB67, 0x0048, NES_SCRIPT }, { 0x1CBAF, 0x0058, NES_SCRIPT }, { 0x204B6, 0x0078, NES_SCRIPT },
    387         { 0x16471, 0x0035, NES_SCRIPT }, { 0x164A6, 0x001C, NES_SCRIPT }, { 0x164C2, 0x0014, NES_SCRIPT }, { 0x164D6, 0x001C, NES_SCRIPT }, { 0x164F2, 0x0027, NES_SCRIPT },
    388         { 0x16519, 0x01BB, NES_SCRIPT }, { 0x1D135, 0x008D, NES_SCRIPT }, { 0x1D1C2, 0x0119, NES_SCRIPT }, { 0x1D2DB, 0x001C, NES_SCRIPT }, { 0x1D2F7, 0x0056, NES_SCRIPT },
    389         { 0x1D34D, 0x0072, NES_SCRIPT }, { 0x1E4BF, 0x0028, NES_SCRIPT }, { 0x1E4E7, 0x01E0, NES_SCRIPT }, { 0x1E6C7, 0x0241, NES_SCRIPT }, { 0x2845D, 0x0071, NES_SCRIPT },
    390         { 0x17E48, 0x004C, NES_SCRIPT }, { 0x13DE3, 0x0039, NES_SCRIPT }, { 0x18739, 0x0296, NES_SCRIPT }, { 0x189CF, 0x00C2, NES_SCRIPT }, { 0x18A91, 0x01A5, NES_SCRIPT },
    391         { 0x00000, 0x0000, NES_SCRIPT }, { 0x19E13, 0x00F3, NES_SCRIPT }, { 0x21D5D, 0x00F6, NES_SCRIPT }, { 0x1E908, 0x00B8, NES_SCRIPT }, { 0x21E53, 0x0047, NES_SCRIPT },
    392         { 0x2C183, 0x004D, NES_SCRIPT }, { 0x13E1C, 0x0024, NES_SCRIPT }, { 0x14D77, 0x0014, NES_SCRIPT }, { 0x176EF, 0x0059, NES_SCRIPT }, { 0x17748, 0x013F, NES_SCRIPT },
    393         { 0x17887, 0x0009, NES_SCRIPT }, { 0x14D8B, 0x01D4, NES_SCRIPT }, { 0x2ACFB, 0x028D, NES_SCRIPT }, { 0x23203, 0x0779, NES_SCRIPT }, { 0x2C1D0, 0x001B, NES_SCRIPT },
    394         { 0x2C1EB, 0x001F, NES_SCRIPT }, { 0x2C20A, 0x0024, NES_SCRIPT }, { 0x2C22E, 0x0019, NES_SCRIPT }, { 0x2C247, 0x0018, NES_SCRIPT }, { 0x2C25F, 0x001D, NES_SCRIPT },
    395         { 0x2C27C, 0x0016, NES_SCRIPT }, { 0x2C292, 0x0027, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2C2B9, 0x0011, NES_SCRIPT }, { 0x17890, 0x00AA, NES_SCRIPT },
    396         { 0x22846, 0x0066, NES_SCRIPT }, { 0x14F5F, 0x0083, NES_SCRIPT }, { 0x1F43C, 0x013A, NES_SCRIPT }, { 0x1FEB8, 0x001D, NES_SCRIPT }, { 0x1F576, 0x0098, NES_SCRIPT },
    397         { 0x1F60E, 0x009B, NES_SCRIPT }, { 0x1793A, 0x006E, NES_SCRIPT }, { 0x179A8, 0x0033, NES_SCRIPT }, { 0x1F6A9, 0x00A5, NES_SCRIPT }, { 0x2C2CA, 0x00BA, NES_SCRIPT },
    398         { 0x2C384, 0x00AC, NES_SCRIPT }, { 0x2C430, 0x008F, NES_SCRIPT }, { 0x20A2D, 0x01BE, NES_SCRIPT }, { 0x20BEB, 0x0158, NES_SCRIPT }, { 0x20D43, 0x0079, NES_SCRIPT },
    399         { 0x20DBC, 0x002B, NES_SCRIPT }, { 0x20DE7, 0x00E8, NES_SCRIPT }, { 0x20ECF, 0x004A, NES_SCRIPT }, { 0x20F19, 0x0110, NES_SCRIPT }, { 0x21029, 0x0136, NES_SCRIPT },
    400         { 0x2115F, 0x0152, NES_SCRIPT }, { 0x212B1, 0x01B3, NES_SCRIPT }, { 0x21464, 0x0032, NES_SCRIPT }, { 0x21496, 0x00A9, NES_SCRIPT }, { 0x2437F, 0x0133, NES_SCRIPT },
    401         { 0x1BCBC, 0x0074, NES_SCRIPT }, { 0x1CC07, 0x0090, NES_SCRIPT }, { 0x28E43, 0x0054, NES_SCRIPT }, { 0x19F06, 0x00DB, NES_SCRIPT }, { 0x19FE1, 0x0080, NES_SCRIPT },
    402         { 0x14FE2, 0x0057, NES_SCRIPT }, { 0x273F4, 0x031F, NES_SCRIPT }, { 0x1D9D4, 0x0238, NES_SCRIPT }, { 0x1DC0C, 0x00FE, NES_SCRIPT }, { 0x1DD0A, 0x005A, NES_SCRIPT },
    403         { 0x1DD64, 0x01F5, NES_SCRIPT }, { 0x15039, 0x004D, NES_SCRIPT }, { 0x270DD, 0x0100, NES_SCRIPT }, { 0x21E9A, 0x0013, NES_SCRIPT }, { 0x2A1C3, 0x00F0, NES_SCRIPT },
    404         { 0x244B2, 0x00E4, NES_SCRIPT }, { 0x2153F, 0x00EC, NES_SCRIPT }, { 0x24596, 0x0033, NES_SCRIPT }, { 0x2BC04, 0x0108, NES_SCRIPT }, { 0x245C9, 0x009F, NES_SCRIPT },
    405         { 0x250F1, 0x0193, NES_SCRIPT }, { 0x1B5E5, 0x000D, NES_SCRIPT }, { 0x1B5F2, 0x000D, NES_SCRIPT }, { 0x2397C, 0x0199, NES_SCRIPT }, { 0x27A07, 0x0233, NES_SCRIPT },
    406         { 0x23B15, 0x0171, NES_SCRIPT }, { 0x23C86, 0x01BC, NES_SCRIPT }, { 0x23E42, 0x0016, NES_SCRIPT }, { 0x2BD0C, 0x005B, NES_SCRIPT }, { 0x23E58, 0x0020, NES_SCRIPT },
    407         { 0x27E3B, 0x00B9, NES_SCRIPT }, { 0x2A2B3, 0x03D3, NES_SCRIPT }, { 0x15086, 0x00E4, NES_SCRIPT }, { 0x2B70C, 0x0067, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT },
    408         { 0x25284, 0x003C, NES_SCRIPT }, { 0x1E9C0, 0x0011, NES_SCRIPT }, { 0x13E40, 0x0018, NES_SCRIPT }, { 0x26621, 0x001F, NES_SCRIPT }, { 0x26640, 0x0054, NES_SCRIPT },
    409         { 0x26694, 0x0173, NES_SCRIPT }, { 0x26807, 0x004B, NES_SCRIPT }, { 0x26852, 0x0190, NES_SCRIPT }, { 0x269E2, 0x0027, NES_SCRIPT }, { 0x26A09, 0x0041, NES_SCRIPT },
    410         { 0x26A4A, 0x024E, NES_SCRIPT }, { 0x13E58, 0x001F, NES_SCRIPT }, { 0x24668, 0x002A, NES_SCRIPT }, { 0x1516A, 0x01C9, NES_SCRIPT }, { 0x192D0, 0x0031, NES_SCRIPT },
    411         { 0x179DB, 0x0088, NES_SCRIPT }, { 0x2162B, 0x00D0, NES_SCRIPT }, { 0x1D3BF, 0x0018, NES_SCRIPT }, { 0x1D3D7, 0x0055, NES_SCRIPT }, { 0x18C36, 0x0005, NES_SCRIPT },
    412         { 0x15333, 0x0113, NES_SCRIPT }, { 0x15446, 0x000B, NES_SCRIPT }, { 0x24692, 0x014D, NES_SCRIPT }, { 0x247DF, 0x0014, NES_SCRIPT }, { 0x1DF59, 0x0018, NES_SCRIPT },
    413         { 0x247F3, 0x0027, NES_SCRIPT }, { 0x1A061, 0x0050, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2B773, 0x00A5, NES_SCRIPT }, { 0x2A686, 0x00BA, NES_SCRIPT },
    414         { 0x2A740, 0x0140, NES_SCRIPT }, { 0x1979F, 0x00CA, NES_SCRIPT }, { 0x19869, 0x014D, NES_SCRIPT }, { 0x199B6, 0x0012, NES_SCRIPT }, { 0x2A880, 0x0005, NES_SCRIPT },
    415         { 0x2A885, 0x0005, NES_SCRIPT }, { 0x2A88A, 0x0005, NES_SCRIPT }, { 0x2A88F, 0x0005, NES_SCRIPT }, { 0x2A894, 0x0005, NES_SCRIPT }, { 0x216FB, 0x0033, NES_SCRIPT },
    416         { 0x2A899, 0x0005, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A89E, 0x009C, NES_SCRIPT }, { 0x2A93A, 0x009C, NES_SCRIPT }
     393const struct t_resource res_scripts_fra[179] = {
     394        { 0x00000, 0x0000 }, { 0x2947D, 0x0480 }, { 0x298FD, 0x0226 }, { 0x29B23, 0x0092 }, { 0x29BB5, 0x040C },
     395        { 0x29FC1, 0x01A1 }, { 0x00000, 0x0000 }, { 0x2A162, 0x005C }, { 0x00000, 0x0000 }, { 0x2A1BE, 0x0005 },
     396        { 0x2C169, 0x000D }, { 0x2C176, 0x000D }, { 0x186E3, 0x0040 }, { 0x18723, 0x0016 }, { 0x1B59F, 0x0046 },
     397        { 0x1EFD7, 0x00CB }, { 0x21D09, 0x0054 }, { 0x176C8, 0x0027 }, { 0x1FE6A, 0x0027 }, { 0x1FE91, 0x0027 },
     398        { 0x1BC9A, 0x0022 }, { 0x15CD6, 0x0092 }, { 0x22336, 0x001C }, { 0x22352, 0x008F }, { 0x192A5, 0x002B },
     399        { 0x1CAAA, 0x0069 }, { 0x1CB13, 0x0054 }, { 0x1CB67, 0x0048 }, { 0x1CBAF, 0x0058 }, { 0x204B6, 0x0078 },
     400        { 0x16471, 0x0035 }, { 0x164A6, 0x001C }, { 0x164C2, 0x0014 }, { 0x164D6, 0x001C }, { 0x164F2, 0x0027 },
     401        { 0x16519, 0x01BB }, { 0x1D135, 0x008D }, { 0x1D1C2, 0x0119 }, { 0x1D2DB, 0x001C }, { 0x1D2F7, 0x0056 },
     402        { 0x1D34D, 0x0072 }, { 0x1E4BF, 0x0028 }, { 0x1E4E7, 0x01E0 }, { 0x1E6C7, 0x0241 }, { 0x2845D, 0x0071 },
     403        { 0x17E48, 0x004C }, { 0x13DE3, 0x0039 }, { 0x18739, 0x0296 }, { 0x189CF, 0x00C2 }, { 0x18A91, 0x01A5 },
     404        { 0x00000, 0x0000 }, { 0x19E13, 0x00F3 }, { 0x21D5D, 0x00F6 }, { 0x1E908, 0x00B8 }, { 0x21E53, 0x0047 },
     405        { 0x2C183, 0x004D }, { 0x13E1C, 0x0024 }, { 0x14D77, 0x0014 }, { 0x176EF, 0x0059 }, { 0x17748, 0x013F },
     406        { 0x17887, 0x0009 }, { 0x14D8B, 0x01D4 }, { 0x2ACFB, 0x028D }, { 0x23203, 0x0779 }, { 0x2C1D0, 0x001B },
     407        { 0x2C1EB, 0x001F }, { 0x2C20A, 0x0024 }, { 0x2C22E, 0x0019 }, { 0x2C247, 0x0018 }, { 0x2C25F, 0x001D },
     408        { 0x2C27C, 0x0016 }, { 0x2C292, 0x0027 }, { 0x00000, 0x0000 }, { 0x2C2B9, 0x0011 }, { 0x17890, 0x00AA },
     409        { 0x22846, 0x0066 }, { 0x14F5F, 0x0083 }, { 0x1F43C, 0x013A }, { 0x1FEB8, 0x001D }, { 0x1F576, 0x0098 },
     410        { 0x1F60E, 0x009B }, { 0x1793A, 0x006E }, { 0x179A8, 0x0033 }, { 0x1F6A9, 0x00A5 }, { 0x2C2CA, 0x00BA },
     411        { 0x2C384, 0x00AC }, { 0x2C430, 0x008F }, { 0x20A2D, 0x01BE }, { 0x20BEB, 0x0158 }, { 0x20D43, 0x0079 },
     412        { 0x20DBC, 0x002B }, { 0x20DE7, 0x00E8 }, { 0x20ECF, 0x004A }, { 0x20F19, 0x0110 }, { 0x21029, 0x0136 },
     413        { 0x2115F, 0x0152 }, { 0x212B1, 0x01B3 }, { 0x21464, 0x0032 }, { 0x21496, 0x00A9 }, { 0x2437F, 0x0133 },
     414        { 0x1BCBC, 0x0074 }, { 0x1CC07, 0x0090 }, { 0x28E43, 0x0054 }, { 0x19F06, 0x00DB }, { 0x19FE1, 0x0080 },
     415        { 0x14FE2, 0x0057 }, { 0x273F4, 0x031F }, { 0x1D9D4, 0x0238 }, { 0x1DC0C, 0x00FE }, { 0x1DD0A, 0x005A },
     416        { 0x1DD64, 0x01F5 }, { 0x15039, 0x004D }, { 0x270DD, 0x0100 }, { 0x21E9A, 0x0013 }, { 0x2A1C3, 0x00F0 },
     417        { 0x244B2, 0x00E4 }, { 0x2153F, 0x00EC }, { 0x24596, 0x0033 }, { 0x2BC04, 0x0108 }, { 0x245C9, 0x009F },
     418        { 0x250F1, 0x0193 }, { 0x1B5E5, 0x000D }, { 0x1B5F2, 0x000D }, { 0x2397C, 0x0199 }, { 0x27A07, 0x0233 },
     419        { 0x23B15, 0x0171 }, { 0x23C86, 0x01BC }, { 0x23E42, 0x0016 }, { 0x2BD0C, 0x005B }, { 0x23E58, 0x0020 },
     420        { 0x27E3B, 0x00B9 }, { 0x2A2B3, 0x03D3 }, { 0x15086, 0x00E4 }, { 0x2B70C, 0x0067 }, { 0x00000, 0x0000 },
     421        { 0x25284, 0x003C }, { 0x1E9C0, 0x0011 }, { 0x13E40, 0x0018 }, { 0x26621, 0x001F }, { 0x26640, 0x0054 },
     422        { 0x26694, 0x0173 }, { 0x26807, 0x004B }, { 0x26852, 0x0190 }, { 0x269E2, 0x0027 }, { 0x26A09, 0x0041 },
     423        { 0x26A4A, 0x024E }, { 0x13E58, 0x001F }, { 0x24668, 0x002A }, { 0x1516A, 0x01C9 }, { 0x192D0, 0x0031 },
     424        { 0x179DB, 0x0088 }, { 0x2162B, 0x00D0 }, { 0x1D3BF, 0x0018 }, { 0x1D3D7, 0x0055 }, { 0x18C36, 0x0005 },
     425        { 0x15333, 0x0113 }, { 0x15446, 0x000B }, { 0x24692, 0x014D }, { 0x247DF, 0x0014 }, { 0x1DF59, 0x0018 },
     426        { 0x247F3, 0x0027 }, { 0x1A061, 0x0050 }, { 0x00000, 0x0000 }, { 0x2B773, 0x00A5 }, { 0x2A686, 0x00BA },
     427        { 0x2A740, 0x0140 }, { 0x1979F, 0x00CA }, { 0x19869, 0x014D }, { 0x199B6, 0x0012 }, { 0x2A880, 0x0005 },
     428        { 0x2A885, 0x0005 }, { 0x2A88A, 0x0005 }, { 0x2A88F, 0x0005 }, { 0x2A894, 0x0005 }, { 0x216FB, 0x0033 },
     429        { 0x2A899, 0x0005 }, { 0x00000, 0x0000 }, { 0x2A89E, 0x009C }, { 0x2A93A, 0x009C }
    417430};
    418431
    419 t_resource res_scripts_ger[179] = {
    420         { 0x00000, 0x0000, NES_SCRIPT }, { 0x295B0, 0x045A, NES_SCRIPT }, { 0x29A0A, 0x0218, NES_SCRIPT }, { 0x29C22, 0x00B1, NES_SCRIPT }, { 0x29CD3, 0x0408, NES_SCRIPT },
    421         { 0x2A0DB, 0x01A1, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A27C, 0x005C, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A2D8, 0x0005, NES_SCRIPT },
    422         { 0x2C169, 0x000D, NES_SCRIPT }, { 0x2C176, 0x000D, NES_SCRIPT }, { 0x186DB, 0x0040, NES_SCRIPT }, { 0x1871B, 0x0016, NES_SCRIPT }, { 0x1B5C2, 0x0046, NES_SCRIPT },
    423         { 0x1EFB7, 0x00E3, NES_SCRIPT }, { 0x21D9D, 0x0069, NES_SCRIPT }, { 0x174F1, 0x0027, NES_SCRIPT }, { 0x1FE92, 0x0027, NES_SCRIPT }, { 0x1FEB9, 0x0027, NES_SCRIPT },
    424         { 0x1BCE5, 0x0022, NES_SCRIPT }, { 0x13EF4, 0x0087, NES_SCRIPT }, { 0x223EC, 0x001F, NES_SCRIPT }, { 0x2240B, 0x008F, NES_SCRIPT }, { 0x192CC, 0x002B, NES_SCRIPT },
    425         { 0x1CB08, 0x006E, NES_SCRIPT }, { 0x1CB76, 0x004E, NES_SCRIPT }, { 0x1CBC4, 0x004D, NES_SCRIPT }, { 0x1CC11, 0x0059, NES_SCRIPT }, { 0x204AA, 0x0080, NES_SCRIPT },
    426         { 0x1628E, 0x0035, NES_SCRIPT }, { 0x162C3, 0x001C, NES_SCRIPT }, { 0x162DF, 0x0014, NES_SCRIPT }, { 0x162F3, 0x001C, NES_SCRIPT }, { 0x1630F, 0x0027, NES_SCRIPT },
    427         { 0x16336, 0x01D1, NES_SCRIPT }, { 0x1D199, 0x00A0, NES_SCRIPT }, { 0x1D239, 0x011C, NES_SCRIPT }, { 0x1D355, 0x001C, NES_SCRIPT }, { 0x1D371, 0x0056, NES_SCRIPT },
    428         { 0x1D3C7, 0x0072, NES_SCRIPT }, { 0x1E4FA, 0x0028, NES_SCRIPT }, { 0x1E522, 0x019D, NES_SCRIPT }, { 0x1E6BF, 0x023B, NES_SCRIPT }, { 0x2845D, 0x0071, NES_SCRIPT },
    429         { 0x17C50, 0x0052, NES_SCRIPT }, { 0x15AC9, 0x0039, NES_SCRIPT }, { 0x18731, 0x02E7, NES_SCRIPT }, { 0x18A18, 0x00BC, NES_SCRIPT }, { 0x18AD4, 0x01A2, NES_SCRIPT },
    430         { 0x00000, 0x0000, NES_SCRIPT }, { 0x19E45, 0x00F8, NES_SCRIPT }, { 0x21E06, 0x00F7, NES_SCRIPT }, { 0x1E8FA, 0x00B5, NES_SCRIPT }, { 0x21EFD, 0x0047, NES_SCRIPT },
    431         { 0x2C183, 0x004D, NES_SCRIPT }, { 0x15B02, 0x0024, NES_SCRIPT }, { 0x14D64, 0x0014, NES_SCRIPT }, { 0x17518, 0x005E, NES_SCRIPT }, { 0x17576, 0x0125, NES_SCRIPT },
    432         { 0x1769B, 0x0009, NES_SCRIPT }, { 0x14D78, 0x01C7, NES_SCRIPT }, { 0x2ADCE, 0x0263, NES_SCRIPT }, { 0x232AF, 0x077F, NES_SCRIPT }, { 0x2C1D0, 0x001E, NES_SCRIPT },
    433         { 0x2C1EE, 0x0024, NES_SCRIPT }, { 0x2C212, 0x002E, NES_SCRIPT }, { 0x2C240, 0x0022, NES_SCRIPT }, { 0x2C262, 0x0013, NES_SCRIPT }, { 0x2C275, 0x001E, NES_SCRIPT },
    434         { 0x2C293, 0x0016, NES_SCRIPT }, { 0x2C2A9, 0x0027, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2C2D0, 0x0012, NES_SCRIPT }, { 0x176A4, 0x00A4, NES_SCRIPT },
    435         { 0x228F8, 0x0066, NES_SCRIPT }, { 0x14F3F, 0x007F, NES_SCRIPT }, { 0x1F428, 0x013A, NES_SCRIPT }, { 0x1FEE0, 0x001D, NES_SCRIPT }, { 0x1F562, 0x00A0, NES_SCRIPT },
    436         { 0x1F602, 0x00A4, NES_SCRIPT }, { 0x17748, 0x0076, NES_SCRIPT }, { 0x177BE, 0x0036, NES_SCRIPT }, { 0x1F6A6, 0x00B9, NES_SCRIPT }, { 0x2C2E2, 0x00CB, NES_SCRIPT },
    437         { 0x2C3AD, 0x00B7, NES_SCRIPT }, { 0x2C464, 0x008A, NES_SCRIPT }, { 0x20A58, 0x01BD, NES_SCRIPT }, { 0x20C15, 0x0181, NES_SCRIPT }, { 0x20D96, 0x0078, NES_SCRIPT },
    438         { 0x20E0E, 0x003C, NES_SCRIPT }, { 0x20E4A, 0x00E9, NES_SCRIPT }, { 0x20F33, 0x0046, NES_SCRIPT }, { 0x20F79, 0x00F6, NES_SCRIPT }, { 0x2106F, 0x0118, NES_SCRIPT },
    439         { 0x21187, 0x015B, NES_SCRIPT }, { 0x212E2, 0x01AC, NES_SCRIPT }, { 0x2148E, 0x003F, NES_SCRIPT }, { 0x214CD, 0x00A9, NES_SCRIPT }, { 0x2436F, 0x0126, NES_SCRIPT },
    440         { 0x1BD07, 0x0075, NES_SCRIPT }, { 0x1CC6A, 0x009B, NES_SCRIPT }, { 0x28F5D, 0x0054, NES_SCRIPT }, { 0x19F3D, 0x00E1, NES_SCRIPT }, { 0x1A01E, 0x0086, NES_SCRIPT },
    441         { 0x14FBE, 0x0057, NES_SCRIPT }, { 0x27326, 0x033D, NES_SCRIPT }, { 0x1DA51, 0x023B, NES_SCRIPT }, { 0x1DC8C, 0x00FB, NES_SCRIPT }, { 0x1DD87, 0x0056, NES_SCRIPT },
    442         { 0x1DDDD, 0x01E1, NES_SCRIPT }, { 0x15015, 0x004D, NES_SCRIPT }, { 0x27027, 0x00E8, NES_SCRIPT }, { 0x21F44, 0x0013, NES_SCRIPT }, { 0x2A2DD, 0x00F0, NES_SCRIPT },
    443         { 0x24495, 0x00F8, NES_SCRIPT }, { 0x21576, 0x00F9, NES_SCRIPT }, { 0x2458D, 0x002B, NES_SCRIPT }, { 0x2BAA4, 0x010F, NES_SCRIPT }, { 0x245B8, 0x00A5, NES_SCRIPT },
    444         { 0x250D0, 0x019C, NES_SCRIPT }, { 0x1B608, 0x000D, NES_SCRIPT }, { 0x1B615, 0x000D, NES_SCRIPT }, { 0x23A2E, 0x0185, NES_SCRIPT }, { 0x27957, 0x0212, NES_SCRIPT },
    445         { 0x23BB3, 0x0158, NES_SCRIPT }, { 0x23D0B, 0x01C4, NES_SCRIPT }, { 0x23ECF, 0x0016, NES_SCRIPT }, { 0x2BBB3, 0x005A, NES_SCRIPT }, { 0x23EE5, 0x0020, NES_SCRIPT },
    446         { 0x27D6A, 0x00A7, NES_SCRIPT }, { 0x2A3CD, 0x038C, NES_SCRIPT }, { 0x15062, 0x00F6, NES_SCRIPT }, { 0x2B5B2, 0x007B, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT },
    447         { 0x2526C, 0x003C, NES_SCRIPT }, { 0x1E9AF, 0x0011, NES_SCRIPT }, { 0x15B26, 0x0018, NES_SCRIPT }, { 0x265F5, 0x001F, NES_SCRIPT }, { 0x26614, 0x0054, NES_SCRIPT },
    448         { 0x26668, 0x018E, NES_SCRIPT }, { 0x267F6, 0x004B, NES_SCRIPT }, { 0x26841, 0x0196, NES_SCRIPT }, { 0x269D7, 0x0027, NES_SCRIPT }, { 0x269FE, 0x0041, NES_SCRIPT },
    449         { 0x26A3F, 0x01A3, NES_SCRIPT }, { 0x15B3E, 0x001F, NES_SCRIPT }, { 0x2465D, 0x002A, NES_SCRIPT }, { 0x15158, 0x0198, NES_SCRIPT }, { 0x192F7, 0x0031, NES_SCRIPT },
    450         { 0x177F4, 0x008C, NES_SCRIPT }, { 0x2166F, 0x00DA, NES_SCRIPT }, { 0x1D439, 0x0018, NES_SCRIPT }, { 0x1D451, 0x0054, NES_SCRIPT }, { 0x18C76, 0x0005, NES_SCRIPT },
    451         { 0x152F0, 0x0126, NES_SCRIPT }, { 0x15416, 0x000B, NES_SCRIPT }, { 0x24687, 0x0137, NES_SCRIPT }, { 0x247BE, 0x0014, NES_SCRIPT }, { 0x1DFBE, 0x0018, NES_SCRIPT },
    452         { 0x247D2, 0x0027, NES_SCRIPT }, { 0x1A0A4, 0x004D, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2B62D, 0x00A5, NES_SCRIPT }, { 0x2A759, 0x00BA, NES_SCRIPT },
    453         { 0x2A813, 0x0140, NES_SCRIPT }, { 0x197CF, 0x00D0, NES_SCRIPT }, { 0x1989F, 0x014D, NES_SCRIPT }, { 0x199EC, 0x0012, NES_SCRIPT }, { 0x2A953, 0x0005, NES_SCRIPT },
    454         { 0x2A958, 0x0005, NES_SCRIPT }, { 0x2A95D, 0x0005, NES_SCRIPT }, { 0x2A962, 0x0005, NES_SCRIPT }, { 0x2A967, 0x0005, NES_SCRIPT }, { 0x21749, 0x0033, NES_SCRIPT },
    455         { 0x2A96C, 0x0005, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A971, 0x009C, NES_SCRIPT }, { 0x2AA0D, 0x009C, NES_SCRIPT }
     432const struct t_resource res_scripts_ger[179] = {
     433        { 0x00000, 0x0000 }, { 0x295B0, 0x045A }, { 0x29A0A, 0x0218 }, { 0x29C22, 0x00B1 }, { 0x29CD3, 0x0408 },
     434        { 0x2A0DB, 0x01A1 }, { 0x00000, 0x0000 }, { 0x2A27C, 0x005C }, { 0x00000, 0x0000 }, { 0x2A2D8, 0x0005 },
     435        { 0x2C169, 0x000D }, { 0x2C176, 0x000D }, { 0x186DB, 0x0040 }, { 0x1871B, 0x0016 }, { 0x1B5C2, 0x0046 },
     436        { 0x1EFB7, 0x00E3 }, { 0x21D9D, 0x0069 }, { 0x174F1, 0x0027 }, { 0x1FE92, 0x0027 }, { 0x1FEB9, 0x0027 },
     437        { 0x1BCE5, 0x0022 }, { 0x13EF4, 0x0087 }, { 0x223EC, 0x001F }, { 0x2240B, 0x008F }, { 0x192CC, 0x002B },
     438        { 0x1CB08, 0x006E }, { 0x1CB76, 0x004E }, { 0x1CBC4, 0x004D }, { 0x1CC11, 0x0059 }, { 0x204AA, 0x0080 },
     439        { 0x1628E, 0x0035 }, { 0x162C3, 0x001C }, { 0x162DF, 0x0014 }, { 0x162F3, 0x001C }, { 0x1630F, 0x0027 },
     440        { 0x16336, 0x01D1 }, { 0x1D199, 0x00A0 }, { 0x1D239, 0x011C }, { 0x1D355, 0x001C }, { 0x1D371, 0x0056 },
     441        { 0x1D3C7, 0x0072 }, { 0x1E4FA, 0x0028 }, { 0x1E522, 0x019D }, { 0x1E6BF, 0x023B }, { 0x2845D, 0x0071 },
     442        { 0x17C50, 0x0052 }, { 0x15AC9, 0x0039 }, { 0x18731, 0x02E7 }, { 0x18A18, 0x00BC }, { 0x18AD4, 0x01A2 },
     443        { 0x00000, 0x0000 }, { 0x19E45, 0x00F8 }, { 0x21E06, 0x00F7 }, { 0x1E8FA, 0x00B5 }, { 0x21EFD, 0x0047 },
     444        { 0x2C183, 0x004D }, { 0x15B02, 0x0024 }, { 0x14D64, 0x0014 }, { 0x17518, 0x005E }, { 0x17576, 0x0125 },
     445        { 0x1769B, 0x0009 }, { 0x14D78, 0x01C7 }, { 0x2ADCE, 0x0263 }, { 0x232AF, 0x077F }, { 0x2C1D0, 0x001E },
     446        { 0x2C1EE, 0x0024 }, { 0x2C212, 0x002E }, { 0x2C240, 0x0022 }, { 0x2C262, 0x0013 }, { 0x2C275, 0x001E },
     447        { 0x2C293, 0x0016 }, { 0x2C2A9, 0x0027 }, { 0x00000, 0x0000 }, { 0x2C2D0, 0x0012 }, { 0x176A4, 0x00A4 },
     448        { 0x228F8, 0x0066 }, { 0x14F3F, 0x007F }, { 0x1F428, 0x013A }, { 0x1FEE0, 0x001D }, { 0x1F562, 0x00A0 },
     449        { 0x1F602, 0x00A4 }, { 0x17748, 0x0076 }, { 0x177BE, 0x0036 }, { 0x1F6A6, 0x00B9 }, { 0x2C2E2, 0x00CB },
     450        { 0x2C3AD, 0x00B7 }, { 0x2C464, 0x008A }, { 0x20A58, 0x01BD }, { 0x20C15, 0x0181 }, { 0x20D96, 0x0078 },
     451        { 0x20E0E, 0x003C }, { 0x20E4A, 0x00E9 }, { 0x20F33, 0x0046 }, { 0x20F79, 0x00F6 }, { 0x2106F, 0x0118 },
     452        { 0x21187, 0x015B }, { 0x212E2, 0x01AC }, { 0x2148E, 0x003F }, { 0x214CD, 0x00A9 }, { 0x2436F, 0x0126 },
     453        { 0x1BD07, 0x0075 }, { 0x1CC6A, 0x009B }, { 0x28F5D, 0x0054 }, { 0x19F3D, 0x00E1 }, { 0x1A01E, 0x0086 },
     454        { 0x14FBE, 0x0057 }, { 0x27326, 0x033D }, { 0x1DA51, 0x023B }, { 0x1DC8C, 0x00FB }, { 0x1DD87, 0x0056 },
     455        { 0x1DDDD, 0x01E1 }, { 0x15015, 0x004D }, { 0x27027, 0x00E8 }, { 0x21F44, 0x0013 }, { 0x2A2DD, 0x00F0 },
     456        { 0x24495, 0x00F8 }, { 0x21576, 0x00F9 }, { 0x2458D, 0x002B }, { 0x2BAA4, 0x010F }, { 0x245B8, 0x00A5 },
     457        { 0x250D0, 0x019C }, { 0x1B608, 0x000D }, { 0x1B615, 0x000D }, { 0x23A2E, 0x0185 }, { 0x27957, 0x0212 },
     458        { 0x23BB3, 0x0158 }, { 0x23D0B, 0x01C4 }, { 0x23ECF, 0x0016 }, { 0x2BBB3, 0x005A }, { 0x23EE5, 0x0020 },
     459        { 0x27D6A, 0x00A7 }, { 0x2A3CD, 0x038C }, { 0x15062, 0x00F6 }, { 0x2B5B2, 0x007B }, { 0x00000, 0x0000 },
     460        { 0x2526C, 0x003C }, { 0x1E9AF, 0x0011 }, { 0x15B26, 0x0018 }, { 0x265F5, 0x001F }, { 0x26614, 0x0054 },
     461        { 0x26668, 0x018E }, { 0x267F6, 0x004B }, { 0x26841, 0x0196 }, { 0x269D7, 0x0027 }, { 0x269FE, 0x0041 },
     462        { 0x26A3F, 0x01A3 }, { 0x15B3E, 0x001F }, { 0x2465D, 0x002A }, { 0x15158, 0x0198 }, { 0x192F7, 0x0031 },
     463        { 0x177F4, 0x008C }, { 0x2166F, 0x00DA }, { 0x1D439, 0x0018 }, { 0x1D451, 0x0054 }, { 0x18C76, 0x0005 },
     464        { 0x152F0, 0x0126 }, { 0x15416, 0x000B }, { 0x24687, 0x0137 }, { 0x247BE, 0x0014 }, { 0x1DFBE, 0x0018 },
     465        { 0x247D2, 0x0027 }, { 0x1A0A4, 0x004D }, { 0x00000, 0x0000 }, { 0x2B62D, 0x00A5 }, { 0x2A759, 0x00BA },
     466        { 0x2A813, 0x0140 }, { 0x197CF, 0x00D0 }, { 0x1989F, 0x014D }, { 0x199EC, 0x0012 }, { 0x2A953, 0x0005 },
     467        { 0x2A958, 0x0005 }, { 0x2A95D, 0x0005 }, { 0x2A962, 0x0005 }, { 0x2A967, 0x0005 }, { 0x21749, 0x0033 },
     468        { 0x2A96C, 0x0005 }, { 0x00000, 0x0000 }, { 0x2A971, 0x009C }, { 0x2AA0D, 0x009C }
    456469};
    457470
    458 t_resource res_scripts_esp[179] = {
    459         { 0x00000, 0x0000, NES_SCRIPT }, { 0x28F4C, 0x0457, NES_SCRIPT }, { 0x293A3, 0x0213, NES_SCRIPT }, { 0x295B6, 0x009C, NES_SCRIPT }, { 0x29652, 0x03FE, NES_SCRIPT },
    460         { 0x29A50, 0x01A1, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x29BF1, 0x005C, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x29C4D, 0x0005, NES_SCRIPT },
    461         { 0x2B964, 0x000D, NES_SCRIPT }, { 0x2B971, 0x000D, NES_SCRIPT }, { 0x186EE, 0x0040, NES_SCRIPT }, { 0x1872E, 0x0016, NES_SCRIPT }, { 0x1B5A0, 0x0046, NES_SCRIPT },
    462         { 0x1EF97, 0x00B4, NES_SCRIPT }, { 0x21D17, 0x0056, NES_SCRIPT }, { 0x175E9, 0x0027, NES_SCRIPT }, { 0x1FE06, 0x0027, NES_SCRIPT }, { 0x1FE2D, 0x0027, NES_SCRIPT },
    463         { 0x1BC86, 0x0022, NES_SCRIPT }, { 0x15C26, 0x008B, NES_SCRIPT }, { 0x2232E, 0x001F, NES_SCRIPT }, { 0x2234D, 0x008F, NES_SCRIPT }, { 0x192AF, 0x002B, NES_SCRIPT },
    464         { 0x1CB59, 0x006B, NES_SCRIPT }, { 0x1CBC4, 0x0045, NES_SCRIPT }, { 0x1CC09, 0x0046, NES_SCRIPT }, { 0x1CC4F, 0x005D, NES_SCRIPT }, { 0x204CC, 0x0077, NES_SCRIPT },
    465         { 0x163DA, 0x0035, NES_SCRIPT }, { 0x1640F, 0x001C, NES_SCRIPT }, { 0x1642B, 0x0014, NES_SCRIPT }, { 0x1643F, 0x001C, NES_SCRIPT }, { 0x1645B, 0x0027, NES_SCRIPT },
    466         { 0x16482, 0x01A3, NES_SCRIPT }, { 0x1D1DE, 0x009E, NES_SCRIPT }, { 0x1D27C, 0x011A, NES_SCRIPT }, { 0x1D396, 0x001C, NES_SCRIPT }, { 0x1D3B2, 0x0056, NES_SCRIPT },
    467         { 0x1D408, 0x0072, NES_SCRIPT }, { 0x1E50F, 0x0028, NES_SCRIPT }, { 0x1E537, 0x0199, NES_SCRIPT }, { 0x1E6D0, 0x0240, NES_SCRIPT }, { 0x27CA1, 0x0071, NES_SCRIPT },
    468         { 0x17D14, 0x004C, NES_SCRIPT }, { 0x13E0F, 0x0039, NES_SCRIPT }, { 0x18744, 0x02B9, NES_SCRIPT }, { 0x189FD, 0x00B9, NES_SCRIPT }, { 0x18AB6, 0x0183, NES_SCRIPT },
    469         { 0x00000, 0x0000, NES_SCRIPT }, { 0x19E3E, 0x00F0, NES_SCRIPT }, { 0x21D6D, 0x00F7, NES_SCRIPT }, { 0x1E910, 0x00A8, NES_SCRIPT }, { 0x21E64, 0x0047, NES_SCRIPT },
    470         { 0x2B97E, 0x004D, NES_SCRIPT }, { 0x13E48, 0x0024, NES_SCRIPT }, { 0x14D06, 0x0014, NES_SCRIPT }, { 0x17610, 0x005B, NES_SCRIPT }, { 0x1766B, 0x0111, NES_SCRIPT },
    471         { 0x1777C, 0x0009, NES_SCRIPT }, { 0x14D1A, 0x01C9, NES_SCRIPT }, { 0x2A9E3, 0x0263, NES_SCRIPT }, { 0x231C6, 0x06D6, NES_SCRIPT }, { 0x2B9CB, 0x001C, NES_SCRIPT },
    472         { 0x2B9E7, 0x001C, NES_SCRIPT }, { 0x2BA03, 0x0025, NES_SCRIPT }, { 0x2BA28, 0x0023, NES_SCRIPT }, { 0x2BA4B, 0x002A, NES_SCRIPT }, { 0x2BA75, 0x0033, NES_SCRIPT },
    473         { 0x2BAA8, 0x0016, NES_SCRIPT }, { 0x2BABE, 0x0024, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2BAE2, 0x0011, NES_SCRIPT }, { 0x17785, 0x00A2, NES_SCRIPT },
    474         { 0x22838, 0x0066, NES_SCRIPT }, { 0x14EE3, 0x0079, NES_SCRIPT }, { 0x1F3DB, 0x010F, NES_SCRIPT }, { 0x1FE54, 0x001D, NES_SCRIPT }, { 0x1F4EA, 0x00A2, NES_SCRIPT },
    475         { 0x1F58C, 0x0097, NES_SCRIPT }, { 0x17827, 0x0061, NES_SCRIPT }, { 0x17888, 0x0032, NES_SCRIPT }, { 0x1F623, 0x00A7, NES_SCRIPT }, { 0x2BAF3, 0x00CD, NES_SCRIPT },
    476         { 0x2BBC0, 0x00BD, NES_SCRIPT }, { 0x2BC7D, 0x0089, NES_SCRIPT }, { 0x20A73, 0x01C2, NES_SCRIPT }, { 0x20C35, 0x016E, NES_SCRIPT }, { 0x20DA3, 0x006F, NES_SCRIPT },
    477         { 0x20E12, 0x0037, NES_SCRIPT }, { 0x20E49, 0x00EC, NES_SCRIPT }, { 0x20F35, 0x0047, NES_SCRIPT }, { 0x20F7C, 0x00F8, NES_SCRIPT }, { 0x21074, 0x0102, NES_SCRIPT },
    478         { 0x21176, 0x0133, NES_SCRIPT }, { 0x212A9, 0x0197, NES_SCRIPT }, { 0x21440, 0x002D, NES_SCRIPT }, { 0x2146D, 0x00A9, NES_SCRIPT }, { 0x2436D, 0x0125, NES_SCRIPT },
    479         { 0x1BCA8, 0x0071, NES_SCRIPT }, { 0x1CCAC, 0x0096, NES_SCRIPT }, { 0x2896A, 0x0054, NES_SCRIPT }, { 0x19F2E, 0x00DF, NES_SCRIPT }, { 0x1A00D, 0x007F, NES_SCRIPT },
    480         { 0x14F5C, 0x0057, NES_SCRIPT }, { 0x27074, 0x02F6, NES_SCRIPT }, { 0x1DA73, 0x023A, NES_SCRIPT }, { 0x1DCAD, 0x00E8, NES_SCRIPT }, { 0x1DD95, 0x0059, NES_SCRIPT },
    481         { 0x1DDEE, 0x01E3, NES_SCRIPT }, { 0x14FB3, 0x004D, NES_SCRIPT }, { 0x26D81, 0x00DC, NES_SCRIPT }, { 0x21EAB, 0x0013, NES_SCRIPT }, { 0x29C52, 0x00F0, NES_SCRIPT },
    482         { 0x24492, 0x00E4, NES_SCRIPT }, { 0x21516, 0x00EE, NES_SCRIPT }, { 0x24576, 0x002D, NES_SCRIPT }, { 0x2B692, 0x010D, NES_SCRIPT }, { 0x245A3, 0x00AC, NES_SCRIPT },
    483         { 0x250C3, 0x0184, NES_SCRIPT }, { 0x1B5E6, 0x000D, NES_SCRIPT }, { 0x1B5F3, 0x000D, NES_SCRIPT }, { 0x2389C, 0x0182, NES_SCRIPT }, { 0x2765E, 0x01E7, NES_SCRIPT },
    484         { 0x23A1E, 0x017A, NES_SCRIPT }, { 0x23B98, 0x01B6, NES_SCRIPT }, { 0x23D4E, 0x0016, NES_SCRIPT }, { 0x2B79F, 0x005D, NES_SCRIPT }, { 0x23D64, 0x0020, NES_SCRIPT },
    485         { 0x2A619, 0x00A5, NES_SCRIPT }, { 0x29D42, 0x038F, NES_SCRIPT }, { 0x15000, 0x00ED, NES_SCRIPT }, { 0x2B1B8, 0x0063, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT },
    486         { 0x25247, 0x003C, NES_SCRIPT }, { 0x1E9B8, 0x0011, NES_SCRIPT }, { 0x13E6C, 0x0018, NES_SCRIPT }, { 0x265E0, 0x001F, NES_SCRIPT }, { 0x265FF, 0x0054, NES_SCRIPT },
    487         { 0x26653, 0x0147, NES_SCRIPT }, { 0x2679A, 0x004B, NES_SCRIPT }, { 0x267E5, 0x0184, NES_SCRIPT }, { 0x26969, 0x0027, NES_SCRIPT }, { 0x26990, 0x0041, NES_SCRIPT },
    488         { 0x269D1, 0x01B9, NES_SCRIPT }, { 0x13E84, 0x001F, NES_SCRIPT }, { 0x2464F, 0x002A, NES_SCRIPT }, { 0x150ED, 0x01A4, NES_SCRIPT }, { 0x192DA, 0x0031, NES_SCRIPT },
    489         { 0x178BA, 0x007C, NES_SCRIPT }, { 0x21604, 0x00E4, NES_SCRIPT }, { 0x1D47A, 0x0018, NES_SCRIPT }, { 0x1D492, 0x005B, NES_SCRIPT }, { 0x18C39, 0x0005, NES_SCRIPT },
    490         { 0x15291, 0x010F, NES_SCRIPT }, { 0x153A0, 0x000B, NES_SCRIPT }, { 0x24679, 0x0138, NES_SCRIPT }, { 0x247B1, 0x0014, NES_SCRIPT }, { 0x1DFD1, 0x0018, NES_SCRIPT },
    491         { 0x247C5, 0x0027, NES_SCRIPT }, { 0x1A08C, 0x004E, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2B21B, 0x00A5, NES_SCRIPT }, { 0x2A0D1, 0x00B1, NES_SCRIPT },
    492         { 0x2A182, 0x0140, NES_SCRIPT }, { 0x197CF, 0x00BE, NES_SCRIPT }, { 0x1988D, 0x014D, NES_SCRIPT }, { 0x199DA, 0x0012, NES_SCRIPT }, { 0x2A2C2, 0x0005, NES_SCRIPT },
    493         { 0x2A2C7, 0x0005, NES_SCRIPT }, { 0x2A2CC, 0x0005, NES_SCRIPT }, { 0x2A2D1, 0x0005, NES_SCRIPT }, { 0x2A2D6, 0x0005, NES_SCRIPT }, { 0x216E8, 0x0033, NES_SCRIPT },
    494         { 0x2A2DB, 0x0005, NES_SCRIPT }, { 0x00000, 0x0000, NES_SCRIPT }, { 0x2A2E0, 0x009C, NES_SCRIPT }, { 0x2A37C, 0x009C, NES_SCRIPT }
     471const struct t_resource res_scripts_esp[179] = {
     472        { 0x00000, 0x0000 }, { 0x28F4C, 0x0457 }, { 0x293A3, 0x0213 }, { 0x295B6, 0x009C }, { 0x29652, 0x03FE },
     473        { 0x29A50, 0x01A1 }, { 0x00000, 0x0000 }, { 0x29BF1, 0x005C }, { 0x00000, 0x0000 }, { 0x29C4D, 0x0005 },
     474        { 0x2B964, 0x000D }, { 0x2B971, 0x000D }, { 0x186EE, 0x0040 }, { 0x1872E, 0x0016 }, { 0x1B5A0, 0x0046 },
     475        { 0x1EF97, 0x00B4 }, { 0x21D17, 0x0056 }, { 0x175E9, 0x0027 }, { 0x1FE06, 0x0027 }, { 0x1FE2D, 0x0027 },
     476        { 0x1BC86, 0x0022 }, { 0x15C26, 0x008B }, { 0x2232E, 0x001F }, { 0x2234D, 0x008F }, { 0x192AF, 0x002B },
     477        { 0x1CB59, 0x006B }, { 0x1CBC4, 0x0045 }, { 0x1CC09, 0x0046 }, { 0x1CC4F, 0x005D }, { 0x204CC, 0x0077 },
     478        { 0x163DA, 0x0035 }, { 0x1640F, 0x001C }, { 0x1642B, 0x0014 }, { 0x1643F, 0x001C }, { 0x1645B, 0x0027 },
     479        { 0x16482, 0x01A3 }, { 0x1D1DE, 0x009E }, { 0x1D27C, 0x011A }, { 0x1D396, 0x001C }, { 0x1D3B2, 0x0056 },
     480        { 0x1D408, 0x0072 }, { 0x1E50F, 0x0028 }, { 0x1E537, 0x0199 }, { 0x1E6D0, 0x0240 }, { 0x27CA1, 0x0071 },
     481        { 0x17D14, 0x004C }, { 0x13E0F, 0x0039 }, { 0x18744, 0x02B9 }, { 0x189FD, 0x00B9 }, { 0x18AB6, 0x0183 },
     482        { 0x00000, 0x0000 }, { 0x19E3E, 0x00F0 }, { 0x21D6D, 0x00F7 }, { 0x1E910, 0x00A8 }, { 0x21E64, 0x0047 },
     483        { 0x2B97E, 0x004D }, { 0x13E48, 0x0024 }, { 0x14D06, 0x0014 }, { 0x17610, 0x005B }, { 0x1766B, 0x0111 },
     484        { 0x1777C, 0x0009 }, { 0x14D1A, 0x01C9 }, { 0x2A9E3, 0x0263 }, { 0x231C6, 0x06D6 }, { 0x2B9CB, 0x001C },
     485        { 0x2B9E7, 0x001C }, { 0x2BA03, 0x0025 }, { 0x2BA28, 0x0023 }, { 0x2BA4B, 0x002A }, { 0x2BA75, 0x0033 },
     486        { 0x2BAA8, 0x0016 }, { 0x2BABE, 0x0024 }, { 0x00000, 0x0000 }, { 0x2BAE2, 0x0011 }, { 0x17785, 0x00A2 },
     487        { 0x22838, 0x0066 }, { 0x14EE3, 0x0079 }, { 0x1F3DB, 0x010F }, { 0x1FE54, 0x001D }, { 0x1F4EA, 0x00A2 },
     488        { 0x1F58C, 0x0097 }, { 0x17827, 0x0061 }, { 0x17888, 0x0032 }, { 0x1F623, 0x00A7 }, { 0x2BAF3, 0x00CD },
     489        { 0x2BBC0, 0x00BD }, { 0x2BC7D, 0x0089 }, { 0x20A73, 0x01C2 }, { 0x20C35, 0x016E }, { 0x20DA3, 0x006F },
     490        { 0x20E12, 0x0037 }, { 0x20E49, 0x00EC }, { 0x20F35, 0x0047 }, { 0x20F7C, 0x00F8 }, { 0x21074, 0x0102 },
     491        { 0x21176, 0x0133 }, { 0x212A9, 0x0197 }, { 0x21440, 0x002D }, { 0x2146D, 0x00A9 }, { 0x2436D, 0x0125 },
     492        { 0x1BCA8, 0x0071 }, { 0x1CCAC, 0x0096 }, { 0x2896A, 0x0054 }, { 0x19F2E, 0x00DF }, { 0x1A00D, 0x007F },
     493        { 0x14F5C, 0x0057 }, { 0x27074, 0x02F6 }, { 0x1DA73, 0x023A }, { 0x1DCAD, 0x00E8 }, { 0x1DD95, 0x0059 },
     494        { 0x1DDEE, 0x01E3 }, { 0x14FB3, 0x004D }, { 0x26D81, 0x00DC }, { 0x21EAB, 0x0013 }, { 0x29C52, 0x00F0 },
     495        { 0x24492, 0x00E4 }, { 0x21516, 0x00EE }, { 0x24576, 0x002D }, { 0x2B692, 0x010D }, { 0x245A3, 0x00AC },
     496        { 0x250C3, 0x0184 }, { 0x1B5E6, 0x000D }, { 0x1B5F3, 0x000D }, { 0x2389C, 0x0182 }, { 0x2765E, 0x01E7 },
     497        { 0x23A1E, 0x017A }, { 0x23B98, 0x01B6 }, { 0x23D4E, 0x0016 }, { 0x2B79F, 0x005D }, { 0x23D64, 0x0020 },
     498        { 0x2A619, 0x00A5 }, { 0x29D42, 0x038F }, { 0x15000, 0x00ED }, { 0x2B1B8, 0x0063 }, { 0x00000, 0x0000 },
     499        { 0x25247, 0x003C }, { 0x1E9B8, 0x0011 }, { 0x13E6C, 0x0018 }, { 0x265E0, 0x001F }, { 0x265FF, 0x0054 },
     500        { 0x26653, 0x0147 }, { 0x2679A, 0x004B }, { 0x267E5, 0x0184 }, { 0x26969, 0x0027 }, { 0x26990, 0x0041 },
     501        { 0x269D1, 0x01B9 }, { 0x13E84, 0x001F }, { 0x2464F, 0x002A }, { 0x150ED, 0x01A4 }, { 0x192DA, 0x0031 },
     502        { 0x178BA, 0x007C }, { 0x21604, 0x00E4 }, { 0x1D47A, 0x0018 }, { 0x1D492, 0x005B }, { 0x18C39, 0x0005 },
     503        { 0x15291, 0x010F }, { 0x153A0, 0x000B }, { 0x24679, 0x0138 }, { 0x247B1, 0x0014 }, { 0x1DFD1, 0x0018 },
     504        { 0x247C5, 0x0027 }, { 0x1A08C, 0x004E }, { 0x00000, 0x0000 }, { 0x2B21B, 0x00A5 }, { 0x2A0D1, 0x00B1 },
     505        { 0x2A182, 0x0140 }, { 0x197CF, 0x00BE }, { 0x1988D, 0x014D }, { 0x199DA, 0x0012 }, { 0x2A2C2, 0x0005 },
     506        { 0x2A2C7, 0x0005 }, { 0x2A2CC, 0x0005 }, { 0x2A2D1, 0x0005 }, { 0x2A2D6, 0x0005 }, { 0x216E8, 0x0033 },
     507        { 0x2A2DB, 0x0005 }, { 0x00000, 0x0000 }, { 0x2A2E0, 0x009C }, { 0x2A37C, 0x009C }
    495508};
    496509
    497 p_resource res_scripts[NUM_ROMSETS] = {
     510const struct t_resgroup res_scripts = {
     511        NES_SCRIPT,
     512        {
    498513        res_scripts_usa,
    499514        res_scripts_eur,
    500515        res_scripts_swe,
    501516        res_scripts_fra,
    502517        res_scripts_ger,
    503518        res_scripts_esp,
     519        }
    504520};
    505521
    506 t_resource res_sounds_usa[82] = {
    507         { 0x0FFE8, 0x000A, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND },
    508         { 0x30ECA, 0x0832, NES_SOUND }, { 0x17FCA, 0x0011, NES_SOUND }, { 0x27E0B, 0x0073, NES_SOUND }, { 0x17FDB, 0x0011, NES_SOUND }, { 0x17FEC, 0x0011, NES_SOUND },
    509         { 0x27E7E, 0x0056, NES_SOUND }, { 0x27ED4, 0x001F, NES_SOUND }, { 0x23FEE, 0x0011, NES_SOUND }, { 0x0FFF2, 0x000A, NES_SOUND }, { 0x27EF3, 0x000A, NES_SOUND },
    510         { 0x27EFD, 0x0019, NES_SOUND }, { 0x27F16, 0x004B, NES_SOUND }, { 0x27F61, 0x000A, NES_SOUND }, { 0x27F6B, 0x000F, NES_SOUND }, { 0x27F7A, 0x001D, NES_SOUND },
    511         { 0x27F97, 0x0045, NES_SOUND }, { 0x27FDC, 0x000F, NES_SOUND }, { 0x2FD42, 0x001B, NES_SOUND }, { 0x2FD5D, 0x0033, NES_SOUND }, { 0x27FEB, 0x0011, NES_SOUND },
    512         { 0x2BFEF, 0x000F, NES_SOUND }, { 0x2FD90, 0x0075, NES_SOUND }, { 0x2FE05, 0x0014, NES_SOUND }, { 0x0FFE8, 0x000A, NES_SOUND }, { 0x2FE19, 0x00FF, NES_SOUND },
    513         { 0x2FF18, 0x000F, NES_SOUND }, { 0x2FF27, 0x000F, NES_SOUND }, { 0x2FF36, 0x0092, NES_SOUND }, { 0x2FF36, 0x0092, NES_SOUND }, { 0x2FFC8, 0x002D, NES_SOUND },
    514         { 0x316FC, 0x00F8, NES_SOUND }, { 0x317F4, 0x0016, NES_SOUND }, { 0x3180A, 0x0011, NES_SOUND }, { 0x3181B, 0x004B, NES_SOUND }, { 0x31866, 0x0011, NES_SOUND },
    515         { 0x31877, 0x003B, NES_SOUND }, { 0x318B2, 0x008A, NES_SOUND }, { 0x3193C, 0x0011, NES_SOUND }, { 0x3194D, 0x000F, NES_SOUND }, { 0x3195C, 0x00A2, NES_SOUND },
    516         { 0x319FE, 0x00D3, NES_SOUND }, { 0x31AD1, 0x0097, NES_SOUND }, { 0x2BFEF, 0x000F, NES_SOUND }, { 0x3195C, 0x00A2, NES_SOUND }, { 0x31B68, 0x05D1, NES_SOUND },
    517         { 0x31B68, 0x05D1, NES_SOUND }, { 0x32139, 0x0011, NES_SOUND }, { 0x0FFE8, 0x000A, NES_SOUND }, { 0x2FD90, 0x0075, NES_SOUND }, { 0x27ED4, 0x001F, NES_SOUND },
    518         { 0x3214A, 0x098E, NES_SOUND }, { 0x3181B, 0x004B, NES_SOUND }, { 0x32AD8, 0x0011, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x32AE9, 0x000F, NES_SOUND },
    519         { 0x32AF8, 0x002F, NES_SOUND }, { 0x32B27, 0x001D, NES_SOUND }, { 0x32B44, 0x0018, NES_SOUND }, { 0x32B5C, 0x0016, NES_SOUND }, { 0x32B72, 0x001B, NES_SOUND },
    520         { 0x32B8D, 0x0088, NES_SOUND }, { 0x32C15, 0x0065, NES_SOUND }, { 0x32C7A, 0x0065, NES_SOUND }, { 0x32CDF, 0x0073, NES_SOUND }, { 0x32D52, 0x00F9, NES_SOUND },
    521         { 0x32E4B, 0x049E, NES_SOUND }, { 0x34001, 0x0EA8, NES_SOUND }, { 0x332E9, 0x0B18, NES_SOUND }, { 0x34EA9, 0x0B9C, NES_SOUND }, { 0x35A45, 0x0C6B, NES_SOUND },
    522         { 0x366B0, 0x0E56, NES_SOUND }, { 0x38001, 0x0C70, NES_SOUND }, { 0x38C71, 0x0DEC, NES_SOUND }, { 0x39A5D, 0x0B77, NES_SOUND }, { 0x37506, 0x042F, NES_SOUND },
    523         { 0x3A5D4, 0x0AC5, NES_SOUND }, { 0x3B099, 0x0BE4, NES_SOUND }
     522const struct t_resource res_sounds_usa[82] = {
     523        { 0x0FFE8, 0x000A }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 },
     524        { 0x30ECA, 0x0832 }, { 0x17FCA, 0x0011 }, { 0x27E0B, 0x0073 }, { 0x17FDB, 0x0011 }, { 0x17FEC, 0x0011 },
     525        { 0x27E7E, 0x0056 }, { 0x27ED4, 0x001F }, { 0x23FEE, 0x0011 }, { 0x0FFF2, 0x000A }, { 0x27EF3, 0x000A },
     526        { 0x27EFD, 0x0019 }, { 0x27F16, 0x004B }, { 0x27F61, 0x000A }, { 0x27F6B, 0x000F }, { 0x27F7A, 0x001D },
     527        { 0x27F97, 0x0045 }, { 0x27FDC, 0x000F }, { 0x2FD42, 0x001B }, { 0x2FD5D, 0x0033 }, { 0x27FEB, 0x0011 },
     528        { 0x2BFEF, 0x000F }, { 0x2FD90, 0x0075 }, { 0x2FE05, 0x0014 }, { 0x0FFE8, 0x000A }, { 0x2FE19, 0x00FF },
     529        { 0x2FF18, 0x000F }, { 0x2FF27, 0x000F }, { 0x2FF36, 0x0092 }, { 0x2FF36, 0x0092 }, { 0x2FFC8, 0x002D },
     530        { 0x316FC, 0x00F8 }, { 0x317F4, 0x0016 }, { 0x3180A, 0x0011 }, { 0x3181B, 0x004B }, { 0x31866, 0x0011 },
     531        { 0x31877, 0x003B }, { 0x318B2, 0x008A }, { 0x3193C, 0x0011 }, { 0x3194D, 0x000F }, { 0x3195C, 0x00A2 },
     532        { 0x319FE, 0x00D3 }, { 0x31AD1, 0x0097 }, { 0x2BFEF, 0x000F }, { 0x3195C, 0x00A2 }, { 0x31B68, 0x05D1 },
     533        { 0x31B68, 0x05D1 }, { 0x32139, 0x0011 }, { 0x0FFE8, 0x000A }, { 0x2FD90, 0x0075 }, { 0x27ED4, 0x001F },
     534        { 0x3214A, 0x098E }, { 0x3181B, 0x004B }, { 0x32AD8, 0x0011 }, { 0x30ECA, 0x0832 }, { 0x32AE9, 0x000F },
     535        { 0x32AF8, 0x002F }, { 0x32B27, 0x001D }, { 0x32B44, 0x0018 }, { 0x32B5C, 0x0016 }, { 0x32B72, 0x001B },
     536        { 0x32B8D, 0x0088 }, { 0x32C15, 0x0065 }, { 0x32C7A, 0x0065 }, { 0x32CDF, 0x0073 }, { 0x32D52, 0x00F9 },
     537        { 0x32E4B, 0x049E }, { 0x34001, 0x0EA8 }, { 0x332E9, 0x0B18 }, { 0x34EA9, 0x0B9C }, { 0x35A45, 0x0C6B },
     538        { 0x366B0, 0x0E56 }, { 0x38001, 0x0C70 }, { 0x38C71, 0x0DEC }, { 0x39A5D, 0x0B77 }, { 0x37506, 0x042F },
     539        { 0x3A5D4, 0x0AC5 }, { 0x3B099, 0x0BE4 }
    524540};
    525541
    526 t_resource res_sounds_eur[82] = {
    527         { 0x0BF54, 0x000A, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND },
    528         { 0x30ECA, 0x0832, NES_SOUND }, { 0x0BF5E, 0x0011, NES_SOUND }, { 0x27ECB, 0x0073, NES_SOUND }, { 0x0BF6F, 0x0011, NES_SOUND }, { 0x0FF5D, 0x0011, NES_SOUND },
    529         { 0x316FC, 0x0056, NES_SOUND }, { 0x13F4E, 0x001F, NES_SOUND }, { 0x0FF6E, 0x0011, NES_SOUND }, { 0x13F6D, 0x000A, NES_SOUND }, { 0x1BF47, 0x000A, NES_SOUND },
    530         { 0x1BF51, 0x0019, NES_SOUND }, { 0x31752, 0x004B, NES_SOUND }, { 0x1BF6A, 0x000A, NES_SOUND }, { 0x27F3E, 0x000F, NES_SOUND }, { 0x27F4D, 0x001D, NES_SOUND },
    531         { 0x3179D, 0x0045, NES_SOUND }, { 0x27F6A, 0x000F, NES_SOUND }, { 0x2BF40, 0x001B, NES_SOUND }, { 0x317E2, 0x0033, NES_SOUND }, { 0x2BF5B, 0x0011, NES_SOUND },
    532         { 0x2BF6C, 0x000F, NES_SOUND }, { 0x31815, 0x0075, NES_SOUND }, { 0x2FF6C, 0x0014, NES_SOUND }, { 0x0BF54, 0x000A, NES_SOUND }, { 0x3188A, 0x00FF, NES_SOUND },
    533         { 0x31989, 0x000F, NES_SOUND }, { 0x31998, 0x000F, NES_SOUND }, { 0x319A7, 0x0092, NES_SOUND }, { 0x319A7, 0x0092, NES_SOUND }, { 0x31A39, 0x002D, NES_SOUND },
    534         { 0x31A66, 0x00F8, NES_SOUND }, { 0x31B5E, 0x0016, NES_SOUND }, { 0x31B74, 0x0011, NES_SOUND }, { 0x31B85, 0x004B, NES_SOUND }, { 0x31BD0, 0x0011, NES_SOUND },
    535         { 0x31BE1, 0x003B, NES_SOUND }, { 0x31C1C, 0x008A, NES_SOUND }, { 0x31CA6, 0x0011, NES_SOUND }, { 0x31CB7, 0x000F, NES_SOUND }, { 0x31CC6, 0x00A2, NES_SOUND },
    536         { 0x31D68, 0x00D3, NES_SOUND }, { 0x31E3B, 0x0097, NES_SOUND }, { 0x2BF6C, 0x000F, NES_SOUND }, { 0x31CC6, 0x00A2, NES_SOUND }, { 0x31ED2, 0x05D1, NES_SOUND },
    537         { 0x31ED2, 0x05D1, NES_SOUND }, { 0x324A3, 0x0011, NES_SOUND }, { 0x0BF54, 0x000A, NES_SOUND }, { 0x31815, 0x0075, NES_SOUND }, { 0x13F4E, 0x001F, NES_SOUND },
    538         { 0x324B4, 0x098E, NES_SOUND }, { 0x31B85, 0x004B, NES_SOUND }, { 0x32E42, 0x0011, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x32E53, 0x000F, NES_SOUND },
    539         { 0x32E62, 0x002F, NES_SOUND }, { 0x32E91, 0x001D, NES_SOUND }, { 0x32EAE, 0x0018, NES_SOUND }, { 0x32EC6, 0x0016, NES_SOUND }, { 0x32EDC, 0x001B, NES_SOUND },
    540         { 0x32EF7, 0x0088, NES_SOUND }, { 0x32F7F, 0x0065, NES_SOUND }, { 0x32FE4, 0x0065, NES_SOUND }, { 0x33049, 0x0073, NES_SOUND }, { 0x330BC, 0x00F9, NES_SOUND },
    541         { 0x331B5, 0x049E, NES_SOUND }, { 0x34001, 0x0EA8, NES_SOUND }, { 0x34EA9, 0x0B18, NES_SOUND }, { 0x359C1, 0x0B9C, NES_SOUND }, { 0x3655D, 0x0C6B, NES_SOUND },
    542         { 0x38001, 0x0E56, NES_SOUND }, { 0x371C8, 0x0C70, NES_SOUND }, { 0x38E57, 0x0DEC, NES_SOUND }, { 0x39C43, 0x0B77, NES_SOUND }, { 0x33653, 0x042F, NES_SOUND },
    543         { 0x3A7BA, 0x0AC5, NES_SOUND }, { 0x3B27F, 0x0BE4, NES_SOUND }
     542const struct t_resource res_sounds_eur[82] = {
     543        { 0x0BF54, 0x000A }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 },
     544        { 0x30ECA, 0x0832 }, { 0x0BF5E, 0x0011 }, { 0x27ECB, 0x0073 }, { 0x0BF6F, 0x0011 }, { 0x0FF5D, 0x0011 },
     545        { 0x316FC, 0x0056 }, { 0x13F4E, 0x001F }, { 0x0FF6E, 0x0011 }, { 0x13F6D, 0x000A }, { 0x1BF47, 0x000A },
     546        { 0x1BF51, 0x0019 }, { 0x31752, 0x004B }, { 0x1BF6A, 0x000A }, { 0x27F3E, 0x000F }, { 0x27F4D, 0x001D },
     547        { 0x3179D, 0x0045 }, { 0x27F6A, 0x000F }, { 0x2BF40, 0x001B }, { 0x317E2, 0x0033 }, { 0x2BF5B, 0x0011 },
     548        { 0x2BF6C, 0x000F }, { 0x31815, 0x0075 }, { 0x2FF6C, 0x0014 }, { 0x0BF54, 0x000A }, { 0x3188A, 0x00FF },
     549        { 0x31989, 0x000F }, { 0x31998, 0x000F }, { 0x319A7, 0x0092 }, { 0x319A7, 0x0092 }, { 0x31A39, 0x002D },
     550        { 0x31A66, 0x00F8 }, { 0x31B5E, 0x0016 }, { 0x31B74, 0x0011 }, { 0x31B85, 0x004B }, { 0x31BD0, 0x0011 },
     551        { 0x31BE1, 0x003B }, { 0x31C1C, 0x008A }, { 0x31CA6, 0x0011 }, { 0x31CB7, 0x000F }, { 0x31CC6, 0x00A2 },
     552        { 0x31D68, 0x00D3 }, { 0x31E3B, 0x0097 }, { 0x2BF6C, 0x000F }, { 0x31CC6, 0x00A2 }, { 0x31ED2, 0x05D1 },
     553        { 0x31ED2, 0x05D1 }, { 0x324A3, 0x0011 }, { 0x0BF54, 0x000A }, { 0x31815, 0x0075 }, { 0x13F4E, 0x001F },
     554        { 0x324B4, 0x098E }, { 0x31B85, 0x004B }, { 0x32E42, 0x0011 }, { 0x30ECA, 0x0832 }, { 0x32E53, 0x000F },
     555        { 0x32E62, 0x002F }, { 0x32E91, 0x001D }, { 0x32EAE, 0x0018 }, { 0x32EC6, 0x0016 }, { 0x32EDC, 0x001B },
     556        { 0x32EF7, 0x0088 }, { 0x32F7F, 0x0065 }, { 0x32FE4, 0x0065 }, { 0x33049, 0x0073 }, { 0x330BC, 0x00F9 },
     557        { 0x331B5, 0x049E }, { 0x34001, 0x0EA8 }, { 0x34EA9, 0x0B18 }, { 0x359C1, 0x0B9C }, { 0x3655D, 0x0C6B },
     558        { 0x38001, 0x0E56 }, { 0x371C8, 0x0C70 }, { 0x38E57, 0x0DEC }, { 0x39C43, 0x0B77 }, { 0x33653, 0x042F },
     559        { 0x3A7BA, 0x0AC5 }, { 0x3B27F, 0x0BE4 }
    544560};
    545561
    546 t_resource res_sounds_swe[82] = {
    547         { 0x0BF58, 0x000A, NES_SOUND }, { 0x30352, 0x0832, NES_SOUND }, { 0x30352, 0x0832, NES_SOUND }, { 0x30352, 0x0832, NES_SOUND }, { 0x30352, 0x0832, NES_SOUND },
    548         { 0x30352, 0x0832, NES_SOUND }, { 0x0BF62, 0x0011, NES_SOUND }, { 0x27E5F, 0x0073, NES_SOUND }, { 0x17F5A, 0x0011, NES_SOUND }, { 0x17F6B, 0x0011, NES_SOUND },
    549         { 0x27ED2, 0x0056, NES_SOUND }, { 0x1BF55, 0x001F, NES_SOUND }, { 0x23F66, 0x0011, NES_SOUND }, { 0x0BF73, 0x000A, NES_SOUND }, { 0x1BF74, 0x000A, NES_SOUND },
    550         { 0x27F28, 0x0019, NES_SOUND }, { 0x2BF0A, 0x004B, NES_SOUND }, { 0x1FF71, 0x000A, NES_SOUND }, { 0x27F41, 0x000F, NES_SOUND }, { 0x27F50, 0x001D, NES_SOUND },
    551         { 0x2FEAA, 0x0045, NES_SOUND }, { 0x27F6D, 0x000F, NES_SOUND }, { 0x2BF55, 0x001B, NES_SOUND }, { 0x2FEEF, 0x0033, NES_SOUND }, { 0x2FF22, 0x0011, NES_SOUND },
    552         { 0x2BF70, 0x000F, NES_SOUND }, { 0x30B84, 0x0075, NES_SOUND }, { 0x2FF33, 0x0014, NES_SOUND }, { 0x0BF58, 0x000A, NES_SOUND }, { 0x30BF9, 0x00FF, NES_SOUND },
    553         { 0x2FF47, 0x000F, NES_SOUND }, { 0x2FF56, 0x000F, NES_SOUND }, { 0x30CF8, 0x0092, NES_SOUND }, { 0x30CF8, 0x0092, NES_SOUND }, { 0x30D8A, 0x002D, NES_SOUND },
    554         { 0x30DB7, 0x00F8, NES_SOUND }, { 0x2FF65, 0x0016, NES_SOUND }, { 0x30EAF, 0x0011, NES_SOUND }, { 0x30EC0, 0x004B, NES_SOUND }, { 0x30F0B, 0x0011, NES_SOUND },
    555         { 0x30F1C, 0x003B, NES_SOUND }, { 0x30F57, 0x008A, NES_SOUND }, { 0x30FE1, 0x0011, NES_SOUND }, { 0x30FF2, 0x000F, NES_SOUND }, { 0x31001, 0x00A2, NES_SOUND },
    556         { 0x310A3, 0x00D3, NES_SOUND }, { 0x31176, 0x0097, NES_SOUND }, { 0x2BF70, 0x000F, NES_SOUND }, { 0x31001, 0x00A2, NES_SOUND }, { 0x3120D, 0x05D1, NES_SOUND },
    557         { 0x3120D, 0x05D1, NES_SOUND }, { 0x317DE, 0x0011, NES_SOUND }, { 0x0BF58, 0x000A, NES_SOUND }, { 0x30B84, 0x0075, NES_SOUND }, { 0x1BF55, 0x001F, NES_SOUND },
    558         { 0x317EF, 0x098E, NES_SOUND }, { 0x30EC0, 0x004B, NES_SOUND }, { 0x3217D, 0x0011, NES_SOUND }, { 0x30352, 0x0832, NES_SOUND }, { 0x3218E, 0x000F, NES_SOUND },
    559         { 0x3219D, 0x002F, NES_SOUND }, { 0x321CC, 0x001D, NES_SOUND }, { 0x321E9, 0x0018, NES_SOUND }, { 0x32201, 0x0016, NES_SOUND }, { 0x32217, 0x001B, NES_SOUND },
    560         { 0x32232, 0x0088, NES_SOUND }, { 0x322BA, 0x0065, NES_SOUND }, { 0x3231F, 0x0065, NES_SOUND }, { 0x32384, 0x0073, NES_SOUND }, { 0x323F7, 0x00F9, NES_SOUND },
    561         { 0x324F0, 0x049E, NES_SOUND }, { 0x3298E, 0x0EA8, NES_SOUND }, { 0x34001, 0x0B18, NES_SOUND }, { 0x34B19, 0x0B9C, NES_SOUND }, { 0x356B5, 0x0C6B, NES_SOUND },
    562         { 0x36320, 0x0E56, NES_SOUND }, { 0x37176, 0x0C70, NES_SOUND }, { 0x38001, 0x0DEC, NES_SOUND }, { 0x38DED, 0x0B77, NES_SOUND }, { 0x33836, 0x042F, NES_SOUND },
    563         { 0x39964, 0x0AC5, NES_SOUND }, { 0x3A429, 0x0BE4, NES_SOUND }
     562const struct t_resource res_sounds_swe[82] = {
     563        { 0x0BF58, 0x000A }, { 0x30352, 0x0832 }, { 0x30352, 0x0832 }, { 0x30352, 0x0832 }, { 0x30352, 0x0832 },
     564        { 0x30352, 0x0832 }, { 0x0BF62, 0x0011 }, { 0x27E5F, 0x0073 }, { 0x17F5A, 0x0011 }, { 0x17F6B, 0x0011 },
     565        { 0x27ED2, 0x0056 }, { 0x1BF55, 0x001F }, { 0x23F66, 0x0011 }, { 0x0BF73, 0x000A }, { 0x1BF74, 0x000A },
     566        { 0x27F28, 0x0019 }, { 0x2BF0A, 0x004B }, { 0x1FF71, 0x000A }, { 0x27F41, 0x000F }, { 0x27F50, 0x001D },
     567        { 0x2FEAA, 0x0045 }, { 0x27F6D, 0x000F }, { 0x2BF55, 0x001B }, { 0x2FEEF, 0x0033 }, { 0x2FF22, 0x0011 },
     568        { 0x2BF70, 0x000F }, { 0x30B84, 0x0075 }, { 0x2FF33, 0x0014 }, { 0x0BF58, 0x000A }, { 0x30BF9, 0x00FF },
     569        { 0x2FF47, 0x000F }, { 0x2FF56, 0x000F }, { 0x30CF8, 0x0092 }, { 0x30CF8, 0x0092 }, { 0x30D8A, 0x002D },
     570        { 0x30DB7, 0x00F8 }, { 0x2FF65, 0x0016 }, { 0x30EAF, 0x0011 }, { 0x30EC0, 0x004B }, { 0x30F0B, 0x0011 },
     571        { 0x30F1C, 0x003B }, { 0x30F57, 0x008A }, { 0x30FE1, 0x0011 }, { 0x30FF2, 0x000F }, { 0x31001, 0x00A2 },
     572        { 0x310A3, 0x00D3 }, { 0x31176, 0x0097 }, { 0x2BF70, 0x000F }, { 0x31001, 0x00A2 }, { 0x3120D, 0x05D1 },
     573        { 0x3120D, 0x05D1 }, { 0x317DE, 0x0011 }, { 0x0BF58, 0x000A }, { 0x30B84, 0x0075 }, { 0x1BF55, 0x001F },
     574        { 0x317EF, 0x098E }, { 0x30EC0, 0x004B }, { 0x3217D, 0x0011 }, { 0x30352, 0x0832 }, { 0x3218E, 0x000F },
     575        { 0x3219D, 0x002F }, { 0x321CC, 0x001D }, { 0x321E9, 0x0018 }, { 0x32201, 0x0016 }, { 0x32217, 0x001B },
     576        { 0x32232, 0x0088 }, { 0x322BA, 0x0065 }, { 0x3231F, 0x0065 }, { 0x32384, 0x0073 }, { 0x323F7, 0x00F9 },
     577        { 0x324F0, 0x049E }, { 0x3298E, 0x0EA8 }, { 0x34001, 0x0B18 }, { 0x34B19, 0x0B9C }, { 0x356B5, 0x0C6B },
     578        { 0x36320, 0x0E56 }, { 0x37176, 0x0C70 }, { 0x38001, 0x0DEC }, { 0x38DED, 0x0B77 }, { 0x33836, 0x042F },
     579        { 0x39964, 0x0AC5 }, { 0x3A429, 0x0BE4 }
    564580};
    565581
    566 t_resource res_sounds_fra[82] = {
    567         { 0x07F74, 0x000A, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND },
    568         { 0x30ECA, 0x0832, NES_SOUND }, { 0x0BF6C, 0x0011, NES_SOUND }, { 0x1BEFA, 0x0073, NES_SOUND }, { 0x17F10, 0x0011, NES_SOUND }, { 0x17F21, 0x0011, NES_SOUND },
    569         { 0x1FED5, 0x0056, NES_SOUND }, { 0x17F32, 0x001F, NES_SOUND }, { 0x17F51, 0x0011, NES_SOUND }, { 0x0FF76, 0x000A, NES_SOUND }, { 0x17F62, 0x000A, NES_SOUND },
    570         { 0x1FF2B, 0x0019, NES_SOUND }, { 0x23E78, 0x004B, NES_SOUND }, { 0x17F6C, 0x000A, NES_SOUND }, { 0x1BF6D, 0x000F, NES_SOUND }, { 0x1FF44, 0x001D, NES_SOUND },
    571         { 0x23EC3, 0x0045, NES_SOUND }, { 0x1FF61, 0x000F, NES_SOUND }, { 0x23F08, 0x001B, NES_SOUND }, { 0x23F23, 0x0033, NES_SOUND }, { 0x23F56, 0x0011, NES_SOUND },
    572         { 0x1FF70, 0x000F, NES_SOUND }, { 0x27EF4, 0x0075, NES_SOUND }, { 0x23F67, 0x0014, NES_SOUND }, { 0x07F74, 0x000A, NES_SOUND }, { 0x2FB83, 0x00FF, NES_SOUND },
    573         { 0x27F69, 0x000F, NES_SOUND }, { 0x2BF70, 0x000F, NES_SOUND }, { 0x2FC82, 0x0092, NES_SOUND }, { 0x2FC82, 0x0092, NES_SOUND }, { 0x2FD14, 0x002D, NES_SOUND },
    574         { 0x2FD41, 0x00F8, NES_SOUND }, { 0x2FE39, 0x0016, NES_SOUND }, { 0x2FE4F, 0x0011, NES_SOUND }, { 0x2FE60, 0x004B, NES_SOUND }, { 0x2FEAB, 0x0011, NES_SOUND },
    575         { 0x2FEBC, 0x003B, NES_SOUND }, { 0x316FC, 0x008A, NES_SOUND }, { 0x2FEF7, 0x0011, NES_SOUND }, { 0x2FF08, 0x000F, NES_SOUND }, { 0x31786, 0x00A2, NES_SOUND },
    576         { 0x31828, 0x00D3, NES_SOUND }, { 0x318FB, 0x0097, NES_SOUND }, { 0x1FF70, 0x000F, NES_SOUND }, { 0x31786, 0x00A2, NES_SOUND }, { 0x31992, 0x05D1, NES_SOUND },
    577         { 0x31992, 0x05D1, NES_SOUND }, { 0x2FF17, 0x0011, NES_SOUND }, { 0x07F74, 0x000A, NES_SOUND }, { 0x27EF4, 0x0075, NES_SOUND }, { 0x17F32, 0x001F, NES_SOUND },
    578         { 0x31F63, 0x098E, NES_SOUND }, { 0x2FE60, 0x004B, NES_SOUND }, { 0x2FF28, 0x0011, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x2FF39, 0x000F, NES_SOUND },
    579         { 0x2FF48, 0x002F, NES_SOUND }, { 0x328F1, 0x001D, NES_SOUND }, { 0x3290E, 0x0018, NES_SOUND }, { 0x32926, 0x0016, NES_SOUND }, { 0x3293C, 0x001B, NES_SOUND },
    580         { 0x32957, 0x0088, NES_SOUND }, { 0x329DF, 0x0065, NES_SOUND }, { 0x32A44, 0x0065, NES_SOUND }, { 0x32AA9, 0x0073, NES_SOUND }, { 0x32B1C, 0x00F9, NES_SOUND },
    581         { 0x32C15, 0x049E, NES_SOUND }, { 0x330B3, 0x0EA8, NES_SOUND }, { 0x34001, 0x0B18, NES_SOUND }, { 0x34B19, 0x0B9C, NES_SOUND }, { 0x356B5, 0x0C6B, NES_SOUND },
    582         { 0x36320, 0x0E56, NES_SOUND }, { 0x37176, 0x0C70, NES_SOUND }, { 0x38001, 0x0DEC, NES_SOUND }, { 0x38DED, 0x0B77, NES_SOUND }, { 0x39964, 0x042F, NES_SOUND },
    583         { 0x39D93, 0x0AC5, NES_SOUND }, { 0x3A858, 0x0BE4, NES_SOUND }
     582const struct t_resource res_sounds_fra[82] = {
     583        { 0x07F74, 0x000A }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 },
     584        { 0x30ECA, 0x0832 }, { 0x0BF6C, 0x0011 }, { 0x1BEFA, 0x0073 }, { 0x17F10, 0x0011 }, { 0x17F21, 0x0011 },
     585        { 0x1FED5, 0x0056 }, { 0x17F32, 0x001F }, { 0x17F51, 0x0011 }, { 0x0FF76, 0x000A }, { 0x17F62, 0x000A },
     586        { 0x1FF2B, 0x0019 }, { 0x23E78, 0x004B }, { 0x17F6C, 0x000A }, { 0x1BF6D, 0x000F }, { 0x1FF44, 0x001D },
     587        { 0x23EC3, 0x0045 }, { 0x1FF61, 0x000F }, { 0x23F08, 0x001B }, { 0x23F23, 0x0033 }, { 0x23F56, 0x0011 },
     588        { 0x1FF70, 0x000F }, { 0x27EF4, 0x0075 }, { 0x23F67, 0x0014 }, { 0x07F74, 0x000A }, { 0x2FB83, 0x00FF },
     589        { 0x27F69, 0x000F }, { 0x2BF70, 0x000F }, { 0x2FC82, 0x0092 }, { 0x2FC82, 0x0092 }, { 0x2FD14, 0x002D },
     590        { 0x2FD41, 0x00F8 }, { 0x2FE39, 0x0016 }, { 0x2FE4F, 0x0011 }, { 0x2FE60, 0x004B }, { 0x2FEAB, 0x0011 },
     591        { 0x2FEBC, 0x003B }, { 0x316FC, 0x008A }, { 0x2FEF7, 0x0011 }, { 0x2FF08, 0x000F }, { 0x31786, 0x00A2 },
     592        { 0x31828, 0x00D3 }, { 0x318FB, 0x0097 }, { 0x1FF70, 0x000F }, { 0x31786, 0x00A2 }, { 0x31992, 0x05D1 },
     593        { 0x31992, 0x05D1 }, { 0x2FF17, 0x0011 }, { 0x07F74, 0x000A }, { 0x27EF4, 0x0075 }, { 0x17F32, 0x001F },
     594        { 0x31F63, 0x098E }, { 0x2FE60, 0x004B }, { 0x2FF28, 0x0011 }, { 0x30ECA, 0x0832 }, { 0x2FF39, 0x000F },
     595        { 0x2FF48, 0x002F }, { 0x328F1, 0x001D }, { 0x3290E, 0x0018 }, { 0x32926, 0x0016 }, { 0x3293C, 0x001B },
     596        { 0x32957, 0x0088 }, { 0x329DF, 0x0065 }, { 0x32A44, 0x0065 }, { 0x32AA9, 0x0073 }, { 0x32B1C, 0x00F9 },
     597        { 0x32C15, 0x049E }, { 0x330B3, 0x0EA8 }, { 0x34001, 0x0B18 }, { 0x34B19, 0x0B9C }, { 0x356B5, 0x0C6B },
     598        { 0x36320, 0x0E56 }, { 0x37176, 0x0C70 }, { 0x38001, 0x0DEC }, { 0x38DED, 0x0B77 }, { 0x39964, 0x042F },
     599        { 0x39D93, 0x0AC5 }, { 0x3A858, 0x0BE4 }
    584600};
    585601
    586 t_resource res_sounds_ger[82] = {
    587         { 0x0BF6D, 0x000A, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND },
    588         { 0x30ECA, 0x0832, NES_SOUND }, { 0x23F05, 0x0011, NES_SOUND }, { 0x2FA49, 0x0073, NES_SOUND }, { 0x23F16, 0x0011, NES_SOUND }, { 0x23F27, 0x0011, NES_SOUND },
    589         { 0x2FABC, 0x0056, NES_SOUND }, { 0x23F38, 0x001F, NES_SOUND }, { 0x23F57, 0x0011, NES_SOUND }, { 0x0FF76, 0x000A, NES_SOUND }, { 0x17F71, 0x000A, NES_SOUND },
    590         { 0x2BF2F, 0x0019, NES_SOUND }, { 0x2FB12, 0x004B, NES_SOUND }, { 0x23F68, 0x000A, NES_SOUND }, { 0x2BF48, 0x000F, NES_SOUND }, { 0x2BF57, 0x001D, NES_SOUND },
    591         { 0x2FB5D, 0x0045, NES_SOUND }, { 0x2FBA2, 0x000F, NES_SOUND }, { 0x2FBB1, 0x001B, NES_SOUND }, { 0x2FBCC, 0x0033, NES_SOUND }, { 0x2FBFF, 0x0011, NES_SOUND },
    592         { 0x2FC10, 0x000F, NES_SOUND }, { 0x2FC1F, 0x0075, NES_SOUND }, { 0x2FC94, 0x0014, NES_SOUND }, { 0x0BF6D, 0x000A, NES_SOUND }, { 0x2FCA8, 0x00FF, NES_SOUND },
    593         { 0x2FDA7, 0x000F, NES_SOUND }, { 0x2FDB6, 0x000F, NES_SOUND }, { 0x2FDC5, 0x0092, NES_SOUND }, { 0x2FDC5, 0x0092, NES_SOUND }, { 0x2FE57, 0x002D, NES_SOUND },
    594         { 0x2FE84, 0x00F8, NES_SOUND }, { 0x316FC, 0x0016, NES_SOUND }, { 0x31712, 0x0011, NES_SOUND }, { 0x31723, 0x004B, NES_SOUND }, { 0x3176E, 0x0011, NES_SOUND },
    595         { 0x3177F, 0x003B, NES_SOUND }, { 0x317BA, 0x008A, NES_SOUND }, { 0x31844, 0x0011, NES_SOUND }, { 0x31855, 0x000F, NES_SOUND }, { 0x31864, 0x00A2, NES_SOUND },
    596         { 0x31906, 0x00D3, NES_SOUND }, { 0x319D9, 0x0097, NES_SOUND }, { 0x2FC10, 0x000F, NES_SOUND }, { 0x31864, 0x00A2, NES_SOUND }, { 0x31A70, 0x05D1, NES_SOUND },
    597         { 0x31A70, 0x05D1, NES_SOUND }, { 0x32041, 0x0011, NES_SOUND }, { 0x0BF6D, 0x000A, NES_SOUND }, { 0x2FC1F, 0x0075, NES_SOUND }, { 0x23F38, 0x001F, NES_SOUND },
    598         { 0x32052, 0x098E, NES_SOUND }, { 0x31723, 0x004B, NES_SOUND }, { 0x329E0, 0x0011, NES_SOUND }, { 0x30ECA, 0x0832, NES_SOUND }, { 0x329F1, 0x000F, NES_SOUND },
    599         { 0x32A00, 0x002F, NES_SOUND }, { 0x32A2F, 0x001D, NES_SOUND }, { 0x32A4C, 0x0018, NES_SOUND }, { 0x32A64, 0x0016, NES_SOUND }, { 0x32A7A, 0x001B, NES_SOUND },
    600         { 0x32A95, 0x0088, NES_SOUND }, { 0x32B1D, 0x0065, NES_SOUND }, { 0x32B82, 0x0065, NES_SOUND }, { 0x32BE7, 0x0073, NES_SOUND }, { 0x32C5A, 0x00F9, NES_SOUND },
    601         { 0x32D53, 0x049E, NES_SOUND }, { 0x34001, 0x0EA8, NES_SOUND }, { 0x331F1, 0x0B18, NES_SOUND }, { 0x34EA9, 0x0B9C, NES_SOUND }, { 0x35A45, 0x0C6B, NES_SOUND },
    602         { 0x366B0, 0x0E56, NES_SOUND }, { 0x38001, 0x0C70, NES_SOUND }, { 0x38C71, 0x0DEC, NES_SOUND }, { 0x39A5D, 0x0B77, NES_SOUND }, { 0x37506, 0x042F, NES_SOUND },
    603         { 0x3A5D4, 0x0AC5, NES_SOUND }, { 0x3B099, 0x0BE4, NES_SOUND }
     602const struct t_resource res_sounds_ger[82] = {
     603        { 0x0BF6D, 0x000A }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 }, { 0x30ECA, 0x0832 },
     604        { 0x30ECA, 0x0832 }, { 0x23F05, 0x0011 }, { 0x2FA49, 0x0073 }, { 0x23F16, 0x0011 }, { 0x23F27, 0x0011 },
     605        { 0x2FABC, 0x0056 }, { 0x23F38, 0x001F }, { 0x23F57, 0x0011 }, { 0x0FF76, 0x000A }, { 0x17F71, 0x000A },
     606        { 0x2BF2F, 0x0019 }, { 0x2FB12, 0x004B }, { 0x23F68, 0x000A }, { 0x2BF48, 0x000F }, { 0x2BF57, 0x001D },
     607        { 0x2FB5D, 0x0045 }, { 0x2FBA2, 0x000F }, { 0x2FBB1, 0x001B }, { 0x2FBCC, 0x0033 }, { 0x2FBFF, 0x0011 },
     608        { 0x2FC10, 0x000F }, { 0x2FC1F, 0x0075 }, { 0x2FC94, 0x0014 }, { 0x0BF6D, 0x000A }, { 0x2FCA8, 0x00FF },
     609        { 0x2FDA7, 0x000F }, { 0x2FDB6, 0x000F }, { 0x2FDC5, 0x0092 }, { 0x2FDC5, 0x0092 }, { 0x2FE57, 0x002D },
     610        { 0x2FE84, 0x00F8 }, { 0x316FC, 0x0016 }, { 0x31712, 0x0011 }, { 0x31723, 0x004B }, { 0x3176E, 0x0011 },
     611        { 0x3177F, 0x003B }, { 0x317BA, 0x008A }, { 0x31844, 0x0011 }, { 0x31855, 0x000F }, { 0x31864, 0x00A2 },
     612        { 0x31906, 0x00D3 }, { 0x319D9, 0x0097 }, { 0x2FC10, 0x000F }, { 0x31864, 0x00A2 }, { 0x31A70, 0x05D1 },
     613        { 0x31A70, 0x05D1 }, { 0x32041, 0x0011 }, { 0x0BF6D, 0x000A }, { 0x2FC1F, 0x0075 }, { 0x23F38, 0x001F },
     614        { 0x32052, 0x098E }, { 0x31723, 0x004B }, { 0x329E0, 0x0011 }, { 0x30ECA, 0x0832 }, { 0x329F1, 0x000F },
     615        { 0x32A00, 0x002F }, { 0x32A2F, 0x001D }, { 0x32A4C, 0x0018 }, { 0x32A64, 0x0016 }, { 0x32A7A, 0x001B },
     616        { 0x32A95, 0x0088 }, { 0x32B1D, 0x0065 }, { 0x32B82, 0x0065 }, { 0x32BE7, 0x0073 }, { 0x32C5A, 0x00F9 },
     617        { 0x32D53, 0x049E }, { 0x34001, 0x0EA8 }, { 0x331F1, 0x0B18 }, { 0x34EA9, 0x0B9C }, { 0x35A45, 0x0C6B },
     618        { 0x366B0, 0x0E56 }, { 0x38001, 0x0C70 }, { 0x38C71, 0x0DEC }, { 0x39A5D, 0x0B77 }, { 0x37506, 0x042F },
     619        { 0x3A5D4, 0x0AC5 }, { 0x3B099, 0x0BE4 }
    604620};
    605621
    606 t_resource res_sounds_esp[82] = {
    607         { 0x13F63, 0x000A, NES_SOUND }, { 0x2F671, 0x0832, NES_SOUND }, { 0x2F671, 0x0832, NES_SOUND }, { 0x2F671, 0x0832, NES_SOUND }, { 0x2F671, 0x0832, NES_SOUND },
    608         { 0x2F671, 0x0832, NES_SOUND }, { 0x13F6D, 0x0011, NES_SOUND }, { 0x1FEED, 0x0073, NES_SOUND }, { 0x17F6F, 0x0011, NES_SOUND }, { 0x1BF64, 0x0011, NES_SOUND },
    609         { 0x27F19, 0x0056, NES_SOUND }, { 0x1FF60, 0x001F, NES_SOUND }, { 0x27F6F, 0x0011, NES_SOUND }, { 0x1BF75, 0x000A, NES_SOUND }, { 0x2BE6F, 0x000A, NES_SOUND },
    610         { 0x2BE79, 0x0019, NES_SOUND }, { 0x2BE92, 0x004B, NES_SOUND }, { 0x2BEDD, 0x000A, NES_SOUND }, { 0x2BEE7, 0x000F, NES_SOUND }, { 0x2BEF6, 0x001D, NES_SOUND },
    611         { 0x2BF13, 0x0045, NES_SOUND }, { 0x2BF58, 0x000F, NES_SOUND }, { 0x2FEA3, 0x001B, NES_SOUND }, { 0x2FEBE, 0x0033, NES_SOUND }, { 0x2BF67, 0x0011, NES_SOUND },
    612         { 0x2FEF1, 0x000F, NES_SOUND }, { 0x2FF00, 0x0075, NES_SOUND }, { 0x30ECA, 0x0014, NES_SOUND }, { 0x13F63, 0x000A, NES_SOUND }, { 0x30EDE, 0x00FF, NES_SOUND },
    613         { 0x30FDD, 0x000F, NES_SOUND }, { 0x30FEC, 0x000F, NES_SOUND }, { 0x30FFB, 0x0092, NES_SOUND }, { 0x30FFB, 0x0092, NES_SOUND }, { 0x3108D, 0x002D, NES_SOUND },
    614         { 0x310BA, 0x00F8, NES_SOUND }, { 0x311B2, 0x0016, NES_SOUND }, { 0x311C8, 0x0011, NES_SOUND }, { 0x311D9, 0x004B, NES_SOUND }, { 0x31224, 0x0011, NES_SOUND },
    615         { 0x31235, 0x003B, NES_SOUND }, { 0x31270, 0x008A, NES_SOUND }, { 0x312FA, 0x0011, NES_SOUND }, { 0x3130B, 0x000F, NES_SOUND }, { 0x3131A, 0x00A2, NES_SOUND },
    616         { 0x313BC, 0x00D3, NES_SOUND }, { 0x3148F, 0x0097, NES_SOUND }, { 0x2FEF1, 0x000F, NES_SOUND }, { 0x3131A, 0x00A2, NES_SOUND }, { 0x31526, 0x05D1, NES_SOUND },
    617         { 0x31526, 0x05D1, NES_SOUND }, { 0x31AF7, 0x0011, NES_SOUND }, { 0x13F63, 0x000A, NES_SOUND }, { 0x2FF00, 0x0075, NES_SOUND }, { 0x1FF60, 0x001F, NES_SOUND },
    618         { 0x31B08, 0x098E, NES_SOUND }, { 0x311D9, 0x004B, NES_SOUND }, { 0x32496, 0x0011, NES_SOUND }, { 0x2F671, 0x0832, NES_SOUND }, { 0x324A7, 0x000F, NES_SOUND },
    619         { 0x324B6, 0x002F, NES_SOUND }, { 0x324E5, 0x001D, NES_SOUND }, { 0x32502, 0x0018, NES_SOUND }, { 0x3251A, 0x0016, NES_SOUND }, { 0x32530, 0x001B, NES_SOUND },
    620         { 0x3254B, 0x0088, NES_SOUND }, { 0x325D3, 0x0065, NES_SOUND }, { 0x32638, 0x0065, NES_SOUND }, { 0x3269D, 0x0073, NES_SOUND }, { 0x32710, 0x00F9, NES_SOUND },
    621         { 0x32809, 0x049E, NES_SOUND }, { 0x32CA7, 0x0EA8, NES_SOUND }, { 0x34001, 0x0B18, NES_SOUND }, { 0x34B19, 0x0B9C, NES_SOUND }, { 0x356B5, 0x0C6B, NES_SOUND },
    622         { 0x36320, 0x0E56, NES_SOUND }, { 0x37176, 0x0C70, NES_SOUND }, { 0x38001, 0x0DEC, NES_SOUND }, { 0x38DED, 0x0B77, NES_SOUND }, { 0x33B4F, 0x042F, NES_SOUND },
    623         { 0x39964, 0x0AC5, NES_SOUND }, { 0x3A429, 0x0BE4, NES_SOUND }
     622const struct t_resource res_sounds_esp[82] = {
     623        { 0x13F63, 0x000A }, { 0x2F671, 0x0832 }, { 0x2F671, 0x0832 }, { 0x2F671, 0x0832 }, { 0x2F671, 0x0832 },
     624        { 0x2F671, 0x0832 }, { 0x13F6D, 0x0011 }, { 0x1FEED, 0x0073 }, { 0x17F6F, 0x0011 }, { 0x1BF64, 0x0011 },
     625        { 0x27F19, 0x0056 }, { 0x1FF60, 0x001F }, { 0x27F6F, 0x0011 }, { 0x1BF75, 0x000A }, { 0x2BE6F, 0x000A },
     626        { 0x2BE79, 0x0019 }, { 0x2BE92, 0x004B }, { 0x2BEDD, 0x000A }, { 0x2BEE7, 0x000F }, { 0x2BEF6, 0x001D },
     627        { 0x2BF13, 0x0045 }, { 0x2BF58, 0x000F }, { 0x2FEA3, 0x001B }, { 0x2FEBE, 0x0033 }, { 0x2BF67, 0x0011 },
     628        { 0x2FEF1, 0x000F }, { 0x2FF00, 0x0075 }, { 0x30ECA, 0x0014 }, { 0x13F63, 0x000A }, { 0x30EDE, 0x00FF },
     629        { 0x30FDD, 0x000F }, { 0x30FEC, 0x000F }, { 0x30FFB, 0x0092 }, { 0x30FFB, 0x0092 }, { 0x3108D, 0x002D },
     630        { 0x310BA, 0x00F8 }, { 0x311B2, 0x0016 }, { 0x311C8, 0x0011 }, { 0x311D9, 0x004B }, { 0x31224, 0x0011 },
     631        { 0x31235, 0x003B }, { 0x31270, 0x008A }, { 0x312FA, 0x0011 }, { 0x3130B, 0x000F }, { 0x3131A, 0x00A2 },
     632        { 0x313BC, 0x00D3 }, { 0x3148F, 0x0097 }, { 0x2FEF1, 0x000F }, { 0x3131A, 0x00A2 }, { 0x31526, 0x05D1 },
     633        { 0x31526, 0x05D1 }, { 0x31AF7, 0x0011 }, { 0x13F63, 0x000A }, { 0x2FF00, 0x0075 }, { 0x1FF60, 0x001F },
     634        { 0x31B08, 0x098E }, { 0x311D9, 0x004B }, { 0x32496, 0x0011 }, { 0x2F671, 0x0832 }, { 0x324A7, 0x000F },
     635        { 0x324B6, 0x002F }, { 0x324E5, 0x001D }, { 0x32502, 0x0018 }, { 0x3251A, 0x0016 }, { 0x32530, 0x001B },
     636        { 0x3254B, 0x0088 }, { 0x325D3, 0x0065 }, { 0x32638, 0x0065 }, { 0x3269D, 0x0073 }, { 0x32710, 0x00F9 },
     637        { 0x32809, 0x049E }, { 0x32CA7, 0x0EA8 }, { 0x34001, 0x0B18 }, { 0x34B19, 0x0B9C }, { 0x356B5, 0x0C6B },
     638        { 0x36320, 0x0E56 }, { 0x37176, 0x0C70 }, { 0x38001, 0x0DEC }, { 0x38DED, 0x0B77 }, { 0x33B4F, 0x042F },
     639        { 0x39964, 0x0AC5 }, { 0x3A429, 0x0BE4 }
    624640};
    625 p_resource res_sounds[NUM_ROMSETS] = {
     641
     642const struct t_resgroup res_sounds = {
     643        NES_SOUND,
     644        {
    626645        res_sounds_usa,
    627646        res_sounds_eur,
    628647        res_sounds_swe,
    629648        res_sounds_fra,
    630649        res_sounds_ger,
    631650        res_sounds_esp,
     651        }
    632652};
    633653
    634 t_resource res_costumes_usa[25] = {
    635         { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME },
    636         { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x13FAB, 0x004B, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME },
    637         { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x17F5A, 0x0036, NES_COSTUME }, { 0x17F90, 0x003A, NES_COSTUME }, { 0x17F90, 0x003A, NES_COSTUME },
    638         { 0x17F05, 0x0055, NES_COSTUME }, { 0x1BF87, 0x003B, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x23FA9, 0x0045, NES_COSTUME }, { 0x1FFBD, 0x0040, NES_COSTUME },
    639         { 0x1BFC2, 0x003C, NES_COSTUME }, { 0x17F90, 0x003A, NES_COSTUME }, { 0x17F90, 0x003A, NES_COSTUME }, { 0x17F05, 0x0055, NES_COSTUME }, { 0x13FAB, 0x004B, NES_COSTUME }
     654const struct t_resource res_costumes_usa[25] = {
     655        { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 },
     656        { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 }, { 0x13FAB, 0x004B }, { 0x17F05, 0x0055 },
     657        { 0x17F05, 0x0055 }, { 0x17F05, 0x0055 }, { 0x17F5A, 0x0036 }, { 0x17F90, 0x003A }, { 0x17F90, 0x003A },
     658        { 0x17F05, 0x0055 }, { 0x1BF87, 0x003B }, { 0x17F05, 0x0055 }, { 0x23FA9, 0x0045 }, { 0x1FFBD, 0x0040 },
     659        { 0x1BFC2, 0x003C }, { 0x17F90, 0x003A }, { 0x17F90, 0x003A }, { 0x17F05, 0x0055 }, { 0x13FAB, 0x004B }
    640660};
    641661
    642 t_resource res_costumes_eur[25] = {
    643         { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME },
    644         { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0FEA2, 0x004B, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME },
    645         { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0FEED, 0x0036, NES_COSTUME }, { 0x0FF23, 0x003A, NES_COSTUME }, { 0x0FF23, 0x003A, NES_COSTUME },
    646         { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x13F13, 0x003B, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x23F2F, 0x0045, NES_COSTUME }, { 0x1FF3E, 0x0040, NES_COSTUME },
    647         { 0x27E8F, 0x003C, NES_COSTUME }, { 0x0FF23, 0x003A, NES_COSTUME }, { 0x0FF23, 0x003A, NES_COSTUME }, { 0x0BEFF, 0x0055, NES_COSTUME }, { 0x0FEA2, 0x004B, NES_COSTUME }
     662const struct t_resource res_costumes_eur[25] = {
     663        { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 },
     664        { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 }, { 0x0FEA2, 0x004B }, { 0x0BEFF, 0x0055 },
     665        { 0x0BEFF, 0x0055 }, { 0x0BEFF, 0x0055 }, { 0x0FEED, 0x0036 }, { 0x0FF23, 0x003A }, { 0x0FF23, 0x003A },
     666        { 0x0BEFF, 0x0055 }, { 0x13F13, 0x003B }, { 0x0BEFF, 0x0055 }, { 0x23F2F, 0x0045 }, { 0x1FF3E, 0x0040 },
     667        { 0x27E8F, 0x003C }, { 0x0FF23, 0x003A }, { 0x0FF23, 0x003A }, { 0x0BEFF, 0x0055 }, { 0x0FEA2, 0x004B }
    648668};
    649669
    650 t_resource res_costumes_swe[25] = {
    651         { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME },
    652         { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x17E9A, 0x004B, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME },
    653         { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x0FF4A, 0x0036, NES_COSTUME }, { 0x17EE5, 0x003A, NES_COSTUME }, { 0x17EE5, 0x003A, NES_COSTUME },
    654         { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x17F1F, 0x003B, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x1BE94, 0x0045, NES_COSTUME }, { 0x1BED9, 0x0040, NES_COSTUME },
    655         { 0x1BF19, 0x003C, NES_COSTUME }, { 0x17EE5, 0x003A, NES_COSTUME }, { 0x17EE5, 0x003A, NES_COSTUME }, { 0x0FEF5, 0x0055, NES_COSTUME }, { 0x17E9A, 0x004B, NES_COSTUME }
     670const struct t_resource res_costumes_swe[25] = {
     671        { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 },
     672        { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 }, { 0x17E9A, 0x004B }, { 0x0FEF5, 0x0055 },
     673        { 0x0FEF5, 0x0055 }, { 0x0FEF5, 0x0055 }, { 0x0FF4A, 0x0036 }, { 0x17EE5, 0x003A }, { 0x17EE5, 0x003A },
     674        { 0x0FEF5, 0x0055 }, { 0x17F1F, 0x003B }, { 0x0FEF5, 0x0055 }, { 0x1BE94, 0x0045 }, { 0x1BED9, 0x0040 },
     675        { 0x1BF19, 0x003C }, { 0x17EE5, 0x003A }, { 0x17EE5, 0x003A }, { 0x0FEF5, 0x0055 }, { 0x17E9A, 0x004B }
    656676};
    657677
    658 t_resource res_costumes_fra[25] = {
    659         { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME },
    660         { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x13E77, 0x004B, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME },
    661         { 0x0BF17, 0x0055, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x07F3E, 0x0036, NES_COSTUME }, { 0x13EC2, 0x003A, NES_COSTUME }, { 0x13EC2, 0x003A, NES_COSTUME },
    662         { 0x0BF17, 0x0055, NES_COSTUME }, { 0x13EFC, 0x003B, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x13F37, 0x0045, NES_COSTUME }, { 0x17E94, 0x0040, NES_COSTUME },
    663         { 0x17ED4, 0x003C, NES_COSTUME }, { 0x13EC2, 0x003A, NES_COSTUME }, { 0x13EC2, 0x003A, NES_COSTUME }, { 0x0BF17, 0x0055, NES_COSTUME }, { 0x13E77, 0x004B, NES_COSTUME }
     678const struct t_resource res_costumes_fra[25] = {
     679        { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 },
     680        { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 }, { 0x13E77, 0x004B }, { 0x0BF17, 0x0055 },
     681        { 0x0BF17, 0x0055 }, { 0x0BF17, 0x0055 }, { 0x07F3E, 0x0036 }, { 0x13EC2, 0x003A }, { 0x13EC2, 0x003A },
     682        { 0x0BF17, 0x0055 }, { 0x13EFC, 0x003B }, { 0x0BF17, 0x0055 }, { 0x13F37, 0x0045 }, { 0x17E94, 0x0040 },
     683        { 0x17ED4, 0x003C }, { 0x13EC2, 0x003A }, { 0x13EC2, 0x003A }, { 0x0BF17, 0x0055 }, { 0x13E77, 0x004B }
    664684};
    665685
    666 t_resource res_costumes_ger[25] = {
    667         { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME },
    668         { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x17E6C, 0x004B, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME },
    669         { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x0FF40, 0x0036, NES_COSTUME }, { 0x17EB7, 0x003A, NES_COSTUME }, { 0x17EB7, 0x003A, NES_COSTUME },
    670         { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x17EF1, 0x003B, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x17F2C, 0x0045, NES_COSTUME }, { 0x1FEFD, 0x0040, NES_COSTUME },
    671         { 0x1FF3D, 0x003C, NES_COSTUME }, { 0x17EB7, 0x003A, NES_COSTUME }, { 0x17EB7, 0x003A, NES_COSTUME }, { 0x0FEEB, 0x0055, NES_COSTUME }, { 0x17E6C, 0x004B, NES_COSTUME }
     686const struct t_resource res_costumes_ger[25] = {
     687        { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 },
     688        { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 }, { 0x17E6C, 0x004B }, { 0x0FEEB, 0x0055 },
     689        { 0x0FEEB, 0x0055 }, { 0x0FEEB, 0x0055 }, { 0x0FF40, 0x0036 }, { 0x17EB7, 0x003A }, { 0x17EB7, 0x003A },
     690        { 0x0FEEB, 0x0055 }, { 0x17EF1, 0x003B }, { 0x0FEEB, 0x0055 }, { 0x17F2C, 0x0045 }, { 0x1FEFD, 0x0040 },
     691        { 0x1FF3D, 0x003C }, { 0x17EB7, 0x003A }, { 0x17EB7, 0x003A }, { 0x0FEEB, 0x0055 }, { 0x17E6C, 0x004B }
    672692};
    673 t_resource res_costumes_esp[25] = {
    674693
    675         { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME },
    676         { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x13EA3, 0x004B, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME },
    677         { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x0FF46, 0x0036, NES_COSTUME }, { 0x13EEE, 0x003A, NES_COSTUME }, { 0x13EEE, 0x003A, NES_COSTUME },
    678         { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x13F28, 0x003B, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x17F2A, 0x0045, NES_COSTUME }, { 0x1FE71, 0x0040, NES_COSTUME },
    679         { 0x1FEB1, 0x003C, NES_COSTUME }, { 0x13EEE, 0x003A, NES_COSTUME }, { 0x13EEE, 0x003A, NES_COSTUME }, { 0x0FEF1, 0x0055, NES_COSTUME }, { 0x13EA3, 0x004B, NES_COSTUME }
     694const struct t_resource res_costumes_esp[25] = {
     695        { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 },
     696        { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 }, { 0x13EA3, 0x004B }, { 0x0FEF1, 0x0055 },
     697        { 0x0FEF1, 0x0055 }, { 0x0FEF1, 0x0055 }, { 0x0FF46, 0x0036 }, { 0x13EEE, 0x003A }, { 0x13EEE, 0x003A },
     698        { 0x0FEF1, 0x0055 }, { 0x13F28, 0x003B }, { 0x0FEF1, 0x0055 }, { 0x17F2A, 0x0045 }, { 0x1FE71, 0x0040 },
     699        { 0x1FEB1, 0x003C }, { 0x13EEE, 0x003A }, { 0x13EEE, 0x003A }, { 0x0FEF1, 0x0055 }, { 0x13EA3, 0x004B }
    680700};
    681 p_resource res_costumes[NUM_ROMSETS] = {
     701
     702const struct t_resgroup res_costumes = {
     703        NES_COSTUME,
     704        {
    682705        res_costumes_usa,
    683706        res_costumes_eur,
    684707        res_costumes_swe,
    685708        res_costumes_fra,
    686709        res_costumes_ger,
    687710        res_costumes_esp,
     711        }
    688712};
    689713
    690 t_resource res_globdata_usa[1] = { { 0x2CA11, 0x0307, NES_GLOBDATA } };
    691 t_resource res_globdata_eur[1] = { { 0x2CA11, 0x0307, NES_GLOBDATA } };
    692 t_resource res_globdata_swe[1] = { { 0x2C001, 0x0307, NES_GLOBDATA } };
    693 t_resource res_globdata_fra[1] = { { 0x2C628, 0x0307, NES_GLOBDATA } };
    694 t_resource res_globdata_ger[1] = { { 0x2C4EE, 0x0307, NES_GLOBDATA } };
    695 t_resource res_globdata_esp[1] = { { 0x2C001, 0x0307, NES_GLOBDATA } };
     714const struct t_resource res_globdata_usa[1] = { { 0x2CA11, 0x0307 } };
     715const struct t_resource res_globdata_eur[1] = { { 0x2CA11, 0x0307 } };
     716const struct t_resource res_globdata_swe[1] = { { 0x2C001, 0x0307 } };
     717const struct t_resource res_globdata_fra[1] = { { 0x2C628, 0x0307 } };
     718const struct t_resource res_globdata_ger[1] = { { 0x2C4EE, 0x0307 } };
     719const struct t_resource res_globdata_esp[1] = { { 0x2C001, 0x0307 } };
    696720
    697 p_resource res_globdata[NUM_ROMSETS] = {
     721const struct t_resgroup res_globdata = {
     722        NES_GLOBDATA,
     723        {
    698724        res_globdata_usa,
    699725        res_globdata_eur,
    700726        res_globdata_swe,
    701727        res_globdata_fra,
    702728        res_globdata_ger,
    703729        res_globdata_esp,
     730        }
    704731};
    705732
    706733/* sprite palette data */
    707 t_resource res_sprpals_usa[2] = { { 0x0BFC1, 0x0010, NES_SPRPALS }, { 0x0BFD1, 0x0010, NES_SPRPALS } };
    708 t_resource res_sprpals_eur[2] = { { 0x07F61, 0x0010, NES_SPRPALS }, { 0x0BEB2, 0x0010, NES_SPRPALS } };
    709 t_resource res_sprpals_swe[2] = { { 0x07F55, 0x0010, NES_SPRPALS }, { 0x07F65, 0x0010, NES_SPRPALS } };
    710 t_resource res_sprpals_fra[2] = { { 0x07ED8, 0x0010, NES_SPRPALS }, { 0x07EE8, 0x0010, NES_SPRPALS } };
    711 t_resource res_sprpals_ger[2] = { { 0x07F6B, 0x0010, NES_SPRPALS }, { 0x0BF17, 0x0010, NES_SPRPALS } };
    712 t_resource res_sprpals_esp[2] = { { 0x0BF15, 0x0010, NES_SPRPALS }, { 0x0BF25, 0x0010, NES_SPRPALS } };
     734const struct t_resource res_sprpals_usa[2] = { { 0x0BFC1, 0x0010 }, { 0x0BFD1, 0x0010 } };
     735const struct t_resource res_sprpals_eur[2] = { { 0x07F61, 0x0010 }, { 0x0BEB2, 0x0010 } };
     736const struct t_resource res_sprpals_swe[2] = { { 0x07F55, 0x0010 }, { 0x07F65, 0x0010 } };
     737const struct t_resource res_sprpals_fra[2] = { { 0x07ED8, 0x0010 }, { 0x07EE8, 0x0010 } };
     738const struct t_resource res_sprpals_ger[2] = { { 0x07F6B, 0x0010 }, { 0x0BF17, 0x0010 } };
     739const struct t_resource res_sprpals_esp[2] = { { 0x0BF15, 0x0010 }, { 0x0BF25, 0x0010 } };
    713740
    714 p_resource res_sprpals[NUM_ROMSETS] = {
     741const struct t_resgroup res_sprpals = {
     742        NES_SPRPALS,
     743        {
    715744        res_sprpals_usa,
    716745        res_sprpals_eur,
    717746        res_sprpals_swe,
    718747        res_sprpals_fra,
    719748        res_sprpals_ger,
    720749        res_sprpals_esp,
     750        }
    721751};
    722752
    723753/* associates costume IDs with sprite sets (indexes into SPRLENS/SPROFFS) */
    724 t_resource res_sprdesc_usa[2] = { { 0x0FFB7, 0x0031, NES_SPRDESC }, { 0x0BFE1, 0x0009, NES_SPRDESC } };
    725 t_resource res_sprdesc_eur[2] = { { 0x0BEC2, 0x0031, NES_SPRDESC }, { 0x07F71, 0x0009, NES_SPRDESC } };
    726 t_resource res_sprdesc_swe[2] = { { 0x0BF1B, 0x0031, NES_SPRDESC }, { 0x07F75, 0x0009, NES_SPRDESC } };
    727 t_resource res_sprdesc_fra[2] = { { 0x07EF8, 0x0031, NES_SPRDESC }, { 0x07F29, 0x0009, NES_SPRDESC } };
    728 t_resource res_sprdesc_ger[2] = { { 0x0BF27, 0x0031, NES_SPRDESC }, { 0x0BF58, 0x0009, NES_SPRDESC } };
    729 t_resource res_sprdesc_esp[2] = { { 0x0BF35, 0x0031, NES_SPRDESC }, { 0x0BF66, 0x0009, NES_SPRDESC } };
     754const struct t_resource res_sprdesc_usa[2] = { { 0x0FFB7, 0x0031 }, { 0x0BFE1, 0x0009 } };
     755const struct t_resource res_sprdesc_eur[2] = { { 0x0BEC2, 0x0031 }, { 0x07F71, 0x0009 } };
     756const struct t_resource res_sprdesc_swe[2] = { { 0x0BF1B, 0x0031 }, { 0x07F75, 0x0009 } };
     757const struct t_resource res_sprdesc_fra[2] = { { 0x07EF8, 0x0031 }, { 0x07F29, 0x0009 } };
     758const struct t_resource res_sprdesc_ger[2] = { { 0x0BF27, 0x0031 }, { 0x0BF58, 0x0009 } };
     759const struct t_resource res_sprdesc_esp[2] = { { 0x0BF35, 0x0031 }, { 0x0BF66, 0x0009 } };
    730760
    731 p_resource res_sprdesc[NUM_ROMSETS] = {
     761const struct t_resgroup res_sprdesc = {
     762        NES_SPRDESC,
     763        {
    732764        res_sprdesc_usa,
    733765        res_sprdesc_eur,
    734766        res_sprdesc_swe,
    735767        res_sprdesc_fra,
    736768        res_sprdesc_ger,
    737769        res_sprdesc_esp,
     770        }
    738771};
    739772
    740773/* number of sprites in each set (indicates length within SPRDATA) */
    741 t_resource res_sprlens_usa[2] = { { 0x0FEA2, 0x0115, NES_SPRLENS }, { 0x07FF5, 0x0006, NES_SPRLENS } };
    742 t_resource res_sprlens_eur[2] = { { 0x1BE32, 0x0115, NES_SPRLENS }, { 0x07F5B, 0x0006, NES_SPRLENS } };
    743 t_resource res_sprlens_swe[2] = { { 0x13E6A, 0x0115, NES_SPRLENS }, { 0x07F4F, 0x0006, NES_SPRLENS } };
    744 t_resource res_sprlens_fra[2] = { { 0x0FE61, 0x0115, NES_SPRLENS }, { 0x07ED2, 0x0006, NES_SPRLENS } };
    745 t_resource res_sprlens_ger[2] = { { 0x2BE1A, 0x0115, NES_SPRLENS }, { 0x07F65, 0x0006, NES_SPRLENS } };
    746 t_resource res_sprlens_esp[2] = { { 0x2EFE1, 0x0115, NES_SPRLENS }, { 0x07F7A, 0x0006, NES_SPRLENS } };
     774const struct t_resource res_sprlens_usa[2] = { { 0x0FEA2, 0x0115 }, { 0x07FF5, 0x0006 } };
     775const struct t_resource res_sprlens_eur[2] = { { 0x1BE32, 0x0115 }, { 0x07F5B, 0x0006 } };
     776const struct t_resource res_sprlens_swe[2] = { { 0x13E6A, 0x0115 }, { 0x07F4F, 0x0006 } };
     777const struct t_resource res_sprlens_fra[2] = { { 0x0FE61, 0x0115 }, { 0x07ED2, 0x0006 } };
     778const struct t_resource res_sprlens_ger[2] = { { 0x2BE1A, 0x0115 }, { 0x07F65, 0x0006 } };
     779const struct t_resource res_sprlens_esp[2] = { { 0x2EFE1, 0x0115 }, { 0x07F7A, 0x0006 } };
    747780
    748 p_resource res_sprlens[NUM_ROMSETS] = {
     781const struct t_resgroup res_sprlens = {
     782        NES_SPRLENS,
     783        {
    749784        res_sprlens_usa,
    750785        res_sprlens_eur,
    751786        res_sprlens_swe,
    752787        res_sprlens_fra,
    753788        res_sprlens_ger,
    754789        res_sprlens_esp,
     790        }
    755791};
    756792
    757793/* offset of each sprite set (indexes into SPRDATA) */
    758 t_resource res_sproffs_usa[2] = { { 0x2BDC5, 0x022A, NES_SPROFFS }, { 0x0BFEA, 0x000C, NES_SPROFFS } };
    759 t_resource res_sproffs_eur[2] = { { 0x2FD42, 0x022A, NES_SPROFFS }, { 0x0BEF3, 0x000C, NES_SPROFFS } };
    760 t_resource res_sproffs_swe[2] = { { 0x2BCE0, 0x022A, NES_SPROFFS }, { 0x0BF4C, 0x000C, NES_SPROFFS } };
    761 t_resource res_sproffs_fra[2] = { { 0x2F959, 0x022A, NES_SPROFFS }, { 0x07F32, 0x000C, NES_SPROFFS } };
    762 t_resource res_sproffs_ger[2] = { { 0x2F81F, 0x022A, NES_SPROFFS }, { 0x0BF61, 0x000C, NES_SPROFFS } };
    763 t_resource res_sproffs_esp[2] = { { 0x2F447, 0x022A, NES_SPROFFS }, { 0x0BF6F, 0x000C, NES_SPROFFS } };
     794const struct t_resource res_sproffs_usa[2] = { { 0x2BDC5, 0x022A }, { 0x0BFEA, 0x000C } };
     795const struct t_resource res_sproffs_eur[2] = { { 0x2FD42, 0x022A }, { 0x0BEF3, 0x000C } };
     796const struct t_resource res_sproffs_swe[2] = { { 0x2BCE0, 0x022A }, { 0x0BF4C, 0x000C } };
     797const struct t_resource res_sproffs_fra[2] = { { 0x2F959, 0x022A }, { 0x07F32, 0x000C } };
     798const struct t_resource res_sproffs_ger[2] = { { 0x2F81F, 0x022A }, { 0x0BF61, 0x000C } };
     799const struct t_resource res_sproffs_esp[2] = { { 0x2F447, 0x022A }, { 0x0BF6F, 0x000C } };
    764800
    765 p_resource res_sproffs[NUM_ROMSETS] = {
     801const struct t_resgroup res_sproffs = {
     802        NES_SPROFFS,
     803        {
    766804        res_sproffs_usa,
    767805        res_sproffs_eur,
    768806        res_sproffs_swe,
    769807        res_sproffs_fra,
    770808        res_sproffs_ger,
    771809        res_sproffs_esp,
     810        }
    772811};
    773812
    774813/* sprite data sets (packed NES sprite data) */
    775 t_resource res_sprdata_usa[2] = { { 0x2CE11, 0x2BE0, NES_SPRDATA }, { 0x07F6B, 0x008A, NES_SPRDATA } };
    776 t_resource res_sprdata_eur[2] = { { 0x2CE11, 0x2BE0, NES_SPRDATA }, { 0x0BE28, 0x008A, NES_SPRDATA } };
    777 t_resource res_sprdata_swe[2] = { { 0x2C401, 0x2BE0, NES_SPRDATA }, { 0x0FE6B, 0x008A, NES_SPRDATA } };
    778 t_resource res_sprdata_fra[2] = { { 0x2CA28, 0x2BE0, NES_SPRDATA }, { 0x07E48, 0x008A, NES_SPRDATA } };
    779 t_resource res_sprdata_ger[2] = { { 0x2C8EE, 0x2BE0, NES_SPRDATA }, { 0x0FE61, 0x008A, NES_SPRDATA } };
    780 t_resource res_sprdata_esp[2] = { { 0x2C401, 0x2BE0, NES_SPRDATA }, { 0x0FE67, 0x008A, NES_SPRDATA } };
     814const struct t_resource res_sprdata_usa[2] = { { 0x2CE11, 0x2BE0 }, { 0x07F6B, 0x008A } };
     815const struct t_resource res_sprdata_eur[2] = { { 0x2CE11, 0x2BE0 }, { 0x0BE28, 0x008A } };
     816const struct t_resource res_sprdata_swe[2] = { { 0x2C401, 0x2BE0 }, { 0x0FE6B, 0x008A } };
     817const struct t_resource res_sprdata_fra[2] = { { 0x2CA28, 0x2BE0 }, { 0x07E48, 0x008A } };
     818const struct t_resource res_sprdata_ger[2] = { { 0x2C8EE, 0x2BE0 }, { 0x0FE61, 0x008A } };
     819const struct t_resource res_sprdata_esp[2] = { { 0x2C401, 0x2BE0 }, { 0x0FE67, 0x008A } };
    781820
    782 p_resource res_sprdata[NUM_ROMSETS] = {
     821const struct t_resgroup res_sprdata = {
     822        NES_SPRDATA,
     823        {
    783824        res_sprdata_usa,
    784825        res_sprdata_eur,
    785826        res_sprdata_swe,
    786827        res_sprdata_fra,
    787828        res_sprdata_ger,
    788829        res_sprdata_esp,
     830        }
    789831};
    790832
    791 t_resource res_charset_usa[1] = { { 0x3F6EE, 0x0090, NES_CHARSET } };
    792 t_resource res_charset_eur[1] = { { 0x3F724, 0x0090, NES_CHARSET } };
    793 t_resource res_charset_swe[1] = { { 0x3F739, 0x0090, NES_CHARSET } };
    794 t_resource res_charset_fra[1] = { { 0x3F739, 0x0090, NES_CHARSET } };
    795 t_resource res_charset_ger[1] = { { 0x3F739, 0x0090, NES_CHARSET } };
    796 t_resource res_charset_esp[1] = { { 0x3F739, 0x0090, NES_CHARSET } };
     833const struct t_resource res_charset_usa[1] = { { 0x3F6EE, 0x0090 } };
     834const struct t_resource res_charset_eur[1] = { { 0x3F724, 0x0090 } };
     835const struct t_resource res_charset_swe[1] = { { 0x3F739, 0x0090 } };
     836const struct t_resource res_charset_fra[1] = { { 0x3F739, 0x0090 } };
     837const struct t_resource res_charset_ger[1] = { { 0x3F739, 0x0090 } };
     838const struct t_resource res_charset_esp[1] = { { 0x3F739, 0x0090 } };
    797839
    798 p_resource res_charset[NUM_ROMSETS] = {
     840const struct t_resgroup res_charset = {
     841        NES_CHARSET,
     842        {
    799843        res_charset_usa,
    800844        res_charset_eur,
    801845        res_charset_swe,
    802846        res_charset_fra,
    803847        res_charset_ger,
    804848        res_charset_esp,
     849        }
    805850};
    806851
    807 t_resource res_preplist_usa[1] = { { 0x3FB5A, 0x000E, NES_PREPLIST } };
    808 t_resource res_preplist_eur[1] = { { 0x3FB90, 0x000E, NES_PREPLIST } };
    809 t_resource res_preplist_swe[1] = { { 0x3FBA9, 0x000E, NES_PREPLIST } };
    810 t_resource res_preplist_fra[1] = { { 0x3FBAF, 0x0010, NES_PREPLIST } };
    811 t_resource res_preplist_ger[1] = { { 0x3FBAB, 0x000F, NES_PREPLIST } };
    812 t_resource res_preplist_esp[1] = { { 0x3FBAE, 0x000F, NES_PREPLIST } };
     852const struct t_resource res_preplist_usa[1] = { { 0x3FB5A, 0x000E } };
     853const struct t_resource res_preplist_eur[1] = { { 0x3FB90, 0x000E } };
     854const struct t_resource res_preplist_swe[1] = { { 0x3FBA9, 0x000E } };
     855const struct t_resource res_preplist_fra[1] = { { 0x3FBAF, 0x0010 } };
     856const struct t_resource res_preplist_ger[1] = { { 0x3FBAB, 0x000F } };
     857const struct t_resource res_preplist_esp[1] = { { 0x3FBAE, 0x000F } };
    813858
    814 p_resource res_preplist[NUM_ROMSETS] = {
     859const struct t_resgroup res_preplist = {
     860        NES_PREPLIST,
     861        {
    815862        res_preplist_usa,
    816863        res_preplist_eur,
    817864        res_preplist_swe,
    818865        res_preplist_fra,
    819866        res_preplist_ger,
    820867        res_preplist_esp,
     868        }
    821869};
    822870
    823 void extract_resource (FILE *input, FILE *output, p_resource res) {
     871void extract_resource (FILE *input, FILE *output, const struct t_resource *res, res_type type) {
    824872        uint16 len, i, j;
    825873        uint8 val;
    826874        uint8 cnt;
     
    831879                return; /* there are 8 scripts that are zero bytes long, so we should skip them */
    832880        fseek(input, res->offset, SEEK_SET);
    833881
    834         switch (res->type) {
     882        switch (type) {
    835883        case NES_GLOBDATA:
    836884                len = res->length;
    837885                for (i = 0; i < len; i++)
     
    860908                len = readUint16LE(input);
    861909                if (len != res->length)
    862910                        error("extract_resource - length mismatch while extracting room/script resource (was %04X, should be %04X)", len, res->length);
    863                 fseek(input,-2,SEEK_CUR);
     911                fseek(input, -2, SEEK_CUR);
    864912                for (i = 0; i < len; i++)
    865                         writeByte(output,readByte(input));
     913                        writeByte(output, readByte(input));
    866914                break;
    867915        case NES_SOUND:
    868916                len = res->length + 2;
    869917                val = readByte(input);
    870918                cnt = readByte(input);
    871919                if ((val == 2) && (cnt == 100)) {
    872                         writeUint16LE(output,len);
    873                         writeByte(output,val);
    874                         writeByte(output,cnt);
     920                        writeUint16LE(output, len);
     921                        writeByte(output, val);
     922                        writeByte(output, cnt);
    875923                        cnt = readByte(input);
    876                         writeByte(output,cnt);
     924                        writeByte(output, cnt);
    877925                        for (i = 0; i < cnt; i++)
    878926                                writeByte(output, readByte(input));
    879927                        for (i = 0; i < cnt; i++)
     
    922970                break;
    923971        case NES_PREPLIST:
    924972                len = res->length;
    925                 writeUint16LE(output,0x002A);
     973                writeUint16LE(output, 0x002A);
    926974                writeByte(output, ' ');
    927975                for (i = 1; i < 8; i++)
    928976                        writeByte(output, 0);
    929977                for (j = 0; j < 4; j++) {
    930                         writeByte(output,' ');
     978                        writeByte(output, ' ');
    931979                        for (i = 1; (val = readByte(input)); i++)
    932980                                writeByte(output, val);
    933981                        for (; i < 8; i++)
     
    935983                }
    936984                break;
    937985        default:
    938                 error("extract_resource - unknown resource type %d specified", res->type);
     986                error("extract_resource - unknown resource type %d specified", type);
    939987        }
    940988}
    941989
    942990#ifdef MAKE_LFLS
    943 typedef struct _lflentry {
    944         p_resource *type;
     991struct t_lflentry {
     992        const struct t_resgroup *type;
    945993        int index;
    946 } t_lflentry, *p_lflentry;
     994};
    947995
    948996/* based on structure of Classic PC Maniac Mansion LFL files (roomgfx resources are arranged in order, one per file, after the room blocks) */
    949 t_lflentry lfl_01[] = { {res_rooms, 1}, {res_roomgfx, 1}, {res_scripts, 57}, {res_scripts, 61}, {res_scripts, 76}, {res_scripts, 105}, {res_scripts, 111}, {res_sounds, 5}, {res_scripts, 132}, {res_scripts, 148}, {res_scripts, 155}, {res_scripts, 156}, {res_sounds, 39}, {NULL, 0} };
    950 t_lflentry lfl_02[] = { {res_rooms, 2}, {res_roomgfx, 2}, {NULL, 0} };
    951 t_lflentry lfl_03[] = { {res_rooms, 3}, {res_roomgfx, 3}, {res_scripts, 21}, {res_sounds, 26}, {NULL, 0} };
    952 t_lflentry lfl_04[] = { {res_rooms, 4}, {res_roomgfx, 4}, {res_scripts, 46}, {res_scripts, 56}, {res_scripts, 137}, {res_scripts, 146}, {res_sounds, 12}, {res_sounds, 11}, {res_sounds, 13}, {res_sounds, 42}, {NULL, 0} };
    953 t_lflentry lfl_05[] = { {res_rooms, 5}, {res_roomgfx, 5}, {res_scripts, 30}, {res_scripts, 31}, {res_scripts, 32}, {res_scripts, 33}, {res_scripts, 34}, {res_scripts, 35}, {res_sounds, 22}, {res_sounds, 23}, {res_sounds, 24}, {res_sounds, 21}, {res_sounds, 46}, {NULL, 0} };
    954 t_lflentry lfl_06[] = { {res_rooms, 6}, {res_roomgfx, 6}, {NULL, 0} };
    955 t_lflentry lfl_07[] = { {res_rooms, 7}, {res_roomgfx, 7}, {res_scripts, 17}, {res_scripts, 58}, {res_scripts, 59}, {res_scripts, 60}, {res_scripts, 74}, {res_scripts, 81}, {res_scripts, 82}, {res_scripts, 150}, {res_sounds, 14}, {res_sounds, 15}, {res_sounds, 16}, {res_sounds, 17}, {NULL, 0} };
    956 t_lflentry lfl_08[] = { {res_rooms, 8}, {res_roomgfx, 8}, {res_scripts, 7}, {res_scripts, 12}, {res_scripts, 13}, {res_scripts, 47}, {res_scripts, 48}, {res_scripts, 49}, {res_scripts, 154}, {res_sounds, 32}, {res_sounds, 33}, {res_sounds, 36}, {NULL, 0} };
    957 t_lflentry lfl_09[] = { {res_rooms, 9}, {res_roomgfx, 9}, {res_scripts, 10}, {res_scripts, 11}, {res_scripts, 45}, {res_scripts, 55}, {res_scripts, 84}, {res_scripts, 85}, {res_scripts, 86}, {NULL, 0} };
    958 t_lflentry lfl_10[] = { {res_rooms, 10}, {res_roomgfx, 10}, {res_scripts, 24}, {res_scripts, 149}, {res_sounds, 28}, {NULL, 0} };
    959 t_lflentry lfl_11[] = { {res_rooms, 11}, {res_roomgfx, 11}, {res_scripts, 166}, {res_scripts, 167}, {res_scripts, 168}, {NULL, 0} };
    960 t_lflentry lfl_12[] = { {res_rooms, 12}, {res_roomgfx, 12}, {res_scripts, 51}, {res_scripts, 103}, {res_scripts, 104}, {res_scripts, 161}, {res_sounds, 63}, {res_costumes, 14}, {NULL, 0} };
    961 t_lflentry lfl_13[] = { {res_rooms, 13}, {res_roomgfx, 13}, {NULL, 0} };
    962 t_lflentry lfl_14[] = { {res_rooms, 14}, {res_roomgfx, 14}, {NULL, 0} };
    963 t_lflentry lfl_15[] = { {res_rooms, 15}, {res_roomgfx, 15}, {res_sounds, 27}, {NULL, 0} };
    964 t_lflentry lfl_16[] = { {res_rooms, 16}, {res_roomgfx, 16}, {res_scripts, 14}, {res_scripts, 121}, {res_scripts, 122}, {res_sounds, 40}, {res_sounds, 64}, {res_sounds, 68}, {NULL, 0} };
    965 t_lflentry lfl_17[] = { {res_rooms, 17}, {res_roomgfx, 17}, {res_scripts, 20}, {res_scripts, 100}, {res_sounds, 25}, {res_sounds, 44}, {res_sounds, 2}, {res_sounds, 50}, {res_sounds, 52}, {NULL, 0} };
    966 t_lflentry lfl_18[] = { {res_rooms, 18}, {res_roomgfx, 18}, {res_scripts, 25}, {res_scripts, 26}, {res_scripts, 27}, {res_scripts, 28}, {res_scripts, 64}, {res_scripts, 65}, {res_scripts, 66}, {res_scripts, 67}, {res_scripts, 68}, {res_scripts, 69}, {res_scripts, 70}, {res_scripts, 71}, {res_scripts, 73}, {res_scripts, 101}, {res_sounds, 35}, {NULL, 0} };
    967 t_lflentry lfl_19[] = { {res_rooms, 19}, {res_roomgfx, 19}, {res_scripts, 36}, {res_scripts, 37}, {res_scripts, 38}, {res_scripts, 39}, {res_scripts, 40}, {res_scripts, 152}, {res_scripts, 153}, {res_costumes, 10}, {NULL, 0} };
    968 t_lflentry lfl_20[] = { {res_rooms, 20}, {res_roomgfx, 20}, {res_scripts, 107}, {res_scripts, 108}, {res_scripts, 109}, {res_scripts, 110}, {res_scripts, 159}, {NULL, 0} };
    969 t_lflentry lfl_21[] = { {res_rooms, 21}, {res_roomgfx, 21}, {res_scripts, 41}, {res_scripts, 42}, {res_scripts, 43}, {res_scripts, 53}, {res_scripts, 136}, {res_sounds, 29}, {res_sounds, 20}, {res_sounds, 37}, {NULL, 0} };
    970 t_lflentry lfl_22[] = { {res_rooms, 22}, {res_roomgfx, 22}, {res_scripts, 15}, {NULL, 0} };
    971 t_lflentry lfl_23[] = { {res_rooms, 23}, {res_roomgfx, 23}, {res_scripts, 77}, {res_scripts, 79}, {res_scripts, 80}, {res_scripts, 83}, {res_sounds, 41}, {NULL, 0} };
    972 t_lflentry lfl_24[] = { {res_rooms, 24}, {res_roomgfx, 24}, {res_scripts, 18}, {res_scripts, 19}, {res_scripts, 78}, {res_sounds, 7}, {res_sounds, 3}, {res_sounds, 18}, {res_sounds, 34}, {res_costumes, 12}, {NULL, 0} };
    973 t_lflentry lfl_25[] = { {res_rooms, 25}, {res_roomgfx, 25}, {res_scripts, 29}, {res_sounds, 30}, {res_sounds, 31}, {NULL, 0} };
    974 t_lflentry lfl_26[] = { {res_rooms, 26}, {res_roomgfx, 26}, {res_scripts, 87}, {res_scripts, 88}, {res_scripts, 89}, {res_scripts, 90}, {res_scripts, 91}, {res_scripts, 92}, {res_scripts, 93}, {res_scripts, 94}, {res_scripts, 95}, {res_scripts, 96}, {res_scripts, 97}, {res_scripts, 98}, {res_scripts, 116}, {res_scripts, 151}, {res_scripts, 174}, {res_costumes, 11}, {NULL, 0} };
    975 t_lflentry lfl_27[] = { {res_rooms, 27}, {res_roomgfx, 27}, {res_scripts, 16}, {res_scripts, 52}, {res_scripts, 54}, {res_scripts, 113}, {res_sounds, 45}, {res_costumes, 19}, {NULL, 0} };
    976 t_lflentry lfl_28[] = { {res_rooms, 28}, {res_roomgfx, 28}, {res_scripts, 22}, {res_scripts, 23}, {NULL, 0} };
    977 t_lflentry lfl_29[] = { {res_rooms, 29}, {res_roomgfx, 29}, {res_scripts, 75}, {res_sounds, 43}, {NULL, 0} };
    978 t_lflentry lfl_30[] = { {res_rooms, 30}, {res_roomgfx, 30}, {res_scripts, 63}, {res_sounds, 0}, {res_scripts, 123}, {res_scripts, 125}, {res_scripts, 126}, {res_scripts, 127}, {res_scripts, 129}, {res_sounds, 55}, {res_sounds, 59}, {res_sounds, 60}, {res_costumes, 8}, {NULL, 0} };
    979 t_lflentry lfl_31[] = { {res_rooms, 31}, {res_roomgfx, 31}, {res_scripts, 99}, {res_scripts, 115}, {res_scripts, 117}, {res_scripts, 119}, {res_scripts, 147}, {res_scripts, 157}, {res_scripts, 158}, {res_scripts, 160}, {res_costumes, 13}, {res_costumes, 9}, {res_costumes, 23}, {res_costumes, 24}, {NULL, 0} };
    980 t_lflentry lfl_32[] = { {res_rooms, 32}, {res_roomgfx, 32}, {res_costumes, 15}, {NULL, 0} };
    981 t_lflentry lfl_33[] = { {res_rooms, 33}, {res_roomgfx, 33}, {res_scripts, 120}, {res_scripts, 135}, {res_sounds, 56}, {res_sounds, 57}, {res_sounds, 58}, {res_sounds, 1}, {res_costumes, 22}, {NULL, 0} };
    982 t_lflentry lfl_34[] = { {res_rooms, 34}, {res_roomgfx, 34}, {NULL, 0} };
    983 t_lflentry lfl_35[] = { {res_rooms, 35}, {res_roomgfx, 35}, {NULL, 0} };
    984 t_lflentry lfl_36[] = { {res_rooms, 36}, {res_roomgfx, 36}, {res_sounds, 10}, {res_sounds, 4}, {NULL, 0} };
    985 t_lflentry lfl_37[] = { {res_rooms, 37}, {res_roomgfx, 37}, {NULL, 0} };
    986 t_lflentry lfl_38[] = { {res_rooms, 38}, {res_roomgfx, 38}, {res_scripts, 138}, {res_scripts, 139}, {res_scripts, 140}, {res_scripts, 141}, {res_scripts, 142}, {res_scripts, 143}, {res_scripts, 144}, {res_scripts, 145}, {NULL, 0} };
    987 t_lflentry lfl_39[] = { {res_rooms, 39}, {res_roomgfx, 39}, {NULL, 0} };
    988 t_lflentry lfl_40[] = { {res_rooms, 40}, {res_roomgfx, 0}, {res_scripts, 112}, {res_costumes, 17}, {NULL, 0} };
    989 t_lflentry lfl_41[] = { {res_rooms, 41}, {res_scripts, 106}, {res_sounds, 47}, {res_sounds, 48}, {res_sounds, 53}, {res_sounds, 49}, {res_sounds, 51}, {NULL, 0} };
    990 t_lflentry lfl_42[] = { {res_rooms, 42}, {res_scripts, 124}, {res_costumes, 18}, {NULL, 0} };
    991 t_lflentry lfl_43[] = { {res_rooms, 43}, {res_scripts, 44}, {res_sounds, 19}, {NULL, 0} };
    992 t_lflentry lfl_44[] = { {res_rooms, 44}, {res_scripts, 102}, {res_sounds, 6}, {res_sounds, 38}, {res_sounds, 8}, {res_sounds, 9}, {res_costumes, 1}, {res_costumes, 2}, {res_costumes, 5}, {res_costumes, 6}, {res_costumes, 3}, {res_costumes, 4}, {res_costumes, 7}, {NULL, 0} };
    993 t_lflentry lfl_45[] = { {res_rooms, 45}, {res_scripts, 1}, {res_scripts, 2}, {res_scripts, 3}, {res_scripts, 4}, {res_scripts, 5}, {res_scripts, 9}, {res_scripts, 114}, {res_scripts, 131}, {res_scripts, 164}, {res_scripts, 165}, {res_scripts, 169}, {res_scripts, 170}, {res_scripts, 171}, {res_scripts, 172}, {res_scripts, 173}, {res_scripts, 175}, {res_sounds, 54}, {NULL, 0} };
    994 t_lflentry lfl_46[] = { {res_rooms, 46}, {res_scripts, 130}, {res_sounds, 65}, {res_costumes, 0}, {res_costumes, 21}, {NULL, 0} };
    995 t_lflentry lfl_47[] = { {res_rooms, 47}, {res_scripts, 62}, {res_sounds, 69}, {NULL, 0} };
    996 t_lflentry lfl_48[] = { {res_rooms, 48}, {NULL, 0} };
    997 t_lflentry lfl_49[] = { {res_rooms, 49}, {NULL, 0} };
    998 t_lflentry lfl_50[] = { {res_rooms, 50}, {res_scripts, 133}, {res_scripts, 163}, {NULL, 0} };
    999 t_lflentry lfl_51[] = { {res_rooms, 51}, {res_scripts, 118}, {res_scripts, 128}, {res_sounds, 61}, {res_sounds, 62}, {res_sounds, 67}, {res_sounds, 66}, {res_costumes, 16}, {res_costumes, 20}, {NULL, 0} };
    1000 t_lflentry lfl_52[] = { {res_rooms, 52}, {NULL, 0} };
     997const struct t_lflentry lfl_01[] = { {&res_rooms, 1}, {&res_roomgfx, 1}, {&res_scripts, 57}, {&res_scripts, 61}, {&res_scripts, 76}, {&res_scripts, 105}, {&res_scripts, 111}, {&res_sounds, 5}, {&res_scripts, 132}, {&res_scripts, 148}, {&res_scripts, 155}, {&res_scripts, 156}, {&res_sounds, 39}, {NULL, 0} };
     998const struct t_lflentry lfl_02[] = { {&res_rooms, 2}, {&res_roomgfx, 2}, {NULL, 0} };
     999const struct t_lflentry lfl_03[] = { {&res_rooms, 3}, {&res_roomgfx, 3}, {&res_scripts, 21}, {&res_sounds, 26}, {NULL, 0} };
     1000const struct t_lflentry lfl_04[] = { {&res_rooms, 4}, {&res_roomgfx, 4}, {&res_scripts, 46}, {&res_scripts, 56}, {&res_scripts, 137}, {&res_scripts, 146}, {&res_sounds, 12}, {&res_sounds, 11}, {&res_sounds, 13}, {&res_sounds, 42}, {NULL, 0} };
     1001const struct t_lflentry lfl_05[] = { {&res_rooms, 5}, {&res_roomgfx, 5}, {&res_scripts, 30}, {&res_scripts, 31}, {&res_scripts, 32}, {&res_scripts, 33}, {&res_scripts, 34}, {&res_scripts, 35}, {&res_sounds, 22}, {&res_sounds, 23}, {&res_sounds, 24}, {&res_sounds, 21}, {&res_sounds, 46}, {NULL, 0} };
     1002const struct t_lflentry lfl_06[] = { {&res_rooms, 6}, {&res_roomgfx, 6}, {NULL, 0} };
     1003const struct t_lflentry lfl_07[] = { {&res_rooms, 7}, {&res_roomgfx, 7}, {&res_scripts, 17}, {&res_scripts, 58}, {&res_scripts, 59}, {&res_scripts, 60}, {&res_scripts, 74}, {&res_scripts, 81}, {&res_scripts, 82}, {&res_scripts, 150}, {&res_sounds, 14}, {&res_sounds, 15}, {&res_sounds, 16}, {&res_sounds, 17}, {NULL, 0} };
     1004const struct t_lflentry lfl_08[] = { {&res_rooms, 8}, {&res_roomgfx, 8}, {&res_scripts, 7}, {&res_scripts, 12}, {&res_scripts, 13}, {&res_scripts, 47}, {&res_scripts, 48}, {&res_scripts, 49}, {&res_scripts, 154}, {&res_sounds, 32}, {&res_sounds, 33}, {&res_sounds, 36}, {NULL, 0} };
     1005const struct t_lflentry lfl_09[] = { {&res_rooms, 9}, {&res_roomgfx, 9}, {&res_scripts, 10}, {&res_scripts, 11}, {&res_scripts, 45}, {&res_scripts, 55}, {&res_scripts, 84}, {&res_scripts, 85}, {&res_scripts, 86}, {NULL, 0} };
     1006const struct t_lflentry lfl_10[] = { {&res_rooms, 10}, {&res_roomgfx, 10}, {&res_scripts, 24}, {&res_scripts, 149}, {&res_sounds, 28}, {NULL, 0} };
     1007const struct t_lflentry lfl_11[] = { {&res_rooms, 11}, {&res_roomgfx, 11}, {&res_scripts, 166}, {&res_scripts, 167}, {&res_scripts, 168}, {NULL, 0} };
     1008const struct t_lflentry lfl_12[] = { {&res_rooms, 12}, {&res_roomgfx, 12}, {&res_scripts, 51}, {&res_scripts, 103}, {&res_scripts, 104}, {&res_scripts, 161}, {&res_sounds, 63}, {&res_costumes, 14}, {NULL, 0} };
     1009const struct t_lflentry lfl_13[] = { {&res_rooms, 13}, {&res_roomgfx, 13}, {NULL, 0} };
     1010const struct t_lflentry lfl_14[] = { {&res_rooms, 14}, {&res_roomgfx, 14}, {NULL, 0} };
     1011const struct t_lflentry lfl_15[] = { {&res_rooms, 15}, {&res_roomgfx, 15}, {&res_sounds, 27}, {NULL, 0} };
     1012const struct t_lflentry lfl_16[] = { {&res_rooms, 16}, {&res_roomgfx, 16}, {&res_scripts, 14}, {&res_scripts, 121}, {&res_scripts, 122}, {&res_sounds, 40}, {&res_sounds, 64}, {&res_sounds, 68}, {NULL, 0} };
     1013const struct t_lflentry lfl_17[] = { {&res_rooms, 17}, {&res_roomgfx, 17}, {&res_scripts, 20}, {&res_scripts, 100}, {&res_sounds, 25}, {&res_sounds, 44}, {&res_sounds, 2}, {&res_sounds, 50}, {&res_sounds, 52}, {NULL, 0} };
     1014const struct t_lflentry lfl_18[] = { {&res_rooms, 18}, {&res_roomgfx, 18}, {&res_scripts, 25}, {&res_scripts, 26}, {&res_scripts, 27}, {&res_scripts, 28}, {&res_scripts, 64}, {&res_scripts, 65}, {&res_scripts, 66}, {&res_scripts, 67}, {&res_scripts, 68}, {&res_scripts, 69}, {&res_scripts, 70}, {&res_scripts, 71}, {&res_scripts, 73}, {&res_scripts, 101}, {&res_sounds, 35}, {NULL, 0} };
     1015const struct t_lflentry lfl_19[] = { {&res_rooms, 19}, {&res_roomgfx, 19}, {&res_scripts, 36}, {&res_scripts, 37}, {&res_scripts, 38}, {&res_scripts, 39}, {&res_scripts, 40}, {&res_scripts, 152}, {&res_scripts, 153}, {&res_costumes, 10}, {NULL, 0} };
     1016const struct t_lflentry lfl_20[] = { {&res_rooms, 20}, {&res_roomgfx, 20}, {&res_scripts, 107}, {&res_scripts, 108}, {&res_scripts, 109}, {&res_scripts, 110}, {&res_scripts, 159}, {NULL, 0} };
     1017const struct t_lflentry lfl_21[] = { {&res_rooms, 21}, {&res_roomgfx, 21}, {&res_scripts, 41}, {&res_scripts, 42}, {&res_scripts, 43}, {&res_scripts, 53}, {&res_scripts, 136}, {&res_sounds, 29}, {&res_sounds, 20}, {&res_sounds, 37}, {NULL, 0} };
     1018const struct t_lflentry lfl_22[] = { {&res_rooms, 22}, {&res_roomgfx, 22}, {&res_scripts, 15}, {NULL, 0} };
     1019const struct t_lflentry lfl_23[] = { {&res_rooms, 23}, {&res_roomgfx, 23}, {&res_scripts, 77}, {&res_scripts, 79}, {&res_scripts, 80}, {&res_scripts, 83}, {&res_sounds, 41}, {NULL, 0} };
     1020const struct t_lflentry lfl_24[] = { {&res_rooms, 24}, {&res_roomgfx, 24}, {&res_scripts, 18}, {&res_scripts, 19}, {&res_scripts, 78}, {&res_sounds, 7}, {&res_sounds, 3}, {&res_sounds, 18}, {&res_sounds, 34}, {&res_costumes, 12}, {NULL, 0} };
     1021const struct t_lflentry lfl_25[] = { {&res_rooms, 25}, {&res_roomgfx, 25}, {&res_scripts, 29}, {&res_sounds, 30}, {&res_sounds, 31}, {NULL, 0} };
     1022const struct t_lflentry lfl_26[] = { {&res_rooms, 26}, {&res_roomgfx, 26}, {&res_scripts, 87}, {&res_scripts, 88}, {&res_scripts, 89}, {&res_scripts, 90}, {&res_scripts, 91}, {&res_scripts, 92}, {&res_scripts, 93}, {&res_scripts, 94}, {&res_scripts, 95}, {&res_scripts, 96}, {&res_scripts, 97}, {&res_scripts, 98}, {&res_scripts, 116}, {&res_scripts, 151}, {&res_scripts, 174}, {&res_costumes, 11}, {NULL, 0} };
     1023const struct t_lflentry lfl_27[] = { {&res_rooms, 27}, {&res_roomgfx, 27}, {&res_scripts, 16}, {&res_scripts, 52}, {&res_scripts, 54}, {&res_scripts, 113}, {&res_sounds, 45}, {&res_costumes, 19}, {NULL, 0} };
     1024const struct t_lflentry lfl_28[] = { {&res_rooms, 28}, {&res_roomgfx, 28}, {&res_scripts, 22}, {&res_scripts, 23}, {NULL, 0} };
     1025const struct t_lflentry lfl_29[] = { {&res_rooms, 29}, {&res_roomgfx, 29}, {&res_scripts, 75}, {&res_sounds, 43}, {NULL, 0} };
     1026const struct t_lflentry lfl_30[] = { {&res_rooms, 30}, {&res_roomgfx, 30}, {&res_scripts, 63}, {&res_sounds, 0}, {&res_scripts, 123}, {&res_scripts, 125}, {&res_scripts, 126}, {&res_scripts, 127}, {&res_scripts, 129}, {&res_sounds, 55}, {&res_sounds, 59}, {&res_sounds, 60}, {&res_costumes, 8}, {NULL, 0} };
     1027const struct t_lflentry lfl_31[] = { {&res_rooms, 31}, {&res_roomgfx, 31}, {&res_scripts, 99}, {&res_scripts, 115}, {&res_scripts, 117}, {&res_scripts, 119}, {&res_scripts, 147}, {&res_scripts, 157}, {&res_scripts, 158}, {&res_scripts, 160}, {&res_costumes, 13}, {&res_costumes, 9}, {&res_costumes, 23}, {&res_costumes, 24}, {NULL, 0} };
     1028const struct t_lflentry lfl_32[] = { {&res_rooms, 32}, {&res_roomgfx, 32}, {&res_costumes, 15}, {NULL, 0} };
     1029const struct t_lflentry lfl_33[] = { {&res_rooms, 33}, {&res_roomgfx, 33}, {&res_scripts, 120}, {&res_scripts, 135}, {&res_sounds, 56}, {&res_sounds, 57}, {&res_sounds, 58}, {&res_sounds, 1}, {&res_costumes, 22}, {NULL, 0} };
     1030const struct t_lflentry lfl_34[] = { {&res_rooms, 34}, {&res_roomgfx, 34}, {NULL, 0} };
     1031const struct t_lflentry lfl_35[] = { {&res_rooms, 35}, {&res_roomgfx, 35}, {NULL, 0} };
     1032const struct t_lflentry lfl_36[] = { {&res_rooms, 36}, {&res_roomgfx, 36}, {&res_sounds, 10}, {&res_sounds, 4}, {NULL, 0} };
     1033const struct t_lflentry lfl_37[] = { {&res_rooms, 37}, {&res_roomgfx, 37}, {NULL, 0} };
     1034const struct t_lflentry lfl_38[] = { {&res_rooms, 38}, {&res_roomgfx, 38}, {&res_scripts, 138}, {&res_scripts, 139}, {&res_scripts, 140}, {&res_scripts, 141}, {&res_scripts, 142}, {&res_scripts, 143}, {&res_scripts, 144}, {&res_scripts, 145}, {NULL, 0} };
     1035const struct t_lflentry lfl_39[] = { {&res_rooms, 39}, {&res_roomgfx, 39}, {NULL, 0} };
     1036const struct t_lflentry lfl_40[] = { {&res_rooms, 40}, {&res_roomgfx, 0}, {&res_scripts, 112}, {&res_costumes, 17}, {NULL, 0} };
     1037const struct t_lflentry lfl_41[] = { {&res_rooms, 41}, {&res_scripts, 106}, {&res_sounds, 47}, {&res_sounds, 48}, {&res_sounds, 53}, {&res_sounds, 49}, {&res_sounds, 51}, {NULL, 0} };
     1038const struct t_lflentry lfl_42[] = { {&res_rooms, 42}, {&res_scripts, 124}, {&res_costumes, 18}, {NULL, 0} };
     1039const struct t_lflentry lfl_43[] = { {&res_rooms, 43}, {&res_scripts, 44}, {&res_sounds, 19}, {NULL, 0} };
     1040const struct t_lflentry lfl_44[] = { {&res_rooms, 44}, {&res_scripts, 102}, {&res_sounds, 6}, {&res_sounds, 38}, {&res_sounds, 8}, {&res_sounds, 9}, {&res_costumes, 1}, {&res_costumes, 2}, {&res_costumes, 5}, {&res_costumes, 6}, {&res_costumes, 3}, {&res_costumes, 4}, {&res_costumes, 7}, {NULL, 0} };
     1041const struct t_lflentry lfl_45[] = { {&res_rooms, 45}, {&res_scripts, 1}, {&res_scripts, 2}, {&res_scripts, 3}, {&res_scripts, 4}, {&res_scripts, 5}, {&res_scripts, 9}, {&res_scripts, 114}, {&res_scripts, 131}, {&res_scripts, 164}, {&res_scripts, 165}, {&res_scripts, 169}, {&res_scripts, 170}, {&res_scripts, 171}, {&res_scripts, 172}, {&res_scripts, 173}, {&res_scripts, 175}, {&res_sounds, 54}, {NULL, 0} };
     1042const struct t_lflentry lfl_46[] = { {&res_rooms, 46}, {&res_scripts, 130}, {&res_sounds, 65}, {&res_costumes, 0}, {&res_costumes, 21}, {NULL, 0} };
     1043const struct t_lflentry lfl_47[] = { {&res_rooms, 47}, {&res_scripts, 62}, {&res_sounds, 69}, {NULL, 0} };
     1044const struct t_lflentry lfl_48[] = { {&res_rooms, 48}, {NULL, 0} };
     1045const struct t_lflentry lfl_49[] = { {&res_rooms, 49}, {NULL, 0} };
     1046const struct t_lflentry lfl_50[] = { {&res_rooms, 50}, {&res_scripts, 133}, {&res_scripts, 163}, {NULL, 0} };
     1047const struct t_lflentry lfl_51[] = { {&res_rooms, 51}, {&res_scripts, 118}, {&res_scripts, 128}, {&res_sounds, 61}, {&res_sounds, 62}, {&res_sounds, 67}, {&res_sounds, 66}, {&res_costumes, 16}, {&res_costumes, 20}, {NULL, 0} };
     1048const struct t_lflentry lfl_52[] = { {&res_rooms, 52}, {NULL, 0} };
    10011049/* remaining 'standard' resources (not used by any of the original LFL files) */
    1002 t_lflentry lfl_53[] = { {res_rooms, 53}, {res_scripts, 177}, {res_scripts, 178}, {res_sounds, 70}, {res_sounds, 71}, {res_sounds, 72}, {res_sounds, 73}, {res_sounds, 74}, {res_sounds, 75}, {res_sounds, 76}, {res_sounds, 77}, {res_sounds, 78}, {res_sounds, 79}, {res_sounds, 80}, {res_sounds, 81}, {NULL, 0} };
     1050const struct t_lflentry lfl_53[] = { {&res_rooms, 53}, {&res_scripts, 177}, {&res_scripts, 178}, {&res_sounds, 70}, {&res_sounds, 71}, {&res_sounds, 72}, {&res_sounds, 73}, {&res_sounds, 74}, {&res_sounds, 75}, {&res_sounds, 76}, {&res_sounds, 77}, {&res_sounds, 78}, {&res_sounds, 79}, {&res_sounds, 80}, {&res_sounds, 81}, {NULL, 0} };
    10031051/* all 'non-standard' resources (the costume-related stuff) */
    1004 t_lflentry lfl_54[] = { {res_rooms, 54}, {res_sprdesc, 0}, {res_sprdesc, 1}, {res_sprlens, 0}, {res_sprlens, 1}, {res_sproffs, 0}, {res_sproffs, 1}, {res_sprdata, 0}, {res_sprdata, 1}, {res_costumegfx, 0}, {res_costumegfx, 1}, {res_sprpals, 0}, {res_sprpals, 1}, {res_charset, 0}, {res_preplist, 0}, {NULL, 0} };
     1052const struct t_lflentry lfl_54[] = { {&res_rooms, 54}, {&res_sprdesc, 0}, {&res_sprdesc, 1}, {&res_sprlens, 0}, {&res_sprlens, 1}, {&res_sproffs, 0}, {&res_sproffs, 1}, {&res_sprdata, 0}, {&res_sprdata, 1}, {&res_costumegfx, 0}, {&res_costumegfx, 1}, {&res_sprpals, 0}, {&res_sprpals, 1}, {&res_charset, 0}, {&res_preplist, 0}, {NULL, 0} };
    10051053
    1006 typedef struct _lfl {
     1054struct t_lfl {
    10071055        int num;
    1008         p_lflentry entries;
    1009 } t_lfl, *p_lfl;
     1056        const struct t_lflentry *entries;
     1057};
    10101058
    1011 t_lfl lfls[] = {
     1059const struct t_lfl lfls[] = {
    10121060        {  1, lfl_01 },
    10131061        {  2, lfl_02 },
    10141062        {  3, lfl_03 },
     
    10681116
    10691117#include "utils/pack-start.h"   /* START STRUCT PACKING */
    10701118
    1071 struct  _lfl_index {
     1119struct  t_lflindex {
    10721120        uint8   room_lfl[55];
    10731121        uint16  room_addr[55];
    10741122        uint8   costume_lfl[80];
     
    10821130#include "utils/pack-end.h"     /* END STRUCT PACKING */
    10831131
    10841132#else   /* !MAKE_LFLS */
    1085 void    dump_resource (FILE *input, char *fn_template, int num, p_resource res) {
     1133void    dump_resource (FILE *input, const char *fn_template, int num, const struct t_resource *res, res_type type) {
    10861134        char fname[256];
    10871135        FILE *output;
    1088         sprintf(fname, fn_template,num);
     1136        sprintf(fname, fn_template, num);
    10891137        output = fopen(fname, "wb");
    10901138        if (!output)
    10911139                error("unable to create %s", fname);
    10921140        notice("Extracting resource to %s", fname);
    1093         extract_resource(input, output,res);
     1141        extract_resource(input, output, res, type);
    10941142        fclose(output);
    10951143}
    10961144#endif /* MAKE_LFLS */
     
    11261174
    11271175        if (argc < 2) {
    11281176                printf("\nUsage: %s <infile.PRG>\n", argv[0]);
    1129                 printf("\tSupported versions: Europe, France, Germany, Sweden and USA\n");
     1177                printf("\tSupported versions: USA, Europe, Sweden, France, Germany, Spain\n");
    11301178                printf("\tJapanese version is NOT supported!\n");
    11311179                exit(2);
    11321180        }
     
    11801228        }
    11811229
    11821230#ifdef MAKE_LFLS
    1183         memset(&lfl_index, 0, sizeof(lfl_index));
     1231        memset(&lfl_index, 0, sizeof(struct t_lflindex));
    11841232
    11851233        for (i = 0; lfls[i].num != -1; i++) {
    1186                 p_lfl lfl = &lfls[i];
     1234                const struct t_lfl *lfl = &lfls[i];
    11871235                sprintf(fname, "%s/%02i.LFL", inputPath, lfl->num);
    11881236                output = fopen(fname, "wb");
    11891237                if (!output)
    11901238                        error("Unable to create %s", fname);
    11911239                notice("Creating %s...", fname);
    11921240                for (j = 0; lfl->entries[j].type != NULL; j++) {
    1193                         p_lflentry entry = &lfl->entries[j];
    1194                         switch (entry->type[ROMset][entry->index].type) {
     1241                        const struct t_lflentry *entry = &lfl->entries[j];
     1242                        switch (entry->type->type) {
    11951243                        case NES_ROOM:
    11961244                                lfl_index.room_lfl[entry->index] = lfl->num;
    11971245                                lfl_index.room_addr[entry->index] = (uint16)ftell(output);
     
    12481296                                error("Unindexed entry found");
    12491297                                break;
    12501298                        }
    1251                         extract_resource(input, output, &entry->type[ROMset][entry->index]);
     1299                        extract_resource(input, output, &entry->type->langs[ROMset][entry->index], entry->type->type);
    12521300                }
    12531301                writeUint16LE(output, 0xF5D1);
    12541302                fclose(output);
     
    12591307                error("Unable to create index file");
    12601308        notice("Creating %s...", fname);
    12611309        writeUint16LE(output, 0x4643);
    1262         extract_resource(input, output, &res_globdata[ROMset][0]);
    1263         for (i = 0; i < (int)sizeof(lfl_index); i++)
     1310        extract_resource(input, output, &res_globdata.langs[ROMset][0], res_globdata.type);
     1311        for (i = 0; i < (int)sizeof(struct t_lflindex); i++)
    12641312                writeByte(output, ((uint8 *)&lfl_index)[i]);
    12651313        fclose(output);
    12661314#else   /* !MAKE_LFLS */
    1267         dump_resource(input,"globdata.dmp", 0, &res_globdata[ROMset][0]);
     1315        dump_resource(input, "globdata.dmp", 0, &res_globdata.langs[ROMset][0], res_globdata.type);
    12681316        for (i = 0; i < 40; i++)
    1269                 dump_resource(input,"roomgfx-%d.dmp", i, &res_roomgfx[ROMset][i]);
     1317                dump_resource(input, "roomgfx-%d.dmp", i, &res_roomgfx.langs[ROMset][i], res_roomgfx.type);
    12701318        for (i = 0; i < 2; i++)
    1271                 dump_resource(input,"costumegfx-%d.dmp", i, &res_costumegfx[ROMset][i]);
     1319                dump_resource(input, "costumegfx-%d.dmp", i, &res_costumegfx.langs[ROMset][i], res_costumegfx.type);
    12721320        for (i = 0; i < 55; i++)
    1273                 dump_resource(input,"room-%d.dmp", i, &res_rooms[ROMset][i]);
     1321                dump_resource(input, "room-%d.dmp", i, &res_rooms.langs[ROMset][i], res_rooms.type);
    12741322        for (i = 0; i < 179; i++)
    1275                 dump_resource(input,"script-%d.dmp", i, &res_scripts[ROMset][i]);
     1323                dump_resource(input, "script-%d.dmp", i, &res_scripts.langs[ROMset][i], res_scripts.type);
    12761324        for (i = 0; i < 82; i++)
    1277                 dump_resource(input,"sound-%d.dmp", i, &res_sounds[ROMset][i]);
     1325                dump_resource(input, "sound-%d.dmp", i, &res_sounds.langs[ROMset][i], res_sounds.type);
    12781326        for (i = 0; i < 25; i++)
    1279                 dump_resource(input,"costume-%d.dmp", i, &res_costumes[ROMset][i]);
     1327                dump_resource(input, "costume-%d.dmp", i, &res_costumes.langs[ROMset][i], res_costumes.type);
    12801328        for (i = 0; i < 2; i++)
    1281                 dump_resource(input,"sprpals-%d.dmp", i, &res_sprpals[ROMset][i]);
     1329                dump_resource(input, "sprpals-%d.dmp", i, &res_sprpals.langs[ROMset][i], res_sprpals.type);
    12821330        for (i = 0; i < 2; i++)
    1283                 dump_resource(input,"sprdata-%d.dmp", i, &res_sprdata[ROMset][i]);
     1331                dump_resource(input, "sprdata-%d.dmp", i, &res_sprdata.langs[ROMset][i], res_sprdata.type);
    12841332        for (i = 0; i < 2; i++)
    1285                 dump_resource(input,"sprlens-%d.dmp", i, &res_sprlens[ROMset][i]);
     1333                dump_resource(input, "sprlens-%d.dmp", i, &res_sprlens.langs[ROMset][i], res_sprlens.type);
    12861334        for (i = 0; i < 2; i++)
    1287                 dump_resource(input,"sprdesc-%d.dmp", i, &res_sprdesc[ROMset][i]);
     1335                dump_resource(input, "sprdesc-%d.dmp", i, &res_sprdesc.langs[ROMset][i], res_sprdesc.type);
    12881336        for (i = 0; i < 2; i++)
    1289                 dump_resource(input,"sproffs-%d.dmp", i, &res_sproffs[ROMset][i]);
     1337                dump_resource(input, "sproffs-%d.dmp", i, &res_sproffs.langs[ROMset][i], res_sproffs.type);
    12901338#endif  /* MAKE_LFLS */
    12911339        notice("All done!");
    12921340
  • dist/msvc8/extract_mm_nes.vcproj

     
    4141                                Name="VCCLCompilerTool"
    4242                                AdditionalOptions="/wd4996"
    4343                                Optimization="0"
    44                                 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
     44                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE,SCUMMVM_USE_PRAGMA_PACK"
    4545                                MinimalRebuild="true"
    4646                                BasicRuntimeChecks="3"
    4747                                RuntimeLibrary="1"
     
    118118                                Name="VCCLCompilerTool"
    119119                                AdditionalOptions="/wd4996"
    120120                                Optimization="3"
    121                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
     121                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE,SCUMMVM_USE_PRAGMA_PACK"
    122122                                UsePrecompiledHeader="0"
    123123                                WarningLevel="3"
    124124                                DebugInformationFormat="3"
  • dist/msvc9/extract_mm_nes.vcproj

     
    4242                                Name="VCCLCompilerTool"
    4343                                AdditionalOptions="/wd4996"
    4444                                Optimization="0"
    45                                 PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
     45                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE,SCUMMVM_USE_PRAGMA_PACK"
    4646                                MinimalRebuild="true"
    4747                                BasicRuntimeChecks="3"
    4848                                RuntimeLibrary="1"
     
    119119                                Name="VCCLCompilerTool"
    120120                                AdditionalOptions="/wd4996"
    121121                                Optimization="3"
    122                                 PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
     122                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE,SCUMMVM_USE_PRAGMA_PACK"
    123123                                UsePrecompiledHeader="0"
    124124                                WarningLevel="3"
    125125                                DebugInformationFormat="3"