inv_nds
Thread Id: 10962
Thread Name: Pokémon Platinum: Estructura
#0
Tsuka 15343
Se irá actualizando casi a diario con nueva información. Podéis investigar y colaborar con programas tales cómo Console Tool. Por lo pronto, me he centrado en terminar la estructura general, y un poco de la interna para que veáis cómo quedaría y así decidir entre todos nuevas y mejores formas de organizarlo; quitando algunos apartados y añadiendo otros tantos. Los datos escritos en rojo necesitan ser confirmados/investigados. No dudéis en corregir cualquier tipo de fallo que veáis.

La ayuda que vendría genial ahora mismo es con rutas del estilo de contents\fielddata\land_data\land_data. Vamos, la interpretación del hex.

Sin más preámbulos:


Datos Técnicos


Autora: Tsuka
Co-autores: ~Arc
Colaboradores: OdnetninI
Fecha de Inicio: 05/09/2011


Descargas


Unpacked ROM


Estructura


header [POKE] //
arm9 //
arm7 //
banner //

contents\application\balloon\graphic\balloon_gra - [59 archivos] // Plaza WiFi: Wobbuffet Pop [Gráficos]
contents\application\bucket\ballslow_data - [1 archivos] //
contents\application\custom_ball\data\cb_data - [295 archivos] //
contents\application\custom_ball\edit\pl_cb_data - [1 archivo] //
contents\application\wifi_earth\wifi_earth - [8 archivos] // ??? [Gráficos]
contents\application\wifi_earth\wifi_earth_place - [19 archivos] //
contents\application\wifi_lobby\map_conv\wflby_map - [26 archivos] //
contents\application\zukanlist\zkn_data\zukan_data - [58 archivos] //
contents\application\zukanlist\zkn_data\zukan_data_gira - [58 archivos] //
contents\application\zukanlist\zkn_data\zukan_enc_diamond - [4954 archivos] //
contents\application\zukanlist\zkn_data\zukan_enc_pearl - [4954 archivos] //
contents\application\zukanlist\zkn_data\zukan_enc_platinum - [4954 archivos] //

contents\arc\area_win_gra - [18 archivos] // Ventana de Nueva Área [Gráficos]
contents\arc\balance_ball_gra - [34 archivos] // Plaza WiFi: Mime Jr. Top
contents\arc\bm_anime - [98 archivos] //
contents\arc\bm_anime_list - [590 archivos] //
contents\arc\codein_gra - [23 archivos] // ??? [Parte de los Gráficos]
contents\arc\demo_tengan_gra - [85 archivos] // Columna Lanza [Parte de los Gráficos]
contents\arc\email_gra - [13 archivos] //
contents\arc\encdata_ex - [12 archivos] //
contents\arc\manene - [86 archivos] // Plaza WiFi: Mime Jr. Top
contents\arc\plgym_ghost - [5 archivos] // Sombra ghost
contents\arc\ppark - [1 archivos] //
contents\arc\ship_demo - [20 archivos] //
contents\arc\ship_demo_pl - [8 archivos] //
contents\arc\tv - [3 archivos] //

contents\battle\b_pl_stage\pl_bsdpm - [478 archivos] //
contents\battle\b_pl_tower\pl_btdpm - [951 archivos] //
contents\battle\b_pl_tower\pl_btdtr - [315 archivos] //
contents\battle\b_tower\btdpm - [951 archivos] //
contents\battle\b_tower\btdtr - [307 archivos] //
contents\battle\graphic\b_bag_gra - [4 archivos] // Menú Mochila en Batalla [Gráficos]
contents\battle\graphic\b_plist_gra - [28 archivos] // Menú Pokémon en Batalla [Gráficos]
contents\battle\graphic\batt_bg - [257 archivos] // Cajas de texto y fondos de batalla
contents\battle\graphic\batt_obj - [279 archivos] //
contents\battle\graphic\pl_b_plist_gra - [28 archivos] //
contents\battle\graphic\pl_batt_bg - [342 archivos] // Cajas de texto y fondos de batalla [Platinum]
contents\battle\graphic\pl_batt_obj - [343 archivos] //
contents\battle\graphic\vs_demo_gra - [9 archivos] //Gráficos VS previos a una batalla [Gráficos]
contents\battle\skill\be_seq - [277 archivos] //
contents\battle\skill\sub_seq - [297 archivos] //
contents\battle\skill\waza_seq - [501 archivos] //
contents\battle\tr_ai\tr_ai_seq - [1 archivo] //

contents\contest\data\contest_data - [15 archivos] // Datos de los concursos.
contents\contest\graphic\contest_bg - [41 archivos] // Fondos de los concursos
contents\contest\graphic\contest_obj - [103 archivos] // Objetos de los concursos

contents\data - [1893 archivos] //
contents\data - [1893 archivos] //
contents\data\mmodel - [2 archivos] //
contents\data\sound - [2 archivos] // Incluye varios sonidos, entre ellos están los gritos de los pokemon
contents\data\field_cutin.narc - [19 archivos] // Incluye varios sprites, también el de los personajes protagonistas, osea lo que podemos controlar, pero solo una parte de ellos.
contents\data\pl_wifi.ncgr - // Tiles de los cuadros de verde naranja rojo de la conexión wifi
contents\data\pl_wm.ncgr - // La segunda forma de la anterior
contents\data\pl_wm.nclr - // La paleta de las dos anteriores
contents\data\tradelist.narc - [13 archivos] // Fondos para intercambios, hay que descomprimir todos los archivos que van dentro menos la paleta.
contents\data\ug_anim.narc - [8 archivos] // Algunas animaciones del subsuelo.
contents\data\ug_boygirl.ncgr y .nclr - // Sprite de chica del movimiento en el subsuelo.
contents\data\ug_fossil.narc - [2 archivos] // Fondo y mapa del destapar fosiles del subsuelo.
contents\data\ug_parts.narc - [116 archivos] // Objetos encontrables en el subsuelo.
contents\data\ug_radar.narc - [7 archivos] // Otras utilidades del subsuelo.
contents\data\ug_trap.narc - [53 archivos] // Mas trampas del subsuelo.
contents\data\underg_radar.narc - [7 archivos] // Mas animaciones y utilidades del subsuelo, como el mapa completo del radar.
contents\data\utility.bin\sound\sound_data.sdat.l\sound_data.sdat - // Mas sonidos del juego.
contents\data\weather_sys.narc - [65 archivos] // Imagenes sobre el tiempo atmosférico
contents\data\wifi.ncgr - // Tiles de los cuadros de verde naranja rojo de la conexión wifi
contents\data\wm.ncgr - // La segunda forma de la anterior
contents\data\wm.nclr - // La paleta de las dos anteriores
contents\data\wifip2pmatch.narc - [47 archivos] // Más wifi

contents\debug\cb_edit\d_test - [12 archivos] // Archivos de prueba que se usaron al programar el juego

contents\demo\egg\data\egg_data - [11 archivos] // Nacimiento de un Pokémon [Gráficos]
contents\demo\egg\data\particle\egg_demo_particle - [2 archivos] //
contents\demo\intro\intro - [50 archivos] // Introducción [Gráficos]
contents\demo\intro\intro_tv - [10 archivos] // Introducción: TV [Gráficos]
contents\demo\shinka\data\particle\shinka_demo_particle - [2 archivos] //
contents\demo\syoujyou\syoujyou - [12 archivos] // Fondos desbloqueables de ??? [Gráficos]
contents\demo\title\op_demo - [116 archivos] //
contents\demo\title\titledemo - [29 archivos] //

contents\dwc\utility - [?? archivos] // Archivos del funcionamiento de la cwf

contents\fielddata\areadata\area_data - [75 archivos] //
contents\fielddata\areadata\area_build_model\area_build - [71 archivos] //
contents\fielddata\areadata\area_build_model\areabm_texset - [71 archivos] //
contents\fielddata\areadata\area_map_tex\map_tex_set - [74 archivos] //
contents\fielddata\areadata\area_move_model\move_model_list - [75 archivos] //
contents\fielddata\build_model\build_model - [590 archivos] //
contents\fielddata\build_model\build_model_matshp.dat //
contents\fielddata\encountdata\d_enc_data - [183 archivos] // Pokémon Salvajes [Diamond]
contents\fielddata\encountdata\p_enc_data - [183 archivos] // Pokémon Salvajes [Pearl]
contents\fielddata\encountdata\pl_enc_data - [183 archivos] // Pokémon Salvajes [Platinum]
contents\fielddata\eventdata\zone_event - [534 archivos] // Eventos
contents\fielddata\land_data\land_data - [666 archivos] // Mapas
contents\fielddata\mapmatrix\map_matrix - [289 archivos] //
contents\fielddata\maptable\mapname.bin // Nombres de los mapas
contents\fielddata\mm_list\move_model_list - [16 archivos] //
contents\fielddata\pokemon_trade\fld_trade - [4 archivos] //
contents\fielddata\script\scr_seq - [1124 archivos] // Scripts
contents\fielddata\tomworld\tw_arc - [11 archivos] //
contents\fielddata\tomworld\tw_arc_attr - [12 archivos] //

contents\frontier\script\fr_script - [11 archivos] //

contents\graphic\bag_gra - [39 archivos] //
contents\graphic\box - [145 archivos] //
contents\graphic\btower - [9 archivos] //
contents\graphic\bucket - [47 archivos] //
contents\graphic\config_gra - [3 archivos] //
contents\graphic\demo_trade - [28 archivos] //
contents\graphic\dendou_demo - [5 archivos] //
contents\graphic\dendou_pc - [3 archivos] //
contents\graphic\ending - [103 archivos] //
contents\graphic\ev_pokeselect - [18 archivos] //
contents\graphic\f_note_gra - [6 archivos] //
contents\graphic\field_board - [52 archivos] //
contents\graphic\field_encountereffect - [155 archivos] //
contents\graphic\fld_comact - [4 archivos] //
contents\graphic\font - [8 archivos] //
contents\graphic\fontoam - [12 archivos] //
contents\graphic\footprint_board - [30 archivos] //
contents\graphic\hidden_effect - [15 archivos] //
contents\graphic\imageclip - [236 archivos] //
contents\graphic\library_tv - [5 archivos] //
contents\graphic\lobby_news - [7 archivos] //
contents\graphic\mail_gra - [37 archivos] //
contents\graphic\menu_gra - [11 archivos] //
contents\graphic\mysign - [10 archivos] //
contents\graphic\mystery - [46 archivos] //
contents\graphic\ntag_gra - [134 archivos] //
contents\graphic\nutmixer - [48 archivos] //
contents\graphic\oekaki - [9 archivos] //
contents\graphic\opening - [21 archivos] //
contents\graphic\pl_bag_gra - [39 archivos] //
contents\graphic\pl_font - [8 archivos] //
contents\graphic\pl_plist_gra - [24 archivos] //
contents\graphic\pl_pst_gra - [137 archivos] //
contents\graphic\pl_wifinote - [19 archivos] //
contents\graphic\pl_winframe - [50 archivos] //
contents\graphic\plist_gra - [24 archivos] //
contents\graphic\pmsi - [26 archivos] //
contents\graphic\poketech - [126 archivos] //
contents\graphic\poru_gra - [12 archivos] //
contents\graphic\poruact - [32 archivos] //
contents\graphic\porudemo - [6 archivos] //
contents\graphic\pst_gra - [137 archivos] //
contents\graphic\ranking - [4 archivos] //
contents\graphic\record - [15 archivos] //
contents\graphic\shop_gra - [12 archivos] //
contents\graphic\tmap_gra - [30 archivos] //
contents\graphic\touch_subwindow - [10 archivos] //
contents\graphic\trainer_case - [66 archivos] //
contents\graphic\unionobj2d_onlyfont - [57 archivos] //
contents\graphic\unionroom - [8 archivos] //
contents\graphic\waza_oshie_gra - [13 archivos] //
contents\graphic\wifi2dchar - [315 archivos] //
contents\graphic\wifi_lobby - [204 archivos] //
contents\graphic\wifi_lobby_other - [208 archivos] //
contents\graphic\wifi_unionobj - [49 archivos] //
contents\graphic\winframe - [50 archivos] //
contents\graphic\worldtimer - [57 archivos] //
contents\graphic\worldtrade - [38 archivos] //


contents\itemtool\itemdata\item_data - [442 archivos] // Datos de los objetos.
contents\itemtool\itemdata\item_icon - [711 archivos] // Icono de los objetos
contents\itemtool\itemdata\nuts_data - [64 archivos] //
contents\itemtool\itemdata\pl_item_data - [446 archivos] //

contents\msgdata\scenario\scr_msg - [16 archivos] //
contents\msgdata\msg - [624 archivos] // Texto
contents\msgdata\pl_msg - [724 archivos] // Texto [Platinum]

contents\particledata\pl_etc\pl_etc_particle - [2 archivos] //
contents\particledata\pl_frontier\frontier_particle - [7 archivos] //
contents\particledata\pl_pokelist\pokelist_particle - [2 archivos] //
contents\particledata\particledata - [6 archivos] //

contents\pokeanime\pl_poke_anm - [143 archivos] //
contents\pokeanime\poke_anm - [134 archivos] //

contents\poketool\icongra\pl_poke_icon - [547 archivos] // Iconos de Pokémon Shiny.
contents\poketool\icongra\poke_icon - [540 archivos] // Iconos de Pokémon.
contents\poketool\personal\evo - [508 archivos] //
contents\poketool\personal\growtbl - [8 archivos] //
contents\poketool\personal\personal - [501 archivos] //
contents\poketool\personal\pl_growtbl - [8 archivos] //
contents\poketool\personal\pl_personal - [508 archivos] //
contents\poketool\personal\pms - [1 archivo] //
contents\poketool\personal\wotbl - [508 archivos] //
contents\poketool\poke_edit\pl_poke_data - [1 archivo] //
contents\poketool\pokeanm\pl_pokeanm - [1 archivo] //
contents\poketool\pokeanm\pokeanm - [1 archivo] //
contents\poketool\pokefoot\pokefoot - [497 archivos] // Huellas de los pokemon en la pokedex
contents\poketool\pokegra\dp_height - [1976 archivos] //
contents\poketool\pokegra\dp_height_o - [136 archivos] //
contents\poketool\pokegra\height - [1976 archivos] //
contents\poketool\pokegra\height_o - [156 archivos] //
contents\poketool\pokegra\otherpoke - [213 archivos] //
contents\poketool\pokegra\pl_otherpoke - [253 archivos] //
contents\poketool\pokegra\pl_pokegra - [2964 archivos] //
contents\poketool\pokegra\poke_shadow - [1 archivo] //
contents\poketool\pokegra\poke_shadow_ofx - [1 archivo] //
contents\poketool\pokegra\pokeyofs - [1 archivo] //
contents\poketool\pokegra\pokegra - [2964 archivos] //
contents\poketool\trainer\trdata - [928 archivos] // Información de los trainers
contents\poketool\trainer\trpoke - [928 archivos] // Información de los Pokémon de los trainers
contents\poketool\trgra\trbgra - [55 archivos] // Backs de los Trainers
contents\poketool\trgra\trfgra - [525 archivos] // Fronts de los entrenadores
contents\poketool\tmsg\trtbl - [1 archivo] //
contents\poketool\tmsg\trtblofs - [1 archivo] //
contents\poketool\waza\pl_waza_tbl - [471 archivos] // Información de los ataques [Platinum]
contents\poketool\waza\waza_tbl - [471 archivos] // Información de los ataques
contents\poketool\pl_pokezukan - [1 archivo] //
contents\poketool\pokezukan - [1 archivo] //
contents\poketool\shinzukan - [1 archivo] //

contents\resource\eng\batt_rec\batt_rec_gra - [234 archivos] //
contents\resource\eng\frontier_graphic\frontier_bg - [173 archivos] //
contents\resource\eng\frontier_graphic\frontier_obj - [45 archivos] //
contents\resource\eng\pms_aikotoba\pms_aikotoba - [1 archivo] //
contents\resource\eng\scratch\scratch - [41 archivos] //
contents\resource\eng\wifi_lobby_minigame\wlmngm_tool - [27 archivos] //
contents\resource\eng\zukan\zukan - [130 archivos] //

contents\wazaeffect\we - [501 archivos] //
contents\wazaeffect\we_sub - [50 archivos] //
contents\wazaeffect\effectclact\wecell - [37 archivos] // Celdas de los ataques
contents\wazaeffect\effectclact\wecellanm - [37 archivos] // Animaciones de los ataques
contents\wazaeffect\effectclact\wechar - [37 archivos] // Tiles de los ataques
contents\wazaeffect\effectclact\wepltt - [39 archivos] // Paletas de los ataques
contents\wazaeffect\effectdata\ball_particle - [117 archivos] //
contents\wazaeffect\effectdata\waza_particle - [485 archivos] //

contents/ftc - [127 archivos] //


Agradecimientos


  • pleoNeX por:
  • Nintendo-Scene por:
  • redblueyellow por:
      [*]Gráficos de contents\application\balloon\graphic\balloon_gra.

  • spaceemotion por:
      [*]Gráficos de contents\arc\area_win_gra.
    • Gráficos de contents\battle\graphic\vs_demo_gra.
    • Gráficos de contents\demo\egg\data\egg_data.

  • dragoon por:
      [*]Gráficos de contents\demo\intro\intro.

  • [/list]
    #1
    Tsuka 15343
    ~Arc entra a formar parte del equipo de investigación en calidad de co-autor. Cuento con su permiso para postear sus avances por él para todos vosotros. Yo, por mi parte, iré editando el primer post según avance y avisaré únicamente cuando se haya hecho un gran avance. Sin más dilación:


    *Avances de ~Arc*

    Aquí traigo un poco de lo que tengo de la estructura del DPPt (Pt en el caso que nos atañe):

    contents\msgdata\msg - [624 archivos] // Texto
    contents\msgdata\pl_msg - [724 archivos] // Texto del platino


    No he investigado Platino como tal, pero mi teoría es que el texto del D/P está en el primero de estos archivos y el del Platino está en el segundo. Esto no es raro, teniendo en cuenta la costumbre de Nintendo de dejar cosas de juegos anteriores en el ROM aunque no se necesiten, meh.

    contents\poketool\trainer\trdata - [928 archivos] // Información de los trainers
    contents\poketool\trainer\trpoke - [928 archivos] // Información de los Pokémon de los trainers


    El primero contiene información del trainer como el número de Pokémon que tiene, su clase de entrenador, los objetos que tiene, si es una batalla sencilla o doble...
    El segundo contiene información acerca de sus Pokémon: tipo de Pokémon, nivel, objeto equipado, dificultad y movimientos personalizados (en algunos casos).

    contents\poketool\trgra\trbgra - [55 archivos] // Sprites de espalda de los entrenadores
    contents\poketool\trgra\trfgra - [525 archivos] // Sprites de frente de los entrenadores


    Los sprites están encriptados, por lo que hay que usar PokéDSPic para poder verlos/editarlos.

    contents\fielddata\maptable\mapname.bin // Nombres de los mapas


    Son nombres de los mapas, de una manera un poco (bastante) críptica. 16 bytes por mapa.

    contents\poketool\waza\pl_waza_tbl - [471 archivos] // Información de los ataques
    contents\poketool\waza\waza_tbl - [471 archivos] // Información de los ataques


    Información de los ataques. Digo lo mismo que con los textos.

    contents\fielddata\encountdata\d_enc_data - [183 archivos] // Salvajes (Diamante)
    contents\fielddata\encountdata\p_enc_data - [183 archivos] // Salvajes (Perla)
    contents\fielddata\encountdata\pl_enc_data - [183 archivos] // Salvajes (Platino)


    Los salvajes de cada juego de la serie. Un archivo/mapa.

    contents\fielddata\eventdata\zone_event - [534 archivos] // Eventos


    Los eventos del mapa: Overworlds, postes, warps, triggers.

    contents\fielddata\script\scr_seq - [1124 archivos] // Scripts


    Siguen la misma estructura en todos los juegos de NDS (exceptuando los comandos, que son diferentes). Véase aquí la estructura.

    contents\fielddata\land_data\land_data - [666 archivos] // Mapas


    Representan un "modelo de mapa", que siempre es de 32x32. Un mapa puede estar o no compuesto por varios de estos modelos, dependiendo de su tamaño.



    ________________________________

    Eso es todo por ahora. Postearé cuando averigüe algo más (y quizás algo de la estructura hex de los archivos que he posteado).
    #2
    OdnetninI 18888
    Ola, yo he seguido investigando por mi cuenta, aunque la rom española, no hay mucha difrencia, pero este es el resultado que he obtenido: He copiado tu plantilla, y he ido completando y añadiendo.


    #3
    Tsuka 15343
    contents\itemtool\itemdata\item_data - [442 archivos] // Datos de los iconos
    contents\itemtool\itemdata\item_icon - [711 archivos] // Imagenes de los iconos

    ¿Con esos te refieres a los objetos, no?

    Muchas gracias por tu colaboración. ¿Podrías hacer el favor de echarle un vistazo para ver si me he comido algo? En caso afirmativo, avísame por perfil y lo añado. Para la próxima aportación, sería más cómodo que sólo copiaras aquello que has averiguado.

    Por mi parte ando con ésto:

    contents\wazaeffect\effectclact\wecell - [37 archivos] // Celdas de los ataques

    contents\wazaeffect\effectclact\wecellanm - [37 archivos] // Animaciones de los ataques

    contents\wazaeffect\effectclact\wechar - [37 archivos] // Tiles de los ataques

    contents\wazaeffect\effectclact\wepltt - [39 archivos] // Paletas de los ataques


    Hay que seleccionar el archivo correcto de cada directorio para poder visualizar los gráficos. Ahora mismo los estoy ripeando, pero me llevará bastante tiempo acabar x´D
    #4
    OdnetninI 18888
    si lo son los iconos, la proxima vez los pongo como has dicho, aun hacen falta herramientas para poder realizar un hackeo del pokemon platino, pero se va avanzando.
    #5
    Tsuka 15343
    Traigo una sorpresa. Ésta mañana he aprendido ha hacer una cosa.. Trata sobre contents\fielddata\build_model\build_model.. En concreto os mostraré el archivo 14.. Así te podrás hacer una idea.. Es extrapolable al resto de ROMs de DS, por si te interesa..




    ¡Tutorial en camino! CCCCCCCCCCCCCCCCCC: