Skip to content

Instantly share code, notes, and snippets.

@Zedb0T
Last active May 4, 2023 00:32
Show Gist options
  • Save Zedb0T/58a67f1e5b0098a04daf9352566a1c11 to your computer and use it in GitHub Desktop.
Save Zedb0T/58a67f1e5b0098a04daf9352566a1c11 to your computer and use it in GitHub Desktop.
@Zedb0T
Copy link
Author

Zedb0T commented May 3, 2023

  • Support unofficial mod lists - Maybe consider displaying a "warning" for repos that host copywrite content see https://www.malwarebytes.com/blog/images/uploads/2013/06/warning.png
    A single mod list should be able to contain jak 1,2 and 3 mods divided into sections.
  • Support concurrent installs and fast swapping between mods/vanilla
  • latest version that detect if an update is needed and if so updates, if no update is needed it just launches
  • As part of the install/update process we should be able to replace text before goalc is started. This does things like allow us to automatically change the discord RPC and show the mod version in the speedrunner text see -https://github.com/OpenGOAL-Unofficial-Mods/OpenGoal-ModLauncher-dev/blob/952cf0fbc36ed962163ab209538bc1657cefa331/utils/launcherUtils.py#LL425C1-L425C1
  • Drop down to select previous releases of the mod
  • The launcher should detect if binaries are included in the mod, if the binaries are not included it uses the vanilla binaries.
  • Allow mods to change the background image if possible? 😉
  • Notification/feature system for new mods?
  • rating system/download count?

Also just adding that the way that we order the table is so magic and feels really good. Barg did a great job on that.

@Zedb0T
Copy link
Author

Zedb0T commented May 3, 2023

META DATA mega thread

@Zedb0T
Copy link
Author

Zedb0T commented May 3, 2023

Packaging of a mod. All uploaded to the root of a github release.

  • .Zip file
  • in the root of the zip optionally include binaries - extractor/gk/goalc same with linux. If these are not present try to use the newest vanilla ones on the system.
  • data folder this is standard
  • modinfo.json this file will contain any data we need to know about the mod AFTER its been downloaded. This is separate from the unoffical mods list that displays some basic info without downloading the mod. (Think info base openGOAL version this file can be provided in a template then mods made using the template will always report the correct base version)
  • potential icon/movie/other media

Should add a script to automatically package the source into a mod format version.... see -> https://github.com/OpenGOAL-Unofficial-Mods/jak-project/blob/curl-hide-and-seek/scripts/batch/make%20release%20file%20structure.bat

@dallmeyer
Copy link

dallmeyer commented May 3, 2023

The launcher should detect if binaries are included in the mod, if the binaries are not included it uses the vanilla binaries.

for this we should be able to tie the mod back to the vanilla commit/release it was built from/last merged with (edit: I see you have this in the metadata 👍)

Also just adding that the way that we order the table is so magic and feels really good. Barg did a great job on that.

lol glad it feels nice to you, my PC still does some kind of daily scan and so they all end up with the same last accessed timestamp for me

game? Jak 1/2

Not a huge deal but I wouldn't rule out the possibility of a mod crossing multiple games (e.g. could bundle orb hunt Jak 1 and Jak 2 together, give user a way to choose which game to launch?) Or we just list them separately but they can pull from the same repo behind the scenes

maybe we wanna think about showing some kind of stats for number of downloads or let users give a rating? definitely not top priority but could be cool

@Zedb0T
Copy link
Author

Zedb0T commented May 3, 2023

More complex mods we should support

  • Hide and Seek (cpp extra library and custom binary but still all runs from one executible in gk.exe)

More complex mods that I dont think we can realistically support without a ton of clutter and custom exceptions

  • TeamRuns - Unfortunately the custom electron webclient layer probably makes launching/maintain something like this too unrealistic
  • OpenGOAL twitch crowd control - Again the same issue.

It would probably be possible to "launch" the TeamRuns electron client or the crowd control client from gk natively, If they figure out a way to bundle it so it works then I wouldn't be against them adding these but I don't think we should worry about the current way they work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment