Forum: Archive RSS
LOCO File Format


2008-11-05, 13: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: LOCO File Format
Here's a basic layout of the data structure of the locomotion.loco file.

#include "standard-types.hsl"

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

typedef struct LocoEntry1Coords
    DWORD    Unknown;
    float    X;
    float    Y;
    float    Z;
} LocoEntry1Coords;

typedef struct LocoEntry1
    DWORD    Unknown0;
    char    Name[16];
    DWORD    Unknown1;    // always == 0x0820 ?
    DWORD    Unknowns2[94];
    LocoEntry1Coords    Coords[16];
} LocoEntry1;

typedef struct LocoEntry2
    DWORD    Unknowns1[6];
    float    Unknowns2[94];
} LocoEntry2;

typedef struct LOCO        // environment map
    DWORD    Unknown1;
    DWORD    Unknown2;
    DWORD    LocoEntry1Size;
    DWORD    LocoEntry2Size;
    DWORD    Unknown3;
    DWORD    Entry1Count;
    DWORD    Entry2Count;
    DWORD    Entry3Count;
    DWORD    StringsSectionSize;
    DWORD    Unknown7;
    LocoEntry1    Entries1[Entry1Count];
    LocoEntry2    Entries2[Entry2Count];
    DWORD    Entries3[Entry3Count];
    char    StringsSection[StringsSectionSize];
LittleCodingFox #2
Member since Nov 2008 · 34 posts
Group memberships: Members
Show profile · Link to this post
I've got a feeling that LocoEntry1Coords is some sort of Weight for Bones. A 4x4 matrix of those, even, judging from each Entry containing 16 Coords. Are you sure the Unknown is a DWORD and not a float?
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 295 ms (71.3 ms) · 43 database queries in 263 ms
Current time: 2024-07-14, 10:02:45 (UTC -07:00)