Page 1 of 1

Why do two variables in the table work at the same time?

Posted: Fri Feb 18, 2022 3:50 am
by yaodm2020
Hello everyone, I have a question, in this script "movss xmm0,[rax+rcx*8+0C]" is accessed by many data.
I would like to add one more data (register r14=0326) to the script by referring to the script way on this forum.
I copied a command, but it didn't work. Please help me to modify this script, thanks.
I am a beginner of CE, I hope you can give some advice.
I have a question that has never been clear, why the two variables "weaponspeed" and "weaponpro.." in this script can work at the same time.

I copied this part and wanted to add the data associated with register r14=0326, but the script doesn't work properly.



label(code)
label(return)
label(weaponSpeed)
label(weaponProjectiles)
label(weaponcoo)
newmem:
mov rsi,weaponPtr
cmp [rsi+10],rax
jne code
cmp r14d,0133
jne @f
mov rsi,weaponSpeed
cmp dword ptr [rsi],0
je code
movss xmm0,[rsi]
jmp return
@@:
cmp r14d,0295
jne @f
mov rsi,weaponProjectiles
cmp dword ptr [rsi],0
je code
movss xmm0,[rsi]
jmp return

@@:
cmp r14d,0326
jne @f
mov rsi,weaponcoo
cmp dword ptr [rsi],0
je code
movss xmm0,[rsi]
jmp return




code:
movss xmm0,[rax+rcx*8+0C]
jmp return

align 10
weaponSpeed:
dd 0
align 10
weaponProjectiles:
dd 0
align 10
weaponcoo:
dd 0
bundle:
jmp newmem
nop
return:
registersymbol(bundle)
registersymbol(weaponSpeed)
registersymbol(weaponProjectiles)
registersymbol(weaponcoo)
[DISABLE]
bundle:
db F3 0F 10 44 C8 0C
unregistersymbol(bundle)
unregistersymbol(weaponSpeed)
unregistersymbol(weaponProjectiles)
unregistersymbol(weaponcoo)
dealloc(newmem)