Forum: Archive RSS
ENGINE_LEVEL - LevelGraphicsFile Format

Announcement

2008-11-05, 14:54 by Keshire
Rules for posting on this site.
Follow them or have your posting rights removed or be banned.

[cut=Full List Of Rules]*  If a topic makes no sense to you, do not ask broad questions about it.  We have a lot of developer posts that will make no sense to someone who doesn't know how to program or has not taken the time to explore the game files.


*  All modifications we release for the xbox will require a modified xbox.  Ask for instruction and then tell us you don't have one will result in banning/deletion of all posts for failure to read instructions.  THERE WILL BE NO SAVES ON THIS SITE SO DO NOT REQUEST THEM.


*  We do not endorse pirating.  Suggesting or asking for such will get you banned.  If you like a game BUY IT.  People worked hard to make something to entertain you, it's the least you can do.  If you are caught without one of these you will be banned.


*  Posting of original game files is strictly prohibited.  If you have code to share post just the code you have made.  Only attach files if you have created an application or something similar that requires the attachment.  If you made many changes to a file but did not change ALL of it then post a PPF or something similar to avoid posting any original code at all.  Do not link to original files either.  Either way it's just the same as posting them here.


*  Harassing admins/moderators through PM/Email because of your own inability to work things out with other people in the forums will result in loss of PM an removal of ability to post.


*  Harassing admins/moderators through PM/Email because of your own inability to read posts and stickies in the forums with any compitence will result in loss of PM an removal of ability to post.


*  Harassing or just flooding a topic/person because you are too lazy to use search will get your posting rights removed.  Search exists for a reason and we won't deal with people that constantly ask for things that are easy to find with search.


*  Public bashing of other members will get your posts removed.  If it is done repeatedly you will get your account banned.


*  Posting a reply to merely say you don't know or you also want to know something is a waste of space and all of our collective time (assuming you weren't asked directly, but if you were it probably should have been done in PM).  Repeated offenders will get their posting rights removed.

*  Do not cross post questions/requests in forums.  Pick the appropriate forum and post it there.  People read in all of the forums and don't need to see the extra spam.


*  Everything on this site is provided AS IS.  If you use a tool that someone wrote here and it crashes your computer, we don't care.  The programmer should be informed with as much information as you can provide in order to prevent that from happening again though.

*  Being an open forum, try to contribute to it.  As in by helping crack file formats or developing new tools or game modifications.  Leeches are never appreciated.  Especially when they are ungrateful for the work that other people put into doing something for them.  Being ungrateful is a very quick path to being banned.


*  Lack of acting like a mature person or inability to type in proper english or something close to it will not be tolerated (i.e. l33t,ALL CAPS, or IM shorthand).


Basically, this is a technically based Fable modding site.  This is NOT a playground. [/cut]

If you have a problem with these rules, don't come here.

Failure to not read the stickies on forums (like this one) is not an excuse.  Failure to read this post is also not an excuse.
TodX Administrator #1
Member since Oct 2008 · 16 posts · Location: San Diego
Group memberships: Administrators, Members
Show profile · Link to this post
Subject: ENGINE_LEVEL - LevelGraphicsFile Format
Here's what I have so far on the engine_level/LevelGraphicsFile format.  This format will not properly work in HW as it seems to cut off the strings after 10 chars and thus screws the rest of the format, and in the process sucks up a ton of cpu and mem (a 2.2kb file sucked up 1.4gb ram).  There may also be additional file types that I have not yet run into.

This file seems to have links to a number of other files used for loading/rendering the level.  This includes heightmaps and flora models.  The flora models are followed by what looks like instancing data to spawn instances with.

#include "standard-types.hsl"

#pragma byteorder(big_endian)
#pragma maxarray(65536)     // max that hw 5.1 will allow
#pragma maxstring(512)

typedef struct Coord3D
{
    float    X;
    float    Y;
    float    Z;
} Coord3D;

typedef struct LGFFloraInstance
{
    Coord3D    Coord;
    float    Unknown1;    // these two floats seem to always be very small, very close to 0
    float    Unknown2;    // they could be used for rotation maybe? though that's usually done with quaternions
} LGFCoordEntry;

typedef struct LGFUnknownBBEntry    // looks like it might be bounding box, but not sure
{
    DWORD    Start;
    DWORD    End;
    Coord3D    StartCoord;
    Coord3D    EndCoord;
} LGFUnknownBBEntry;

typedef struct LGFFileEntry
{
    DWORD    Type;
    zstring    FileName;
   
    switch (Type)
    {
        case 0x4:
            DWORD    Unknown1;
            DWORD    Unknown2;
            break;
        case 0x5:    break;
        case 0x15:
            char    Unknowns1[11];
            DWORD    CoordCount;
            float    Unknowns2[11];
            char    Unknowns3Null[24];
            LGFFloraInstance    Coords[CoordCount];
            DWORD    UnknownBBCount;        // I think these might be bounding boxes, but not sure
            LGFUnknownBBEntry    UnknwonBBs[UnknownBBCount];
            break;
        case 0x20:    break;
        default:    break;
    }
   
} LGFFileEntry;

typedef struct LevelGraphicsFile
{
    char    LevelGraphicsFileTag[17];    // = "LevelGraphicsFile"
    DWORD    Unknown1;
    DWORD    FileCount;
    LGFFileEntry    Files[FileCount];
   
} LevelGraphicsFile;
This post was edited on 2008-12-05, 20:23 by TodX.
LittleCodingFox #2
Member since Nov 2008 · 34 posts
Group memberships: Members
Show profile · Link to this post
Just to let you know that you have a bit of an error there on LGFFloraInstance, you rename it to LGFCoordEntry, so HexWorkshop will say it has an error.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Not logged in. · Lost password · Registration disabled
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Page created in 225.3 ms (72 ms) · 37 database queries in 190.2 ms
Current time: 2024-12-05, 12:19:10 (UTC -07:00)