Spec Ops: The Line - GPD Tool
Version: 1.0.0.0
Create By: JizzaBeez
Usage:
<exe> [option] <input>
Options:
-c = Compress
-d = Decompress
Note:
The <input> must be a Xbox360 GPD!!!
How to use:
1) extract "54540843.gpd" from the xbox360 profile.
2) make a backup of your GPD just in case!!!
3) see above for decompress usage...
4) the "decompress" and "compress" files will be located in "TEMP". leave all these files in here so they can compress back to the GPD correctly!!!
5) edit the "decompress" file in the "TEMP" folder as wanted then save.
6) see above for compress usage...
7) replace the "54540843.gpd" in the profile with the new one.
8) rehash and resign the profile.
Another note:
I have included 2 files, "compress.bat" and "decompress.bat" for easy usage. Just put your GPD in the same folder as the program and .bat files and then run either "compress.bat" to compress the GPD's files or "decompress.bat" to decompress the GPD's files. You MUST decompress before you can compress!
great job jizza. another handy tool for those wanting to try to hxd there gpd personally.
06-29-2012
JizzaBeez
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by Caboose.
great job jizza. another handy tool for those wanting to try to hxd there gpd personally.
Yeah I know, I would have made a complete editor but I don't have the game or a way to find/test values... But if someone else here wanted to use this in their editor then they could. Process.Start("decompress.bat") ... lol
06-29-2012
kill_seth
Re: Spec Ops: The Line - GPD Tool
I'm not sure if changing the xp matters, but I have tried 6 different GPDs and got an error with all but one.
1. Error: Value cannot be null.
2. Error: Arithmetic operation resulted in overflow.
3. Worked.
4. Error: Arithmetic operation resulted in overflow.
5. Error: Arithmetic operation resulted in overflow.
6. Error: Arithmetic operation resulted in overflow.
If might just be the GPDs I used, the one that worked was from my profile.
06-29-2012
godzcheater
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by JizzaBeez
Yeah I know, I would have made a complete editor but I don't have the game or a way to find/test values... But if someone else here wanted to use this in their editor then they could. Process.Start("decompress.bat") ... lol
Offset 0
Count
Offset 4
Setting[Count]
Setting
Byte a(Const 2?)
Int32 ID
Byte Type
Object Value
Byte Null
Type1 Int32
Type2
Type3
Type4 String[Int32]
Type5 Single
Type6 Byte[Int32]
Did you try editing the GPD before decompressing the data? If so then you probably fucked something up.
Edit:
I just looked at your GPD and tried to open it in the Spec Ops tool and I see the error it gives. I also tried to open it in my GPD Tool and it gives the same error. I don't know why but your GPD is corrupt. Did you maybe try to edit something in it before? If so, then you corrupted it.
06-30-2012
pureIso
Re: Spec Ops: The Line - GPD Tool
Welcome back Jizz :)
06-30-2012
JizzaBeez
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by pureIso
Welcome back Jizz :)
Where did I go lol. I've been around, just observing mostly.
06-30-2012
CloudStrife7x
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by JizzaBeez
Where did I go lol. I've been around, just observing mostly.
i forgot to tell you Jizza that i put an invisibility spell on you so no one but me could see you XD, anyways looks like the spell wore off lol
06-30-2012
kill_seth
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by JizzaBeez
Did you try editing the GPD before decompressing the data? If so then you probably fucked something up.
Edit:
I just looked at your GPD and tried to open it in the Spec Ops tool and I see the error it gives. I also tried to open it in my GPD Tool and it gives the same error. I don't know why but your GPD is corrupt. Did you maybe try to edit something in it before? If so, then you corrupted it.
Nope. I loaded up the game and reinlisted, then played one match and got to level 3. Extracted the GPD and tried to use your tool, and got that error.
Edit: I got it working on my own, using MiniLZO.
06-30-2012
JizzaBeez
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by kill_seth
Nope. I loaded up the game and reinlisted, then played one match and got to level 3. Extracted the GPD and tried to use your tool, and got that error.
Edit: I got it working on my own, using MiniLZO.
So what do you think the problem is/was? It could possibly be the library that I used for the compression...
06-30-2012
kill_seth
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by JizzaBeez
So what do you think the problem is/was? It could possibly be the library that I used for the compression...
It's the destination byte() you have when using MiniLZO.Decompress. You need to read the uint32 of the compressed file at 0. Once you have that create the destination byte array with that size.
Private Function Decompress(ByVal buffer as byte()) as Byte()
'Declare your Reader(buffer, isBig=true)
Reader.Position = &H0
Dim decompressedSize = Reader.ReadUInt32()
Reader.Position = &H4
Dim sourceData = Reader.ReadBytes(Reader.BaseStream.Length - &H4)
Dim destinationData = New Byte(decompressedSize) {}
MiniLZO.Decompress(sourceData, destinationData)
return destinationData
End Function
07-01-2012
revsix6
Re: Spec Ops: The Line - GPD Tool
Excellent work on this, Jizza.
07-01-2012
JizzaBeez
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by kill_seth
It's the destination byte() you have when using MiniLZO.Decompress. You need to read the uint32 of the compressed file at 0. Once you have that create the destination byte array with that size.
Private Function Decompress(ByVal buffer as byte()) as Byte()
'Declare your Reader(buffer, isBig=true)
Reader.Position = &H0
Dim decompressedSize = Reader.ReadUInt32()
Reader.Position = &H4
Dim sourceData = Reader.ReadBytes(Reader.BaseStream.Length - &H4)
Dim destinationData = New Byte(decompressedSize) {}
MiniLZO.Decompress(sourceData, destinationData)
return destinationData
End Function
I know how to use it. Remember that I told you what compression it uses lol... If I didn't do it right to begin with then it wouldn't have worked when I was testing it. It seems that no one else is having the same problem as you or either no one else has actually used the tool... But either way I tested the tool with different GPDs before I posted it and I never had the problem that you did. And either the GPD that you posted was edited or it was corrupt because it wouldn't even open in my GPD Tool. If my GPD Tool fails to parse a GPD then that means that the GPD is corrupt or invalid. So if you did post an edited GPD then you should know that I would need the original and not an edited one to look at... And please tell me you're not using Modio to handle the profile?
07-01-2012
Jappi88
Re: Spec Ops: The Line - GPD Tool
i can confirm what jizza said , a freespace entry on your gpd is Screwed....
07-01-2012
kill_seth
Re: Spec Ops: The Line - GPD Tool
Quote:
Originally Posted by JizzaBeez
I know how to use it. Remember that I told you what compression it uses lol... If I didn't do it right to begin with then it wouldn't have worked when I was testing it. It seems that no one else is having the same problem as you or either no one else has actually used the tool... But either way I tested the tool with different GPDs before I posted it and I never had the problem that you did. And either the GPD that you posted was edited or it was corrupt because it wouldn't even open in my GPD Tool. If my GPD Tool fails to parse a GPD then that means that the GPD is corrupt or invalid. So if you did post an edited GPD then you should know that I would need the original and not an edited one to look at...
First off, I never said you didn't know how to use it, I was just letting you know what I did. Like I said, I didn't edit the GPD. I loaded the game and reinlisted, which is like Prestiging in CoD, then played a game to rank up. The GPD was 100% clean and opens in Le Fluffie's GPD Viewer without any errors. Also, I got the decompression working on the exact same GPD that doesn't work with your tool. That being said, there must be something wrong within your coding. When I was testing things, the size of the destination array would throw the overflow if it wasn't correct. One more thing, the GPD also loads in my GPD viewer 100% and I was able to work with the 3 title entries with no problem at all.
First off, I never said you didn't know how to use it, I was just letting you know what I did. Like I said, I didn't edit the GPD. I loaded the game and reinlisted, which is like Prestiging in CoD, then played a game to rank up. The GPD was 100% clean and opens in Le Fluffie's GPD Viewer without any errors. Also, I got the decompression working on the exact same GPD that doesn't work with your tool. That being said, there must be something wrong within your coding. When I was testing things, the size of the destination array would throw the overflow if it wasn't correct. One more thing, the GPD also loads in my GPD viewer 100% and I was able to work with the 3 title entries with no problem at all.
Ok well I'm sorry because I don't know what the problem could be. And since no one else has verified if the tool works for them or not then I have no idea what to do. If I had the game then I could test things but I don't. And since you say that the GPD was untouched and I was unable to even open it and parse it then I'm stumped lol... And the case is not my GPD Tool if you're wondering, because I have a folder with around 100 untouched GPDs in it and they all open flawlessly...