The primary map building instructions are:ĭraw tile ID(s) from a point in a direction wall tiles that do not have another wall tile below them) from vertical wall tiles to horizontal wall tiles. it does not appear in the map data) and processes the current map state to convert wall tiles that are the bottom of a wall (i.e. The third phase happens automatically (i.e.The second phase is much like the first phase in that it also sequentially executes a list of building instructions, but it is optional and instead of placing base tiles it divides the map up into different visibility regions.The first phase sequentially executes a list of building instructions that place the base tiles in their desired positions.The final setup step is to choose a tile ID to be used as the background the map will be initialized as a single (map width) * (map height) rectangle of this tile ID:Īfter that, the map is constructed in 3 phases: a map which is 8 tiles wide and 10 tiles high contains 80 tiles and requires 7 bits to uniquely identify each tile).
![dragon warrior rom hacking dragon warrior rom hacking](https://www.gamulator.com/img/roms/mario-golf-gbc-cover.jpg)
![dragon warrior rom hacking dragon warrior rom hacking](https://i.ytimg.com/vi/tbNTZDzT7xY/hqdefault.jpg)
the minimum number of bits required to index into a width * height array (e.g. the actual size is this value + 2)īased on the map dimensions, the size of a map co-ordinate is effectively calculated as ceil(log2(width * height)), i.e. The primary data for each map starts with 24 bits of setup data: * 0x3F90F to 0x3F94E = String used for partially redrawing the main COMMAND menu when switching between EQUIP sub-menus * 0x3F90D to 0x3F90E = Pointer to string used for partially redrawing the main COMMAND menu when switching between EQUIP sub-menus * 0x3EDCF to 0x3EDDC = "ADVENTURE LOG" text, stored backwards * 0x3EDC4 to 0x3EDC5 = Pointer to "ADVENTURE LOG" text * 0x3EDBE to 0x3EDBE = Length of "ADVENTURE LOG" text
DRAGON WARRIOR ROM HACKING CODE
* 0x1C805 to 0x1C8F1 = Code for pluralizing monster names. * 0x1BA53 to 0x1BA92 = String used for partially redrawing the main COMMAND menu when switching between EQUIP sub-menus only used in battle where there is no COMMAND menu * 0x1B9E5 to 0x1BA53 = Monster name list part 2, line 2 text. * 0x1B955 to 0x1B9E4 = Monster name list part 1, line 2 text. * 0x1B86E to 0x1B954 = Monster name list part 2, line 1 text. * 0x1B728 to 0x1B86D = Monster name list part 1, line 1 text. * 0x1B58C to 0x1B633 = Item list part 2, line 2 text. * 0x1B4C2 to 0x1B58B = Item list part 1, line 2 text. * 0x1B3CE to 0x1B4C1 = Item list part 2, line 1 text. * 0x1B2DA to 0x1B3CD = Item list part 1, line 1 text. * 0x1AD89 to 0x1ADC8 = Princess of Moonbrooke names. * 0x1AD49 to 0x1AD88 = Prince of Cannock names. * 0x19F6F to 0x19F8F = Sun/Water/Life Crest names * 0x19C36 to 0x19C37 = Pointer to Sun/Water/Life Crest names * 0x19260 to 0x19275 = Direction names (used by fortuneteller) * 0x1925E to 0x1925F = Pointer to direction names * 0x18046 to 0x18047 = Monster name list part 2, line 2 pointer. * 0x18044 to 0x18045 = Monster name list part 2, line 1 pointer. * 0x1803C to 0x1803D = Pointer to string used for partially redrawing the main COMMAND menu when switching between EQUIP sub-menus only used in battle where there is no COMMAND menu * 0x1803A to 0x1803B = Monster name list part 1, line 2 pointer.
![dragon warrior rom hacking dragon warrior rom hacking](https://i.ytimg.com/vi/t1xo9tEOt4Q/hqdefault.jpg)
![dragon warrior rom hacking dragon warrior rom hacking](https://www.romspedia.com/img/roms/dragon-warrior-3-nes-cover.jpg)
* 0x18038 to 0x18039 = Monster name list part 1, line 1 pointer. * 0x14010 to 0x17FE6 = Main script part 1 (continued at 0xB7C2). * 0x0BF1D to 0x0BF44 = Words for monster counts. * 0x0B7C2 to 0x0BE0F = Main script part 2 (continued from 0x17FE6). Each pointer points at a blob of 16 concatenated strings. * 0x0B762 to 0x0B7C1 = Main script pointers. * 0x0B44B to 0x0B686 = Dictionary for main script. * 0x086E9 to 0x0A28D = Non-overworld map data See Non-Overworld Map Data Format * 0x08028 to 0x0838F = Non-overworld map setup info * 0x1BFB9 to 0x1BFF8 = standard names, better yet, some parts.ĭragon Warrior II Overview * 0x07652 to 0x076E5 = Menu pointers. * 0x1BC5C to 0x1BC81 = character's naming. Equipments, items, monsters, magic and complements. * 0x180C4 to 0x18E12 = menus and referential bank. 2.2.4 Primary Map Building Instruction 11ĭragon Quest II * 0x02D9B to 0x? = font, 1BPP.2.2.3 Primary Map Building Instruction 10.2.2.2 Primary Map Building Instruction 01.2.2.1 Primary Map Building Instruction 00.