Opracowałem dość prosty sposób pozwalający zmienić tę teksturę, ale wymaga on niestety użycia Ikarusa. Nie mam Uniona, więc nie mam na to sposobu
const int InvTexAdr[6] = {
7368337, //INV_BACK_CONTAINER.TGA - skrzynie
7368357, //INV_BACK_PLUNDER.TGA - martwy lub nieprzytomny npc
7368377, //INV_BACK_STEAL.TGA - kradzież kieszonkowa (nieużywane w G2)
7368397, //INV_BACK_BUY.TGA - kupowanie
7368417, //INV_BACK_SELL.TGA - sprzedaż
7368437 //INV_BACK.TGA - ekwipunek gracza
};
func void SetInvItemInfoTexture(var int index, var string texName) {
var int adr; adr = MEM_ReadStatArr(InvTexAdr, index);
var int ptr; ptr = MEM_Alloc(sizeof_zString);
MEM_WriteString(ptr, texName);
MemoryProtectionOverride(adr, 1);
MEM_WriteInt(adr, ptr);
};
Funkcję wystarczy wywołać w INIT_Global
const int once = false;
if (!once) {
once = true; //żeby nie alokować niepotrzebnie pamięci przy każdej zmianie świata czy wczytaniu zapisu
SetInvItemInfoTexture(0, "Inv_Back_Container_New.tga");
SetInvItemInfoTexture(1, "Inv_Back_Plunder_New.tga");
SetInvItemInfoTexture(2, "Inv_Back_Steal_New.tga");
SetInvItemInfoTexture(3, "Inv_Back_Buy_New.tga");
SetInvItemInfoTexture(4, "Inv_Back_Sell_New.tga");
SetInvItemInfoTexture(5, "Inv_Back_New.tga");
};