2010-04-14, 12:22 PM
Ah, I've found the meaning of all the packets. It turns out they are identical to the PSOne HMD primitive packets. I just didn't realize it because they are not ordered by their code numbers in the documentation I have (probably the order in the manual makes more sense if you know how the codes are derived)
I also understand the frame buffer now. Assuming Som follows the same rules you're limited to a 256x256 texture (what we already know) but also a single MDL file can only have 8 such textures. On the PSOne a great deal of the framebuffer is taken up by the screen but I'm assuming Som is not limited by that requirement.
You could have more than 8 smaller textures I suppose as long as they can be crammed into the frame buffer space without overlapping. If you use the indexed modes you can maybe have 512x512. Or 1024x1024 if you can settle 16 colours (and Som actually supports that mode) ...EDITED: Scratch that. I'm not sure that would work because I don't think you could map the 8bit texture coordinates beyond 256x256. The PSOne might have some way of scaling that but I doubt Som would have gone that far unless one of the models required it.
Still there are a ton of packets and I have a feeling only the ones actually used by Som files are supported by Som though it might not hurt to try others out some day. I think I have most of them but there might be others and I won't add any until we see them.
I added black texel (texture pixel -- let's be technical) knockout but Assimp totally shit itself as soon as one transparent texel was tossed into the mix. Not sure why that is (looking into it) but I will leave it disabled for now.
PS: I want to implement the framebuffer logic tomorrow before uploading a new importer demo.
I also understand the frame buffer now. Assuming Som follows the same rules you're limited to a 256x256 texture (what we already know) but also a single MDL file can only have 8 such textures. On the PSOne a great deal of the framebuffer is taken up by the screen but I'm assuming Som is not limited by that requirement.
You could have more than 8 smaller textures I suppose as long as they can be crammed into the frame buffer space without overlapping. If you use the indexed modes you can maybe have 512x512. Or 1024x1024 if you can settle 16 colours (and Som actually supports that mode) ...EDITED: Scratch that. I'm not sure that would work because I don't think you could map the 8bit texture coordinates beyond 256x256. The PSOne might have some way of scaling that but I doubt Som would have gone that far unless one of the models required it.
Still there are a ton of packets and I have a feeling only the ones actually used by Som files are supported by Som though it might not hurt to try others out some day. I think I have most of them but there might be others and I won't add any until we see them.
I added black texel (texture pixel -- let's be technical) knockout but Assimp totally shit itself as soon as one transparent texel was tossed into the mix. Not sure why that is (looking into it) but I will leave it disabled for now.
PS: I want to implement the framebuffer logic tomorrow before uploading a new importer demo.