1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 17:19:56 +00:00
Commit graph

225 commits

Author SHA1 Message Date
scrawl
2b407a9995 Refactor NIF cache
- Remove broken cache locking mechanism

This was supposed to unload NIFFiles after a cell transition completes, but it was never working due to a mistake on the line if (--sLockLevel), should have been if (--sLockLevel == 0). Repairing this would increase load times (NIF files would have to be reloaded more frequently), so just removed it for now.

 - Decouple cache from NIFFile (now a new nifcache component)

 - Add API for future background loading

 - Provide a reliable way (SharedPtr) to hold on to loaded NIFFiles. This will be useful to avoid deep copies of keyframe and text key data, which is currently a performance bottleneck.
2014-08-24 02:37:50 +02:00
scrawl
8a4e0a2ce8 Don't fade out screen if teleport target cell is not found 2014-08-08 15:46:32 +02:00
scrawl
a18cec7c8e Use a MyGUI widget to render the screen fader (Fixes #1741, Fixes #1719) 2014-08-01 16:25:41 +02:00
scrawl
b58b8c6f8f Adjust player position to ground when using a door marker, even if the player is levitating (Fixes #1737) 2014-07-31 04:28:02 +02:00
scrawl
395f98e476 Fix triggering changed flag for all references when cell is visited
The InsertFunctor for cells was calling localRotateObject() for all references which set the mChanged flag in RefData to true.

Also clean up RefData interface slightly.
2014-06-15 14:18:16 +02:00
scrawl
577ed3943b Show wallpaper when loading a savegame 2014-06-02 23:26:43 +02:00
scrawl
039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
2014-05-25 14:30:07 +02:00
Emanuel Guevel
1e4a854433 Remove static method MWWorld::Class::get(&Ptr)
It was just adding a level of indirection to Ptr.getClass().
All the call were replaced by that instead. The number of lines changed
is important, but the change itself is trivial, so everything should be
fine. :)
2014-05-22 20:50:00 +02:00
scrawl
ae66d28c87 Feature #32: Implement respawn for containers, creatures and NPCs 2014-05-17 09:09:00 +02:00
scrawl
e5a21aca53 Refactor projectiles to no longer use MW-objects 2014-05-16 13:33:30 +02:00
scrawl
3cdbcf3c28 Merge branch 'actorid' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwmechanics/creaturestats.cpp
2014-05-14 02:35:05 +02:00
scrawl
2bc2684a66 Fixes #275: force updating exterior cell maps even if already in cache 2014-05-11 18:01:47 +02:00
scrawl
961c4d4dc4 Fixes #772: Give scripts a chance to run before updating map, so that disabled objects are not visible 2014-05-11 18:01:47 +02:00
Marc Zinnschlag
9a1b5dc1c6 a bit of cleanup 2014-04-29 15:32:00 +02:00
Marc Zinnschlag
f6a876bc3d added actor ID 2014-04-29 15:27:49 +02:00
scrawl
83b6fcf22e Bug #416: Workaround for page flipping problem 2014-03-05 22:24:05 +01:00
scrawl
1d926816b5 Terrain: background load blendmaps & layer textures. Refactor QuadTree update. 2014-03-05 21:46:37 +01:00
scrawl
8730b61362 Render maps after *all* cells have finished loading
Still not fixing Bug #772, but at least this will allow for background loading of terrain.
2014-03-05 21:46:36 +01:00
Marc Zinnschlag
0ae9cc0106 removed unused function 2014-03-03 08:21:16 +01:00
Marc Zinnschlag
ca30f2af3d minor fix 2014-03-02 11:03:37 +01:00
Marc Zinnschlag
83ded18af0 encapsulated reference collections 2014-02-23 21:21:27 +01:00
Marc Zinnschlag
367919200f moved CellRefList into a separate file 2014-02-23 20:11:05 +01:00
Marc Zinnschlag
7693f712bc started making CellStore into a proper class; encapsulated mCell member 2014-02-21 11:35:46 +01:00
Marc Zinnschlag
1b5301eec0 Merge branch 'savedgame'
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwbase/soundmanager.hpp
	apps/openmw/mwgui/mapwindow.hpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
	apps/openmw/mwsound/soundmanagerimp.hpp
	components/esm/loadcell.cpp
2014-02-01 18:16:32 +01:00
scrawl
03cf383be7 Merge branch 'master' of https://github.com/zinnschlag/openmw into savedgame
Conflicts:
	apps/openmw/mwgui/referenceinterface.cpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
	apps/openmw/mwscript/cellextensions.cpp
	apps/openmw/mwworld/cells.cpp
	apps/openmw/mwworld/cells.hpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/store.cpp
	apps/openmw/mwworld/worldimp.cpp
2014-01-24 18:28:35 +01:00
scrawl
9653355cf1 Feature #701: Spawn levelled creatures in cells 2014-01-18 07:26:27 +01:00
scrawl
098f9712f1 Add getPlayerPtr() utility method. Reduces dependencies a lot. 2014-01-08 18:39:44 +01:00
scrawl
62774fcc4a Merge branch 'master' into HEAD
Conflicts:
	apps/openmw/mwbase/world.hpp
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm/loadtes3.cpp
2014-01-06 00:23:17 +01:00
scrawl
45847c67ad Lock NIF cache when loading an interior cell as well. Should improve load performance. 2014-01-05 18:38:21 +01:00
scrawl
9afdf71af3 Fix crash with player->position command 2013-12-19 00:37:57 +01:00
Marc Zinnschlag
030c733e2d Merge branch 'master' into savedgame
Conflicts:
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwworld/worldimp.cpp
	files/settings-default.cfg
2013-12-07 12:27:06 +01:00
Marc Zinnschlag
e818d43bc3 removed an outdated typedef and some dead code 2013-12-05 13:21:26 +01:00
scrawl
4b4025ed0f Keep the player's CharacterController when changing cells. Fixes several glitches. 2013-11-30 11:01:45 +01:00
scrawl
992a8e9c36 Refactor NpcAnimation: get rid of delayed update (no longer required), make sure that the Animation is set up *before* the inventory store is accessed anywhere (which now triggers auto equip and animation update). Allows better tracking of magic VFX for permanent enchantments in InventoryStore. 2013-11-14 14:41:10 +01:00
scrawl
d3d6dfbde8 Refactored loading screen
- Add loading progress for data files, global map, terrain
 - Refactored and improved cell loading progress
2013-08-27 15:48:13 +02:00
Chris Robinson
a546ace94d Remove an unused method 2013-08-21 07:24:54 -07:00
scrawl
8c8653160d Crash fix, material fix 2013-08-20 09:52:27 +02:00
scrawl
ebf9debb80 Enabled terrain self shadows, implemented getHeightAt, some optimizations 2013-08-19 20:39:37 +02:00
scrawl
e27437f8ed New terrain renderer - improvements:
- Consistent triangle alignment, fixes a noticable crack near the census and excise office. Note that alignment is still not the same as vanilla. Vanilla uses a weird diagonal pattern. I hope there aren't more trouble spots that will force us to replicate vanilla, but at least we can do that now.
 - Fixes several blending issues and cell border seams
 - Fix map render to use the terrain bounding box instead of an arbitrary height
 - Different LODs are now properly connected instead of using skirts
 - Support self shadowing
 - Normals and colors are stored in the vertices instead of a texture, this enables per-vertex lighting which should improve performance, fix compatibility issues due to the PS getting too large and mimic vanilla better
 - Support a fixed function fallback (though the splatting shader usually performs better)
 - Designed for distant land support - test: https://www.youtube.com/watch?v=2wnd9EuPJIY - we can't really enable this yet due to depth precision issues when using a large view distance
2013-08-19 20:34:20 +02:00
Chris Robinson
c7692acb79 Update the player's Ptr in mwrender when changing cells 2013-07-17 19:11:03 -07:00
greye
0c303aa285 fix fading on cell transition when cell is loaded 2013-07-07 14:30:11 +04:00
vorenon
efdcd9649c Fading for Exterior->Interior cell transitions 2013-06-21 20:19:35 +02:00
scrawl
c41f119ba6 Added new game button 2013-05-15 17:54:18 +02:00
Marc Zinnschlag
1e9656ee9c Merge remote-tracking branch 'glorf/rotate-update1' 2013-04-25 20:22:40 +02:00
Glorf
7cd4dd0c91 Improved local rotations 2013-04-25 19:14:10 +02:00
scrawl
547f77031d Fix crash when disabling objects in a previously loaded cell, then coming back to that cell and leaving again 2013-04-17 17:06:30 +02:00
Glorf
1e92ffc314 Added rotation layer 2013-04-16 21:17:19 +02:00
scrawl
01ae91f640 Fix several NPCs spawning in the ground 2013-04-09 01:24:17 +02:00
scrawl
2e7d5377f4 Fix crash when moving npcs to an inactive cell 2013-04-04 16:51:22 +02:00
scrawl
ebaf80d539 Trace actors onto the ground after load, when moved to a different cell by the console or on player cell change. 2013-04-03 23:55:57 +02:00
Marc Zinnschlag
feaf2b43fb disabled and deleted objects where not correctly ignored during adding objects to a cell when it became active 2013-03-22 09:44:59 +01:00
Marc Zinnschlag
6cef7fb610 rescale all objects to the range of [0.5, 2] when a cell becomes active 2013-03-10 10:00:20 +01:00
Nathan Jeffords
d3c1f5e7b2 renamed low-level NIF related files and include guards to conform to naming convention 2013-03-02 10:46:12 -08:00
vorenon
f66f67eaa1 Loading text uses now the corresponding GMSTs 2013-02-28 17:54:42 +01:00
vorenon
a6fb58bc59 Using "Loading Exterior" and "Loading Interior" instead of "Loading Cell"
This commit replaces the default "Loading Cell" text with "Loading
Interior" and "Loading Exterior"
2013-02-28 16:31:24 +01:00
vorenon
d4aa33b9a7 Removing the unloading cells part instead of just commenting them. 2013-02-28 15:58:03 +01:00
vorenon
ffd96c7715 Removed "Unloading Cell..." text from loading screen
OpenMW unloads the cell so fast, it's hardly noticable. This commit gets rid of
the "flicker" every time a cell loads.
2013-02-28 13:19:05 +01:00
Chris Robinson
db9a3aeddf Merge remote-tracking branch 'zini/master' into animation2 2013-02-24 03:32:35 -08:00
Nathan Jeffords
44b1c66c4b fixed various warnings about converting size_t to int 2013-02-23 10:23:38 -08:00
Chris Robinson
fe0e6c452d Remove the unneeded playerMove object from PhysicsSystem 2013-02-07 12:11:10 -08:00
Chris Robinson
8d98f3649c Use a separate class to handle activator mechanics 2013-01-28 23:39:11 -08:00
Chris Robinson
1ce8eaf52c Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	apps/openmw/mwrender/actors.cpp
	apps/openmw/mwrender/actors.hpp
2013-01-16 07:36:56 -08:00
Chris Robinson
94e30199d1 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	components/nifogre/ogre_nif_loader.cpp
2013-01-15 14:59:30 -08:00
Nathan Jeffords
d5ebd6654d cache loaded NIF files to eliminate reloads
Created a NIF file caching mechanism to prevent the system from
reloading a NIF during a startup and cell changes.
2013-01-10 21:47:02 -08:00
Chris Robinson
efca5ded47 Clean up some header includes to reduce nesting 2013-01-05 21:12:08 -08:00
Marc Zinnschlag
918316168f Merge remote-tracking branch 'greye/store' into next
Conflicts:
	apps/openmw/mwclass/light.cpp
	apps/openmw/mwworld/worldimp.cpp
2012-11-07 19:34:28 +01:00
greye
ff8da265ed applying new interface vol.9, inconsistent 2012-11-06 12:36:21 +04:00
emoose
5c1b3fc043 Fixed: scene: adjust rotation/scale when creating objects 2012-11-05 20:45:04 +00:00
greye
d205723a17 resolving m prefix/ESMStore movement 2012-11-05 18:02:47 +04:00
greye
2057f5619e move ESMStore to MWWorld 2012-11-05 17:18:01 +04:00
greye
3c2ce25f5f m prefix for mwworld/cellstore.hpp 2012-11-05 16:07:59 +04:00
emoose
accf8b2f71 Updated Bug #430 fix so it only moves the player now 2012-11-04 23:26:26 +00:00
emoose
cadc753216 Fixed: engine: Bug #437 Stop animations when paused better fix; scene: Bug #430 Teleporting and using loading doors linking within the same cell reloads the cell
Bug #437 fix only pauses the RenderingManager, and still updates the mOcclusionQuery
Bug #430 fix is only tested in interiors (ToddTest)
2012-11-03 19:29:55 +00:00
emoose
15f972cc62 fixes: compile: cast error; doors: key id case comparison; character creation: going from CharacterCreation to BirthDialog loses data; character creation: Class/Race/BirthDialog allowing no data; code: clean up a bit
todo: going from CharacterCreation back to CreateClassDialog loses data
2012-11-02 20:33:08 +00:00
greye
7606ebafd6 resolving conflicts, minor update 2012-09-17 11:37:50 +04:00
scrawl
2f0b47fc38 test 2012-09-13 00:21:58 +02:00
scrawl
d5a08e31e7 scene does not disappear anymore during load 2012-09-11 17:36:20 +02:00
scrawl
2b339f6c0f loading screen 2012-09-11 16:37:54 +02:00
Marc Zinnschlag
88e70cb5bd Merge branch 'decouple' 2012-08-12 18:11:17 +02:00
Marc Zinnschlag
6534c2a55a Issue #107: WindowManager is accessed only through the interface class from now on 2012-08-12 18:11:09 +02:00
Marc Zinnschlag
484cce12a8 Issue #107: removed redundant getStore function from window manager 2012-08-12 14:36:46 +02:00
Marc Zinnschlag
b68f9d6a28 Issue #107: MechanicsManager is accessed only through the interface class from now on 2012-08-11 17:30:55 +02:00
greye
45306e4bc3 fixed rotation adjustment 2012-08-11 13:23:54 +04:00
greye
5018db3332 removed some redundant code, added some comments 2012-08-11 12:13:16 +04:00
greye
38b06aee6c resolving conflicts 2012-08-09 21:49:00 +04:00
Marc Zinnschlag
aca08eb4c2 Merge branch 'decouple' into player_control
Conflicts:
	apps/openmw/mwsound/soundmanagerimp.hpp
2012-08-09 16:12:10 +02:00
Marc Zinnschlag
6bd48d12af Issue #107: SoundManager is accessed only through the interface class from now on 2012-08-09 14:33:21 +02:00
greye
ec9cf4d3c6 rotateObject() added, input system rewritten 2012-08-09 00:15:52 +04:00
greye
b6f7f21bcf fix player cell assertion fail, moveObject(Ptr&, CellStore&, f, f, f) added 2012-08-08 14:51:33 +04:00
greye
f2a2e5f57d remove MWWorld::Player::setPos() 2012-07-31 19:30:24 +04:00
greye
26595f22f6 float* -> Vector3, moveToCell -> copyToCell, fixed placeObject() 2012-07-26 16:14:11 +04:00
greye
49b1d5e127 fix object placing 2012-07-25 20:31:39 +04:00
greye
e1c7d1f529 fixed item sinking 2012-07-25 20:31:39 +04:00
greye
61cb012ee7 moving Scene::insertObject to CellStore::insertObject, part 1 2012-07-25 20:31:39 +04:00
greye
b760225179 wrong branch
This reverts commit d36d6aacf4.
2012-07-24 00:00:10 +04:00
greye
d36d6aacf4 move Scene::insertObject to CellStore::insertObject, part 1 2012-07-23 23:56:20 +04:00
greye
9a2690f849 Revert "wrong"
This reverts commit 3aa53fea32.
2012-07-23 23:07:28 +04:00
greye
3aa53fea32 wrong 2012-07-23 23:06:53 +04:00
guidoj
0549e949ba Mostly removal of unnecessary #include's and a little clean up 2012-07-17 09:27:12 +02:00
Marc Zinnschlag
87667ab57e Issue #107: Ptr related include cleanup 2012-07-03 13:55:53 +02:00