The reason my older programs do not open v2 pmt files is because the v2 file is actually a lot simpler then the blue burst or gc / xbox files which contain more data in them, also to boot my old programs where hard-coded to look for data at specific offsets (don't shoot me), this was before i decided to read pretty much every pointer that ever existed ever in the files (Was not enjoyable).
Even now though prob because i'm lazy lol my pmt programs exist as 3 different branchs of the same code, one for each version (v1 / v2 with only mag length changes, v3 Gc and xbox, blueburst which has some additional data for impact sound effects extra padding on items etc and team points).
Actually only ives has a copy of my v2 program, no one has a copy of my v3 one and obviously my bb one is public, tbh most of the code in tethella which bluecrabs server is based on was using converted c code from my old delphi readers for it's pmt related data, that and ives obviously has been using my program to tell bluecrab things and well that cleans up why the headers look so familiar.
I don't know if you realise it or not but i already have about a billion editors for things including; itempt itempmt itemmagedit, itemrt battleparam, unitext and many more i can't be bothered to list, but thanks for the offer + they are all coded in delphi which i'm not sure my code would be that helpful anyway;
Just bare in mind my goal was never to display data in a cohesive way for users but to provide server editing tools for actually altering things in pso, which is why i kinda questioned the nature of creating a program to do what an excel spreadsheet could do if you fed it dumps (sorry but that's kinda what i seeing this as).
I'm not knocking this anyway, if you want to display information more power to you, I honestly don't see a reason personally to combine all my various programs in to a swiss army knife so to speak, it could get kinda bloated lol. I mean just editing the pmt for bb to add items has turned in to a uitext editing and adding exe patching mega monster of a program.
Then again 6500 lines of code isn't that bad i guess.
Oh and if i have any information that may be useful to you, feel free to ask.
If you plan on reading a default psobb pmt file, here is a kinda file i made for myself to remind myself how to put the file together when i was reading / rebuilding it yes i know how simplistic this seems but it did help keep things straight in my head:
Code: Select all
Itempmt pointer flow
0x015064 -> 0 0001489C -> 00000001 00004348 // Weapons
-> 1 000147A4 -> 00000059 00001500 // Armors // read from here to
000000A6 00000040 // Barriers
-> 2 000147B4 -> 00000065 00002020 // Units
-> 3 000147C4 -> 00000003 00003118 // Items
-> 4 000147BC -> 00000053 00002804 // Mags
-> 5 0000F4CC -> // Weapon animations
-> 6 0000DE7C -> // Unknown Weapon related
-> 7 0000E194 -> // Weapon Range stats
-> 8 0000F5BC -> // Unknown, Weapon related fixed count 165
-> 9 0000F850 -> // Unknown, weapon related fixed count 12
-> 10 00015044 -> 0000F860 // Mag feed 1
-> 0000F8B8 // Mag feed 2
-> 0000F910 // mag feed 3
-> 0000F968 // mag feed 4
-> 0000F9C0 // mag feed 5
-> 0000FA18 // mag feed 6
-> 0000FA70 // mag feed 7
-> 0000FAC8 // mag feed 8
-> 11 0000FB20 -> // item star values
-> 12 0000FE50 -> // Special data, fixed count
-> 13 0000FEF4 -> // Weapon sound effects
-> 14 00012770 -> // Item stat boost data
-> 15 00011C94 -> // Shield sound effects
-> 16 000128A8 -> // Tech Use table
-> 17 0001500C -> 0000190 00001298C // Item combine table
-> 18 00012768 -> 0000003 000012744 -> 0000003C 000121BC 00012364 //wtf on hit sounds
-> 00000023 00012394 0001253C
-> 00000029 0001256C 00012714
-> 19 0001428C -> // Tech boost table
-> 20 0001502C -> 00000003 00015014 -> 00000009 000146AC // Jacko % List
-> 00000009 000146D0 // Easter % List
-> 00000008 000146F4 // Christmas % List
-> 21 00015034 -> 00000004 00014714 // Unseal items
-> 22 0001503C -> 00000020 00014724 // Super Special List