From 4e4f5380c589091300bec968939cc7d77c209ad4 Mon Sep 17 00:00:00 2001
From: archon0ne <esemto@gmail.com>
Date: Tue, 4 Jul 2023 08:57:25 +0200
Subject: [PATCH] Restructure. Remove unecessary zip archive..

---
 game_sptaki.py                   | 131 -------------------------------
 sptakiMO2_Extract_To_MO2_Dir.zip | Bin 2232 -> 0 bytes
 2 files changed, 131 deletions(-)
 delete mode 100644 game_sptaki.py
 delete mode 100644 sptakiMO2_Extract_To_MO2_Dir.zip

diff --git a/game_sptaki.py b/game_sptaki.py
deleted file mode 100644
index 33ebfa5..0000000
--- a/game_sptaki.py
+++ /dev/null
@@ -1,131 +0,0 @@
-# SPT plugin for ModOrganizer, coded by a moron: Me :)
-# Note: This is highly incomplete, and will almost deffinitely break.
-# Some inconveniences exist, such as the fact that every time you install a mod that does not auto handle, you have to create the user/mods or bepinex/plugins directory manually etc.
-# I would like to expand those features, but it will probably happen slowly; I'm not a programmer.
-# This script was made by cross referencing several other basic_game extensions.
-# I sincerely hope somebody with actual experience comes along and decides to fix it up. But for now, this auto resolves the vast majority of mods on the hub :).
-# Discord: Archon001
-
-from typing import List, Tuple
-from PyQt5.QtCore import QFileInfo
-import mobase
-from ..basic_game import BasicGame
-
-
-class SPTAKIGame(BasicGame, mobase.IPluginFileMapper):
-
-    Name = "SPT AKI Plugin"
-    Author = "Archon"
-    Version = "1.0.1a"
-    GameName = "SPT AKI"
-    GameShortName = "sptaki"
-    GameBinary = "aki.launcher.exe"
-    GameDataPath = "%GAME_PATH%"
-    GameSaveExtension = "json"
-    GameSavesDirectory = "%GAME_PATH%/user/profiles"
-
-    def init(self, organizer: mobase.IOrganizer) -> bool:
-        super().init(organizer)
-        self._featureMap[mobase.ModDataChecker] = SPTAKIModDataChecker()
-        return True
-
-    def executables(self) -> List[mobase.ExecutableInfo]:
-        execs = super().executables()
-        print(execs)
-
-        """
-        A bat script file to bridge the environment to server and launcher.
-        """
-        workaroundPath = self._gamePath + "/sptvfsbridge.bat"
-
-        try:
-            workaround = open(workaroundPath, "rt")
-        except FileNotFoundError:
-            with open(workaroundPath, "wt") as workaround:
-                workaround.write(
-                    """
-@echo off
-setlocal
-
-set "launcher_path=aki.launcher.exe"
-set "server_path=aki.server.exe"
-
-REM Launch the server.exe
-start "" "%server_path%"
-
-REM Wait for a moment to ensure the server.exe has started
-timeout /t 5 /nobreak >nul
-
-REM Launch the launcher.exe
-start "" "%launcher_path%"
-
-endlocal
-"""
-                )
-        workaround.close()
-
-        execs.append(
-            mobase.ExecutableInfo("Launch SP Tarkov", QFileInfo(workaroundPath))
-        )
-        execs.pop(0)
-        print(execs)
-        return execs
-
-
-class SPTAKIModDataChecker(mobase.ModDataChecker):
-    def __init__(self):
-        super().__init__()
-
-    def get_plugins_and_mods(
-        self, tree: mobase.IFileTree
-    ) -> Tuple[List[mobase.FileTreeEntry], List[mobase.FileTreeEntry]]:
-
-        plugins: List[mobase.FileTreeEntry] = []
-        mods: List[mobase.FileTreeEntry] = []
-
-        for e in tree:
-            if e.isDir() and e.exists("package.json", mobase.IFileTree.FILE):
-                mods.append(e)
-            elif e.isFile() and e.suffix().lower() == "dll":
-                plugins.append(e)
-            elif e.isDir():
-                has_dll = False
-                for file_entry in e:
-                    if file_entry.isFile() and file_entry.suffix().lower() == "dll":
-                        has_dll = True
-                        break
-                if has_dll and not e.exists("package.json", mobase.IFileTree.FILE):
-                    plugins.append(e)
-
-        return plugins, mods
-
-    def dataLooksValid(
-        self, tree: mobase.IFileTree
-    ) -> mobase.ModDataChecker.CheckReturn:
-        # Check if we have bepinex/plugins, user/mods folders or .json/.dll
-        plugins, mods = self.get_plugins_and_mods(tree)
-
-        if not plugins and not mods:
-            if tree.exists("bepinex/plugins") or tree.exists("user/mods"):
-                return mobase.ModDataChecker.VALID
-            else:
-                return mobase.ModDataChecker.INVALID
-
-        return mobase.ModDataChecker.FIXABLE
-
-    def fix(self, tree: mobase.IFileTree) -> mobase.IFileTree:
-        plugins, mods = self.get_plugins_and_mods(tree)
-        toMove = []
-        if mods:
-            for entry in tree:
-                toMove.append((entry, "/user/mods/"))
-            for (entry, path) in toMove:
-                tree.move(entry, path, policy=mobase.IFileTree.MERGE)
-
-        if plugins:
-            for entry in tree:
-                toMove.append((entry, "/bepinex/plugins/"))
-            for (entry, path) in toMove:
-                tree.move(entry, path, policy=mobase.IFileTree.MERGE)
-
-        return tree
diff --git a/sptakiMO2_Extract_To_MO2_Dir.zip b/sptakiMO2_Extract_To_MO2_Dir.zip
deleted file mode 100644
index ff8d2b4b07cbb5d5910831921934ec75a352cf3e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2232
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