Skip to content

Commit

Permalink
Merge pull request #51 from gusborg88:gusborg88/issue35
Browse files Browse the repository at this point in the history
Why did it make a branch
  • Loading branch information
gusborg88 authored May 27, 2024
2 parents 4114aa5 + 2f105e6 commit 68aafbd
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 44 deletions.
54 changes: 30 additions & 24 deletions psychtobase/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@
import threading

from src.tools.CharacterTools import CharacterObject
from src.tools.ChartTools import ChartObject
from src.tools.ChartTools import ChartObject
from src.tools import VocalSplit, WeekTools, StageTool, StageLuaParse
from src import Utils

if __name__ == '__main__':

log.setup()
window.init()

Expand All @@ -33,6 +32,8 @@ def folderMake(folder_path):
Path(folder_path).mkdir(parents=True, exist_ok=True)
except Exception as e:
logging.error(f'Something went wrong: {e}')
else:
logging.warn(f'{folder_path} already exists!')

def fileCopy(source, destination):
if Path(source).exists():
Expand All @@ -53,11 +54,9 @@ def treeCopy(source, destination):
logging.warn(f'Path {source} does not exist.')

def convert(psych_mod_folder, result_folder, options):
runtime = time.time()
runtime = time.process_time()

logging.info(Utils.coolText("NEW CONVERSION STARTED"))

logging.info('Converting started...')
logging.info(options)

modName = psych_mod_folder # MOD FOLDER PSYCH ENGINE
Expand Down Expand Up @@ -97,11 +96,11 @@ def convert(psych_mod_folder, result_folder, options):
else:
logging.warn('pack.png not found. Replacing it with default')
try:
_polyEncode = b'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'

polymodIconpath = f'{result_folder}/{modFoldername}/{polymodIcon}'
with open(polymodIconpath, 'wb') as output_file:
#cause the image wasnt working in the executable
output_file.write(b64decode(_polyEncode))
output_file.write(b64decode(Constants.BASE64_IMAGES.get('missingModImage')))
except Exception as e:
logging.error(f'Could not write default file: {e}')

Expand All @@ -128,7 +127,6 @@ def convert(psych_mod_folder, result_folder, options):
songs = files.findAll(f'{psychChartFolder}*')

for song in songs:
logging.info(f'Checking if {song} is a valid chart directory...')
if Path(song).is_dir():
logging.info(f'Loading charts in {song}')

Expand Down Expand Up @@ -223,7 +221,7 @@ def convert(psych_mod_folder, result_folder, options):
folderMake(f'{result_folder}/{modFoldername}{bgCharacterAssets}')
folderMake(f'{result_folder}/{modFoldername}{freeplayDir}')

for character in files.findAll(f'{psychCharacterAssets}*'):
for character in files.findAll(f'{psychCharacterAssets}*.png'):
if Path(character).is_file():
logging.info(f'Copying asset {character}')
try:
Expand Down Expand Up @@ -257,8 +255,6 @@ def convert(psych_mod_folder, result_folder, options):
logging.error(f"Failed to create character {keyForThisIcon}'s freeplay icon: {___exc}")
except Exception as e:
logging.error(f'Could not copy asset {character}: {e}')
else:
logging.warn(f'{character} is a directory, not a file! Skipped')

songOptions = options.get('songs', {
'inst': False,
Expand All @@ -274,7 +270,7 @@ def convert(psych_mod_folder, result_folder, options):

folderMake(f'{result_folder}/{modFoldername}{bgSongs}')

_allSongFiles = files.findAll(f'{psychSongs}*')
_allSongFiles = files.findAll(f'{psychSongs}*.ogg')

for song in _allSongFiles:
_songKeyUnformatted = Path(song).name
Expand Down Expand Up @@ -455,18 +451,29 @@ def convert(psych_mod_folder, result_folder, options):
logging.info('Copying level titles...')

dir = Constants.FILE_LOCS.get('WEEKIMAGE')
psychWeeks = modName + dir[0]
psychWeeks = f'{modName}{dir[0]}'
baseLevels = dir[1]

allPng = files.findAll(f'{psychWeeks}*.png')
for asset in allPng:
logging.info(f'Copying {asset}')
try:
folderMake(f'{result_folder}/{modFoldername}{baseLevels}')
fileCopy(asset,
f'{result_folder}/{modFoldername}{baseLevels}{Path(asset).name}')
except Exception as e:
logging.error(f'Could not copy asset {asset}: {e}')
if Path(psychWeeks).exists(follow_symlinks=False):
allPng = files.findAll(f'{psychWeeks}*.png')
for asset in allPng:
logging.info(f'Copying week: {asset}')
try:
folderMake(f'{result_folder}/{modFoldername}{baseLevels}')
fileCopy(asset,
f'{result_folder}/{modFoldername}{baseLevels}{Path(asset).name}')
except Exception as e:
logging.error(f'Could not copy asset {asset}: {e}')
else:
logging.info(f'A week for {modName} has no story menu image, replacing with a default.')
with open(f'week{modName}.png', 'wb') as fh:
#id be surprised if this works
try:
folderMake(f'{result_folder}/{modFoldername}{baseLevels}')
Image.open(base64.b64decode(data[Constants.BASE64_IMAGES.get('missingWeek')]))
Image.save(f'{result_folder}/{modFoldername}{baseLevels}')
except Exception as e:
logging.error(f"Couldn't generate week image to {modFoldername}/{baseLevels}: {e}")

if options.get('stages', False):
logging.info('Converting stages...')
Expand Down Expand Up @@ -533,6 +540,5 @@ def convert(psych_mod_folder, result_folder, options):
except Exception as e:
logging.error(f'Failed to copy {asset}: {e}')

#convlen = Utils.getRuntime(runtime)
logging.info(Utils.coolText("CONVERSION COMPLETED"))
logging.info(f'Conversion done: Took {int(time.time() - runtime)}s')
logging.info(f'Conversion done: Took {runtime}s')
12 changes: 10 additions & 2 deletions psychtobase/src/Constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,14 @@
"generatedBy": "FNF Porter (by Gusborg, tposejank, BombasticTom & VocalFan)"
}

BASE64_IMAGES = {
#to view these: https://base64.guru/converter/decode/image/png
"windowIcon": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAFVBMVEX/////3fv/fdtsPpT/LDdYtf8AKUvOkdnQAAAACXBIWXMAAC4jAAAuIwF4pT92AAABRUlEQVRIx73UQbLCIAwAUJzWvf03EC/gNBdgEfcuLDco9z/CB0JLgQDq/PlZ1clrkoZWIf4mTpcemLpg6oKpCy490BZTT5wm2QWyOWgf/Eh5bTUBC1oCQLqoN4HZA1sC7lx+oHwd3GQIC4ArIPe4fgnmKHgA8iC+AAPA3AOxxA24Pb8B5j1/bwJ75QAiqgzAlrdgREzFDoAAYiYGHmABgMCIRQlaFeUhjIDLsjzfB1ufDTwWime5D/eUW9oGcyqiCXzwYORBHCJuRZxDUtfAljcpULGA8cDUgLCp1RVY0yExTqrdzXpdPgVWjCo8hBUmA8KfLgagjS6AL+EQPaLhAPoyfk8mzKCSHvQWVUF4UcIqCLyUKAQtW9O6UYlcqHgYLDiepu2QA/p9jvlPAXXYwev4cSVBIv36sgj314Eo/wJ4If4nfgHb6rE0etNCVQAAAABJRU5ErkJggg==",
"missingWeek": "iVBORw0KGgoAAAANSUhEUgAAADAAAAAYAQMAAACGM+yfAAAAA1BMVEX///+nxBvIAAAACXBIWXMAAAsSAAALEgHS3X78AAAADElEQVQI12NgGBoAAACoAAHA+4ZOAAAAAElFTkSuQmCC",
"missingModImage": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAAsSAAALEgHS3X78AAAAyUlEQVQoz2NgoBlghlAGDMwz0BnsSAwmdIYF838w40YN8/8DQAYbkCH/4AOQ8cOHmefjDiCjAsgoltzAwFKRw8xjLG3AwCJRw8xgPBvIYLBgBDMg4PcGKKP4A5TB+IEINwMZzZhCMJ0gZ4GNapY9+AHC4Dn8xwbCeNxTbwdi8D3mO2wPZhTzNZeDGGxARnIDiGHc1w5hGN77Xw9mGPyrrwepYWAoswe6nbGJgYGNzQLIAAYKGx/IQKDpEjx8EIb8D6hL+H8wDDAAAEa9OlI0tsK2AAAAAElFTkSuQmCC",
"errorIcon": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEX/////ADNUioaFAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAeklEQVQI1zWOsQ3DMAwEX1AhF0bUJkBgruEqWkywvVk0ikZQ6ULQm3SQ5vAAn+QB0gGQBxxZEMiGSJ54GZ7kG6v0BVm6IMeWsHnFcGUHUQhdUlT/R7tTsIGlwymc9oavO7ZQE3KoduqM+Eh/YEljhnwV+nf6GdwuZnUBR3pJi8fgcMIAAAAASUVORK5CYII="
}

CHARACTER = {
"version": "1.0.0",
"name": None,
Expand Down Expand Up @@ -395,8 +403,8 @@
'WEEKCHARACTERJSON':
['/images/menucharacters/', ''], # Embedded directly to the level.json

'WEEKIMAGE':
['/images/storymenu/','/images/storymenu/titles/'],
'WEEKIMAGE':
['/images/storymenu/', '/images/storymenu/titles/'],

'WEEKIMAGE_WEEKJSON':
['', 'storymenu/titles/'],
Expand Down
74 changes: 56 additions & 18 deletions psychtobase/src/window.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
import webbrowser

from PyQt6.QtCore import QSize
from PyQt6.QtGui import QIcon, QPixmap
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QCheckBox, QLabel, QLineEdit, QPushButton, QFileDialog, QDialog, QVBoxLayout, QRadioButton, QTextBrowser
from PyQt6.QtGui import QIcon, QPixmap, QImage
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QCheckBox, QLabel, QLineEdit, QFileDialog, QDialog, QVBoxLayout, QRadioButton, QTextBrowser, QWidget

#the icon, in base64 (because its easier to compile)
icon = b64decode("iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAFVBMVEX/////3fv/fdtsPpT/LDdYtf8AKUvOkdnQAAAACXBIWXMAAC4jAAAuIwF4pT92AAABRUlEQVRIx73UQbLCIAwAUJzWvf03EC/gNBdgEfcuLDco9z/CB0JLgQDq/PlZ1clrkoZWIf4mTpcemLpg6oKpCy490BZTT5wm2QWyOWgf/Eh5bTUBC1oCQLqoN4HZA1sC7lx+oHwd3GQIC4ArIPe4fgnmKHgA8iC+AAPA3AOxxA24Pb8B5j1/bwJ75QAiqgzAlrdgREzFDoAAYiYGHmABgMCIRQlaFeUhjIDLsjzfB1ufDTwWime5D/eUW9oGcyqiCXzwYORBHCJuRZxDUtfAljcpULGA8cDUgLCp1RVY0yExTqrdzXpdPgVWjCo8hBUmA8KfLgagjS6AL+EQPaLhAPoyfk8mzKCSHvQWVUF4UcIqCLyUKAQtW9O6UYlcqHgYLDiepu2QA/p9jvlPAXXYwev4cSVBIv36sgj314Eo/wJ4If4nfgHb6rE0etNCVQAAAABJRU5ErkJggg==")
icon = b64decode(Constants.BASE64_IMAGES.get('windowIcon'))
_windowTitleSuffix = "v0.1 [BETA]"
_defaultsFile = '.defaults'
_vocalSplitEnabledByDefault = False

Expand Down Expand Up @@ -61,6 +61,34 @@ def on_button_clicked(self):
# print(self.input_values)

self.close()

class ErrorMessage(QDialog):
def __init__(self, text, actual_error_text):
super().__init__()
layout = QVBoxLayout()
self.setLayout(layout)
try:
text
except:
#if text isnt given itll set it to unknown error
text = 'Unknown Error'
try:
actual_error_text
except:
actual_error_text = "the fucking error handler had a bug dude, you're fucked"
self.setWindowTitle('Error!')
self.setFixedSize(QSize(400, 200))

pixmap = QPixmap()
pixmap.loadFromData(b64decode(Constants.BASE64_IMAGES.get('errorIcon')))
self.errorIcon = QImage(pixmap)

self.text = QLabel('Hello Bro', self)
self.text.move(20, 80)
self.text.resize(360, 40)

self.openLog = QPushButton('Open log file', self)
self.openLog.clicked.connect(Window.openLogFile)

class Window(QMainWindow):
def closeEvent(self, event):
Expand All @@ -84,7 +112,7 @@ def __init__(self):
pixmap.loadFromData(icon)
self.setWindowIcon(QIcon(pixmap))

self.modLabel = QLabel("Path to your Psych Engine mod:", self)
self.modLabel = QLabel("Path to your Psych Engine mod:", self)
self.baseGameLabel = QLabel("Path to Base Game mods folder:", self)
self.modLabel.move(20, 20)
self.modLabel.resize(220, 30)
Expand Down Expand Up @@ -130,29 +158,23 @@ def __init__(self):

self.onlyCharts = QRadioButton('Only Charts', self)
self.onlyCharts.move(rX, 140)
self.onlyCharts.setToolTip("A default option. Quick for fast and only chart converting.")

self.onlySongs = QRadioButton('Only Audio', self)
self.onlySongs.move(rX, 170)
self.onlySongs.setToolTip("A default option. Quick for fast and only audio converting/copying.")

self.onlyChars = QRadioButton('Only Characters', self) # not to be confused with onlyCharts
self.onlyChars.move(rX, 200)
self.onlyChars.resize(400, 30)
self.onlyChars.setToolTip("A default option. Quick for fast and only character converting.")

self.onlyStages = QRadioButton('Only Stages', self)
self.onlyStages.move(rX, 230)
self.onlyStages.setToolTip("A default option. Quick for fast and only stage converting.")

self.fullMod = QRadioButton('Full Mod', self)
self.fullMod.move(rX, 260)
self.fullMod.setToolTip("A default option. Quick for converting the entire mod.")
self.fullMod.setChecked(True) # Default

self.iChoose = QRadioButton('Let me choose', self)
self.iChoose = QRadioButton('Custom', self)
self.iChoose.move(rX, 290)
self.iChoose.setToolTip("Select this to customize your conversion experience.")

self.onlyCharts.toggled.connect(self.radioCheck)
self.onlySongs.toggled.connect(self.radioCheck)
Expand All @@ -173,7 +195,7 @@ def __init__(self):
self.logsLabel.resize(320, 270)

self.helpButton = QPushButton("Report an issue", self)
self.helpButton.setToolTip('https://github.com/gusborg88/fnf-porter/issues/new')
self.helpButton.setToolTip('https://github.com/gusborg88/fnf-porter/issues/new/choose/')
self.helpButton.move(130, 320)
self.helpButton.resize(100, 30)
self.helpButton.clicked.connect(self.goToIssues)
Expand Down Expand Up @@ -317,6 +339,7 @@ def __init__(self):

self.radioCheck(True, True)


def allToDefaults(self, checked = True, enabled = False):
self.charts.setChecked(checked)
self.songs.setChecked(checked)
Expand Down Expand Up @@ -442,7 +465,6 @@ def convertCallback(self, what):
result_path = self.baseGameLineEdit.text()
if Path(result_path).exists():
logging.warn(f'Folder {result_path} already existed before porting, files may have been overwritten.')
#i was trying to get this to be a window but it wasnt working
options = Constants.DEFAULT_OPTIONS
options['charts'] = self.charts.isChecked()
if self.songs.isChecked():
Expand Down Expand Up @@ -473,11 +495,15 @@ def convertCallback(self, what):
logging.error(f'Problems with your save file: {e}')

if psych_mod_folder_path != None and result_path != None:
main.convert(psych_mod_folder_path, result_path, options)
try:
main.convert(psych_mod_folder_path, result_path, options)
except Exception as e:
self.throwError('poop', {e})
else:
logging.warn('Select an input folder or output folder first!')

def goToIssues(self):
#note this is a custom link that puts some things into the body, it should be the same as in readme.md
webbrowser.open('https://github.com/gusborg88/fnf-porter/issues/new?body=Log+file+output+(check+logs+folder):%0A```%0A%0A```')
webbrowser.open('https://github.com/gusborg88/fnf-porter/issues/new/choose')

def goToGB(self):
_GB_ToolID = '16982'
Expand Down Expand Up @@ -505,6 +531,10 @@ def open_dialog(self, title, inputs, button, body):

return values

def throwError(self, text, actual_error_text):
self.newError = ErrorMessage(text, actual_error_text)
self.newError().show

def prompt(self, inputs, title, body):
button = 'Continue'
return self.open_dialog(title=title, inputs=inputs, button=button, body=body)
Expand All @@ -517,7 +547,15 @@ def init():
logging.info('Initiating window')

# initiate the window
window.show()
try:
window.show()
except Exception as e:
#why does this never fire
logging.critical(f'Window could not show! {e}')

#work in progress
#Window.throwError(self=QDialog, text='d', actual_error_text='poooop')
print('pooop')

app.exec()

Expand Down

0 comments on commit 68aafbd

Please sign in to comment.