Problem With Reassemble

Omega59

Omega59

Cheater
Joined
Mar 15, 2020
Messages
26
If Reassemble is used then you always get a " (reassemble( 00000000+2,6)) :00000000+2,6 could not be found)" on a perfectly working script.

Cheat Engine V. 7.0
Windows 10
 
cfemen

cfemen

RCE Fanatics
Talents
Table Maker
Joined
Feb 15, 2019
Messages
625
to be more specific:
he used my Ori and the Will of the Wisps table, he couldn't activate my Enable Script coz:
reassemble(aobCanJump+2,6)

this reassemble always gave him the mentioned error.
we talked on discord and i looked for it, he did nothing wrong, then reassemble command in script removed = script activate was possible.

we used ceregreset.exe to reset his cheat engine settings, but still same problem.
so i suggested him to create this topic, maybe someone or Dark Byte has an idea about this problem.
 
P

panraven

Cheater
Table Maker
Joined
Mar 3, 2017
Messages
45
reassemble has address as its _only_ parameter,
as the byte pattern at that address is enough to tell the size of the original instruction,
note that the reassembled instruction may have a different size.
Try use reassemble(aobCanJump+2) instead of reassemble(aobCanJump+2,6)
 
cfemen

cfemen

RCE Fanatics
Talents
Table Maker
Joined
Feb 15, 2019
Messages
625
panraven said:
reassemble has address as its _only_ parameter,
as the byte pattern at that address is enough to tell the size of the original instruction,
note that the reassembled instruction may have a different size.
Try use reassemble(aobCanJump+2) instead of reassemble(aobCanJump+2,6)
true, you are right about the parameter(only one)
so its curious that it always worked on my machine (and until now i never got a message with problems with my scripts that are using reassemble)
just changed the script and aobCanJump+2 does generate a correct condition jump.
so i hope its now fixed for Omega59!
thank you panraven, i dont know why i never realized that reassemble only has 1 parameter...i never had problems to use it with an extra length offset :shock:
 
P

panraven

Cheater
Table Maker
Joined
Mar 3, 2017
Messages
45
I guess AA script is evolved from a simple line assembler,
it was not and it is not parsed by a strict language grammar.
There may be some inconsistency between different ce version.
And there is some inconsistency between syntax check phase and execution phase in recent ce too.
For instance, you can define a symbol with a '@', but if it include a '@f' or '@b' inside the symbol,
it may complaint in syntax check phase (eg. include '@b' when no address label before the define command),
but work no problem when activated/executed.

^
Sorry, I mixed thing up. It is not inconsistency between different phases,
it is still either ok or error (depend on placement of the define command)
in both phases in my probably unrelated example.
 
Top