View Single Post
  #4  
Unread 08-09-2011, 06:11 PM
Garan's Avatar
Garan Garan is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Oct 2010
Posts: 340
Quote:
Originally Posted by Fido
Thank you. This are bad news
But if I unterstand it correctly there is a way to get access to the build-in resources. Can you show an example how to load a build-in resource? And how did you found it out?

Fido
The built in images can be assigned with the SetBackground() method for those controls supporting images - review the Turbine API for which
controls support SetBackground(). Unfortunately, using images isn't always just as straightforward as that. Depending on how you want the image to interact with other images, you may have to use SetBlendMode() and SetBackColorBlendMode() and in some instances the undocumented method SetStretchmode(). All of these methods are used in various ways in MoorMap and AltInventory.

As to locating the image resource IDs, this is complicated by a bug in the SetBackground() method - if a non-image resource ID is passed, the client will crash to desktop. This makes it difficult to just browse the resource IDs looking for a specific image. The most obvious workaround is to read through the dat files to get a list of images, then use an application to view just those valid images. However, reverse engineering is a ToS violation and many would consider reading through the DAT files to discover the image resources and match them to IDs as a form of reverse engineering. I took a slightly different approach - I wrote a plugin (IRV - Image Resource Viewer) which can track ranges of good images and bad images and allow the user to scan until a bad image is found (at which point the client crashes to desktop). The bad image is automatically locked out when the plugin is next loaded (it saves the image id just prior to testing it). This, combined with seed values from the undocumented methods Item:GetBackgroundImageID(), Item:GetQualityImageID(), Item:GetShadowImageID() and Item:GetUnderlayImageID() provided enough resources to build a decent library of images.

Unfortunately, I haven't updated the published version of IRV since last November so it is no longer functional and the library is sorely out of date. My current library has 261 maps identified with another 144 maps of places I haven't been to yet (whereas the old library only had a couple dozen identified) with over 3400 total Library entries. I plan to clean it up and publish a newer version with the enhancements that I have added to it since last November as well as the current image library, but I have a number of other tasks that keep pushing that project back. You can get around the one major bug in the published version by following the instructions in the comments section of the plugin.
EDIT: I have published ver 1.03 of IRV which should have most of my current Library as well as a number of enhancements.

Last edited by Garan : 08-23-2011 at 02:41 PM.
Reply With Quote