User:Chris/WIP/VPPTSV

From Virtual Paradise Wiki
Revision as of 11:00, 9 January 2013 by Chris (talk | contribs) (Created page for the VPPTSV format)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Under construction

VP Propdump TSV Version 1 (VPPTSV1)

A simple propdump format for VP. Based on the Tab-separated values format, the VPPTSV format is intended to be a universal format for storing the object data of worlds in VP and allowing them to be easily edited. Compatibility with widely available spreadsheet and text editor software mean that no additional programs need to be downloaded. Many computer programs support the TSV format. This is a very flexible format which produces small file sizes and may be altered for different purposes.

The format could be used to store a few builds or an entire world. It could be used as an intermediate format when converting between different formats. By providing a text representation of objects, it can make modification of multiple objects a much easier task, for instance if a person needs to modify each texture on an object and replace it with a different one.

File format specification

The specification is still currently a work in progress.

Each line in a VPPTSV file is an individual object, with the data values being separated by tab characters. The magic number or header which must be the first line is "vp propdump tsv1". This is used to identify the file format and version.
Programs parsing the file should ignore lines that start with a hash # allowing for comments to be added such as the creation date and world.
There is an optional heading for each column which is intended to help users identify the value in each column, it should also be ignored by programs parsing the file.

SDK Attribute Name
VP_OBJECT_USER_ID
VP_OBJECT_TIME
VP_OBJECT_X
VP_OBJECT_Y
VP_OBJECT_Z
VP_OBJECT_ROTATION_X
VP_OBJECT_ROTATION_Y
VP_OBJECT_ROTATION_Z
VP_OBJECT_ROTATION_ANGLE
VP_OBJECT_TYPE
VP_OBJECT_MODEL
VP_OBJECT_DESCRIPTION
VP_OBJECT_ACTION
VP_OBJECT_DATA
VPPTSV Attribute Name
Owner
DateTime
PositionX
PositionY
PositionZ
RotationX
RotationY
RotationZ
RotationAngle
ObjectType
Model
Description
Action
ObjectData
C# Data Type
int
DateTime
float
float
float
float
float
float
float
int
string
string
string
byte[]

Newline is replaced with \n and tab is replaced with \t
The header version may be changed to 1.1 or 1b (and so on) if a small update is made to the specification.

Sample

vp propdump tsv1
# Created:	30/12/2012 08:50:43
# World:	Blizzard

Owner	DateTime	PositionX	PositionY	PositionZ	RotationX	RotationY	RotationZ	RotationAngle	ObjectType	Model	Description	Action	ObjectData
13	27/10/2012 03:52:51	-50	0.0149999	-23.76	0	-1	0	3.141593	0	walk007h.rwx	test	create texture road7
13	27/10/2012 03:52:51	-49.99501	-0.4800002	-23.24999	0	1	0	0	0	wall001h.rwx		create texture tan_brick
13	27/10/2012 03:52:51	-50	-9.674579E-08	-22.76	0	-1	0	3.141593	0	walk007h.rwx		create texture roadas
151	13/12/2012 03:02:25	30.54992	-3.130365E-07	14.73999	0	-1	0	3.141593	0	p:w100x400,0,.5.rwx		create color white
151	13/12/2012 03:02:35	30.79991	-3.130365E-07	14.73999	0	-1	0	3.141593	0	unit04		create color white,scale 2 2 .25
151	13/12/2012 03:03:44	30.49992	-3.130365E-07	14.58999	0	-1	0	1.570796	0	p:w300x400,0,.5.rwx		create color white
151	13/12/2012 03:03:39	30.49992	-0.1000003	14.23999	0	-1	0	1.570796	0	unit04		create color white,scale 2 2 .25
151	13/12/2012 03:04:03	30.49992	0.2999997	14.23999	0	-1	0	1.570796	0	p:w400x100,0,.5.rwx		create color white
151	13/12/2012 03:04:34	30.49992	-2.081924E-07	14.73999	-1	3.822869E-07	3.164966E-07	1.570796	0	p1rec0025b		create color b,scale .5 3
151	13/12/2012 03:04:39	30.49992	1.784422E-07	14.03999	-1	3.822869E-07	3.164966E-07	1.570796	0	p1rec0025b		create color b,scale .5 3
151	13/12/2012 03:05:35	30.44992	-3.130365E-07	14.73999	0	-1	0	3.141593	0	p:w100x400,0,.5.rwx		create color white
151	13/12/2012 03:06:10	30.19992	-3.130365E-07	14.73999	0	-1	0	3.141593	0	unit04		create color white,scale 2 2 .25

See also