Well, SOM is a better vehicle for preserving KF2, than "romhacking" it. In order to port it over, it's best to have all of the information on the disc on hand. So, whatever we can locate and document is incredibly important. But after the port is complete, the original disc will be the inferior product, since it won't be open source, and the PlayStation is crawling with glitches.
I would like to see everything documented on paper, but if the Cheat Engine map is a better way to create a blueprint all the better. In fact, it might be very useful to map SOM's player and tools in the same vein.
I am interested in preserving the art exactly as it is. And then afterward, it will be an opensource artifact, available for unlimited alteration. I mean, that can happen in parallel also. But when I release it, I intend to release it in the original form. An exact, inviolable replica. Because we are talking about copying a company's product with only tacit approval, I think it's even more important to not stray in official matters.
If we can apply more hands to the task, maybe it will be a cinch to hit the 2020 mark.
If we know where items and monsters, etc. are in 3D coordinates, we can begin to layout the maps in SOM, using their coordinates as reference points, for building the world map around them. I would personally enjoy reconstructing the world map by hand I think, however if we can find its footprint in the games memory banks, all the better.
I have such a work load with SOM, that I would honestly prefer it if someone else were to build the game itself. As long as they can make the work readily available to collaborators. I have a lot to do to make SOM up to the task of hosting the vertical mazes of Melanat, and streaming them in on the fly via their connecting corridors. I wanted to be doing this now, but this year I've been focused more on supporting features for the Moratheia project (that KF2 doesn't actually require) and now VR business. Building out SOM remains priority #1 no matter what.
Just because you asked, below is what an item instance looks like in SOM's memory. But there's also the items embedded in the map's memory, and then the index of parameters, and then their base profiles as well. So there are 4 different places where item information lives in all.
struct Item //32B
{
BYTE nonempty; //bool?
BYTE parameters; //566FF0 look-up
BYTE profile_instance; //Up to 64? 556FD0
BYTE layer; //Compared to MPX::x130?
float x,y,z,u,v,w;
int time; //guessing
int unknown; //small
};
P.S. The SOM version will not be identical to the original, because it will be using SOM. It should look the same, free of glitches, ideally, but by "the same" I mainly mean, same 3D coordinates, and same image files. Since it will operate possibly at a higher resolution (although PlayStation VR actually has comparable resolution to the original) it might be worthwhile to upscale the fairly simple/small textures, but if so I would prefer an SVG strategy to simple upscaling. There will probably be issues with gamma tables, etc. And I'm not 100% committed to preserving the AI, although I'd really like to get at the animation data if possible, and don't want to remake the animations if I can help it. I would like to use off the shelf tools to extract the artwork, but will develop something myself if necessary. I did a short project years ago to get the models off of the third Amored Core game's disc, which used significantly modified version's of Sony's SDK. I've never come across files that use Sony's animation APIs yet (there may have been two, one release at a later date) that are called something like HMD. I collected a lot of PlayStation manuals years ago for this project, that I've not lost track of, but I don't the state today about open knowledge of PlayStation discs, whether it's better represented on the WWW, or worse. I will take the thing apart from scratch if I must.
EDITED: "HMD" looks like head-mounted display, but thinking back, I believe that's the right name for the file-format/library, which I think stands for Hierarchical Model Data.