Commit graph

398 commits

Author SHA1 Message Date
fbdd207c52 added special operation, allowing for replacing a file_content with a precalculated file, useful for ct_icons.tpl for example 2022-07-14 15:47:35 +02:00
cab9b7745d added bmg regex operation support + decoding and encoding are now only done at the start and end of a whole operation instead at every Layer 2022-07-12 22:42:41 +02:00
efd314fb9a patch.multiple_safe_eval and patch.safe_eval are now the safe function with a multiple parameter 2022-07-12 20:57:11 +02:00
4c1c8833b1 moved multiple safe eval from Track.py to safe_eval.py 2022-07-12 20:56:20 +02:00
cb38bf3ae5 Patch.safe_eval now have a env parameter where any variable can be used for the safe_eval 2022-07-12 20:31:47 +02:00
cb069fe240 safe_eval now has mod_config in the environnement 2022-07-12 20:02:03 +02:00
cf0f61d8ee implemented bmg patch operation by id 2022-07-11 23:46:48 +02:00
823dc4cc44 implemented decode_data, encode_data and patch_data 2022-07-11 23:09:04 +02:00
d9ec57a04c compacted _tools_run, _tools_run_popen and _tools_run_dict by creating a get function returning the shortcut function for every module from the tools_path 2022-07-11 00:16:03 +02:00
804c9f38f6 removed the need of temporary file by using stdin as input data 2022-07-10 23:56:57 +02:00
d456430714 made universal_newlines parameter in _run_popen optional 2022-07-10 23:56:10 +02:00
4cb2aa7379 added stdin support to _run_popen 2022-07-10 23:36:50 +02:00
803e9603e7 moved _run, _run_popen and _run_dict out of the class to make _tools_run, _tools_run_popen and _tools_run_dict for the whole module 2022-07-10 23:32:58 +02:00
69aa29c630 fixed untouched patched file content being erased if the mode was set to "edit" 2022-07-10 22:54:26 +02:00
e403d1dce1 added Layer, AbstractLayer, IDLayer and RegexLayer for bmg patch operation (unimplemented) 2022-07-09 23:08:08 +02:00
dde5a134a5 preparing bmg patch 2022-07-09 22:09:07 +02:00
093319eece fixed the ImageLayer Operation that was not pasting the image of top of the other correctly 2022-07-07 23:35:44 +02:00
6831b18c0a fixed image patch operation of type "image" that would not affect the final image 2022-07-05 23:25:42 +02:00
ca833eca2a fixed img-generate in the Patch and some other minor issue 2022-07-05 22:34:10 +02:00
90ab49aa29 splitted Patch.py into a package 2022-07-04 22:51:40 +02:00
cd064556b0 the file were not seeked to 0 after writing, causing a file set on match mode to only copy the first matched file, and then write empty file on the others 2022-07-03 23:45:06 +02:00
3eef32e202 bad stream were returned by the patch method 2022-07-03 23:34:07 +02:00
1cade9fa6f fixed ImageGenerator (ImageFont not imported, missing image variable in a method call) 2022-07-03 23:29:13 +02:00
d509567848 match type operation where not copied to the correct path 2022-07-03 23:27:40 +02:00
32dcefefc9 removed some match that return a subclass by a for loop on all the subclasses, checking for a property named type instead. 2022-07-02 11:14:39 +02:00
81c8ee18cd directory-archive are no longer represented by .szs directory in the patch but by .d directory for code simplicity. szs extraction are now implemented 2022-06-29 19:43:09 +02:00
40de14d201 fixed safe_eval for the Patch, and the region condition in the MKWF patch 2022-06-29 11:55:47 +02:00
5481b75cbf added Patch prototype implementation (untested and unfinished) 2022-06-28 23:43:27 +02:00
b34833397d moved ExtractedGame to a new file, changed the patch to fit the new syntax of the Patch system 2022-06-25 18:48:30 +02:00
4db2d9ee3a restructuring pack (part 4) 2022-06-15 17:18:51 +02:00
d5ef16611d started restructuring pack (part 3), added ct_icons generation, added ExtractedGame class alongside Game, started install_all_patch function 2022-06-14 14:27:48 +02:00
3402a9b26c started restructuring pack (part 2) 2022-06-13 22:40:13 +02:00
3932716227 added get_ctfile to Track, and implemented autoadd extraction 2022-06-13 22:18:08 +02:00
70ade3dc67 moved safe_eval from Track.py to safe_eval.py, allowed getattr with no function limitation, added track_formatting to mod_config.json to customize the track text format for the menu, the race and the filename. Added a Combobox on the install menu for the extension 2022-06-12 23:21:09 +02:00
31a28c3cf1 implemented user options and made translation capable of changing language 2022-06-11 22:38:53 +02:00
541a1b0689 selecting a mod now work, extraction now have a progress bar, clicking on the install button will start the installation 2022-06-11 18:45:29 +02:00
753be7df0d when pressing the install button, everything but the help menu is disabled. Added progress_function to start a function that yield data about the installation to show it on the progress bar 2022-06-10 21:40:03 +02:00
f9db2e96ea wit module now can simulate FST if the game is a FST. Moved many function from game to wit, added exists method to szs 2022-06-10 15:54:08 +02:00
9d97326f4b started implementing Game and wit for the game file manipulation, and modifying ModConfig syntax 2022-06-09 22:47:13 +02:00
f0476381da updated szs and wit, and made the installer the correct file for linux or windows 2022-06-09 22:42:15 +02:00
a83ce2c9c1 implemented ModConfig (new version of CtConfig), Track and TrackGroup 2022-06-09 16:49:46 +02:00
a04f7286b6 started working on the szs and wit wrapper 2022-06-08 16:24:02 +02:00
8d6141703b added permissions check 2022-06-08 14:39:43 +02:00
2f7f0ad5bf implemented events that can be registered from the ./plugins/ directory 2022-06-08 10:18:14 +02:00
404111948d menu design + translation system 2022-06-08 00:23:08 +02:00
599b520780 deleted every files that are not resources for the rewrite
Signed-off-by: Faraphel <rc60650@hotmail.com>
2022-06-07 19:37:38 +02:00
1ef62c5284 updated scripts to create minimap and map image 2022-05-24 10:34:23 +02:00
409fa2d4e2 fixed an issue with a default argument being an int instead of a list 2022-02-10 18:33:40 +01:00
3286f7e070 removed mkwf sort for testing 2022-02-10 14:52:16 +01:00
8e5f690358 improved the behaviour of the installer when a Pack does not provide some value in file_process
Many "x[y] if y in x else d" have been replaced by "x.get(y, d)"
2022-02-10 09:22:03 +01:00
821ae77a22 improved some aspect of the pack extraction tools (error check, automatically select the mod after installing) 2022-02-10 08:35:35 +01:00
2e5c7ec773 added a button to extract modpack with the .mkwf.pack extension 2022-02-09 16:05:16 +01:00
5dfaa35595 game now support special message in multiplayer room 2022-02-09 11:31:28 +01:00
f47049eb55 arena retro track now have their prefix colored 2022-02-08 19:54:49 +01:00
2aa84b8fab arenas are now supported by the installer 2022-02-08 19:24:17 +01:00
cd0c59de38 track with a dolphin warning now will not be included in the random new track per default 2022-02-07 08:54:23 +01:00
44c2fbc9fc fixed disabling "keep_original_track" : bmg are now correct 2022-02-01 15:53:50 +01:00
438e303b3b added add_original_track_prefix, swap_original_order, enable_random_cup and keep_original_track option to the ct_config. The last one have bmg issue. 2022-02-01 00:19:50 +01:00
a55ed656d9 added a weight notion to track (a track with a weight of 4 will be duplicated 4 times) 2022-01-29 13:02:06 +01:00
7200e21927 changing number of conversion process now change it in live 2022-01-26 19:24:05 +01:00
eafb7a47e9 reformatted some minor thing, added a log_error 2022-01-26 09:37:28 +01:00
a82312aabf combobox are now readonly (you can only choose in the proposed values) 2022-01-26 09:21:20 +01:00
abce32c3c8 moved log_error into Error.py 2022-01-26 09:07:39 +01:00
b29a7d0dcf moved translate from gui to its own class (Translator), added missing translation 2022-01-26 08:54:26 +01:00
e5fefd0624 optimised get_track_possibilities and fixed some sorting issue ? 2022-01-26 00:11:07 +01:00
b5da151c73 fixed the track sorting, added a way to save and load track configuration, track configuration is now keeped when closing and reopening the track configuration menu 2022-01-25 19:45:46 +01:00
7b134a88a3 fixed the track sorting 2022-01-25 14:19:46 +01:00
4c5fa3f20e using a track filter will enable the cheat region 2022-01-25 13:42:07 +01:00
b3d5af63ed readded a better track selection filter (advanced menu), fixed an issue with tracks always renormalizing, added a default sort in ct_config, added a Common class to reunite all component with more readability and less weird code, splited the Gui into a directory 2022-01-25 12:59:51 +01:00
85e36c461c moved all error to Error.py 2022-01-21 22:41:45 +01:00
03e85fb442 Random track group are now supported in ct_config.json, cup icons can now be named by the cup name, custom track cup now start at 001 2022-01-21 16:39:29 +01:00
7986d9eef1 the code now support multiple Pack, allow a better image generator (used for the bootscreen image in MKWF), customisable directory for the generated ct_icons, patched bmg, directory with all the icons, directory with lecode. 2022-01-19 17:46:45 +01:00
6042ca441a implemented a very experimental function for packs 2022-01-18 14:04:51 +01:00
af68a17782 (not functionnal for now) moved some mod part into a Pack folder to allow multiple mod to be installed, track menu now allow almost all the possibility 2022-01-17 20:34:08 +01:00
50d0a00bff some error weren't stopping the installation 2022-01-17 13:57:46 +01:00
d049000b78 language were not correctly handled by patch_bmg, file_process now use game language identifiant (F, E, U, M, S, ...) instead of the installer language (fr, en, ge, ...) 2022-01-17 13:49:05 +01:00
98a0aed807 default name for a track is now a single space, nothing would be replaced by the sha1 2022-01-17 12:28:34 +01:00
d3673fb64d added and changed some translation, removed delete track after convertion and disable download option, remove track download code 2022-01-17 12:22:08 +01:00
b2bcffdb29 if there was no score given for a track, the star color was not ended 2022-01-17 09:51:22 +01:00
3f8fad07fd using load_from_json return self 2022-01-17 09:46:12 +01:00
2096b93540 default_track is now supported, color of the original track are now handled by the tags_color of the ct_config.json file 2022-01-17 09:43:42 +01:00
824281f5ab the program now use sha1 instead of prefix + name + suffix to find a tracks. Prefix, suffix and new have been replaced by tags (some part of the code need to be "cleaned") 2022-01-16 19:54:12 +01:00
56752f8f36 cup are now stored in a list instead of a dictionary with useless index, and random + original cup have been removed because useless 2022-01-13 16:25:51 +01:00
e81157c64e added a "force unofficial mode" button in the advanced menu 2022-01-13 15:21:51 +01:00
d4089e4120 author list name was not handled correctly 2022-01-13 14:14:13 +01:00
61b54936b3 custom region shoule now be supported by the installer 2022-01-13 13:40:57 +01:00
edb1c78658 authors are now stored as a list in ct_config.json 2022-01-12 09:10:34 +01:00
b7f87d6a31 removed some MKWFaraphel specific non-modulable text 2022-01-11 19:39:51 +01:00
1b8d7fa7fc Game text and translation are now handled by file_process.json by the patch_bmg function, allowing more possibility and functionality. 2022-01-11 19:32:52 +01:00
7852e1f7ea CT_Config now can have a name and a nickname for the mod 2022-01-11 18:09:35 +01:00
798791b526 renamed fs.json to file_structure.json and convert_file.json to file_process.json to make them clearer 2021-11-21 21:54:53 +01:00
80582311e1 fixed an issue with a non-existing button trying to be updated and an error with the returned value of get_next_available_dir 2021-11-21 00:27:13 +01:00
ec12374359 you can't change game path once the installation started 2021-11-20 19:32:20 +01:00
598c4a6bcb (get_next_available_dir) parent_dir was missing in the returned path 2021-11-20 19:31:42 +01:00
aace0e6ac0 removed "nothread" function to use normal one instead 2021-11-20 18:31:01 +01:00
6304a88d95 "do everything" button have been renamed to "install mod", removed the 3 steps button.
Fixed issue with "do everything" button not stopping when encountering an error
2021-11-20 18:28:22 +01:00
95f9e4b823 "do everything" button have been renamed to "install mod", removed the 3 steps button 2021-11-20 18:22:42 +01:00
8f525cbe5f add the name of the actual mod version at in the ROM name 2021-11-20 18:17:59 +01:00
0ff1d946b9 added a function that return a non-existing directory from a desired directory name 2021-11-20 18:16:27 +01:00
c923966c98 added newline to error to make it more readable 2021-11-20 18:03:23 +01:00
36773a71ea Merge remote-tracking branch 'origin/dev' into dev 2021-11-18 21:40:32 +01:00
7ac3eb8958 added an error if the select rom does not exists 2021-11-18 21:40:03 +01:00
c343d270e2 when the installation end, the gui will now automatically close 2021-11-15 22:46:38 +01:00
98d8947c55 select score options are now regrouped in Track Configuration -> Select Track -> Score menu, and highlight game version are now in the BETA submenu if they are older than v1.0.0 2021-11-14 13:41:53 +01:00
ff0fb9d71f star now go from 0 to 5 instead of 1 to 3, take less space in the menu since they are directly in the font 2021-11-14 10:46:35 +01:00
94c4a26646 fixed 5 incorrect sha1 + added debug message in Track when a sha1 is incorrect 2021-11-06 20:01:36 +01:00
aa341a9746 added Help menu to access the wiki or the discord 2021-11-06 14:03:45 +01:00
426961197a Removed other MyStuff type, because redondant with the normal MyStuff 2021-11-06 13:28:08 +01:00
b8aa333af5 MyStuff folder should now mimic the Wii MyStuff folder (mystuff files at the root replace all game files with the same name) 2021-11-06 11:47:28 +01:00
d825194ca6 added multiple button for other "type" of MyStuff directory 2021-11-01 11:25:33 +01:00
f7186b6abc separated install_mod function into multiple subfunction to be may more easier to understand 2021-10-31 22:36:42 +01:00
d65ef8c08f Added an experimental support for MyStuff 2021-10-29 16:15:13 +02:00
a3c31cad5b star can now be blue if the warning is level 4 (for Dolphin only tracks) 2021-10-28 12:17:43 +02:00
4d4c2ff2bb If an error is raised with wiimm's tools, a better error will be shown 2021-10-26 17:17:16 +02:00
cff27f6198 added a "custom" note on the main menu text if the configuration for the mod is not the default / official one 2021-10-25 22:37:53 +02:00
71ab9a0f92 Added a debug mode for performance monitoring and information like position, respawn, ... 2021-10-25 17:09:10 +02:00
944dd5f6e7 there was no code to color the star of a track with warning (???) 2021-10-25 12:55:17 +02:00
0f1e25d941 readded menu to sort by track, name, version, score and warning (removed because of a merge) 2021-10-25 12:51:51 +02:00
632fe34296 track.get doesn't exist, replaced by getattr(track, ..., ...) 2021-10-25 12:25:59 +02:00
69f4e7872b added a menu to sort tracks by name, author, score and version 2021-10-25 12:25:58 +02:00
95c5e225a3 Fixed an issue where descriptive image (image on the bootscreen) would not be converted to .png and cause the installer to stop (missing / in directory path) 2021-09-03 23:58:43 +02:00
0edd631008 replaced distutils version by the function get_version_from_string 2021-09-03 22:53:08 +02:00
337b4c0dfc by default, all tracks from the latest version will now be highlighted 2021-08-29 11:33:11 +02:00
531acf2d7d track conversion process now have a better display, version are now sorted in the good order 2021-08-29 11:21:04 +02:00
af27096ff3 fixed progress bar of tracks processing that wasn't updating, fixed exit that was catch by the try keyword 2021-08-28 22:02:51 +02:00
18cf984d86 finishing an installation will automatically stop the program 2021-08-28 18:51:03 +02:00
bb59d1dc18 removed a old useless condition stopping the patch_file process if patch_tracks failed (not return 0), which can't happen since patch_track could only return 0 2021-08-26 11:34:25 +02:00
4758e6ae88 added return when exception is raise in nothread_use_path so that "do everything" process stop when an error is occuring 2021-08-24 19:59:47 +02:00
cf8d1bb20e "do everything button" now use a single thread instead of 3 threads for the 3 parts, allowing the program to stop if an error is raised 2021-08-23 23:52:30 +02:00
a54d32f354 removed useless import 2021-08-17 18:12:59 +02:00
15b68bc713 removed patch_tracks_zip function because not worth it and not really working 2021-08-17 18:12:13 +02:00
8e06d46891 added a space between the name and the suffix 2021-08-15 23:10:15 +02:00
3d5372acc6 forgot to strip key in szs.analyze 2021-08-02 18:31:45 +02:00
352d77db6a added analyze function to wszst.szs 2021-08-02 18:06:48 +02:00
9673a63e4c created a new function "patch_all_tracks_zip" that download all tracks from a zip, then convert them to szs. Unused for now 2021-07-31 20:42:43 +02:00
3c291bb66f started implementation of a better function to download and patch tracks 2021-07-31 09:21:29 +02:00
95dae163d9 detailled log error with information about ./file/ directory and game information 2021-07-31 09:10:51 +02:00
7078db49df removed track sha1 check option, they will always be checked 2021-07-30 21:21:31 +02:00
5461c17217 simplified download code in Game.py 2021-07-28 21:41:12 +02:00
43e46008c7 added more sha1 check in download_wu8, and do 3 try before raising an exception 2021-07-28 21:40:35 +02:00
8caf3535d6 added a sha1 check before downloading, now exception are used when a error occur instead of a blurry negative number 2021-07-28 21:10:36 +02:00
599c6b604f added a devnull for bmg.cat because all call were showing not useful information 2021-07-28 20:54:21 +02:00
0f8a6d86ae renamed id to cup_id because of built-in function id 2021-07-28 20:47:26 +02:00
c9a8eb7cf4 renamed a keyword in docstring 2021-07-28 19:59:49 +02:00
f2807e6f58 renamed some parameter, all wszst call now have keyword argument only 2021-07-28 19:19:51 +02:00
2baf246599 edited default value 2021-07-27 21:33:02 +02:00
54b5dceb78 szs file where extracted in the local directory instead of the game directory 2021-07-27 21:32:26 +02:00
34ec530ddf wszst module wasn't working properly, removed wszst prefix when calling one of its submodule 2021-07-27 21:16:43 +02:00
742c1c3bfa moved NoGui to Game.py, moved restart from Gui.py to definition.py 2021-07-27 21:03:30 +02:00
1bb84fce32 removed temporary directory that were used with previous wszst subprocess call with cwd in the game path 2021-07-27 20:54:10 +02:00