1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-29 00:32:49 +00:00

66 Commits

Author SHA1 Message Date
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Evil Eye
262b29ed40 Use string_view in modifyBaseInventory 2022-08-23 16:59:03 +02:00
Evil Eye
4ff12d8945 Make Class::getName return string_view 2022-08-16 21:15:03 +02:00
Evil Eye
685906afdf Make getScript return string_view 2022-08-11 22:51:55 +02:00
elsid
ec3674b40a
Use unique_ptr instead of shared_ptr
for MWWorld::Action, ProjectileManager and ESSImport::Converter.

shared_ptr has additional cost of reference counter and requires additional
allocation when constructed as shared_ptr<T>(new T).
2022-04-08 16:12:36 +02:00
elsid
dc20e799e1
Use static object to register classes 2022-04-06 16:49:25 +02:00
Bret Curtis
8309910d9d Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue. 2021-09-30 22:58:40 +02:00
jvoisin
74fab99b89 Use a const-ref for an osg::Quat
Since an osg::Quat contains at least 4 floats,
it should be worth it to use a const-ref instead
of passing it by value.
2021-07-22 21:33:18 +02:00
Evil Eye
0a15d7740a Delay physics for objects created by scripts 2021-07-05 18:34:06 +02:00
fredzio
c795e0bce6 Some actors are supposed to spawn on an object that belongs to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all objects in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and non-animated physics objects.

Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00
elsid
bd33fa76b6
Use CRTP to define CustomData clone function 2021-04-05 11:53:07 +02:00
elsid
045bb7cbd7
Store CustomData and ContainerStore as unique_ptr 2021-04-05 11:52:52 +02:00
Andrei Kortunov
7b727e4d70 Revert "Remove physics dependency on basenode"
This reverts commit 165c7314928dc281a364fa1a0143c45fd6d2adfd.
2021-01-29 16:51:13 +04:00
fredzio
165c731492 Remove physics dependency on basenode
Necessary to be able to load physics objects from inactive cells.
2021-01-24 14:10:27 +01:00
Evil Eye
e62fff5f2e Add a setting to disable graphical herbalism 2020-12-07 19:04:32 +01:00
psi29a
09373a757d Merge branch 'radioactive' into 'master'
Container base record mutations

See merge request OpenMW/openmw!353

(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)

275908a0 mutate container base records
16fca11d add changelog entry
2020-10-20 16:56:22 +00:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Assumeru
72549651e0
Rework container resolution (#3006)
* Rework container resolution

* add optional argument to getCount

* remove now-redundant changes

* undo worldimp changes

* move save-fixing code to InventoryState

* replace Rng instances with Seeds
2020-10-13 17:46:32 +02:00
Evil Eye
32de86d114 merge master 2019-09-17 20:31:53 +02:00
Capostrophic
718dbd3f9a Use object ID as the substitution for their name (bug #5158) 2019-09-11 00:06:50 +03:00
Capostrophic
6b74630f6e Preparation work
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
2019-09-10 23:38:16 +03:00
Evil Eye
a86a8ecc0e Allow locking/picking just about everything 2019-09-10 21:53:26 +02:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Bret Curtis
d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 2017-06-09 19:08:53 +02:00
scrawl
22482b7eec Don't use xmesh.nif over mesh.nif for classes that don't make use of the separated keyframes 2017-02-20 19:04:02 +01:00
scrawl
32d5dece58 Add count argument to getToolTipInfo 2015-12-19 16:29:07 +01:00
scrawl
b0894ea20d Accept a ConstPtr in hasToolTip 2015-12-19 16:15:45 +01:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
266fbbef48 Accept a ConstPtr in canLock 2015-12-18 16:50:32 +01:00
scrawl
da7ebfde99 Accept a ConstPtr in copyToCell 2015-12-18 16:27:18 +01:00
scrawl
f258c5c508 Accept a ConstPtr in getModel 2015-12-18 15:51:05 +01:00
scrawl
d9bbd83b09 Accept a ConstPtr in getToolTipInfo
Accept a ConstPtr in functions used by getToolTipInfo
2015-12-18 15:47:16 +01:00
scrawl
ed3486e816 Improve const-correctness in writeAdditionalState 2015-12-18 00:19:06 +01:00
scrawl
b48445dea7 Accept a ConstPtr in getScript 2015-12-18 00:12:03 +01:00
scrawl
211deeb63e Don't attempt to lock or unlock unsuitable objects (Fixes #2826) 2015-08-13 17:08:21 +02:00
scrawl
c31b416ba1 Move physicssystem to a new mwphysics module 2015-05-10 01:09:00 +02:00
scrawl
41b3a9dba9 Rewrite animated collision shape support (Fixes #2123) 2015-01-13 05:37:37 +01:00
Marc Zinnschlag
4fb897f2f8 added missing getId functions to classes derived from MWWorld::Class 2014-07-18 09:56:58 +02:00
scrawl
b4ed828e21 Feature #1323: Implement restocking items (does not handle levelled lists yet) 2014-05-17 14:30:31 +02:00
scrawl
ae66d28c87 Feature #32: Implement respawn for containers, creatures and NPCs 2014-05-17 09:09:00 +02:00
Thomas
f6deca7c80 Fixed various issues caused by late-night coding. Also added "unlock" message to unlocked doors 2014-04-23 13:02:51 -04:00
Thomas
cac8e52154 Seperated locked and lock level, to allow for relocking doors to previous lock level.
The data is stored in the esm as -lockLevel if unlocked; lockLevel if locked. While not tested, it should not present any problems.
2014-04-23 05:12:07 -04:00
Marc Zinnschlag
dd674566a2 store content of containers in saved game files 2014-01-31 13:25:32 +01:00
greye
26595f22f6 float* -> Vector3, moveToCell -> copyToCell, fixed placeObject() 2012-07-26 16:14:11 +04:00
greye
e7666d3a7f move responsibility for cell changing from CellStore::insertObject to Class::moveToCell 2012-07-25 20:31:39 +04:00
greye
6a3a728a56 Class::getModel implementation 2012-07-25 20:31:39 +04:00
scrawl
de3daf3dc1 allow the 'lock' and 'unlock' script commands to work on containers, like in morrowind 2012-06-18 00:21:55 +02:00
scrawl
e9ea1fba4e fixed typo getCapacity method 2012-05-15 22:31:52 +02:00
Marc Zinnschlag
7e00fea18b added getEncumbrance function 2012-05-15 21:34:00 +02:00