Skip to content
Permalink
Browse files
🎱
  • Loading branch information
ThirteenAG committed Jul 18, 2017
1 parent e22f90d commit e8c86589948251fb8218273cd08adac97d3803f5
Show file tree
Hide file tree
Showing 55 changed files with 15,564 additions and 0 deletions.
@@ -0,0 +1,5 @@
{$CLEO .csa}
0000:
0DD9: write_mem_addr 0x11E4D4 value 0xBF00BF00 size 4 add_ib 1 protect 1 //all cars paysnsprays
0DD9: write_mem_addr 0x104EDA value 0 size 1 add_ib 1 protect 1 //all cars have radio
end_thread
@@ -0,0 +1,52 @@
{$CLEO .csa}
0DD6: 10@ = get_game_version

if
10@ == 5 //1.0.2
then
0006: 11@ = 0x55D16F
end

if
10@ == 6 //1.0.3
then
0006: 11@ = 0x55D103
end

if
10@ == 7 //1.0.5
then
0006: 11@ = 0x56D2EB
end

if
10@ == 8 //1.0.6?
then
0006: 11@ = 0x5C09D7
end

if
10@ == 9 //1.0.7?
then
0006: 11@ = 0x5AD707
end

if
10@ == 13 //1.0.8
then
0006: 11@ = 0x5AD707
end

if
11@ <> 0
then
for 0@ = #LANDSTAL to #UTILTR1
0085: 1@ = 11@
0085: 2@ = 0@
0012: 2@ *= 36
005A: 1@ += 2@
0DD9: write_mem_addr 1@ value 0 size 1 add_ib 1 protect 1
end
end

end_thread
@@ -0,0 +1,208 @@
{$CLEO .csa}
0000:
const
TRIANGLE = 15 //Y
end

const
_PLAYER_CHAR = $303
_PLAYER_ACTOR = $304
_onmission = $616
end


while true
wait 0
if
0256: player _PLAYER_CHAR defined
then
if
00E1: player 0 pressed_button 14 //jump
then
0DD8: 0@ = read_mem_addr 0x5794F4 size 4 fix_ib 1 //nCurrentInterior

if and
//03EE: player _PLAYER_CHAR controllable
80DF: not actor _PLAYER_ACTOR driving
//84AD: not actor _PLAYER_ACTOR in_water
0@ == 0
then
17@ = 0
while 17@ < 1700
wait 0
04C4: create_coordinate 8@ 10@ 12@ from_actor _PLAYER_ACTOR offset 0.0 0.4 4.0
02CE: 12@ = ground_z 8@ 10@ 12@
0054: store_player 0 position_to 1@ 2@ 3@
0087: 6@ = 3@ // floating-point values only
0063: 6@ -= 12@ // floating-point values (never used in VC or GTA 3)

if
not 6@ > -0.4 // floating-point values
then
04C4: create_coordinate 1@ 2@ 3@ from_actor _PLAYER_ACTOR offset 0.0 0.0 4.5
02CE: 0@ = ground_z 1@ 2@ 3@
0054: store_player 0 position_to 1@ 2@ 3@
0087: 7@ = 3@ // floating-point values only
0063: 7@ -= 0@ // floating-point values (never used in VC or GTA 3)

if
7@ > -0.1 // floating-point values
then
Player.CanMove(_PLAYER_CHAR) = False
04C4: create_coordinate 13@ 14@ 15@ from_actor _PLAYER_ACTOR offset 0.0 -5.0 0.0
1@ = 2.0 // floating-point values
0009: 1@ += 12@ // floating-point values // Note: the incorrect math opcode was used here
Camera.SetPosition(13@, 14@, 1@, 0.0, 0.0, 0.0)
0157: camera_on_player _PLAYER_CHAR mode 15 switchstyle 1
04C4: create_coordinate 13@ 14@ 15@ from_actor _PLAYER_ACTOR offset 0.0 0.0 0.0
0DD0: 11@ = get_label_addr @_ZN6CPools6GetPedEi
0DD1: 11@ = get_func_addr_by_cstr_name 11@
0DD3: context_set_reg 0 value _PLAYER_ACTOR
0DD2: context_call_func 11@
0DD4: 11@ = context_get_reg 0
11@ += 0x7C // integer values
16@ = 0 // integer values

while 16@ < 100
0DD9: write_mem_addr 11@ value 0.022 size 4 add_ib 0 protect 1
wait 0
end

16@ = 0 // integer values
if
not 6@ >= -1.0 // floating-point values (never used in VC or GTA 3)
then
9@ = 374
end

if
not 6@ >= -1.5 // floating-point values (never used in VC or GTA 3)
then
9@ = 100
end

if
not 6@ >= -2.0 // floating-point values (never used in VC or GTA 3)
then
9@ = 237
end

if
not 6@ >= -2.5 // floating-point values (never used in VC or GTA 3)
then
9@ = 374
end

var
16@: int
9@: int
end
while 16@ < 9@
wait 0
0DD0: 11@ = get_label_addr @_ZN6CPools6GetPedEi
0DD1: 11@ = get_func_addr_by_cstr_name 11@
0DD3: context_set_reg 0 value _PLAYER_ACTOR
0DD2: context_call_func 11@
0DD4: 11@ = context_get_reg 0
11@ += 0x7C // integer values
0DD9: write_mem_addr 11@ value 0.022 size 4 add_ib 0 protect 1

0DD0: 11@ = get_label_addr @_ZN6CPools6GetPedEi
0DD1: 11@ = get_func_addr_by_cstr_name 11@
0DD3: context_set_reg 0 value _PLAYER_ACTOR
0DD2: context_call_func 11@
0DD4: 11@ = context_get_reg 0
11@ += 0x4C
0DD8: 11@ = read_mem_addr 11@ size 4 fix_ib 0

0DD0: 7@ = get_label_addr @_ZN12CAnimManager14BlendAnimationEP7RpClump12AssocGroupId11AnimationIdf
0DD1: 7@ = get_func_addr_by_cstr_name 7@
0DD3: context_set_reg 3 value 4.0
0DD3: context_set_reg 2 value 42
0DD3: context_set_reg 1 value 0
0DD3: context_set_reg 0 value 11@
0DD2: context_call_func 7@
end


while 16@ < 1700
wait 0
0DE0: 11@ = get_touch_point_state 5 mintime 0
if
11@ == 1
then
6@ = 5
break
end
0DD0: 11@ = get_label_addr @_ZN6CPools6GetPedEi
0DD1: 11@ = get_func_addr_by_cstr_name 11@
0DD3: context_set_reg 0 value _PLAYER_ACTOR
0DD2: context_call_func 11@
0DD4: 11@ = context_get_reg 0
11@ += 0x4C
0DD8: 11@ = read_mem_addr 11@ size 4 fix_ib 0

0DD0: 7@ = get_label_addr @_ZN12CAnimManager14BlendAnimationEP7RpClump12AssocGroupId11AnimationIdf
0DD1: 7@ = get_func_addr_by_cstr_name 7@
0DD3: context_set_reg 3 value 999.0
0DD3: context_set_reg 2 value 63
0DD3: context_set_reg 1 value 0
0DD3: context_set_reg 0 value 11@
0DD2: context_call_func 7@
0055: put_player 0 at 8@ 10@ 12@
end


if
6@ == 5
then
Camera.SetBehindPlayer
Camera.Restore
Player.CanMove(_PLAYER_CHAR) = true
Actor.PutAt(_PLAYER_ACTOR, 13@, 14@, 15@)
0DD0: 11@ = get_label_addr @_ZN6CPools6GetPedEi
0DD1: 11@ = get_func_addr_by_cstr_name 11@
0DD3: context_set_reg 0 value _PLAYER_ACTOR
0DD2: context_call_func 11@
0DD4: 11@ = context_get_reg 0
11@ += 0x4C
0DD8: 11@ = read_mem_addr 11@ size 4 fix_ib 0

0DD0: 7@ = get_label_addr @_ZN12CAnimManager14BlendAnimationEP7RpClump12AssocGroupId11AnimationIdf
0DD1: 7@ = get_func_addr_by_cstr_name 7@
0DD3: context_set_reg 3 value 999.0
0DD3: context_set_reg 2 value 146
0DD3: context_set_reg 1 value 0
0DD3: context_set_reg 0 value 11@
0DD2: context_call_func 7@
break
else
Camera.SetBehindPlayer
Camera.Restore
Player.CanMove(_PLAYER_CHAR) = true
break
end

end
end

end //while 00E1
end
end
end
end

:_ZN8CGeneral11GetATanOfXYEff
hex
"_ZN8CGeneral11GetATanOfXYEff" 00
end

:_ZN6CPools6GetPedEi
hex
"_ZN6CPools6GetPedEi" 00
end

:_ZN12CAnimManager14BlendAnimationEP7RpClump12AssocGroupId11AnimationIdf
hex
"_ZN12CAnimManager14BlendAnimationEP7RpClump12AssocGroupId11AnimationIdf" 00
end
@@ -0,0 +1,4 @@
{$CLEO .csa}
0000:
0DD9: write_mem_addr 0x246474 value 800.0 size 4 add_ib 1 protect 1
end_thread
@@ -0,0 +1,21 @@
{$CLEO .csa}
thread 'PRCOR'
0000:
0DD7: 1@ = get_image_base
1@ += 1

0DD0: 0@ = get_label_addr @_ZN7CSprite15CalcScreenCoorsERK5RwV3dPS0_PfS4_b
0DD1: 0@ = get_func_addr_by_cstr_name 0@
0062: 0@ -= 1@ // (int)

0@ += 0xE8
0DD9: write_mem_addr {0x1FDBF4} 0@ value 0xD8 size 1 add_ib 1 protect 1
0@ += 0x8
0DD9: write_mem_addr {0x1FDBFC} 0@ value 0x88 size 1 add_ib 1 protect 1

end_thread

:_ZN7CSprite15CalcScreenCoorsERK5RwV3dPS0_PfS4_b
hex
"_ZN7CSprite15CalcScreenCoorsERK5RwV3dPS0_PfS4_b" 00
end
@@ -0,0 +1,5 @@
{$CLEO .csa}
0000:
0DD9: write_mem_addr 0xED444 value 0xBF00BF00 size 4 add_ib 1 protect 1 //all cars paysnsprays
0DD9: write_mem_addr 0xD01E4 value 0 size 1 add_ib 1 protect 1 //all cars have radio
end_thread

0 comments on commit e8c8658

Please sign in to comment.