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

1615 commits

Author SHA1 Message Date
mrcheko
2591ff2d5a bug repairing 2014-01-06 22:00:01 +02: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
c004fb778f Get rid of underscore defines. They are reserved by the standard. 2014-01-05 18:22:29 +01:00
scrawl
634a53211c Make sure materials are built before trying to determine their transparency 2014-01-04 22:56:06 +01:00
scrawl
c4e4a8fb57 Closes #1083: Fix werewolf change handling 2014-01-04 20:50:18 +01:00
mrcheko
7002412760 resolve conflict in character.cpp 2014-01-04 17:55:09 +02:00
Marc Zinnschlag
ee621245bb Merge remote-tracking branch 'scrawl/master' 2014-01-03 15:59:06 +01:00
scrawl
623cdef69f Code cleanup 2014-01-02 21:49:12 +01:00
Lukasz Gromanowski
b017a3be3e Bug #1074: Inventory paperdoll obscures armour rating
Changed size of inventory paperdoll.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-01-02 20:20:57 +01:00
scrawl
0990ca4b75 Closes #1072: Fix extra light being added multiple times when showCarriedLeft(true) is called repeatedly 2014-01-02 15:58:00 +01:00
Marc Zinnschlag
a6e6411686 Merge remote-tracking branch 'scrawl/master' 2014-01-02 12:12:52 +01:00
scrawl
c6421276bd Closes #841: Correct activation distance in third person mode 2014-01-01 23:59:17 +01:00
scrawl
5729672262 Show marked position on map. Implement Detect X magic effects. 2014-01-01 22:37:52 +01:00
mrcheko
09a0a69b04 more improvements 2014-01-01 21:40:31 +02:00
Marc Zinnschlag
e1355be47c Merge remote-tracking branch 'lgro/valgrind_warnings' 2014-01-01 19:41:52 +01:00
Lukasz Gromanowski
2d4e06cd50 Updated comments about freeing format_ctx->pb->buffer.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-01-01 17:05:49 +01:00
scrawl
be1938ee90 Closes #805: Don't add entities that are supposed to be invisible to static geometry 2013-12-31 18:32:46 +01:00
scrawl
94cdc1efd2 Enable mipmap generator for 1.9+ 2013-12-31 00:54:40 +01:00
Lukasz Gromanowski
cb04f43384 Fixes for "Conditional jump or move depends on uninitialised value(s)"
and memleaks reported by valgrind.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-30 23:08:53 +01:00
Lukasz Gromanowski
5c5f87445b Fixes for "Conditional jump or move depends on uninitialised value(s)"
and memleaks reported by valgrind.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-30 21:47:06 +01:00
scrawl
596c9b80a9 Check if threads are joinable before joining (issue with boost 1.52) 2013-12-27 22:38:30 +01:00
scrawl
85ec80100c Bug #1005: Hide torches/shields during spellcasting and hand-to-hand combat 2013-12-27 22:00:16 +01:00
scrawl
6400f23ab0 Use the material controller manager for effects with overridden texture 2013-12-27 14:54:36 +01:00
scrawl
d262d9e6b0 Bug #1054: Set render queue group for effects 2013-12-27 14:51:59 +01:00
scrawl
d09a86e208 Issue #1018: Don't allow view mode switching while performing an action 2013-12-27 00:36:06 +01:00
scrawl
5931fdcbde Implement NiBillboardNode. Flags not handled yet. 2013-12-26 20:53:52 +01:00
scrawl
6d27ebabb6 Integrate AddGlow with material controllers 2013-12-26 20:53:45 +01:00
scrawl
eb5e4ecec2 Remove more unused code 2013-12-16 15:35:38 +01:00
mrcheko
fd9f8c34f6 bug fix http://bugs.openmw.org/issues/428 2013-12-15 18:50:25 +02:00
scrawl
37a7ee8fcd Set alpha value of character animations according to Invisibility / Chameleon effects. 2013-12-08 23:05:21 +01:00
scrawl
1624e0fd8a Rename ObjectList to ObjectScene. Wrap it in a SharedPtr so we can automate the destruction routine. 2013-12-07 20:15:39 +01:00
scrawl
bb70deabb1 Add an incomplete implementation of SayAnimationValue (lip animation) 2013-12-07 14:15:45 +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
8f4ffe4ddc Fix new window size not being written to settings when manually resizing window 2013-12-03 15:55:31 +01:00
scrawl
ffc885853a Fix bolt for magic effects that don't have one specified 2013-11-29 10:39:37 +01:00
scrawl
97fadb24ca Update the Ptr in mObjects in Objects::updateObjectCell 2013-11-27 18:49:04 +01:00
scrawl
d2ed77f3f2 Fix shields being visible during spellcasting 2013-11-23 20:24:52 +01:00
Marc Zinnschlag
d8c40562ae Merge remote-tracking branch 'scrawl/light' 2013-11-23 12:44:42 +01:00
scrawl
a1fe07181c Fix rotation offset of some lights (bug 955) 2013-11-23 05:55:03 +01:00
scrawl
0e254aa7c7 Fix startNewGame assigning an already freed CellStore to the player Ptr supplied to WindowManager. Fixes a crash when equipping lights after starting a new game (bug 967). Side note: The inventory preview's Ptr being assigned a cell at all doesn't make sense, as that is used to determine the light setting which should be the same no matter which cell you're in. 2013-11-23 03:25:55 +01:00
scrawl
4ed4c1e319 Add Vampirism and Sun Damage effects. Some fixes. 2013-11-21 00:41:31 +01:00
scrawl
3452bd2e0b Add glow effect for enchanted items 2013-11-20 00:13:12 +01:00
scrawl
0dc2e829dd Lots of cleanup. Implemented Absorb and Resist. Implemented several instant effects. Added hand VFX. 2013-11-17 23:31:08 +01:00
scrawl
e7993ced69 Fix invalid casts 2013-11-17 04:33:04 +01:00
scrawl
c73217627e Move code for listing effect sources to the spell management classes 2013-11-15 20:29:47 +01:00
scrawl
f7befa3e54 Remove a no longer required method 2013-11-15 02:20:04 +01:00
scrawl
00af6b5617 Use an inventory store listener for animation parts and VFX update instead of updating them directly. Slightly more flexible, reduces InventoryStore dependencies and solves a crash during character creation due to the preview doll's animation not being registered in World. 2013-11-15 02:08:36 +01:00
scrawl
4083c55848 Make sure NpcAnimation base exists before runAnimation. Not sure yet why this is needed. 2013-11-14 19:18:27 +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
0b5f5351b5 Fix continuous FX getting removed instantly 2013-11-14 13:30:48 +01:00
scrawl
da5c59c8af addEffect should check effectId, not model. 2013-11-13 19:07:44 +01:00
scrawl
a6e2f43b75 Stop continuous VFX when the effect is no longer active. 2013-11-13 15:44:43 +01:00
scrawl
9b0e82a37f Projectile models are now spawned (no movement or impact yet). Refactored trap activation to apply range types properly. Handle ContinuousVFX for magic effects (note they aren't stopped yet when the effect ends) 2013-11-13 14:02:15 +01:00
scrawl
0dab7031c0 Make sure effects are destroyed with the animation 2013-11-12 02:22:44 +01:00
scrawl
ffdb91bb21 Add particles for Cast + Hit. Not looking quite right yet. 2013-11-11 23:43:28 +01:00
Emanuel Guevel
467bd91651 Update actor model on inventory change 2013-11-10 02:45:17 +01:00
scrawl
cbe96a2170 Refactor ActiveSpells to track range type. Added basic self range magic. 2013-11-09 07:51:46 +01:00
Marc Zinnschlag
ce8694c84e Merge remote-tracking branch 'scrawl/master' 2013-10-13 18:55:49 +02:00
scrawl
fa264935ff We can apply vsync at runtime now that the Ogre bug is fixed. 2013-10-13 17:56:26 +02:00
Alex "rainChu" Haddad
f1b4c2e400 Fixed first person offset to use world transform
It slipped my mind that some necks might not be perfectly vertical.
2013-10-02 07:03:39 -04:00
Alex "rainChu" Haddad
ed0c31b485 Refactored, moved logic out of NpcAnimation
The logic is now handled by RenderingManager, and Camera sets its
animation's first person offset height. Due to how NpcAnimation seems to
be updated, it has to be the one to actually set its own nodes, in the
case of the hands. Otherwise, the hands would not move without a messier
hack.
2013-10-02 05:16:52 -04:00
Alex "rainChu" Haddad
0ddb5097fc Revert "Bug #840, First Person Sneaking Camera Height"
This reverts commit 296abfd48f.
2013-10-01 11:44:45 -04:00
Alex "rainChu" Haddad
296abfd48f Bug #840, First Person Sneaking Camera Height
Also, added comments to existing code in the area.
2013-10-01 10:48:34 -04:00
Marc Zinnschlag
7076ea9467 Merge remote-tracking branch 'scrawl/map' 2013-09-02 10:55:12 +02:00
scrawl
3ddeb075fb Fix a cell border seam on the map 2013-08-31 04:36:23 +02:00
scrawl
f12d5b728a Ogre 1.9 compatibility changes 2013-08-29 17:14:25 +02:00
scrawl
839d251cc5 Renamed Terrain::Terrain to Terrain::World to make VC happy 2013-08-27 16:01:16 +02: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
Marc Zinnschlag
dcc55b60c3 Merge remote-tracking branch 'kcat/misc-cleanup' 2013-08-26 08:51:19 +02:00
Chris Robinson
0463dc0653 Use a smaller static geometry size for interior cells 2013-08-25 16:08:43 -07:00
Chris Robinson
bd6dd071aa Use the non-accumulation root's parent as the accumulation root
This relies on the non-accumulation root not being the skeleton root. I haven't
found an instance where this isn't the case.
2013-08-25 16:08:42 -07:00
scrawl
5af89a9e8f Fix an AABB assert for loading empty exterior cells 2013-08-26 00:13:42 +02:00
scrawl
1adce8afb3 Fix ambient light getting set from the cell data for non-interior cells 2013-08-22 10:47:48 +02:00
scrawl
ce5ea6d7d2 Use a proper node hierarchy; disconnect the root when entering interior 2013-08-21 17:26:11 +02:00
Chris Robinson
0e56b2facb Merge remote-tracking branch 'zini/master' into physics 2013-08-20 04:42:28 -07:00
scrawl
ecf7786d11 terrain_num_lights was removed 2013-08-20 12:31:47 +02:00
scrawl
fa76d1631b Some terrain fixes 2013-08-20 12:08:46 +02:00
Chris Robinson
a993af53e7 Merge remote-tracking branch 'zini/master' into physics 2013-08-20 02:21:44 -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
3ca4d54bf9 Better handle animations with a 0-length loop 2013-08-19 07:26:42 -07:00
Chris Robinson
75131e6a48 Rebuild the actor after switching between werewolf forms 2013-08-08 17:16:24 -07:00
Chris Robinson
d77d60cbc2 Remove an unneeded forceUpdate method 2013-08-08 15:37:08 -07:00
Chris Robinson
1f6055d54b Don't try to apply body skins for werewolves
They instead use a hidden WerewolfRobe object for their body
2013-08-08 04:40:31 -07:00
Chris Robinson
9694b18d1b Update part skeletons immediately when added 2013-08-08 04:40:30 -07:00
Chris Robinson
f73578a832 Remove unnecessary mBodyPrefix field 2013-08-08 04:40:30 -07:00
Chris Robinson
5051544144 Remove some duplicate code 2013-08-08 04:40:30 -07:00
Chris Robinson
ceed2e30b8 Handle NPCs being a werewolf in NpcAnimation
Note that the body mesh comes from having a WerewolfRobe force-equipped.
2013-08-08 04:40:30 -07:00
Chris Robinson
5ac82a50b7 Remove unused function 2013-08-08 04:40:30 -07:00
Chris Robinson
076e7d8e16 Make insertBegin internal 2013-08-07 03:56:07 -07:00
Chris Robinson
2b2101958d Destroy the scene node we create 2013-08-07 03:56:07 -07:00
Chris Robinson
0458fd5531 Remove unused/unneeded parameters 2013-08-07 03:56:06 -07:00
Marc Zinnschlag
932fffd1a7 Merge remote-tracking branch 'kcat/light-objects' 2013-08-07 11:21:01 +02:00
Chris Robinson
b4b095ca72 Don't try to get the center of a null bounding box 2013-08-07 01:32:36 -07:00
Chris Robinson
80d271aeb1 Remove unused stuff 2013-08-07 01:31:01 -07:00
Chris Robinson
3555476dfd Use Animation-derived objects for generic objects 2013-08-06 19:49:07 -07:00
Chris Robinson
a9dca21d05 Create the Animation SceneNode in the constructor 2013-08-06 19:49:05 -07:00
Chris Robinson
48784c7e2f Use for_each and functors to avoid some for loops 2013-08-06 19:49:05 -07:00
Chris Robinson
de95926e9f Use controllers to animate lights in ObjectLists 2013-08-06 19:49:04 -07:00
Chris Robinson
8984d8f8ee Use a map to simplify NPC part referencing 2013-08-06 19:49:02 -07:00
Chris Robinson
e976bb16c5 Add a light for torches 2013-08-06 19:49:02 -07:00
Chris Robinson
57fb065a86 Add Ogre::Light objects to the object list
Note that NIFs actually have NiLight-based light records which could be
used to create Ogre::Light objects. However, no Morrowind NIF uses them,
as far as I can tell.
2013-08-06 19:49:01 -07:00
Chris Robinson
1f436f9886 Render torches 2013-08-06 19:49:01 -07:00
scrawl
3f7daa4884 Forgot to change initTerrainTextures 2013-08-07 02:58:03 +02:00
scrawl
76e538c22a Unused variable fix 2013-08-07 02:03:23 +02:00
scrawl
726c93c365 Terrain fixes to match vanilla better - vertices need to be mapped directly to texels for colormap and blendmap (this also caused seams at cell borders), layer uv scale appears to be 8 not 10 2013-08-07 01:34:17 +02:00
scrawl
7dc30a01cd Some changes suggested by cppcheck 2013-07-31 18:46:32 +02:00
scrawl
90a5d8b6f5 Fix uninitialized AL listener position/orientation when the game is paused during the first frame 2013-07-30 23:24:18 +02:00
Sebastian Wick
7c24c0a64e fix uninitialized variables 2013-07-29 16:45:35 +02:00
Sebastian Wick
d2b7cb5bb2 First/Third person transitions with mouse wheel 2013-07-29 16:43:16 +02:00
Marc Zinnschlag
3fa4a194a7 Merge remote-tracking branch 'scrawl/master' 2013-07-29 09:59:23 +02:00
scrawl
6164e5bae6 Restored window resizing 2013-07-29 02:32:08 +02:00
Chris Robinson
465f4d2063 Properly handle starting an animation at the end 2013-07-28 09:56:03 -07:00
Marc Zinnschlag
3fbbbdc64b Merge remote-tracking branch 'scrawl/master' 2013-07-26 08:06:53 +02:00
Chris Robinson
92cc566fdc Rename the Class::attack method to Class::hit 2013-07-25 00:30:01 -07:00
Chris Robinson
59f1bc7542 Use time values for the aniamtion's start, stop, and loop points
This seems to be closer to the expected behavior. This more cleanly handles 0-
length animations, especially where the start marker comes after the stop
marker while still being on the same time key.
2013-07-24 08:38:36 -07:00
Chris Robinson
0c8d4d9be2 Add beginnings of melee hits 2013-07-24 02:51:42 -07:00
Chris Robinson
45302f9e25 Handle controllers in the NPC's bound object parts 2013-07-23 22:05:03 -07:00
Chris Robinson
fecb8c1cc4 Fix the completion amount for 0-length anims 2013-07-23 05:30:37 -07:00
Chris Robinson
537d5c4934 Avoid trying to play animations without any animation sources 2013-07-23 04:36:25 -07:00
Chris Robinson
ad6d663e09 Remove some unnecessary debug messages 2013-07-23 03:44:52 -07:00
Chris Robinson
ef17fdeb15 Remove some unused methods 2013-07-23 01:37:41 -07:00
Marc Zinnschlag
ec575200e3 Merge remote-tracking branch 'gus/MeleeCombat2'
Conflicts:
	apps/openmw/mwrender/animation.cpp
2013-07-23 09:12:23 +02:00
Marc Zinnschlag
a8168c58c2 Merge remote-tracking branch 'kolek/thirdpersonzoom' 2013-07-20 18:29:59 +02:00
Kolzi
d12bac2d9e Third person zoom - fixed code review issues. 2013-07-20 16:55:35 +02:00
Kolzi
1b7966ca27 Can zoom in and out in third person view. 2013-07-19 16:12:01 +02:00
Chris Robinson
0cb7d186e7 Use Play_TypeFoot for 'left' and 'right' soundgen keys 2013-07-18 21:50:11 -07:00
scrawl
bf332b633e Make VideoPlayer::playVideo block until the video finishes 2013-07-18 14:14:10 +02:00
Marc Zinnschlag
fdd47e5b73 silenced a warning 2013-07-18 13:50:12 +02:00
Chris Robinson
9ea6b22a83 Handle soundgen animation keys 2013-07-17 23:58:21 -07:00
Chris Robinson
c7692acb79 Update the player's Ptr in mwrender when changing cells 2013-07-17 19:11:03 -07:00
scrawl
91e95e1404 Use the correct slash, chop or thrust animation 2013-07-16 23:32:41 +02:00
Chris Robinson
a932a89e02 Specify the velocity-based animation speed multiplier when playing it 2013-07-16 01:30:03 -07:00
Chris Robinson
f296d13c20 Add a speed multiplier to the animation state 2013-07-16 00:43:31 -07:00
scrawl
daf9dca121 Fix exception when starting a new game 2013-07-15 20:37:36 +02:00
scrawl
c81b852071 Fixes inaccurate ray casts; rely on getCameraToViewportRay 2013-07-15 00:39:37 +02:00
scrawl
fa5198d7b2 Fix an assertion 2013-07-14 14:59:24 +02:00
scrawl
61661c8653 Fix first person meshes casting shadows 2013-07-14 14:55:07 +02:00
scrawl
a049638e7f Fixes character previews getting shadowed randomly 2013-07-14 14:54:40 +02:00
Chris Robinson
3771e5839e Allow some more third person fallbacks in first person 2013-07-13 17:03:10 -07:00
Chris Robinson
5ee889e8b6 Attach the camera to the Head node in first-person 2013-07-13 16:12:38 -07:00
Chris Robinson
2d7620e774 Rotate the neck when looking up and down in first-person 2013-07-13 12:39:06 -07:00
Chris Robinson
4df1f198a7 Avoid a map lookup for every skin body part when updating 2013-07-12 22:32:09 -07:00
Chris Robinson
6de56615aa Avoid casting shadows in first-person view 2013-07-12 22:32:05 -07:00
Chris Robinson
025fa4e0d5 Use a multimap for the bodypart map 2013-07-12 22:32:04 -07:00
Chris Robinson
a5e4faaed2 Show arms and body parts in first person
This isn't yet fully correct. The arms need to rotate up and down with
the camera, and the mesh's bounding box is causing them to blink out at
certain angles since they don't fit the animation.
2013-07-12 22:31:59 -07:00
Chris Robinson
908f010c74 Reset the NPC object root when switching POV
When in first person, the skeleton in the .1st.nif file is used. In
particular, these have extra finger bones that are used by the first
person models.
2013-07-12 22:31:57 -07:00
scrawl
72600a16cf Fix chargen race menu bug, updating a render target from within MyGUI's ControllerManager update is not a good idea 2013-07-06 17:02:40 +02:00
Miroslav Puda
743b3dec99 Correction of libavutil version 2013-06-26 07:17:29 +02:00
eroen
d75391de8e libav-9 - fix missing includes
With libav-9 and ffmpeg-1.0, libavcodec/avcodec.h no longer defines the
AV_CH_LAYOUT_* constants. They have been defined in libavutil/channel_layout.h
for a long time prior to this.
2013-06-24 21:08:28 +02:00
scrawl
4c8a04d9cb Merge branch 'master' of https://github.com/zinnschlag/openmw into sdl_input2
Conflicts:
	apps/openmw/mwinput/inputmanagerimp.cpp
2013-06-15 17:41:42 +02:00
scrawl
5252ffa104 More cleanup 2013-06-15 17:06:27 +02:00
scrawl
f1ff9b69b3 Mouse grab and relative input need to be disabled when the mouse leaves the window; Disabled resolution switching / window resizing for now due to several glitches 2013-06-15 15:33:47 +02:00
scrawl
14a2a26a56 Fullscreen resizing fix 2013-06-12 20:08:55 +02:00
scrawl
403704b92a Use openmw.png for SDL_SetWindowIcon 2013-06-12 16:15:04 +02:00
scrawl
918a1655bb Restored HW cursor rotation and resolution/fullscreen switching 2013-06-12 14:58:07 +02:00
scrawl
495aeb5d3b Merge branch 'master' into HEAD
Conflicts:
	CMakeLists.txt
	apps/openmw/engine.cpp
	apps/openmw/mwgui/cursorreplace.cpp
	apps/openmw/mwgui/cursorreplace.hpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwgui/windowmanagerimp.hpp
	apps/openmw/mwinput/inputmanagerimp.cpp
	libs/openengine/ogre/renderer.cpp
2013-06-12 12:34:33 +02:00
darkf
fc0f04324c Remove some superfluous mSkyManager NULL checks 2013-06-11 20:56:40 -07:00
fstp
98e5cb6d7b Added ifdef to keep backward compatibility with the FFmpeg library. 2013-06-10 15:10:39 +02:00
scrawl
1e7cf4ae1c GLES2 experiment 2013-05-25 04:15:24 +02:00
scrawl
7a2d1cd8ce Security skill 2013-05-19 18:40:37 +02:00
scrawl
c7805e7dd2 Fix sun glare persisting after changing to an interior cell 2013-05-18 23:10:37 +02:00
scrawl
4983d08fe4 Fix a problem with statics disappearing sometimes on the map
Ogre::StaticGeometry doesn't seem to like materials being changed at runtime. It stores raw pointers to Ogre::Technique objects also, which conflicts with shiny's way of managing "unloaded" materials as having zero techniques. If a static geometry object is baked from an unloaded material, it won't find any techniques to use and can't render. By moving the unload call afterwards, it will be detected as in use by a renderable and won't be unloaded. Ideally this needs fixing of Ogre::StaticGeometry to not hold on to Technique objects (they also currently need to be rebuilt whenever user settings are changed, which also causes "unloading" of materials)
2013-05-18 22:55:30 +02:00
scrawl
60563afc10 Fix a new game crash, reset camera 2013-05-17 22:53:43 +02:00
Chris Robinson
e8bbb755c3 Play the left-arm torch animation when it's equipped 2013-05-17 06:21:59 -07:00
Chris Robinson
ee585046ac Don't show weapons in first-person 2013-05-17 01:56:16 -07:00
Chris Robinson
71d39c2fa0 Merge remote-tracking branch 'zini/master' into animations 2013-05-15 06:36:06 -07:00
Chris Robinson
3c5c10144a Remove a duplicate showWeapons call 2013-05-14 19:38:57 -07:00
Marc Zinnschlag
56b2b05f9a Merge remote-tracking branch 'glorf/weather' 2013-05-14 22:56:26 +02:00
Glorf
39c7bc8363 Corrected celestical object sizes 2013-05-14 20:34:40 +02:00
Chris Robinson
355f653614 Use AnimationAlloc instead of AnimationAllocatedObject 2013-05-14 01:30:01 -07:00
Chris Robinson
47a9a4cdff Clean up a for loop 2013-05-14 01:29:15 -07:00
scrawl
96e3b3b7c2 Fix a compile error, OGRE_NEW only works for classes derived from AllocatedObject 2013-05-13 21:03:53 +02:00
scrawl
ac4fa1941d Fix the frame update not getting called on the first frame 2013-05-13 20:08:12 +02:00
Chris Robinson
f83ee5d316 Play ready/unready animations on the upper body 2013-05-13 03:32:00 -07:00
Chris Robinson
a9928bb842 Split up the UpperBody group
Also recognize the [un]equip start and stop text keys.
2013-05-13 02:09:22 -07:00
Chris Robinson
70dc2f77ad Move the priority enum to MWMechanics 2013-05-13 00:54:44 -07:00
Chris Robinson
7ba2508556 add a priority for death animations, and store it in the state list 2013-05-12 19:19:21 -07:00
Chris Robinson
bbb38c61cc Fix queued animations 2013-05-12 05:08:01 -07:00
Chris Robinson
3988866ecd Make sure active groups are updated after a state is auto-disabled 2013-05-12 04:34:37 -07:00
Chris Robinson
2c556e4036 Be smarter about handling non-moving animations
Don't rely on being told by the play method, so the animation can
automatically change without impacting the character controller.
2013-05-12 04:29:42 -07:00
Chris Robinson
4ea347ac52 Use shared pointers to store animation sources
This ensures references to the sources stay valid as long it the object
is, rather than becoming invalidated whenever one is added or removed.
2013-05-11 19:38:23 -07:00
Chris Robinson
6b8a687a79 Add methods to disable an animation
And rename WeaponState to WeaponType
2013-05-10 22:22:39 -07:00
Chris Robinson
6605aa7dec Create three bone groups
This still won't work as expected. Currently there is only one priority level,
and only one animation state per priority level can be active at a time.

It's close, though.
2013-05-10 20:45:09 -07:00
Chris Robinson
abc676eedd Allow specifying which bone groups to play an animation on 2013-05-10 20:05:09 -07:00
Chris Robinson
56eede2610 Search more aggressively for an animation velocity 2013-05-10 19:31:33 -07:00
Chris Robinson
5a9c1e1245 Don't explicitly track the last position 2013-05-10 18:58:14 -07:00
Chris Robinson
7c3b014193 Figure out which animations to play based on priority
Bone group will also be taken into account later.
2013-05-10 18:37:44 -07:00
Chris Robinson
921f534980 Parameterize the number of bone groups 2013-05-10 16:35:43 -07:00
Chris Robinson
8a9b0eb5f7 Store the AnimSource in the animation state 2013-05-10 15:27:29 -07:00
Chris Robinson
58efce5008 Rename animation layers to animation states 2013-05-10 04:01:30 -07:00
Chris Robinson
ccff364b52 Use a map of active layers instead of an array
A bit of an upheaval. Each animation is now a "layer", instead of each layer
having an animation. Incidentally, this is much closer to how Ogre handles
animation states.

In the future, each layer will have a priority, which will be used to determine
which one affects a given bone group (which we currently only have one of).
2013-05-10 03:08:07 -07:00
Chris Robinson
d5490b0f8f Fix an outdated comment 2013-05-09 23:07:50 -07:00
Chris Robinson
74ed1f73b4 Merge remote-tracking branch 'zini/master' into animations 2013-05-09 13:53:38 -07:00
Chris Robinson
8e38dc410f Allow loading multiple animation sources
Animation sources are treated differently from base objects. When given
"path\file.nif", base objects will look for "path\xfile.nif" and use that
if it exists (falling back to the original name if not found). Animation
sources will instead use "path\xfile.kf", ignoring it if the file doesn't
exist.
2013-05-07 16:59:32 -07:00
scrawl
301efb411e Fix exit crash 2013-05-07 19:15:28 +02:00
scrawl
8845c0cee1 Camera relative sky rendering. Now we no longer need to keep sky position in sync with camera. 2013-05-07 17:38:24 +02:00
Chris Robinson
e85bc8b2cd Only load one Nif for Animation objects
This breaks quite a bit, but it's needed for the transition to using the
.kf files.
2013-05-06 23:11:26 -07:00
Chris Robinson
6a3ba41170 Don't store camera nodes, we don't need them. 2013-05-06 21:46:11 -07:00
Chris Robinson
90e29c83c0 Merge remote-tracking branch 'zini/master' into animations
Conflicts:
	apps/openmw/mwmechanics/character.cpp
2013-05-06 19:17:39 -07:00
scrawl
062ff189a2 Merge branch 'master' into memory 2013-05-04 23:04:33 +02:00
scrawl
75dcf52552 Sync extern/shiny, set memory budgets for texture and mesh managers (however this has no effect yet and depends on changes in Ogre being made) 2013-05-03 13:55:57 +02:00
greye
a8b1706678 init pointer value to prevent segfault 2013-05-03 10:51:42 +04:00
kpp
dcccfd9f22 Initialize values 2013-05-02 22:43:21 +04:00
Chris Robinson
d01351431c Merge remote-tracking branch 'zini/master' into animations 2013-04-30 19:27:55 -07:00
Chris Robinson
4b15da076b Move getStateInfo into the character controller 2013-04-30 19:26:41 -07:00
scrawl
91c89e5db4 Use sphere cast instead of ray for camera distance adjustment; use the box orientation value in newtrace 2013-04-30 20:26:59 +02:00
Chris Robinson
020e3e8a8e Show the equipped weapon in the inventory screen
And use the proper pose based on what's equipped.
2013-04-29 12:08:43 -07:00
Chris Robinson
854de1c6c1 Make sure the weapon is in the proper group 2013-04-29 11:43:37 -07:00
Chris Robinson
15a2eeebb8 Merge remote-tracking branch 'zini/master' into animations
Conflicts:
	apps/openmw/mwworld/worldimp.cpp
2013-04-29 10:16:29 -07:00
Chris Robinson
063322b081 Declare some variables closer to where they're used 2013-04-29 10:12:50 -07:00
Chris Robinson
0cf531ba12 Make sure to update parts when the weapon changes 2013-04-29 09:53:36 -07:00
Chris Robinson
a15758ac85 Fix preview and vanity cameras 2013-04-29 08:48:45 -07:00
Chris Robinson
d17e1e83d5 Rename MWRender's Player to Camera 2013-04-29 05:50:40 -07:00
Chris Robinson
dbba126344 Use a method to check if the view should be first person 2013-04-29 04:40:28 -07:00
Chris Robinson
bb8277920b Manage the player's NpcAnimation object in the RenderingManager
It may be more appropriate to manage it in MWRender::Actors with the other
Animation-based objects, but that will need some (minor) interface changes.
2013-04-29 03:31:46 -07:00
scrawl
9648804af5 Fix terrain material leak, this should in theory allow the terrain to free its temporary resources 2013-04-29 10:20:38 +02:00
Chris Robinson
ba3a67f84b Don't store the player base node in MWRender::Player 2013-04-28 23:44:44 -07:00
Chris Robinson
24e503330b Merge remote-tracking branch 'zini/master' into animations 2013-04-28 09:41:31 -07:00
gus
3d9ceede77 little fix (weapons disapeared when tab was pressed) 2013-04-28 12:33:41 +01:00
gus
5388c25e64 Fix or lockpicks. 2013-04-28 11:55:50 +01:00
gus
766d1efa84 Render weapon and shield. Only shield can be seen right now as weapons need to be drawed out. 2013-04-28 11:41:01 +01:00
Chris Robinson
ce7bc20fa1 Avoid special-casing player rotation 2013-04-28 01:14:58 -07:00
Chris Robinson
ab52e68c05 Merge remote-tracking branch 'zini/master' into animations 2013-04-27 05:16:15 -07:00
Chris Robinson
137017b325 Don't allow forcing vanity mode 2013-04-27 01:24:36 -07:00
Marc Zinnschlag
32138dbb0f silenced a warning 2013-04-26 13:33:47 +02:00
Chris Robinson
b666f1d551 Work around a problem with MWRender::Player::renderPlayer
NpcAnimation::setViewMode makes a call to the character controller, in the
mechanics manager, to forcefully update the character's state. This in turn
makes a call to the player's old NpcAniamtion object that was just deleted.

The mechanics manager will eventually remove and reinsert the player, so the
old character controller will be removed and a new one will get the right
Animation object again, but not in time for the setViewMode call.

There's many factors that all contribute to this run-around, which needs
discussion on how to best fix.
2013-04-26 01:30:36 -07:00
Chris Robinson
55ee4e65a9 Clean up the slotlist struct 2013-04-25 23:42:20 -07:00
Chris Robinson
274f3c7b77 Force character state to update after switching view modes 2013-04-25 07:08:11 -07:00
Chris Robinson
2769adcee0 Implement switching to and from first-person animations
Note that the current animation gets interrupted, so switching to first person
may break movement until you stop and try to move again. This can be fixed by
alerting the character controller in the mechanics manager to force a state
update when switching POV.
2013-04-25 05:23:05 -07:00
Chris Robinson
9a2a32f2a5 Add a method to clear all Animation sources except the first
The first needs to remain, since that's where any mSkelBase entity comes from,
and where any retrieved nodes are from.
2013-04-25 05:02:11 -07:00
Chris Robinson
9be20b90f1 Fix potential infinite loop when layer 0 is empty 2013-04-25 03:35:40 -07:00
Chris Robinson
76c8e81908 Merge remote-tracking branch 'zini/master' into nifogre 2013-04-25 01:35:21 -07:00
Chris Robinson
86fda1bff6 Only set mSkelBase from the first objectlist 2013-04-25 00:52:26 -07:00
Chris Robinson
7eac37be23 Make sure the old layer is cleared before starting the next 2013-04-25 00:18:02 -07:00
Chris Robinson
09fc50948b Add methods to disable and get info for a layer 2013-04-25 00:08:16 -07:00
Chris Robinson
24f1eba902 Keep track of whether an animation supplies movement
Also handle it when it doesn't.
2013-04-24 22:45:43 -07:00
Chris Robinson
0817d59f23 Allow specifying where to start in an animation 2013-04-24 19:09:36 -07:00
scrawl
933f894148 Added Blind and Night Eye effects 2013-04-25 02:31:51 +02:00
Marc Zinnschlag
87ce2110dc hotfix for CharacterPreview destructor 2013-04-25 02:31:38 +02:00
Chris Robinson
333354fe62 Remove the character controller from the Animation class 2013-04-24 07:10:41 -07:00
Chris Robinson
b80891099e Don't use the character controller to handle text keys
The Animation class has the Ptr and can call to whatever subsystem is needed.
2013-04-24 06:48:34 -07:00
Chris Robinson
e8cabc9434 Pass the loop count from loopgroup to the play method
Instead of queueing each iteration separately.
2013-04-24 06:32:11 -07:00
Chris Robinson
b482d5be09 Add a method to check if a given layer is playing 2013-04-24 05:23:45 -07:00
Chris Robinson
c58dfbe921 Specify the loop count to Animation::play 2013-04-24 04:56:39 -07:00
Chris Robinson
7241267d5c Make an AnimationValue for each animation layer 2013-04-24 04:41:52 -07:00
Chris Robinson
102b3bdef9 Update position by reference 2013-04-24 01:57:51 -07:00
Chris Robinson
9e05ee53da Avoid looking for the controller if there is no NonAccum node
Also, make sure there is a controller before updating the position.
2013-04-24 01:18:08 -07:00