Lanzer, on 04 October 2014 - 10:58 AM, said:
Dude, on 22 July 2014 - 10:56 PM, said:
MainMemory and I have been trying to work towards 2 goals:
- Optimize SADX model output significantly (it is pretty bad right now)
- Be able to generate SA2 meshes at all
Now this requires a Triangle Strip Generator, and I had limited success implementing one of my own (it garbled the mesh in some places, but worked in others) but unfortunately being a noob at git, I destroyed my only copy. Anyways, we're both pretty bad at C, and this program called STRIPE generates excellent triangle strips - but it also completely screws up the rest of the mesh data sent to it. We both tried looking into fixing it, but this program is above our level. What we need is someone who can either fix all of the problems with the program (you'll need to add vertex normal, uv and vcolor support). OR, someone (or a group of someones) to port it to C# so we can directly integrate it into SA Tools (this is probably the better option). Another solution would be for someone to write their own triangle strip generator into SA Tools (if you think you know how to do this and don't want to port STRIPE, contact me)
Once this is done, you should be able to import models with double or triple the polycount you can now. And not to mention this will make it so we can even *do* custom models in sa2. You know you want to!
- Optimize SADX model output significantly (it is pretty bad right now)
- Be able to generate SA2 meshes at all
Now this requires a Triangle Strip Generator, and I had limited success implementing one of my own (it garbled the mesh in some places, but worked in others) but unfortunately being a noob at git, I destroyed my only copy. Anyways, we're both pretty bad at C, and this program called STRIPE generates excellent triangle strips - but it also completely screws up the rest of the mesh data sent to it. We both tried looking into fixing it, but this program is above our level. What we need is someone who can either fix all of the problems with the program (you'll need to add vertex normal, uv and vcolor support). OR, someone (or a group of someones) to port it to C# so we can directly integrate it into SA Tools (this is probably the better option). Another solution would be for someone to write their own triangle strip generator into SA Tools (if you think you know how to do this and don't want to port STRIPE, contact me)
Once this is done, you should be able to import models with double or triple the polycount you can now. And not to mention this will make it so we can even *do* custom models in sa2. You know you want to!
You know I want to! :D
Wow man this sounds tight, so if you guys breakthrough with this what kind of models can we import?
Well, no one has offered to help us, so we haven't made much progress. I had something that was almost generating useful strip data from within SADXLVL, but due to a source control mistake I accidentally blew away that version. It actually seems more likely to me for an experienced d3d hacker to add support for new model types than it would be for us to get the originals working with full support.
However, to answer your question, having this would only mean that we can implement more complex models without the game slowing down. You may have noticed that in some areas of beta windy valley act 1 (specifically the part near the stairs) the game tends to get kind of slow. In SADX you can already import just about whatever you want, it's just importing the models in the most wasteful way possible. In sa2 however, that wasteful method of importing is no longer supported.
Actually, if we do manage to get a custom model format implemented, we could use a hybrid solution:
- visual models with strips imported with the custom format
- collision models imported from STRIPE/HTGEN output
This would make the levels have twice as many models, however each model exported would be as efficient as it could be. Considering that most modern games force this dichotomy between visual and collision meshes and I don't think it's the worst solution.

00




