aboutsummaryrefslogtreecommitdiff
path: root/launcher
AgeCommit message (Collapse)Author
2022-09-03fix: improve handling of unrecognized pack formatsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03fix: removing mods with their metadata as wellflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03fix: crash when adding resource packs directly in the folderflow
This fixes an issue in which, when adding a new resource pack externally to PolyMC, when the resource pack view was open, would crash poly. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03fix: race condition on ResourceFolderModel testsflow
This (hopefully) fixes the race contiditions that sometimes got triggered in tests. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: move resource pack images to QPixmapCacheflow
This takes care of evicting entries when the cache gets too big for us, so we can add new entries without much worries. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat(tests): add tests for resource pack parsingflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03refactor: move resource pack file parsing utilities to separate namespaceflow
This makes it easier to use that logic in other contexts. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: add image from pack.png to resource packsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: add resource icon to InfoFrameflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03fix: filtering in regex search in resource packsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03fix: sorting by pack formatflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: add basic resource pack parsing of pack.mcmetaflow
This parses the pack format ID and the description from the local file, from both a ZIP and a folder, and hooks it into the model. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: modify InfoFrame and ResourcePackPage to show ResourcePack infoflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: add more resource pack infoflow
Adds pack format id and description to ResourcePack, that'll be parsed from pack.mcmeta. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-03feat: allow specifying factory for resources in BasicFolderLoadTaskflow
This allows us to hook our own resource type, that possibly has more content than the base Resource, to it. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-09-01Merge pull request #1095 from flowln/ensure_file_path_in_overrideSefa Eyeoglu
2022-08-31Merge pull request #1067 from Scrumplex/classpath-epicnessflow
Move classpath definition into NewLaunch itself
2022-08-31Merge pull request #1080 from flowln/eternal_cacheflow
Never invalidate libraries cache entries by time elapsed
2022-08-28fix: make MultipleOptionsTask inherit directly from SequentialTaskflow
It's not a good idea to have multiple concurrent tasks running on a sequential thing like this one. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28feat(test): add more tests to Tasksflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28refactor: make NetJob inherit from ConcurrentTask as well!flow
Avoids lots of code duplication Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28refactor: make MultipleOptionsTask inherit from ConcurrentTask tooflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28refactor: make SequentialTask inherit from ConcurrentTaskflow
In a way, sequential tasks are just concurrent tasks with only a single task running concurrently, so we can remove LOTS of duplicated logic :) Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: abort logic running subsequent tasks anyways some timesflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: 'succeeded while not running' spam in ConcurrentTaskflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: bogus progress update when the total step progress was zeroflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: only try to start tasks that are really thereflow
This fixes an annoying issue where concurrent tasks would try to start multiple tasks even when there was not that many tasks to run in the first place, causing some amount of log spam. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: ensure destination file paths exist when overriding foldersflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28fix: Mod type enum -> Resource type enumflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-28Merge pull request #1052 from flowln/resource_modelSefa Eyeoglu
2022-08-28Merge pull request #965 from flowln/fat_files_in_memorySefa Eyeoglu
Refactor a bit EnsureMetadataTask and calculate hashes in a incremental manner
2022-08-24fix: fix urls on ftb legacyDioEgizio
Signed-off-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-08-21fix: make FML libraries cache eternalflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-21fix: make libraries cache eternalflow
This restores the behavior prior to PR #920. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-21feat: add eternal cache entriesflow
Those are entries that don't get stale over time, so we don't invalidate them if they 'expire'. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20fix: LGTM warningsflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20change: add enable/disable to resourcesflow
TIL that zip resource packs, when disabled, actually have the effect of not showing up in the game at all. Since this can be useful to someone, I moved the logic for it to the resources. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor+fix: add new tests for Resource models and fix issuesflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: simplify Mod structureflow
No need to keep track of pointers left and right. A single one already gives enough headaches! Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20fix(tests): add timeout on ModFolderModel's testsflow
If the update never ends, the signal is not emitted and we become stuck in the event loop forever. So a very lenient timer is added to prevent that. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20fix: don't give shared pointer to obj. external to the modelflow
It causes some weird problems and adds refcounting overhead. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: adapt rest of the codebase to the new resource modelflow
In order to access the ModFolderModel from the ModFolderPage, i created a new m_model for the correct type, shadowing the m_model of type ResourceFolderModel. This creates two shared_ptr references to the same object, but since they will have the same lifetime, it doesn't generate a memory leak. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: make Resource Pack model inherit from ResourceFolderModelflow
Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: move more tied logic to model and move logic to the resourcesflow
This moves the QSortFilterProxyModel to the resource model files, acessible via a factory method, and moves the sorting and filtering to the objects themselves, decoupling the code a bit. This also adds a basic implementation of methods in the ResourceFolderModel, simplifying the process of constructing a new model from it. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: move things around in the mod modelflow
Makes the method order in the cpp file the same as in the header file. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: move general code from mod model to its own modelflow
This aims to continue decoupling other types of resources (e.g. resource packs, shader packs, etc) from mods, so that we don't have to continuously watch our backs for changes to one of them affecting the others. To do so, this creates a more general list model for resources, based on the mods one, that allows you to extend it with functionality for other resources. I had to do some template and preprocessor stuff to get around the QObject limitation of not allowing templated classes, so that's sadge :c On the other hand, I tried cleaning up most general-purpose code in the mod model, and added some documentation, because it looks nice :D Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20refactor: move general info from Mod to Resourceflow
This allows us to create other resources that are not Mods, but can still share a significant portion of code. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20feat: make Task a QRunnableflow
This makes it possible to run a task in another thread. I added a variable to toggle debug prints because they seem to trigger an assertion on Qt internals when the task in on another thread. Of course, this isn't awesome, but can wait until we improve our logging. Signed-off-by: flow <flowlnlnln@gmail.com>
2022-08-20fix: distinguish CoremodsSefa Eyeoglu
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-08-20Merge pull request #878 from flowln/lazy_settingsSefa Eyeoglu