Commit graph

430 commits

Author SHA1 Message Date
8d30d1238a added CTFileLayer (allow for patching a bmg file with the ctfile with all the tracks name) 2022-07-19 18:23:41 +02:00
47f191c9be moved isinstance and issubclass to the start of operator because they were being overwritten "by" is and "in" 2022-07-19 18:14:57 +02:00
5207e18928 get_ctfile now have a template option for the track name 2022-07-19 15:39:55 +02:00
db87f6cdd7 added LECODE patching (the installer can now output a working game) 2022-07-19 13:42:49 +02:00
ea35b09f44 implemented patch function in lec 2022-07-18 23:58:39 +02:00
92ea7be730 normalizing tracks now use threads 2022-07-18 23:16:50 +02:00
39bd521511 threaded decorator now return the thread 2022-07-18 19:51:20 +02:00
186aa55f4a custom tracks are now converted into szs in the cache 2022-07-18 19:11:11 +02:00
63cbe06bf3 original tracks are now moved to original-tracks in the .cache 2022-07-18 13:18:18 +02:00
8d0544a084 in order to stay constitent with the operation style, bmg-edit have been splitted into bmg-decode, bmg-encode and bmgtxt-edit. This will also allow more possibility. 2022-07-16 22:48:17 +02:00
43018abdca fixed an issue where a .d directory in a Patch would not get his .szs equivalent extracted if the subfile where all at the root level (causing an issue with the MKWF Font patch) 2022-07-16 22:17:56 +02:00
f8c04f62a4 renamed event to plugins 2022-07-16 21:43:18 +02:00
4ede6f0b6b renamed img-generator to img-edit, split PatchOperation.py into a whole module 2022-07-16 01:18:58 +02:00
de52540735 added overwrite mode for PatchFile (write only if already existing) and shortened the writing code to the write_patch function 2022-07-16 00:01:15 +02:00
04268a17a1 added seek(0) before writing a PatchFile 2022-07-15 20:25:04 +02:00
7463e9f10b fixed an issue where 2 lines of wiimm's tools where getting into the file content data 2022-07-15 17:25:22 +02:00
e87f3dacef ct_icons was generated horizontally instead of vertically 2022-07-15 17:24:34 +02:00
d7a8e3c40b changed stderr from PIPE to DEVNULL (debug data was getting written to stdout) 2022-07-15 16:42:28 +02:00
22adc6e29e removed a TODO 2022-07-15 16:41:52 +02:00
db9d32a450 removed useless condition where .exe was added to the tools_path if it was a windows system 2022-07-15 16:41:42 +02:00
5aeb864ef7 added a TODO about using regex to speed up the patch of bmg-edit 2022-07-15 00:31:28 +02:00
06a557dac7 removed unused argument documentation 2022-07-15 00:30:22 +02:00
4d071e190f extracted szs directory will now be repacked into szs files 2022-07-15 00:28:04 +02:00
7f5e709aec started implementing main.dol and StaticR.rel patching 2022-07-15 00:05:54 +02:00
ea79f49121 set stderr to subprocess.PIPE to hide it from the shell 2022-07-14 22:26:07 +02:00
1881d579c9 removed unused import 2022-07-14 22:13:16 +02:00
ebb74a61df implemented decode_data in img (tpl -> png) and added img-decode operation (useful if a texture modification need the original game image as a base) 2022-07-14 18:30:06 +02:00
5ddae33393 added main.dol patch for lecode, and optionnally region, server url and section (cheat code) 2022-07-14 17:06:59 +02:00
ce30419f8c added patch_data to str.py, allowing for main.dol modification 2022-07-14 16:41:05 +02:00
f11c8a5de2 added rename operation 2022-07-14 16:15:41 +02:00
ea4a1d293e fixed an issue where ImageFont couldn't read directly from a Path object, and set CT_ICON_SIZE constant to 128 instead of hardcoding 128 2022-07-14 15:49:03 +02:00
2f71615ef3 removed a already implemented example and a todo 2022-07-14 15:48:06 +02:00
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