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

3581 commits

Author SHA1 Message Date
Chris Robinson
4eb8ea0c95 Fix stepping and vertical force accumulation 2013-02-20 07:51:36 -08:00
Chris Robinson
b14def7c09 Set the character as being on the ground when colliding with a shallow enough slope 2013-02-20 05:24:38 -08:00
Chris Robinson
fe6fa9ebe7 Simplify newtrace a bit 2013-02-20 04:14:52 -08:00
Chris Robinson
617158afcd Ensure updated skeleton bone placement matches in world space
Objects attached to actors (shirts, robes, etc) do not require the same node
hierarchy as the character root. So to ensure proper placement, we need to set
the bone target's derived transformation using the source bone's derived
transformation (which in turn means we need to work up from the root, to ensure
the bone's parents are properly placed).
2013-02-20 02:41:46 -08:00
Chris Robinson
cfdc820a1f Make an actor fly when it has a levitate effect 2013-02-20 01:55:12 -08:00
Emanuel Guevel
3dc28baa28 Remove "PinToggle" event from layout file 2013-02-20 01:31:10 +01:00
Emanuel Guevel
3ba3c71556 Make the "lock window" button to change state visually 2013-02-20 01:30:39 +01:00
Emanuel Guevel
43d6392921 Change the way pinnable window are made visible
This ensure pinned window are not displayed in main menu, dialogue and
container mode.
2013-02-20 01:00:13 +01:00
Chris Robinson
8196694c08 Avoid applying the animation when resetting it 2013-02-19 06:04:25 -08:00
Chris Robinson
f8349a04bf Use the looping portion of the animation to calculate the velocity 2013-02-19 05:26:58 -08:00
Chris Robinson
5d55b41714 Remove a now-unneeded(?) hack 2013-02-19 04:59:38 -08:00
Chris Robinson
89fabdb3a9 Update the PhysicActor's RigidBody when moving
This works, but is less than ideal. As it is now, the rigid body gets updated
twice as the position and rotation are set separately. They should instead be
updated together.
2013-02-19 04:18:15 -08:00
Chris Robinson
1399a06c76 Update animation looping when setting the same state 2013-02-19 04:01:33 -08:00
Chris Robinson
a510adc572 Allow stepping when not being affected by gravity 2013-02-19 02:25:57 -08:00
Chris Robinson
8255a64bfe Handle levitate and swift swim effects 2013-02-19 02:10:36 -08:00
Chris Robinson
c694161272 Don't try to step if not on the ground 2013-02-19 01:28:02 -08:00
Chris Robinson
5a1a0b7338 Add and use an MWWorld::isFlying method 2013-02-18 22:39:43 -08:00
Chris Robinson
17200cb226 Don't try to move when there's no speed 2013-02-18 20:43:55 -08:00
scrawl
5d403ebdd3 Fix collision debug drawer (tcg) 2013-02-19 04:03:24 +01:00
Chris Robinson
627b866744 Don't try to set a new state when dead 2013-02-18 06:29:16 -08:00
Chris Robinson
f2948ced23 Allow diagonal movement 2013-02-18 03:07:31 -08:00
Chris Robinson
bea460955d Merge remote-tracking branch 'zini/next' into animation2 2013-02-17 16:03:39 -08:00
scrawl
b52df83d84 Pressing Enter should skip _one_ message box, not skip all message boxes until the key is released again 2013-02-17 20:23:22 +01:00
scrawl
52d0f0b750 Fixed OpAddItem, OpRemoveItem 2013-02-17 19:44:00 +01:00
scrawl
e1ca0a15ae Add message box when item is added to player's inventory 2013-02-17 18:58:54 +01:00
scrawl
170a9762ac Fix travel services not actually costing gold. 2013-02-17 18:30:21 +01:00
Marc Zinnschlag
31bfe62bbc Merge remote-tracking branch 'scrawl/bug_562' into next 2013-02-17 17:41:19 +01:00
scrawl
5a11ddc485 Pressing F1 again hides the quick keys menu. 2013-02-17 16:01:36 +01:00
scrawl
d899f33444 Race/Class/Birth dialogs: immediately enable OK buttons since they have a preselected entry now. 2013-02-17 16:00:31 +01:00
scrawl
00db13be32 Reverted previous commits, and handle disallowed inventory in MWWorld::Class. Wanted to avoid this, but the previous solution broke teleport door sounds. Also fixed book/scroll window take button showing when inventory was not allowed. 2013-02-17 15:56:22 +01:00
Chris Robinson
e2d7cc49e3 Merge remote-tracking branch 'zini/next' into animation2 2013-02-17 03:42:37 -08:00
Marc Zinnschlag
44d66cbf5a Merge remote-tracking branch 'scrawl/bug_562' into next 2013-02-17 09:09:31 +01:00
Marc Zinnschlag
448293f270 Merge remote-tracking branch 'scrawl/bug_559' into next 2013-02-17 09:09:06 +01:00
Marc Zinnschlag
b8c0c94d5f Merge remote-tracking branch 'wareya/master' into next 2013-02-17 08:58:41 +01:00
scrawl
c4f17f5596 playercontrols switch now disables activation in general (Chris' suggestion) 2013-02-17 03:03:41 +01:00
scrawl
373de19aee Removed dialogue fix again, now on separate branch 2013-02-17 03:02:47 +01:00
scrawl
df8e502f8c Ouch, I used && instead of &, this broke actions without a sound 2013-02-17 02:52:49 +01:00
Wareya
c98a815581 Remove debug printing from previous commit 2013-02-16 13:37:25 -05:00
Wareya
f0220fb06b Implement "Rest Until Healed"
Fixes: https://bugs.openmw.org/issues/563
2013-02-16 13:35:03 -05:00
scrawl
a5c8d5748f fix FailedAction. 2013-02-16 18:05:25 +01:00
scrawl
0bc34c1c0d Action::executeImp returns a bool value to indicate if the sound should be played. 2013-02-16 16:40:44 +01:00
scrawl
7d918caa93 Don't allow dialogue if player controls are disabled. 2013-02-16 16:26:40 +01:00
Marc Zinnschlag
910858c300 Merge remote-tracking branch 'sergeyshambir/guiconvience' into next 2013-02-16 14:50:42 +01:00
Douglas Mencken
eb09662f1d Don't include boost/filesystem/v3/operations.hpp, use boost/filesystem/operations.hpp instead.
It is boost headers' job to deal with their internals.
2013-02-16 14:49:11 +01:00
Chris Robinson
158e18b98d Remove an unused method 2013-02-16 00:30:07 -08:00
Chris Robinson
c965bd8e18 Increase step size to 30 2013-02-15 17:22:55 -08:00
scrawl
4da11a96a5 Fixed gold ref count always becoming 1 when dropped on the ground 2013-02-15 17:34:55 +01:00
Chris Robinson
c57001e3bd Remove an unused field 2013-02-15 05:11:06 -08:00
Chris Robinson
e4341525c8 Add a jump state
Currently unused
2013-02-15 04:45:28 -08:00
Chris Robinson
ff0099fa6e Scale the animation speed based on the animation velocity and movement speed
This may not be totoally correct since it takes the whole animation into
account, rather than just the looping portion. But it's good enough for now.
2013-02-15 02:15:39 -08:00
Chris Robinson
e1a1530774 Better implement Npc::getSpeed 2013-02-15 01:27:57 -08:00
Chris Robinson
3348e8a436 Clarify a comment 2013-02-14 22:41:14 -08:00
Chris Robinson
ac717373b1 Add a method to check if an object is on the ground 2013-02-14 22:35:15 -08:00
Chris Robinson
18b606fddf Use the PhysicActor's set/getOnGround method 2013-02-14 20:10:04 -08:00
Chris Robinson
15dc82f454 Increase step size to 15 2013-02-14 18:59:05 -08:00
Chris Robinson
a729b1b12a Snap to the ground after moving
Depends on two factors:
* End up close enough above to a walkable plane (it's within sMaxStep units
  down and is angled sMaxSlope or less)
* Started out on the ground without any upward movement

This also reduces the distance needed to be to the ground to 4 (from 10), and
ensures the actor is 2 units above the ground when on it. Downward force is
also removed when starting on the ground.
2013-02-14 18:34:51 -08:00
Chris Robinson
6a9755778e Merge remote-tracking branch 'zini/next' into animation2 2013-02-12 18:14:46 -08:00
Marc Zinnschlag
5e3529783d Merge remote-tracking branch 'ace/win-fixes' into next 2013-02-12 15:42:45 +01:00
Alexander "Ace" Olofsson
bbb845824d Added typedef for ssize_t in windows and fixed a use of __PRETTY_FUNCTION__ 2013-02-12 13:59:24 +01:00
Sergey Shambir
7d7a1119da Fixed book text misalignment, at least in some cases
https://bugs.openmw.org/issues/284
2013-02-12 11:49:20 +04:00
Sergey Shambir
03803f19b5 BookTextParser: moved to Ogre::UTFString
Font height and unicode characters glyph width now accounted correctly.
2013-02-12 11:22:19 +04:00
Sergey Shambir
3b64389668 BookTextParser: fixed infinitive loop 2013-02-12 11:14:30 +04:00
Marc Zinnschlag
1a079ec8d3 Merge branch 'master' into next 2013-02-11 19:53:51 +01:00
Marc Zinnschlag
64d9d9e2ce Merge remote-tracking branch 'wheybags/master' into next 2013-02-10 17:29:28 +01:00
Tom Mason
c32c31f6d6 break after activating button 2013-02-10 15:41:02 +00:00
Tom Mason
158c6fc9fa pressing enter when a messagebox is prompting for "ok", will activate ok button 2013-02-10 14:58:46 +00:00
Sergey Shambir
59808c3e10 GUI: Birth and Class dialogs now both select 1st item in list at first
time.
2013-02-10 08:59:38 +04:00
Sergey Shambir
725bfe6372 TradeWindow: balance now changes per time if user holds +/- button
pressed
2013-02-10 08:50:36 +04:00
Sergey Shambir
bba024d6ad Right mouse button click now stops Container GuiMode. 2013-02-10 08:37:45 +04:00
Chris Robinson
4ee5857bae Filter accumulation axis for mLastPosition as needed 2013-02-09 19:09:56 -08:00
Chris Robinson
8d6f017f17 Remove an unneeded Animation field 2013-02-09 13:25:39 -08:00
Chris Robinson
34ddf69a31 Merge remote-tracking branch 'zini/next' into animation2 2013-02-09 09:46:57 -08:00
Marc Zinnschlag
f19fbaa293 Merge remote-tracking branch 'mark76/multiple_esm_esp' into next 2013-02-09 15:30:29 +01:00
Mark Siewert
55bd9eef66 Merge remote-tracking branch 'upstream/master' into multiple_esm_esp 2013-02-09 13:03:35 +01:00
Mark Siewert
eefbdde6de - For pull request: remove all instances of maps used to track refnumbers.
- new file: apps/openmw/mwworld/store.cpp, had to move reference merging method out of the header file to prevent three-way recursion/unresolved forward references in custom compare operators.
2013-02-09 13:00:57 +01:00
Chris Robinson
f5afa43db5 Remove an unneeded parameter 2013-02-07 17:45:41 -08:00
Chris Robinson
d47d2216f2 Use some const references where appropriate 2013-02-07 16:33:44 -08:00
Chris Robinson
cbdd459500 Remove unneeded playerMove from PhysicActor 2013-02-07 15:48:41 -08:00
Chris Robinson
ca6f8b6d88 Reorganize a bit of code in the movement solver 2013-02-07 13:18:16 -08:00
Chris Robinson
fe0e6c452d Remove the unneeded playerMove object from PhysicsSystem 2013-02-07 12:11:10 -08:00
Nikolay Kasyanov
0d4b0bfd93 Trying to resolve sound issues on OS X with ffmpeg backend 2013-02-07 23:40:20 +04:00
Chris Robinson
8de2d24d0e Restore old ground check 2013-02-06 21:57:59 -08:00
Chris Robinson
923d0d6eb4 Fix up some header includes 2013-02-06 21:47:09 -08:00
Chris Robinson
e577ee2de8 Add a method to set/retrieve being on the ground 2013-02-06 21:44:58 -08:00
Chris Robinson
ebc7bc9427 Rename A_AlwaysRun to A_Run
Note that there is an "always run" key, but its functionality is handled by
A_ToggleWalk.
2013-02-06 18:22:16 -08:00
Chris Robinson
a8f0ce43a5 Add a run key 2013-02-06 17:51:47 -08:00
Chris Robinson
cbaf489eb6 Add running states 2013-02-06 16:53:52 -08:00
Chris Robinson
04524fbf92 Don't scale the movement vector up 2013-02-06 15:23:52 -08:00
Chris Robinson
bdda7278c4 Use 3/4ths of the physic actor's height to test if swimming 2013-02-06 12:56:30 -08:00
Chris Robinson
dfd16c4424 Fix movement rotations 2013-02-06 12:39:26 -08:00
Marc Zinnschlag
43912f927a Merge remote-tracking branch 'potatoesmaster/importer' into next
Conflicts:
	apps/openmw/mwworld/worldimp.cpp
2013-02-06 10:12:40 +01:00
Chris Robinson
9cf30f39bd Don't apply gravity when swimming 2013-02-05 19:45:51 -08:00
Chris Robinson
fc307e64b0 Add swimming states 2013-02-05 19:05:07 -08:00
Chris Robinson
18b7008409 Better fix some scaling issues 2013-02-05 18:25:09 -08:00
Chris Robinson
535cd8360f Load extra animations for NPCs 2013-02-05 18:09:43 -08:00
Chris Robinson
8b1e7b95ba Attempt to load the skeleton source if it doesn't yet exist 2013-02-05 17:55:12 -08:00
Chris Robinson
c839502743 Setup base_anim.nif as an initial skeleton source for biped creatures 2013-02-05 17:16:45 -08:00
Chris Robinson
054ef3113a Check existing skeleton sources if the current one has no animation root 2013-02-05 17:15:40 -08:00
Chris Robinson
16933e3926 Scale the accumulation root translation 2013-02-05 16:59:20 -08:00
Chris Robinson
600fe06f00 Use a vector of skeletons to handle animation sources 2013-02-05 16:29:51 -08:00
Chris Robinson
e217a3d25c Silence some console spam 2013-02-05 15:51:26 -08:00
Chris Robinson
ee3764e9b3 Increase max slope to 60. 45 is too low. 2013-02-05 15:07:48 -08:00
Chris Robinson
8c0bb1ff4d Rotate movement in the movement solver 2013-02-05 14:02:14 -08:00
Chris Robinson
f7f1adfb9d Don't accumulate animations with activators 2013-02-05 12:55:06 -08:00
Chris Robinson
2c39760bd5 Move the movement solver code to mwworld's physics system 2013-02-05 12:45:10 -08:00
Chris Robinson
0a4568bd11 Move the PtrMovementList typedef to MWWorld
Use it for the doPhysics parameter, too
2013-02-05 11:03:39 -08:00
Chris Robinson
2cdda96798 Clear out some unneeded doPhysics stuff 2013-02-05 10:23:26 -08:00
Chris Robinson
3251796ba0 Fix left/right movement 2013-02-05 09:57:08 -08:00
Chris Robinson
d50832081c Remove the unneeded PhysicActor field from MovementSolver 2013-02-05 09:37:02 -08:00
Chris Robinson
a782a9109b Store the vertical velocity in the physic actor 2013-02-05 09:24:22 -08:00
Chris Robinson
82e4da4e64 Get the half-extents from the physicactor 2013-02-05 07:41:57 -08:00
Chris Robinson
1c604445ba Store movement vectors as they get returned 2013-02-05 06:59:01 -08:00
Chris Robinson
4bd1e63ac1 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	apps/openmw/mwworld/worldimp.cpp
2013-02-05 03:26:46 -08:00
Marc Zinnschlag
c409f1184e cleaned up object movement and fixed a bug regarding local scripts 2013-02-05 12:19:06 +01:00
Chris Robinson
786cb6e928 Merge remote-tracking branch 'zini/master' into animation2 2013-02-05 02:57:02 -08:00
Marc Zinnschlag
86fb3574a0 Merge remote-tracking branch 'wheybags/master' into next 2013-02-05 11:55:47 +01:00
Chris Robinson
bd4fdf47a3 Merge remote-tracking branch 'zini/master' into animation2
Conflicts:
	apps/openmw/mwrender/sky.cpp
2013-02-05 02:27:57 -08:00
scrawl
09180666b2 Merge branch 'master' of git://github.com/zinnschlag/openmw into terrainfix 2013-02-05 00:21:42 +01:00
scrawl
58cf182db2 better place for syncing 2013-02-05 00:21:29 +01:00
scrawl
596628d339 Fix terrain derived data update (bug 534, bug 544) 2013-02-04 23:13:01 +01:00
Chris Robinson
5ee298cdc1 Make sure the player updates last 2013-02-04 14:08:38 -08:00
Chris Robinson
2f8affc955 Make sure the player's controller is properly updated when they change 2013-02-04 12:58:06 -08:00
Chris Robinson
ee9b19d2ed Make sure to remove a Ptr from the activators when requested 2013-02-04 12:04:06 -08:00
Chris Robinson
39cf7b0b42 Pass the Ptr of the object being moved to the move method
This prevents having to store another copy of it, which risks getting out of
sync.
2013-02-04 11:17:48 -08:00
Chris Robinson
1a5cb8760d Rotate movement vector to world space before passing to the movement solver 2013-02-04 11:04:20 -08:00
Chris Robinson
6b32fa7999 Use the correct position for the actor 2013-02-04 09:48:21 -08:00
scrawl
bf037b7d29 Removed problematic ModVertexAlpha method, now done in shader 2013-02-04 18:03:03 +01:00
Chris Robinson
1747c1e01a Integrate a new movement solver to handle object movement and collisions
Temporary, and pretty breoken. Needs some serious integration fixes.
2013-02-04 07:10:14 -08:00
Chris Robinson
91513206a0 Don't use per-animation accumulation values
This breaks walking diagonally and "jumping" (which technically wasn't jumping
anyway).
2013-02-03 12:02:51 -08:00
Chris Robinson
51d5efeeb2 Work out the state in the character controller update method 2013-02-03 07:15:34 -08:00
Mark Siewert
3e43db5f76 Merge remote-tracking branch 'upstream/master' into multiple_esm_esp 2013-02-03 16:14:41 +01:00
Tom Mason
ac112ef972 refactored special variable code 2013-02-03 13:27:27 +00:00
Marc Zinnschlag
c97553703a fixes for static build without cg 2013-02-03 13:47:55 +01:00
Chris Robinson
23acf4b130 Don't break right away when the animation time remaining is 0 2013-02-03 01:38:42 -08:00
Chris Robinson
60a75cb5ee Make sure to keep the character preview animation updated 2013-02-03 00:54:50 -08:00
Chris Robinson
7fe877d8ea Add a couple more character states 2013-02-03 00:19:22 -08:00
Chris Robinson
007a5963de Handle most state changes in the character controller when setting the movement vector 2013-02-02 23:39:43 -08:00
Tom Mason
f785659297 Implemented OnPCAdd special variable
Had to edit OpAddItem in miscextensions.cpp, as local variables were not being initialised
for items added through it.
Does not get reset on drop, as per original morrowind.
2013-02-02 17:36:12 +00:00
Chris Robinson
c23a96d606 Run an aniamtion update after "playing" the inventory idle
This is so all the NPC parts get updated correctly.
2013-02-02 06:08:03 -08:00
Chris Robinson
fc7590694d Revert "Revert "Use a child scene node for the accumulation root""
This reverts commit 376dfed15b.

I was wrong. It's needed at least for NPCs since they're attaching multiple
animated skeletons to an object, and they all need to be offset correctly.

Would be nice to use a Node, Bone, or TagPoint instead of a hefty SceneNode,
though.
2013-02-02 05:43:37 -08:00
Marc Zinnschlag
85697e4628 reverted to C++03 2013-02-02 13:24:28 +01:00
Chris Robinson
7f87c1873b Use an array to store the entity parts 2013-02-02 02:53:22 -08:00
Chris Robinson
376dfed15b Revert "Use a child scene node for the accumulation root"
This reverts commit d6f923f274.

We don't need it for any of the NIFs we're currently handling. As long as
there's no NIF files that would break it, we should require a stationary root
if an animation wants to accumulate. If we must, a better idea may be to inject
an extra bone into the skeleton instance and make that the accumulation root.
2013-02-01 08:50:32 -08:00
Tom Mason
0f58e03343 Unequipping items will reset OnPCEquip variable 2013-01-31 19:04:39 +00:00
Tom Mason
9ad08520fd Implemented OnPCDrop special variable
Scripts are responsible for resetting to 0, as investigation showed that is how vanilla handled it.
2013-01-31 18:45:32 +00:00
Tom Mason
0fc5ee5149 allow OnPCEquip special variable to be of any type 2013-01-31 17:46:16 +00:00
Chris Robinson
d6f923f274 Use a child scene node for the accumulation root 2013-01-30 22:28:18 -08:00
Tom Mason
09f9557ecb Implemented OnPCEquip special variable 2013-01-31 00:34:16 +00:00
Tom Mason
dc91211b12 Fixed Small bug where scripts were being removed when they shouldn't be.
Scripts should only be removed when the item is being moved to another cell, otherwise they should remain active.
2013-01-31 00:21:04 +00:00
Chris Robinson
b6354c6282 Don't share skeleton instances between bounded parts on an NPC
However, a skeleton instance will still be shared between entities in an entity
list.
2013-01-30 09:29:16 -08:00