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