What Program Opens File Extensions
To associate TPF files with given application, select 'Open with' from drop-down menu (accessed by right-clicking on the file). Then select from the list the program or application you want to be used to open this type of file. Generate control file from project source: Adds contents to the control file based on the source files in the project. If the control file is not blank, this action overwrites the contents in the control file. You can skip this action if you want to build the TPF project by right-clicking the TPF project and clicking Build project. The TPF file extension is a SPSS Text Wizard Document file developed originally by STAR Group for Star Group Transit NXT. Data from our web servers (annonymous users) show that TPF files are most popular in United States and are often used by Windows 10. .tpf Extension - List of programs that can open.tpf files In the following table, you can find a list of programs that can open files with.tpf extension.This list is created by collecting extension information reported by users through the 'send report' option of FileTypesMan utility.
Open Tpf Files
; The purpose of this script is to start Need for Speed: Underground 2 (NFSU2) from TexMod, after loading a |
; texture replacement package (TPF). This script also sets CPU Affinity of NFSU2's SPEED2.EXE, because SPEED2.EXE |
; is not happy with a multicore processor; it wants to stay on one core and one core only. |
#Include<Affinity_Set> |
; Affinity_Set() is a function from affinity.ahk, which should be placed in |
; a lib/ subdirectory (from where this script is located) |
; My version was from https://github.com/dufferzafar/Autohotkey-Scripts/blob/master/lib/Affinity.ahk |
; TUNABLES |
NFSU_Dir = D:GamesNFSU2 |
Speed_exe = SPEED2.EXE |
TexMod_Dir = D:GamesNFSU2Texmod |
TexMod_exe = Texmod.exe |
; Assume .tpf files are located in the same dir as Texmod.exe |
; DO NOT append the .tpf extension!! |
; ONE .tpf file per line!! |
TPF_files = |
( |
NFS UG2 Textures Mod V2.0 By Dragozool |
) |
WaitBeforeSetAff_secs = 90 |
CPU_affinity = 2 |
; Because some important (realtime) Windows kernel functions will run *only* |
; on CPU0, do NOT use CPU0. |
; Also, since many Intel processors are hyperthreaded, CPU1 actually shares |
; the same core as CPU0. In this case, skip CPU1, too. |
; So, start using CPU2 and higher. |
; PROCESSING |
; Limit the waiting time for TPF to finish loading |
REP_MAX = 10 |
REP_WAIT = 500 |
; --- First, kill existing texmod.exe processes |
Loop, |
{ |
Process, Exist, %TexMod_exe% |
Old_PID = %ErrorLevel% |
If Old_PID = 0 |
Break |
Process, Close, %Old_PID% |
Sleep, 1000 |
} |
; --- Now we start texmod.exe and wait until its window appear |
Run, %TexMod_Dir%%TexMod_exe%, %TexMod_Dir%, , TexModPID |
WinWait, ahk_pid %TexModPID% |
WinActivate, ahk_pid %TexModPID% |
; --- Choose NFSU2's exe |
ControlClick, Button2, ahk_pid %TexModPID% |
WinWaitActive, Select Executable |
SendInput!n%NFSU_Dir%%Speed_exe%{Enter} |
WinWaitClose, Select Executable |
WinActivate, ahk_pid %TexModPID% |
; --- Load the TPF files |
Loop, parse, TPF_files, `n |
{ |
TPF_file := A_LoopField |
ControlClick, Button12, ahk_pid %TexModPID% |
SendInput {Down}{Enter} |
WinWaitActive, Select Texmod Packages |
; The {space}{Backspace} is necessary because for unknown reasons, without this |
; combo the first letter of %TexMod_Dir% gets chopped off |
SendInput!n {Backspace}%TexMod_Dir%%TPF_file%.tpf{Enter} |
WinWaitClose, Select Texmod Packages |
; --- Wait while TPF file is being parsed |
rep := 0 |
Loop, |
{ |
Sleep, %REP_WAIT% |
ControlGet, List, List, Col1, SysListView321, ahk_pid %TexModPID% |
IfInString, List, %TPF_file% |
Break |
rep := rep +1 |
If (rep > REP_MAX) { |
MsgBox, 16, , Waiting too long for %TPF_file%.tpf to be parsed!`n`nScript will now abort! |
ExitApp |
} |
} |
Sleep, 1000 |
} |
; --- Start the game, wait for texture loads, and set affinity |
ControlClick, Button11, ahk_pid %TexModPID% |
Sleep % WaitBeforeSetAff_secs *1000 |
Process, Exist, %Speed_exe% |
Speed_PID = %ErrorLevel% |
; Affinity mask is actually 2^n for CPUn |
CPU_aff_mask := 2** CPU_affinity |
Affinity_Set(CPU_aff_mask, Speed_PID) |
; ---Done. |