GTA: Modification Area
Would you like to react to this message? Create an account in a few clicks or log in to continue.
GTA: Modification Area

A website for the GTA modding scene

Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Big-game starts raising Schneider's profile
Changing hard coded interface EmptySun Mar 04, 2012 2:28 am by lavivi

» [Help] cleo created lighting
Changing hard coded interface EmptyThu Oct 14, 2010 1:03 am by findmy012

» Mission Question
Changing hard coded interface EmptyThu Oct 14, 2010 1:02 am by findmy012

» [IV] Spoiler Script
Changing hard coded interface EmptyThu Oct 14, 2010 1:02 am by findmy012

» Mission mod [help]
Changing hard coded interface EmptySat Sep 18, 2010 5:50 pm by jayd00

» Bc7 Mod Help
Changing hard coded interface EmptyFri Aug 20, 2010 11:19 am by pengpeng

» Found a bug
Changing hard coded interface EmptyFri Dec 18, 2009 4:22 am by _CJ360_

» [IV] Novitec Rosso 599 GTB
Changing hard coded interface EmptyTue Nov 17, 2009 4:22 pm by Kotton

» Hello/Guidance Request
Changing hard coded interface EmptyMon Oct 12, 2009 6:45 am by Adler

Navigation
 Portal
 Index
 Memberlist
 Profile
 FAQ
 Search
Affiliates
image

Image

Image

Image

Image

Image

Image

Image

Image

Image

image

Image

steve-m.com

Image


----- Русский -----

Если ваш сайт содержит большую коллекцию SCM/CLEO-скриптов (больше 16), напишите на мой e-mail, и я добавлю его в список. Приветствуются скрипты, которые не встречаются на других сайтах ... Спасибо. ))))


----- English -----

If your website has a big enough collection of SCM/CLEO scripts (more than 16) notify me by e-mail
, and I will add it to the list. The unique scripts are preferable ... Thank you. ))))
Log in

I forgot my password



March 2024
MonTueWedThuFriSatSun
    123
45678910
11121314151617
18192021222324
25262728293031

Calendar Calendar


You are not connected. Please login or register

Changing hard coded interface

2 posters

Go down  Message [Page 1 of 1]

1Changing hard coded interface Empty Changing hard coded interface Thu Feb 19, 2009 3:54 am

gtasbigfoot

gtasbigfoot
Admin

Description



The interface colors, are hardcoded, so this means you'll have to hack the GTA SA.exe while the game is running, there are ways of changing them, even still.
I do not recommend any of this to the newbie scripter, as it changes the memory, something a newbie scripter, should not try...

If you have no knowledge in RGB(A) then I suggest you read this first: http://en.wikipedia.org/wiki/RGB_color_model

way1, first take an address for the HUD:


Code:

//............................Health(red things)
0006: 7@ = 0xBAB22C
0006: 8@ = 0xBAB22D
0006: 9@ = 0xBAB22E

//............................

//............................Armour/Clock/WB Text(white things)
0006: 7@ = 0xBAB23C
0006: 8@ = 0xBAB23D
0006: 9@ = 0xBAB23E

//............................

//............................Money/Car enter text(green things)
0006: 7@ = 0xBAB230
0006: 8@ = 0xBAB231
0006: 9@ = 0xBAB232

//............................

//............................Wanted Level Stars
0006: 7@ = 0xBAB244
0006: 8@ = 0xBAB245
0006: 9@ = 0xBAB246

//............................

//............................Zone text/Bars
0006: 7@ = 0xBAB238
0006: 8@ = 0xBAB239
0006: 9@ = 0xBAB23A
//............................

Now write to these address(the first is R value, the second G, then the third B),
so if you write for the first line below value to FF, and the other two 00 then that will make it red.
As stated the, first parameter of the opcode below is the address, the third is the color value.
So in the example below, that will make the HUD(with the address yo chosen)blue, because the R value is set 0, the G to 0 as well, but the B is
set to FF(255) so it makes it as blue as possible.

Code:

0A8C: write_memory 7@ size 4 value 0 virtual_protect 0 // R
0A8C: write_memory 8@ size 4 value 0 virtual_protect 0 // G
0A8C: write_memory 9@ size 4 value 0xFF virtual_protect 0 // B

way2, take a address again, for example, I'm going to use the health bar address, RGB addresses, this way is the complex method.

Code:

7@ = 0xBAB22C // R addresses
8@ = 0xBAB22D // G addresses
9@ = 0xBAB22E // B addresses

Choose the RGB value:

Code:

0006: 10@ = 0  // red value is 0
0006: 11@ = 0  // green value is 0
0006: 12@ = 255 // blue value is 255
0050: gosub @COLOR_1075 // gosub to the color injector
0a93: end_custom_thread

This is the main thing of all the code, the inject pointer:

Code:

:COLOR_1075
0085: 0@ = 7@ // (int)
0085: 2@ = 10@ // (int)
0006: 3@ = 1
0050: gosub @COLOR_1167
0085: 0@ = 8@ // (int)
0085: 2@ = 11@ // (int)
0006: 3@ = 1
0050: gosub @COLOR_1167
0085: 0@ = 9@ // (int)
0085: 2@ = 12@ // (int)
0006: 3@ = 1
0050: gosub @COLOR_1167
0051: return

:COLOR_1167
0085: 5@ = 0@ // (int)
0016: 0@ /= 4
0012: 0@ *= 4
0062: 5@ -= 0@ // (int)
0050: gosub @COLOR_1317
0012: 3@ *= 8
0012: 5@ *= 8
000E: 3@ -= 1
0006: 6@ = 0

:COLOR_1232
00D6: if
08B6:  test 2@ bit 6@
004D: jump_if_false @COLOR_1266
08BF: set 1@ bit 5@
0002: jump @COLOR_1274

:COLOR_1266
08C5: clear 1@ bit 5@

:COLOR_1274
000A: 5@ += 1
000A: 6@ += 1
001D:  6@ > 3@ // (int)
004D: jump_if_false @COLOR_1232
008A: &0(0@,1i) = 1@ // (int)
0051: return

:COLOR_1317
000E: 0@ -= 0xA49960
0016: 0@ /= 4
008B: 1@ = &0(0@,1i) // (int)
0051: return


Now this way, this way is very short, this way does not use the R, G, B addresses, it uses the health bar color address(RGBA) here is an example:


Code:

0@ = 362035
&0(0@,1i) = 0xFF0000FF


Alpha (FF), then Blue (00), then Green (00), then Red (FF).


Code:

0@ = 362035                // health bar
&0(0@,1i) = 0xFFFF6300

0@ = 362036                // hud.money
&0(0@,1i) = 0xFF00FFF0

0@ = 362038                // SA fonts
&0(0@,1i) = 0xFF0C0CFF

0@ = 362039                // GTA3 fonts
&0(0@,1i) = 0xFF3BB847

0@ = 362040                // fonts.menubackground
&0(0@,1i) = 0xFFFF0000

0@ = 362041                // maplines
&0(0@,1i) = 0xFF00FFF0

Sphere color hacking
The sphere changing, works a little different, note; that the last parameter should be set to 1.

Code:

0A8C: write_memory 0x00725BD0 size 4 value 0x00{}BA66 virtual_protect 1 // R
0A8C: write_memory 0x00725BCC size 4 value 0x00{}B966 virtual_protect 1 // G
0A8C: write_memory 0x00725BD5 size 4 value 0xFF{}B866 virtual_protect 1 // B

Changing hard coded interface Blue_s10

The value before, the {} brackets are color value, so for example, in the third opcode, value the color value is FF(255)
R is set to 0 in that example, so is G set to 0, so using them opcodes above in a script, will change the sphere color to blue.

Comments, or questions are welcome.

This is for getting the perfect color you want, if you do not wanna do it in your head:



http://gtamodding.com

2Changing hard coded interface Empty Re: Changing hard coded interface Tue Aug 25, 2009 10:11 am

Deji



Code:
0A8C: write_memory 0xBAB24C size 4 value 0xFFFFFFFF virtual_protect 0 // RBGA - Selecting

Changes radio text during selection to white.



I also got a question... How do I hide the health and armour bars without disabling anything else? I can't figure out the address and I can't see it posted anywhere Sad

http://gtag.gtagaming.com

Back to top  Message [Page 1 of 1]

Similar topics

-

» Changing GXT entry's

Permissions in this forum:
You cannot reply to topics in this forum