toe_head2001
New member
This is a really cool plugin update, thanks!
Are there patent issues on using MD5?
MD5 is just plane amazingly acurate, it is however extremely intensive on the CPU.
If Jabo can provide the format information, I don't think conversion is impossible
There is no easy solution, the portability issue brings up the morass of the library DLL needed for texture loading and dumping as well.
I was thinking that it would offload creating the XML information reguarding the files and allow in real time a way of seeing what images are being dumped in game. IE a tree of the data and file list to allow you to pause the game and examine the textures dumped. That might help people with making TP's also.
Wow, 1 to 10 ^12% chance? Last, I looked, 255 ^ 4 equals roughly 10 ^ 9 (4 228 250 625)!
1 billion = 9 digitsWow, 1 to 10 ^12% chance? Last, I looked, 255 ^ 4 equals roughly 10 ^ 9 (4 228 250 625)!![]()
Hmmm if the MD5 is computed off the same textures AND you can generate a set of CRC's on the same data then it's a non issue. As long as the information that you are generating the check information on is the same it will be consistant. If the information changes then things will be different and incompatible.mudlord said:That's exactly the whole trouble. Jabo's texture packs use only MD5 for texture identification for hi-res info. There is no real format specs. Everything is done by the MD5 checksums, and so there is no data specifying in the filenames whether its a CI texture or not. Thats because the MD5s are all unique, like you elaborated on about MD5's strengths. And so, the checksums are the only identifying things (which I can see why then Jabo made the format simple for his plugins, since there is only one method, MD5, and only one image format, PNG).
1 milliard = 9 digits1 billion = 9 digits
1 trillion = 12 digits. Please keep your numbers correct.
My mistake, yes... I'm used to numbers 0 through 255 because that's what you'll get on a computer. But of course that's 256 different possibilities.Also it's not 255^4 it's 256^4 which is the same as 2^32 which is 4294967296.
1 milliard1 billion is about the limit of CRC32...
Hmmm if the MD5 is computed off the same textures AND you can generate a set of CRC's on the same data then it's a non issue. As long as the information that you are generating the check information on is the same it will be consistant. If the information changes then things will be different and incompatible.
I suppose the MD5 data can be dumped out with the CRC data? Then one can take the TP's made for Jabo's plugin and compare the data with the XML database information generated by Rice's new and improved plugin. That's the reason I wanted to stream the data out that way. It might make porting JABO's TP's easier. What size MD5 is he using?
Are there patent issues on using MD5?
Rice's plugin does it with the data that's loaded right? (IE when the program attempts to load it from the ROM into the texture RAM).Yeah, I can agree with you there. As long as we try to output the same MD5's as Jabo's, then this might occur. However, I haven't got a clue on how Jabo performs his texturing, and I'm sure he has his reasons for not disclosing info like that. Which means basically, the hardest part is getting the MD5's the same.
Well I was thinking of dumping the CRC/MD5 data and use a seperate program to handle that. IE a simple CRC32 MD5128 filepath for each texture dumped. I'm not sure which format is best for dumping etc. in terms of images.But then we have your idea of the data base for cataloging textures to help simplify the process of porting them. Which means, for those logging functions, I need to check out the real nitty gritty of how best to do it it seems. I would imagine of making changes to the basic texturing core to do this right in both APIs.
Are you against a more databased oriented approach? I've been looking at SQLite (which is a VERY small database engine). It might make packaging the whole texture thing MUCH much simpler (and rather easy to play with).As for info on the size, he made a very vague remark of "a simple md5, nothing fancy". Which means, my guess its the default 128-bit hash size. However, I do want to respect his wishes of not having his texture pack format a standard, which means this functionality will be import only, when and if its added.![]()
A heads up, on this thread Hacktarux was reminded of when he originally promised to release his port of the Rice code So again, he says he'll clean it up and release it, which may or may not help you out, Mudlord. But maybe someone will take it and merge the Linux code into yours.
As far as I know, md5 is open. The algorithm is freely available and there are tons of code posted online that do md5. That makes either the patent open or not patentable anymore.
Rice's plugin does it with the data that's loaded right? (IE when the program attempts to load it from the ROM into the texture RAM).
Well I was thinking of dumping the CRC/MD5 data and use a seperate program to handle that. IE a simple CRC32 MD5128 filepath for each texture dumped. I'm not sure which format is best for dumping etc. in terms of images.
The crashing problems started with build 47, and its threading changes.
So, as consolation, versions before that particular build will work.
for that bowling bug, try this. it fixes dkr and zelda, so it could potentially fix your bugs.
I'd like to participate but I'm not familiar with Rice's code and I am no N64 emulator developer so pardon me if it's off base and I sound like a crackpot. Wouldn't bmp produce totally uncompressed images that would at least yield images without sacrificing any detail? I do think there are subtle differences between PNG and BMP though I cannot remember it right now.And for the indexed images questions, there seems to be two different criteria when dumping: the plain CI images (in BMP), and the CI by RGBA (PNG). What seems redundant to me is though why shouldnt both criteria be both PNG?
The BMG file is not valid on either PJ 1.7 and 1.6. I have to use the old BMG and then it doesn't see you version. Please check it out.
Also, are you saying that because of the new threading changes it would involve alot of change to RiceVideo to get to work.
Odd....works for me fine when using shaders and otherwise...Might as well compile another version for that too....EDIT:Also, the "Development" one does not boot roms, it is selectable in the vid plugin section, but does not work.
Wouldn't bmp produce totally uncompressed images that would at least yield images without sacrificing any detail? I do think there are subtle differences between PNG and BMP though I cannot remember it right now.
The thing is, PNG is 100% lossless. So, PNG will yeild the exact same quality as BMP, and we also enjoy compression from it, which will make texture packs smaller. And then since PNG supports colour indexing, that could mean BMP will be made redundant.
![]()
The "Stable" release has no BMGlib so the plugin is not selectable. The "Development" plugin with its DX9 file is also not selectable in the plugins, whereas before it was-so it worst now. Also, your info about "update 8" is the same as the info for "update 7".
First the primary motivation using the database approach is too make manipulation of the data easier, which makes the end users happier. Dealing with 5000 textures is a pain. If they are all neatly packed as BLOB information and retrieved for the database program from a big database I think things will be easier all around. Less disk space, less disk fragmentation, fewer files, less mess all these benifit the programmer and the user. Downside is that SQLite is a 2.5m code chunk (yes 2.5 meg .C file), but it's not likely you need to do much with that.mudlord said:Personally, I'm not against the approach of using a database format for using textures since there obviously seems to be great benefits for the end users. And for the indexed images questions, there seems to be two different criteria when dumping: the plain CI images (in BMP), and the CI by RGBA (PNG). What seems redundant to me is though why shouldnt both criteria be both PNG? As for the specifics on palleted image use, i will have to get back to you on that.