Posts: 7
Threads: 1
Joined: Nov 2020
I need to learn where uv mapping located inside the bgv willing to pay some mani
Posts: 15
Threads: 6
Joined: Mar 2021
(11-26-2020, 01:28 PM)kotori ii Wrote: I need to learn where uv mapping located inside the bgv willing to pay some mani
Hi there.
If you still need help, I could attempt to take a look at it. However I suspect the file may be binary and probably contain program specific memory. It seems other people have tried ripping/converting these as well to no avail.
If you supply a file that will tell me whether or not I have the ability to help at all.
UV mapping information for example might, maybe, in some slim hope of a chance be represented as plain text in the binary file. but that would only tell me how the textures are overlaid onto the model, it would not for example supply me with the images themselves, However, if the images are stored inside the file I could look for typical image headers and footers and attempt to split them with axe3 (providing they didn't create their own proprietary image format (like many pro studios do)).
But as for getting the model this way, if you for example were hoping for a model+UV layout+ textures; unless they were foolish enough to use another model format embedded in their format or unless they were foolish enough to make their format easily openable as a standard archive, then no it'd be pretty hard.
But yeah, you probably wont get any help without sharing a file.
Posts: 7
Threads: 1
Joined: Nov 2020
(03-27-2021, 11:03 AM)Joshex Wrote: (11-26-2020, 01:28 PM)kotori ii Wrote: I need to learn where uv mapping located inside the bgv willing to pay some mani
Hi there.
If you still need help, I could attempt to take a look at it. However I suspect the file may be binary and probably contain program specific memory. It seems other people have tried ripping/converting these as well to no avail.
If you supply a file that will tell me whether or not I have the ability to help at all.
UV mapping information for example might, maybe, in some slim hope of a chance be represented as plain text in the binary file. but that would only tell me how the textures are overlaid onto the model, it would not for example supply me with the images themselves, However, if the images are stored inside the file I could look for typical image headers and footers and attempt to split them with axe3 (providing they didn't create their own proprietary image format (like many pro studios do)).
But as for getting the model this way, if you for example were hoping for a model+UV layout+ textures; unless they were foolish enough to use another model format embedded in their format or unless they were foolish enough to make their format easily openable as a standard archive, then no it'd be pretty hard.
But yeah, you probably wont get any help without sharing a file.
well I already figured how to uv map but now Im working on editing models/swapping car parts etc but I still need to figure out about the mesh header is there any way where I can contact you on somewhere we can share our knowledge tho my main knowledge is about b3 bgv file structure
Posts: 15
Threads: 6
Joined: Mar 2021
(04-15-2021, 10:49 AM)kotori ii Wrote: (03-27-2021, 11:03 AM)Joshex Wrote: (11-26-2020, 01:28 PM)kotori ii Wrote: I need to learn where uv mapping located inside the bgv willing to pay some mani
Hi there.
If you still need help, I could attempt to take a look at it. However I suspect the file may be binary and probably contain program specific memory. It seems other people have tried ripping/converting these as well to no avail.
If you supply a file that will tell me whether or not I have the ability to help at all.
UV mapping information for example might, maybe, in some slim hope of a chance be represented as plain text in the binary file. but that would only tell me how the textures are overlaid onto the model, it would not for example supply me with the images themselves, However, if the images are stored inside the file I could look for typical image headers and footers and attempt to split them with axe3 (providing they didn't create their own proprietary image format (like many pro studios do)).
But as for getting the model this way, if you for example were hoping for a model+UV layout+ textures; unless they were foolish enough to use another model format embedded in their format or unless they were foolish enough to make their format easily openable as a standard archive, then no it'd be pretty hard.
But yeah, you probably wont get any help without sharing a file.
well I already figured how to uv map but now Im working on editing models/swapping car parts etc but I still need to figure out about the mesh header is there any way where I can contact you on somewhere we can share our knowledge tho my main knowledge is about b3 bgv file structure
Glad to hear you got the UV maps sorted. This place is fine for contact, I rarely check emails or such. If you like there is private messaging here. File dropper works for file hosting. You can use another if it's really big.
So a mesh header, typically if you were to have the source, that would be a list. [[location X,Y,Z], [next point XYZ], [3rd point XYZ]], then indexing face1 [0,1,2] or edge [0,1] or [0,2] or [1,2] et cetera. very rarely do software packages support more than 4 vertexes per face (I think 3dstudios can do 5gons). And most studios use nearly all triangles when it comes to game ports because game engines typically need to have quickly renderable objects with simple trigonometry.
Again though, I'm flying blind here. I do not have such a file to look at.
Posts: 7
Threads: 1
Joined: Nov 2020
(04-16-2021, 06:08 AM)Joshex Wrote: (04-15-2021, 10:49 AM)kotori ii Wrote: (03-27-2021, 11:03 AM)Joshex Wrote: Hi there.
If you still need help, I could attempt to take a look at it. However I suspect the file may be binary and probably contain program specific memory. It seems other people have tried ripping/converting these as well to no avail.
If you supply a file that will tell me whether or not I have the ability to help at all.
UV mapping information for example might, maybe, in some slim hope of a chance be represented as plain text in the binary file. but that would only tell me how the textures are overlaid onto the model, it would not for example supply me with the images themselves, However, if the images are stored inside the file I could look for typical image headers and footers and attempt to split them with axe3 (providing they didn't create their own proprietary image format (like many pro studios do)).
But as for getting the model this way, if you for example were hoping for a model+UV layout+ textures; unless they were foolish enough to use another model format embedded in their format or unless they were foolish enough to make their format easily openable as a standard archive, then no it'd be pretty hard.
But yeah, you probably wont get any help without sharing a file.
well I already figured how to uv map but now Im working on editing models/swapping car parts etc but I still need to figure out about the mesh header is there any way where I can contact you on somewhere we can share our knowledge tho my main knowledge is about b3 bgv file structure
Glad to hear you got the UV maps sorted. This place is fine for contact, I rarely check emails or such. If you like there is private messaging here. File dropper works for file hosting. You can use another if it's really big.
So a mesh header, typically if you were to have the source, that would be a list. [[location X,Y,Z], [next point XYZ], [3rd point XYZ]], then indexing face1 [0,1,2] or edge [0,1] or [0,2] or [1,2] et cetera. very rarely do software packages support more than 4 vertexes per face (I think 3dstudios can do 5gons). And most studios use nearly all triangles when it comes to game ports because game engines typically need to have quickly renderable objects with simple trigonometry.
Again though, I'm flying blind here. I do not have such a file to look at. well since is a ps2 game is only commands as you know but I still I ll tell you everything I know so each vehicle has 3 or 4 meshes and they are all composed of sub meshes
the sub meshes are separated in blocks combined by array of three floats xyz respectively and contrary what I stated before they have face indices for each submesh or something like that also in the vertex data there are some 80s at the end of the each block Im guessing theyre used for creating vertices? not exactly sure tho uvs are located a little below but yeah also uploaded the file on dropbox if you are planning to use hex editor 0x58 is the pointer to the lod header which in this case 3D0A0 anyway the thing is I cant edit the models the way I want beucase of the mesh header which is getting in my way pretty sure it has calculated vertices for each mesh or something so uh I uploaded the file you can check it https://www.dropbox.com/s/2z5wk5go7qyo3l7/CAR1.BGV?dl=0
Posts: 15
Threads: 6
Joined: Mar 2021
(04-18-2021, 12:37 PM)kotori ii Wrote: (04-16-2021, 06:08 AM)Joshex Wrote: (04-15-2021, 10:49 AM)kotori ii Wrote: well I already figured how to uv map but now Im working on editing models/swapping car parts etc but I still need to figure out about the mesh header is there any way where I can contact you on somewhere we can share our knowledge tho my main knowledge is about b3 bgv file structure
Glad to hear you got the UV maps sorted. This place is fine for contact, I rarely check emails or such. If you like there is private messaging here. File dropper works for file hosting. You can use another if it's really big.
So a mesh header, typically if you were to have the source, that would be a list. [[location X,Y,Z], [next point XYZ], [3rd point XYZ]], then indexing face1 [0,1,2] or edge [0,1] or [0,2] or [1,2] et cetera. very rarely do software packages support more than 4 vertexes per face (I think 3dstudios can do 5gons). And most studios use nearly all triangles when it comes to game ports because game engines typically need to have quickly renderable objects with simple trigonometry.
Again though, I'm flying blind here. I do not have such a file to look at. well since is a ps2 game is only commands as you know but I still I ll tell you everything I know so each vehicle has 3 or 4 meshes and they are all composed of sub meshes
the sub meshes are separated in blocks combined by array of three floats xyz respectively and contrary what I stated before they have face indices for each submesh or something like that also in the vertex data there are some 80s at the end of the each block Im guessing theyre used for creating vertices? not exactly sure tho uvs are located a little below but yeah also uploaded the file on dropbox if you are planning to use hex editor 0x58 is the pointer to the lod header which in this case 3D0A0 anyway the thing is I cant edit the models the way I want beucase of the mesh header which is getting in my way pretty sure it has calculated vertices for each mesh or something so uh I uploaded the file you can check it https://www.dropbox.com/s/2z5wk5go7qyo3l7/CAR1.BGV?dl=0
Thanks for sharing the file. this will allow someone to see exactly your issues and help you. I have looked at it now and I can confirm it is not a standard archive and is a proprietary binary format. from what I'm seeing in the hex editor nothing is in plain text.
what software are you using to view this file's content? I did some searching and found what looks to be your other threads on other forums about this subject. someone there gave a script to convert it to .3ds ( https://drive.google.com/file/d/1I1amCL4...hJal3/view). they also said it's a zlib compressed archive. I'll just attempt to decompress it.. one sec.
Code: import zlib
myFile = open("C:\file location\CAR1.BGV", 'rb')
newFile = open("C:\file location\CAR1.gzip", 'wb')
dataDecompress = zlib.decompress(myFile.read())
newFile.write(dataDecompress)
newFile.close()
myFile.close()
this is some python I will be attempting to use to decompress it. the outcome is..
"zlib error: Error -3 while decompressing data: incorrect header check"
I can then assume this is not a zlib compressed archive.
Regardless I downloaded the script and will attempt to run it later if I can get the software to run the bms script or if theres a way to translate what they did there into python. let me at least open it and see if it is plain text and if I can translate it to python. plain text, yes. convert to python, possibly. but it'd mean learning hex editing in python lol. I guess I could look into that.
I guess if you had quickBMS this script should work. looks like the pointers for each file are listed under the top definitions in the first bend. if those are not right for you, you could change them to the right pointers (0x58 in example) and it should work. I suspect the number of files or meshes might be different in your file as well which would require adding or subtracting definitions for files. and copying bends of code and changing the name of the file it works on to the required definition name.
in example he does:
"log MEMORY_FILE1" through 7. you might need more or less. if you need more than 7 you'll have to add them. if you need less you'll have to delete the unnecessary log MEMORY_FILE# definition and any code bends that use it.
for extra bends, you should be able to copy and paste and merely change the definition name lets say the last bend uses the MEMORY_FILE7 definition. but your file has 12 sub meshes or whatever you'd copy the bends that deal with MEMORY_FILE7 paste them below it and change MEMORY_FILE7 to MEMORY_FILE8, 9, 10, 11 etc.
this was just my first idea with a quick glance at the files.
but yeah if you are using other software to open the BGV file, please let me know. if you have converted it to a .3ds and need that modified I can mess with it and modify it to your needs.
Posts: 7
Threads: 1
Joined: Nov 2020
(04-21-2021, 10:03 AM)Joshex Wrote: (04-18-2021, 12:37 PM)kotori ii Wrote: (04-16-2021, 06:08 AM)Joshex Wrote: Glad to hear you got the UV maps sorted. This place is fine for contact, I rarely check emails or such. If you like there is private messaging here. File dropper works for file hosting. You can use another if it's really big.
So a mesh header, typically if you were to have the source, that would be a list. [[location X,Y,Z], [next point XYZ], [3rd point XYZ]], then indexing face1 [0,1,2] or edge [0,1] or [0,2] or [1,2] et cetera. very rarely do software packages support more than 4 vertexes per face (I think 3dstudios can do 5gons). And most studios use nearly all triangles when it comes to game ports because game engines typically need to have quickly renderable objects with simple trigonometry.
Again though, I'm flying blind here. I do not have such a file to look at. well since is a ps2 game is only commands as you know but I still I ll tell you everything I know so each vehicle has 3 or 4 meshes and they are all composed of sub meshes
the sub meshes are separated in blocks combined by array of three floats xyz respectively and contrary what I stated before they have face indices for each submesh or something like that also in the vertex data there are some 80s at the end of the each block Im guessing theyre used for creating vertices? not exactly sure tho uvs are located a little below but yeah also uploaded the file on dropbox if you are planning to use hex editor 0x58 is the pointer to the lod header which in this case 3D0A0 anyway the thing is I cant edit the models the way I want beucase of the mesh header which is getting in my way pretty sure it has calculated vertices for each mesh or something so uh I uploaded the file you can check it https://www.dropbox.com/s/2z5wk5go7qyo3l7/CAR1.BGV?dl=0
Thanks for sharing the file. this will allow someone to see exactly your issues and help you. I have looked at it now and I can confirm it is not a standard archive and is a proprietary binary format. from what I'm seeing in the hex editor nothing is in plain text.
what software are you using to view this file's content? I did some searching and found what looks to be your other threads on other forums about this subject. someone there gave a script to convert it to .3ds (https://drive.google.com/file/d/1I1amCL4...hJal3/view). they also said it's a zlib compressed archive. I'll just attempt to decompress it.. one sec.
Code: import zlib
myFile = open("C:\file location\CAR1.BGV", 'rb')
newFile = open("C:\file location\CAR1.gzip", 'wb')
dataDecompress = zlib.decompress(myFile.read())
newFile.write(dataDecompress)
newFile.close()
myFile.close()
this is some python I will be attempting to use to decompress it. the outcome is..
"zlib error: Error -3 while decompressing data: incorrect header check"
I can then assume this is not a zlib compressed archive.
Regardless I downloaded the script and will attempt to run it later if I can get the software to run the bms script or if theres a way to translate what they did there into python. let me at least open it and see if it is plain text and if I can translate it to python. plain text, yes. convert to python, possibly. but it'd mean learning hex editing in python lol. I guess I could look into that.
I guess if you had quickBMS this script should work. looks like the pointers for each file are listed under the top definitions in the first bend. if those are not right for you, you could change them to the right pointers (0x58 in example) and it should work. I suspect the number of files or meshes might be different in your file as well which would require adding or subtracting definitions for files. and copying bends of code and changing the name of the file it works on to the required definition name.
in example he does:
"log MEMORY_FILE1" through 7. you might need more or less. if you need more than 7 you'll have to add them. if you need less you'll have to delete the unnecessary log MEMORY_FILE# definition and any code bends that use it.
for extra bends, you should be able to copy and paste and merely change the definition name lets say the last bend uses the MEMORY_FILE7 definition. but your file has 12 sub meshes or whatever you'd copy the bends that deal with MEMORY_FILE7 paste them below it and change MEMORY_FILE7 to MEMORY_FILE8, 9, 10, 11 etc.
this was just my first idea with a quick glance at the files.
but yeah if you are using other software to open the BGV file, please let me know. if you have converted it to a .3ds and need that modified I can mess with it and modify it to your needs. well since there isnt a tool for it Im only using hex editor to edit models and uvs tho not much luck with models because as I told you before I cant add more vertex data or vertices it ll just result in crashing the game
Posts: 15
Threads: 6
Joined: Mar 2021
(04-21-2021, 12:15 PM)kotori ii Wrote: (04-21-2021, 10:03 AM)Joshex Wrote: (04-18-2021, 12:37 PM)kotori ii Wrote: well since is a ps2 game is only commands as you know but I still I ll tell you everything I know so each vehicle has 3 or 4 meshes and they are all composed of sub meshes
the sub meshes are separated in blocks combined by array of three floats xyz respectively and contrary what I stated before they have face indices for each submesh or something like that also in the vertex data there are some 80s at the end of the each block Im guessing theyre used for creating vertices? not exactly sure tho uvs are located a little below but yeah also uploaded the file on dropbox if you are planning to use hex editor 0x58 is the pointer to the lod header which in this case 3D0A0 anyway the thing is I cant edit the models the way I want beucase of the mesh header which is getting in my way pretty sure it has calculated vertices for each mesh or something so uh I uploaded the file you can check it https://www.dropbox.com/s/2z5wk5go7qyo3l7/CAR1.BGV?dl=0
Thanks for sharing the file. this will allow someone to see exactly your issues and help you. I have looked at it now and I can confirm it is not a standard archive and is a proprietary binary format. from what I'm seeing in the hex editor nothing is in plain text.
what software are you using to view this file's content? I did some searching and found what looks to be your other threads on other forums about this subject. someone there gave a script to convert it to .3ds (https://drive.google.com/file/d/1I1amCL4...hJal3/view). they also said it's a zlib compressed archive. I'll just attempt to decompress it.. one sec.
Code: import zlib
myFile = open("C:\file location\CAR1.BGV", 'rb')
newFile = open("C:\file location\CAR1.gzip", 'wb')
dataDecompress = zlib.decompress(myFile.read())
newFile.write(dataDecompress)
newFile.close()
myFile.close()
this is some python I will be attempting to use to decompress it. the outcome is..
"zlib error: Error -3 while decompressing data: incorrect header check"
I can then assume this is not a zlib compressed archive.
Regardless I downloaded the script and will attempt to run it later if I can get the software to run the bms script or if theres a way to translate what they did there into python. let me at least open it and see if it is plain text and if I can translate it to python. plain text, yes. convert to python, possibly. but it'd mean learning hex editing in python lol. I guess I could look into that.
I guess if you had quickBMS this script should work. looks like the pointers for each file are listed under the top definitions in the first bend. if those are not right for you, you could change them to the right pointers (0x58 in example) and it should work. I suspect the number of files or meshes might be different in your file as well which would require adding or subtracting definitions for files. and copying bends of code and changing the name of the file it works on to the required definition name.
in example he does:
"log MEMORY_FILE1" through 7. you might need more or less. if you need more than 7 you'll have to add them. if you need less you'll have to delete the unnecessary log MEMORY_FILE# definition and any code bends that use it.
for extra bends, you should be able to copy and paste and merely change the definition name lets say the last bend uses the MEMORY_FILE7 definition. but your file has 12 sub meshes or whatever you'd copy the bends that deal with MEMORY_FILE7 paste them below it and change MEMORY_FILE7 to MEMORY_FILE8, 9, 10, 11 etc.
this was just my first idea with a quick glance at the files.
but yeah if you are using other software to open the BGV file, please let me know. if you have converted it to a .3ds and need that modified I can mess with it and modify it to your needs. well since there isnt a tool for it Im only using hex editor to edit models and uvs tho not much luck with models because as I told you before I cant add more vertex data or vertices it ll just result in crashing the game
Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
Posts: 7
Threads: 1
Joined: Nov 2020
04-22-2021, 03:35 PM
(This post was last modified: 04-22-2021, 03:38 PM by kotori ii.)
(04-21-2021, 05:57 PM)Joshex Wrote: (04-21-2021, 12:15 PM)kotori ii Wrote: (04-21-2021, 10:03 AM)Joshex Wrote: Thanks for sharing the file. this will allow someone to see exactly your issues and help you. I have looked at it now and I can confirm it is not a standard archive and is a proprietary binary format. from what I'm seeing in the hex editor nothing is in plain text.
what software are you using to view this file's content? I did some searching and found what looks to be your other threads on other forums about this subject. someone there gave a script to convert it to .3ds (https://drive.google.com/file/d/1I1amCL4...hJal3/view). they also said it's a zlib compressed archive. I'll just attempt to decompress it.. one sec.
Code: import zlib
myFile = open("C:\file location\CAR1.BGV", 'rb')
newFile = open("C:\file location\CAR1.gzip", 'wb')
dataDecompress = zlib.decompress(myFile.read())
newFile.write(dataDecompress)
newFile.close()
myFile.close()
this is some python I will be attempting to use to decompress it. the outcome is..
"zlib error: Error -3 while decompressing data: incorrect header check"
I can then assume this is not a zlib compressed archive.
Regardless I downloaded the script and will attempt to run it later if I can get the software to run the bms script or if theres a way to translate what they did there into python. let me at least open it and see if it is plain text and if I can translate it to python. plain text, yes. convert to python, possibly. but it'd mean learning hex editing in python lol. I guess I could look into that.
I guess if you had quickBMS this script should work. looks like the pointers for each file are listed under the top definitions in the first bend. if those are not right for you, you could change them to the right pointers (0x58 in example) and it should work. I suspect the number of files or meshes might be different in your file as well which would require adding or subtracting definitions for files. and copying bends of code and changing the name of the file it works on to the required definition name.
in example he does:
"log MEMORY_FILE1" through 7. you might need more or less. if you need more than 7 you'll have to add them. if you need less you'll have to delete the unnecessary log MEMORY_FILE# definition and any code bends that use it.
for extra bends, you should be able to copy and paste and merely change the definition name lets say the last bend uses the MEMORY_FILE7 definition. but your file has 12 sub meshes or whatever you'd copy the bends that deal with MEMORY_FILE7 paste them below it and change MEMORY_FILE7 to MEMORY_FILE8, 9, 10, 11 etc.
this was just my first idea with a quick glance at the files.
but yeah if you are using other software to open the BGV file, please let me know. if you have converted it to a .3ds and need that modified I can mess with it and modify it to your needs. well since there isnt a tool for it Im only using hex editor to edit models and uvs tho not much luck with models because as I told you before I cant add more vertex data or vertices it ll just result in crashing the game
Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
I do mod them live though anyway the thing is if the file size doesnt change I can add as much vertex data without getting the game crash more vertices too but you know if file size doesnt change Im just curious about the mesh header because it has all the imporant data about the messed up graphics part I usually get that when swapping body parts inbetween cars but the thing is the mesh itself swaps perfectly tho some stuff like the mesh model sometimes doesnt appear I know whats causing it fixing it also possible but I dont know yet and prob never will also I ve never used cheat engine to mod models sounds absurd anyway the thing I wanna say is the most important one the mesh header Im pretty sure it has calculated vertice count or the vertex(?) so whenever u go above it crashes but with no errors whatsoever
(04-21-2021, 05:57 PM)Joshex Wrote: (04-21-2021, 12:15 PM)kotori ii Wrote: (04-21-2021, 10:03 AM)Joshex Wrote: Thanks for sharing the file. this will allow someone to see exactly your issues and help you. I have looked at it now and I can confirm it is not a standard archive and is a proprietary binary format. from what I'm seeing in the hex editor nothing is in plain text.
what software are you using to view this file's content? I did some searching and found what looks to be your other threads on other forums about this subject. someone there gave a script to convert it to .3ds (https://drive.google.com/file/d/1I1amCL4...hJal3/view). they also said it's a zlib compressed archive. I'll just attempt to decompress it.. one sec.
Code: import zlib
myFile = open("C:\file location\CAR1.BGV", 'rb')
newFile = open("C:\file location\CAR1.gzip", 'wb')
dataDecompress = zlib.decompress(myFile.read())
newFile.write(dataDecompress)
newFile.close()
myFile.close()
this is some python I will be attempting to use to decompress it. the outcome is..
"zlib error: Error -3 while decompressing data: incorrect header check"
I can then assume this is not a zlib compressed archive.
Regardless I downloaded the script and will attempt to run it later if I can get the software to run the bms script or if theres a way to translate what they did there into python. let me at least open it and see if it is plain text and if I can translate it to python. plain text, yes. convert to python, possibly. but it'd mean learning hex editing in python lol. I guess I could look into that.
I guess if you had quickBMS this script should work. looks like the pointers for each file are listed under the top definitions in the first bend. if those are not right for you, you could change them to the right pointers (0x58 in example) and it should work. I suspect the number of files or meshes might be different in your file as well which would require adding or subtracting definitions for files. and copying bends of code and changing the name of the file it works on to the required definition name.
in example he does:
"log MEMORY_FILE1" through 7. you might need more or less. if you need more than 7 you'll have to add them. if you need less you'll have to delete the unnecessary log MEMORY_FILE# definition and any code bends that use it.
for extra bends, you should be able to copy and paste and merely change the definition name lets say the last bend uses the MEMORY_FILE7 definition. but your file has 12 sub meshes or whatever you'd copy the bends that deal with MEMORY_FILE7 paste them below it and change MEMORY_FILE7 to MEMORY_FILE8, 9, 10, 11 etc.
this was just my first idea with a quick glance at the files.
but yeah if you are using other software to open the BGV file, please let me know. if you have converted it to a .3ds and need that modified I can mess with it and modify it to your needs. well since there isnt a tool for it Im only using hex editor to edit models and uvs tho not much luck with models because as I told you before I cant add more vertex data or vertices it ll just result in crashing the game
Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
I mean there is a blender plugin that allows us to import cars tho we cant import custom meshes into the game
Posts: 15
Threads: 6
Joined: Mar 2021
04-23-2021, 12:32 PM
(This post was last modified: 04-23-2021, 12:43 PM by Joshex.)
(04-22-2021, 03:35 PM)kotori ii Wrote: (04-21-2021, 05:57 PM)Joshex Wrote: (04-21-2021, 12:15 PM)kotori ii Wrote: well since there isnt a tool for it Im only using hex editor to edit models and uvs tho not much luck with models because as I told you before I cant add more vertex data or vertices it ll just result in crashing the game
Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
I do mod them live though anyway the thing is if the file size doesnt change I can add as much vertex data without getting the game crash more vertices too but you know if file size doesnt change Im just curious about the mesh header because it has all the imporant data about the messed up graphics part I usually get that when swapping body parts inbetween cars but the thing is the mesh itself swaps perfectly tho some stuff like the mesh model sometimes doesnt appear I know whats causing it fixing it also possible but I dont know yet and prob never will also I ve never used cheat engine to mod models sounds absurd anyway the thing I wanna say is the most important one the mesh header Im pretty sure it has calculated vertice count or the vertex(?) so whenever u go above it crashes but with no errors whatsoever
(04-21-2021, 05:57 PM)Joshex Wrote: (04-21-2021, 12:15 PM)kotori ii Wrote: well since there isnt a tool for it Im only using hex editor to edit models and uvs tho not much luck with models because as I told you before I cant add more vertex data or vertices it ll just result in crashing the game
Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
I mean there is a blender plugin that allows us to import cars tho we cant import custom meshes into the game
ok. so it's as I figured the game is looking for car meshes that it recognises. so a custom car mesh wont work. changing that live even breaks it, it might be in multiple areas, not just the mesh header, for example you'd have to modify the rest of the game code that references that mesh as well, rigs, physics bounds etc.
if you want the mesh header we can ascertain that from the conversion script I posted as it will no doubt have to basically reverse engineer it to get the mesh data.
I'll look through that and see if I can find a format or order to the mesh header. though as I said this probably wont be the only thing standing between you and this mod.
http://wiki.xentax.com/index.php/BMS#GoTo I'll be reading up on this extraction script syntax to make heads or tails of this.
Posts: 7
Threads: 1
Joined: Nov 2020
(04-23-2021, 12:32 PM)Joshex Wrote: (04-22-2021, 03:35 PM)kotori ii Wrote: (04-21-2021, 05:57 PM)Joshex Wrote: Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
I do mod them live though anyway the thing is if the file size doesnt change I can add as much vertex data without getting the game crash more vertices too but you know if file size doesnt change Im just curious about the mesh header because it has all the imporant data about the messed up graphics part I usually get that when swapping body parts inbetween cars but the thing is the mesh itself swaps perfectly tho some stuff like the mesh model sometimes doesnt appear I know whats causing it fixing it also possible but I dont know yet and prob never will also I ve never used cheat engine to mod models sounds absurd anyway the thing I wanna say is the most important one the mesh header Im pretty sure it has calculated vertice count or the vertex(?) so whenever u go above it crashes but with no errors whatsoever
(04-21-2021, 05:57 PM)Joshex Wrote: Ah, ok so we're getting somewhere. so this isn't so much about model extraction or acquisition, this is about Game Modding.
ok well. this could happen for a few reasons. most likely:
1: carefully designed scene budgets (your added vertexes are putting it over the maximum allowed memory for real-time graphics). (in this case I doubt it but meh, we'll leave it on the list.)
2: Shape Keys, Armatures, Lattices or form grabbing physics code, or region based division code; if the game not only uses the model file but that model file's contents have to match something else (most likely a rig for movement) that would definitely crash the game when it finds the 2 lists don't match. it'd be throwing an exception "key not found in list" or "extra keys found after expected end".
sometimes this ends in messed up graphics, but other times (such as with certain game engines in my experience *cough*UE4*cough*) even slight alterations to the scale of the existing model's vertexes will cause an exception on import. I recently did a mod for Hatred. and lets just say, if you changed anything from the default models they provide, it would give you an exception. even though they claim to support modding and have an import/export feature.
so it's likely the game itself or the game engine just does not like modding. now sometimes you can still mod these games, but you'd have to mod them live (rather than trying to import things or mod them offline then boot up). to mod live you'd need to find the mesh in live memory with cheat engine and attempt to modify it and save that modification for quick application next time you run it.
I mean there is a blender plugin that allows us to import cars tho we cant import custom meshes into the game
ok. so it's as I figured the game is looking for car meshes that it recognises. so a custom car mesh wont work. changing that live even breaks it, it might be in multiple areas, not just the mesh header, for example you'd have to modify the rest of the game code that references that mesh as well, rigs, physics bounds etc.
if you want the mesh header we can ascertain that from the conversion script I posted as it will no doubt have to basically reverse engineer it to get the mesh data.
I'll look through that and see if I can find a format or order to the mesh header. though as I said this probably wont be the only thing standing between you and this mod.
http://wiki.xentax.com/index.php/BMS#GoTo I'll be reading up on this extraction script syntax to make heads or tails of this. what do you exactly mean by saying looking for car meshes that it recognizes? it also weird why it breaks what program u use to mod it I assume its either cheat engine or hex tho mesh editing with ce sounds absurd also recently did this https://i.imgur.com/rkp2IRc.jpg and after I edited it https://imgur.com/p2c1nbG
Posts: 15
Threads: 6
Joined: Mar 2021
(04-23-2021, 01:52 PM)kotori ii Wrote: (04-23-2021, 12:32 PM)Joshex Wrote: (04-22-2021, 03:35 PM)kotori ii Wrote: I do mod them live though anyway the thing is if the file size doesnt change I can add as much vertex data without getting the game crash more vertices too but you know if file size doesnt change Im just curious about the mesh header because it has all the imporant data about the messed up graphics part I usually get that when swapping body parts inbetween cars but the thing is the mesh itself swaps perfectly tho some stuff like the mesh model sometimes doesnt appear I know whats causing it fixing it also possible but I dont know yet and prob never will also I ve never used cheat engine to mod models sounds absurd anyway the thing I wanna say is the most important one the mesh header Im pretty sure it has calculated vertice count or the vertex(?) so whenever u go above it crashes but with no errors whatsoever
I mean there is a blender plugin that allows us to import cars tho we cant import custom meshes into the game
ok. so it's as I figured the game is looking for car meshes that it recognises. so a custom car mesh wont work. changing that live even breaks it, it might be in multiple areas, not just the mesh header, for example you'd have to modify the rest of the game code that references that mesh as well, rigs, physics bounds etc.
if you want the mesh header we can ascertain that from the conversion script I posted as it will no doubt have to basically reverse engineer it to get the mesh data.
I'll look through that and see if I can find a format or order to the mesh header. though as I said this probably wont be the only thing standing between you and this mod.
http://wiki.xentax.com/index.php/BMS#GoTo I'll be reading up on this extraction script syntax to make heads or tails of this. what do you exactly mean by saying looking for car meshes that it recognizes? it also weird why it breaks what program u use to mod it I assume its either cheat engine or hex tho mesh editing with ce sounds absurd also recently did this https://i.imgur.com/rkp2IRc.jpg and after I edited it https://imgur.com/p2c1nbG
I'm not running the game. I'm just trying to help get the data about the header. I was responding to when you said it was breaking the game when you added vertexes to the mesh.
When I said "car meshes it recognizes" I meant it may have a built-in list of models and load them by name or swap graphics by mesh name. it's possible if it is calculating the meshes in the header that it has some sort of base mesh which it is editing live, that would explain why it would crash sometimes, if the game went looking for a specific set of edges to subdivide and tried to do so, then tried to grab a set number of vertexes created by subdividing the mesh and translate or scale them but it found that the points in the list of subdivided points was more or less than it assumed it would be that could crash it.
I took a look at the export script, it does not contain information for the mesh header. Instead the export script I gave merely rips all sub-files from the game file in descriminantly. with that, I have very little way to translate the file into any workable form so I can see what the file format actually contains. the hex editor was a dead end for me as there is no text for me to go off of just binary. At my current skill level I don't think I can supply any more help.
Posts: 7
Threads: 1
Joined: Nov 2020
its fine thank you for your work
|