Tomb Raider Forums  

Go Back   Tomb Raider Forums > Tomb Raider Level Editor and Modding > Tomb Raider Level Editor > Software Development

Reply
 
Thread Tools
Old 23-02-17, 05:05   #1
skalogryz
Member
 
Joined: Feb 2017
Posts: 40
Default In the search of a perfect braid (attn: Boobandie)

in order to stop further OpenLara hijacking, I moved the discussion here

Quote:
Originally Posted by Boobandie View Post
The May 9th beta I linked has the alpha headmesh in the files. It just needs to be extracted. Unfortunately I'm not a coder and Wadmerger doesn't recognise the format. I can texture it to match the alpha, then you can inject it into the level files if you like.
How do you know it's there?

Is there specifications available for demo .wad files? (is it even in a .wad file?)
(all specs for .wad files i can find are related to TR4 and not TR1 demos)

Last edited by skalogryz; 23-02-17 at 05:06.
skalogryz is offline   Reply With Quote
Old 23-02-17, 05:45   #2
Boobandie
Member
 
Joined: Jul 2012
Posts: 4,286
Default

It was in Ghostblade's video. It's textured with a flat green texture.

Quote:
Originally Posted by Gh0stBlade View Post
You could just extract Lara's alpha head mesh which is still in the May/July 1996 PSX/PC demo used for the doppel ganger.



Then attach the braid.
Here is the May 9th Beta that was in the video. I've no idea how to extract the meshes from it. If you manage to, I can replicate Alpha Lara's head textures and fit it to match the TR1 head so you can inject it into the game.



The files inside contain CURRENT.SWD, CURRENT.TOM, and CURRENT.WAD.

How the structure differs is unknown to me, Wadmerger certainly doesn't know what it is, but in the Tomb4 format .TOM files contain the exported level data and co-ordinates for slots but not the objects themselves, so WAD is probably where the objects are. I can't remember exactly what .SWD files are, but there is no .SFX file like in TR4 so it might hold the sound effects.

EDIT: As a backup plan, I did make a head that is basically a modded more detailed TR1 head to make it fit a braid better for the TRLE, but with sunglasses added. I can seal up the TR4 joints on it and you can use that for a patch if the authentic head cannot be extracted. But the braid would need to be textured as well as this one uses hair textures from the final game rather than the plain brown from the alpha.


Last edited by Boobandie; 23-02-17 at 05:59.
Boobandie is offline   Reply With Quote
Old 23-02-17, 06:13   #3
Patie
Inactive
 
Joined: Jan 2016
Posts: 100
Default

^Looks nice!
Patie is offline   Reply With Quote
Old 23-02-17, 09:48   #4
Titak
Moderator
 
Titak's Avatar
 
Joined: Jul 2003
Posts: 33,359
Question

And how is this related to Software Development?
Because if it isn't about software development, this thread should be moved to another, more fitting, section.
Titak is offline   Reply With Quote
Old 23-02-17, 10:19   #5
Caesum
Member
 
Caesum's Avatar
 
Joined: Aug 2008
Posts: 12,070
Default

It is related to openLara and how it can show the alpha braid. This project aims at restoring the braid in every level and restore the alpha head
Caesum is offline   Reply With Quote
Old 23-02-17, 11:49   #6
Gh0stBlade
Member
 
Gh0stBlade's Avatar
 
Joined: Dec 2010
Posts: 2,773
Default

Quote:
Originally Posted by Titak View Post
And how is this related to Software Development?
Because if it isn't about software development, this thread should be moved to another, more fitting, section.
Exactly, would fit better under the Modding sub-forum for now.

====

So, I would have to suggest not going on about the May 1996 E3 demo files. Look at the July 1996 PC demo as the file format is more similar to the final game, the model which appears to resemble Lara's alpha head is also included in that demo.

There is no need for .wad specifications. The earlier builds of Tomb Raider 1 prior to late July 1996 (as of what is known) had everything split into multiple files rather than one. So the .wad file contains all objects and the structure will be similar to that of the final game with possible adjustments.

It shouldn't be hard to create a tool that injects the July 1996 mesh files into a file from the final game and use a tool to extract it that way. Unfortunately, I don't intend to go back to modding the classic Tomb Raider games since they're so old. Though I will take a quick look as I might be able to inject the single head mesh.

Cheers.
Gh0stBlade is offline   Reply With Quote
Old 23-02-17, 13:13   #7
skalogryz
Member
 
Joined: Feb 2017
Posts: 40
Default

Boobandie sorry for making you reposting all the links.

Quote:
Originally Posted by Boobandie View Post
EDIT: As a backup plan, I did make a head that is basically a modded more detailed TR1 head to make it fit a braid better for the TRLE, but with sunglasses added. I can seal up the TR4 joints on it and you can use that for a patch if the authentic head cannot be extracted. But the braid would need to be textured as well as this one uses hair textures from the final game rather than the plain brown from the alpha.
Would the resulting meshes and texture be in TR4 format?

Quote:
Originally Posted by Gh0stBlade View Post
Exactly, would fit better under the Modding sub-forum for now.
...
It shouldn't be hard to create a tool that injects the July 1996 mesh files into a file from the final game and use a tool to extract it that way.
isn't creating a tool a software development already?

July PC demo is also .wad based. Now, September demo has a .phd file (which is almost in exact format as the release .phd file, though there're 4 fields missing).
skalogryz is offline   Reply With Quote
Old 23-02-17, 13:19   #8
Boobandie
Member
 
Joined: Jul 2012
Posts: 4,286
Default

^It might not be in the september alpha. If you can manage to inject the mesh into a final tr1 phd file i can extract it with wadmerger, texture it, then post it on here. Either as a readable wad or a .tr4 file if it's easier. Im sure there is a tool about somewhere that inserts meshes into classic games already compiled levels. TRViewer?

Last edited by Boobandie; 23-02-17 at 13:21.
Boobandie is offline   Reply With Quote
Old 23-02-17, 13:22   #9
Gh0stBlade
Member
 
Gh0stBlade's Avatar
 
Joined: Dec 2010
Posts: 2,773
Default

Hey guys! I decided to write out the TR1 July 1996 PC demo structs up until the mesh data. This should be enough for someone to extract the meshes.

Important note: Polygons are not sorted like in the final game, there's a flag specifying the polygon types.

Code:
struct WadHeader
{
	unsigned int m_version;
	unsigned int m_numObjectTextures;
	unsigned int m_padding[2];
};

struct Wad
{
	WadHeader m_wadHeader;
	ObjectTexture m_objectTextures[m_wadHeader.m_numObjectTextures];//ObjectTexture length is 8
	unsigned char m_textileData[0x5FFFC‬]; //FIXME: illegal size!
	unsigned int m_numMeshTrees;
	unsigned int m_meshPointers[m_numMeshTrees];
	Mesh m_meshes[m_numMeshTrees];
};

struct PolygonFlags
{
	unsigned char m_isQuad : 1;     //bit 0001
	unsigned char m_isUnknown : 1;  //bit 0010
	unsigned char m_isColoured : 1; //bit 0100
	unsigned char m_isTextured : 1; //bit 1000
	unsigned char m_unknown : 4;
};

struct Polygon
{
	PolygonFlags m_flags;
	//If quad read 0xA like TR1 final
	//If tri read 0x8 like Tr1 final
};
struct Mesh
{
	unsigned int m_numMeshData;
	unsigned short m_center[3];
	unsigned int m_unk00;
	unsigned short m_numVertices;
	Vertex[m_numVertices];
	unsigned short m_numNormals;
	Normal[m_numNormals];
	unsigned short m_numPolygons;
	Polygon m_polygons[m_numPolygons];//Variable size not fixed!
};
Cheers.
Gh0stBlade is offline   Reply With Quote
Old 23-02-17, 14:34   #10
skalogryz
Member
 
Joined: Feb 2017
Posts: 40
Default

Quote:
Originally Posted by Gh0stBlade View Post
Hey guys! I decided to write out the TR1 July 1996 PC demo structs up until the mesh data. This should be enough for someone to extract the meshes.
D:
how did you get the structure? (Core Design ex-employee?)

I'm seeing something something a little bit different.
Code:
unsigned int m_version; // should be 21 (0x15)

unsigned int num1; //  number of  numObjecttextures?
/// note, no padding here
unsigned char data1[num1 * 8] //  8 byte per ObjectTextures 

unsigned int num2; //  number of bytes 
unsigned char data2[num2] // textures ?

unsigned int num3; //  number of bytes unsigned ints
unsigned char data3[num3 * 4] // Meshpointers ?

unsigned int num4; //  number of 
unsigned char data4[num4 * 2] // MeshTree ?

unsigned int num5; //  number of 
unsigned char data5[num5 * 26] // animation changes?

unsigned int num6 //  number of 
unsigned char data6[num6 * 6] // state changes?

unsigned int num7 //  number of 
unsigned char data7[num7 * 8] // animation dispatches?

unsigned int num8 //  number of ??
unsigned char data8[num8 * 2] // ??

unsigned int num9 //  number of ??
unsigned char data9[num9 * 4] // ??

unsigned int num10 //  number of ??
unsigned char data10[num10 * 2] // ??

...???...

Last edited by skalogryz; 23-02-17 at 14:37.
skalogryz is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 13:37.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Tomb Raider Forums is not owned or operated by CDE Entertainment Ltd.
Lara Croft and Tomb Raider are trademarks of CDE Entertainment Ltd.