Sunteți pe pagina 1din 10

Creating a New Object for SWGEMU Contents

Travesty!! ................................................................................................. 2 Honor!! .................................................................................................... 2 Overview .................................................................................................. 3 Tools Used ................................................................................................ 3 Objective .................................................................................................. 3 TRE Directories Extracted ............................................................................ 5 Renaming assets, editing .iff files and editing nodes ........................................ 6 CRC Entry ................................................................................................. 7 Name and Description Entry: ....................................................................... 7 Add to Datatables Appearance Table ............................................................. 7 Packing the New Tre ................................................................................... 8 Server Edits .............................................................................................. 9 Client Side Edits ........................................................................................ 9 End Result .............................................................................................. 10

1| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

Travesty!!

Honor!!

2| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

Overview This document will explain how to create a new object for use in SWGEMU.

Tools Used SWGEmuCRCTool StfEdit TRE Explorer Kadoo - Comes with a directory that has text listings of the contents and paths of all the TRE files. 5. Iff Editor 6. TrePacker 1. 2. 3. 4.

Objective To create a new object for SWGEMU in order to learn the process. This was done by using assets that already existed in SWG TRE files. This broke down into a few parts. To create a new Jedi robe by using an existing robe appearance in game. To make this a real game "patch", not just shoving the asset folders into the client directory and changing the appearance.

3| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

Tutorial
After you have determined what you want to make, gathering all the assets together is the first task. The appearance I wanted to use for this new robe was the Grand Mayoral Robe. objects/tangible/wearables/robe/shared_robe_s12.iff You will need to discover when the item was introduced to SWG. To do this I used Eclipse "remote directory" search. I searched the earlier mentioned Kadoo "TRE_order" directory. This told me that robe_s12's assets were added in Patch_01_o.tre. Ultimately I discovered there were later revisions and additions to these assets. The newest entries were chosen in this case. Open TRE EXPLORER and start with the TRE you discovered which contains the assets you need. Use a search term in the TRE to find your assets and directories. For instance; 1. robe_s12 - I found every reference to this and extracted its assets by directory path to a new folder. Do this for your other entries and extract them to the new folder and keep the directory structure intact. One thing to note, it's better use the newest entry, because SOE did bug fixes here and there to certain things.

4| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

TRE Directories Extracted I ended up needing the following entries from TRE files. After the directories are listed, I will explain what was done to each.

Tre Directories and entries that needed to be edited for the new object: 1. abstract/slot/arrangement/wearables/jedi_robe.iff (patch_09.tre) 2. appearance/ o appearance/mesh/ 3. datatables/appearance/appearance_table.iff 4. misc/object_template_crc_string_table.iff 5. object/tangible/wearables/robe/shared_robe_s12.iff 6. shader/ 7. string/en/wearables_details.stf o string/en/wearables_name.stf 8. texture/ All these files tie together in a very uniformed manner, discovering this took some time. Some things can be simply renamed, others need a little more clever editing. There are still some entries I don't understand, but I know they are needed. This will be explained.

5| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

Renaming assets, editing .iff files and editing nodes Determine a name for your new object. I called mine, robe_jedi_light_s06. Which was going to have the appearance of robe_s12. However, since this is a special robe, I could not use the object/tangible/wearables/robe/shared_robe_s12.iff of robe_s12. I needed to use an actual Jedi Robe as the "base" tangible object. 1. I searched the TRE files for object/tangible/wearables/robe/shared_robe_jedi_light_s05.iff 2. I extracted it, and renamed it to object/tangible/wearables/robe/shared_robe_s06.iff 3. I used TRE Explorer to examine the nodes in order to find out if Jedi Robe05 used any special assets. The only special asset the Jedi Robe05 used was; abstract/slot/arrangement/wearables/jedi_robe.iff. This file determines which slots are used up from the object. 4. My new object has leggings and foot slots open, so I renamed jedi_robe.iff to jedi_robe2.iff. Then deleted the node entries that populated the leggings and foot slot. Time to rename a bunch of assets. 1. In the OS explorer, browse to the "appearance" folder. My appearance folder is based on robe_s12. Everything in my "appearance/" and "appearance/mesh/" had robe_s12 in the title. For instance; I renamed abstract/robe_s12_f.sat to robe_jedi_light_s06_f.sat. Go into the mesh folder and do the same thing. 2. Rename all the content of the "Texture" directory the same way. 3. Rename all the content of the "Shader" directory the same way. Now you need to point files to assets. It seems everything starts with the tangible object. Go to your tangible object directory, open the .iff with TRE Explorer. Find and replace "old item" with "new item", I found this is better than actually typing over or inserting. For this type of object the nodes that will change are: 1. objectName...wearables_name..NEWITEM (Pulls from string/en to give client the name text) 2. detailedDescription...wearables_detail..NEWITEM(Pulls from string/en to give client the desription text) 3. (optional i think but it changes)lookAtText...weables)lookat..NEWITEM

6| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

4. arrangementDescriptionFilename..abstract/slot/arrangement/wearables/NEW ITEM.iff. (If this item has special slot requirements this is what points to the abstract directory.) 5. appearanceFilename..appearance/newItem_f.sat. This is the first chain to give the new item its client appearance. The way it works is... the appearance/newItem_f.sat looks for assets inside of appearance/mesh/. Save and close the tangible shared object.iff you were just working on. You need to go to appearance/newitem_f.sat and newitem_m.sat. Open each with TRE Explorer. Find and replace "old item" with "new item". These files will then be able to communicate with the assets of the "appearance/mesh" folder which you already renamed. Everything else in this instance just looks at the filename not what is in its' nodes.

CRC Entry 1. Add your new item to crc string table. Open SWGCRCEdit... and open misc/object_template_crc_string_table.iff 2. Type in the dropdown the path your new shared object... object/tangible/wearables/directory/shared_newItem.iff 3. Select the [add] button. It is crucial that you use the newest crc string table. I notice the pattern was like that. I believe due to the fact that the newest crc string table has every previous entry, it does not merge, or pull from other tre files. The system looks at the newest one. Name and Description Entry: 1. To have the client have a text description and text details for your new item you need to add it to; string/en/wearables_details.stf and string/en/wearables_name.stf 2. Use Stf Edit to open each file. Add a new entry for "wearables_details" with the items name... "newitem", don't put shared or a file extension. Then type in a detailed description. 3. Add a new entry to "wearables_name", the items name... "newitem", don't put shared or a file extension. Then type in a short name description. Add to Datatables Appearance Table Add your new item to the appearance table at datatables/appearance/appearance_table.iff

7| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

1. Open appearance_table.iff with TRE Explorer. Add the "shared_newItem"(no extension) to this. Use the previous entries as a reference. 2. I used the most current version of datatables, but not sure if that is needed. Packing the New Tre I noticed that if you try to pack the new TRE file from inside another folder and not the root directory of the drive it will add an extra path that will make the TRE not work. So COPY all your edited TRE directories in the root of your system drive. Also put TrePacker in that directory. Trepacker needs zlib and tre.exe in the same directory to work. Run Trepack, create a name for the TRE. patch_NEW_00.tre. You have to add the extension. New tre is done and packed.

8| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

Server Edits 1. Add the new TRE to the servers TRE directory. 2. Open config.lua, and add a new entry for the new tre. Browse to workspace/mmoCoreOrb/bin/scripts/object/tangible/ITEMFOLDER_Path/. 1. Here you need to create a newItem.lua. I copied one that was there, renamed it and edited it to rename "oldItem" to "newItem". 2. Edit "serverObjects.lua" And add your new item 3. Edit "objects.lua" And add your new item. 4. Launch the Server.

Client Side Edits 1. Add the new TRE to the SWGEMU root directory. 2. Edit swgemu_live.config and add the new TRE entry. 3. Launch client. And "call" your new item.

9| Page

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

End Result Here is a screenie of the end result.

10 | P a g e

N e w

O b j e c t

T u t o r i a l

v 1

J a m e s

E d w i n

R h o n e

J r . ( t e r a t o s i s

S-ar putea să vă placă și