Author Id: 12296 Author Name: cosarara97 Post Content: Abro este tema para documentar todos los casos de información duplicada en el ROM que podamos encontrar. Empiezo con el caso de los cabezales de mapa. Un cabezal de mapa tiene la siguiente forma: map_data_ptr - ptr event_data_ptr - ptr level_script_ptr - ptr connections_ptr - ptr song_index - short map_ptr_index - short label_index - byte is_a_cave - byte weather - byte map_type - byte null - short show_label - byte battle_type - byte El primer elemento es un puntero a un segundo set de datos: w - long h - long border_ptr - ptr tilemap_ptr - ptr global_tileset_ptr - ptr local_tileset_ptr - ptr border_w - byte border_h - byte (Los últimos dos elementos solo están en FR). Hasta aquí todo bien. El problema llega cuando cambiamos ese puntero al de otro mapa, y no pasa nada. O lo dejamos a 0, y todo sigue funcionando. Y nos fijamos en ese map_ptr_index. Si buscamos el map_data_ptr de cualquier mapa, lo encontraremos, además de en el cabezal del mapa, en: 0x304f18+((map_ptr_index-1)*4) Es decir, en 0x304f18 hay una lista de todos los map_data_ptr, que se accede a través de map_ptr_index con índices a partir de 1. No estoy seguro de que no se use el map_data_ptr como tal, pero he estado haciendo pruebas y al dejarlo a 0 todo seguía funcionando. Ni AM 1.92, ni AM 1.95, ni Blue Spider tienen ni idea de esto, y usan map_data_ptr para conseguir la información en lugar del índice y la tabla.