1515 "win32" : "win" ,
1616 "darwin" : "macos" ,
1717}[sys .platform ]
18- BEPINEX = f"733/BepInEx-Unity.IL2CPP- { OS } -x64-6.0.0-be.733%2B995f049 "
19- POLYMOD = "https://github.com/PolyModdingTeam/PolyMod/releases/latest/download/PolyMod.dll "
18+ BEPINEX = "https://polymod.dev/data/bepinex.txt "
19+ POLYMOD = "https://api. github.com/repos/ PolyModdingTeam/PolyMod/releases"
2020
2121
2222def resource_path (path ):
@@ -54,6 +54,7 @@ def prepare(target):
5454 return
5555 path_entry .configure (state = customtkinter .DISABLED )
5656 browse_button .configure (state = customtkinter .DISABLED )
57+ prerelease_checkbox .destroy ()
5758 install_button .destroy ()
5859 uninstall_button .destroy ()
5960 progress_bar = customtkinter .CTkProgressBar (app , determinate_speed = 50 / 2 )
@@ -65,13 +66,17 @@ def prepare(target):
6566def install (path ):
6667 to_zip (
6768 requests .get (
68- f"https://builds.bepinex.dev/projects/bepinex_be/ { BEPINEX } .zip"
69+ requests . get ( BEPINEX ). text . strip (). replace ( "{os}" , OS )
6970 )
7071 ).extractall (path )
7172 progress_bar .step ()
7273
74+ for release in requests .get (POLYMOD ).json ():
75+ if release ["prerelease" ] and not prerelease_checkbox .get (): continue
76+ latest = release
77+ break
7378 open (path + "/BepInEx/plugins/PolyMod.dll" , "wb" ).write (
74- requests .get (POLYMOD ).content
79+ requests .get (latest [ "assets" ][ 0 ][ "browser_download_url" ] ).content
7580 )
7681 progress_bar .step ()
7782
@@ -133,14 +138,17 @@ def quit():
133138 app , placeholder_text = "Game path" , width = 228 )
134139browse_button = customtkinter .CTkButton (
135140 app , text = "Browse" , command = browse , width = 1 )
141+ prerelease_checkbox = customtkinter .CTkCheckBox (
142+ app , text = "Prerelease" , width = 1 )
136143install_button = customtkinter .CTkButton (
137144 app , text = "Install" , command = lambda : prepare (install ))
138145uninstall_button = customtkinter .CTkButton (
139146 app , text = "Uninstall" , command = lambda : prepare (uninstall ))
140147
141148path_entry .grid (column = 0 , row = 0 , padx = 5 , pady = 5 )
142149browse_button .grid (column = 1 , row = 0 , padx = (0 , 5 ), pady = 5 )
143- install_button .grid (column = 0 , row = 1 , columnspan = 2 , padx = 5 , pady = 5 )
144- uninstall_button .grid (column = 0 , row = 2 , columnspan = 2 , padx = 5 , pady = 5 )
150+ prerelease_checkbox .grid (column = 0 , row = 1 , columnspan = 2 , padx = 5 , pady = 5 )
151+ install_button .grid (column = 0 , row = 2 , columnspan = 2 , padx = 5 , pady = 5 )
152+ uninstall_button .grid (column = 0 , row = 3 , columnspan = 2 , padx = 5 , pady = 5 )
145153
146154app .mainloop ()
0 commit comments