David Cernat
7db74509e0
Merge pull request #412 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwscript/transformationextensions.cpp
2018-04-25 21:55:32 +03:00
Capostrophic
37dc3200d1
Inherit the calling object scale in PlaceAt ( fixes #4308 )
2018-04-20 00:15:26 +03:00
David Cernat
029dfc56ba
[General] Implement player scale as part of PlayerShapeshift
2018-02-01 02:11:45 +02:00
David Cernat
595bc5a152
[Client] Only send ObjectScale packets when scale actually changes
2018-01-28 05:58:56 +02:00
David Cernat
ecb0ad0d77
Merge pull request #359 from OpenMW/master while resolving conflicts
...
# Conflicts:
# .travis.yml
2017-12-25 02:03:02 +02:00
Andrei Kortunov
ba46473038
Do not skip weather transitions from SetPos script command (bug #3603 )
2017-12-13 10:53:23 +04:00
Andrei Kortunov
c908ad2fba
Do not allow to place actors underground via SetPos (bug #3783 )
2017-12-10 14:38:02 +04:00
David Cernat
056d54e9f7
[Client] Only send ObjectScale packets for objects located in cells
2017-08-23 02:45:38 +03:00
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
2017-05-29 06:59:05 +03:00
David Cernat
97768be14b
[Client] Send ObjectPlace packet for random creatures interrupting rest
2017-05-25 01:00:47 +03:00
David Cernat
dcc61a095a
[Client] Allow multiple WorldObjects to be added to a WorldEvent
2017-05-06 20:44:39 +03:00
David Cernat
a82646a130
[Client] Delineate tes3mp-only code more clearly, part 2
2017-04-24 19:46:12 +03:00
David Cernat
9759764699
[Client] Clean up getting and resetting of WorldEvent
2017-04-05 09:04:41 +03:00
David Cernat
4abe295a80
[Client] Simplify sending of world packets by adding WorldEvent methods
2017-04-05 07:54:23 +03:00
David Cernat
8b8c01f389
[General] Make ID_OBJECT_PLACE take effect only when sent back by server
2017-04-04 11:43:33 +03:00
David Cernat
2bd81c3de0
[Client] Use mpNum for every WorldObject
2017-04-04 11:07:16 +03:00
David Cernat
e5cf632e1d
[Client] Stop creating new reference numbers for placed/spawned objects
2017-04-04 06:01:48 +03:00
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
David Cernat
df051a777a
Merge pull request #181 from OpenMW/master
...
Add OpenMW commits up to 4 Mar 2017
2017-03-04 22:56:16 +02:00
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
Koncord
cea1425db1
[Client] Remove redundant newlines & keep ~120 columns
2017-03-04 14:55:35 +08:00
David Cernat
a58601fb2b
[Client] Delineate tes3mp-only code more clearly, part 1
2017-02-26 16:59:53 +02:00
David Cernat
ed2176c984
[Client] Reuse 1 BaseEvent over and over instead of creating new ones
2017-02-23 09:19:09 +02:00
David Cernat
e703dd42aa
[Client] Rename LocalEvent into WorldEvent
2017-02-06 17:40:32 +02:00
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
2017-02-05 13:45:12 +02:00
Koncord
f78c749981
[Client] Use "NULL" instead "nullptr"
...
nullptr keyword introduced in C++11
2017-02-01 15:58:29 +08:00
David Cernat
703f253712
[Client] Delete new LocalEvents after sending them
2017-01-31 09:48:37 +02:00
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
2017-01-28 12:34:45 +02:00
David Cernat
624b85347a
[Client] Create LocalEvent class and use it instead of WorldEvent
2017-01-27 20:57:47 +02:00
Koncord
804259b2c9
Change some printf to LOG_MESSAGE_SIMPLE
...
printf is not streamed to files
2016-12-16 18:50:34 +08:00
Koncord
536715cf46
Cleanup tes3mp headers
2016-12-16 16:59:15 +08:00
David Cernat
fa9d6e810e
Use lowerCamelCase in tes3mp client function names like OpenMW does
2016-11-15 21:54:06 +02:00
David Cernat
41504bd02a
Use more accurate position for ID_OBJECT_PLACE
2016-10-30 00:51:23 +03:00
David Cernat
a4647de048
Break away from OpenMW by giving RefNum indexes to new created objects
2016-10-30 00:21:55 +03:00
David Cernat
180aa3f2f3
Send item count ID_WORLD_OBJECT_PLACE
2016-10-28 22:35:01 +03:00
David Cernat
e7ebeb8eec
Stop sending ID_OBJECT_MOVE and ID_OBJECT_ROTATE from scripts, because it clashes with syncing script variable values across players and makes movements and rotations happen twice
2016-10-26 10:01:55 +03:00
David Cernat
cc40b85034
Don't send packets for floating objects
2016-10-25 16:30:31 +03:00
David Cernat
b1051255e0
Send ID_OBJECT_ROTATE from ingame scripts
2016-10-25 14:42:54 +03:00
David Cernat
54ed9a7ab4
Implement ID_OBJECT_MOVE and send it from ingame scripts
2016-10-25 14:07:00 +03:00
David Cernat
c25ebc34b3
Shorten WorldPacket IDs by removing WORLD from them
2016-10-25 12:15:27 +03:00
David Cernat
7264f13b8e
Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts
2016-10-25 00:52:42 +03:00
David Cernat
6bfaf3be50
Send an ID_WORLD_OBJECT_PLACE whenever ingame scripts place objects
2016-10-23 20:48:24 +03:00
scrawl
ab2089bbf3
Throw an exception if placeAt is passed an invalid direction parameter
2016-06-02 21:19:02 +02:00
scrawl
6df71f6250
Factor out safePlaceObject function
2016-02-29 17:19:22 +01:00
scrawl
11f00e3aa9
Rename safePlaceObject to placeObject
2016-02-29 17:05:18 +01:00
scrawl
be2f20f564
PlaceAt: attempt to select a safe spawn location ( Fixes #2515 , Fixes #1384 , Fixes #2925 )
2016-02-29 16:54:00 +01:00
scrawl
5cdee454ef
Fix degree/radians mixup ( Fixes #3213 )
2016-02-22 19:13:56 +01:00
scrawl
f0971ee8ad
Implement Fixme script instruction
2016-01-20 04:07:07 +01:00
scrawl
bdae572264
Merge pull request #840 from scrawl/movedrefs
...
Object movement between cells
2015-12-09 14:10:57 +01:00
scrawl
a699b4128a
Add isInCell checks to PlaceAt and PlaceItem ( Fixes #2873 )
...
Avoids the game crashing when a script calls these functions before the player has been moved to the starting location.
2015-12-09 00:49:50 +01:00
scrawl
45a609bc54
Improve PositionCell warning message
2015-12-06 22:37:04 +01:00
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
2015-11-22 19:54:26 +01:00
Emmanuel Anne
af7b5e636e
improves InterpreterContext::updatePtr
...
This checks the update is really on the right pointer. It fixes the boat
disappearing in "fishing academy", and it allows scripts linked to objects
not to loose their default reference when using the object-> notation on
another object.
2015-11-12 17:53:17 +01:00
scrawl
19cd987208
Fix Ptr updates in PositionCell
...
This was not the proper way to get the updated Ptr, it will only work for the player which isn't owned by any cell. For other objects, moving between cells makes the object owned by that cell and thus the getBase() pointer will change.
2015-11-12 14:32:39 +01:00
scrawl
90b6fa5ef1
PlaceItem, PlaceItemCell angle should be treated as degrees ( Fixes #3007 )
2015-11-12 01:44:29 +01:00
scrawl
b4ce73f179
Rotations: remove LocalRotation
...
This never existed in vanilla MW in the first place. The reason we got confused was because of a strange behaviour where the order of applying rotations changes as soon as a script touches the object's rotation.
2015-11-12 01:16:37 +01:00
scrawl
666fbba1e0
Rotations: World::rotateObject takes radians instead of degrees
...
Cuts down on the amount of redundant degree<->radians conversions in the codebase.
2015-11-12 01:09:39 +01:00
dteviot
77a1d947cc
extracted MWMechanics::getPlayer()
2015-08-21 21:12:39 +12:00
scrawl
4bb3cbf0fb
Remove last remains of Ogre
2015-06-03 23:04:35 +02:00
scrawl
b70383d127
Remove last remains of Ogre math
2015-06-03 21:37:21 +02:00
scrawl
22f01b1232
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/launcher/graphicspage.cpp
apps/opencs/editor.cpp
apps/opencs/model/doc/document.cpp
apps/opencs/view/render/cell.cpp
apps/opencs/view/render/mousestate.cpp
apps/opencs/view/render/textoverlay.cpp
apps/opencs/view/render/worldspacewidget.cpp
apps/openmw/mwclass/creature.cpp
apps/openmw/mwclass/npc.cpp
apps/openmw/mwgui/inventorywindow.cpp
apps/openmw/mwgui/loadingscreen.cpp
apps/openmw/mwgui/mapwindow.cpp
apps/openmw/mwgui/pickpocketitemmodel.cpp
apps/openmw/mwgui/waitdialog.cpp
apps/openmw/mwmechanics/combat.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
apps/openmw/mwrender/globalmap.cpp
apps/openmw/mwworld/physicssystem.cpp
apps/openmw/mwworld/refdata.cpp
apps/openmw/mwworld/scene.cpp
apps/openmw/mwworld/worldimp.cpp
components/sdlutil/sdlinputwrapper.cpp
extern/shiny/Main/Factory.cpp
extern/shiny/Main/MaterialInstance.cpp
extern/shiny/Main/Platform.cpp
extern/shiny/Main/ShaderSet.cpp
2015-05-23 20:33:44 +02:00
scrawl
8bcfac1ea3
Fix adjustPosition not always working correctly ( Fixes #2563 )
...
moveObject was returning an incorrect Ptr for cell movements.
2015-05-17 18:16:42 +02:00
scrawl
7a3bc69df7
Readded sound listener
2015-05-12 19:02:56 +02:00
scrawl
c92592493e
OpenMW: create a window and render the starting cell(s)
2015-04-12 15:38:30 +02:00
scrawl
3879ce6ac1
Get rid of "player" string checks ( Fixes #2216 )
2015-03-11 23:07:39 +01:00
dteviot
e197f5318b
fixing MSVC 2013 warning C4244: & C4305
...
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
2015-03-08 13:07:29 +13:00
Scott Howard
d01e8cc97d
PositionCell/PlaceItemCell: add console message if cell doesn't exist
2015-03-03 17:36:22 -05:00
Scott Howard
53213bf236
if cell doesn't exist, PositionCell and PlaceItemCell warn std::err but still execute, bug #2407
2015-03-02 11:53:59 -05:00
Alexander "Ace" Olofsson
fce404acc5
Remove some including of mwbase/world.hpp
...
Since ref.hpp is rather well used in OpenMW-CS this should help compile times there
2015-02-09 17:45:48 +01:00
Alexander "Ace" Olofsson
df5a08b6de
Move manualref code out of header
2015-02-09 15:01:49 +01:00
scrawl
6ea59c93ab
Ignore the object scale in Move instruction ( Fixes #2275 )
2015-02-05 04:18:42 +01:00
scrawl
7d76f1a113
PlaceAt count argument should spawn independent references ( Fixes #2283 )
2015-01-31 22:40:41 +01:00
scrawl
0a2dd4c6cb
Fix unsafe use of BaseNode in Move script instruction
2014-12-27 17:20:37 +01:00
scrawl
2601b26217
Merge branch 'master' of https://github.com/OpenMW/openmw
2014-12-11 22:44:58 +01:00
scrawl
7892ed35f3
PlaceItem, PlaceItemCell: Make sure references are placed above terrain (Bug #2078 )
2014-12-11 22:25:53 +01:00
scrawl
7e8ca3fff1
Fix object movement between cells producing a stale Ptr within the script execution (Bug #1942 )
2014-12-11 19:29:06 +01:00
scrawl
b9d0552166
Fix positionCell rotation argument when used on the player
...
This fixes the player's initial orientation on the starting boat, to properly face Jiub.
2014-12-01 23:09:47 +01:00
scrawl
628600a0a5
Make PlaceItem place the item in the player's current worldspace
2014-09-08 23:57:16 +02:00
scrawl
267cf4e140
Implement ResetActors script instruction ( Fixes #1859 )
2014-08-30 18:27:32 +02:00
scrawl
36ba56d037
Make Position instruction move non-player actors within their cell only ( Fixes #1791 )
2014-08-11 02:01:20 +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
0704fa2b3d
Reset local rotation axis in SetAngle ( Fixes #1630 )
2014-07-09 10:23:01 +02:00
scrawl
ad0a182b7e
Improve error message for unknown cells
2014-06-19 20:08:53 +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
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
6bd0bbb8df
Do not load (0,0) on new game
2014-05-19 14:09:16 +02:00
slothlife
f33559fead
Fixes for MSVC warnings, less overall changes
...
Kept some fixes from the first round of review. Found out that several
targets weren't being built with the same basic warnings disabled.
Disabled a few warnings for external libraries specifically, rather than
applying them to all targets.
2014-05-14 20:12:52 -05:00
slothlife
c160a04ede
Revert "Fixes for warnings when building with MSVC"
...
This reverts commit 46eb20b98c
.
2014-05-14 00:03:30 -05:00
slothlife
46eb20b98c
Fixes for warnings when building with MSVC
...
Most warnings are innocuous (wrong type-specifier for forward
declarations, conversion of literals into unsigned integers, warnings
about methods optimized out), but I believe actual bugs were revealed in
vartypedelegate.cpp and combat.cpp.
2014-05-09 08:32:52 -05:00
cc9cii
b2e3fa70c2
Fix spelling errors in comments.
2014-03-14 07:04:39 +11:00
scrawl
12de0afb03
Feature #50 : Spawn projectiles
...
Fix a bug in copyObjectToCell.
Make actor rotations more consistent.
2014-03-08 01:31:27 +01:00
scrawl
d0500e8124
Some unneeded includes cleanup
2014-01-15 14:53:28 +01:00
scrawl
098f9712f1
Add getPlayerPtr() utility method. Reduces dependencies a lot.
2014-01-08 18:39:44 +01:00
scrawl
c558e12212
Don't try to move objects that are not in a cell
2014-01-02 03:06:48 +01:00
Lukasz Gromanowski
e9844e1b37
Fixes #417 : Apply weather instantly when teleporting
...
Changed teleporting detection from "position tracking" to manually
setting "teleportation" flag ( player->setTeleported(true) ).
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-31 20:40:23 +01:00
scrawl
bb4bd999ba
PlaceAt: Copy the rotation when placing a non-actor. Don't modify placement position by bounding box for non-actors. Fixes placement in Graphic Herbalism mod.
2013-11-30 08:29:22 +01:00
Emanuel Guevel
aefa54d72d
Pass item count to ManualRef constructor
...
This remove the need to call setCount in multiple places.
2013-11-10 02:45:16 +01:00
Emanuel Guevel
f4f2586e8c
Remove duplicate code for PlaceAtMe/PlaceAtPC using a template
2013-11-10 02:45:16 +01:00
Alex
de1f423bd7
initial move of script opcodes and registerExtensions functions to components/compiler
2013-08-06 20:38:41 -04:00