I like this idea. It's mostly how I've been playing on Ephinea so far.
S-ranks go against the spirit of an ironman mode IMO though. But I might be underestimating how hard c-mode is, I've never actually completed it. I guess not being able to make perfect parties (because you can't trade/use...
Phantasmal.world has some new features:
Internet time (in beats) is now displayed in the top right corner.
The model viewer now applies textures to the standard character class models.
You can now link directly to specific models with specific section ID and body. Just copy the URL in address...
It uses linear programming to find the optimal results. So it doesn't find a result per item, it looks at all the items together. So two items might have an ideal method, but you want both of them a third method might be better.
If you don't know anything about linear programming, a good way to...
Great work again! Kind of want to try adding some textures to the model viewer and quest editor on phantasmal.world now.
This is usually done to improve memory locality. Pixels close to each other will also be close in-memory this way. I think GPUs also store textures in this order or Z-order...
The client's data directory has these files for each character:
The bml file is an archive of the nj files. the plAtex.afs file is probably an archive of textures. But the plAsmp.rel file might contain things like animation speeds.
I've added a tab called "Attack Animation Analysis" which compares the frame counts from the player animation file with frame counts from the wiki (thank you @Matt for painstakingly recording animations and manually counting the frames!). It seems like all animation speeds are multiplied by a...
For BB characters it's typically the other way around (not sure if it's always the case). So I thought my solution was safer, this way it doesn't matter where what is. Sega likes to throw a curve ball every now and then.
With the help of @tofuman, @kion and others, I've managed to extract the PSO:BB character animations from the client data files. I've build an animation viewer and now I'm trying to catalogue all the animations. I was hoping you guys could help me!
How to Help
1. The tab called "Attack...
I seriously had to write my parser so it first attempts to extract the values as uint16_t, check whether the values make sense and if necessary reparse as int32_t because the BB rappy attack animation contains both...
This won't work for the last set of key frames though.
Does psov2 always use the first option and do BB player animations always use the second, is that what you mean? Or does psov2 sometimes use both options? And isn't it 3 int32_t values in the first option? That's how the angle type is defined in ninja lib.
Edit: it seems that psov2 and psobb...
Ok, now I understand. That's something entirely different though, but maybe someday I'll build it (or someone else decides to contribute it, it's all open source after all). It would be nice to have a very clear overview of what certain section IDs are good for.
Also, thanks everyone for the...
This is amazing, Kion! Especially your last post, it would have taken me weeks to figure that out. Even knowing all this it still seems hard to transform this into something modern graphics libraries understand. But having all this info with nice hand-drawn :p graphs is going to make things much...
Some of the last things you posted are already documented on http://sharnoth.com/psodevwiki/format/nj/njcm_model and http://sharnoth.com/psodevwiki/format/nj/xj_model. But a lot can probably be improved and expanded upon. I used tables to explain the data types, but most people prefer C structs...
First of all, it's not my wiki, its everyone's! Also, I didn't discover most of the information in it (or even wrote all the articles). So please just call it the PSO dev wiki or something as no single person deserves all the credit, and definitely not me.
Secondly, I agree with you...