Skip to content

Commit 07a941c

Browse files
authored
Add Tony Hawk's Pro Skater 3, 4, Underground & Underground 2 Support (#145)
* Add THPS series support --------- Co-authored-by: uwx <uwx@users.noreply.github.com>
1 parent 78ced90 commit 07a941c

5 files changed

Lines changed: 172 additions & 0 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ You can rename `modorganizer-basic_games-xxx` to whatever you want (e.g., `basic
7373
| Test Drive Unlimited | [uwx](https://github.com/uwx) | [game_tdu.py](games/game_tdu.py) | |
7474
| The Witcher: Enhanced Edition - [GOG](https://www.gog.com/game/the_witcher) / [STEAM](https://store.steampowered.com/app/20900/The_Witcher_Enhanced_Edition_Directors_Cut/) | [erri120](https://github.com/erri120) | [game_witcher1.py](games/game_witcher1.py) | <ul><li>save game parsing (no preview)</li></ul> |
7575
| The Witcher 3: Wild Hunt — [GOG](https://www.gog.com/game/the_witcher_3_wild_hunt) / [STEAM](https://store.steampowered.com/app/292030/The_Witcher_3_Wild_Hunt/) | [Holt59](https://github.com/holt59/) | [game_witcher3.py](games/game_witcher3.py) | <ul><li>save game preview</li></ul> |
76+
| Tony Hawk's Pro Skater 3 | [uwx](https://github.com/uwx) | [game_thps3.py](games/game_thps3.py) | |
77+
| Tony Hawk's Pro Skater 4 | [uwx](https://github.com/uwx) | [game_thps4.py](games/game_thps4.py) | |
78+
| Tony Hawk's Underground | [uwx](https://github.com/uwx) | [game_thug.py](games/game_thug.py) | |
79+
| Tony Hawk's Underground 2 | [uwx](https://github.com/uwx) | [game_thug2.py](games/game_thug2.py) | |
7680
| Trackmania United Forever — [STEAM](https://store.steampowered.com/app/7200/Trackmania_United_Forever/) | [uwx](https://github.com/uwx) | [game_tmuf.py](games/game_tmuf.py) | |
7781
| Yu-Gi-Oh! Master Duel — [STEAM](https://store.steampowered.com/app/1449850/) | [The Conceptionist](https://github.com/the-conceptionist) & [uwx](https://github.com/uwx) | [game_masterduel.py](games/game_masterduel.py) | |
7882
| Zeus and Poseidon — [GOG](https://www.gog.com/game/zeus_poseidon) / [STEAM](https://store.steampowered.com/app/566050/Zeus__Poseidon/) | [Holt59](https://github.com/holt59/) | [game_zeusandpoiseidon.py](games/game_zeusandpoiseidon.py) | <ul><li>mod data checker</li></ul> |

games/game_thps3.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# -*- encoding: utf-8 -*-
2+
3+
import mobase
4+
from PyQt6.QtCore import QFileInfo
5+
6+
from ..basic_game import BasicGame
7+
8+
9+
class THPS3Game(BasicGame):
10+
11+
Name = "Tony Hawk's Pro Skater 3 Support Plugin"
12+
Author = "uwx"
13+
Version = "1.0.0"
14+
15+
GameName = "Tony Hawk's Pro Skater 3"
16+
GameShortName = "thps3"
17+
GameBinary = "Skate3.exe"
18+
GameDataPath = "Data"
19+
20+
def executables(self):
21+
return [
22+
mobase.ExecutableInfo(
23+
"Tony Hawk's Pro Skater 3",
24+
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
25+
),
26+
mobase.ExecutableInfo(
27+
"Tony Hawk's Pro Skater 3 Setup",
28+
QFileInfo(self.gameDirectory().absoluteFilePath("THPS3Setup.exe")),
29+
),
30+
mobase.ExecutableInfo(
31+
"Tony Hawk's Pro Skater 3 (PARTYMOD)",
32+
QFileInfo(self.gameDirectory().absoluteFilePath("THPS3.exe")),
33+
),
34+
mobase.ExecutableInfo(
35+
"PARTYMOD Configurator",
36+
QFileInfo(self.gameDirectory().absoluteFilePath("partyconfig.exe")),
37+
),
38+
]

games/game_thps4.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# -*- encoding: utf-8 -*-
2+
3+
import mobase
4+
from PyQt6.QtCore import QDir, QFileInfo
5+
6+
from ..basic_game import BasicGame
7+
8+
9+
class THPS4Game(BasicGame):
10+
11+
Name = "Tony Hawk's Pro Skater 4 Support Plugin"
12+
Author = "uwx"
13+
Version = "1.0.0"
14+
15+
GameName = "Tony Hawk's Pro Skater 4"
16+
GameShortName = "thps4"
17+
GameBinary = "Skate4.exe"
18+
GameDataPath = "Data"
19+
20+
def executables(self):
21+
return [
22+
mobase.ExecutableInfo(
23+
"Tony Hawk's Pro Skater 4",
24+
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
25+
),
26+
mobase.ExecutableInfo(
27+
"Tony Hawk's Pro Skater 4 Setup",
28+
QFileInfo(self.gameDirectory().absoluteFilePath("../Start.exe")),
29+
).withWorkingDirectory(
30+
QDir(QDir.cleanPath(self.gameDirectory().absoluteFilePath("..")))
31+
),
32+
mobase.ExecutableInfo(
33+
"Tony Hawk's Pro Skater 4 (PARTYMOD)",
34+
QFileInfo(self.gameDirectory().absoluteFilePath("THPS4.exe")),
35+
),
36+
mobase.ExecutableInfo(
37+
"PARTYMOD Configurator",
38+
QFileInfo(self.gameDirectory().absoluteFilePath("partyconfig.exe")),
39+
),
40+
]

games/game_thug.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# -*- encoding: utf-8 -*-
2+
3+
import mobase
4+
from PyQt6.QtCore import QDir, QFileInfo
5+
6+
from ..basic_game import BasicGame
7+
8+
9+
class THPS4Game(BasicGame):
10+
11+
Name = "Tony Hawk's Underground Support Plugin"
12+
Author = "uwx"
13+
Version = "1.0.0"
14+
15+
GameName = "Tony Hawk's Underground"
16+
GameShortName = "thug"
17+
GameBinary = "THUG.exe"
18+
GameDataPath = "Data"
19+
20+
def executables(self):
21+
return [
22+
mobase.ExecutableInfo(
23+
"Tony Hawk's Underground",
24+
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
25+
),
26+
mobase.ExecutableInfo(
27+
"Tony Hawk's Underground Launcher",
28+
QFileInfo(self.gameDirectory().absoluteFilePath("../Launcher.exe")),
29+
).withWorkingDirectory(
30+
QDir(QDir.cleanPath(self.gameDirectory().absoluteFilePath("..")))
31+
),
32+
mobase.ExecutableInfo(
33+
"Tony Hawk's Underground (ClownJob'd)",
34+
QFileInfo(self.gameDirectory().absoluteFilePath("THUGONE.exe")),
35+
),
36+
]

games/game_thug2.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# -*- encoding: utf-8 -*-
2+
3+
import os
4+
5+
import mobase
6+
from PyQt6.QtCore import QDir, QFileInfo
7+
8+
from ..basic_game import BasicGame
9+
10+
11+
class THPS4Game(BasicGame):
12+
13+
Name = "Tony Hawk's Underground 2 Support Plugin"
14+
Author = "uwx"
15+
Version = "1.0.0"
16+
17+
GameName = "Tony Hawk's Underground 2"
18+
GameShortName = "thug2"
19+
GameBinary = "THUG2.exe"
20+
GameDataPath = "Data"
21+
22+
def executables(self):
23+
return [
24+
mobase.ExecutableInfo(
25+
"Tony Hawk's Underground 2",
26+
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
27+
),
28+
mobase.ExecutableInfo(
29+
"Tony Hawk's Underground 2 Launcher",
30+
QFileInfo(self.gameDirectory().absoluteFilePath("../Launcher.exe")),
31+
).withWorkingDirectory(
32+
QDir(QDir.cleanPath(self.gameDirectory().absoluteFilePath("..")))
33+
),
34+
mobase.ExecutableInfo(
35+
"Tony Hawk's Underground 2 (ClownJob'd)",
36+
QFileInfo(self.gameDirectory().absoluteFilePath("THUGTWO.exe")),
37+
),
38+
mobase.ExecutableInfo(
39+
"THUG Pro Launcher",
40+
QFileInfo(
41+
QDir(os.getenv("LOCALAPPDATA")).absoluteFilePath(
42+
"THUG Pro/THUGProLauncher.exe"
43+
)
44+
),
45+
),
46+
mobase.ExecutableInfo(
47+
"THUG Pro",
48+
QFileInfo(
49+
QDir(os.getenv("LOCALAPPDATA")).absoluteFilePath(
50+
"THUG Pro/THUGPro.exe"
51+
)
52+
),
53+
),
54+
]

0 commit comments

Comments
 (0)