Commit graph

455 commits

Author SHA1 Message Date
63bb989b05 adapted MKWF to latest change 2022-08-20 18:47:25 +02:00
32efccbd60 added @ operator shortcut for MKWColor to color a text 2022-08-20 18:11:45 +02:00
92f32aec80 calling method is only enabled for constant or env function. Disabled list comprehension. Function from the env. Added a test module for safe_eval too 2022-08-20 18:08:17 +02:00
601342ab20 can't use getattr to get method 2022-08-20 11:21:05 +02:00
056088f035 deepcopy have been moved to safe_function.py and can no longer copy a function / method 2022-08-20 11:10:23 +02:00
970f18f503 trying to translate without loading the translation file will now return the text key instead of raising an error 2022-08-20 10:30:16 +02:00
fb8d20c08f some of the Track class now remember the mod_config object for easier call. default_track_attributes have been added to set default value of the track attribute object to avoid unreadable safe eval of getattr 2022-08-20 00:24:30 +02:00
622f43c66e safe_eval now show the template in the error traceback 2022-08-20 00:00:07 +02:00
8e801329e0 if the traceback is too long in the gui, only keep the 5 first and 5 last lines of the traceback 2022-08-19 23:58:47 +02:00
92231bde4e moved Slot and MKWColor to mkw.collection 2022-08-19 20:22:54 +02:00
443d16b28c MKWColor is now a dataclass to improve readability 2022-08-19 20:16:48 +02:00
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