Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Thu Mar 28, 2024 10:31 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Fri Jun 24, 2011 9:56 am 
Offline
Kommunist
Kommunist

Joined: Mon Dec 31, 2007 8:40 pm
Posts: 27
Title: What?
Hello everyone.

I'm trying to make some codes for SaGa 2 - English alternative patch.
My problem is the multiple offsets needed to reach the value.
I could sucessfully found all the pointers but my problem can you load an address found by an offset in a new offset?

It's like this
62176018 00000000 --> Verifying if it is the Pointer (Within battles seem to change sometimes)
B2176018 00000000 --> Getting this address to my offset.
Now the problem, the value in this offset, for example is [022CE13C] wich is pointing to a new location.
The location pointed (022CE13C) minus 8hex holds the following address [022CDF8C]
When I use this address (022CDF8C) plus 28hex I reach the location where the item durability of the 1st slot is.

Any ideas of how to put it? I just need to use a value in a offset to become the new offset.

Thanks Everyone


Top
 Profile  
Reply with quote  
PostPosted: Mon Jun 27, 2011 11:00 am 
Offline
Kommunist
Kommunist

Joined: Tue Oct 10, 2006 9:32 am
Posts: 445
Here is how to solve your problem :

62176018 00000000 --> Verifying if it is the Pointer (Within battles seem to change sometimes)
B2176018 00000000 --> Getting this address to my offset (exemple : 0x022CE13C)
DC000000 FFFFFFF8 --> Substracts 8 (adds -8) from the offset (exemple : 0x022CE134)
B0000000 00000000 --> Loads pointer address into offset (exemple : 0x022CDF8C)
00000028 000000FF --> (exemple : writes 0xFF (8 bits) to durability of 1st slot item @0x022CDFB4)

However, I'm not sure that this post deserved a new topic in the Game Hacking Development forum.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 28, 2011 8:28 pm 
Offline
Kommunist
Kommunist

Joined: Mon Dec 31, 2007 8:40 pm
Posts: 27
Title: What?
Sorry if it wasn't to be posted but the info on ehacklopedia and other foruns didn't help.

When I looked ito this:
Type 0x0B Load offset BXXXXXXX 00000000
Loads the 32-bit value into the 'offset'. Offset = word at [0XXXXXXX + offset].

The [0XXXXXXX + offset] I thought it will be the value on a fixed Location and that the offset will be doubled.
Ex.: If I loaded the address 0x022CE13C into the offset using 0xB0, and use it again for 0x022CDF8C it would sum both addresses leaving me with value 0x0459C0C8.

I'm way used to programming and as when using manual increments I do: Variable = Variable + Increment; If Variable == 5 and Increment == 2, after running this line Variable would be 7. Might be my misunderstanding though.

Sorry again if it wasn't to be posted.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 28, 2011 8:45 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Aside: I've been trying to move this post, but it's not moveable due to something weird that happened during server relocation over the last few days.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 114 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group