1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-06 09:45:33 +00:00
Commit graph

7305 commits

Author SHA1 Message Date
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
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
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
elsid
0da156bdc2
Skip getLand call when no vertices are used 2023-08-06 19:17:44 +02:00
elsid
5fda4b3cfd
Precompute height cooridnates offsets 2023-08-06 19:17:43 +02:00
elsid
2c2a60b86c
Simplify filling positions 2023-08-06 19:17:43 +02:00
elsid
4a2a320e08
Use const where possible 2023-08-06 19:17:43 +02:00
elsid
d3e61e4578
Replace C-style cast by static_cast 2023-08-06 19:17:43 +02:00
elsid
e4584ce5dd
Reduce scope for normal and color 2023-08-06 19:17:43 +02:00
elsid
829f325500
Use proper name and scope for vertex coordinate variables 2023-08-06 19:17:43 +02:00
elsid
a23c98d468
Use std::size_t type for vertex coordinates 2023-08-06 19:17:43 +02:00
elsid
51b24c2b70
Fix variable name 2023-08-06 19:17:43 +02:00