Custom Artwork How-To (Wearables and Non-wearables)
Updated: 11/09/06
Update to let everyone know that Layer 9 is now used for a Talisman. (Thanks HellRazor!)
If you're looking to add just artwork as in items that are not worn, scroll to the bottom. If you're looking to add worn items keep reading.
Not sure if this is the place, but I couldn't think of one better. Since there are a lot of questions about adding your own custom clothing/weapon artwork etc., I'll try to make a decent walk-through. HellRazor can explain it better I'm sure, but maybe he will add what I miss . First things first, download TDV Mulpatcher, you can find that here. You will also need InsideUO which you can get here. You'll also need your new artwork. You can get some from the same site you downloaded MulPatcher from if you don't already have some. Second, MAKE SURE that you make back-ups of the original OSI files before modifying them. This is a list of the files you should back up if you plan on only adding new artwork and nothing else.
-Anim.mul
-Anim.idx
-Anim2.mul
-Anim2.idx
-Anim3.mul
-Anim3.idx
-Anim4.mul
-Anim4.idx
-Animdata.mul
-Animinfo.mul
-Art.mul
-Artidx.mul
-Gumpart.mul
-Gumpidx.mul
-Tiledata.mul
You won't need to modify all these files, but InsideUO needs to read them, and I think it's easier if they're all in one place. Just create a new folder on your desktop, name it something you will remember, and place your clean copies in there. With some of the files, changes will be automatic, so always have a clean default copy. When you open up MuPatcher, and look at the bottom of it, you will see different tabs. Under the "Settings" tab on the far right, you will see all the different files MulPatcher can modify. We will be dealing only with Artidx.mul, Art.mul, Gumpidx.mul, Gumpart.mul, Tiledata.mul, and body.def. Body.def isn't something that MulPatcher will modify, but it will need to be modified for our new items to work, so make sure you make a back-up copy of that also. Any other modifications you wish to make, do at your own risk, since I probably won't be able to help. Ok, so far you've downloaded MulPatcher, InsideUO, and made back-up copies of your OSI files. Now, here starts the fun...for me anyway. This is the way I do mine. If someone knows of a better way, great. Mine might be a little extra work, but it's the way that works best for me.
1) UnRAR Mulpatcher into your Ultima Online folder.
2) UnRAR InsideUO to your OSI backups folder.
The reason for running these programs on 2 different sets of files is because once you've got MulPatcher loaded with files from your UO directory, if you try to use InsideUO to load those same files, it won't do it. The purpose for InsideUO in this is to get the in-game animations for your new items.
3) UnRAR your new artwork to a folder somewhere that you will remember, with a name you will remember. All of it should be a bitmap file. For example, BlahBlah.bmp
4) Run MulPatcher from inside your UO directory. Look at the tabs across the bottom. The second to last from the right is a Settings tab. Click there. Make sure the files MulPatcher is reading are the files from your UO directory. Click the ... button to change the directory.
5) The first set of files you'll want to load are Artidx.mul and Art.mul. If you need help finding where to load those files look here. The next set of files to load are Gumpidx.mul and Gumpart.mul. Those are right underneath where you loaded the art files. The last file to load is Tiledata.mul. Look here if you can't find where to load it.
6) Back to the tabs that run across the bottom. Find the one labeled Gumps(Anim). This is anything you see on your paperdoll. Clothing, armor, weapons, jewelry, and hair. You'll see a long column of numbers on the left. Those are hex numbers. At the bottom of the Gumps(Anim) page, you'll see a drop down menu. It will let you choose to either look at all of the Full Slots, which are slots with a paperdoll item already in them, Empty Slots, which are what we will be using, since we're adding new art, not overwriting OSI art, and All Slots, which of course is all of them.
7) I suggest you grab a notebook and a pen for this part. From the drop down list select Empty Slots, and pick one. I suggest going to the very bottom, and working your way up. Why? Because there's a large number of open slots at the end of the file, and it will make things easier to have all your customs in one group, rather than in different places all over the file. Now, right click the slot you've chosen, and you will see a list of options. Choose "Load From Bitmap. It will let you choose the directory to choose your artwork from. Choose the .bmp file you wish to add, and click Open. Now you will see a piece of artwork that belongs on the paperdoll in that slot. Write down the slot you saved your art to. Notice with your new art slot highlighted, towards the bottom of the page it says something like Animation ID:0xAAAA does not exist. Make sure you write down that hex number also. You need to make that animation exist, and this is where InsideUO comes in.
8) Start up InsideUO. At the top, it says View. Click there, and select the only option, File Paths. You'll see a list of files to the left, and where InsideUO is reading them from on the right. Make sure InsideUO is reading the files from your back up folder. For the other files, such as Map and Static files, you can leave that blank, or put your UO directory path in there, since you aren't modifying them, or looking at them with MulPatcher.
9) Down the left of InsideUO you will see Animation, Artwork, Fonts...etc. Choose Animation. For what you're adding, you'll will only be dealing with the People and Accessories section. For your pretend new artwork, let's say you added a new robe. Obviously, if someone was wearing your new robe, you would want it to look like they're walking around on the game wearing a robe. So, expand the People and Accessories section by clicking the +. Now you'll see a big long list of headings on the left. Just by reading them you know what they are. Scroll down until you find the heading Robe, and highlight it. Now on the right you'll see a picture of the robe. On the bottom of InsideUO, it says Model No., giving a hex and a decimal for it. Write those down also. Head back to MulPatcher.
10) In MulPatcher, you should still have your slot for your new robe highlighted. If you right click on that slot, on the bottom of the menu, you'll see Copy Existing Animation. Select that. Remember the hex number you wrote down from InsideUO? Enter it in that box and click Ok. Next, go to the Tiledata(S) tab, towards the right.
11) Any hex number in Tiledata(S) that doesn't have a title next to it is an empty slot. Again, I suggest finding a large space of empty slots to start your new artwork. Choose your new slot and (big surprise), write it down. In the Name slot, enter a name for your new item. Let's call it Test Robe. Remember the Anim ID from Gumps(Anim) that you wrote down? That goes in the (you guessed it) AnimID slot. Most of the other boxes, to me, have no use. You can use a script to set the weight and hue for your item, so I just leave those at 0. What you do need to worry about is Quality. The quality for an item will be where it sits on your body. Here's a list of the quality numbers, and what they do. Thank you HellRazor for posting these!
So, since your new Test Robe is an Outer Torso, find the quality number for it, which is 22, and enter that into the quality slot. Now there are checkboxes. For clothing, I usually only check A and Wearable. I don't really think you need to check A, but I do it out of habit. You definitely need to check wearable though, or you won't be able to wear it. You're almost done. You've got the new pretty robe to show on the paperdoll, you've got the in-game animation for it, and now you need to add the tile to represent it when it's lying on the ground or in your pack. There's a couple ways to do this, neither is really complicated, there's just a lot of steps to follow. I do it this way:
-In Tiledata, find the Search bar at the bottom, type in robe, hit Search.
-Remember the hex number that's highlighted.
-Go to the Art(S) tab, and enter in that hex number in the Search bar.
-That same hex number will be highlighted, and you'll see a picture of a robe.
-Right click that hex number, choose Save to Bitmap.
-Save it to a location and with a name that you'll remember.
Another way to do it is:
-Use InsideUO, choose Artwork -> Static Tiles.
-Scroll around and find the groundtile for a robe.
-Right click, choose Save As, and save it to a location and with a name you'll remember.
Inside UO takes a bit longer, since you have to scroll through a lot of artwork tiles to find what you want. To the Art(S) tab!
12) If you look around in here, you'll see the artwork tile to represent anything on the ground. Weapons, clothing, etc. You'll even see frame-by-frame animations. Remember the hex number you put your Test Robe info into in Tiledata that you wrote down? Put it in the Search bar, and click Search. This is where you put your new robe's ground tile. Right click that slot, choose Load from Bitmap, and load the groundtile you just saved.
13) Go to the Settings tab, and save Animdata, Artidx.mul, Art.mul, Gumpidx.mul, Gumpart.mul, and Tiledata.mul. Now you can close out of MulPatcher since it sucks up a ton of memory (at least for me).
14) Now you need to edit body.def. It's a text file, so you can edit it with any text editor. When you open it, right at the top it explains what the numbers in each column are for. At this point, you might want to pull out your computer calculator, unless you can convert hex to decimal without one. At the top of it, click View, then choose Scientific. Click the circle mark next to Hex, and enter the hex number in that you wrote down from Gumps(Anim).
Now click the circle mark next to Dec. This is where HellRazor's expertise would come in handy. Numbers are usually in the 50,000 and 60,000 range, and I think the 50,000 range numbers are male, the 60,000 range is female. I always just subtract 50,000 from the decimal I get, and it works fine, I haven't run into any problems with it yet. So, take the decimal you just got, subtract 50,000 from it, and write that number down. You wrote down 2 numbers from InsideUO when you found your animation. One was hex, the other was decimal. You'll need the decimal. The format in body.def is like this
900 {400} 0
The first number represents the slot in Gumps(Anim) minus 50,000, that your new art is saved to. The number in curly brackets represents your new in-game animation, and the last number represents hue. This is what I did in my body.def
If you add a # before a sentence, whatever comes after it on that line won't be read, allowing you to make a new heading for your customs.
15) Now you need a script for your new item. What I usually do is find a like script, in this case the robe script works, copy it, paste it into Notepad, and modify it to suit my needs. Here's a piece of code from my custom robe
The ID in red is the same hex number I have my robe's information saved to in Tiledata. Yours should be too. If not, it won't work. Now you have it all. The paperdoll art, the in-game animations, the ground tile, and the script. Make sure your shard is reading the files from you OSI directory before you load up. If it's not, you won't see your new item. Load shard, enter game, [add testrobe, and there it is. New artwork. If you have your own in-game custom animations, they shouldn't be too hard to add. I'm a terrible artist, so I use already existing animations. I'm sure they don't looks as good, but it works for the time being.
So basically, your art from Gumps(Anim) links to your item's animation, which links to the AnimID, which links to Tiledata, which links to your artwork's groundtile. Don't ask about custom mounts, I'm still working on it. Hope this is clear enough...I sure did take up a lot of space. Most of the thanks goes to HellRazor, he's great with this kind of stuff. Everything that I put in here I picked up from him in a few different threads. Also big thanks to FaerieLantern. The way I put this together is the way I do it. I'm sure there's more than one way, but this one makes the most sense to me.
Update! How to add artwork items (not clothing!)
So, I figured I'd update this with a how-to on adding artwork.
1) Follow steps 1-5 above skipping the bit about loading Gumpart.mul and Gumpidx.mul.
2) Looking at MulPatcher, find the tab on the bottom that says Tiledata. Click on it.
3) Find an empty slot. Empty meaning no checkmarks and no information entered anywhere. Just because it's not labeled with a name doesn't mean it's empty.
4) When you've found your empty slot, write down or in some way keep track of the slot you've chosen. Enter the information for your item. This part is easy. Name it, choose A or An, and put a height on it if you want. Height is for items that you don't want walked over. Let's say you have a statue and you put the height at 20. Think of it this way. From the top of the statue to 20 z axis, there'sa sort of invisible wall that won't let you pass over it. A height of 20 doesn't mean your item is going to float in the air at 20 z.
5) Looking on the bottom of MulPatcher, find the Art(S) tab. Click on it.
6) Find the same exact slot under the Art(S) tab that you used in Tiledata. If you chose 0x0000 for Tiledata, you're going to use 0x0000 for Art.
7) Once you've found the right slot, right click it, choose Load from Bitmap, and choose the piece of art for that slot.
8) Looking at the bottom again, find the Settings tab, click it, and save both your Tiledata and your Art files.
Now, you can either add that item in game by typing [add 0x0000 (or whatever slot you used, but you know what I mean) or you can script the item. You might find this tutorial a little lacking but adding art is much easier than adding wearable items. Happy gumping!
Updated: 11/09/06
Update to let everyone know that Layer 9 is now used for a Talisman. (Thanks HellRazor!)
If you're looking to add just artwork as in items that are not worn, scroll to the bottom. If you're looking to add worn items keep reading.
Not sure if this is the place, but I couldn't think of one better. Since there are a lot of questions about adding your own custom clothing/weapon artwork etc., I'll try to make a decent walk-through. HellRazor can explain it better I'm sure, but maybe he will add what I miss . First things first, download TDV Mulpatcher, you can find that here. You will also need InsideUO which you can get here. You'll also need your new artwork. You can get some from the same site you downloaded MulPatcher from if you don't already have some. Second, MAKE SURE that you make back-ups of the original OSI files before modifying them. This is a list of the files you should back up if you plan on only adding new artwork and nothing else.
-Anim.mul
-Anim.idx
-Anim2.mul
-Anim2.idx
-Anim3.mul
-Anim3.idx
-Anim4.mul
-Anim4.idx
-Animdata.mul
-Animinfo.mul
-Art.mul
-Artidx.mul
-Gumpart.mul
-Gumpidx.mul
-Tiledata.mul
You won't need to modify all these files, but InsideUO needs to read them, and I think it's easier if they're all in one place. Just create a new folder on your desktop, name it something you will remember, and place your clean copies in there. With some of the files, changes will be automatic, so always have a clean default copy. When you open up MuPatcher, and look at the bottom of it, you will see different tabs. Under the "Settings" tab on the far right, you will see all the different files MulPatcher can modify. We will be dealing only with Artidx.mul, Art.mul, Gumpidx.mul, Gumpart.mul, Tiledata.mul, and body.def. Body.def isn't something that MulPatcher will modify, but it will need to be modified for our new items to work, so make sure you make a back-up copy of that also. Any other modifications you wish to make, do at your own risk, since I probably won't be able to help. Ok, so far you've downloaded MulPatcher, InsideUO, and made back-up copies of your OSI files. Now, here starts the fun...for me anyway. This is the way I do mine. If someone knows of a better way, great. Mine might be a little extra work, but it's the way that works best for me.
1) UnRAR Mulpatcher into your Ultima Online folder.
2) UnRAR InsideUO to your OSI backups folder.
The reason for running these programs on 2 different sets of files is because once you've got MulPatcher loaded with files from your UO directory, if you try to use InsideUO to load those same files, it won't do it. The purpose for InsideUO in this is to get the in-game animations for your new items.
3) UnRAR your new artwork to a folder somewhere that you will remember, with a name you will remember. All of it should be a bitmap file. For example, BlahBlah.bmp
4) Run MulPatcher from inside your UO directory. Look at the tabs across the bottom. The second to last from the right is a Settings tab. Click there. Make sure the files MulPatcher is reading are the files from your UO directory. Click the ... button to change the directory.
5) The first set of files you'll want to load are Artidx.mul and Art.mul. If you need help finding where to load those files look here. The next set of files to load are Gumpidx.mul and Gumpart.mul. Those are right underneath where you loaded the art files. The last file to load is Tiledata.mul. Look here if you can't find where to load it.
6) Back to the tabs that run across the bottom. Find the one labeled Gumps(Anim). This is anything you see on your paperdoll. Clothing, armor, weapons, jewelry, and hair. You'll see a long column of numbers on the left. Those are hex numbers. At the bottom of the Gumps(Anim) page, you'll see a drop down menu. It will let you choose to either look at all of the Full Slots, which are slots with a paperdoll item already in them, Empty Slots, which are what we will be using, since we're adding new art, not overwriting OSI art, and All Slots, which of course is all of them.
7) I suggest you grab a notebook and a pen for this part. From the drop down list select Empty Slots, and pick one. I suggest going to the very bottom, and working your way up. Why? Because there's a large number of open slots at the end of the file, and it will make things easier to have all your customs in one group, rather than in different places all over the file. Now, right click the slot you've chosen, and you will see a list of options. Choose "Load From Bitmap. It will let you choose the directory to choose your artwork from. Choose the .bmp file you wish to add, and click Open. Now you will see a piece of artwork that belongs on the paperdoll in that slot. Write down the slot you saved your art to. Notice with your new art slot highlighted, towards the bottom of the page it says something like Animation ID:0xAAAA does not exist. Make sure you write down that hex number also. You need to make that animation exist, and this is where InsideUO comes in.
8) Start up InsideUO. At the top, it says View. Click there, and select the only option, File Paths. You'll see a list of files to the left, and where InsideUO is reading them from on the right. Make sure InsideUO is reading the files from your back up folder. For the other files, such as Map and Static files, you can leave that blank, or put your UO directory path in there, since you aren't modifying them, or looking at them with MulPatcher.
9) Down the left of InsideUO you will see Animation, Artwork, Fonts...etc. Choose Animation. For what you're adding, you'll will only be dealing with the People and Accessories section. For your pretend new artwork, let's say you added a new robe. Obviously, if someone was wearing your new robe, you would want it to look like they're walking around on the game wearing a robe. So, expand the People and Accessories section by clicking the +. Now you'll see a big long list of headings on the left. Just by reading them you know what they are. Scroll down until you find the heading Robe, and highlight it. Now on the right you'll see a picture of the robe. On the bottom of InsideUO, it says Model No., giving a hex and a decimal for it. Write those down also. Head back to MulPatcher.
10) In MulPatcher, you should still have your slot for your new robe highlighted. If you right click on that slot, on the bottom of the menu, you'll see Copy Existing Animation. Select that. Remember the hex number you wrote down from InsideUO? Enter it in that box and click Ok. Next, go to the Tiledata(S) tab, towards the right.
11) Any hex number in Tiledata(S) that doesn't have a title next to it is an empty slot. Again, I suggest finding a large space of empty slots to start your new artwork. Choose your new slot and (big surprise), write it down. In the Name slot, enter a name for your new item. Let's call it Test Robe. Remember the Anim ID from Gumps(Anim) that you wrote down? That goes in the (you guessed it) AnimID slot. Most of the other boxes, to me, have no use. You can use a script to set the weight and hue for your item, so I just leave those at 0. What you do need to worry about is Quality. The quality for an item will be where it sits on your body. Here's a list of the quality numbers, and what they do. Thank you HellRazor for posting these!
1
One handed weapon
2
Two handed weapon, shield, or misc.
3
Shoes
4
Pants
5
Shirt
6
Helm/Hat
7
Gloves
8
Ring
9
Talisman
10
Neck
11
Hair
12
Waist (half apron)
13
Torso (inner) (chest armor)
14
Bracelet
15
Unused (backpack, but backpacks go to 21)
16
Facial Hair
17
Torso (middle) (sircoat, tunic, full apron, sash)
18
Earrings
19
Arms
20
Back (cloak)
21
Backpack
22
Torso (outer) (robe)
23
Legs (outer) (skirt/kilt)
24
Legs (inner) (leg armor)
25
Mount (horse, ostard, etc)
26
NPC Buy Restock container
27
NPC Buy no restock container
28
NPC Sell container
29
Bank Box
So, since your new Test Robe is an Outer Torso, find the quality number for it, which is 22, and enter that into the quality slot. Now there are checkboxes. For clothing, I usually only check A and Wearable. I don't really think you need to check A, but I do it out of habit. You definitely need to check wearable though, or you won't be able to wear it. You're almost done. You've got the new pretty robe to show on the paperdoll, you've got the in-game animation for it, and now you need to add the tile to represent it when it's lying on the ground or in your pack. There's a couple ways to do this, neither is really complicated, there's just a lot of steps to follow. I do it this way:
-In Tiledata, find the Search bar at the bottom, type in robe, hit Search.
-Remember the hex number that's highlighted.
-Go to the Art(S) tab, and enter in that hex number in the Search bar.
-That same hex number will be highlighted, and you'll see a picture of a robe.
-Right click that hex number, choose Save to Bitmap.
-Save it to a location and with a name that you'll remember.
Another way to do it is:
-Use InsideUO, choose Artwork -> Static Tiles.
-Scroll around and find the groundtile for a robe.
-Right click, choose Save As, and save it to a location and with a name you'll remember.
Inside UO takes a bit longer, since you have to scroll through a lot of artwork tiles to find what you want. To the Art(S) tab!
12) If you look around in here, you'll see the artwork tile to represent anything on the ground. Weapons, clothing, etc. You'll even see frame-by-frame animations. Remember the hex number you put your Test Robe info into in Tiledata that you wrote down? Put it in the Search bar, and click Search. This is where you put your new robe's ground tile. Right click that slot, choose Load from Bitmap, and load the groundtile you just saved.
13) Go to the Settings tab, and save Animdata, Artidx.mul, Art.mul, Gumpidx.mul, Gumpart.mul, and Tiledata.mul. Now you can close out of MulPatcher since it sucks up a ton of memory (at least for me).
14) Now you need to edit body.def. It's a text file, so you can edit it with any text editor. When you open it, right at the top it explains what the numbers in each column are for. At this point, you might want to pull out your computer calculator, unless you can convert hex to decimal without one. At the top of it, click View, then choose Scientific. Click the circle mark next to Hex, and enter the hex number in that you wrote down from Gumps(Anim).
Now click the circle mark next to Dec. This is where HellRazor's expertise would come in handy. Numbers are usually in the 50,000 and 60,000 range, and I think the 50,000 range numbers are male, the 60,000 range is female. I always just subtract 50,000 from the decimal I get, and it works fine, I haven't run into any problems with it yet. So, take the decimal you just got, subtract 50,000 from it, and write that number down. You wrote down 2 numbers from InsideUO when you found your animation. One was hex, the other was decimal. You'll need the decimal. The format in body.def is like this
900 {400} 0
The first number represents the slot in Gumps(Anim) minus 50,000, that your new art is saved to. The number in curly brackets represents your new in-game animation, and the last number represents hue. This is what I did in my body.def
Code:
#Begin Customs
11183 {477} 0
11180 {448} 0
11179 {636} 0
15) Now you need a script for your new item. What I usually do is find a like script, in this case the robe script works, copy it, paste it into Notepad, and modify it to suit my needs. Here's a piece of code from my custom robe
Code:
[Constructable]
public BlueRedSkullRobe( int hue ) : base( [color="red"]0x3F15[/color], hue )
{
Weight = 3.0;
Name = "Skull Robe";
}
The ID in red is the same hex number I have my robe's information saved to in Tiledata. Yours should be too. If not, it won't work. Now you have it all. The paperdoll art, the in-game animations, the ground tile, and the script. Make sure your shard is reading the files from you OSI directory before you load up. If it's not, you won't see your new item. Load shard, enter game, [add testrobe, and there it is. New artwork. If you have your own in-game custom animations, they shouldn't be too hard to add. I'm a terrible artist, so I use already existing animations. I'm sure they don't looks as good, but it works for the time being.
So basically, your art from Gumps(Anim) links to your item's animation, which links to the AnimID, which links to Tiledata, which links to your artwork's groundtile. Don't ask about custom mounts, I'm still working on it. Hope this is clear enough...I sure did take up a lot of space. Most of the thanks goes to HellRazor, he's great with this kind of stuff. Everything that I put in here I picked up from him in a few different threads. Also big thanks to FaerieLantern. The way I put this together is the way I do it. I'm sure there's more than one way, but this one makes the most sense to me.
Update! How to add artwork items (not clothing!)
So, I figured I'd update this with a how-to on adding artwork.
1) Follow steps 1-5 above skipping the bit about loading Gumpart.mul and Gumpidx.mul.
2) Looking at MulPatcher, find the tab on the bottom that says Tiledata. Click on it.
3) Find an empty slot. Empty meaning no checkmarks and no information entered anywhere. Just because it's not labeled with a name doesn't mean it's empty.
4) When you've found your empty slot, write down or in some way keep track of the slot you've chosen. Enter the information for your item. This part is easy. Name it, choose A or An, and put a height on it if you want. Height is for items that you don't want walked over. Let's say you have a statue and you put the height at 20. Think of it this way. From the top of the statue to 20 z axis, there'sa sort of invisible wall that won't let you pass over it. A height of 20 doesn't mean your item is going to float in the air at 20 z.
5) Looking on the bottom of MulPatcher, find the Art(S) tab. Click on it.
6) Find the same exact slot under the Art(S) tab that you used in Tiledata. If you chose 0x0000 for Tiledata, you're going to use 0x0000 for Art.
7) Once you've found the right slot, right click it, choose Load from Bitmap, and choose the piece of art for that slot.
8) Looking at the bottom again, find the Settings tab, click it, and save both your Tiledata and your Art files.
Now, you can either add that item in game by typing [add 0x0000 (or whatever slot you used, but you know what I mean) or you can script the item. You might find this tutorial a little lacking but adding art is much easier than adding wearable items. Happy gumping!