1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-30 20:15:35 +00:00
Commit graph

7414 commits

Author SHA1 Message Date
Kindi
532230254b add documentation 2023-08-28 02:37:52 +08:00
Kindi
92842cedf5 len,codepoint,offset 2023-08-27 16:12:52 +08:00
Petr Mikheev
32f3a16db3 Change FormId::toString to be consistent with RefId. Remove FormIdRefId. 2023-08-27 09:55:06 +02:00
elsid
816d3772b9
Cache absent land object
This allows to save on lookup in store.
2023-08-27 01:32:36 +02:00
elsid
eba553821b
Use std::vector for LandCache implementation 2023-08-27 01:32:36 +02:00
Evil Eye
10f1e9a4e0 Load the lowest faction reaction for every faction 2023-08-25 16:57:27 +02:00
psi29a
5b3e2fbf1c Merge branch 'clickbait' into 'master'
Assign StringRefIds to attributes

See merge request OpenMW/openmw!3256
2023-08-21 18:59:44 +00:00
psi29a
86f15fa194 Merge branch 'ui' into 'master'
Control GUI from Lua

See merge request OpenMW/openmw!3236
2023-08-21 11:32:24 +00:00
psi29a
7233277d27 Merge branch 'compressedbsagozoomzoom' into 'master'
Rewrite compressed BSA loading

See merge request OpenMW/openmw!3361
2023-08-21 09:29:28 +00:00
psi29a
1c2f92cac9 Merge branch 'use_command_keys' into 'master'
Remove special handling for Mac command key, since MyGUI now switches automatically

See merge request OpenMW/openmw!3363
2023-08-21 09:27:42 +00:00
Zackhasacat
349bad4f98 Remove special handling for Mac command key, since MyGUI now switches automatically 2023-08-21 09:27:42 +00:00
psi29a
cf950c2e4a Merge branch 'sizeable' into 'master'
Replace more explicitly sized reads and variable width integers

See merge request OpenMW/openmw!3364
2023-08-21 09:27:32 +00:00
psi29a
42469c4b54 Merge branch 'crash_temporary_ui_element' into 'master'
Fix crash #7469

See merge request OpenMW/openmw!3367
2023-08-21 09:25:30 +00:00
Petr Mikheev
87eacf774a Control GUI modes from Lua 2023-08-20 17:49:56 +02:00
Petr Mikheev
f86a45d60a [Lua] add __len metafunction for readonly objects 2023-08-20 17:49:56 +02:00
uramer
e1cbeb0d3b Don't free ui element's shared_ptr right before destroying it 2023-08-20 16:02:38 +02:00
psi29a
c5789b5543 Merge branch 'Fix-BA2GNRLFile-GetFile' into 'master'
Fix BA2 general reading file

See merge request OpenMW/openmw!3365
2023-08-20 11:52:41 +00:00
psi29a
ab798be320 Merge branch 'fix_scrollbars' into 'master'
Do not use deprecated MyGUI properties

Closes #5896

See merge request OpenMW/openmw!3320
2023-08-20 11:04:23 +00:00
Alexei Kotov
ab4ed390fc Rewrite compressed BSA loading 2023-08-20 13:19:32 +03:00
Evil Eye
62f47acf6b Replace more explicitly sized reads and variable width integers 2023-08-20 11:34:05 +02:00
Evil Eye
e660a9ca16 Assign StringRefIds to attributes 2023-08-20 10:28:46 +02:00
psi29a
11ae1a1fcb Merge branch 'nifstreamingservice' into 'master'
NIFStream rewrite/refactoring/rewhatever

See merge request OpenMW/openmw!3281
2023-08-19 22:17:25 +00:00
elsid
bda29819cf
Reduce include dependency for land records 2023-08-19 01:30:17 +02:00
elsid
53c3f95ac8
Avoid redundant copy for LandData underlying data 2023-08-19 01:30:17 +02:00
elsid
955790dc31
Split ESM::Land::loadData 2023-08-19 01:30:17 +02:00
elsid
a027cd898b
Use only cell position to detect cell change 2023-08-19 01:30:17 +02:00
elsid
28614730da
Pass land reference to LandObject constructor 2023-08-19 01:30:17 +02:00
elsid
e6f35373b5
Remove ESM::LandObject dependency on ESM::Land 2023-08-19 01:30:16 +02:00
elsid
8a88a2d61f
Make ESM::LandData::mLoadFlags private 2023-08-19 01:30:16 +02:00
elsid
a17cb0ff0e
Remove unused ESM4::Land fields 2023-08-19 01:30:16 +02:00
elsid
401e748aa0
Avoid redundant casts and use static_cast 2023-08-19 01:30:16 +02:00
elsid
9aa9ce48c9
Use proper naming style for ESM4::Land static variables 2023-08-19 01:30:16 +02:00
elsid
e4e857f51f
Remove redundant ESM4::Land default constructor 2023-08-19 01:30:16 +02:00
elsid
bd426bac5c
Use static_cast 2023-08-19 01:30:16 +02:00
elsid
6f3b7072ac
Change mWnam type to std::array 2023-08-19 01:30:16 +02:00
elsid
0cb37742cb
Replace Land::swap by move assignment 2023-08-19 01:30:15 +02:00
elsid
c88e9dee27
Use unique_ptr to store LandData in ESM::Land 2023-08-19 01:30:15 +02:00
elsid
d0f8ab5767
Move getLandData definitions to class definition 2023-08-19 01:30:15 +02:00
elsid
07599d0bb0
Move condLoad to unnamed namespace 2023-08-19 01:30:13 +02:00
Cédric Mocquillon
3b1d6a7e62 Use the right size 2023-08-18 21:32:49 +02:00
elsid
dad0cb3349
Move transposeTextureData to unnamed namespace 2023-08-18 18:30:06 +02:00
elsid
a2f2b1a3d1
Remove redundant ESM::Land and LandData default constructors 2023-08-18 18:30:06 +02:00
elsid
95a39b3281
Use sized types for land records members 2023-08-18 18:30:06 +02:00
elsid
f15ccec0d9
Remove unused ESM::Land functions 2023-08-18 18:30:05 +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
psi29a
2b78552dac Merge branch 'themostfashionablelandintes5' into 'master'
Only use loaded data for ESM4 terrain

See merge request OpenMW/openmw!3352
2023-08-18 16:21:33 +00:00
Alexei Kotov
4b38db4a69 Only use loaded data for ESM4::Land
Prevents broken vertex colors in cells that lack vertex colors
2023-08-18 16:48:55 +03:00
elsid
db16caa963
Support yaml-cpp 0.8.0 2023-08-18 15:08:00 +02:00
Petr Mikheev
4211665ede Merge branch 'sounds' into 'master'
Lua bindings for sound functions

See merge request OpenMW/openmw!3247
2023-08-18 09:15:24 +00:00
psi29a
5389d32b5c Merge branch 'applycontentfile_coverity' into 'master'
Fix coverity warning in esm3/globalscript.cpp

See merge request OpenMW/openmw!3325
2023-08-18 08:22:26 +00:00
psi29a
adb5774aa9 Merge branch 'optimize_get_blendmaps' into 'master'
Optimize land lookup on blendmaps sampling

See merge request OpenMW/openmw!3333
2023-08-18 08:22:16 +00:00
psi29a
e21e3a0d46 Merge branch 'time' into 'master'
Pause/resume the game in Lua scripts

See merge request OpenMW/openmw!3317
2023-08-18 08:22:04 +00:00
Alexei Kotov
1bd2667c66 Rename REFR::XTEL transition interior field 2023-08-17 23:28:35 +03:00
Alexei Kotov
1a62b2e6b5 ESM4: use switch-cases when relevant 2023-08-17 22:14:40 +03:00
Alexei Kotov
42c6b3b993 Use VER_100 named constant, note precautions 2023-08-17 21:36:49 +03:00
Kindi
6d02c31720 utf8.codes 2023-08-18 00:01:11 +08:00
Alexei Kotov
4e156f2a7d NIFStream: improve handling of ranges and aligned types 2023-08-17 09:15:45 +03:00
Alexei Kotov
57144accf6 Phase out NIFStream::get[Types] 2023-08-17 09:15:45 +03:00
Alexei Kotov
e7bbfed1fd Read BSTriShape bounds into array 2023-08-17 09:15:45 +03:00
Alexei Kotov
6dca3e68a6 NIFStream: don't read vectors of zero length 2023-08-17 09:15:45 +03:00
Alexei Kotov
d078907dcb NIFStream: rewrite loading for everything
Replace overloading with read() template specializations for every type that needs specific handling
Make use of the new read() or get() in all methods
Move complex string-related methods to implementation
2023-08-17 09:15:45 +03:00
Alexei Kotov
ce13f05187 NIFStream: clean up comments 2023-08-17 09:15:45 +03:00
Alexei Kotov
e8f9a918ae NIFStream: use the right function for readArray 2023-08-17 09:15:45 +03:00
Alexei Kotov
4f549c267f NIFStream: rename input stream and file methods
To conform to modern style conventions
2023-08-17 09:15:45 +03:00
Alexei Kotov
62d643f668 NIFStream: Drop LittleEndian from reading methods
This is just noise. We don't clarify reading endianness for any other file format.
2023-08-17 09:15:45 +03:00
Alexei Kotov
aed440ce64 Clean up error handling in NIFStream reading
No particular reason to introduce is_arithmetic specifically for 16-bit floats, there's no significant code duplication
Bypassing getBoolean() could be error-prone for records that are shared between pre-4.2 and post-4.2 formats
2023-08-17 09:15:45 +03:00
Alexei Kotov
9da6ce23e9 Maybe load FO4 sound descriptor records 2023-08-17 05:30:39 +03:00
Alexei Kotov
da9a834ce8 Maybe load FO4 body part data records 2023-08-17 04:54:06 +03:00
Alexei Kotov
f3c1b0e7eb Load FO4 form lists 2023-08-17 04:43:47 +03:00
Alexei Kotov
9ec68e864c Load ESM4 idle animations correctly for every game 2023-08-17 04:33:01 +03:00
Alexei Kotov
07c85addb2 Cleanup 2023-08-17 02:14:22 +03:00
Alexei Kotov
f7a85be504 Maybe load FO4 armor addon records
You still can't load into the game because of some unclear localization string problem.
But if getLocalizedString doesn't throw an exception, then it'll work. Sort of.
2023-08-17 02:14:22 +03:00
Alexei Kotov
f302f06e98 Maybe load FO4 dialogue records
The entirety of Fallout4.esm can be read now (well, in esmtool, at least)
2023-08-17 02:14:22 +03:00
Alexei Kotov
b7efdc4add Use the correct filenames for FO4 string tables 2023-08-17 02:14:22 +03:00
Alexei Kotov
cb7e9f4a01 Maybe load FO4 quest records 2023-08-17 02:14:22 +03:00
Alexei Kotov
db66149891 Skip LAND::MPCD subrecord 2023-08-17 02:14:22 +03:00
Alexei Kotov
a2e185d0f9 Maybe load FO4 worldspace records 2023-08-17 02:14:22 +03:00
Alexei Kotov
47af96eb12 Generalize extended storage subrecord handling 2023-08-17 02:14:22 +03:00
Alexei Kotov
ed75c0b311 Maybe load FO4 placed grenade subrecords 2023-08-17 02:14:22 +03:00
Alexei Kotov
3b3545fa58 Fix cell grid and owner subrecord loading for FO4 2023-08-17 02:14:22 +03:00
Alexei Kotov
ae828064a4 ESM4::NAVM: fix loading of NVNM after XXXX 2023-08-17 02:14:22 +03:00
Alexei Kotov
8822df7e4a Maybe load FO4 placed NPC records 2023-08-17 02:14:22 +03:00
Alexei Kotov
0a514db0b5 Skip more FO4 navmesh data 2023-08-17 02:14:22 +03:00
Alexei Kotov
10e841b00f Fix formatting 2023-08-17 02:14:22 +03:00
Alexei Kotov
95488d6ec9 Maybe load FO4 cell references 2023-08-17 02:14:22 +03:00
Alexei Kotov
5a73b351e2 Maybe load FO4 cell records 2023-08-17 02:14:22 +03:00
Alexei Kotov
2b1ca84cb2 Skip FO4 navmesh data 2023-08-17 02:14:22 +03:00
Alexei Kotov
6c82aef29f Maybe load FO4 region records 2023-08-17 02:14:22 +03:00
Alexei Kotov
bcaa402315 Maybe load FO4 levelled item records 2023-08-17 02:14:22 +03:00
Alexei Kotov
1b29077206 Maybe load FO4 terminal records 2023-08-17 02:14:22 +03:00
Alexei Kotov
32f8d08dd3 Maybe load FO4 note records 2023-08-17 02:14:22 +03:00
Alexei Kotov
cfa19cf719 Maybe load FO4 levelled actor records 2023-08-17 02:14:22 +03:00
Alexei Kotov
4dc4add62d Maybe load FO4 NPC records 2023-08-17 02:14:22 +03:00
Alexei Kotov
e9f9da98cf Maybe load FO4 ammunition records 2023-08-17 02:14:21 +03:00
Alexei Kotov
dcb791083e Maybe load FO4 weapon records 2023-08-17 02:14:21 +03:00
Alexei Kotov
ad8d691352 Load object templates in FO4 NPC and weapon records 2023-08-17 02:14:21 +03:00
Alexei Kotov
a188a90023 Maybe load FO4 furniture records 2023-08-17 02:14:21 +03:00
Alexei Kotov
4237da5dfd Maybe load FO4 flora records 2023-08-17 02:14:21 +03:00
Alexei Kotov
a9454fdc0a Improve FO3 idle marker record loading 2023-08-17 02:14:21 +03:00
Alexei Kotov
90d4f375b8 Maybe load FO4 moveable static records 2023-08-17 02:14:21 +03:00
Alexei Kotov
4d3edec59f Maybe load FO4 static collection records 2023-08-17 02:14:21 +03:00
Alexei Kotov
a3069ea863 Maybe load FO4 misc records 2023-08-17 02:14:21 +03:00
Alexei Kotov
f2449df2f7 Maybe load FO4 light records 2023-08-17 02:14:21 +03:00
Alexei Kotov
24d7a096ba Maybe load FO4 door records 2023-08-17 02:14:21 +03:00
Alexei Kotov
2b9b05c010 Maybe load FO4 container records 2023-08-17 02:14:21 +03:00
Alexei Kotov
60813345ae ESM4: Acknowledge all model data records 2023-08-17 02:14:15 +03:00
Alexei Kotov
d9ebdc6e41 Maybe load FO4 book records 2023-08-17 02:12:32 +03:00
Alexei Kotov
aedcc28294 Maybe load FO4 armor records 2023-08-17 02:12:32 +03:00
Alexei Kotov
db6f76fea8 Skip more CIS1/CIS2 and skip all PRTN subrecords
Avoid formatting problems with newly added skipped FO4 blocks
2023-08-17 02:12:32 +03:00
Alexei Kotov
3118800dbd Skip ESM4 destructible data for all relevant records 2023-08-17 02:12:32 +03:00
Alexei Kotov
271c14030a Maybe load FO4 ingestible records 2023-08-17 02:12:32 +03:00
Alexei Kotov
0efc9865f6 Alphabetize SubRecordTypes and include all subrecords used in FO4
SUA_BTXT => SUB_BTXT
2023-08-17 02:12:32 +03:00
Alexei Kotov
d15f301193 Load FO4 activator records 2023-08-17 02:12:32 +03:00
Alexei Kotov
a2ed295f1f Update ESM4 LTEX loading
Load grasses into a list
Fix FO4 loading
Load Havok parameters for FNV
2023-08-17 02:12:32 +03:00
Alexei Kotov
d74df61ce5 Load FO4 acoustic space records 2023-08-17 02:12:32 +03:00
Alexei Kotov
5bce6d8d44 Maybe load some FO4 static records 2023-08-17 02:12:32 +03:00
Alexei Kotov
1a7d68cd33 Skip FO4 SOUN::REPT 2023-08-17 02:12:32 +03:00
Alexei Kotov
c706a46dc4 ESM4::RACE: fix loading more than 5 head parts in FO4 2023-08-17 02:12:31 +03:00
Alexei Kotov
426eae3843 ESM4::RACE: don't use current index if it's unset
To be safer. Doesn't help with FO4 segfaults though
2023-08-17 02:12:31 +03:00
Alexei Kotov
4605894a5a Updating RACE for FO4, first pass 2023-08-17 02:12:31 +03:00
Alexei Kotov
0c05bbea37 Skip CTDA target condition subrecords 2023-08-17 02:12:31 +03:00
Alexei Kotov
22fb744751 Skip PRPS object property subrecords 2023-08-17 02:12:31 +03:00
Alexei Kotov
84d693324b ESM4: read texture set material 2023-08-17 02:12:31 +03:00
Alexei Kotov
e426dd045f Read string GMSTs correctly in >=TES5 2023-08-17 02:12:31 +03:00
Alexei Kotov
0e94ff4a73 Support unsigned int GMSTs 2023-08-17 02:12:31 +03:00
Alexei Kotov
891be9744d Skip TES4::TNAM 2023-08-17 02:12:31 +03:00
psi29a
c9f03b4174 Merge branch 'sizeup' into 'master'
Replace more sized reads

See merge request OpenMW/openmw!3322
2023-08-15 06:28:59 +00:00
Andrei Kortunov
7ce9fc25c5 Implement Lua bindings for sound system 2023-08-15 10:28:29 +04:00
Zackhasacat
3e8a1cce7c Load ESM4 Terminal objects, add lua bindings for them 2023-08-15 06:23:38 +00:00
jvoisin
4cf80cdac2 Merge branch 'fix_esm4_ai' into 'master'
Fix AI in ESM4 cells

See merge request OpenMW/openmw!3338
2023-08-14 22:00:24 +00:00
Kindi
d9c102e14d utf8.char 2023-08-13 23:37:31 +08:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter 2023-08-13 02:24:22 +02:00
Alexei Kotov
ee7accf3bd Don't read affected nodes for 10.0.1.0 NiDynamicEffect 2023-08-12 21:48:51 +03:00
Alexei Kotov
baefff323c Make some NIF loading messages less confusing 2023-08-12 21:45:19 +03:00
Petr Mikheev
f5ddffa087 Fix coverity warning in esm3/globalscript.cpp 2023-08-12 12:35:08 +02:00
elsid
07c1177b0d
Optimize land lookup on blendmaps sampling
Minimize number of getLand calls by grouping samples per cell.
2023-08-12 02:57:16 +02:00
elsid
ce6ffba986
Move blendmap sampling logic into separate function 2023-08-12 02:45:09 +02:00
Kindi
8622a6da3b luautf8lib 2023-08-10 18:50:22 +08:00
Alexei Dobrohotov
de50f30645 Read a couple of Bethesda-specific controller records
BSMaterialEmittanceMultController
BSRefractionFirePeriodController
BSRefractionStrengthController
2023-08-10 01:59:10 +03:00
Petr Mikheev
87912065fd Rename MWLua::WorldView -> MWLua::ObjectLists 2023-08-08 22:57:28 +02:00
Evil Eye
9e376f3783 Replace explicitly sized reads in cellid, cellref 2023-08-08 21:41:44 +02:00
Evil Eye
48484c9416 Replace explicitly sized reads in aisequence 2023-08-08 21:06:49 +02:00
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
psi29a
7b4f7b7f07 Merge branch 'adjust_refnum' into 'master'
Adjust FormId in FormIdRefId and for items in containers when loading saves

See merge request OpenMW/openmw!3293
2023-08-08 08:54:00 +00:00
Andrei Kortunov
5cfd21e9ab Do not place deprecated MyGUI property dynamically 2023-08-08 09:48:40 +04:00
Andrei Kortunov
f3cf61627c Do not use deprecated MyGUI features for list boxes 2023-08-08 09:30:13 +04:00
elsid
8e7fe44514
Support terrain sample size greater than cell size 2023-08-06 23:47:35 +02:00
elsid
2a49919b53
Move esm3terrain to esmterrain 2023-08-06 19:17:44 +02:00
elsid
28436557b1
Validate fillVertexBuffers arguments 2023-08-06 19:17:44 +02:00
elsid
fbd3d1f61d
Rename increment to sampleSize 2023-08-06 19:17:44 +02:00