Replies: 2 comments
-
What about WriteInt64value ?
what about offsets?
|
Beta Was this translation helpful? Give feedback.
-
Yes, implement WriteInt64 too. Check for STATIC_INT_64BITS / LOCAL_INT64_VARIABLE and write the value properly or call this->StoreParameters(1) to store one number in standard way. "what about offsets?" That's a good question with an easy solution. As you see correctly, you also need certain commands to add/subtract the 64-bit values properly. `
` No need to create new commands. You may alter these ones. Basically only certain CLEO SCM commands would be able to handle int64 values - commands for memory and simple mathematical operations. |
Beta Was this translation helpful? Give feedback.
-
Newest GTA games have been compiled for 64-bit architectures.
For CLEO this has become a problem as far as memory commands are concerned.
I have thought about the best solution for this.
`
Notice in the end two types have been added.
int64 type would use two variables internally. For example 4@int64 makes use of 4@ and 5@
These types will only be usable with few SCM commands - memory commands to mention, where memory address is expected.
// Reads one int64 value and updates the script pointer
int64_t CRunningScript::CollectInt64value();
CRunningScript::CollectInt64value would have to be implemented in CLEO and used by these few commands.
CRunningScript::CollectInt64value should check for STATIC_INT_64BITS / LOCAL_INT64_VARIABLE and read the value properly or call this->CollectParameters(1) to collect one number in standard way.
Beta Was this translation helpful? Give feedback.
All reactions