Page 1 of 2

Chaos Rings 3 mvgl

Posted: Sun Mar 08, 2015 6:33 pm
by chrrox
Here is a script to extract these .mvgl archives.
ImageImage

Code: Select all

#Chaos Rings 3
#quickbms script by chrrox
#http://www.chaosrings.com/3/
comtype doboz
IDSTRING "MDB1"
get COUNT1 short
get COUNT2 short
get FILES long
get BASE long
get ARCHIVE_SIZE long

for i = 0 < COUNT1
	get UNK01 short
	get UNK02 short
	get UNK03 short
	get UNK04 short
	putarray 0 i UNK01
	putarray 1 i UNK02
	putarray 2 i UNK03
	putarray 3 i UNK04
next i

for i = 0 < COUNT2
	getdstring EXT 4
	getdstring NAME 0x3C
	putarray 4 i NAME
	putarray 5 i EXT
next i

for i = 0 < FILES
	get OFFSET long
	math OFFSET += BASE
	get SIZE long
	get ZSIZE long
	putarray 6 i OFFSET
	putarray 7 i SIZE
	putarray 8 i ZSIZE
next i

for i = 0 < COUNT1
	getarray VAR1 1 i
	if VAR1 != 0xFFFF
		getarray NAME 4 i
		getarray EXT 5 i
		if EXT == "img "
		    set EXT string "pvr"
		endif
		string NAME += "."
		string NAME += EXT
		getarray OFFSET 6 VAR1
		getarray SIZE   7 VAR1
		getarray ZSIZE  8 VAR1 
		if ZSIZE == SIZE
			log NAME OFFSET ZSIZE
		else
			clog NAME OFFSET ZSIZE SIZE
		endif
	endif
next i

Re: Chaos Rings 3

Posted: Sun Mar 08, 2015 7:38 pm
by TheDude
I hope that's sweat...

Re: Chaos Rings 3

Posted: Mon Mar 09, 2015 4:00 am
by lllccc
DAMN!!! you are god !!! thank you soo muchXD

Re: Chaos Rings 3 mvgl

Posted: Mon Mar 09, 2015 5:05 am
by howfie
that's what i call false advertising LMAO!

Re: Chaos Rings 3 mvgl

Posted: Wed Mar 11, 2015 12:17 pm
by Szkaradek123
Hi
Here is importer for rigged and textured characters (files like c101,c127....) from this game.
It requires Blender version 249b and Python 2.6.6.
How to use:
1.run Blender249.blend
2.in Blender Text Window press alt+p and select:
- geom file for textured meshes
- skel file - for skeleton
Make sure there is "images" folder in geom files folder.
The script use PVRTexToolCLI.exe for convert images.

Update 2015-03-12
http://www.mediafire.com/download/oc7uu ... -12%5D.zip

Re: Chaos Rings 3 mvgl

Posted: Wed Mar 11, 2015 11:22 pm
by chrrox
instead of the if statement on uv's you could use

Code: Select all

                    elif fvfList[c][0] == 5:
                        f.seek(mshInfo[17] + fvfList[c][5] + (b * mshInfo[2]), 0)
                        uArray.append( abs(struct.unpack("h",f.read(2))[0]) / 1024.0)
                        vArray.append( (struct.unpack("h",f.read(2))[0] / 1024.0) + 1 )
and i noticed.

Code: Select all

                    elif fvfList[c][0] == 3:
                        f.seek(mshInfo[17] + fvfList[c][5] + (b * mshInfo[2]), 0)
                        normal = struct.unpack("3H",f.read(6))
                        normalArray.append(om.MFloatVector(normal[0] / 0xFFFF, normal[1] / 0xFFFF, normal[2]/ 0xFFFF))

Re: Chaos Rings 3 mvgl

Posted: Sun Aug 16, 2015 12:10 pm
by Deary5
Can you teach me how to rig models from Chaos rings? And how to use this script and what app to use this script?

Re: Chaos Rings 3 mvgl

Posted: Sun Aug 16, 2015 5:02 pm
by Farrent0
for the archive you need quickbms to run chrrox's script.
Blender, Python, PVRTexToolCLI it's needed for import characters, and already rigged.

Re: Chaos Rings 3 mvgl

Posted: Mon Aug 17, 2015 12:18 am
by Deary5
Btw,what file i use to get the model? I have download apk and obb file,which file should I export?

Re: Chaos Rings 3 mvgl

Posted: Mon Aug 17, 2015 12:21 am
by Deary5
@Farrent0: If you don't mind,can you teach me from the beginning until I managed to export it? I really want to learn rig Chaos Rings models

Re: Chaos Rings 3 mvgl

Posted: Mon Aug 17, 2015 4:09 pm
by Farrent0
run chrrox's script to extract obb file, then you can follow Szkaradek123's guide.

Re: Chaos Rings 3 mvgl

Posted: Thu May 12, 2016 11:42 pm
by Deary5
Farrent0 wrote:run chrrox's script to extract obb file, then you can follow Szkaradek123's guide.
Well it's been a long time since i last log in. But i still trying to ripping this models. But do you know where is Szkaradek123's guide? It seem i can't found it and how do i run chrrox's script to extract obb file?

Re: Chaos Rings 3 mvgl

Posted: Fri Sep 30, 2016 6:49 pm
by MrYoso
How can I repack the modified files back to mvgl?

Re: Chaos Rings 3 mvgl

Posted: Tue Mar 28, 2017 10:09 pm
by Tosyk
trying to load c101 char: skeleton works fine but geom gives me this:

Code: Select all

D:\chaos_rings_3_android\_work\main\c101.geom
======================================================================
Traceback (most recent call last):
  File "chaosring3.py", line 167, in openFile
    parser=Parser()
  File "chaosring3.py", line 151, in Parser
    geomParser(filename,g)
  File "chaosring3.py", line 75, in geomParser
    boneMap=g.i(mesh.A[0])
  File "C:\Program Files (x86)\Blender Foundation\Blender249b\newGameLib\myLibra
ries\binaresLib.py", line 100, in i
    data=struct.unpack(self.endian+n*'i',self.inputFile.read(n*4))
struct.error: unpack requires a string argument of length 4608
any suggestions?

Re: Chaos Rings 3 mvgl

Posted: Fri Nov 30, 2018 6:15 pm
by ofthriceandmen
I've been trying to use this for Digimon Story Cyber Sleuth Hacker's Memory (specifically, the Japanese Anime Sound Edition, there is a hidden english mode that isn't accessible that I'm working on)
This game uses the same file formats as Chaos Rings 3.
This quickbms script did unpack the mvgl after I decrypted it with psvpfsparer.
After that, I deleted 4 folders and modified nothing else.
I tried to repack the files using the same quickbms script but it gave me the same error for every files: signature of offset ___________ is doesn't match the one expected by the script (it wasn't the same offset for them all).

Why did this happen? I didn't modify any of the files so why are they all incorrect?

Before this I tried replacing some jp image files with en ones but the eng ones were bigger than the jp ones, which is why i wanted to repack the whole thing any of the 4 non-English folders, so I didn't have to worry about replacing them with files that were too big. I believe either approach would work to my purposes but I get either to repack, albeit for different reasons.


If I can't solve this problem I can't do this project.

Thanks.