psi29a
9306cb2cfd
Merge branch 'rm_cell_store_equality' into 'master'
...
Replace operator== for CellStore with pointer equality
See merge request OpenMW/openmw!3081
2 years ago
Andrei Kortunov
9001dc8f88
Remove redundant single quotes
2 years ago
elsid
9012207e32
Make WorldModel a front-end for PtrRegistry
2 years ago
Evil Eye
08f35fe839
Add ESM::Skill::mWerewolfValue
2 years ago
Evil Eye
7b0680de5f
Resolve attribute GMST members
2 years ago
Evil Eye
eea730768b
Replace sIconNames with ESM::Skill::mIcon
2 years ago
Evil Eye
9c819b5705
Disallow formatting of UString
2 years ago
elsid
cfab425fb2
Replace operator== for CellStore with pointer quality
...
Equality operator is confusing and redundant in this case.
It should not be possible to have 2 CellStores for the same cell. There is no
copy constructor defined so it's not possible to get a copy. It's possible to
independently create second store when another one already exist but it would
mean a bug.
Explicitly delete CellStore copy and move constructors and assignment operators
to enforce this.
2 years ago
Petr Mikheev
84d7da1f2c
Ignore per-cell water height in exterior ESM4::Cell
2 years ago
Petr Mikheev
5cb4c66266
Avoid using ESM4::Cell with uninitialized fields
2 years ago
elsid
97fed756c8
Properly support portable configuration for bulletobjectool and navmeshtool
2 years ago
Petr Mikheev
01c410d6b1
Remove `mPersistentExteriors` index; fix incorrect Rec_Persistent flag check.
2 years ago
psi29a
8976a1594f
Merge branch 'clickbait' into 'master'
...
Replace sSkillNameIds with ESM::Skill::mName
See merge request OpenMW/openmw!3080
2 years ago
elsid
4cbaa722dd
Merge branch 'wazabear/lambdascope' into 'master'
...
Fix lambda scope for postprocess bindings
See merge request OpenMW/openmw!3070
2 years ago
Cody Glassman
6747619cb1
Fix lambda scope for postprocess bindings
2 years ago
Petr Mikheev
bf49855d9f
Test handling of BSXFlags in bulletnifloader
2 years ago
Petr Mikheev
788a4d32aa
Handle DoubleSided and TreeAnim flags in BSLightingShaderProperty.
2 years ago
Petr Mikheev
1b669db017
Load ESM4::Tree and ESM4::Furniture
2 years ago
Evil Eye
9c60a6fa4d
Replace sSkillNameIds with ESM::Skill::mName
2 years ago
elsid
731ff90c37
Remove unused include
2 years ago
elsid
947e8f0e94
Use CellStore::mStore instead of MWBase::Environment::get()
2 years ago
psi29a
df57f8004b
Merge branch 'default' into 'master'
...
Replace some empty constructors and destructors with default
See merge request OpenMW/openmw!3078
2 years ago
Evil Eye
9214ffb50b
Replace some empty constructors and destructors with default
2 years ago
florent.teppe
ff9e04062d
Applies changes from previous commit
...
from commit bb1d040ac8
Was lost during rebase.
2 years ago
florent.teppe
ad8cfde4e0
ESM::LandData no longer a virtual interface
...
instead it is constructed from ESM::Land or ESM4::Land
2 years ago
florent.teppe
4c4ed77bd7
Fixes Quad tree terrain missing in some places
...
the function that queried if data existed or not didn't take the worlspace into account.
2 years ago
florent.teppe
b29be74491
ground cover manager and object paging exists per worldspace.
...
They don't work though. But at least it doesn't crash. You get a morrowind world on top of the skyrim world.
But it fixes the crashes.
2 years ago
fteppe
22dc383f63
fixes errors and warnings
...
Applies review comments
getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.
applied review comments
use default initlializer when possible
factorise code
uses pattern matching in for loop.
2 years ago
florent.teppe
7d88a240d3
no default terrain for esm4 exterior.
2 years ago
florent.teppe
2bb17279df
linux build
...
clang format 14.0
Arm64 build
2 years ago
florent.teppe
a9e0489867
fixes stutters => bugs in the way cells were updated.
2 years ago
florent.teppe
0e4d21a40c
takes the right terrain bounds.
2 years ago
florent.teppe
7bc4fc6bf9
Fix issues on terrain change
...
terrain Preloader now preloads the right terrain
2 years ago
florent.teppe
d0211acf9e
Fixes bug in terrain loading + collision heightmap works
...
although terrain rendering is 100% broken right now
2 years ago
florent.teppe
c35c7b3640
ESM4::Land loaded, added to store and to land objects
...
it does not work yet. Some things are displayed, but it looks all wrong.
2 years ago
florent.teppe
fffcf52316
land manager cache's key is an ExteriorCellLocation
...
ESM4::Land is now a ESM::LandData
2 years ago
florent.teppe
e0fa15b727
Abstracted Land data that can be used by esm3 and esm4.
2 years ago
florent.teppe
e09cf6ac61
enable terrain takes a worldspace as input
...
enable terrain anslo switches the worldspace.
2 years ago
florent.teppe
1b718f09c5
adding worldspace info to terrain data structures
...
Rendering manager can have multiple terrain, one for each queried worldspace
Terrain::World has a worldspace member
storage functions require a worldspace parameter.
2 years ago
florent.teppe
93e7b0d946
Terrain has a mandatory worldspace in constructor
...
getTerrainHeightAt takes a worldspace.
Doesn't change anything for now => Therrain is created with the default ESM3 worldspace, and is never changed.
2 years ago
psi29a
4399748889
Merge branch 'clickbait' into 'master'
...
Move more arrays to the ESM::Attribute struct
See merge request OpenMW/openmw!3074
2 years ago
elsid
02adb91859
Simplify WorldModel::getAll
...
There is no need to have generic forEach template function.
2 years ago
psi29a
c368c188f2
Merge branch 'fix_position_cell_crash' into 'master'
...
Use sDefaultWorldspaceId as fallback worldspace for PositionCell command
See merge request OpenMW/openmw!3073
2 years ago
Evil Eye
90a3a7b62f
Add mWerewolfGMST
2 years ago
Evil Eye
a5e1c87fb8
Remove sGmstAttributeIds, sGmstAttributeDescIds, sAttributeIcons
2 years ago
elsid
06af4cb56a
Use sDefaultWorldspaceId as fallback worldspace for PositionCell command
...
store is nullptr at this point because there was no cell found.
2 years ago
elsid
86db640c8b
Increment revision on clearing PtrRegistry
...
Setting it to 0 may not lead to the change detected by clients. Potentially
mRevision may already have value 0. For example on overflow.
2 years ago
elsid
a581e394b4
Check for revision inequality
...
It's not possible to have SafePtr with mLastUpdate from the future. But
theoretically it's possible to get PtrRegistry::mRevision overflow so operator
less would return false when there is a change.
2 years ago
elsid
ce91784085
Move Ptr registry into a separate type
...
There is no dependency on the rest of the WorldModel state.
2 years ago
unknown
14600de185
Remove sAttributeIds and sSkillIds
2 years ago
elsid
d98852fdbe
Use std::count_if to implement WorldModel::countSavedGameRecords
2 years ago
elsid
3a66854c3c
Avoid confusion for generated cell flags
2 years ago
elsid
60139c6bd5
Use WorldModel::mStore instead of MWBase::Environment::get().getESMStore()
2 years ago
elsid
183202cd65
Remove WorldModel::getCellByPosition function
...
It's used in a single place. Move the code there.
2 years ago
elsid
235eb65c97
Rename positionToCellIndex to match return type
2 years ago
elsid
98e80d65b0
Remove unused include
2 years ago
elsid
b6cd6402cc
Use ranged for loop
2 years ago
elsid
a04eb9d26c
Move WorldModel::getPtr(const ESM::RefId&, CellStore&) to CellStore
...
The function does not depend on WorldModel.
2 years ago
elsid
df6630a15c
Move WorldModel private functions to bottom
...
This is API class. A reader most likely need to know public functions first.
2 years ago
elsid
181c894e4c
Skip already visited cells when looking for ptr
2 years ago
elsid
466a7cedbb
Convert pointer to referece where nullptr is not acceptable
2 years ago
elsid
1b116240a3
Try return existing CellStore from WorldModel::getCellStore first
2 years ago
Evil Eye
877f6747be
Deduplicate specialization code
2 years ago
elsid
dc8dfe81ce
Add more details to exceptions
2 years ago
elsid
d852ac20f5
Log loading content file
2 years ago
Mads Buvik Sandvei
85a30c9ad0
Fix signature of MWMechanics::MagicEffects::get. Fix a mistake in the docs.
2 years ago
Petr Mikheev
4ed283bb15
Merge branch 'create_record_types' into 'master'
...
Allow creating Activator, Armor, Clothing, Misc, Weapon records via lua
See merge request OpenMW/openmw!2944
2 years ago
Zackhasacat
ef004e5eba
Allow creating Activator, Armor, Clothing, Misc, Weapon records via lua
2 years ago
psi29a
d3ed04c551
Merge branch 'lua-activeeffects' into 'master'
...
Lua: Actor api for active effects and active spells
See merge request OpenMW/openmw!3036
2 years ago
Mads Buvik Sandvei
40170d8953
is_automagical false line for ActorStore
2 years ago
Evil Eye
17c8e63d3a
Fix invalid memory usage in stats tooltip
2 years ago
Mads Buvik Sandvei
97ea626ba2
Clang'd
2 years ago
Mads Buvik Sandvei
4f88988131
Moved check for actor/non-actor to ActorStore constructor. Refactor ActorSpells type to be an ActorStore type.
2 years ago
Mads Buvik Sandvei
410e8b100a
Elsid comments
2 years ago
Mads Buvik Sandvei
4bf23f152b
Revert use of string_view to std::string for effectIdTo* methods.
2 years ago
Mads Buvik Sandvei
9a59330561
refactor effect names in loadmgef. Added a map from effect index to non-gmst effect name for use in lua scripts.
2 years ago
Mads Buvik Sandvei
151521bb68
Unused function
2 years ago
Mads Buvik Sandvei
448658ce5b
Check class validity before using it.
2 years ago
Mads Buvik Sandvei
87250bfabf
clang warnings/errors
2 years ago
Mads Buvik Sandvei
7ba43c9426
actor.ActiveEffects and actor.ActiveSpells
2 years ago
psi29a
01705485b8
Merge branch 'grow_limit' into 'master'
...
[Needs testing] Migrate Grow Limit editor feature to a more modern code
See merge request OpenMW/openmw!2637
2 years ago
psi29a
87b15c22f3
Merge branch 'fixcolladaregression' into 'master'
...
Fix regression with Collada-animated creatures
See merge request OpenMW/openmw!2882
2 years ago
Nelsson Huotari
4abd47f430
Fix regression with Collada-animated creatures
2 years ago
psi29a
2545185d52
Merge branch 'cs_show_magic_effect_name' into 'master'
...
Show magic effect name instead of IndexRefId (#7366 )
Closes #7366
See merge request OpenMW/openmw!3049
2 years ago
psi29a
30305d7bea
Merge branch 'topicloop' into 'master'
...
Detect service refusal in constant time
See merge request OpenMW/openmw!3053
2 years ago
psi29a
64b07ee9f4
Merge branch 'esmtool_dawnguard_dragonborn' into 'master'
...
Partial support esmtool dump for Dragonborn.esm and Dawnguard.esm from Skyrim
See merge request OpenMW/openmw!3052
2 years ago
psi29a
a61f955e9f
Merge branch 'case.ext' into 'master'
...
Fix a regression and use more starts_with and ends_with
See merge request OpenMW/openmw!3051
2 years ago
Evil Eye
11f875d9c4
Detect service refusal in constant time
2 years ago
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.
2 years ago
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.
2 years ago
Evil Eye
9728024978
Replace compare with more idiomatic methods
2 years ago
elsid
8f47da46ec
Show magic effect name instead of IndexRefId
2 years ago
elsid
bb1d040ac8
Use settings values for Cells settings
2 years ago
elsid
585cf377ed
Use bool instead of std::stringstream::view
...
view is not supported by libc++ used for macOS builds.
2 years ago
psi29a
6f8c152487
Merge branch 'convert_camera_settings' into 'master'
...
Use settings values for Camera settings (#6876 )
See merge request OpenMW/openmw!3041
2 years ago
psi29a
dab616f4e2
Merge branch 'guiew' into 'master'
...
Use string_view in more places and reduce the number of empty string literals
See merge request OpenMW/openmw!3042
2 years ago
elsid
63e01d86a3
Use string based UniversalId to check script for blacklist
...
Blacklist is a vector of strings and isBlacklisted internally calls getId which
throws exception for RefId based UniversalId.
2 years ago
elsid
0aa569d4fe
Add UniversalId argument type to exception message on invalid access
2 years ago
elsid
292983d57a
Show UniversalId value for all argument types in reports
2 years ago
elsid
7ba397da7d
Use std::span and std::string to define UniversalId related TypeData
2 years ago