Adventures In Texture Editing

Grinkles

Developer
Staff member
Ever since I saw those beautiful green owlbears in The Overgrowth, I've wondered both how it was done and why SoD didn't tinker more with custom textures. (Including more would sure be a way to make the server stand out even more among the competition....) I had seen Tierilo play around with the idea before, but I'd never been successful myself.

Anyway, I have finally discovered how to tinker with them on my own, though I'm slow as molasses when it comes to editing even a single model's texture. Part of the problem is that, lamentably, the program I use to view the textures, S3dspy, has no search function. This makes it incredibly hard to be certain where global models are loaded from, and sometimes I go through tinkering with two dozen texture images only to log into the game and realize whatever I've done hasn't worked because SoD is pulling the model's textures from some other zone file than what I expected.

Nitty-gritty aside, here are my first two successful little forays into editing textures. The first is the lovable, global Froglok in hot pink glory with lime green eyes:

HotPinkFroglok1_zps7c5a17f6.jpg


HotPinkFroglok2_zpsf46e4015.jpg


HotPinkFroglok3_zpsb2037830.jpg

The second is another global model--a drake in banana yellow. (That makes black, green, red, blue, and now yellow. All we'd need is pink and we'd have a full team of Mighty Morphin' Drakeling Rangers! :dance:)

YellowDrake3_zps51231228.jpg


YellowDrake1_zps36e61416.jpg


YellowDrake2_zps820be1ad.jpg
 
Last edited:
Here's another adventure in playing with textures. I've known for some time that there was an official hi-res retexture done for tons of pre-Luclin zones circa 2004 or so, but I only just found out it was possible to take those hi-res zone textures and superimpose them on SoD. It was actually rather simple -- simply go to a current Live install and copy + paste something like felwitheb.s3d over the SoD file by that name.

Anyway, here's a comparison of the lo-res Athica B (Southern Felwithe) with the hi-res version. Many of you may already be playing with the hi-res version by default, depending on the install you've done, but for whatever reason, my SoD install used the old. Pay special attention to the grass, the vine-covered walls, and
the cobblestone.


AthicaB1a_zps40556ee6.jpg


AthicaB2a_zps2516a4a8.jpg


AthicaB3a_zps4723aba1.jpg

Here's the same treatment given to Underhill (Ak'Anon). Walls, floors, even bridges look better. I don't know whether hi-res is the default for this zone for most SoD installs, but it was new for me!

Underhill1a_zpsa12a92af.jpg


Underhill2a_zpsd8af112c.jpg


Underhill3a_zpse29da3c3.jpg


Underhill4a_zps04bdf7de.jpg

And now for something completely different. Here are some screenshots of Athica with a mere three zone textures replaced with some custom Skyrim textures (lol) that I pulled from Skyrim Nexus. Mind you, if a person wanted to go all out with this kind of thing (instead of doing a few quick samples like I did without really aiming for aesthetic appeal), it could potentially look a lot better.

AthicaSkyrim1_zpsaa209644.jpg


AthicaSkyrim2_zps950bad64.jpg


AthicaSkyrim3_zps2c12bb53.jpg
 
Here's some texture editing involving actual player armor -- more specifically, a robe. With our current client, there are seven robe textures, all of which are in the global_char.s3d file. For those from Live, you might remember these seven designs from the following "famous" robes back in the day:

  • Robe of the Elements (red with yellow trim and a bright blue belt)
  • Flowing Black Robe (black with dark red pattern on the front)
  • Robe of the Whistling Fists (khaki with oriental symbols up the front and an "eye" near each shoulder)
  • Robe of the Oracle (bright blue with gold and white trim)
  • Robe of the Kedge (green with tan trim)
  • Shining Metallic Robes (purple with gold trim)
  • Gossamer Robe (plain white)

The above examples and color descriptions refer to the base texture of each robe. As Live started piling on the expansions, there was a greater need for diversity of robes (so every caster wouldn't look the same!); therefore, more and more robes were being tinted. In other words, a new color in RGB form was applied on top of the base, which would yield some very distinctive results. This is exactly what is going on when you dye an item in-game, a feature that came with the Legacy of Ykesha expansion in 2003; you pick RGB values that are laid on top of the base. The process was merely put in the hands of the player for a greater sense of customization and self-expression.

However, there are limitations to this system of base textures and dyes/tints. The "Robe of the Oracle" base texture, for instance, has such a garishly bright blue to it that it's very difficult to tint it and get a result that isn't somewhere along the blue spectrum. As another example, dyeing a robe anywhere near white (R255 G255 B255) only brings out the base texture's colors, so a person wearing something that uses the "Flowing Black Robe" texture could never achieve anything near a white robe no matter what dye scheme is chosen. The exception to this is the "Gossamer Robe" base texture, which is plain white and therefore its color can be dictated nearly 100% by the chosen RGB dye/tint value.

Here's where the texture editing comes in. I've always wanted to see new robe colors in SoD, and that's how this thought came to me: If the base textures themselves are modified, then that also means all resulting tint/dye schemes will be entirely foreign and new! Essentially, recolor the base and you get a whole new array of color possibilities that've never graced the game. I used my own Robe of Melting Memories for this example:

RobeoftheElements-Master_zpsf1ef78f2.jpg


  • A = "Robe of the Elements" base texture (vanilla)
  • B = Robe of Melting Memories as seen in SoD (basically, it's A with a medium green tint)
  • Group C - I = base texture's hue modified toward a medium blue (seen in G, which serves as the new base for this grouping; all the rest are simply dyed versions of this new base)
  • Group J - N = base texture's color palette is fully inverted (blues -> oranges, reds -> cyans, etc.; J serves as the "base texture" for this grouping and all others are simply dyed versions of this new base)

Pretty cool results, huh?! In theory, this kind of thing could even be implemented in SoD or any server in the interests of never-before-seen custom aesthetic content or simply to add some variety to the color palette we're all so used to seeing. All that'd be required would be settling on a way to modify the base (such as moving around its hue or grayscaling it or inverting the palette as a whole, none of which involves more than a few clicks of the mouse), then inserting the resulting files .bmp into global_char.s3d with names that will not overwrite our current robe textures, and finally assigning the textures to specific in-game robes as desired. And, of course, this robe was merely an example -- the entire process could be applied to weapons, platemail armors, hats, etc.
 
Grinkles, can you make SoD 2D and 16bit? Please and thank you. I will wait::

tumblr_moaflousSb1r3smugo1_500.gif


Seriously though, this is great. Maybe if you were interested in doing something bigger, you and Teirilo could get together and make some wonderful texture packs for people to DL.
 
Here's another experiment. I found out that sky.s3d contains just what's written on the tin: files used for rendering zone skies, including lots of .bmp images of clouds. One main sky image is stretched bigtime to encompass a zone and is given the illusion of being animated by a combination of looped scrolling and a very odd visual distortion effect. Additionally, a number of smaller, transparent cloud images are pulled across the top of the zone to create the impression of multiple sky layers.

This is what resulted when I took a generic space wallpaper and replaced the main sky backdrop image at nighttime.

StarrySky1_zpsc6bc269e.jpg


StarrySky2_zps69e41205.jpg

The main problem is that it looks very artificial when it is being scrolled across the top of the zone and the distortion effect is applied. Symmetry is thrown out the window, essentially (as in that squashed starburst next to the tree in the right-hand foreground of the second image). There is also no means of making stars twinkle, of course. Additionally, the rate at which the scrolling occurs is *far* too fast; I think this is a shortcoming in the client's method of rendering skies rather than anything that can be fixed by fiddling with the resolution of the chosen sky image; take a look some time at the rate at which clouds move by overhead and you'll probably be surprised at how unnaturally fast it happens! Another problem with this particular example is that it would look downright bizarre during the daytime! ;)

Anyway, more to come...
 
Last edited:
I feel like Dr. Frankenstein. :psyduck: This is what happens when you superimpose the male Gnome texture on top of the male Ogre wireframe. Surprisingly, the entire thing from the neck down looks pretty convincing, but the head is another story:

OgrewithGnomeSkin_zpsc98acc0e.jpg

And this is what happens when... well, take a guess what the combination here is:

HumanwithFemaleOgreSkin_zps833ab85f.jpg

(Varig was being camera-shy.)
 
I would be more than happy to put up custom skins if:

A) They are polished and do not stick out.
B) They are thematically appropriate.
C) They do not override textures that we use a lot.


Keep posting cool shit!
 
Thanks for the positive feedback!

Here's something I know a lot of people have always wanted to see -- a robe on a non-robe race! It's really just a trick and not the real thing. Robes are stored in a series of files with names like clkch0001, which stands for cloak (clk), chest (ch), first texture piece (0001). (This use of the word "cloak" in lieu of robe leads me to believe the files were done very early on in the development of the game, before actual cloaks -- back slot items which do not show up -- were devised. Another similar oddity is the use of the abbreviation ho for Halfling in files like homch0001 -- Halfling / Male / Chest Set / First Texture Piece in Chest Set -- which presumably stands for Hobbit!)

Anyway, robes themselves are stored as separate textures and are not part of a race's texture set. They are actually mapped on top of the robe-enabled races through a process called referencing, whereby a bitmap image (of a robe, in this case) is assigned a place in a 3D space on a pixel-by-pixel basis. At least that's the apparent gist of it! Non-robe races, such as Dwarves, Barbarians, and Trolls, do not have this referencing and therefore a robe shows up as nothing more than a bare chest, or maybe a tinted bare chest if the robe has tinting applied.

For this experiment, I took the robe texture pieces and applied them to the male Troll's base texture, which means it is impossible to make the legs look like actual robe legs (because no armor actually goes across the space between the legs except referenced robes, which Trolls obviously lack). There's also an issue with the bottom portion of the robe, which looks rather like a diaper, whereby the "front" of the robe is actually displaced onto the sides. I could fix this pretty easily, I think, but unless someone were able to go in and actually reference robes for the non-robe races, they'll never be truly usable. :(

TrollRobe1_zps7ff80aeb.jpg


TrollRobe2_zpse16a2776.jpg
 
Last edited:
I am not sure I entirely understood that last paragraph, but can say that I like the legless look. One of the silliest things about EQ and most other MMOs is the automatic resizing of clothes/weapons to fit a character. If a big dumb troll put on a robe usually worn by humans/elves that is just about exactly what it would look like.
 
Neat Grink! Let's see how Blackmetal Robe looks on a half elf :]

Oh, I have a very cool experiment starring your beloved Paladin already in the works! Screenshots have been taken, but I'm going to be too busy with coursework today to edit and post them until the evening. Watch this space...

EDIT: By the way, you do realize your signature inexplicably leads to the November 23rd, 2008 version of a random PoNightmare trash mob's wiki entry, right? :monocle:
 
Last edited:
The troll is hilarious. He looks like a giant baby in a onesie. I honestly, think this outfit could go in on a quest mob who is a baby, has a babies demeanor, or is some sort of Halloween costume.

Super cool man. I love this thread!
 
Its a shame that I can't figure out a way to extract models from the s3d files while keeping all of the textures aligned and the same.
 
Is your loading screen splash artwork broken for Shards of Dalaya? Does it stretch and cut off where it isn't supposed to? I'm looking for volunteers to try a fix on their own machines. I managed to get the loading art working 100% fine at all resolutions on my own computer, but Waldoff tells me that the stretching and cutoff are not the same for everyone. That said, would some of you please try downloading this ~600 KB file and replacing the one by the same name in your EQ SoD directory? You may want to make a copy of the old one just to be safe prior to doing the overwrite.

Would really appreciate feedback on this from those willing to give it a go! (Hopefully the Google Drive link works, because this is the first time I've tried using it.)

 
Back
Top Bottom