1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-09 21:42:13 +00:00
Commit Graph

271 Commits

Author SHA1 Message Date
AnyOldName3
26be98966f Modernise Boost CMake stuff
Resolves https://gitlab.com/OpenMW/openmw/-/issues/8100

Also removes some old crud.
Hopefully the old crud is all:
* Handled automatically by CMake now we're using the modern approach.
* A hack-fix for a problem caused by not using the modern approach.
* Massively outdated so no longer necessary.

If it turns out this makes CI fail, I'll tweak things as necessary.

Changes that might not be wanted include:
* Getting rid of our BOOST_STATIC CMake option. In cases where the CMake config doesn't make the one correct choice from the build environment (i.e. because there's a choice) the CMake config exposes the option already.
  However, we were forcing this on for Windows, so that might matter.
  It seems to default to static on my machine even though I thought I read something suggesting otherwise, so we'll see how things go with that.
  If we eventually put CMake in charge of installing dependency DLLs this will be a moot point as we won't need to care.
* Bumping the minimum version of Boost to 1.70.0, as that's the first with working CMake config.
  It's from 2019, so plausibly there are distros too scared to use a library from five years ago as it can't legally drink in the US (although it could in limited quantities with parental supervision in the UK, as long as it's just something inconsequential like a single sip of beer).
2024-08-23 14:06:13 +01:00
elsid
5c3ae3d94c
Make loading and saving script record more robust
* Check the header presence before using it.
* Write the header based on the actual content.
2024-06-21 20:37:37 +02:00
Dave Corley
659874cb65 FEAT: Update land flag representation in ESMTool 2024-06-10 02:03:02 -05:00
elsid
044748725c
Add unit tests for saving and loading ESM3 Land 2024-06-07 00:22:24 +02:00
Evil Eye
a4625ea784 Deduplicate dialogue filter parsing 2024-04-11 22:29:33 +02:00
psi29a
e8038d353f Merge branch 'esmstuff' into 'master'
Use more decomposition, string_view, and implicit sizes in ESM code

See merge request OpenMW/openmw!3975
2024-03-27 19:40:18 +00:00
Mads Buvik Sandvei
320d8ef014 Spellcast related Lua API + spellcasting/activespell refactor 2024-03-25 13:50:23 +00:00
Evil Eye
5a0aed3a78 Use more decomposition, string_view, and implicit sizes in ESM code 2024-03-23 12:15:09 +01:00
psi29a
090e57b27c Merge branch 'esm3structs' into 'master'
Replace fixed size writeHNT calls with decomposition

See merge request OpenMW/openmw!3914
2024-03-15 11:02:42 +00:00
elsid
5859fd464c
Add option to disable precompiled headers
To be able to use ccache.

Also fix compilation errors appeared due to absence of precompiled
headers.
2024-03-08 02:11:51 +01:00
Evil Eye
cef59e8928 Replace fixed size writeHNT calls with decomposition 2024-03-03 19:39:19 +01:00
Evil Eye
958f70736f Implement auto calculated potion values 2024-03-02 12:45:48 +01:00
Dave Corley
b2b1c98396 fix(esmtool): Don't try to log a variable that doesn't exist 2024-02-22 03:01:29 -06:00
Evil Eye
75d0b6e355 Use decompose to handle AI packages and data 2024-02-11 22:06:58 +01:00
Andrei Kortunov
2575801ba2 Improve esmtool output 2024-01-22 09:52:32 +04:00
Andrei Kortunov
93e50cc7aa Improve format version in content selector 2024-01-01 18:16:58 +04:00
Evil Eye
e63933efa6 Use NAM9 for stack count 2023-12-31 17:12:46 +00:00
Evil Eye
37415b0382 Don't use getExact to read structs 2023-12-17 15:16:32 +01:00
Evil Eye
a9e6e63c4e Remove fixed size reads 2023-12-17 13:00:14 +01:00
Andrei Kortunov
6f68df9ac2 Avoid redundant copies 2023-12-06 23:45:25 +04:00
elsid
7a0d1a0868
Print uint8_t as unsigned 2023-11-03 21:23:37 +01:00
Evil Eye
514723a4e6 Use fixed size ints for Region and use an array for weather odds 2023-10-14 16:36:45 +02:00
Evil Eye
b99f58613e Remove signed/unsigned conversions in pathgrid loading code and use meaningful member names 2023-10-06 16:46:09 +02:00
Alexei Kotov
8d655054f1 esmtool: Print human-readable ESM4 file format version 2023-09-25 21:40:14 +03:00
Evil Eye
b59739a529 Replace more sized reads 2023-09-13 21:51:42 +02:00
Evil Eye
e660a9ca16 Assign StringRefIds to attributes 2023-08-20 10:28:46 +02:00
elsid
95a39b3281
Use sized types for land records members 2023-08-18 18:30:06 +02:00
psi29a
16628a766f Merge branch 'fallout4' into 'master'
ESM4 Loader: initial Fallout 4 support

See merge request OpenMW/openmw!3347
2023-08-18 16:22:40 +00:00
elsid
0d4833febb
Fix esmtool dump format 2023-08-17 11:22:05 +02:00
Alexei Kotov
9ec68e864c Load ESM4 idle animations correctly for every game 2023-08-17 04:33:01 +03:00
Petr Mikheev
5d54ca6fdb Refactor components/esm4 2023-08-05 13:12:24 +02:00
elsid
798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 2023-07-30 18:20:10 +02:00
psi29a
9410eed9e5 Merge branch 'bump-cmake-version' into 'master'
Bump required CMake version to 3.16

See merge request OpenMW/openmw!3242
2023-07-20 17:40:29 +00:00
psi29a
03dbe1c9f3 Merge branch 'stringrefidskills' into 'master'
Assign StringRefIds to skills

See merge request OpenMW/openmw!3146
2023-07-20 07:15:49 +00:00
AnyOldName3
34fcfb63cf Eliminate redundant version checks 2023-07-20 00:43:56 +01:00
Alexei Kotov
7e1e43f9c6 Allow GMSTs with empty EDID 2023-07-17 22:51:25 +03:00
Evil Eye
ac9378fa08 Replace Skill::mIndex with Skill::refIdToIndex 2023-07-13 18:55:21 +02:00
Evil Eye
73c2387708 Merge schools into skills 2023-06-26 20:42:52 +02:00
Evil Eye
bac6777fae Reduce the number of magic numbers 2023-06-18 16:21:06 +02:00
Evil Eye
6b7e7acd16 Replace a number of incorrect index types 2023-06-03 16:30:35 +02:00
Evil Eye
a5bb6c7d8d Use std::array in NPDTstruct52 2023-06-03 13:27:45 +02:00
Evil Eye
dd83da5eba Use std::array in FADTstruct 2023-06-03 13:11:49 +02:00
Evil Eye
7be005c9a5 Use std::array in CLDTstruct 2023-06-03 11:58:09 +02:00
Evil Eye
8a474b9807 Use std::array in RADTstruct 2023-06-03 10:45:32 +02:00
Evil Eye
9214ffb50b Replace some empty constructors and destructors with default 2023-05-29 13:37:19 +02:00
elsid
e537d1d0d4
Ignore missing localization string files by esmtool
Dawnguard.esm from Skyrim depends on files stored in Dawnguard.bsa which is not
processed by esmtool.
2023-05-22 22:09:08 +02:00
elsid
358b7ad3ec
Keep ESM4 localized strings in memory
Size of the files is in order of megabytes at max. Storing offset lookup table
to read from file on demand is less efficient than reading from memory for such
size.

Read and store offsets first. Sort them to read values sequentially. Memoize
last offset and value to avoid reading the same value twice. Use seek only when
current possition does not match offset. Optimize seek for short distance by
calling read instead.
2023-05-22 22:09:06 +02:00
elsid
ee3956e4f2
Print FormId as hex by esmtool dump 2023-05-17 22:59:34 +02:00
Evil Eye
8d8207b734 Refactor pathgrid indices to use size_t instead of int 2023-04-08 00:32:43 +00:00
elsid
87ac85223a
Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00