Commit graph

1419 commits

Author SHA1 Message Date
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