Page 26 of 52

Re: World of Warships

Posted: Mon Sep 28, 2015 11:14 am
by gr33nmous3
Wobble wrote:It's a Phython module or database object.

Just search for "ccopy_reg_reconstructor" and "c__builtin__object" and you'll get a couple hits on Google.
I don't use Phython, so I have no idea how to use it.
It's a python pickle, the game uses a few of those for network data as well.

Re: World of Warships

Posted: Mon Sep 28, 2015 11:13 pm
by Wobble
[out]

Re: World of Warships

Posted: Tue Sep 29, 2015 1:40 am
by TheSeeker
Wobble wrote:6MB is too much data to look at.

You can use regex to rip out all strings between single quotes:

Code: Select all

grep32.exe "S\'[a-zA-Z0-9_/\.-]+\'" GameParams.dat.txt > GameParams_strings.txt
All content paths:

Code: Select all

grep32.exe "S\'content[a-zA-Z0-9_\\/\.-]+\'" GameParams.dat.txt > GameParams_paths.txt
I'll throw my hat in the ring, here's a response from a dev -
Image

Re: World of Warships

Posted: Tue Sep 29, 2015 3:05 am
by Wobble
[out]

Re: World of Warships

Posted: Tue Sep 29, 2015 6:19 am
by gr33nmous3
To get the pickle working you have to have a file named 'GameParams.py' in the same location as the main script for it's instanced classes.

Code: Select all

class TypeInfo(object): pass
class GPData(object): pass
class GameParams: pass
After this the pickle would load normally. The data does reference some additional models, but it contains a lot more than just the ships.

Code: Select all

try:
    import cPickle as pickle
except:
    import pickle

f = open('GameParams.txt')
gameParams = pickle.load(f)
f.close()

# Do something with gameParams
print gameParams['PWSD501_Blyskawica'].ArtilleryDefault.HP_WGM_1.model
Standard python to dump json text as well

Code: Select all

# ...
f.close()

import json
class GPEncode(json.JSONEncoder):
    def default(self, o):
        return o.__dict__

f = open('PWSD501_Blyskawica.json')
f.write(json.dumps(gameParams['PWSD501_Blyskawica'], cls=GPEncode, sort_keys=True, indent=4, separators=(',', ': ')))
f.close()

Re: World of Warships

Posted: Tue Sep 29, 2015 6:24 am
by TheSeeker
gr33nmous3 wrote:To get the pickle working you have to have a file named 'GameParams.py' in the same location as the main script for it's instanced classes.

Code: Select all

class TypeInfo(object): pass
class GPData(object): pass
class GameParams: pass
After this the pickle would load normally. The data does reference some additional models, but it contains a lot more than just the ships.

Code: Select all

try:
    import cPickle as pickle
except:
    import pickle

f = open('GameParams.txt')
gameParams = pickle.load(f)
f.close()

# Do something with gameParams
print gameParams['PWSD501_Blyskawica'].ArtilleryDefault.HP_WGM_1.model
Thanks m8, I put all of your scripts in a zip:http://www.mediafire.com/download/jrqf1 ... ractor.zip

copy your GameParams.data file into the extracted folder, then run reverse first, then inflate - everything.py dumps all the contents into one .json (the result is a 30mb monster), shipids.py lists all the shipids and the ships they correspond to

Re: World of Warships

Posted: Tue Sep 29, 2015 7:33 pm
by Wobble
[out]

Re: World of Warships

Posted: Tue Sep 29, 2015 9:29 pm
by Andrakann
Wobble wrote:Awesome. Can you get your scripts working with the latest Python version, 3.5.0?
I'm getting several errors.
I have Python26 installed and all works fine.

Re: World of Warships

Posted: Tue Sep 29, 2015 11:13 pm
by gr33nmous3
Wobble wrote:Awesome. Can you get your scripts working with the latest Python version, 3.5.0?
I'm getting several errors.
The scripts were written for Python 2.7, I have no clue what differences python3 has with 2.

Re: World of Warships

Posted: Tue Sep 29, 2015 11:54 pm
by Wobble
[out]

Re: World of Warships

Posted: Wed Sep 30, 2015 2:16 am
by Andrakann
TheSeeker wrote:shipids.py lists all the shipids and the ships they correspond to
Very useful, with that IDs I made a mod for previewing all available ships ingame :)

Image Image Image
Image Image Image

Archive content:
gui\lobby\shipstree.xml - modified ships tree, all ships unhidden, display resolution 1920x1080 is recommended.
camerasConfig.xml - camera mod for close zooming.
postfx_animations.xml - disable B/W shader in ships preview.

Re: World of Warships

Posted: Wed Sep 30, 2015 4:28 am
by TheSeeker
Andrakann wrote:
TheSeeker wrote:shipids.py lists all the shipids and the ships they correspond to
Very useful, with that IDs I made a mod for previewing all available ships ingame :)

Image Image Image
Image Image Image

Archive content:
gui\lobby\shipstree.xml - modified ships tree, all ships unhidden, display resolution 1920x1080 is recommended.
camerasConfig.xml - camera mod for close zooming.
postfx_animations.xml - disable B/W shader in ships preview.
I've had a mod out for quite some time that does this, except for the Worcester, Smith, and Pensacola 1930 which iirc are broken, if you click on them, they won't finish loading.
http://forum.worldofwarships.com/index. ... tech-tree/

Re: World of Warships

Posted: Wed Sep 30, 2015 9:03 am
by Wobble
[out]

Re: World of Warships

Posted: Wed Sep 30, 2015 11:21 am
by gr33nmous3
Coffee wrote:The only reference to BIN files, in what little bigworld documentation I have is not even close
Speaking of those .BIN files, what do you know? There's only one .bin file in the game, res/particles/particles.bin and i've been trying to load that one up but I am hugely inexperienced.

Re: World of Warships

Posted: Wed Sep 30, 2015 8:51 pm
by Wobble
[out]