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,16 @@ 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
7377 open (path + "/BepInEx/plugins/PolyMod.dll" , "wb" ).write (
74- requests .get (POLYMOD ).content
78+ requests .get (latest [ "assets" ][ 0 ][ "browser_download_url" ] ).content
7579 )
7680 progress_bar .step ()
7781
@@ -133,14 +137,17 @@ def quit():
133137 app , placeholder_text = "Game path" , width = 228 )
134138browse_button = customtkinter .CTkButton (
135139 app , text = "Browse" , command = browse , width = 1 )
140+ prerelease_checkbox = customtkinter .CTkCheckBox (
141+ app , text = "Prerelease" , width = 1 )
136142install_button = customtkinter .CTkButton (
137143 app , text = "Install" , command = lambda : prepare (install ))
138144uninstall_button = customtkinter .CTkButton (
139145 app , text = "Uninstall" , command = lambda : prepare (uninstall ))
140146
141147path_entry .grid (column = 0 , row = 0 , padx = 5 , pady = 5 )
142148browse_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 )
149+ prerelease_checkbox .grid (column = 0 , row = 1 , columnspan = 2 , padx = 5 , pady = 5 )
150+ install_button .grid (column = 0 , row = 2 , columnspan = 2 , padx = 5 , pady = 5 )
151+ uninstall_button .grid (column = 0 , row = 3 , columnspan = 2 , padx = 5 , pady = 5 )
145152
146153app .mainloop ()
0 commit comments