← Back to DevelopmentAging & Mixing viewer.dll generatorProgramsClan filesInternet Information ServiceOllyDbg tutorialsMiscellaneousSkinsLinks / Files

aging_colors

← Back to Miscellaneous
The magic about aging colors happens here :

OllyDbg - Client side

00441522  |.  83F9 04       CMP ECX,4                                ; Switch (cases 4..14, 2 exits)
00441525  |.  7C 5B         JL SHORT 00441582
00441527  |.  83F9 14       CMP ECX,14
0044152A  |.  7F 56         JG SHORT 00441582
0044152C  |.  8B35 28AE8E00 MOV ESI,DWORD PTR DS:[8EAE28]            ; Cases 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13, 14 of switch client.441522
00441532  |.  8956 4C       MOV DWORD PTR DS:[ESI+4C],EDX
00441535  |.  8B3D 28AE8E00 MOV EDI,DWORD PTR DS:[8EAE28]
0044153B  |.  83E9 04       SUB ECX,4
0044153E  |.  8D0C49        LEA ECX,[ECX*2+ECX]
00441541  |.  C1E1 02       SHL ECX,2
00441544  |.  66:8BB1 B80B5 MOV SI,WORD PTR DS:[ECX+5F0BB8]          ; UNICODE "d(Z"
0044154B  |.  66:8977 54    MOV WORD PTR DS:[EDI+54],SI
0044154F  |.  66:8BB1 BA0B5 MOV SI,WORD PTR DS:[ECX+5F0BBA]          ; UNICODE "(Z"
00441556  |.  8B3D 28AE8E00 MOV EDI,DWORD PTR DS:[8EAE28]
0044155C  |.  66:8977 52    MOV WORD PTR DS:[EDI+52],SI
00441560  |.  66:8BB1 BC0B5 MOV SI,WORD PTR DS:[ECX+5F0BBC]
00441567  |.  8B3D 28AE8E00 MOV EDI,DWORD PTR DS:[8EAE28]
0044156D  |.  66:8977 50    MOV WORD PTR DS:[EDI+50],SI
00441571  |.  66:8B89 BE0B5 MOV CX,WORD PTR DS:[ECX+5F0BBE]


Let's analyse that code.

First the item's age level is compared to 4. If it's less than 4, the rest is skipped.
Then it's compared to 0x14 (= 18). If it's greater than 0x14, the rest is skipped.
Basically it checks if the age level is between 4 and 0x14.

If it's between these two values, it loads the aging colors. The colors are located in this table :

OllyDbg - Client side



Each age level is composed of a group of six 16 bit (= 2 bytes) values :
* the glow color RGB value
* a null
* the mix-like image "number"
* an unknown value.

It's easier to see with a realigned table. That's from +4 to +18:

Aging colors



For instance, let's take the +10 line :

+10



We have :
* (96, 0A, 00) for the RGB color, that's this color :      
* 03 for the mix-like color "number".

This one requires a little more explanation. This number loads an aditionnal texture to the item.
These textures are located inside the image\Sinimage\Items\DropItem folder. The filenames are usually mixS_01.bmp to mixS_05.bmp.
The number isn't exactly the number in the filename, it refers to an entry in a pointer table. This pointer table leading to the filenames.

The pointer table is located here :

OllyDbg - Client side



The filenames are located here :

OllyDbg - Client side



See if you use the number 06 for that value, it'll not load the file mixS_06.bmp, it'll load the file defined by the 6th pointer.
The 6th pointer address leads to the address 5C56FC. It'll load the file mixM_01.bmp.


* 0C for the unknown value

Now that you know that, you can easily change the aging colors. Or even add colors for +1 to +3 :) .