Commit Graph

80 Commits

Author SHA1 Message Date
psi29a 3151452e25 Merge branch 'pandorasbox' into 'master'
Launcher, content selector: support ESM4 files, allow using game files as addon files

See merge request OpenMW/openmw!3219
2023-08-08 08:54:10 +00:00
Andrei Kortunov d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
Alexei Dobrohotov 5adda00f5e Content selector: allow using non-primary game files as addon files 2023-07-11 11:07:37 +03:00
Alexei Dobrohotov d589b46f96 Launcher, content selector: support ESM4 files
Cell name loader ignores ESM4 files
2023-07-11 05:31:58 +03:00
fredzio 37c4587ca4 Display directories that contains omwscripts.
Display newly added omwscripts as new.
2023-03-30 21:32:01 +02:00
elsid 8dd6b16fee
Avoid double lookup 2023-03-21 09:34:26 +01:00
elsid 080700f8fe
Name all custom ESM format versions and add tests 2023-02-10 19:54:15 +01:00
Andrei Kortunov 5836d27928 Fix ContentSelector usage with non-ASCII paths 2023-02-06 13:36:02 +04:00
Andrei Kortunov 792feae39e Do not use deprecated implicit conversion 2023-01-15 20:23:18 +04:00
clang-format-bot ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
jvoisin 8b9ed57348 Clean up Qt includes 2022-06-17 11:56:54 +02:00
fredzio bab5e56768 Make the launcher dara directory and bsa list play nicer with dark
themes.

Known issue: the padding icon for disabled data directories is of wrong
color.
2022-04-28 15:19:54 +02:00
fredzio b88d32ff5b Add 3 tabs in the "Data Files" page
1 with the data directories
2 with the BSA archives
3 with the content selector

When user select a directory to be added, first we walk the directory
hierarchy to make a list of all potential data= entries. If we find
none, the selected directory is added.

If more than one data directory is found, user is presented with a
directory list to check which one(s) are to be added.

Directories containing one or more content file are marked with an icon.

data= and fallback-archive= lines are handled like content= lines:
- they are part of the profile in launcher.cfg, prefixed by the profile
name
- they are updated in openmw.cfg when profile is selected / created

Directories can be moved in the list by drag and drop or by buttons.
Insertion is possible anywhere in the list.
Global data path and data local are shown but are greyed out, as they
are always included.

No attempt is made to ensure that the user choice are valid
(dependencies, overwrite of content).

After a profile is loaded, any added content is highlighted in green.
2022-04-23 09:54:45 +02:00
elsid c044bef6a7
Add StatelessUtf8Encoder to support caller provided buffer for output 2022-02-14 23:19:49 +01:00
Bret Curtis d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
2022-01-23 17:04:48 +01:00
Petr Mikheev ded8997362 Avoid problems if `builtin.omwscripts` is above `Morrowind.esm` in content list. 2021-11-19 20:37:21 +01:00
Evil Eye 099cd8a20c Force alphabetical order per data dir 2021-11-09 16:47:42 +01:00
Evil Eye a3e039d862 Explicitely sort by file name after adding all data dirs 2021-11-07 14:15:30 +01:00
Evil Eye ad44142dda Modify the content file sorting algorithm to finish in finite time when encountering circular dependencies 2021-11-04 20:41:26 +01:00
Petr Mikheev 37386f417e Support *.omwscripts in openmw-launcher 2021-10-29 20:09:47 +02:00
Petr Mikheev 413ac067ec Allow creating omwaddons without a dependency on an omwgame 2021-09-26 17:44:28 +02:00
jvoisin 9db7d0278a Sprinkle some const ref 2021-06-25 21:54:35 +02:00
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
elsid 045ceeac11
Replace foreach macro by for-loop 2019-10-20 20:08:16 +02:00
Capostrophic 0fcb75fb21 Achieve CHIM and get rid of the loop 2019-05-31 20:01:46 +03:00
Capostrophic 5cd781b3eb Experimental folder handling rewrite 2019-05-31 20:01:46 +03:00
Capostrophic 2fbed21f83 Avoid a memory leak 2019-05-31 20:01:46 +03:00
Capostrophic e14ada8f36 Make file name comparison case-insensitive 2019-05-31 20:01:46 +03:00
Capostrophic ebe5448816 Content selector: drop duplicates of the added file (bug #2395) 2019-05-31 20:01:46 +03:00
Alexander Kolodeev 7c3ef213ce Fix error when create new OpenCS addon 2018-12-19 18:47:02 +03:00
Andrei Kortunov ad36834671 Fix some compiler warnings 2018-11-08 13:16:04 +04:00
Capostrophic d967983f5c Assume Morrowind.esm dependency for dependency-less content addons (fixes #2829) 2018-04-29 14:56:38 +03:00
Allofich 3420121c3f Fix shadowing warnings 2016-11-13 23:20:51 +09:00
scrawl daa94cc50e Fix cppcheck warnings 2016-01-03 20:19:38 +01:00
Arthur Moore c66fd69c47 Fix #include error 2015-11-27 21:20:54 -05:00
cc9cii cccf6c6bdd Rebuild the list of available content files when opening the open/new dialogues. Should resolve Bug #2644. 2015-06-16 12:48:45 +10:00
scrawl c04f6cf167 Remove unused code 2015-06-12 01:58:13 +02:00
scrawl f7ecda68c9 Fix for unicode filenames in ContentModel (Fixes #2451) 2015-03-16 15:34:00 +01:00
cc9cii 1ee6153940 Remove unnecessary boolean passing between objects. 2015-03-02 06:51:31 +11:00
cc9cii c4625b94e5 Fix OpenCS crashing since commit 9d6145 by showing gamefiles if the content selector was created from OpenCS. 2015-03-01 12:52:43 +11:00
dteviot 54e3ebde63 addon list in launcher shows addon files with no dependencies (Fixes #2348)
Also, game files must end with ".esm" or ".omwgame".
2015-02-28 17:13:21 +13:00
dteviot 9d61457956 AddOn files can be checked if game file is checked, but dependencies do not exist. 2015-02-25 20:54:52 +13:00
dteviot 6878e317a7 launcher: decouple Combo Box model from Plug-ins model.
fixes bug reported by scrawl
1. openmw.cfg had content files in order 'Bloodmoon.esm, Tribunal.esm, Morrowind.esm'
2. Blank_ESM_2.0.esm is in the Data Files directory
3. Do an ini file import.
4. Imported profile will have Blank_ESM_2.0.esm as the game file.  Should be Morrowind.esm.

Root cause: Game File combo box and Plugins Grid shared same data model, so changing plug-in file order also changed order of Game File combo box.
2015-02-24 20:06:06 +13:00
dteviot 63af9d848a Add constraint: Bloodmoon.esm requires Tribunal.esm. 2015-02-23 19:58:31 +13:00
dteviot 6dc202cba3 Removed unneeded parameter from ContentModel::setContentList() 2015-02-23 19:41:41 +13:00
scrawl 03257ecae5 QString encoding fix 2015-02-09 20:15:41 +01:00
scrawl 4c6b9f8266 Remove redundant decoder in ContentModel 2015-02-06 01:27:17 +01:00
scrawl ab9100fa90 Prevent dropping item on itself in ContentModel (Fixes #2334)
Also improves the drop indicator, it is now shown in between items instead of on an item.
2015-02-05 04:18:43 +01:00
Marc Zinnschlag fa4718283d Merge remote-tracking branch 'scrawl/contentselector' 2015-01-21 15:23:38 +01:00
dteviot 71700d2cb1 Bugfix: OpenCS segfault when plug-in dependency not found.
When a file that a plug-in depends on cannot be found, the OpenCS file dialog crashes.
Similar problem exists in omwlauncher's "Data Files" dialog.
2015-01-18 11:55:58 +13:00