File size: 1,295 Bytes
fd99160
 
 
 
 
 
 
 
 
 
 
e639531
529b124
0c343f8
b1c5e8e
c057512
7689014
fd99160
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python3
"""Run the static QVM/native research pipeline; never launch game binaries."""
from pathlib import Path
import subprocess
import sys


def main():
    if not Path('docs/inventory/snapshot.json').is_file():
        raise SystemExit('Run from the repository root')
    for script in ('fetch_analysis_references.py', 'analyze_qvm.py', 'analyze_native.py',
                   'analyze_vm_abi.py', 'analyze_native_dispatch.py', 'analyze_vm_extensions.py',
                   'analyze_native_metadata.py', 'analyze_native_coverage.py', 'analyze_auth_drop.py',
                   'analyze_deferred_auth.py', 'analyze_engine_control.py', 'analyze_frame_timing.py',
                   'analyze_event_queues.py', 'analyze_auth_announcements.py', 'analyze_game_cvars.py',
                   'analyze_cvar_changes.py', 'analyze_auth_queries.py', 'analyze_selector_bounds.py',
                   'analyze_chat_paths.py', 'analyze_chat_delivery.py', 'analyze_chat_expansion.py', 'analyze_chat_items_time.py', 'analyze_chat_locations.py', 'analyze_chat_crosshair.py', 'analyze_native_spatial.py', 'analyze_native_collision.py', 'analyze_collision_composition.py'):
        subprocess.run([sys.executable, str(Path('scripts')/script)], check=True)


if __name__ == '__main__':
    main()