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>
This commit is contained in:
uwx
2024-04-13 10:00:21 +02:00
committed by GitHub
co-authored by uwx
parent 78ced90313
commit 07a941ca87
5 changed files with 172 additions and 0 deletions
+4
View File
@@ -73,6 +73,10 @@ You can rename `modorganizer-basic_games-xxx` to whatever you want (e.g., `basic
| Test Drive Unlimited | [uwx](https://github.com/uwx) | [game_tdu.py](games/game_tdu.py) | |
| 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> |
| 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> |
| Tony Hawk's Pro Skater 3 | [uwx](https://github.com/uwx) | [game_thps3.py](games/game_thps3.py) | |
| Tony Hawk's Pro Skater 4 | [uwx](https://github.com/uwx) | [game_thps4.py](games/game_thps4.py) | |
| Tony Hawk's Underground | [uwx](https://github.com/uwx) | [game_thug.py](games/game_thug.py) | |
| Tony Hawk's Underground 2 | [uwx](https://github.com/uwx) | [game_thug2.py](games/game_thug2.py) | |
| 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) | |
| 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) | |
| 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> |
+38
View File
@@ -0,0 +1,38 @@
# -*- encoding: utf-8 -*-
import mobase
from PyQt6.QtCore import QFileInfo
from ..basic_game import BasicGame
class THPS3Game(BasicGame):
Name = "Tony Hawk's Pro Skater 3 Support Plugin"
Author = "uwx"
Version = "1.0.0"
GameName = "Tony Hawk's Pro Skater 3"
GameShortName = "thps3"
GameBinary = "Skate3.exe"
GameDataPath = "Data"
def executables(self):
return [
mobase.ExecutableInfo(
"Tony Hawk's Pro Skater 3",
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
),
mobase.ExecutableInfo(
"Tony Hawk's Pro Skater 3 Setup",
QFileInfo(self.gameDirectory().absoluteFilePath("THPS3Setup.exe")),
),
mobase.ExecutableInfo(
"Tony Hawk's Pro Skater 3 (PARTYMOD)",
QFileInfo(self.gameDirectory().absoluteFilePath("THPS3.exe")),
),
mobase.ExecutableInfo(
"PARTYMOD Configurator",
QFileInfo(self.gameDirectory().absoluteFilePath("partyconfig.exe")),
),
]
+40
View File
@@ -0,0 +1,40 @@
# -*- encoding: utf-8 -*-
import mobase
from PyQt6.QtCore import QDir, QFileInfo
from ..basic_game import BasicGame
class THPS4Game(BasicGame):
Name = "Tony Hawk's Pro Skater 4 Support Plugin"
Author = "uwx"
Version = "1.0.0"
GameName = "Tony Hawk's Pro Skater 4"
GameShortName = "thps4"
GameBinary = "Skate4.exe"
GameDataPath = "Data"
def executables(self):
return [
mobase.ExecutableInfo(
"Tony Hawk's Pro Skater 4",
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
),
mobase.ExecutableInfo(
"Tony Hawk's Pro Skater 4 Setup",
QFileInfo(self.gameDirectory().absoluteFilePath("../Start.exe")),
).withWorkingDirectory(
QDir(QDir.cleanPath(self.gameDirectory().absoluteFilePath("..")))
),
mobase.ExecutableInfo(
"Tony Hawk's Pro Skater 4 (PARTYMOD)",
QFileInfo(self.gameDirectory().absoluteFilePath("THPS4.exe")),
),
mobase.ExecutableInfo(
"PARTYMOD Configurator",
QFileInfo(self.gameDirectory().absoluteFilePath("partyconfig.exe")),
),
]
+36
View File
@@ -0,0 +1,36 @@
# -*- encoding: utf-8 -*-
import mobase
from PyQt6.QtCore import QDir, QFileInfo
from ..basic_game import BasicGame
class THPS4Game(BasicGame):
Name = "Tony Hawk's Underground Support Plugin"
Author = "uwx"
Version = "1.0.0"
GameName = "Tony Hawk's Underground"
GameShortName = "thug"
GameBinary = "THUG.exe"
GameDataPath = "Data"
def executables(self):
return [
mobase.ExecutableInfo(
"Tony Hawk's Underground",
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
),
mobase.ExecutableInfo(
"Tony Hawk's Underground Launcher",
QFileInfo(self.gameDirectory().absoluteFilePath("../Launcher.exe")),
).withWorkingDirectory(
QDir(QDir.cleanPath(self.gameDirectory().absoluteFilePath("..")))
),
mobase.ExecutableInfo(
"Tony Hawk's Underground (ClownJob'd)",
QFileInfo(self.gameDirectory().absoluteFilePath("THUGONE.exe")),
),
]
+54
View File
@@ -0,0 +1,54 @@
# -*- encoding: utf-8 -*-
import os
import mobase
from PyQt6.QtCore import QDir, QFileInfo
from ..basic_game import BasicGame
class THPS4Game(BasicGame):
Name = "Tony Hawk's Underground 2 Support Plugin"
Author = "uwx"
Version = "1.0.0"
GameName = "Tony Hawk's Underground 2"
GameShortName = "thug2"
GameBinary = "THUG2.exe"
GameDataPath = "Data"
def executables(self):
return [
mobase.ExecutableInfo(
"Tony Hawk's Underground 2",
QFileInfo(self.gameDirectory().absoluteFilePath(self.binaryName())),
),
mobase.ExecutableInfo(
"Tony Hawk's Underground 2 Launcher",
QFileInfo(self.gameDirectory().absoluteFilePath("../Launcher.exe")),
).withWorkingDirectory(
QDir(QDir.cleanPath(self.gameDirectory().absoluteFilePath("..")))
),
mobase.ExecutableInfo(
"Tony Hawk's Underground 2 (ClownJob'd)",
QFileInfo(self.gameDirectory().absoluteFilePath("THUGTWO.exe")),
),
mobase.ExecutableInfo(
"THUG Pro Launcher",
QFileInfo(
QDir(os.getenv("LOCALAPPDATA")).absoluteFilePath(
"THUG Pro/THUGProLauncher.exe"
)
),
),
mobase.ExecutableInfo(
"THUG Pro",
QFileInfo(
QDir(os.getenv("LOCALAPPDATA")).absoluteFilePath(
"THUG Pro/THUGPro.exe"
)
),
),
]