#51 26-10-2014 20:30

kenking
From: Казахстан, Чимкент
Registered: 28-06-2010
Posts: 149

Re: Адреса и функции gta_vc.exe 1.0

1
2
3
4
5
6
7
8
9
10
03C0: 0@ = actor $PLAYER_ACTOR car
05E7: 0@ = car 0@ struct
0@ += 0x3DC // boot_dummy
05E0: 0@ = read_memory 0@ size 4 virtual_protect 0
if
  0@ > 0
then  
      //.text:00645280   ; int __cdecl RwFrameRotate(int, int, float, int)
      05E1: call 0x645280 num_params 4 pop 4 2 1 1.0 0@
end

Offline

#52 26-10-2014 21:01

mfisto
From: Perm
Registered: 01-02-2008
Posts: 448
Website

Re: Адреса и функции gta_vc.exe 1.0

Насколько я могу судить то по примеру, что делал DK тут явно ошибка, там же в примере передавалась переменная 1@v, а тут надо по другому значит с тем же смыслом.

1
0AA5: call {RwFrameRotate} 0x7F1010 num_params 4 pop 4 _combine 2 _angle+= 1.0 _axis 1@v _frame 0@

В куске выше это для SA, для Вайса надо сделать так

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
05F7: 1@ = label @label offset
05DF: write_memory 1@ size 4 value 0.0 virtual_protect 0
1@ += 4
05DF: write_memory 1@ size 4 value 0.0 virtual_protect 0
1@ += 4
05DF: write_memory 1@ size 4 value 1.0 virtual_protect 0
1@ -= 8
05E1: call 0x645280 num_params 4 pop 4 2 1.0 1@ 0@
 
:label
hex
    00 00 00 00
    00 00 00 00
    00 00 00 00
end

Last edited by mfisto (26-10-2014 21:11)


I know everything and nothing...

Offline

#53 Yesterday 13:39

DK22Pac
From: Вінниця
Registered: 26-03-2010
Posts: 294
Website

Re: Адреса и функции gta_vc.exe 1.0

Всё верно. Ну и использовать 05FD не обязательно.

1
2
3
4
5
6
:label
hex
    00 00 00 00
    00 00 00 00
    00 00 80 3F
end

Last edited by DK22Pac (Yesterday 13:41)

Offline

#54 Yesterday 15:40

kenking
From: Казахстан, Чимкент
Registered: 28-06-2010
Posts: 149

Re: Адреса и функции gta_vc.exe 1.0

mfisto, DK22Pac, спасибо за разъяснения. good
Пример протестил - работает. Всё же остались непонятки по порядку передачи параметров. В описании:

1
2
//.text:00645280   ; int __cdecl RwFrameRotate(int, int, float, int)
05E1: call 0x645280 num_params 4 pop 4 2 1.0 1@ 0@

или передаётся в обратном порядке?

Ну и сразу ещё есть вопросы:
1) В некоторых функциях один из передаваемых параметров - componentID - это что?
2) doorNumber - это значения из диапазона 0-5 (0=капот, 1=багажник и т.д.) или я ошибаюсь?
3) Как всё же организовать поиск компонента по имени? Код, что выкладывал DK22Pac у меня не работает wall

Offline

#55 Yesterday 19:59

DK22Pac
From: Вінниця
Registered: 26-03-2010
Posts: 294
Website

Re: Адреса и функции gta_vc.exe 1.0

Для 0AA5-0AA8 параметры всегда передаются в обратном порядке.

Offline

Board footer

Powered by FluxBB