Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {$cleo}
- 0000:
- wait 1
- for 30@ = 0x00C9AEDB downto 0x00C9ADD8 step 0x1
- 0A8D: 31@ = read_memory 30@ size 1 virtual_protect 1
- if
- 31@ == 0x5C
- then
- break
- end
- end
- 30@ += 2
- 0A8D: 5@ = read_memory 30@ size 4 virtual_protect 1
- if or
- not 5@ == 0x735F6174 //ta_s
- not $Mission_Intro_Passed == 0
- then
- 0A93:
- end
- while true
- wait 0
- 0AAA: 1@ = thread 'INTRO' pointer
- if
- 1@ <> 0
- then
- break
- end
- end
- 09FB: 1@ = current_language
- if
- 1@ == 4 //rus
- then
- 0A9F: 10@ = current_thread_pointer
- 000A: 10@ += 0x10
- 0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0
- 000E: 10@ -= @STRING_RUS
- else
- 0A9F: 10@ = current_thread_pointer
- 000A: 10@ += 0x10
- 0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0
- 000E: 10@ -= @STRING
- end
- while 86B9: not cutscene_data_loaded
- wait 0
- end
- while 82E9: not cutscene_reached_end
- wait 0
- end
- while 016B: fading
- wait 0
- end
- while 816B: not fading
- wait 0
- end
- if
- 0AAB: file_exists "SanBINK.dll"
- then
- if
- 0AA2: 0@ = load_library "SanBINK.dll" // IF and SET
- then
- if
- 0AA4: 1@ = get_proc_address "CreateBINK" library 0@ // IF and SET
- then
- 0AA5: call 1@ num_params 1 pop 1 10@
- end
- end
- end
- //wait 1000
- 0AA4: 2@ = get_proc_address "HasVideoEnded" library 0@ // IF and SET
- //freezing
- 0A8C: write_memory 0x53BF8A size 2 value 0x9090 virtual_protect 1
- 0A8C: write_memory 0x53BF96 size 4 value 0x90909090 virtual_protect 1
- 0A8C: write_memory 0x53BF9A size 2 value 0x9090 virtual_protect 1
- 0A8C: write_memory 0x58FCC2 size 4 value 0x90909090 virtual_protect 1
- 0A8C: write_memory 0x58D4BE size 4 value 0x90909090 virtual_protect 1
- 0A8C: write_memory 0x58D4C2 size 4 value 0x90909090 virtual_protect 1
- 0A8C: write_memory 0xB7CB49 size 1 value 1 virtual_protect 0
- //freezing
- while true
- wait 0
- 0AA7: call_function 2@ num_params 0 pop 0 3@
- if or
- 056A: intro_skipped
- 0AB0: key_pressed 27
- 0AB0: key_pressed 70
- 3@ <> false
- then
- break
- end
- end
- 0AA4: 4@ = get_proc_address "ReleaseBINK" library 0@ // IF and SET
- 0AA5: call 4@ num_params 0 pop 0
- 0A8C: write_memory 0xB7CB49 size 1 value 0 virtual_protect 0 // Unfreeze
- 0A8C: write_memory 0x53BF8A size 2 value 0xC084 virtual_protect 1 // Disable frozen game stuff
- 0A8C: write_memory 0x53BF96 size 4 value 0x0298850F virtual_protect 1 // Disable frozen game stuff
- 0A8C: write_memory 0x53BF9A size 2 value 0x0 virtual_protect 1 // Disable frozen game stuff
- 0A8C: write_memory 0x58FCC2 size 4 value 0x4D75C084 virtual_protect 1 // Disable frozen game text draw
- 0A8C: write_memory 0x58D4BE size 4 value 0x850FC084 virtual_protect 1 // Disable frozen game texture draw
- 0A8C: write_memory 0x58D4C2 size 4 value 0x000000AF virtual_protect 1 // Disable frozen game texture draw
- 0AA3: free_library 0@
- 0A93:
- :STRING
- hex
- "movies\\Introduction.bik" 00
- end
- :STRING_RUS
- hex
- "movies\\Introduction_rus.bik" 00
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement