March 19, 2024, 06:18
bigger smaller reset     1020px Wide width Full width Reset   * *

Gildor's Forums

  Homepage Facebook Read news on Twitter Youtube channel Github page
Welcome, Guest. Please login or register.
Did you miss your activation email?

« previous next »
Print
Author Topic: UShock for Lineage  (Read 16473 times)
Bigcheese
Newbie
*
Posts: 6


View Profile
« on: August 06, 2011, 07:14 »

This is a first public release of the Unreal Model Viewer. It is available here: http://www.gildor.org/en/projects/umodel.
I have plans to publish the source code of this project if there will be interest.

Do you still plan to release the source code for this? I'm about to modify UShock to support Lineage II to make an open source geodata generator/editor, but it would be much easier to start with Lineage II support to begin with.

Even a list of differences between the UT2k4 format and Lineage II would be of great help.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #1 on: August 06, 2011, 12:01 »

Umodel and Ushock support different things. Umodel doesn't do anything with map data, Ushock does nothing with skeletal meshes.

You'll need some help with static meshes and textures - I'll help you. But first, you should load the maps Smiley
« Last Edit: August 08, 2011, 19:07 by esr911 » Logged
Bigcheese
Newbie
*
Posts: 6


View Profile
« Reply #2 on: August 15, 2011, 08:12 »

Umodel and Ushock support different things. Umodel doesn't do anything with map data, Ushock does nothing with skeletal meshes.

You'll need some help with static meshes and textures - I'll help you. But first, you should load the maps Smiley

All of the BSP in 22_22 (other than the skybox and big thingy surrounding the entire damn world).


I'm working on terrain next, but I need textures for that.
Logged
Bigcheese
Newbie
*
Posts: 6


View Profile
« Reply #3 on: August 16, 2011, 03:00 »

Also, just as a note for G16 texture support. It's just a bunch of uint16_t in row major order. I just can't figure out how to read that weird text data that comes before the actual image data. They look like shader fragments.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #4 on: August 16, 2011, 13:01 »

Anyway, there is no G16 texture file formats for export ...
Yes, that "weird text data" before texture data is texture metadata.
Logged
Bigcheese
Newbie
*
Posts: 6


View Profile
« Reply #5 on: August 17, 2011, 01:26 »

Terrain!


Btw, here are the scripts: https://github.com/Bigcheese/L2MapExtract

I've decided that I hate the UShock source code (really, reimplementing the standard library?). So I'm going to write a new library once I figure everything out.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #6 on: August 17, 2011, 01:48 »

I've decided that I hate the UShock source code (really, reimplementing the standard library?).
Author has tried to implement Unreal-like serialization system. But the problem that he had used STL streams, which are not flexible enough.
Logged
Bigcheese
Newbie
*
Posts: 6


View Profile
« Reply #7 on: August 17, 2011, 05:52 »

Static mesh exporting works. The format is exactly the same as UT2k4, but there are a few (6/94 so far) that I can't export because they seem to have the wrong number of indices.



Placing them is a manual process at the moment, so I only placed a few. I have the location and rotation, but it's in a different file and 010 Editor isn't really setup to do that.

Changes have already been pushed to github.

Author has tried to implement Unreal-like serialization system. But the problem that he had used STL streams, which are not flexible enough.

As a person whose day-job is working on a C++ compiler and standard library, they are indeed flexible enough. And he re-implemented everything, not just iostreams.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #8 on: August 17, 2011, 10:54 »

Static mesh exporting works. The format is exactly the same as UT2k4, but there are a few (6/94 so far) that I can't export because they seem to have the wrong number of indices.
My Lineage StaticMesh loading code is exactly the same as UT2004.
Quote
As a person whose day-job is working on a C++ compiler and standard library, they are indeed flexible enough. And he re-implemented everything, not just iostreams.
He have tried to implement Unreal library using STL as a base.
Logged
Bigcheese
Newbie
*
Posts: 6


View Profile
« Reply #9 on: September 10, 2011, 05:10 »

So I've actually gotten rather far on this.



However I need help on two things. The first is property arrays. Specifically the Materials property on static meshes. I've tried what UShock does, and it doesn't seem to line up with the data. How is this encoded?

The second, which I doubt anyone knows, is how is collision stored for static meshes? I know it's either stored as a kDOP, or an index to a UModel. However, I cannot seem to figure out exactly what's going on ;/.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #10 on: September 10, 2011, 11:46 »

The first is property arrays. Specifically the Materials property on static meshes. I've tried what UShock does, and it doesn't seem to line up with the data. How is this encoded?
Strange, there is nothing Lineage-specific in my StaticMesh serialization code. Please be more specific describing your problem. Probably I should look at your code.
Quote
The second, which I doubt anyone knows, is how is collision stored for static meshes? I know it's either stored as a kDOP, or an index to a UModel. However, I cannot seem to figure out exactly what's going on ;/.
Yes, UE2 uses kDOP. Unfortunately nearly every UE2 game have modified this part of engine, so I've decided to completely skip kDOP serialization.
Logged
Szaka
Newbie
*
Posts: 16


View Profile
« Reply #11 on: December 02, 2013, 23:15 »

Not goin to start new topic, how did you load those maps? I tried using UShock which works fine for many games but not Lineage2 (also not older versions). Do you have information how .unr files are parsed?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #12 on: December 02, 2013, 23:28 »

UShock shouldn't work with any other games except those it was written for. Lineage is not in it's compatibility list.
Logged
Szaka
Newbie
*
Posts: 16


View Profile
« Reply #13 on: December 03, 2013, 00:16 »

Ok. But it loads unr files. So it means he had information about structure of the unr file from somewhere to parse it. Do you know where from?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #14 on: December 03, 2013, 00:19 »

Reverse engineering, like me.
Logged
Print 
« previous next »
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS