Quantcast

Jump to content

» «
Photo

GTA5 Research Thread

15 replies to this topic
Jestic
  • Jestic

    Chris

  • Feroci Racing
  • Joined: 16 Oct 2005
  • Netherlands

#1

Posted 17 September 2013 - 12:40 PM

GTA5 has released. Which means the research of new files can begin! I will update this thread together with tank1 (post under me). First i'll be playing GTA5 myself, so don't expect a lot of updates from me in the following days.


tank1
  • tank1

    Player Hater

  • Members
  • Joined: 09 May 2013

#2

Posted 17 September 2013 - 12:49 PM Edited by tank1, 17 September 2013 - 12:56 PM.

So, at the moment I have researched mainly text file formats, found new zone files :), looks like they have been slightly changed:

image.png
Train paths looks the same as in gta IV they were:

image.png

Scripts for maxscript:

A script for importing zone files:

fn create_zone unk1 x1 y1 z1 x8 y8 z8 unk2 unk3  =
(
	zone = box length:10 width:10 height:10
	convertToPoly zone
	zone.name = unk1
	x1 = x1 as float
	polyop.setVert zone 1 [x1,y1,z1]
	polyop.setVert zone 2 [x8,y1,z1]
	polyop.setVert zone 3 [x1,y8,z1]
	polyop.setVert zone 4 [x8,y8,z1]
	
	polyop.setVert zone 5 [x1,y1,z8]
	polyop.setVert zone 6 [x8,y1,z8]
	polyop.setVert zone 7 [x1,y8,z8]
	polyop.setVert zone 8 [x8,y8,z8]
	
)
fn import_file = 
(
	in_file = getopenfilename types:"popzone (*.ipl)|*.ipl"
	if in_file != undefined then
	(
		rfile = openfile in_file mode:"rt"
		Strng = readLine rfile as string
		if Strng == "zone" then
		(
			while not eof rfile do
			(
				Strng = readLine rfile  as stringStream
				unk1 = readDelimitedString Strng ", "
				if unk1 == "end" do exit
				x1 = readvalue Strng
				y1 = readvalue Strng
				z1 = readvalue Strng
				x8 = readvalue Strng
				y8 = readvalue Strng
				z8 = readvalue Strng
				unk2 = readDelimitedString Strng ", "
				unk3 = readvalue Strng "\n"
				values = #()
				create_zone unk1 x1 y1 z1 x8 y8 z8 unk2 unk3
			)
		)
		close rfile
		completeRedraw()
		messagebox "Done !"
	)
)
fn import_file_2 =
(
	in_file = getopenfilename types:" (*.ipl)|*.ipl"
	if in_file != undefined then
	(
		rfile = openfile in_file mode:"rt"
		Strng = readLine rfile as string
		if Strng == "mzon" then
		(
			while not eof rfile do
			(
				Strng = readLine rfile  as stringStream
				x1 = readDelimitedString Strng ", "
				if x1 == "end" do exit
				y1 = readvalue Strng
				z1 = readvalue Strng
				x8 = readvalue Strng
				y8 = readvalue Strng
				z8 = readvalue Strng
				unk2 = readDelimitedString Strng ", "
				unk3 = readvalue Strng "\n"
				values = #()
				unk1 = unk2
				create_zone unk1 x1 y1 z1 x8 y8 z8 unk2 unk3
			)
		)
		close rfile
		completeRedraw()
		messagebox "Done !"
	)
)
rollout zone "Import zone" width:171 height:104
(
	button btn1 "Import zone" pos:[27,18] width:114 height:35
	button btn2 "Import mzone" pos:[28,58] width:114 height:35
	on btn1 pressed do
	(
		clearListener()
		import_file()
	)
	on btn2 pressed do
	(
		clearListener()
		import_file_2()
	)
)
createDialog zone

A script for importing train paths (can do multiple files at once):
 

fn load_dat_file f_path =
(
	l_name = getFilenameFile(f_path)
	rfile = openfile f_path mode:"rt"
	cnt = readvalue rfile as integer
	p_shape = splineshape()
	addnewspline p_shape
	p_shape.name = l_name
	for i = 1 to cnt do
	(
		x1 = readvalue rfile as float
		y1 = readvalue rfile as float
		z1 = readvalue rfile as float
		unk1 = readvalue rfile
		addKnot p_shape 1 #corner #line [x1,y1,z1]
		if unk1 != 0 then
		(
			d_name = unk1 as string
			dummy pos:[x1,y1,z1] name:d_name
		)
	)	
	updateShape p_shape
	close rfile
)
fn import_train_paths =
(
	theDialog = dotNetObject "System.Windows.Forms.OpenFileDialog"
	theDialog.title = "Train Paths" 
	theDialog.Multiselect = true 
	theDialog.Filter = "Train Paths (*.dat)|*.dat|All Files (*.*)|*.*" 
	theDialog.FilterIndex = 1
	result = theDialog.showDialog()
	result.ToString()
	if result.Equals result.OK then
	(
		theFilenames = theDialog.fileNames
		for i = 1 to theFilenames.count do
		(
			load_dat_file(theFilenames[i])
		)
		completeRedraw()
		messagebox "Done !"
	)
	else
	(
		if result.Equals result.Cancel then
		(
			messagebox "Canceled !"
		)
	)
)
rollout train_paths "Import train paths" width:171 height:69
(
	button btn1 "Import" pos:[27,18] width:114 height:35
	on btn1 pressed do
	(
		clearListener()
		import_train_paths()
	)
)
createDialog train_paths 

Will continue researching on other things and update this post.


GTARandom
  • GTARandom

    Unfortunate piece of meat

  • Feroci Racing
  • Joined: 15 Jun 2009
  • Croatia

#3

Posted 17 September 2013 - 01:16 PM

How is it IV Other? Hmmk


Deadly Target
  • Deadly Target

    Rat

  • Members
  • Joined: 12 Apr 2010

#4

Posted 17 September 2013 - 07:01 PM

Can anyone confirm if this is legitimate?

 

grand-theft-auto-5-code-jpg.jpg?w=650

 

I find it hard to believe Rockstar would leave that in there.


Jestic
  • Jestic

    Chris

  • Feroci Racing
  • Joined: 16 Oct 2005
  • Netherlands

#5

Posted 17 September 2013 - 07:24 PM



Can anyone confirm if this is legitimate?

 

grand-theft-auto-5-code-jpg.jpg?w=650

 

I find it hard to believe Rockstar would leave that in there.

 

Yes, it's been confirmed by multiple people, including myself. It's not weird, they leave a lot of stuff in (dropped vehicles data, names of dropped songs from the radio). They can't be arsed to remove it I guess. Also, this is free publicity for them, since it's no official confirmation from R* themselves, they don't need to worrry about people not getting the console version instead waitinf for pc\nextgen.

  • Deadly Target likes this

Deadly Target
  • Deadly Target

    Rat

  • Members
  • Joined: 12 Apr 2010

#6

Posted 17 September 2013 - 07:40 PM

Thanks man! That's good to know. I'm looking forward to what you all do with V when it comes out for PC. :)

brian.
  • brian.

    Possible Descendant Of Kraff

  • BUSTED!
  • Joined: 13 Jan 2012

#7

Posted 19 September 2013 - 07:35 AM

Here is Blista Compact handling ported back to IV from V.

 

It does make the car handle more like V cars seem to, and it feels nice, but it spins out. I think because it lacks the ABS and a couple other sections, but really cool, and the damage is much more realistic - takes mass to hurt the car, pretty neat:

BLISTA       1200.0  8.0   85 0.0 0.0 -0.13      1.0  5  0.23  1.0 135.0 0.6  0.65 0.4  36.0 2.05 1.75 21.5 0.15 0.7    2.2  1.3  2.2  0.10 -0.10 0.0  0.5   0.7 1.0 0.7 1.5 0.0  35000 440010 0 0

representa
  • representa

    Street Cat

  • Members
  • Joined: 30 Jun 2013

#8

Posted 19 September 2013 - 08:11 AM

^^^ Thats pretty cool, will test it out.

 

Is there still an action table? if so, would somebody kindly send it to me. along with ped files. I really want to be on top of this.

 

You think there is possibility to port Max Payne 3 characters once the game arives?


Jestic
  • Jestic

    Chris

  • Feroci Racing
  • Joined: 16 Oct 2005
  • Netherlands

#9

Posted 19 September 2013 - 02:54 PM Edited by Blaster_nl, 19 September 2013 - 02:54 PM.


You think there is possibility to port Max Payne 3 characters once the game arives?

 

We can't even export MP3's model yet to a text\readable format. It will take quite some time, peds are complicated. First stop is texture editing, followed by  collision editing and then model editing (that's how OpenIV worked on IV)


XEPOMAHT007
  • XEPOMAHT007

    ______________________

  • Members
  • Joined: 18 Nov 2009
  • Russia

#10

Posted 19 September 2013 - 04:09 PM

Water.xml

3e2e6db2cf95.png

brian.
  • brian.

    Possible Descendant Of Kraff

  • BUSTED!
  • Joined: 13 Jan 2012

#11

Posted 20 September 2013 - 07:55 AM Edited by brian., 20 September 2013 - 07:56 AM.

I figured that was how they were handling the shoreline. pretty cool. what are the big green planes in the center for? is that the inland bodies, they stay foamy or what?

 

I guess the rivers are all mesh based with flow maps, or are they literally just scrolling UV's?


KawakSallas
  • KawakSallas

    Kifflom

  • Members
  • Joined: 15 May 2012
  • None

#12

Posted 20 September 2013 - 10:28 PM

How much of V can be ported to IV? Like, timecyc, handling, some textures and such


tank1
  • tank1

    Player Hater

  • Members
  • Joined: 09 May 2013

#13

Posted 21 September 2013 - 12:18 AM Edited by tank1, 21 September 2013 - 12:18 AM.

For a few days I was trying to get some information about object placements, finally I have loaded something (instead of objects were used dummies):

image.png


brian.
  • brian.

    Possible Descendant Of Kraff

  • BUSTED!
  • Joined: 13 Jan 2012

#14

Posted 21 September 2013 - 09:09 PM Edited by brian., 21 September 2013 - 09:10 PM.

Cross post via zerofreeze in the "For the PC People From Rockstar" thread.  :^:

http://gtaforums.com...from-r/page-221

 

 

So in the graphics_pc.xtd and sys include these files:

 

3pj.png

 

dqz.png

 

PetkaGtA
  • PetkaGtA

    Mark Chump

  • Members
  • Joined: 07 Oct 2012

#15

Posted 08 May 2014 - 11:07 PM

I researched xmap and xtyp files and managed to get structures out of them with 010 editor

in each file there is a header - 128/112 bytes(xtyp - 112,xmap - 128) then there is data

each object has data struct - 112 bytes but i can't get start and end offset atm so i read everything since 128/112 byte with this two structs

struct XTYP_Obj{
    int unk0[4];
    int unk1;//probably lod xdd hash not sure
    float DrawDistance;
    int unk2[2];
    Vector4 minAABB;//w always equals 0x7FC00001
    Vector4 maxAABB;//w always equals 0x7FC00001
    Vector4 unk3;
    float unk4;
    float unk5;
    unsigned int modelHash;
    unsigned int textuteHash;
    int unk6[4];
};
struct INST_Obj{
    int unk0;
    unsigned int modelHash;
    int unk1[2];
    Vector4 pos;//w always equals 0x7FC00001
    Vector4 rotation;
    Vector3 unk2;
    float DrawDist;// 2nd time?
    int unk3[12];
};

actually i can get positions and rotations and other stuff from xmap and xtyp files


NTAuthority
  • NTAuthority

    member_title

  • Feroci Racing
  • Joined: 09 Sep 2008
  • European-Union
  • Most Knowledgeable [Technology] 2013
    Best Map 2013 "ViceCityStories PC Edition"

#16

Posted 11 May 2014 - 06:20 PM Edited by NTAuthority, 11 May 2014 - 06:23 PM.

@petkagta: this is wrong, the header isn't followed by just archetypes/entity instances; the header contains a pointer to a metatable structure located somewhere in the middle of the file which contains hashes of classes such as CMapData, CTimeArchetypeDef and CEntityDef, in itself containing sizes/pointers to structures like the one you listed. Try reading up on RAGE resources :)
 
also worth to note: the floating points as seen in the position W are instances of one of the IEEE 754 NaN values.
 
+ 'actually i can get positions and rotations and other stuff from xmap and xtyp files'

it's amazing right? nobody else can but you!
  • bst81 likes this




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users