Commit graph

377 commits

Author SHA1 Message Date
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