Commit graph

444 commits

Author SHA1 Message Date
b035dcb6b7 added a todo 2022-08-19 19:29:59 +02:00
265f327302 safe_eval now allow method and function 2022-08-19 19:08:50 +02:00
b67517dc59 merged OriginalTrack and Slot to avoid confusion with the Track module 2022-08-19 18:50:33 +02:00
49c8353252 Slot is now a dataclass instead of a simple typehint (should now allow support for the abbreviated slot like LC, MMM, ...) 2022-08-18 23:04:01 +02:00
3bfcfe53e4 OriginalTrack is now a dataclass for better readability 2022-08-18 22:22:12 +02:00
025d985316 ModConfig have been converted to a dataclass to improve readability (no redundant __init__, __slots__ and from_json) 2022-08-18 21:34:27 +02:00
95f3943b02 AbstractModSettings.get now return an AbstractModSettings object instead of a dictionary of AbstractModSettings 2022-08-18 19:45:12 +02:00
6d5dae63af made the mod_settings window wider 2022-08-17 22:00:36 +02:00
014bd74d4d error log now contains the installer version 2022-08-17 21:41:15 +02:00
1b579bec4c added a "Check" type for mod_settings (used for balancing option in MKWF) 2022-08-17 20:49:41 +02:00
ba4980e0b9 fix: If parameter where missing in StrEditor, the installer would still try to evaluate it in safe_eval, resulting in a crash 2022-08-17 19:42:41 +02:00
adec26c4c1 added note for settings that will enable the cheat mode 2022-08-17 19:15:28 +02:00
da9ec18ef3 mod_settings can now have a description from message.json 2022-08-17 19:00:35 +02:00
433bf08b9b added translate_external for message that need translation from outside of the installer. 2022-08-17 18:43:40 +02:00
d3ca353ecd some fields of Rename and StrEditor patch now support MultipleSafeEval 2022-08-16 21:50:28 +02:00
8edf1d60d2 fix: opening and closing the source game or destination game window without selecting a file would default to the installer path instead of nothing 2022-08-16 21:31:42 +02:00
ec94ddece8 the code is now fully translatable 2022-08-15 23:06:23 +02:00
65e7fb7118 fixed TrackGroup not being usable because of the get_ctfile that was missing argument 2022-08-15 22:02:55 +02:00
8c3d5c4005 added readthedocs help button 2022-08-15 20:40:59 +02:00
a8b454baa8 added the text for the main progress bar 2022-08-15 15:02:08 +02:00
3ad596f8c6 fixed the progress bar interderminate mode not being animated 2022-08-15 14:15:24 +02:00
c0915ae13e added a 2nd progress bar 2022-08-15 14:14:53 +02:00
917f491ad1 security: safe_eval now cache depending on the env to avoid any potential issue and calling a method from an args or trying to modify it is disabled 2022-08-15 12:00:18 +02:00
8afd7e7926 safe_eval and multiple_safe_eval are now 20x faster (~2.5s -> ~0.13s) 2022-08-15 10:58:36 +02:00
89de19c723 safe_eval now cache return_lambda=True callable 2022-08-15 00:03:55 +02:00
6ecf752b6d reorganised PatchObject, PatchFile and PatchDirectory to make them more readable. mode="edit" have been replaced by source="game" | "patch". "overwrite" -> "replace". 2022-08-14 21:52:07 +02:00
781e564dd2 implemented SzsEdit to allow easier track modification (changing laps count, ...) 2022-08-14 19:17:26 +02:00
20a7abadaf Sorting and filtering settings don't apply to arena, so remove them from the previews 2022-08-14 15:02:38 +02:00
1c55ced628 added _PREPATCH. Same as _PATCH, but is applied before the lecode patch. 2022-08-14 13:55:51 +02:00
506ee740f5 added TemplateSafeEval, TemplateMultipleSafeEval and Env type hint 2022-08-14 12:47:35 +02:00
923f696e24 fixed 2 wrong type hint about layer 2022-08-14 11:52:49 +02:00
17edaa3ea1 Some Exception have been moved to their correct scope instead of keeping them at a higher one 2022-08-14 11:46:40 +02:00
0bb12a0835 now using TYPE_CHECKING instead of using dummy type int 2022-08-14 11:45:34 +02:00
95c9b4a1e2 fixed an issue with arenas name not being correctly patched 2022-08-14 09:10:02 +02:00
922669fdaf Fixed an issue where in case of name conflict, the compressed game would add a number suffix after the extension "MKWF v0.12.wbfs (1)" instead of "MKWF v0.12 (1).wbfs" 2022-08-13 22:49:04 +02:00
71229d2e2e fixed a typo (koppa -> koopa) 2022-08-13 22:27:49 +02:00
a51d6f2173 implemented Arena (game text are missing) 2022-08-13 12:16:37 +02:00
8eda2b4f3d implemented EDIT so that game's name and id6 can now be modified 2022-08-12 19:18:13 +02:00
94dddac6d4 implemented Game conversion to WBFS / ISO / CISO after installing the mod 2022-08-11 22:57:41 +02:00
cd61ce59c4 fixed "tags_template" to "tags_templates" 2022-08-11 18:56:59 +02:00
f13b18aa57 fully implemented the AbstractTrack and DefaultTrack, removing the necessity of default_track in mod_config.json 2022-08-11 18:56:49 +02:00
99287bbd56 started making a AbstractTrack class to implement more type of "track".
Removed get_suffix and get_prefix to replace them with get_tag_template and tags_template in mod_config.json
2022-08-10 22:33:10 +02:00
7d15d98999 error in safe_eval now raise SafeEvalException instead of Exception 2022-08-08 18:37:12 +02:00
e4ea183c7f changed compile filename from <string> to <safe_eval> for the errors 2022-08-08 18:06:25 +02:00
cd13753960 lambda was already disabled in the la case 2022-08-08 18:03:53 +02:00
746b9f91f2 added is_modified to ModSettings type 2022-08-07 23:06:10 +02:00
47da0f0be4 global_settings can now be modified in mod_config.json (to change default value for example), but you can't add your own global_settings. Merged track_new_if with override_randm_rew to the global settings replace_random_new 2022-08-07 23:04:06 +02:00
453b631325 clicking on any mod settings widget will automatically enable the settings, instead of needing to enable it manually. 2022-08-07 20:47:26 +02:00
e46acba9a6 there is now a default options in the settings, allowing for default value if the option is disabled (instead of always None) 2022-08-07 20:14:46 +02:00
d3ff94b940 the settings button wasn't disabled when installing the mod 2022-08-07 18:37:14 +02:00