Forum: Archive RSS
GDB File 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.
LittleCodingFox #1
Member since Nov 2008 · 34 posts
Group memberships: Members
Show profile · Link to this post
Subject: GDB File Format
Keshire - Attached structures
credit goes to Hunter for figuring out most of the format.
I just cleaned it up and figured out some unknowns.
The author has attached one file to this post:
F2GDB.HSL | Save   10 kBytes, downloaded 266 times
This post was edited on 2010-07-27, 07:29 by Keshire.
Avatar
Keshire Administrator #2
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
Attached Global Strings.
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
The author has attached one file to this post:
Strings.csv | Save   746.7 kBytes, downloaded 303 times
This post was edited 2 times, last on 2010-07-27, 07:29 by Keshire.
Avatar
Keshire Administrator #3
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
Attached a custom output of template data that are Hashes.
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
The author has attached one file to this post:
Test.txt | Save   4.9 MBytes, downloaded 356 times
This post was edited 2 times, last on 2010-07-27, 07:30 by Keshire.
Avatar
Keshire Administrator #4
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
What I though was a control byte.
0001C654    #N/A
CE48A9FC    #N/A
065E1220    INV_ITEM_WEAPON_CLEAVER_MASTERBASE_NAME
5A9517B2    INV_ITEM_WEAPON_CLEAVER_MASTERBASE_DESC

Was actually a pointer to this Template.

0001C654 struct GDB_B    {...}   
 0001C654 ubyte SectionCHeader0     0     00
 0001C655 ubyte SectionCHeader1     0     00
 0001C656 ubyte SectionCHeader2     3     03
 0001C657 ubyte SectionCHeader3     1     01
 0001C658 F2Enum SectionC[(SectionCHeader2+(SectionCHeader1*256))]         
  0001C658 F2Enum SectionC[0]      parent (1600329685)      D517635F
  0001C65C F2Enum SectionC[1]      NameTag (2505418492)      FCA65595
  0001C660 F2Enum SectionC[2]      DescriptionTag (3626217771)      2BB123D8
 0001C664 SectionCArray SectionC[(SectionCHeader2+(SectionCHeader1*256))]         
  0001C664 SectionCArray SectionC[0]      {...}     
  0001C668 SectionCArray SectionC[1]      {...}     
  0001C66C SectionCArray SectionC[2]      {...}           
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
Avatar
Keshire Administrator #5
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
00000000 struct Default_B    {...}   
 00000000 char GDB_Tag[4]     GDB    
 00000004 DWORD TDCount     410     9A010000
 00000008 DWORD TDSize     7456     201D0000
 00000012 DWORD TSize     3080     080C0000
 00000016 DWORD unkCount     49     31000000
 00000020 DWORD NULL     0     00000000
 00000024 TData TemplateData[TDCount]         
 00007480 Template Templates[68]         
 00010560 F2Enum Hashes[TDCount]         
 00012200 WORD Unknown[TDCount]         
 00013020 UnknownHashStruct Hashes[unkCount]         
 00013412 HashBlock Strings     {...}    

I feel like I should be humping this to show my dominance...

The only thing I don't have is the Template count. It looks like it may be a variable array or something. It can be generated from the offsets in the TData though.

Attached the structures into the first post.

Some quick notes for myself and others:
00007480 Template Templates[0]    {...}   
 00007480 WORD Count1     0     0000
 00007482 ubyte Count2     8     08
 00007483 bool NoComponents     0     00
 00007484 DWORD Hash[((Count1*256)+Count2)]         
 00007516 TDTypes Array[((Count1*256)+Count2)]         
  00007516 TDTypes Array[0]      {...}     
   00007516 WORD DataType       768       0003
   00007518 WORD ArrayPointer       2       0200
  00007520 TDTypes Array[1]      {...}     
   00007520 WORD DataType       768       0003
   00007522 WORD ArrayPointer       3       0300
  00007524 TDTypes Array[2]      {...}     
   00007524 WORD DataType       1536       0006
   00007526 WORD ArrayPointer       0       0000
  00007528 TDTypes Array[3]      {...}     
   00007528 WORD DataType       1792       0007
   00007530 WORD ArrayPointer       1       0100
  00007532 TDTypes Array[4]      {...}     
   00007532 WORD DataType       1024       0004
   00007534 WORD ArrayPointer       6       0600
  00007536 TDTypes Array[5]      {...}     
   00007536 WORD DataType       1024       0004
   00007538 WORD ArrayPointer       5       0500
  00007540 TDTypes Array[6]      {...}     
   00007540 WORD DataType       1024       0004
   00007542 WORD ArrayPointer       4       0400
  00007544 TDTypes Array[7]      {...}     
   00007544 WORD DataType       1024       0004
   00007546 WORD ArrayPointer       7       0700
As the array says. These are the datatypes that the Template data is using for each member in the array.
At least it appears that way.
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
This post was edited 2 times, last on 2010-07-27, 11:56 by Keshire.
Avatar
Keshire Administrator #6
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
Quote by Keshire:
For the life of me I can't seem to follow the trail of different parts to make a whole definition.

I think the parent entry in the templates has something to do with it. But I can't figure it out.
Anyone have any suggestions?

Like I said in the IRC. Here's the first major problem.
Lionhead wasn't kind enough to provide us with the 64K Object names referenced in the globals.gdb

00010600 F2Enum Hashes[10]    PlaceableLight_3 (156565040)    30FE5409
00010988 F2Enum Hashes[107]    PlaceableLight_2 (1436708484)    846EA255
00012088 F2Enum Hashes[382]    PlaceableLight_4 (4008244508)    1CF5E8EE
00012140 F2Enum Hashes[395]    PlaceableLight (4141879894)    5612E0F6

00000228 TData TemplateData[10]    {...}   
 00000228 dword Offset     780     0C030000
 00000232 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00000232 F2Enum TemplateData[0]      630959771      9BAE9B25
  00000236 F2Enum TemplateData[1]      573042973      1DF12722
  00000240 F2Enum TemplateData[2]      584292529      B198D322
00002068 TData TemplateData[107]    {...}   
 00002068 dword Offset     780     0C030000
 00002072 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00002072 F2Enum TemplateData[0]      630959771      9BAE9B25
  00002076 F2Enum TemplateData[1]      3180016065      C1318BBD
  00002080 F2Enum TemplateData[2]      3362392244      B4086AC8
00007032 TData TemplateData[382]    {...}   
 00007032 dword Offset     780     0C030000
 00007036 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00007036 F2Enum TemplateData[0]      630959771      9BAE9B25
  00007040 F2Enum TemplateData[1]      2612929721      B924BE9B
  00007044 F2Enum TemplateData[2]      2387540578      62FA4E8E
00007240 TData TemplateData[395]    {...}   
 00007240 dword Offset     780     0C030000
 00007244 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00007244 F2Enum TemplateData[0]      630959771      9BAE9B25
  00007248 F2Enum TemplateData[1]      2097400411      5BCA037D
  00007252 F2Enum TemplateData[2]      3521572834      E2EFE6D1

00008260 Template Templates[21]    {...}   
 00008260 WORD Count1     0     0000
 00008262 ubyte Count2     3     03
 00008263 bool NoComponents     0     00
 00008264 F2Enum Hash[((Count1*256)+Count2)]         
  00008264 F2Enum Hash[0]      parent (1600329685)      D517635F
  00008268 F2Enum Hash[1]      PhysicsSimpleComponent (1637848783)      CF969F61
  00008272 F2Enum Hash[2]      GraphicAppearanceLightComponent (3143743060)      54B661BB
 00008276 TDTypes Array[((Count1*256)+Count2)]         
  00008276 TDTypes Array[0]      {...}     
   00008276 WORD DataType       1536       0006
   00008278 WORD ArrayPointer       0       0000
  00008280 TDTypes Array[1]      {...}     
   00008280 WORD DataType       1536       0006
   00008282 WORD ArrayPointer       1       0100
  00008284 TDTypes Array[2]      {...}     
   00008284 WORD DataType       1536       0006
   00008286 WORD ArrayPointer       2       0200

You'll also notice that these all share the same 'parent'. And all the data is datatype 1536.

For PlaceableLight_3:
Parent:
00010728 F2Enum Hashes[42]    630959771    9BAE9B25
PhysicsSimpleComponent:
00010712 F2Enum Hashes[38]    573042973    1DF12722
GraphicAppearanceLightComponent
00010716 F2Enum Hashes[39]    584292529    B198D322



00013292 UnknownHashStruct Hashes[34]    {...}   
 00013292 F2Enum Hash     3095895906     629F87B8
 00013296 F2Enum Hash     630959771     9BAE9B25

Hashes[42] (Uses same simple light template)
parent:
Not located in default.gdb hashtable (Looks to be located in global.gdb hashtable)
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
This post was edited on 2010-07-28, 07:10 by Keshire.
Avatar
Keshire Administrator #7
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
Here's a quick run down of an object defined in a level.
worlds/albion/demondoors/bowerlakedd/defaultscenario/defaultscenario.save
<id_C896E493 name="DefaultLayer" load="AlwaysOn">
  <Entity name="ChestWooden">0x2B689B0F</Entity>
  **snip**
</id_C896E493>


worlds/albion/demondoors/bowerlakedd/defaultscenario/defaultscenario.gdb
Look up in the HashIndex
00014436 F2Enum Hashes[87]    728275727    0F9B682B


Link it to Data
00001424 TData TemplateData[87]    {...}   
 00001424 dword Offset     2408     68090000
 00001428 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00001428 F2Enum TemplateData[0]      609432412      5C335324
  00001432 F2Enum TemplateData[1]      2350119763      53FB138C
  00001436 F2Enum TemplateData[2]      491717816      B8044F1D


Follow the offset to see what the data is
00013612 Template Templates[52]    {...}   
 00013612 WORD Count1     0     0000
 00013614 ubyte Count2     3     03
 00013615 bool NoComponents     0     00
 00013616 F2Enum Hash[((Count1*256)+Count2)]         
  00013616 F2Enum Hash[0]      InventoryComponent (477985652)      747B7D1C
  00013620 F2Enum Hash[1]      parent (1600329685)      D517635F
  00013624 F2Enum Hash[2]      PhysicsSimulationKeyframedComponent (1796701648)      D07D176B
 00013628 TDTypes Array[((Count1*256)+Count2)]         
  00013628 TDTypes Array[0]      {...}     
   00013628 WORD DataType       1536       0006
   00013630 WORD ArrayPointer       1       0100
  00013632 TDTypes Array[1]      {...}     
   00013632 WORD DataType       1536       0006
   00013634 WORD ArrayPointer       2       0200
  00013636 TDTypes Array[2]      {...}     
   00013636 WORD DataType       1536       0006
   00013638 WORD ArrayPointer       0       0000
Datatypes of 1536 are in the HashIndex

We'll follow the inventory
00014368 F2Enum Hashes[70]    609432412    5C335324

00001160 TData TemplateData[70]    {...}   
 00001160 dword Offset     2388     54090000
 00001164 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00001164 F2Enum TemplateData[0]      3051855988      74A0E7B5
  00001168 F2Enum TemplateData[1]      2806057977      F90B41A7

00013592 Template Templates[51]    {...}   
 00013592 WORD Count1     0     0000
 00013594 ubyte Count2     2     02
 00013595 bool NoComponents     1     01
 00013596 F2Enum Hash[((Count1*256)+Count2)]         
  00013596 F2Enum Hash[0]      parent (1600329685)      D517635F
  00013600 F2Enum Hash[1]      InitialItems (2619647245)      0DA5249C
 00013604 TDTypes Array[((Count1*256)+Count2)]         
  00013604 TDTypes Array[0]      {...}     
   00013604 WORD DataType       1536       0006
   00013606 WORD ArrayPointer       0       0000
  00013608 TDTypes Array[1]      {...}     
   00013608 WORD DataType       1536       0006
   00013610 WORD ArrayPointer       1       0100

Follow InitialItems
00015656 F2Enum Hashes[392]    2806057977    F90B41A7

00006828 TData TemplateData[392]    {...}   
 00006828 dword Offset     2368     40090000
 00006832 F2Enum TemplateData[ubyteAt((24+(ulongAt(8)+(Offset+2))))]         
  00006832 F2Enum TemplateData[0]      3109589189      C59058B9
  00006836 F2Enum TemplateData[1]      3193368916      54F156BE

00013572 Template Templates[50]    {...}   
 00013572 WORD Count1     0     0000
 00013574 ubyte Count2     2     02
 00013575 bool NoComponents     1     01
 00013576 F2Enum Hash[((Count1*256)+Count2)]         
  00013576 F2Enum Hash[0]      cutlass (1319964932)      0411AD4E
  00013580 F2Enum Hash[1]      parent (1600329685)      D517635F
 00013584 TDTypes Array[((Count1*256)+Count2)]         
  00013584 TDTypes Array[0]      {...}     
   00013584 WORD DataType       1792       0007
   00013586 WORD ArrayPointer       1       0100
  00013588 TDTypes Array[1]      {...}     
   00013588 WORD DataType       1536       0006
   00013590 WORD ArrayPointer       0       0000

And that is where the trail ends. The entry for the 'cutlass' is B95890C5.
There's no string for it. But it looks to be in the HashIndex of the global.gdb (Object 46,704 out of 64,360) :/
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
Avatar
Keshire Administrator #8
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
This should be good enough for someone to write a usable app. I'd do it myself but I'm good at taking things apart. Not putting things together. I amazingly have very little coding skill...

Edit: Correction on the actual template data.
typedef struct TData
{
dword    Offset;
dword    TemplateData[(ushortAt(24+ulongAt(0x08)+Offset)*256)+(ubyteAt(24+ulongAt(0x08)+Offset+2))];
   
//24byte header+TDataSize+Offset
//Need to jump to template offset to find the array and data types.
}TData;

I apparently forgot to take into account the 2 exceptions I found in the global.gdb that were filled with animation states.
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
This post was edited on 2010-07-29, 09:17 by Keshire.
Avatar
Keshire Administrator #9
Member since Nov 2008 · 29 posts
Group memberships: Administrators, Members
Show profile · Link to this post
In reply to post #7
Quote by Keshire on 2010-07-28, 10:14:
And that is where the trail ends. The entry for the 'cutlass' is B95890C5.
There's no string for it. But it looks to be in the HashIndex of the global.gdb (Object 46,704 out of 64,360) :/

Couldn't help myself.
00116496 F2Enum Hash[((Count1*256)+Count2)]       
 00116496 F2Enum Hash[0]     GraphicAppearanceStaticMeshComponent (701452497)     D150CF29
 00116500 F2Enum Hash[1]     parent (1600329685)     D517635F
 00116504 F2Enum Hash[2]     AugmentableComponent (2647211099)     5B3CC99D
 00116508 F2Enum Hash[3]     InventoryItemComponent (3274801411)     038131C3
 00116512 F2Enum Hash[4]     ShopItemComponent (3737407585)     6150C4DE
 00116516 F2Enum Hash[5]     PhysicsSimulationDynamicComponent (4236924869)     C5578AFC
00116192 F2Enum Hash[((Count1*256)+Count2)]       
 00116192 F2Enum Hash[0]     InitialAugmentations (620492766)     DEF7FB24
 00116196 F2Enum Hash[1]     parent (1600329685)     D517635F
00116172 F2Enum Hash[((Count1*256)+Count2)]       
 00116172 F2Enum Hash[0]     parent (1600329685)     D517635F
 00116176 F2Enum Hash[1]     Augmentation1 (4243843982)     8EEBF3FC
00116404 F2Enum Hash[((Count1*256)+Count2)]       
 00116404 F2Enum Hash[0]     SecondaryType (1336311185)     917DA64F
 00116408 F2Enum Hash[1]     PrimaryType (1573305757)     9DBDC65D
 00116412 F2Enum Hash[2]     parent (1600329685)     D517635F

PrimaryType = NULL
00170460 F2Enum Hash[((Count1*256)+Count2)]       
 00170460 F2Enum Hash[0]     Type (370440381)     BD781416
 00170464 F2Enum Hash[1]     Rarity (727892164)     C4C0622B
 00170468 F2Enum Hash[2]     parent (1600329685)     D517635F
 00170472 F2Enum Hash[3]     NameTag (2505418492)     FCA65595
 00170476 F2Enum Hash[4]     Value (2837136060)     BC421BA9
No more links other than the parent
00879788 dword TemplateData[((ushortAt((24+(ulongAt(8)+Offset)))*256)+ubyteAt((24+(ulongAt(8)+(Offset+2)))))]       
 00879788 dword TemplateData[0]     25     19000000
 00879792 dword TemplateData[1]     1     01000000
 00879796 dword TemplateData[2]     3911116391     67E61EE9
 00879800 dword TemplateData[3]     LUCK (2822797726)     9E7940A8
 00879804 dword TemplateData[4]     15     0F000000

scripts/miscellaneous/augmentationtype.lua
EAugmentationType = {
    AUGMENTATION_LUCK = 25,
}

Booyah. There's the Luck augment you get from the Bowerstone Lake Demon Door.

Here's the parent tree:
00106380 F2Enum Hash[((Count1*256)+Count2)]       
Initial parent is null
00161608 F2Enum Hash[((Count1*256)+Count2)]       
 00161608 F2Enum Hash[0]     parent (1600329685)     D517635F
 00161612 F2Enum Hash[1]     WhereaboutsComponent (2251436529)     F1313286
 00161616 F2Enum Hash[2]     GraphicAppearanceComponent (2813783894)     56EFB6A7
 00161620 F2Enum Hash[3]     MapwhoComponent (3894095192)     582D1BE8
 00161624 F2Enum Hash[4]     ObjectComponent (4054183609)     B9EEA5F1
00142224 F2Enum Hash[((Count1*256)+Count2)]       
 00142224 F2Enum Hash[0]     GraphicAppearanceStaticMeshComponent (701452497)     D150CF29
 00142228 F2Enum Hash[1]     TargetedComponent (993900026)     FAB53D3B
 00142232 F2Enum Hash[2]     parent (1600329685)     D517635F
 00142236 F2Enum Hash[3]     OnActionUseComponent (1819328514)     02C0706C
 00142240 F2Enum Hash[4]     GiftComponent (2576591284)     B4A99399
 00142244 F2Enum Hash[5]     InventoryItemComponent (3274801411)     038131C3
 00142248 F2Enum Hash[6]     ShopItemComponent (3737407585)     6150C4DE
 00142252 F2Enum Hash[7]     PhysicsSimulationDynamicComponent (4236924869)     C5578AFC
00116860 F2Enum Hash[((Count1*256)+Count2)]       
 00116860 F2Enum Hash[0]     GraphicAppearanceStaticMeshComponent (701452497)     D150CF29
 00116864 F2Enum Hash[1]     parent (1600329685)     D517635F
 00116868 F2Enum Hash[2]     GiftComponent (2576591284)     B4A99399
 00116872 F2Enum Hash[3]     AugmentableComponent (2647211099)     5B3CC99D
 00116876 F2Enum Hash[4]     InventoryItemComponent (3274801411)     038131C3
 00116880 F2Enum Hash[5]     ShopItemComponent (3737407585)     6150C4DE
 00116884 F2Enum Hash[6]     PhysicsSimulationDynamicComponent (4236924869)     C5578AFC
The object referenced by the chest in the Demon Door (See above)
00116496 F2Enum Hash[((Count1*256)+Count2)]       
 00116496 F2Enum Hash[0]     GraphicAppearanceStaticMeshComponent (701452497)     D150CF29
 00116500 F2Enum Hash[1]     parent (1600329685)     D517635F
 00116504 F2Enum Hash[2]     AugmentableComponent (2647211099)     5B3CC99D
 00116508 F2Enum Hash[3]     InventoryItemComponent (3274801411)     038131C3
 00116512 F2Enum Hash[4]     ShopItemComponent (3737407585)     6150C4DE
 00116516 F2Enum Hash[5]     PhysicsSimulationDynamicComponent (4236924869)     C5578AFC
Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
This post was edited on 2010-07-29, 13:40 by Keshire.
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 287.9 ms (124.7 ms) · 59 database queries in 204.7 ms
Current time: 2024-12-20, 21:03:45 (UTC -07:00)