1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-25 00:23:50 +00:00
Commit graph

5921 commits

Author SHA1 Message Date
David Cernat
271dc3df87 [General] Rename unused ObjectCollision into ObjectSound 2020-01-26 13:30:28 +02:00
David Cernat
fcebd9f4ae [General] Rename unused ActorInteraction into ActorSpellsActive 2020-01-26 12:47:49 +02:00
David Cernat
a1142a8fb5 [General] Renamed unused PlayerActiveSkills into PlayerSpellsActive 2020-01-26 10:58:22 +02:00
David Cernat
975797c09b [General] Implement ObjectRestock packet
Restocking object containers via trading now requires the server to send back an ObjectRestock packet before it can happen.

The unused packet ID ID_SCRIPT_GLOBAL_FLOAT has been replaced with ID_OBJECT_RESTOCK.
2020-01-23 12:50:34 +02:00
elsid
1e106013a0
Use navmesh to find wander destination outside pathgrid for ground based actors
Use dtNavMeshQuery::findRandomPointAroundCircle from recastnavigation
2020-01-21 00:01:06 +01:00
Koncord
02668cd45d
Add accidentally forgotten files to build 2020-01-19 14:29:37 +08:00
David Cernat
8e5859b466 [General] Add RESTOCK to enum of Container subactions 2020-01-16 14:03:29 +02:00
David Cernat
60b6f92fa3 Add OpenMW commits up to 13 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2020-01-15 07:49:26 +02:00
Koncord
61ef177d48
Build debug, debugging and debuglog for all targets
The server will require SDL2
2020-01-14 15:49:28 +08:00
Koncord
b9da843196
Add forgotten stdexcept include 2020-01-14 13:44:54 +08:00
Koncord
090f13b334
Fix CMake files to allow build server only 2020-01-14 13:44:14 +08:00
capostrophic
89055f1c6c Generate WNAM upon saving terrain 2020-01-11 02:42:04 +03:00
Bret Curtis
95f9e4f4c9
Merge pull request #2649 from Capostrophic/nifstreamline
Yet more NIF adjustments
2020-01-10 22:07:25 +01:00
Alexei Dobrohotov
7a4caaf5bf
Merge pull request #2660 from akortunov/boost
Additional de-boosting
2020-01-09 22:14:32 +03:00
Alexei Dobrohotov
ff2739b8a3
Merge pull request #2651 from akortunov/encoding
Unify streams usage to support non-ASCII paths
2020-01-09 22:12:55 +03:00
Andrei Kortunov
a250a405b4 An attempt to fix the MSVC2017 build 2020-01-09 20:42:06 +04:00
Andrei Kortunov
1cdd33b434 Implement additional stringops to avoid Boost functions 2020-01-09 19:40:22 +04:00
Andrei Kortunov
cb1a8ec518 Do not link the Boost threads library 2020-01-09 19:40:22 +04:00
David Cernat
e6c626f127 [General] Move handling of client globals to ClientScriptGlobal packet
ClientScriptGlobal is a new Worldstate packet that handles short, long and float values for global variables in clientside scripts.

Previously, short values were handled by the ScriptGlobalShort packet, while a partially implemented ScriptGlobalFloat packet also existed, but both of those packets were Object packets because they were added near the end of 2016 when only Player and Object packets existed (with the latter actually being called WorldEvent packets at the time). Both ScriptGlobalShort and ScriptGlobalFloat have now been removed.

The serverside script functions previously used to interact with ScriptGlobalShort have, however, been kept so they can be adjusted to work with local variables in clientside scripts instead in a future commit.
2020-01-04 09:56:37 +02:00
capostrophic
0467e8ee15 Avoid heap corruption while reading SCVR (bug #4680) 2020-01-04 01:34:41 +03:00
Andrei Kortunov
3704acf857 Unify streams usage to support non-ASCII paths (bug #5239) 2020-01-03 07:10:17 +04:00
David Cernat
a58f09fd6c Add OpenMW commits up to 2 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/enchanting.cpp
#	apps/openmw/mwworld/scene.cpp
2020-01-02 22:09:54 +02:00
capostrophic
f234d53269 Don't use double negation 2020-01-02 13:13:57 +03:00
capostrophic
32caab663f Enumerate interpolation types properly 2020-01-02 13:07:27 +03:00
capostrophic
e654a52b70 More NIF adjustments
Constant interpolation support
2020-01-02 13:07:27 +03:00
Andrei Kortunov
75fed1d236 Print error code when failed to open file on Windows 2020-01-02 09:28:38 +04:00
Alexei Dobrohotov
133b99bf18
Merge pull request #2622 from akortunov/testcells
Implement TestCells and TestInteriorCells console commands
2019-12-29 14:27:48 +03:00
Alexei Dobrohotov
2693598d82
Merge pull request #2642 from akortunov/warnfix2
Add safety checks for door state
2019-12-23 21:22:56 +03:00
Alexei Dobrohotov
dfcc6d8b5a
Merge pull request #2640 from akortunov/save
Do not store gold-specific value for everything
2019-12-23 21:22:26 +03:00
Andrei Kortunov
24044b08e0 Do not store gold-specific value for everything 2019-12-23 19:34:57 +04:00
Andrei Kortunov
88a695f251 Add safety checks for door state 2019-12-23 19:29:12 +04:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
Andrei Kortunov
cd81f81fb6 Initialize variables to avoid GCC warnings 2019-12-22 10:44:14 +04:00
David Cernat
ca9cd90a4d Add OpenMW commits up to 20 Dec 2019
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
2019-12-20 15:43:50 +02:00
David Cernat
32c7406eda [General] Implement OnObjectHit packet, part 3
Include damage, block states and knockdown states in ObjectHit packets about successful hits. Add serverside script functions for reading that information.
2019-12-19 13:53:18 +02:00
David Cernat
c18aab5357 [General] Use default values of 0 for Attack floats in BaseStructs 2019-12-19 13:51:10 +02:00
David Cernat
868ad2b78f [General] Use default value of false for Attack booleans in BaseStructs 2019-12-19 13:38:05 +02:00
Assumeru
737aa1e4e8 Remove FactionID editing from OpenCS (#2636)
* Remove FactionID editing

* remove useless comments

* rename FactionID to Unknown
2019-12-18 20:42:54 +03:00
Assumeru
dfbe0021a5 Change rescaling to be more inline with vanilla (fixes #5214) (#2635)
* move rescaling to loadData

* clamp on save
2019-12-18 19:37:45 +03:00
Alexei Dobrohotov
f3e8fbfded Merge branch 'range-safety' into 'master'
Make script literal lookup functions safer

See merge request OpenMW/openmw!113
2019-12-18 15:27:49 +00:00
Andrei Kortunov
c41562fa27 Make TextureProperty warnings more informative 2019-12-15 13:56:20 +04:00
Capostrophic
909c8ef0ea Avoid working with empty controller data (bug #5229) 2019-12-14 20:35:23 +03:00
David Cernat
bc093c8596 [General] Implement OnObjectHit packet, part 2
ObjectHit is now also sent when local actors succeed or fail in hitting other actors with melee attacks, with the packet including the success state of their attack.

It is also sent when creatures hit a non-actor object.
2019-12-13 14:00:51 +02:00
Andrei Kortunov
5b5c52d92e Handle NiKeyframeController for NiTriShape (feature #5224) 2019-12-10 16:20:27 +04:00
David Cernat
e98e57c797 [General] Reorder enums alphabetically in RECORD_TYPE 2019-12-08 17:23:14 +02:00
David Cernat
2973cc4f4d [General] Implement OnObjectHit packet, part 1
ObjectHit is now sent when an NPC hits a non-actor object.
2019-12-08 16:14:01 +02:00
David Cernat
18cd3d1ea1 [General] Compress strings used in Object packets 2019-12-07 08:47:35 +02:00
David Cernat
9b8818687d [General] Add mDeathAnimationFinished to mwmp::SimpleCreatureStats 2019-12-06 20:59:43 +02:00
David Cernat
980edac942 [General] Rename PlayerTeam into PlayerAlly
Considering that you can be allies with someone without being allied to their allies, changing the name makes the system more intuitive.
2019-12-05 19:15:11 +02:00
David Cernat
a383b7b612 [General] Include death animations in ActorDeath packets 2019-12-05 13:27:55 +02:00
David Cernat
ecf00af548 [General] Implement WorldDestinationOverride packet, part 1
Destinations for doors with cell transitions are now overridden.
2019-12-04 16:43:56 +02:00
David Cernat
9cb9d4b7ca [General] Compress strings used in Worldstate packets 2019-12-04 11:01:50 +02:00
David Cernat
154a9ce5a6 [General] Fix declarations hiding class members, part 2 2019-12-04 10:17:33 +02:00
Capostrophic
4b38bab0d9 Make sure empty cell name subrecords are saved (bug #5222) 2019-12-03 18:47:02 +03:00
Andrei Kortunov
eec82f676a
Merge pull request #2602 from elsid/clang_tidy
Fix clang-tidy issues
2019-12-03 08:27:43 +04:00
David Cernat
753e310dd4 [General] Implement PlayerTeam packet 2019-12-02 19:08:03 +02:00
Andrei Kortunov
ab4b3677e3 Merge branch '16' into 'master'
perf regression fix

See merge request OpenMW/openmw!157
2019-12-02 05:35:19 +00:00
David Cernat
9d6f3fdd09 Add OpenMW commits up to 1 Dec 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
2019-12-01 23:52:42 +02:00
David Cernat
138aef37fe [General] Remove unused variable movementAnim from BasePlayer 2019-12-01 19:00:01 +02:00
David Cernat
446c22723e [General] Set default values for some variables in BasePlayer 2019-12-01 18:42:56 +02:00
David Cernat
1283d5d487 [General] Synchronize TCL state for players
Additionally, only purge temporary levitation effect for DedicatedPlayers if one has been added.
2019-12-01 18:13:24 +02:00
David Cernat
d78bdefc01 [General] Include effect and spell ID for summons in ObjectSpawn packets 2019-12-01 13:31:11 +02:00
Andrei Kortunov
974670a7c5
Merge pull request #2540 from elsid/fix_startup_fail_crash
Fix crash on destructed stream usage
2019-11-30 22:15:00 +04:00
Andrei Kortunov
ae80d8e490
Merge pull request #2618 from elsid/fix_rope_bridge
Fix objects culling for recast mesh tiles (bug #5216)
2019-11-30 21:54:14 +04:00
David Cernat
42b002e8db [General] Reorder record types in RecordDynamic packet
The record types that cannot be created by players through gameplay are now sorted alphabetically after the record types that can be created by them.
2019-11-30 18:34:35 +02:00
Alexei Dobrohotov
c01324fdb2
Merge pull request #2613 from akortunov/warnfix3
Fix GCC9 warnings about implicit declarations
2019-11-30 16:09:01 +03:00
elsid
7ec5a20c64
Filter recast mesh triangles by global bounding box
Except heightfields to reduce slow down.
2019-11-30 13:19:27 +01:00
elsid
7729e396b2
Fix exceptions logging 2019-11-30 10:33:14 +01:00
David Cernat
23d410f473 [General] Implement body part records for RecordDynamic packet 2019-11-29 14:06:17 +02:00
David Cernat
b3747839c0 [General] Add hasRace to record overrides in RecordsDynamic packet 2019-11-29 13:28:07 +02:00
David Cernat
16662d772b [General] Synchronize death animations for players 2019-11-29 12:52:47 +02:00
David Cernat
47443e19cb [General] Use compression for string values used in Attack packets 2019-11-29 11:19:24 +02:00
Andrei Kortunov
1b98fe4395 Fix GCC9 warnings about implicit declarations 2019-11-29 12:41:23 +04:00
David Cernat
140c1c9c12 [General] Use hard synchronization for melee attack animations
Previously, each client chose its own attack animations for DedicatedPlayers and DedicatedActors based on the direction they were walking in, which however led to desyncs for players with "Always Use Best Attack" enabled and for creatures which pick their attack animations randomly.
2019-11-29 10:39:57 +02:00
Andrei Kortunov
5daf602256 Fix iterator usage when destroying cell borders (bug #5218) 2019-11-29 12:26:17 +04:00
David Cernat
b352983348 [General] Include actor refIds in ActorDeath packets 2019-11-27 11:18:08 +02:00
bzzt
d340224c95 shadowsbin for gl state reduction 2019-11-20 13:37:00 +00:00
bzzt
480302d634 terrainclusterculling 2019-11-20 13:37:00 +00:00
bzzt
f09125fc93 perf regression fix 2019-11-20 13:37:00 +00:00
David Cernat
0c98c5d09e Add OpenMW commits up to 19 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aipursue.cpp
#	apps/openmw/mwmechanics/summoning.cpp
2019-11-19 17:16:48 +02:00
elsid
8d358eeb7d
Avoid virtual call in ParticleSystem ctor 2019-11-17 18:50:45 +01:00
elsid
b07a6afa91
Avoid virtual call in GraphicsWindowSDL2 ctor
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
    if(valid())
       ^
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: note: This constructor of an object of type 'GraphicsWindowSDL2' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: note: Call to virtual function during construction
2019-11-17 18:50:11 +01:00
elsid
4cd2ff9a3d
Avoid virtual call in TerrainGrid dtor
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: warning: Call to virtual function during destruction [clang-analyzer-optin.cplusplus.VirtualCall]
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:12: note: Assuming the condition is true
    while (!mGrid.empty())
           ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:5: note: Loop condition is true.  Entering loop body
    while (!mGrid.empty())
    ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: This destructor of an object of type '~TerrainGrid' has not returned when the virtual method was called
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: Call to virtual function during destruction
2019-11-17 18:50:11 +01:00
elsid
2e1d8a5e55
Remove unused virtual modifiers in DebugHUD
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < 2; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is false. Execution continues on line 3102
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:21: note: Assuming 'i' is < 'numberOfShadowMapsPerLight'
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
                    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: This constructor of an object of type 'DebugHUD' has not returned when the virtual method was called
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: Call to virtual function during construction
2019-11-17 18:50:11 +01:00
elsid
bd149b909f
Remove unused virtual modifiers in ShadowManager
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        setupShadowSettings();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: Call to virtual function during construction
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        enableOutdoorMode();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: Call to virtual function during construction
2019-11-17 18:26:56 +01:00
Andrei Kortunov
f09d20434c Clamp number of shadow maps 2019-11-17 17:25:02 +04:00
Alexei Dobrohotov
ef138e9afc
Merge pull request #2592 from akortunov/switchnode
Use transformations of NiSwitchNode
2019-11-15 19:46:45 +03:00
Andrei Kortunov
34873b6065 Fix dead code 2019-11-13 15:29:18 +04:00
Andrei Kortunov
7074baa1c2 Clamp number of shadow maps, as described in docs 2019-11-13 15:10:22 +04:00
Andrei Kortunov
af41e9acc1 Initialize variables to avoid undefined values 2019-11-13 14:47:29 +04:00
David Cernat
8f7a267129 [General] Add scale and bloodType to creature records in RecordDynamic 2019-11-10 09:20:45 +02:00
David Cernat
afb9bd7eb5 [General] Implement script records for RecordDynamic packets 2019-11-09 21:34:09 +02:00
Andrei Kortunov
51cfd070c6 Use transformations of NiSwitchNode 2019-11-09 21:43:08 +04:00
Andrei Kortunov
bafc0d9e90 Added support for texture fragment usage to the ImageButton 2019-11-09 12:52:42 +04:00
David Cernat
20d1e7654c [General] Create SystemPacket category and move Handshake packet to it 2019-11-09 05:12:00 +02:00
David Cernat
5762a36fc2 Add OpenMW commits up to 7 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aifollow.hpp
2019-11-08 06:20:41 +02:00
Andrei Kortunov
6eb8e0cf4d Display magic effects according to research page 2019-11-07 11:05:18 +04:00
Alexei Dobrohotov
a8843fa5a8
Make sure MultiChar::data() constructs a valid string
mData may ultimately not be a valid C-string (e.g. if it contains 4 significant characters) so it may not necessarily be converted into a valid std::string
2019-11-05 22:33:14 +03:00
elsid
d42b5fd28e
Fix warning -Woverloaded-virtual
In file included from openmw/components/terrain/quadtreeworld.cpp:10:
openmw/components/terrain/quadtreenode.hpp:95:14: warning: 'Terrain::QuadTreeNode::traverse' hides overloaded virtual function [-Woverloaded-virtual]
        void traverse(ViewData* vd, const osg::Vec3f& viewPoint, LodCallback* lodCallback, float maxDist);
             ^
OpenSceneGraph/build/clang/release/include/osg/Group:43:22: note: hidden overloaded virtual function 'osg::Group::traverse' declared here: different number of parameters (1 vs 4)
        virtual void traverse(NodeVisitor& nv);
                     ^
1 warning generated.
2019-11-05 09:31:38 +01:00
bzzt
b6ed2f1718 Add optional shadow map max distance and fading 2019-11-02 18:06:39 +03:00
Bret Curtis
ec9a593fc3
Merge pull request #2578 from akortunov/mouse
Implement mouse wheel bindings (bug #2679)
2019-10-31 13:14:29 +01:00
Michael Stopa
e4bec88a68 Implement mouse wheel bindings (bug #2679) 2019-10-30 20:45:51 +04:00
Alexei Dobrohotov
9ab8d88753
Accept a bogus cell string argument for Position 2019-10-30 17:54:34 +03:00
Andrei Kortunov
45ab6e1430 Implement UTF-8 support for script parser (bug #4598) 2019-10-30 14:59:47 +04:00
David Cernat
54301f5f89 Add OpenMW commits up to 29 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwworld/inventorystore.cpp
2019-10-29 23:49:31 +02:00
Alexei Dobrohotov
dc8e5f1d12
Accept redundant volume and pitch StopSound arguments
Exploited in Arktwend.
2019-10-29 18:51:58 +03:00
Alexei Dobrohotov
8bc2c1ac34
Make ForceGreeting ignore any extra argument 2019-10-29 14:39:21 +03:00
Andrei Kortunov
b2e12f0a73 Attempt to fix a regression - crash on ARM 2019-10-28 18:58:16 +04:00
David Cernat
b97322b4b1 [General] Modernize packet style for PlayerInventory 2019-10-26 14:01:08 +03:00
David Cernat
cbe58b1c24 [General] Modernize packet style for PlayerFaction 2019-10-26 11:42:40 +03:00
Capostrophic
f7d2cdb782 Revert to 0.45.0 comments-in-the-middle settings behavior 2019-10-26 10:55:10 +03:00
Bret Curtis
9f039fac87
Merge pull request #2520 from unelsson/transientlandshapeedit
[Review phase] Editor: Transient land shape editing
2019-10-25 00:26:43 +02:00
Roman Siromakha
4e5aec5c30
Merge pull request #2539 from Capostrophic/scripting
Try to parse strings as number literals (bug #5097)
2019-10-24 22:12:50 +02:00
David Cernat
0e94eb8b74 [General] Use regular ints for weather states for consistency w/ OpenMW 2019-10-24 20:08:08 +03:00
David Cernat
904f804ea2 [General] Modernize packet style for PlayerSpellbook 2019-10-24 19:27:37 +03:00
Bret Curtis
2040ca5637
Merge pull request #2555 from akortunov/encoding
Encode ID's in all places to UTF-8
2019-10-24 00:48:12 +02:00
David Cernat
4f9e6b0e3e [General] Modernize packet style for PlayerCellState 2019-10-23 17:46:21 +03:00
David Cernat
96a71c1ced [General] Modernize packet style for PlayerBook 2019-10-23 02:02:27 +03:00
David Cernat
d66bca8605 [General] Modernize packet style for PlayerTopic 2019-10-23 01:24:13 +03:00
Nelsson Huotari
0ce971c1bb Revert back to less aggressive component-level changes. 2019-10-22 21:26:55 +03:00
Nelsson Huotari
c2428bc5fa Remove unneeded forward declaration 2019-10-22 21:25:10 +03:00
Nelsson Huotari
16138fc896 Transient land shape editing 2019-10-22 21:25:10 +03:00
elsid
275f552fcf
Do not modify settings on save 2019-10-21 22:47:24 +02:00
elsid
a7930073e8
Move settings parser declaration to separate header 2019-10-21 22:47:24 +02:00
Bret Curtis
f666d796e9
Merge pull request #2547 from Capostrophic/nif2
More minor NIF improvements
2019-10-21 21:49:07 +02:00
David Cernat
0206d1813c [General] Modernize packet style for PlayerQuickKeys 2019-10-21 16:55:21 +03:00
David Cernat
4f98d67ed4 [General] Modernize packet style for PlayerJournal 2019-10-21 07:01:36 +03:00
elsid
045ceeac11
Replace foreach macro by for-loop 2019-10-20 20:08:16 +02:00
Capostrophic
7c4743fdd1 Convert recordptr typedefs to using directives 2019-10-16 01:36:43 +03:00
Capostrophic
8056107c6e More minor NIF improvements 2019-10-16 01:36:43 +03:00
Andrei Kortunov
2fc819cdae Encode ID's in all places to UTF-8 (bug #3977) 2019-10-10 20:52:32 +04:00
David Cernat
d163f1b6da [General] Turn WorldKillCount into a Worldstate packet
Rename the old WorldKillCount that was a Player packet into PlayerPlaceholder. Rename the unused CellCreate that was a Worldstate packet into WorldKillCount. On the server, move kill count-related script functions from QuestFunctions to WorldstateFunctions.
2019-10-08 11:09:08 +03:00
David Cernat
4a34666c59 Add OpenMW commits up to 7 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/aiactivate.cpp
2019-10-07 08:19:21 +03:00
unelsson
3deebf0247
Merge branch 'master' into wnamfix 2019-10-07 01:40:23 +03:00
Nelsson Huotari
2fdaacf23c remove for array, just std::swap 2019-10-06 23:50:16 +03:00
Nelsson Huotari
e35ed960ee for -> std::copy 2019-10-06 21:57:10 +03:00
Nelsson Huotari
7f030fc3ee copy mWnam record in copy constructor and custom assignment operator 2019-10-06 21:50:40 +03:00
Capostrophic
bde4a38181 Cast Random result to float (bug #5175) 2019-10-03 23:20:25 +03:00
elsid
751accad0f
Remove unused field QuadTreeBuilder::mLodFactor 2019-09-28 14:26:52 +02:00
David Cernat
031acffcbe [General] Implement cell records for RecordDynamic packets, part 1
New interior cells can be now be created that are either blank or based on existing interior cells.
2019-09-28 13:12:48 +03:00
elsid
29f262e514
Fix crash on destructed stream usage 2019-09-28 11:30:38 +02:00
Capostrophic
138a7ac434 Expression parser: Try to parse strings as number literals (bug #5097) 2019-09-26 02:54:17 +03:00
Alexei Dobrohotov
822b20ef46
Fix invalid strips-based collision shape transformation 2019-09-23 20:38:42 +03:00
Alexei Dobrohotov
0a97dd8e84
[Regression] Fix horribly broken fallback loading 2019-09-21 15:05:12 +03:00
Andrei Kortunov
1f3f3dd1a5
Merge pull request #2526 from Capostrophic/config
openmw.cfg-related fixes (incl. bug 2976)
2019-09-20 09:09:38 +04:00
Andrei Kortunov
e6b79d100a
Merge pull request #2503 from Capostrophic/keyword
Allow usage of more keywords as string arguments (bug #5087)
2019-09-20 07:38:57 +04:00
Andrei Kortunov
e568ad30ea Copy transformations data when we clone node (bug #5163) 2019-09-19 11:35:15 +04:00
David Cernat
0d51eb5b23 [General] Use unsigned ints for refNums & mpNums in packets 2019-09-19 08:44:33 +03:00
David Cernat
cc25612b8d Add OpenMW commits up to 18 Sep 2019
# Conflicts:
#	apps/openmw/mwclass/container.cpp
#	apps/openmw/mwclass/door.cpp
#	apps/openmw/mwmechanics/security.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/miscextensions.cpp
2019-09-18 23:46:08 +03:00
Capostrophic
3a912485ca openmw.cfg-related fixes
Make sure the defaults exist in local openmw.cfg too
Make sure constant attenuation settings are defined now that they are implemented
Fix config file loading order once and for all (bug #2976)
2019-09-17 21:26:06 +03:00
Capostrophic
83f61d1636 Support target color in NiMaterialColorController (bug #5159) 2019-09-16 22:31:18 +03:00
David Cernat
e424bd9bc3 [General] Implement ClientScriptSettings packet, part 2
The packet can now set which client globals get packets sent about them when their values change on clients.
2019-09-14 09:37:19 +03:00
Capostrophic
8baddefdbd Refactor extra data and particle modifier handling
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
2019-09-13 20:26:22 +03:00
David Cernat
3acfbad55d [General] Implement ClientScriptSettings packet, part 1
For starters, the new packet can set which client scripts have all of their variables synchronized between players. The previous hardcoded list of IDs for synchronized scripts has been removed.
2019-09-09 10:28:35 +03:00
David Cernat
25e27ccb95 [General] Use placeholder packet ID for unused CellCreate packet 2019-09-09 10:22:20 +03:00
capostrophic
8f2ed884a5 Allow usage of more keywords as string arguments (bug #5087) 2019-09-06 19:12:08 +03:00
David Cernat
ca67587b89 Add OpenMW commits up to 5 Sep 2019
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-09-05 21:41:50 +03:00
David Cernat
95967ea289 [General] Rename unused ObjectReset packet into ObjectHit 2019-09-01 08:30:03 +03:00
David Cernat
9b1fbcc6f9 [General] Use correct packet ID in PacketActorCast 2019-08-28 06:35:19 +03:00
Capostrophic
c0438a0c6b Avoid using getPtr on empty geometry data 2019-08-26 23:01:58 +03:00
David Cernat
e15428e139 [General] Remove "created by" stamps added by IntelliJ 2019-08-26 12:33:28 +03:00
David Cernat
9350e1d484 [General] Split up Attack packets into Attack and Cast ones
Create an entirely new PlayerCast packet for that purpose, but rename the already existing but unused ActorInteraction into ActorCast.
2019-08-25 09:35:23 +03:00
Alexei Dobrohotov
64fde2d7c2
Fix crash when NiGeometry lacks NiGeometryData 2019-08-24 22:34:56 +03:00
David Cernat
353e7d530a Add OpenMW commits up to 18 Aug 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-22 22:44:00 +03:00
David Cernat
ed05125f6a Add OpenMW commits up to 2 Aug 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
2019-08-22 15:38:15 +03:00
David Cernat
b57c0bcafe Add OpenMW commits up to 6 June 2019
# Conflicts:
#	apps/openmw/mwgui/hud.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-22 11:42:02 +03:00
David Cernat
5181c601c0 Add OpenMW commits up to 2 May 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/statsextensions.cpp
2019-08-22 08:40:32 +03:00
David Cernat
f671c0bddc Add OpenMW commits up to 1 Apr 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/engine.cpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/trainingwindow.cpp
#	apps/openmw/mwgui/travelwindow.cpp
#	apps/openmw/mwgui/waitdialog.cpp
2019-08-21 23:54:39 +03:00
David Cernat
8729c3c5e3 Add OpenMW commits up to 9 Mar 2019
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	README.md
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwscript/animationextensions.cpp
#	apps/openmw/mwscript/guiextensions.cpp
#	apps/openmw/mwscript/miscextensions.cpp
#	apps/openmw/mwscript/soundextensions.cpp
2019-08-21 19:04:04 +03:00
David Cernat
95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
2019-08-21 17:29:24 +03:00
David Cernat
6205ff6b04 Add OpenMW commits up to 30 Jan 2019
# Conflicts:
#	apps/openmw/mwworld/worldimp.cpp
2019-08-21 15:48:07 +03:00
David Cernat
6fdef4fd0a Add OpenMW commits up to 1 Jan 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-21 14:37:54 +03:00
David Cernat
cbba81df03 Add OpenMW commits up to 14 Nov 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/inventorystore.cpp
2019-08-21 09:04:36 +03:00
David Cernat
3efffe92e3 Add OpenMW commits up to 5 Nov 2018
# Conflicts:
#	CI/before_install.linux.sh
#	CMakeLists.txt
#	apps/openmw/mwmechanics/aifollow.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/CMakeLists.txt
2019-08-21 05:08:50 +03:00
David Cernat
fba07194cf Add OpenMW commits up to 29 Oct 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/aicombat.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-20 13:15:00 +03:00
David Cernat
056591b957 Add OpenMW commits up to 14 Sep 2018
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-20 12:14:57 +03:00
David Cernat
889bcec7f8 Add OpenMW commits up to 1 Sep 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/difficultyscaling.cpp
#	apps/openmw/mwscript/transformationextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-20 11:31:51 +03:00
David Cernat
84cab59057 Add OpenMW commits up to 19 Aug 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/main.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/containerextensions.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/misc/debugging.hpp
2019-08-20 10:06:15 +03:00
David Cernat
0339958e21 [General] Rename Log class into TimedLog 2019-08-19 21:39:33 +03:00
capostrophic
9c7474f88c Implement NiPalette support (feature #4882) 2019-08-16 20:21:09 +03:00
capostrophic
efa463af8f Fix non-tiling textures clamp mode (bug #5137) 2019-08-16 16:26:11 +03:00
David Cernat
ab93b5ddc5 [General] Use PlayerItemUse packets when using items through quick keys 2019-08-16 05:50:07 +03:00
David Cernat
ae5200cbb2 [General] Implement light records for RecordDynamic packets 2019-08-14 21:10:53 +03:00
Andrei Kortunov
d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
Add support for QuadraticMethod/LinearMethod setup (bug #4965, continuation)
2019-08-11 22:17:40 +04:00
capostrophic
62fd2d47a5 Rewrite flickering/pulsing to work more like vanilla (bug #4952) 2019-08-11 20:33:13 +03:00
Alexei Dobrohotov
3668473d6d
Fix comment 2019-08-10 19:22:46 +03:00
Alexei Dobrohotov
eaedf34975
Fix ventriloquism 2019-08-10 19:21:36 +03:00
capostrophic
c0d5cbdc8b Add support for QuadraticMethod/LinearMethod setup (bug #4965) 2019-08-10 13:25:49 +03:00
Alexei Dobrohotov
307e9ba666
Merge pull request #2413 from akortunov/weapon
Refactor weapon types behaviour
2019-08-09 20:02:10 +03:00
Andrei Kortunov
f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
capostrophic
9e93c9ecd2 Fix multiple-strip NiTriStrips loading 2019-08-08 22:48:24 +03:00
capostrophic
93f73fe87b Fix comparison 2019-08-08 20:41:46 +03:00
capostrophic
7fc3153f62 Reduce code duplication further 2019-08-08 20:29:45 +03:00
capostrophic
91efdf18a9 Reduce Bullet part code duplication 2019-08-08 19:02:08 +03:00
capostrophic
ed154f0e2c Fix typo and replace failsave with an assert 2019-08-08 18:42:58 +03:00
capostrophic
7cc70ffb50 Reduce skinned shape code duplication 2019-08-08 18:37:42 +03:00
capostrophic
bd6c455fd4 Reduce code duplication for non-skinned shapes 2019-08-08 18:12:46 +03:00
capostrophic
b4f54651f8 Make sure strips have valid size 2019-08-08 17:15:33 +03:00
capostrophic
6599a28ecf Generate collision shape based on NiTriStrips 2019-08-08 17:15:33 +03:00
capostrophic
adb06913f7 Add basic NiTriStrips rendering (no physics yet) 2019-08-08 17:09:06 +03:00
capostrophic
8efbdeaa57 Load NiTriStrips/NiTriStripsData (don't do anything yet) 2019-08-08 17:09:06 +03:00
capostrophic
7b6af4a893 Make sure local path includes trailing slash
Launcher assumes it does
2019-08-08 17:06:27 +03:00
Andrei Kortunov
8557346fbd Use glow for enchanted arrows (feature #5122) 2019-08-07 12:58:14 +04:00
David Cernat
14af0be657 [General] Include AI alarm & flee for creatures/NPCs in RecordDynamic 2019-08-07 11:21:22 +03:00
David Cernat
ef432d1419 [General] Include AI services for creatures/NPCs in RecordDynamic 2019-08-07 10:44:07 +03:00
David Cernat
18e2a14645 [General] Implement tool-related records for RecordDynamic packets 2019-08-04 17:53:18 +03:00
capostrophic
6928adcee1 Prevent front() and operator[] from causing undefined behavior 2019-08-04 14:47:33 +03:00
David Cernat
4100d93dea [General] Implement ingredient records for RecordDynamic packets 2019-08-03 06:19:22 +03:00
capostrophic
168e5050bb Ignore an extra number argument in ModRegion (bug #5110) 2019-08-01 20:48:58 +03:00
David Cernat
247d2fad30 [General] Implement activator & static records for RecordDynamic packets 2019-08-01 09:48:57 +03:00
David Cernat
e9336e53fc [General] Implement container and door records for RecordDynamic packets 2019-07-27 03:45:50 +03:00
David Cernat
4183373f53 [General] Update credits 2019-07-20 15:13:10 +03:00
David Cernat
ef68a72ba6 [General] Set hasCellData to true for PacketConsoleCommand 2019-07-19 20:10:28 +03:00
Chris Djali
576285573b
Merge pull request #2404 from Capostrophic/framerate
Make framerate limit configurable in the launcher
2019-07-19 16:16:20 +01:00
David Cernat
1b1ce1b27a [General] Change version to 0.7.1 2019-07-17 13:39:50 +03:00
fredzio
ca7ac30f6d Use the POSIX pathconf(2) to determine the maximum path length.
It fixes build on BSD platforms where PATH_MAX is defined in
<sys/syslimits.h> vs <linux/limits.h> on Linux.
2019-07-07 01:02:38 +02:00
Alexei Dobrohotov
e4c596adf8
Fix CI builds (attempt №2)
Gosh darn dem tabs
2019-07-04 14:12:36 +03:00
Alexei Dobrohotov
e4e513c5dc
Fix CI builds
Apparently the only tab characters are in this file.
2019-07-04 13:36:27 +03:00
Nat Meo
bcc5142b32 Issue #4202: Open .omwaddon files without needing to open openmw-cs first. 2019-07-02 16:07:38 +00:00
AnyOldName3
bb72ed9744 Merge branch '9' into 'master'
IMPORTANT!! racingcrashfix #4766

See merge request OpenMW/openmw!119
2019-07-01 15:36:40 +00:00
AnyOldName3
8a6a8086da Make in-memory buffers seekable to fix fog of war 2019-07-01 00:07:44 +01:00
Capostrophic
dfb852cbb0 Improve Boost apologia 2019-06-22 18:15:19 +03:00
Capostrophic
49c691d00a Make settings manager locale-independent again 2019-06-22 18:15:19 +03:00
Capostrophic
e06178bf0f Make sure shadow shapes aren't visible (bug #5063) 2019-06-22 18:13:41 +03:00
Andrei Kortunov
b9a1e4d796
Merge pull request #2425 from Capostrophic/esm
Signedness fixes
2019-06-21 10:01:10 +04:00
Alexei Dobrohotov
f984f61055
Ignore any fourth AITravel argument for now 2019-06-20 14:18:12 +03:00
Capostrophic
3aa65273c5 Signedness fixes 2019-06-18 14:47:10 +03:00
Evil Eye
698c90b3ee fix builds against MyGUI master 2019-06-16 14:41:34 +02:00
Andrei Kortunov
b66c437700
Merge pull request #2419 from Capostrophic/lod
Optimizer: Only merge pure osg::Groups
2019-06-12 18:33:07 +04:00
Andrei Kortunov
4fcbc1c96b
Merge pull request #2391 from Capostrophic/contentselector
Content selector: don't add file namesakes (bug #2395)
2019-06-10 10:15:19 +04:00
Capostrophic
6622e36226 Only merge pure osg::Groups in the optimizer 2019-06-09 11:47:43 +03:00
Capostrophic
7c8360d0f3 Use NiSwitchNode initial index field 2019-06-09 01:58:02 +03:00
Alexei Dobrohotov
ce92b364e6
Merge pull request #2403 from akortunov/crashinfo
Improve info message about missing GDB
2019-06-06 11:09:46 +03:00
bzzt
a730365ea1 Creanup Distant Terrain code
- Cull terrain in the stock osg::CullVisitor
- Do not compile composite maps for shadow camera
- Do not abuse userdata for composite maps
2019-06-05 19:09:57 +04:00
bzzt
e4ba6ecf15 Do not store a LOD callback in the every QuadTreeNode 2019-06-05 18:27:37 +04:00
bzzt
a61c0aaee1 Do not load height data to the qued tree since we do not need it now 2019-06-05 18:27:37 +04:00
bzzt
ebcf8ca062 Do not store a ViewDataMap in the every QuadTreeNode 2019-06-05 18:27:37 +04:00
bzzt
cb6d27fb12 Use the custom LineSegmentIntersector for QuadTree to simplify traversal
code
2019-06-05 18:27:37 +04:00
bzzt
ce4e8be9ac Move traverse methods to the QuadTreeNode 2019-06-05 18:27:37 +04:00
Capostrophic
b7afb213ae "Handle" RepairedOnMe scripting function (feature #4255) 2019-06-03 02:17:32 +03:00
Alexei Dobrohotov
f0640cbb21
Merge pull request #2296 from akortunov/blend
Optimize blendmap generation
2019-06-03 00:10:22 +03:00
bzzt
528cda8032 Prevent layers duplication when a terrain chunk crosses plugin borders 2019-06-01 14:52:42 +04:00
Andrei Kortunov
1da012f6ee Optimize blendmap generation 2019-06-01 14:37:29 +04:00
Alexei Dobrohotov
5965aa991b
Improve grammar in a warning 2019-06-01 00:06:49 +03:00
Capostrophic
0fcb75fb21 Achieve CHIM and get rid of the loop 2019-05-31 20:01:46 +03:00
Capostrophic
5cd781b3eb Experimental folder handling rewrite 2019-05-31 20:01:46 +03:00
Capostrophic
2fbed21f83 Avoid a memory leak 2019-05-31 20:01:46 +03:00
Capostrophic
e14ada8f36 Make file name comparison case-insensitive 2019-05-31 20:01:46 +03:00
Capostrophic
ebe5448816 Content selector: drop duplicates of the added file (bug #2395) 2019-05-31 20:01:46 +03:00
Andrei Kortunov
f1db97fbbd Improve info message about missing GDB (bug #4341) 2019-05-30 14:51:31 +04:00
bzzt
ffe8bbd2dd racingcrashfix #4766 2019-05-29 13:37:00 +00:00
Andrei Kortunov
7c53b99d31 Avoid possible data race during access to the static local variable 2019-05-24 08:03:45 +04:00
Phillip Andrews
dee72e9430 Make script literal lookup functions safer
Assert isn't really the right way to range check these, since in theory we could have a malformed compiled script.  This should make it safer with zero performance overhead.
2019-05-21 17:58:10 -05:00
Alexei Dobrohotov
7c46102f0c
Merge pull request #2389 from akortunov/fmt
Introduce a custom format() function
2019-05-21 21:45:52 +03:00
Andrei Kortunov
6832a2fa9a Remove BOM from CPP files (allows to build OpenMW with LCC on Elbrus) 2019-05-21 19:22:34 +04:00
Andrei Kortunov
e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 2019-05-20 09:20:01 +04:00
Alexei Dobrohotov
2c956398c1
Actually fix bug 4938 2019-05-15 21:41:49 +03:00
Alexei Dobrohotov
1444ef6f43
Merge pull request #2298 from akortunov/optimize
Do not allocate eight dummy LightStateAttribute's for every stateset
2019-05-11 02:32:34 +03:00
Alexei Dobrohotov
acae586765
Merge pull request #2365 from akortunov/guifixes
Refactor Settings::Manager::apply()
2019-05-04 21:01:15 +03:00
Andrei Kortunov
4f42fe5595 Refactor Settings::Manager::apply() 2019-05-04 21:38:36 +04:00
Alexei Dobrohotov
1bfe0e43af
Merge pull request #2360 from akortunov/guifixes
Do not track resolution settings changes in the InputManager
2019-05-04 20:23:03 +03:00
Alexei Dobrohotov
74112976b2
Merge pull request #2085 from akortunov/herbalism
Native graphics herbalism support
2019-05-03 20:58:22 +03:00
Andrei Kortunov
7ce07e9202
Merge pull request #2345 from Capostrophic/scripting
More argument usage corrections
2019-05-03 08:06:06 +04:00
Ilya Zhuravlev
2e1ac51203 Clean up androidpath 2019-05-02 18:18:49 -04:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Capostrophic
95751ba671 Ignore extra numerical arguments for ForceGreeting, Position(Cell), PlaceItem(Cell) 2019-05-02 20:50:05 +03:00
Capostrophic
05727f2bcd Ignore string arguments for AITravel, GetDynamic, LowerRank, RaiseRank 2019-05-02 20:50:05 +03:00
Andrei Kortunov
0cd8d4b842 Do not track resolution settings changes in the InputManager (bug #4902) 2019-05-02 19:00:47 +04:00
Capostrophic
05d94d35f9 Make disabled shadow defines map static 2019-04-29 19:31:46 +03:00
Andrei Kortunov
7941fd6780 Merge branch 'patch-2' into 'master'
Add support for OpenGLES 3.2

See merge request OpenMW/openmw!93
2019-04-24 17:03:10 +00:00
Bret Curtis
e0edecf1f2
Merge pull request #2341 from Capostrophic/scripting
Allow using functions in non-conditional expressions (bug #3725)
2019-04-24 12:05:07 +02:00
Andrei Kortunov
bd2188a0f8 Use the logging system for compiler errors 2019-04-23 22:20:18 +04:00
Capostrophic
3d64a46df2 Allow using functions in non-conditional expressions (bug #3725) 2019-04-22 20:37:32 +03:00
Andrei Kortunov
9059971a69 Increase required MyGUI version to 3.2.2 2019-04-22 20:52:18 +04:00
Alexei Dobrohotov
53d704fec8
Merge pull request #2335 from akortunov/guifixes
Allow to shrink tooltip width to its actual text width
2019-04-22 19:44:17 +03:00
Andrei Kortunov
626a05f825
Merge pull request #2128 from Capostrophic/blood
Support all eight possible blood types (feature #4958)
2019-04-21 21:14:30 +04:00
Andrei Kortunov
7e0bf40dbe Allow to shrink tooltip width to its actual text width (bug #3812) 2019-04-21 08:27:14 +04:00
Capostrophic
6cbec4a688 Stray argument usage corrections 2019-04-19 21:28:06 +03:00
terrabyte25
b29476de58
Add support for OpenGLES 3.2 2019-04-15 17:09:36 -05:00
Capostrophic
7814bd1b76 Support eight possible blood types (feature #4958) 2019-04-14 18:48:31 +03:00
elsid
4500f01efd
Remove unused field 2019-04-13 13:25:49 +02:00
Alexei Dobrohotov
5b8fc5a151
Merge pull request #2314 from OpenMW/stdc++14
bump from C++11 to C++14
2019-04-12 17:34:18 +03:00
Bret Curtis
f4e113e7c1
Merge pull request #2277 from akortunov/terrain
Camera-related fixes
2019-04-12 11:17:20 +02:00
Bret Curtis
10643a10f2
Merge branch 'master' into lighting 2019-04-11 09:55:09 +02:00
Alexei Dobrohotov
d3e6921946
Merge pull request #2318 from elsid/navmesh_lock_tile
Avoid work duplication for multiple thread async navmesh updater
2019-04-11 00:19:52 +03:00
elsid
c683dc8565
Lock navmesh tile by thread while processing
To avoid duplicated work on a same tile by different threads.
If tile is locked by another thread, then post job into this thread queue.
2019-04-10 22:01:50 +02:00
Capostrophic
85e99182ce Revise light source configuration (bug #4965)
Set up attenuation less awkwardly
Use global attenuation settings for magic light source
Use constant attenuation settings
2019-04-10 22:31:31 +03:00
Bret Curtis
2ab7f903d7 make use of std::make_unique to test that MSVC2015 can handle that 2019-04-10 11:09:44 +02:00
Capostrophic
b08fed6d83 Fix NIF printVersion and allow 4.0.0.0 file loading 2019-04-09 21:58:29 +03:00
Andrei Kortunov
14b756a692 Use a generic logging system for RecastNavigation 2019-04-08 20:31:21 +04:00
Bret Curtis
7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
2019-04-07 17:43:59 +02:00
bzzt
391f6faffb Remove unused defaultViewer / defaultViewPoint 2019-04-07 11:21:09 +04:00
bzzt
e908790584 Inherit the view point from main camera for water RTT cameras 2019-04-07 11:21:07 +04:00
Andrei Kortunov
489e5c6cce Store preloaded terrain view in the main thread 2019-04-07 11:15:21 +04:00
bzzt
63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
2019-04-07 11:14:37 +04:00
Bret Curtis
a5504f8cc1
Merge pull request #2297 from Capostrophic/esm
Make sure the record hasn't ended in getHString hack (bug #4938)
2019-03-31 21:15:23 +02:00
bzzt
1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 2019-03-30 21:36:08 +04:00
Capostrophic
4b6fc5f720 Make sure the record hasn't ended in getHString hack (bug #4938) 2019-03-30 20:11:22 +03:00
Andrei Kortunov
368d1f9d25
Merge pull request #2191 from akortunov/viewer
Do not store Viewer reference in the ViewData
2019-03-30 08:24:44 +04:00
Andrei Kortunov
cae456a4aa
Merge pull request #2294 from Capostrophic/arguments
Ignore extra arguments to PlayLoopSound3D too
2019-03-30 08:18:39 +04:00
Capostrophic
7ef7555c19 Ignore extra arguments to PlayLoopSound3D too 2019-03-30 01:06:01 +03:00
Andrei Kortunov
a302ec9c65 Make fallback map static to simplify constructors 2019-03-29 15:30:49 +04:00
Capostrophic
17dce28705 Improve compiler messages 2019-03-29 00:59:26 +03:00
bzzt
c8d2107b80 Do not store Viewer reference in the ViewData 2019-03-28 09:51:45 +04:00
Bret Curtis
1e9eac568f
Merge pull request #2249 from akortunov/cache
Implement generic caching system
2019-03-25 13:32:23 +01:00
Bret Curtis
6cbf1288ff
Merge pull request #1929 from Capostrophic/elseif
Ignore the rest of the line after else operator (bug #3006)
2019-03-24 16:35:49 +01:00
Capostrophic
cbce1a1b7c Ignore the rest of the line after else (bug #3006) 2019-03-24 18:34:33 +03:00
Bret Curtis
8f8bba66d9
Merge pull request #2178 from Capostrophic/declaration
Ignore extra text after a local variable declaration (bug #4867)
2019-03-24 16:33:21 +01:00
uramer
6cb4d5ec35 [General] Implement CellReset packet, stage 1 2019-03-24 13:23:13 +01:00
David Cernat
03d377ec54
Merge pull request #518 from TES3MP/0.7.0-alpha
[General] Rename CellReplace packet into CellReset
2019-03-22 21:36:07 +02:00
David Cernat
8ff2d1b829 [General] Rename CellReplace packet into CellReset 2019-03-22 21:33:34 +02:00
Capostrophic
786f3e5fc3 Remove unused and unfinished blendmap packing feature 2019-03-22 22:15:28 +03:00
David Cernat
cb82318c36 [General] Fix problems with Utils::getArchitectureType() 2019-03-22 03:09:11 +02:00
Capostrophic
af47ec7756 Skip extra text after variable declaration (bug #4867) 2019-03-21 17:00:40 +03:00
Bret Curtis
5e12073b47
Merge pull request #2272 from akortunov/optimize_terrain
Do not block loading while compiling composite maps
2019-03-21 09:17:02 +01:00
Andrei Kortunov
b466bfee40 Enable light sources directly to avoid virtual calls 2019-03-21 10:27:50 +04:00
Andrei Kortunov
0e1f5f68b6 Do not allow different threads to compile the same composite map 2019-03-21 08:52:13 +04:00
Andrei Kortunov
cad45e96ac Remove redundant mCompile set - we do not use data from it anyway 2019-03-21 08:42:48 +04:00
bzzt
c2986b3bd7 Do not block the loading thread while compiling composite maps in the
draw thread
2019-03-20 21:42:53 +04:00
Bret Curtis
26feedfcae
Merge pull request #2268 from akortunov/scanfix
Fix some issues from the Coverity Scan report
2019-03-19 17:27:48 +01:00
Bret Curtis
19dcbf2b3d
Merge pull request #2266 from Capostrophic/vsync
Vsync tweaks
2019-03-19 09:23:48 +01:00
Andrei Kortunov
b2fca46206 Fix a couple of minor issues in shadows 2019-03-19 09:14:07 +04:00
Andrei Kortunov
7995a92672 Initialize missing variables 2019-03-19 09:12:31 +04:00
Capostrophic
9b65f0dbca Vsync tweaks
Try to use adaptive vsync if available
Don't use vsync if unavailable
2019-03-18 21:45:02 +03:00
Bret Curtis
b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
Delete composite map layers in the background thread
2019-03-18 13:52:17 +01:00
bzzt
aa5a071aef Delete composite map layers in the background thread 2019-03-18 14:00:50 +04:00
Bret Curtis
d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
Optimize terrain
2019-03-18 08:59:10 +01:00
Bret Curtis
45221418bd
Merge pull request #2260 from elsid/fix_clean_unused_navmeshes
Fix clean unused navmeshes
2019-03-18 08:57:46 +01:00
bzzt
6029ed4ecc Reject empty quad tree nodes at the cell level without land data 2019-03-18 10:27:29 +04:00
bzzt
36fa51b6ad Fix bounding box calculation for terrain shapes 2019-03-18 10:27:09 +04:00
elsid
4624f31788
Report navigator stats 2019-03-17 22:15:18 +03:00
elsid
8adc83f6e2
Fix clean unused navmeshes
weak_ptr doesn't have constructor for shared_ptr&& type, so ptr wasn't
moved, just copied.
2019-03-17 21:28:34 +03:00
elsid
2c78d530a2
Use static vector to store stat names 2019-03-17 20:50:15 +03:00
Bret Curtis
ab69ad65ed
Merge pull request #2234 from Capostrophic/terrain
Some more improvements from bzzt's branch
2019-03-17 18:07:19 +01:00
Capostrophic
de572226e4 Update optimizer with upstream improvements 2019-03-17 07:59:16 +03:00
bzzt
b42ad0f610 Inline certain terrain storage functions 2019-03-17 07:27:27 +03:00
bzzt
e131e6699c Match vertex colors data type to source 2019-03-17 07:24:22 +03:00
elsid
c91deaf7af
Use std::vector::data method to avoid reference binding to null pointer 2019-03-16 00:46:00 +03:00
elsid
dd0b45ede6
Do not pass nullptr to std::memcmp 2019-03-14 22:15:57 +03:00
Bret Curtis
7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
2019-03-14 14:53:35 +01:00
bzzt
4ab93aeffe Do not allocate empty callbacks in the RigGeometry 2019-03-14 12:37:41 +04:00
Andrei Kortunov
2ed05a5195 Implement generic caching system 2019-03-14 09:10:19 +04:00
elsid
8e09468f45
Don't set display list usage for navmesh 2019-03-12 00:05:55 +03:00
Bret Curtis
7b1a62fc1d
Merge pull request #2247 from akortunov/loadtex
Allow to override texture records in the game
2019-03-11 21:05:30 +01:00
Andrei Kortunov
943279abbb Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736) 2019-03-11 20:19:19 +04:00
Bret Curtis
7efdddd53c
Merge pull request #2242 from elsid/make_shared
Use std::make_shared
2019-03-11 07:53:02 +01:00
Bret Curtis
cb1a5f3679
Merge pull request #2245 from elsid/navigator_refactor
Refactor navigator related code
2019-03-11 07:51:43 +01:00
Bret Curtis
7b793b8809
Merge pull request #2244 from elsid/navmesh_cache_item_refactor
Make NavMeshCacheItem consistent
2019-03-11 07:51:22 +01:00
elsid
68948bc847
Avoid key allocation to find tile in cache 2019-03-11 03:01:41 +03:00
elsid
4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
2019-03-10 23:58:49 +03:00
elsid
849f2078c1
Swap outside critical section 2019-03-10 23:58:49 +03:00
elsid
8d2af94b75
Use default objects for NavigatorStub methods result 2019-03-10 23:58:49 +03:00
elsid
ece111d05a
Check for jobs using predicate 2019-03-10 23:58:49 +03:00
elsid
c05fc9e054
Add missing cleanup 2019-03-10 23:58:49 +03:00
elsid
ce9aebcba1
Clear all changed tiles after post 2019-03-10 23:58:48 +03:00
elsid
9d61c49478
Store key by reference in tiles map 2019-03-10 23:56:52 +03:00
elsid
614d5243c3
Make NavMeshCacheItem consistent
Move all logic related to this type into its methods.
2019-03-10 23:07:36 +03:00
elsid
b3c5d64ff3
Use std::make_shared 2019-03-10 22:07:46 +03:00
elsid
f6a1d3cecf
Store weak pointers to navmesh in jobs queue
To avoid useless processing for removed navmeshes.
2019-03-10 17:06:19 +03:00
elsid
ccc709a316
Store guarded navmesh cache item in shared_ptr
Remove useless SharedGuarded type.
2019-03-10 17:06:19 +03:00
elsid
0479ebf5ae
Remove unused actors and navmeshes on update
When there is only one actor (player) on a scene and it moving to other
cell first it will be removed from navigator then added. Remove cause
navmesh removing for its half extents. After it is added navmesh for
same half extents is created and added. While this all happens there are
still jobs for old navmesh are processing. Old navmesh still exists
because it is stored by shared pointer. So jobs take tiles from cache
and place them into old navmesh. After that other jobs take same tiles
from cache (half extents and coordinates are equal) and place them into
other navmesh. dtNavMesh changes tile data on add and remove. Adding tile
to two dtNavMesh corrupts tile in both nameshes.
2019-03-10 17:06:15 +03:00
Chris Djali
c328c4a010
Merge pull request #2231 from akortunov/warnfix
Get rid of C-style limits in the shadows code
2019-03-09 19:00:39 +00:00
Andrei Kortunov
bacaa1f789 Get rid of C-style limits in the shadows code 2019-03-09 13:52:03 +04:00
Andrei Kortunov
12f9184d00 Allow to interrupt terrain preloading 2019-03-09 13:15:23 +04:00
Andrei Kortunov
b214c54b3a Calculate bounding volumes when preloading model instance 2019-03-09 13:15:16 +04:00
Bret Curtis
c20e69ef24
Merge pull request #2227 from elsid/fix_twitchy_massive_creatures
Fix twitchy movement for massive creatures (bug #4907)
2019-03-09 02:11:11 +01:00
elsid
b9f21ec81a
Use custom steps size to make smooth path depending on half extents 2019-03-08 22:33:34 +03:00
bzzt
e0cf460ba3 Do not load terrain beyond the viewing distance 2019-03-08 22:15:27 +04:00
Andrei Kortunov
a6fd077537 Render nearby default cells if the Distant Terrain is disabled 2019-03-08 22:15:27 +04:00
Andrei Kortunov
46e1ed660c Revert "Render default land texture for Wilderness cells with distant terrain"
This reverts commit 888c2d9a33.
2019-03-08 22:15:27 +04:00
elsid
f2e47d640d
Add option to limit max number of navmesh tiles 2019-03-08 17:39:04 +03:00
elsid
ff47df4f2c
Repost navmesh update jobs when failed because of out of memory
DT_OUT_OF_MEMORY error is returned when limit of tiles is reached.
2019-03-08 17:39:04 +03:00
elsid
82e2739bae
Notify workers when only at least one job is posted 2019-03-08 15:27:16 +03:00
elsid
b9b8ed177c
Store priority values as named fields 2019-03-08 15:23:36 +03:00
elsid
0c16fef285
Add navmesh update status builder 2019-03-08 15:07:07 +03:00
elsid
14c9190f49
Move tile replacement into separate function 2019-03-08 15:06:11 +03:00
elsid
b6243e7d1f
Fix name styleguide 2019-03-08 15:02:49 +03:00
Bret Curtis
551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
2019-03-08 08:50:03 +00:00
Bret Curtis
0764271999
Merge pull request #2224 from elsid/fix_odr_violation
Fix ODR violation for VDSMCameraCullCallback
2019-03-08 09:09:36 +01:00
Bret Curtis
a381a1aff4
Merge pull request #2222 from akortunov/warnfix
Attempt to fix Clang warnings about hidden virtual methods
2019-03-08 00:09:31 +01:00
elsid
47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
2019-03-07 23:49:23 +03:00
AnyOldName3
d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 2019-03-07 20:46:10 +00:00
Bret Curtis
c55141d18d
Merge pull request #2217 from Capostrophic/shader
Move forcePPL and clamp to global shader defines (task #4869)
2019-03-07 16:56:09 +01:00
Andrei Kortunov
72db11b56c Fix Clang warnings about hidden virtual methods 2019-03-07 17:53:59 +04:00
Capostrophic
0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 2019-03-05 23:36:08 +03:00
Capostrophic
59f7df187d Add explicit variant of Journal 2019-03-05 20:47:05 +03:00
elsid
27d7452267
Update scaled objects in navigator 2019-03-04 22:59:39 +03:00
Bret Curtis
14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
2019-03-04 11:06:15 +01:00
elsid
133d7447f3
Update scaled objects in navigator 2019-03-03 16:46:41 +03:00
Andrei Kortunov
bf5f68a4d8 Replace boost GCD to the homebrew implementation 2019-03-02 17:32:05 +04:00
Bret Curtis
cd70354f34
Merge pull request #2190 from akortunov/terrain
Make Distant Terrain configurable
2019-03-02 11:19:45 +01:00
Bret Curtis
3b8b0b5dd7
Merge pull request #2197 from akortunov/quadtree
Optimize terrain QuadTree build
2019-03-01 17:09:06 +01:00
Andrei Kortunov
56fea4b062 Add setting to control composite geometry size 2019-03-01 18:02:40 +04:00
bzzt
9d44e18af6 Allow to configure terrain vertex LOD 2019-03-01 18:02:38 +04:00
bzzt
03f23b235a Optimize terrain QuadTree build 2019-03-01 16:17:11 +04:00
bzzt
fd94d7f7ff Make Distant Terrain more configurable (feature #4890) 2019-03-01 14:51:13 +04:00
Grigory Latyshev
3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Bret Curtis
fe23acdd14 Merge branch 'misc_stringutils_tolower' into 'master'
Simplify Misc::StringUtils::toLower

See merge request OpenMW/openmw!71
2019-02-28 19:59:05 +00:00
David Cernat
12cef51122
Merge pull request #2192 from Capostrophic/bzzt
Port minor fixes from bzzt's branch
2019-02-28 12:55:58 +02:00
AnyOldName3
6de1deeb2d Include gldebug attribution and licence 2019-02-28 00:02:07 +00:00
AnyOldName3
e147f6fed9 Finsih gldebug move completely this time 2019-02-28 00:02:07 +00:00
AnyOldName3
ac18983f37 Finish gldebug location move 2019-02-28 00:02:07 +00:00
AnyOldName3
d42c976852 Add detailed OpenGL debug messages 2019-02-28 00:02:07 +00:00
AnyOldName3
aaa3eedf99 Move gldebug from components/misc to components/debug 2019-02-28 00:02:07 +00:00
AnyOldName3
3d917fcbad Add basic OpenGL debug callback 2019-02-28 00:02:07 +00:00
bzzt
567ad293fd Don't discard object cache with uninitialized timestamp
This can happen during terrain loading
2019-02-28 03:01:32 +03:00
bzzt
b2000b7642 Fix quad tree node child bounding box dimensions 2019-02-28 02:51:46 +03:00
bzzt
172cb74763 Delete composite map layers on demand 2019-02-28 02:47:00 +03:00
bzzt
4f387fdf1c Prune empty quad tree nodes 2019-02-28 02:47:00 +03:00
bzzt
aecbc2f01c Fix crash when incremental compile operation is not used 2019-02-28 02:46:59 +03:00
Grigory
af7b6a09a8 Simplify Misc::StringUtils::toLower 2019-02-28 00:24:43 +03:00
bzzt
8c649f05e6 Don't reallocate light list vector unnecessarily 2019-02-27 00:12:14 +03:00
bzzt
a567111400 Use emplace instead of find-assign 2019-02-27 00:10:34 +03:00
bzzt
5bce3cbc68 Don't use MWRender namespace in common terrain components 2019-02-27 00:04:01 +03:00
Capostrophic
9bc360267b Ignore stray explicit references for names in expressions 2019-02-26 17:47:18 +03:00
Capostrophic
cc855e065a Ignore stray references for variables in Set instruction 2019-02-26 16:58:16 +03:00
elsid
33f6fb258d
Option to set specific random seed for random number generator 2019-02-26 09:36:34 +03:00
Bret Curtis
3316938dfc
Merge pull request #2182 from Capostrophic/format
Replace Boost format and replace_all where possible
2019-02-24 20:17:31 +01:00
Bret Curtis
56d5fc788c
Merge pull request #2163 from Capostrophic/hello
AI data handling minor revisions
2019-02-24 20:14:08 +01:00
Capostrophic
e70cc10305 Some more de-boosting 2019-02-24 03:20:20 +03:00
Capostrophic
8ecd0b82a4 Replace Boost format and replace_all where possible 2019-02-24 03:20:20 +03:00
Bret Curtis
d4564a9be7
Merge pull request #2180 from akortunov/includes
Remove redundant includes
2019-02-24 01:14:16 +01:00
Bret Curtis
8cf2523a8d
Merge pull request #2176 from akortunov/rollcontroller
Add support for NiRollController
2019-02-23 23:55:27 +01:00
Bret Curtis
44920352ce
Merge pull request #2181 from Capostrophic/boost
Get rid of Boost.Array
2019-02-23 23:54:30 +01:00
Capostrophic
594ea39f5d Revise AI data handling
Make Hello 16-bit unsigned as it's intended to be
Get rid of redundant mHasAI boolean
Always save AI data subrecord
Adjust creature and NPC default rating values to Morrowind defaults
2019-02-23 21:00:47 +03:00
Bret Curtis
4a69d96483 Merge branch 'esm_name_template_fix' into 'master'
Make sure that proper operator function of ESM:FIXED_STRING is used for char[N] argument

See merge request OpenMW/openmw!63
2019-02-23 13:39:15 +00:00
Adam Fandrejewski
75c204cdd8 Fix #4835 - undefined behavior - uninitialized mCtx 2019-02-23 13:35:25 +00:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Capostrophic
58788de7c4 Get rid of Boost.Array 2019-02-22 23:16:34 +03:00
Bret Curtis
212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
2019-02-22 15:01:37 +01:00
elsid
73734fc04d
Fix update navmesh for not changed objects
When update method is called for not changed object befor this change
all object tiles were considered as not object tiles and were removed.
Also this marked those tiles as changed. This lead to alternation
between remove and add each tile update method was called. Problem was
detected by using Animated Containers mod.
2019-02-22 11:48:31 +03:00
Andrei Kortunov
60f112d11c Add support for NiRollController (feature #4675) 2019-02-21 12:34:35 +04:00
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
2019-02-20 15:35:49 +00:00
AnyOldName3
0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 2019-02-19 18:13:03 +00:00
David Cernat
828c52138f [Documentation] Update readme and credits
According to some legal advice I've received, the "TES3MP Team" is too ambiguous of a legal entity, so – with Koncord's agreement – the copyright is now assigned specifically to us, the project's developers.
2019-02-19 17:29:29 +02:00
Bret Curtis
7a9ff9f7b3
Merge pull request #2161 from akortunov/switchnode
Do not create a redundant parent node for LOD and Switch nodes
2019-02-18 19:46:25 +01:00
Bret Curtis
09262e0336
Merge pull request #2170 from elsid/disable_navigator_option
Add option to disable DetourNavigator component (feature #4833)
2019-02-18 16:01:30 +01:00
Andrei Kortunov
18a59df050 Throw exceptions by value instead of reference 2019-02-17 10:24:25 +04:00
elsid
da6df818ff
Fix update navmesh
Every updated object should produce a set of changed tiles where it is
placed. Before this change only current object tiles were updated. If
object was moved to another set of tiles then navmesh were not changed
in new tiles.

TileCachedRecastMeshManager::updateObject should add all new tiles if object
was moved and remove all no more used tiles. Both new and old tiles should be
marked as changed.

Also add tests to show desired result for add, update, remove.
2019-02-17 01:50:53 +03:00
elsid
9626b6ec42
Add option to disable DetourNavigator component to find paths 2019-02-16 15:50:58 +03:00
elsid
34c594f01e
Add default initializators for settings fields 2019-02-16 15:39:06 +03:00
elsid
16675fd254
Return empty path when navmesh is not found for agent 2019-02-16 15:37:06 +03:00
elsid
1d3668cd22
Add Navigator interface 2019-02-16 15:37:06 +03:00
elsid
d63881e054
Make Navigator::findPath independent from class fields 2019-02-16 15:14:05 +03:00
elsid
a0ed981a7c
Fix operator ++ for OutputTransformIterator 2019-02-16 15:09:57 +03:00
elsid
c68e64a2a7
Make navigator from settings manager setting in separate function 2019-02-16 14:41:11 +03:00
David Cernat
69e7d3f2a7 [Documentation] Update credits 2019-02-14 13:07:54 +02:00
Andrei Kortunov
058e289162 Do not create a redundant parent node for LOD and Switch nodes (bug #4837) 2019-02-09 12:02:09 +04:00
Andrei Kortunov
573b3f4f1d Init target for AI packages from old saves 2019-02-05 08:03:31 +04:00
Bret Curtis
f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
2019-02-04 14:50:13 +01:00
Andrei Kortunov
60c9806d62 Share RigGeometry node data 2019-02-03 13:09:49 +04:00
Azdul
7940317e42 Make sure that proper operator function is used for char[N] argument 2019-02-03 09:32:32 +01:00
Andrei Kortunov
9e4a339ad3 Daytime node switch support (feature #4836) 2019-02-02 10:50:15 +04:00
AnyOldName3
15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 2019-02-01 00:29:13 +00:00
AnyOldName3
cfe921fb82 Remove uneeded includes. 2019-01-31 20:12:42 +00:00
AnyOldName3
2761a38562 Prettify shadow define map setup. 2019-01-31 20:12:17 +00:00
AnyOldName3
57e10e26b2 Make variable name less confusing 2019-01-31 14:58:57 +00:00
AnyOldName3
a24b8ec3d2 Fix enable/disable mixup. 2019-01-31 14:57:56 +00:00
David Cernat
c058dce346 [General] Clarify meaning of commit hash displayed on start 2019-01-31 13:39:06 +02:00
AnyOldName3
556c9a3382 Add normal-offset shadow mapping to remove shadow acne (flicker) 2019-01-30 22:28:00 +00:00
Bret Curtis
e748abde7d
Merge pull request #2147 from akortunov/uvcontroller
Apply UVControllers only for given UV Set
2019-01-28 10:20:43 +01:00
Andrei Kortunov
03b71d3c30 Improve switchable nodes handling by optimizer 2019-01-27 15:19:48 +04:00
Andrei Kortunov
87598f9419 Fill Switch and LOD nodes names 2019-01-27 15:18:57 +04:00
Andrei Kortunov
b2126c2b6b Apply UVControllers only for given UV Set (bug #4827) 2019-01-26 14:53:33 +04:00
AnyOldName3
8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2019-01-24 23:09:23 +00:00
AnyOldName3
d82c85913a Don't bother multiplying a matrix by its inverse and applying that to the light direction.
Hopefully this will improve numerical stability and reduce shadow flicker a little.
2019-01-24 23:07:38 +00:00
AnyOldName3
4438ab4493 Use CullVisitor traversal mask for light manager. 2019-01-24 22:42:23 +00:00
Bret Curtis
8ddb45eb22
Merge pull request #2141 from akortunov/switchnode
Support NiSwitchNode
2019-01-23 21:32:21 +01:00
Andrei Kortunov
2c38e337ae Support NiSwitchNode (feature #4812) 2019-01-23 21:01:54 +04:00
Capostrophic
c9df63ffd1 Replace BSAOpt hash calculation with a custom function 2019-01-22 02:22:57 +03:00
Capostrophic
be5faadff8 Fix compressed BSA loading on non-Windows systems 2019-01-21 01:23:02 +03:00
Bret Curtis
e1d7a8415d Merge branch 'bugfix/file-list-emptying-error' into 'master'
Fix error when create new OpenCS addon

Closes #4757

See merge request OpenMW/openmw!50
2019-01-20 19:59:05 +00:00
Bret Curtis
9cfc97a37a Merge branch 'tes4_bsa' into 'master'
Read BSA files in TES4 / TES5 formats

See merge request OpenMW/openmw!56
2019-01-20 19:03:57 +00:00
Bret Curtis
6fd4d016eb
Merge pull request #2132 from akortunov/particlefix
Fix an exception when try to load a particle node with empty sizes array
2019-01-20 19:52:29 +01:00
Azdul
7880e6f761 CompressedBSAFile::FileRecord::isCompressed implementation simplified.
Double space in CompressedBSAFile::FileRecord::getSizeWithoutCompressionFlag removed.
2019-01-19 14:41:17 +01:00
Azdul
6aa6b2dc89 Removed TES4 from file names. Correct Git file history / attribution. 2019-01-18 21:14:44 +01:00
Azdul
a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 2019-01-18 09:11:41 +01:00
Azdul
42ea609d1d Remove files with incorrect Git history / attribution 2019-01-18 09:03:34 +01:00
Frederic Chardon
a78d98df27 Fix crashcatcher 2019-01-17 10:38:34 +00:00
Adam.Fandrejewski
777a50cb64 Replaced C++ 14 make_unique with C++ 11 compliant code 2019-01-17 09:56:11 +01:00
Azdul
0c3a3ea241 Strange issue with Linux compilation (<memory> header) 2019-01-17 09:11:19 +01:00
Azdul
4c499983ca Fixed warnings reported by GCC 2019-01-17 08:58:25 +01:00
Azdul
d55cc4d3ea Linux requires <memory> header 2019-01-17 08:52:30 +01:00
Azdul
caa0487c6a Replace raw pointer in BsaArchive with unique_ptr 2019-01-17 08:42:43 +01:00
Azdul
e502819246 Proper conversion from shared_ptr<bsa::MemoryinputStream> to shared_ptr<std::istream> 2019-01-17 08:08:03 +01:00
Azdul
b9a7514278 Memory leak fixed. Proper file names in headers. 2019-01-17 07:08:25 +01:00
Azdul
c6fd979c42 Spaces instead of tabs in CMakeLists.txt 2019-01-17 05:42:26 +01:00
Azdul
96d19e07ca Fix Linux build 2019-01-16 20:59:07 +01:00
Azdul
25650e65bf Read any BSA file - detection based on version in BSA header 2019-01-16 20:19:15 +01:00
Andrei Kortunov
39c4a7833c Fix out of range exception when try to load a particle node with empty sizes array (bug #4804) 2019-01-16 22:00:50 +04:00
Capostrophic
166d757a19 Allow stray special characters before a begin statement 2019-01-16 01:12:16 +03:00
Bret Curtis
8834ee95be
Merge pull request #2120 from Capostrophic/macros
Get rid of some remaining instances of C numeric limits
2019-01-10 18:59:34 +01:00
Bret Curtis
590b393c8e
Merge pull request #2123 from akortunov/skinning
Optimize skinning, part 2
2019-01-10 18:56:52 +01:00
Bret Curtis
4617dea154
Merge pull request #2119 from akortunov/stringstream
Get rid of unnecessary string streams
2019-01-10 11:42:27 +01:00
Andrei Kortunov
8e6fd348d1 RigGeometry optimization: optimize geometry optimization 2019-01-09 21:01:33 +04:00
Capostrophic
a71cfca580 Get rid of some remaining instances of C limit macros 2019-01-09 16:06:18 +03:00
Andrei Kortunov
254f01b89d RigGeometry optimization: vector iteration is more cheap than map iteration 2019-01-09 11:52:11 +04:00
Andrei Kortunov
71227ffc04 Handle possible invalid iterator issue during settings parsing 2019-01-08 12:37:46 +04:00
Andrei Kortunov
0937f02598 Get rid of unnecessary string streams 2019-01-07 21:08:16 +04:00
Bret Curtis
65a6b10995
Merge pull request #2066 from akortunov/guifixes
Do not read font size just for every single widget
2019-01-07 17:17:57 +01:00
Capostrophic
d1e0a10136 Make sure AI data is initialized when loading actor records 2019-01-06 21:03:19 +03:00
Capostrophic
ee2560edc3 Fix constant raining 2018-12-31 14:47:00 +03:00
David Cernat
e96091fd6b [General] Use more consistent variable names for password, address, etc. 2018-12-30 17:23:12 +02:00
Capostrophic
e412e1b41c Revert to lexical_cast<float>, catch out-of-range exceptions 2018-12-29 20:20:27 +03:00
Capostrophic
467724d5e8 Improve fallback numerical value handling (bug #4768) 2018-12-28 23:49:06 +03:00
Bret Curtis
91b962c095
Merge pull request #2099 from xyzz/replace-volatile-atomic
Replace volatile bools with std::atomic<bool>
2018-12-28 16:41:07 +01:00
Capostrophic
7155e787b4 Clean up fallback record creation 2018-12-28 01:22:24 +03:00
Ilya Zhuravlev
07e9ce84b3 Replace volatile bools with std::atomic<bool> 2018-12-24 14:19:35 -05:00
AnyOldName3
199e6ed82d Revert "Use forward declaration to reduce build times."
This reverts commit 305b9826df.
2018-12-19 23:53:14 +00:00
AnyOldName3
305b9826df Use forward declaration to reduce build times. 2018-12-19 16:23:32 +00:00
Alexander Kolodeev
7c3ef213ce Fix error when create new OpenCS addon 2018-12-19 18:47:02 +03:00
AnyOldName3
7b108ae9a2 Disable depth sorting for translucent objects in the shadow maps 2018-12-19 01:45:05 +00:00
AnyOldName3
e2515f6db7 Merge branch 'master' into osgshadow-test-vdsm 2018-12-18 19:51:27 +00:00
AnyOldName3
53188f61fc Fix animation bug with VAOs 2018-12-18 19:44:30 +00:00
David Cernat
9fe54aa8c6 [General] Add getArchitectureType() to multiplayer Utils
Additionally, rename getOperatingSystem() into getOperatingSystemType() for clarity.
2018-12-17 11:46:51 +02:00
David Cernat
da6b89c185 [General] Add getOperatingSystem() to multiplayer Utils 2018-12-17 10:47:34 +02:00
Bret Curtis
fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO" 2018-12-13 20:09:46 +01:00
Bret Curtis
97aa6f58e3
Merge pull request #2064 from sthalik/pr/win32-debug-parent-console
enable win32 debug console when launching from console
2018-12-12 21:15:07 +01:00
Stanislaw Halik
c5c160870d fix accidental header namespace inclusion 2018-12-12 00:48:27 +01:00
Stanislaw Halik
f6c8842457 move to debugging.[ch]pp 2018-12-12 00:41:53 +01:00
Stanislaw Halik
74955555b9 remove verbose comments and example 2018-12-12 00:02:09 +01:00
AnyOldName3
b6b1b39804 Make the terrain paging system use the view point rather than the eye point to determine which nodes to use so that it can be inherited by RTT cameras. 2018-12-10 21:20:29 +00:00
elsid
da431135fa
Use pointer to check is NavMeshTilesCache::Value initialized 2018-12-10 23:51:15 +03:00
elsid
aab7f2e8b9
Don't check for equality in move assignment
Assume it is undefined behavior to move-assing value to itself.
2018-12-10 23:45:31 +03:00
AnyOldName3
2d5da1a6fa Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal. 2018-12-08 20:39:41 +00:00
Stanislaw Halik
56d79bd4e0 fix typo 2018-12-08 20:58:10 +01:00
Andrei Kortunov
e073e0d8c9 Do not read font size just for every single widget 2018-12-08 21:18:42 +04:00
Stanislaw Halik
44e60b708b fix missing _WIN32 guard 2018-12-08 03:13:18 +01:00
Stanislaw Halik
64e960aa22 enable win32 debug console when launching from console 2018-12-08 01:29:14 +01:00
AnyOldName3
244bd289cb Change default colour mode (as apparently it actually gets used sometimes) 2018-12-03 18:56:37 +00:00
mp3butcher
7a85e10d2f fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO 2018-12-02 23:36:27 +01:00
AnyOldName3
0a409c0ab8 Make shadow map front-face culling configurable 2018-12-01 00:26:43 +00:00
AnyOldName3
dd207d9e54 Make the shadow polygon offset parameters configurable 2018-11-30 00:55:54 +00:00
AnyOldName3
642002b302 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-29 01:19:01 +00:00
AnyOldName3
aa11832949 Resolve bugs with depth-clamped shadow maps 2018-11-29 01:17:58 +00:00
AnyOldName3
7ad4882f0c Fix debug hud frustum outline disappearence 2018-11-21 23:45:47 +00:00
AnyOldName3
061fa57335 Switch to better-performing data types for debug hud geometry 2018-11-21 22:38:50 +00:00
AnyOldName3
632b0d8979 Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows. 2018-11-20 23:02:28 +00:00
AnyOldName3
660e423e99 Correct debug hud frustum colour 2018-11-20 23:01:04 +00:00
Bret Curtis
419e7ea5a2
Merge pull request #2035 from akortunov/coverity
Fix many Coverity Scan warnings
2018-11-14 09:44:30 +01:00
Andrei Kortunov
4ee15ddcb9 Fix many Coverity Scan warnings 2018-11-14 11:21:49 +04:00
Andrei Kortunov
d2613e35a2 Fix some Clang 7 warnings 2018-11-09 19:42:59 +04:00
Bret Curtis
228f6b572f
Merge branch 'master' into prisonmarker 2018-11-08 21:11:24 +01:00
Bret Curtis
f6243fae83
Merge pull request #1615 from akortunov/holstered_weapons
Weapon sheathing
2018-11-08 20:44:20 +01:00
Bret Curtis
9ae077c033
use c++11 std::align from <memory> (#2026)
* use c++11 std::align from <memory>

* for Ubuntu, use gcc5 instead of 4.8

* use travis to set gcc to 5

eval

and sudo

* use eval in .travis.yml

* use gcc-8

* replace precise with trusty llvm toolchain, because we have been using trusty for awhile now

* push things to matrix, so we can support multiple releases if we want

* we should not be allowing for failures, we are ready to start trusting clang and its analyzer

* scan-build was pushed to another package

* use gcc-8 still but wrap in scan-build

* travis.yml cleanup, have output of scripts go to stdout, make search for substring a regex

use double []

fix missing ,

use bash to use regex

black spaces matter

* set human readable names for our various builds, split out our static analysis between openmw and openmw-cs

* test if not set, then set otherwise ignore

* use quotes

* do not eval it, set it in travis env

* no more &&

* what does clang7 have to say?

* use sourceline for now

* use clang-7 instead of clang-7.0

* yes, llvm-toolchain-trusty-7 not llvm-toolchain-trusty-7.0

* for static analysis, openmw is compiled and checked on its own while openmw-cs is build with all the rest. this might change in the future.

and actually do it the other way around
2018-11-08 17:38:09 +01:00
Andrei Kortunov
ad36834671 Fix some compiler warnings 2018-11-08 13:16:04 +04:00
Capostrophic
4efe1bc892 Add prison marker record fallback definition (bug #4701) 2018-11-05 19:37:46 +03:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
Bret Curtis
a8d944e756
Merge pull request #2023 from elsid/navmesh_cache_limit
Navmesh cache limit
2018-11-05 07:51:48 +01:00
elsid
6e78fbb538
Double key size for item cache size 2018-11-05 02:21:19 +03:00
elsid
696bb9adc8
Add missing decrease for free navmesh data size 2018-11-05 02:21:18 +03:00
elsid
d2c2bdadb5
Add align implementation 2018-11-04 21:56:15 +03:00
elsid
b477775e16
Use callback to iterate over chunks 2018-11-04 18:34:31 +03:00
elsid
db5638bf6d
Add global recast allocator to allocate temp buffers on stack 2018-11-04 18:11:15 +03:00
Andrei Kortunov
a387c6b910 Fix MSVC2015 C4503 warning 2018-11-04 11:11:55 +04:00
Bret Curtis
261bbded00
Merge pull request #2016 from elsid/navmesh_update_change_type
Use new change type for update object
2018-11-03 17:30:05 +01:00
elsid
41319eb2bf
Use new change type for update object
To perform jobs for updated animated objects and doors with lowest
priority.
2018-11-03 16:44:23 +03:00
elsid
b77684a135
Add TODOs 2018-11-03 16:15:32 +03:00
elsid
2ba026e2b2
Limit navmesh cache size by data size + key size 2018-11-03 16:14:07 +03:00
Andrei Kortunov
829faf7b2c Improve toggleactorspaths console command 2018-11-03 10:42:14 +04:00
AnyOldName3
b178e1868a Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-03 00:27:40 +00:00
AnyOldName3
3c25e7b93d
Merge pull request #2010 from AnyOldName3/windows-debug-build-fix
Include missing Windows header before calling Windows-specific functions and switch CMake compile definitions to the new style.
2018-11-02 23:57:44 +00:00
elsid
264ea99af6 Use explicit default ctors call
Special change for MSVC2015.
2018-11-02 10:35:57 +03:00
AnyOldName3
a6d3210a9c Include missing Windows header before calling Windows-specific functions 2018-11-02 01:05:39 +00:00
AnyOldName3
d0c254bc7e Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-01 16:48:21 +00:00
elsid
792a0585c0 Add recastnavigation as subdirectory 2018-11-01 17:01:22 +01:00
AnyOldName3
0208cb8616
Merge pull request #2001 from AnyOldName3/enable-osg-logging
Allow OSG objects to be sent to the debug log.
2018-10-31 22:14:36 +00:00
AnyOldName3
4489f23005 Remove recastnavigation conflicts 2018-10-31 15:15:01 +00:00
Andrei Kortunov
a615076c61 Add default return value 2018-10-31 10:18:29 +04:00
AnyOldName3
3785ba6aa0 Merge upstream/master 2018-10-30 22:38:09 +00:00
AnyOldName3
90986df81c Allow OSG objects to be sent to the debug log. 2018-10-30 22:15:32 +00:00
Bret Curtis
d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
Use recastnavigation for pathfinding (#2229)
2018-10-30 20:44:13 +01:00
AnyOldName3
1ca7ea23d1 Add extra uniforms to the disabled shadows StateSet so that the shadow texture samplers are bound ot the dummy shadow maps correctly. 2018-10-30 17:07:11 +00:00
Bret Curtis
3c53fe16e9
Merge pull request #1986 from akortunov/rootfix
[Regression] Handle RootCollisionNode exactly as in original engine
2018-10-29 22:47:04 +01:00
elsid
49d81241db Merge branch 'master' into pathfinder_detour 2018-10-28 17:08:09 +03:00
elsid
50b6ae3e10 Fix calculation for shape local AABB 2018-10-28 16:58:22 +03:00
elsid
af2f4e8424 Allow to use zero cache size 2018-10-28 16:54:06 +03:00
elsid
abc51a8a17 Add settings option to set max number of polygons per navmesh tile 2018-10-28 15:36:47 +03:00
Andrei Kortunov
6e05853478 Center progress bar when there are active messageboxes (bug #4691) 2018-10-28 14:40:48 +04:00
Andrei Kortunov
61da6b6ecf Print warning if the RootCollisionNode is attached to non-root node (bug #4311) 2018-10-26 17:11:08 +04:00
Andrei Kortunov
6d91fe69b2 Revert "Handle RootCollisionNode, attached to non-root node (bug #4311)"
This reverts commit ec9a1b0d05.
2018-10-26 12:51:04 +04:00
Marc Zinnschlag
4d88d6dd58 Merged pull request #1980 2018-10-25 11:06:22 +02:00
AnyOldName3
1e2bf9c447 Merge remote-tracking branch 'refs/remotes/upstream/master' 2018-10-24 20:13:13 +01:00
Andrei Kortunov
61e6e359c4 Allow creatures to use the autogenerated collision box (feature #2787) 2018-10-22 15:48:23 +04:00
Andrei Kortunov
41e90bd56c Unify random generator usage 2018-10-19 16:16:18 +04:00
AnyOldName3
b0907f8929 Add todos in case they're left until after the shadow PR is merged 2018-10-18 16:01:36 +01:00
AnyOldName3
a41ce42208 Move setting of colorMode to ShaderRequirements in case they're reused 2018-10-18 16:00:51 +01:00
AnyOldName3
474770eca8 Switch shadow map rendering to a specialised, simplified shader. 2018-10-16 21:23:31 +01:00
AnyOldName3
ce15369bbd Convert colorMode shader define to a uniform 2018-10-15 23:12:15 +01:00
elsid
03d4ce5e49
Log find path exception with level verbose, add more info to message 2018-10-15 23:25:42 +03:00
elsid
dc2eb2e16b
Do not write to global log async navmesh updater exceptions 2018-10-15 22:47:07 +03:00
Bret Curtis
53ccce1867
Merge pull request #1966 from akortunov/logfix
Allow apps without logging system to display log messages
2018-10-14 11:20:36 +02:00
Andrei Kortunov
b5df385111 Allow apps without logging system to display log messages 2018-10-14 12:07:15 +04:00
elsid
e57504ae7c
Lower log level 2018-10-13 22:22:15 +03:00
elsid
0f6a64ad54
Split makeNavMeshTileData 2018-10-13 22:22:15 +03:00
elsid
fb655cb04f
Remove macroses to check recastnavigation functions result 2018-10-13 22:22:15 +03:00
elsid
ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
2018-10-13 22:22:12 +03:00
elsid
69b5834c64
Add doc for Navigator 2018-10-13 22:16:35 +03:00
elsid
ae7285e960
Use ScopeGuarded instead of raw mutex 2018-10-13 22:16:35 +03:00
elsid
cf4066751c
Add classes to encapsulate value guarded by mutex 2018-10-13 22:16:35 +03:00
elsid
1a27489904
Add special type for object id 2018-10-13 22:16:35 +03:00
elsid
7c80bb9411
Support multiple threads for async nav mesh updater 2018-10-13 22:16:34 +03:00
elsid
ff478aba6d
Use actor half extent for interior cells 2018-10-13 22:16:33 +03:00
elsid
346e9e3141
Add off mesh connections for doors without teleport 2018-10-13 22:16:33 +03:00
elsid
d02beae5a8
Find path for actors according to their abilities to swim and walk 2018-10-13 22:16:33 +03:00
elsid
dc09674362
Add command and settings option to enable actors paths render 2018-10-13 22:16:32 +03:00
elsid
c95cea414c
Support water for NavMesh 2018-10-13 22:16:32 +03:00
elsid
72f211ef28
Add enums for area type and flags 2018-10-13 22:16:32 +03:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh 2018-10-13 22:16:32 +03:00
elsid
c771986c56
Prioritise NavMesh jobs first to remove and last to add
When player move fast enough, tiles update for specific area square
couldn't catch player move. Tiles to be removed are left in the queue
with lower priority then tiles to be added which are nearest to player.
This can lead to overflow for amount of tiles. So we try to do remove
first. But we detect change type approximately using mixed change type,
because even if we do it precise, change type could change while job
is in queue.
2018-10-13 22:16:31 +03:00
elsid
b33a291a67
Log thread id 2018-10-13 22:16:31 +03:00
elsid
f6a60790f8
Create collision shape for all avoided nodes 2018-10-13 22:16:31 +03:00
elsid
e24d4d7052
Explicitly use RC_NULL_AREA constant to mark unwalkable areas 2018-10-13 22:16:31 +03:00
elsid
330e596c64
Remove useless parameter 2018-10-13 22:16:31 +03:00
elsid
c3298d13a6
Add log sinks (stdout and file) 2018-10-13 22:16:31 +03:00
elsid
84949bedb1
Remove and add tile in single critical section 2018-10-13 22:16:30 +03:00
elsid
144e1a063b
Support animated objects 2018-10-13 22:16:30 +03:00
elsid
4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile 2018-10-13 22:16:30 +03:00
elsid
d2fd9abd51
Split RecastMesh into tiles 2018-10-13 22:16:30 +03:00
elsid
dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render 2018-10-13 22:16:30 +03:00
elsid
f268ec5d34
Measure total time for NavMesh build from first pop 2018-10-13 22:16:29 +03:00
elsid
c26773bd29
Log update NavMesh status 2018-10-13 22:16:29 +03:00
elsid
937e8e1803
Allow to create empty RecastMesh 2018-10-13 22:16:29 +03:00
elsid
dd5f4498f6
Increment NavMesh revision on remove or add tile 2018-10-13 22:16:29 +03:00
elsid
ed3a255f65
Do not use NavMesh to find changed tiles 2018-10-13 22:16:28 +03:00
elsid
d1e71f9322
Support btBoxShape for RecastMesh 2018-10-13 22:16:28 +03:00
elsid
70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
2018-10-13 22:16:28 +03:00
elsid
1caa18bb4f
Use one recast mesh for all jobs 2018-10-13 22:16:27 +03:00
elsid
794cfc4aa3
Write detournavigator log to file 2018-10-13 22:16:27 +03:00
elsid
dd5e6a61a3
Support btCompoundShape for RecastMesh 2018-10-13 22:16:27 +03:00
elsid
373adc6ec4
Option to enable/disable file names revisions 2018-10-13 22:16:27 +03:00
elsid
f8909218ee
Store recast mesh bounds 2018-10-13 22:16:27 +03:00
elsid
d1d034a1ec
Update NavMesh one by one tile in order from nearest to player 2018-10-13 22:16:26 +03:00
elsid
41caca24ee
Options to enable/disable write recast mesh and nav mesh into file 2018-10-13 22:16:26 +03:00
elsid
6d233ae868
Option in settings to enable/disable detour navigator debug log 2018-10-13 22:16:26 +03:00
elsid
430ba9d7a5
Build NavMesh tile data only for changed tiles 2018-10-13 22:16:25 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path 2018-10-13 22:16:25 +03:00
elsid
4f2bfa1e9d
Add operators for osg types 2018-10-13 22:16:25 +03:00
elsid
c01be7b07f
Add operators for bullet types 2018-10-13 22:16:25 +03:00
jvoisin
ca8744af56 Fix crash in the ESM reader, when SCVR has no variable names
Fixes bug [#4678](https://gitlab.com/OpenMW/openmw/issues/4678)
The `loadSCVR` method assumes that the list of variable
names won't be empty, which it might.
Instead of crashing, we show a warning and ignore the record.
2018-10-12 11:28:14 +02:00
Andrei Kortunov
f9271fd7f0 Fix crash in the ESM reader, when list is empty (bug #4677) 2018-10-12 10:38:32 +04:00
AnyOldName3
0124be5713 Merge upstream/master 2018-10-10 21:23:19 +01:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
cc9cii
6ec6b9bc2a OpenMW Integration.
Read the ESM/ESP records but do nothing with them for the moment.
2018-10-07 08:55:30 +11:00
cc9cii
15d5cdf3cf Allow TES4 ESM/ESP to co-exist with TES3 ESM/ESP.
This change aims to allow TES4/TE5 content to OpenMW.  i.e. a standalone TES4 would be implemented quite differently.  That said, the key changes are:

* Use pointers rather than references for ESM readers so that they can be switched to another variant on the fly.
* Content file dependencies to be checked within each group (only 3 groups for now, TES3/TES4/TES5)
2018-10-06 20:38:53 +10:00
cc9cii
3982573035 BSA enhancements.
* Implement hash based lookup for TES3 BSA files.
* Added TES4/TES5 BSA support.
* Implemented a hack (non-portable code) in an attempt to reduce startup time under Windows because  Boost::filesystem seems to take forever on GetFileAttributeW.  This implementation uses FindFirstFile/FindNextFile/FindClose instead.
2018-10-06 13:35:51 +10:00
cc9cii
4cd4cf8479 Resolved conflicts and build fixes. 2018-10-05 21:54:29 +10:00
scrawl
f456174af8 Rename to lowerCaseInPlace
(cherry picked from commit 07b064f616)

# Conflicts:
#	apps/opencs/model/world/commanddispatcher.cpp
#	apps/opencs/model/world/regionmap.cpp
#	apps/opencs/model/world/scriptcontext.cpp
#	apps/openmw/mwrender/animation.cpp
#	apps/openmw/mwscript/statsextensions.cpp
#	apps/openmw/mwworld/store.cpp
#	components/misc/stringops.hpp
2018-10-05 19:16:46 +10:00
scrawl
b4cdb965dc Move rng to components
(cherry picked from commit 8c810e3620)

# Conflicts:
#	apps/openmw/engine.cpp
#	apps/openmw/mwclass/npc.cpp
#	components/misc/rng.cpp
#	components/sceneutil/lightcontroller.cpp
#	libs/openengine/CMakeLists.txt
2018-10-05 18:53:47 +10:00
dteviot
4b0aeb4066 consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.

(cherry picked from commit 3f28634d1f)

# Conflicts:
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/pickpocketitemmodel.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	components/CMakeLists.txt
#	libs/openengine/misc/rng.cpp
2018-10-05 18:45:57 +10:00
Andrei Kortunov
87394f2ebb Revert "Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437)"
This reverts commit 09427d3f5e since the
fix is not entirely correct.
2018-09-29 16:21:40 +04:00
Marc Zinnschlag
38758a9555 Merged pull request #1944 2018-09-29 11:16:14 +02:00
Capostrophic
f20f49daa6 Content selector: allow to copy paths to clipboard (feature #2847) 2018-09-29 02:09:13 +03:00
Andrei Kortunov
43c7438e8e Move WeakCache to components/misc 2018-09-28 16:47:47 +04:00
Kyle Cooley
7eb1b14b21 Periodically prune empty elements in weak cache 2018-09-27 13:14:59 +04:00
Kyle Cooley
031502b2ab Reorganize ActorAdapter data, use weak cache for sharing 2018-09-27 13:14:59 +04:00
Kyle Cooley
6bece13a32 Use new Log class for error message 2018-09-27 13:14:59 +04:00
Kyle Cooley
e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 2018-09-27 13:14:59 +04:00
Kyle Cooley
8444ee9981 Start rendering npc's 2018-09-27 13:14:59 +04:00
Marc Zinnschlag
43880ca47b Merged pull request #1919 2018-09-27 11:06:00 +02:00
Andrei Kortunov
0176ee389e Handle length of UTF-8 strings properly in plugin metadata (bug #4653) 2018-09-25 21:40:26 +04:00
Andrei Kortunov
bce8de5fe9 Respect selected encoding in the content selector (bug #4467) 2018-09-25 21:39:18 +04:00
David Cernat
f100a660d4 [General] Fix ranged attack sync when using last throwing weapon or ammo 2018-09-24 11:30:53 +03:00
Capostrophic
92259c6cca Discard count arguments for AddSoulGem and RemoveSpell (bug #3762) 2018-09-23 22:30:06 +03:00
David Cernat
995d20348f [General] Always use correct ranged weapon & ammo for ranged attack sync
Previously, the player's currently selected weapon was being used in ranged attacks as in the original melee-oriented attack sync, which meant that shooting one type of projectile and then equipping another while the old projectile was still in the air turned the old projectile into the new projectile upon impact.

Additionally, avoid running most of the code in MechanicsHelper::assignAttackTarget() for non-hitting melee and ranged attacks.
2018-09-23 02:30:31 +03:00
Marc Zinnschlag
7be9f2ca45 Merged pull request #1891 2018-09-21 11:38:19 +02:00
David Cernat
db39c62e89 [Documentation] Update credits 2018-09-21 10:23:54 +03:00
Andrei Kortunov
01b3f92f7e Make coc and fixme console commands close to vanilla (bug #4292, bug #4217) 2018-09-20 16:25:02 +04:00
Andrei Kortunov
276b7830a9 Mass potion creation (feature #4642) 2018-09-20 15:45:14 +04:00
David Cernat
b5f46ada73 [General] Synchronize projectile speed for ranged attacks
This is done by including the final attackStrength used for ranged attacks in packets and then applying it in WeaponAnimation::releaseArrow() on other clients.
2018-09-18 01:13:48 +03:00
Andrei Kortunov
70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 2018-09-17 19:22:50 +04:00
Marc Zinnschlag
06b2a23e74 Merged pull request #1768 2018-09-17 12:10:21 +02:00
Marc Zinnschlag
d76367918a Merged pull request #1907 2018-09-17 12:10:00 +02:00
Marc Zinnschlag
107165d36d Merged pull request #1923 2018-09-17 11:59:28 +02:00
Andrei Kortunov
2961f0d810 Allow to use the %Name for creatures (bug #4644) 2018-09-16 21:53:28 +04:00
Capostrophic
95aa05e41b Tweaks to script parser messages and pathgrid warnings 2018-09-16 16:47:33 +03:00
Andrei Kortunov
09427d3f5e Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437) 2018-09-16 14:38:58 +04:00
Capostrophic
363516049d Actually fix General number formatting 2018-09-14 18:38:24 +03:00
Andrei Kortunov
7a986f38da Support for user-defined TrueType fonts 2018-09-12 14:31:01 +04:00
Andrei Kortunov
c9c0230d2a Scale journal fonts separately from common ones 2018-09-12 14:31:01 +04:00
Andrei Kortunov
adbaeb7cca Improve GUI scaling (bug #3288) 2018-09-12 14:31:01 +04:00
Marc Zinnschlag
6100e34051 Merged pull request #1912 2018-09-12 12:04:49 +02:00
Andrei Kortunov
f0919f51e9 Fix integer result formatting of scripting functions 2018-09-11 14:05:44 +04:00
David Cernat
fcd31bf4a6 [General] Fix problems with the synchronization of ranged attacks
Projectile hits now send Attack packets with RANGED attacks, and their success or failure is now synchronized.

Strike enchantments no longer require a valid victim to be synchronized.

Additional debug messages have been added for attacks.
2018-09-11 11:56:45 +03:00
Andrei Kortunov
c2c24a76a4 Handle MyGUI exceptions inside destructors 2018-09-11 11:11:27 +04:00
Andrei Kortunov
aca6625af4 Avoid possible memory leak by using the unique_ptr 2018-09-11 11:11:27 +04:00
Andrei Kortunov
a262e4b342 Print warning, if can not close or remove temporary file 2018-09-11 11:11:27 +04:00
Andrei Kortunov
d5bcc49079 Initialize missing struct fields 2018-09-11 11:11:24 +04:00
Andrei Kortunov
e5a81b1f99 Fix some issues, found by Coverity Scan 2018-09-10 16:35:27 +04:00
David Cernat
8012d0d7b7 [General] Include hit position in PlayerAttack and ActorAttack packets 2018-09-08 05:29:49 +03:00
Andrei Kortunov
5693ceca74 Remove redundant declaration 2018-09-04 17:56:19 +04:00
Capostrophic
65ff346b61 Make NPC record reputation, disposition and faction rank have unsigned char type 2018-09-03 16:45:38 +03:00
Andrei Kortunov
7e2bda459b Check if there are textures in FlipController to avoid division by zero (bug #4614) 2018-09-02 17:36:37 +04:00
Marc Zinnschlag
78a84042ad Merged pull request #1901 2018-09-01 11:08:24 +02:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Andrei Kortunov
b0ac0b0b22 Do not initialize map every call 2018-08-29 16:47:12 +04:00
Marc Zinnschlag
24ce8cce72 Merged pull request #1898 2018-08-29 12:04:52 +02:00
Andrei Kortunov
0ddd0e4edc Fix light flicker amplitude calculation 2018-08-28 14:57:11 +04:00
Andrei Kortunov
c677f7ca27 Rework pulsing light sources (bug #4615) 2018-08-28 14:57:08 +04:00
David Cernat
3bd8aa82fe [General] Reduce inventory-sending hooks to just 2 in ContainerStore
Whenever an item is added to or removed from the player's ContainerStore, that player sends a PlayerInventory packet with just that addition or removal.

This eliminates all the unnecessary packet spam related to oversized PlayerInventory packets that had existed in one form or another since the initial implementation of inventory sync in 1b259e2d33

Additionally, move booleans from BasePlayer to LocalPlayer when they are only needed on the client, and make the usage of the isReceivingQuickKeys boolean consistent with the new isReceivingInventory boolean by having them both in the processors of their associated packets.
2018-08-28 05:01:52 +03:00
Marc Zinnschlag
232ea4f793 Merged pull request #1887 2018-08-27 12:52:30 +02:00
Sophie Kirschner
c412f99963 Remove commented lines in UnrefWorkItem::doWork 2018-08-26 11:08:06 +03:00
Marc Zinnschlag
327f36b081 Merged pull request #1876 2018-08-26 09:15:38 +02:00
Andrei Kortunov
ff241fb787 Optimize skinning (task #4605) 2018-08-25 20:45:59 +04:00
Sophie Kirschner
4dd9386c4f Fix error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
Fixes compile error encountered on OSX 10.9 with g++

sophie:build pineapple$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

The compilation error:

[ 24%] Building CXX object apps/openmw/CMakeFiles/openmw.dir/mwrender/renderingmanager.cpp.o
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.cpp:1:
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.hpp:4:
/Users/pineapple/git/openmw/openmw-deps/include/osg/ref_ptr:35:36: error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
        ~ref_ptr() { if (_ptr) _ptr->unref();  _ptr = 0; }
                                   ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:14:11: note: in instantiation of member function
      'osg::ref_ptr<SceneUtil::UnrefWorkItem>::~ref_ptr' requested here
    class UnrefQueue : public osg::Referenced
          ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:10:11: note: forward declaration of 'SceneUtil::UnrefWorkItem'
    class UnrefWorkItem;
2018-08-24 16:41:52 +03:00
Andrei Kortunov
a560a9e00d Allow messageboxes arguments to have newline characters (bug #3836) 2018-08-24 15:48:18 +04:00
AnyOldName3
db707a31ec Add clipping planes when allow shadow map overlap is enabled 2018-08-23 13:14:02 +01:00
AnyOldName3
25e92481f4 Merge remote-tracking branch 'refs/remotes/upstream/master' 2018-08-21 14:00:58 +01:00
AnyOldName3
15e820825f Fix another convex hull clipping issue and restore z-clipping 2018-08-21 14:00:29 +01:00
David Cernat
a083439139 Merge pull request #469 from davidcernat/master while resolving conflicts
# Conflicts:
#	apps/openmw/main.cpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
2018-08-20 14:08:44 +03:00
Capostrophic
a06c9c767d Treat <> and << operators as < and >< and >> as > in scripts
(bug #4597)
2018-08-19 18:40:33 +03:00
Marc Zinnschlag
dc9aedca7d Merged merge request !33 2018-08-18 12:08:05 +02:00
AnyOldName3
3ce96997d1 Remove sneaky tabs. 2018-08-18 00:09:40 +01:00
AnyOldName3
80082308f0 Merge upstream (shadermanager log system revamp) 2018-08-17 18:22:13 +01:00
AnyOldName3
dd501f4132 Make ConvexHull::clip more resilient against large values. 2018-08-17 17:47:52 +01:00
AnyOldName3
987306feb9 Fix ConvexHull::extendTowardsNegativeZ 2018-08-16 23:48:19 +01:00
Bret Curtis
dcd381049c
Merge pull request #1872 from akortunov/extended_logging
Use new logging system
2018-08-16 11:38:29 +02:00
Andrei Kortunov
c7a5548475 Use new logging system for editor 2018-08-14 20:01:09 +04:00
Andrei Kortunov
1452684d9e Use new logging system for components 2018-08-14 19:42:41 +04:00
Bret Curtis
c0e50b2c02
Merge pull request #1865 from elsid/material_race_condition
Fix race condition (bug #4584)
2018-08-14 10:29:58 +02:00
Andrei Kortunov
9a5b016293 Move crashcatcher initialization to components 2018-08-14 11:17:05 +04:00
Andrei Kortunov
5e172ed831 Move cerr initialization out of 'try' block 2018-08-14 10:30:27 +04:00
James Carty
1c49698053 Implement 'g' flag 2018-08-13 20:31:11 +01:00
Bret Curtis
61b34124e2
Merge pull request #1847 from akortunov/extended_logging
Improve console logging
2018-08-13 10:19:25 +02:00
James Carty
579f35511a Add support for scietific notation flag for MessageBox 2018-08-12 22:45:03 +01:00
Andrei Kortunov
7d6e3673e0 Implement advanced logging system (feature #4581) 2018-08-12 13:38:15 +04:00
elsid
c2b8c7086a
Fix race condition
Values are accessed from main thread and cell preloader threads.
2018-08-12 01:06:58 +03:00
elsid
2de38142e2
Replace raw pointers by unique_ptr 2018-08-11 18:00:52 +03:00
elsid
f2a63bcf35
Add unit tests for BulletNifLoader 2018-08-11 18:00:52 +03:00
elsid
6afc1dc3a0
Support build with coverage for components and test suite 2018-08-11 17:24:40 +03:00
Marc Zinnschlag
b67b17010d Merged pull request #1826 2018-08-10 12:21:49 +02:00
Andrei Kortunov
ec9a1b0d05 Handle RootCollisionNode, attached to non-root node (bug #4311) 2018-08-10 11:11:40 +04:00
David Cernat
8df08c7d10 [General] Implement PlayerItemUse packet
Players can no longer unilaterally use items on themselves in their inventory. When they try to use an item, they send a PlayerItemUse packet to the server with the item's details. A serverside script can then check the item and either send the packet back to make the item use go through or drop it.
2018-08-09 18:25:20 +03:00
Bret Curtis
03bf599426
Merge pull request #1856 from Capostrophic/hidden
Revert untextured shapes rendering changes
2018-08-09 12:36:03 +02:00
Capostrophic
348c6f848e
Fix a bunch of MSVC warnings 2018-08-09 02:27:33 +03:00
AnyOldName3
3b3721897d Make indoor shadows disableable. 2018-08-08 23:56:11 +01:00
AnyOldName3
a2b54714d4 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-08-08 23:28:06 +01:00
AnyOldName3
6286f5a1d4 Ensure RigGeometry child geometries have sensible bounds without actually computing them. 2018-08-08 23:24:57 +01:00
Capostrophic
85208eff7f Revert untextured shapes rendering changes 2018-08-08 21:10:00 +03:00
Capostrophic
bda23c6ad6 Fix nodemask 2018-08-07 20:49:10 +03:00
Capostrophic
a1e3b2e586 Don't render NiTriShapes without NiTexturingProperty (bug #4483) 2018-08-05 16:24:24 +03:00
Andrei Kortunov
1f4dd3b393 Make partial binary search case insensitive, as it supposed to be (bug #4558) 2018-08-05 13:26:12 +04:00
David Cernat
888e1dfff8 [General] Allow setting of AI fight & dynamic stats in record packets
Additionally, allow the setting of the Autocalc flag for an NPC record based on an existing record.
2018-08-05 11:00:25 +03:00
Marc Zinnschlag
452a706047 Merged pull request #1837 2018-08-04 10:26:44 +02:00
Andrei Kortunov
e2519226aa Move boost include 2018-08-03 17:04:07 +04:00
Andrei Kortunov
c2a175c2e0 Move crash catcher wrapper to separate file 2018-08-03 15:51:17 +04:00
Andrei Kortunov
ac98797999 Add missing file 2018-08-03 15:05:13 +04:00
Andrei Kortunov
c454f1bdad Use log file for editor (feature #4012) 2018-08-03 09:05:08 +04:00
AnyOldName3
8f4125134f Merge remote-tracking branch 'refs/remotes/upstream/master' 2018-08-02 15:51:06 +01:00
Andrei Kortunov
369ea7e177 Check if a temporary file was successfully closed 2018-08-01 20:36:29 +04:00
Andrei Kortunov
12144de8ed Initialize missing variables 2018-08-01 20:18:37 +04:00
AnyOldName3
cc23a968d1 Merge upstream/master 2018-08-01 14:13:45 +01:00
AnyOldName3
71778e2552 Disable convex hull clipping based on render leaf traverser results in the z direction. 2018-07-31 23:42:44 +01:00
AnyOldName3
02ab3b466a Use simplified convex hull clipping maths from the other function doing hte same thing 2018-07-31 23:30:15 +01:00
Andrei Kortunov
469bb29621 Do not try to handle shape controllers as node controllers 2018-07-30 21:45:17 +04:00
David Cernat
8c40010c87 [General] Add missing inventoryBaseId to creatures in RecordDynamic 2018-07-30 10:59:03 +03:00
David Cernat
b57807407a [General] Implement RecordDynamic packet, part 1
Spell, potion, enchantment, creature, NPC, armor, book, clothing, miscellaneous and weapon record data can now be sent in a RecordDynamic packet. Additionally, the packets include data related to associated magical effects (for spells, potions and enchantments), data related to default inventory contents (for creatures and NPCs) and data related to body parts affected (for armor and clothing).

The server now has associated script functions for setting most of the details of the above, with the main exception being individual creature and NPC stats.

Records can either be created entirely from scratch or can use an existing record (set via the baseId variable) as a starting point for their values. In the latter case, only the values that are specifically set override the starting values. Creature and NPC records also have an inventoryBaseId that can be used on top of the baseId to base their inventories on another existing record.

The client's RecordHelper class has been heavily expanded to allow for the above mentioned functionality.

When players create spells, potions and enchantments as part of regular gameplay, they send RecordDynamic packets that provide the server with the complete details of the records that should be created. When they create enchantments, they also provide the server with armor, book, clothing and weapon records corresponding to the items they've enchanted.

This functionality added by this packet was originally supposed to be exclusive to the rewrite, but I've gone ahead and tried to provide it for the pre-rewrite in a way that can mostly be reused for the rewrite.
2018-07-30 10:56:26 +03:00
Andrei Kortunov
7e0df01c83 Do not optimize animated shapes (bug #3950) 2018-07-28 16:48:57 +04:00
David Cernat
2dbf3893c0 [General] Compress item refIds in PlayerEquipment packets 2018-07-28 01:50:44 +03:00
David Cernat
d93b67ef21 [General] Sync soul refIds for items and add related script functions 2018-07-26 22:37:04 +03:00
David Cernat
c3ff273a22 [General] Add getVectorSize() and resetVector() to Utils 2018-07-26 20:01:58 +03:00
David Cernat
b4802e4201 [General] Use Time struct for time in BaseWorldstate 2018-07-26 19:01:27 +03:00
David Cernat
a4b588d1b5 [General] Add optional timestamps to journal entries in PlayerJournal 2018-07-26 04:36:12 +03:00
David Cernat
ea8a41160c [General] Make ActorAttack packet consistent with PlayerAttack
Additionally, fix a typo in PlayerAttack where a boolean argument was outside of the parentheses it should have been in.
2018-07-24 22:43:00 +03:00
David Cernat
8fbed1f808 [General] Remove custom data from PlayerSpellbook packet
It has never made sense to have custom spell data in PlayerSpellbook packets, so it has been removed.
2018-07-24 20:58:55 +03:00
David Cernat
63a86f145d [Client] Record type of each InterpreterContext for later checking 2018-07-23 00:46:07 +03:00
David Cernat
3165c84db4 [General] Rework PACKET_ORIGIN enum
Additionally, comment out reading of originClientScript in ObjectPacket for now.
2018-07-22 22:43:40 +03:00
David Cernat
9e6459043b [General] Fix typo related to originClientScript in ObjectPacket 2018-07-22 20:29:27 +03:00
David Cernat
3dc2d1b214 [General] Add packetOrigin and originClientScript to ObjectList packets
Additionally, add script functions for getting the packetOrigin and originClientScript of received ObjectList packets.
2018-07-22 18:38:05 +03:00
David Cernat
715cac807d [General] Add compareFloats to Utils 2018-07-22 15:23:23 +03:00
David Cernat
cb6c37a26d [General] Replace doubles with floats in BaseStructs and BaseWorldstate 2018-07-22 14:20:20 +03:00
David Cernat
038757b91a [General] Temporarily revert to original rotation animation sync
I originally added rotation animation sync as part of commit 068a45be87. Unfortunately, it meant the PlayerPosition packets were now twice as large as they had been before, which was less than ideal for such a frequently sent packet, which is why Koncord switched to a more optimized approach in commits 5f30dfd5db and d67db1a9bd.

Recently, there have since been some rotation animation problems in OpenMW, which have broken the way Koncord's approach looks. My original approach still looks somewhat okay, so I'm switching back to it until we can figure out how to reuse it under the current circumstances.
2018-07-21 19:27:36 +03:00
David Cernat
20e0100706 [General] Rework Attack packets and add synchronization for item magic 2018-07-21 14:41:27 +03:00
David Cernat
21d5bb4d4e
Merge pull request #460 from OpenMW/master
Add 0.7.0 commits up to 20 Jul 2018
2018-07-21 05:59:57 +03:00
David Cernat
892d71ce71 [General] Reimplement weather synchronization to allow soft transitions
Although weather sync was added by Koncord to the rewrite in fd721143e2 in a way that used surprisingly few lines of code, it relied on the server requesting weather states every second from authority players and sending them to non-authority players, while also allowing only very sudden weather transitions across regions, i.e. if there was one player in the Ascadian Isles who had stormy weather, and another player with clear weather in the Bitter Coast Region walked across to the Ascadian Isles, that player was instantly made to have stormy weather with no kind of transition at all.

My approach solves both of those problems. It solves the packet spam by only sending weather updates to the server when weather changes happen or when there are new arrivals to a weather authority's region, and it allows for both sudden weather transitions when players teleport to a region and for soft, gradual transitions when players walk across to a region. It is inspired by my previous actor sync, and uses a WorldRegionAuthority packet to set players as region authorities in a similar way to how ActorAuthority sets players as cell AI authorities. Weather changes are created only by the region authority for a given region, and weather packets are also only sent by that authority.

However, it should be noted that gradual weather transitions are used by default in this implementation. To use sudden weather transitions, the serverside Lua scripts need to forward WorldWeather packets with the forceWeather boolean set to true. That is, however, already handled by our default Lua scripts in situations where it makes sense.
2018-07-21 05:20:26 +03:00
David Cernat
9823a77bf2 [General] Turn PlayerRegionAuthority into WorldRegionAuthority
WorldRegionAuthority is a Worldstate packet.
2018-07-17 09:21:13 +03:00
David Cernat
72d286473b [General] Move credits integrity error message to new ErrorMessages file
Additionally, use correct log level for credit integrity message on server.
2018-07-16 03:21:14 +03:00
David Cernat
0b5cb15f71 [General] Turn GameWeather into WorldWeather, now a WorldstatePacket 2018-07-16 02:20:43 +03:00
David Cernat
646111d998 [General] Use correct credits checksum and move it to Version.hpp 2018-07-16 01:05:56 +03:00
David Cernat
22b2b7a9c6 [General] Add Utils methods for checksums 2018-07-15 22:39:57 +03:00
Nikolay Kasyanov
21f198af7a Fix debugger detection on macOS (#4511) 2018-07-15 12:36:01 +02:00
David Cernat
3649cf553f [General] Rename PlayerKillCount into WorldKillCount
This should clarify the real meaning of the packet and its associated event.

The event itself has been renamed from OnPlayerKillCount to OnWorldKillCount.
2018-07-15 05:34:59 +03:00
David Cernat
6ebe09375f [General] Implement ObjectActivate packet & associated script functions 2018-07-15 03:16:04 +03:00
David Cernat
81b160cae8 [General] Add placeholder for ObjectActivate packet 2018-07-15 01:08:31 +03:00
David Cernat
61da0d2475 [General] Turn PlayerInteraction into PlayerInput 2018-07-15 00:36:07 +03:00
David Cernat
32b6134fad [General] Add placeholder for CellReplace packet 2018-07-15 00:17:13 +03:00
David Cernat
a471f5e452 [General] Turn CellCreate into a Worldstate packet 2018-07-14 23:51:49 +03:00
David Cernat
ae55ee7f0b [General] Add getNumberOfDigits to Utils in components 2018-07-14 23:51:49 +03:00
Grim Kriegor
2fcde5e8ba [General] Temporarily disable the new OpenMW crash catcher
This new crash catcher is preventing TES3MP from building on GNU/Linux
`components/crashcatcher/crashcatcher.cpp:23:28: fatal error: SDL_messagebox.h: No such file or directory`
Disable it until the developers isolate the issue and patch it
2018-07-14 19:46:47 +01:00
David Cernat
6cb5ac6e63 Merge pull request #457 from OpenMW/master while resolving conflicts
Conflicts:
	CMakeLists.txt
	apps/openmw/engine.cpp
	apps/openmw/main.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwmechanics/character.cpp
	components/CMakeLists.txt
2018-07-14 03:57:05 +03:00
David Cernat
528bd26a3b [General] Allow followers to follow non-authority players through cells 2018-07-13 21:27:29 +03:00
David Cernat
09da24f1ea [General] Rename all instances of refNumIndex into refNum
This creates symmetry with mpNum and should cause less confusion in the future.
2018-07-13 04:12:03 +03:00
David Cernat
bdf2f03c4f [General] Remove unnecessary MapChanges struct from BaseWorldstate 2018-07-12 05:06:31 +03:00
David Cernat
ceea65f666 [General] Change pre-rewrite's version to 0.7.0-alpha 2018-07-11 19:35:28 +03:00
Bret Curtis
99e4d49e7c
Merge pull request #1787 from akortunov/profilierfont
Use the DejaVuLGCSansMono.ttf for profiler output
2018-07-11 16:00:34 +02:00
Andrei Kortunov
70b6d4983d Use the DejaVuLGCSansMono.ttf in profilier output 2018-07-11 14:41:49 +04:00
elsid
3f21c49479
Put check for nif file name into separate function 2018-07-10 23:46:06 +03:00
elsid
2599aba196
Fix check whether file name starts with x or X
If path doens't contains / or \, then slashpos will be 0.
Therefore slashpos + 1 = 1 doesn't point to first symbol.

xmesh.nif
 ^
 slashpos + 1
2018-07-10 23:46:06 +03:00
David Cernat
bff6e9e235 [General] Implement ActorAI packet, part 5
Allow repetition for AiWander package to be turned on and off.
2018-07-10 23:18:32 +03:00
Andrei Kortunov
c921d1c7e9 Refactor NifStream class (eliminate LNK4221 MSVC warning) 2018-07-10 13:32:52 +04:00
Andrei Kortunov
16a4df25d6 Make void function to do not return value 2018-07-10 09:36:39 +04:00
David Cernat
00c13ae96c [General] Implement ActorAI packet, part 4
The server can now make actors activate players and objects, at least in theory. In practice, OpenMW''s AiActivate package needs to be worked so it allows specific objects as targets instead of just refIds.
2018-07-10 07:07:37 +03:00
David Cernat
0e13207afe [General] Implement ActorAI packet, part 3
The server can now cancel actor AI, make actors travel to a location, make actors wander, and make actors get escorted by a player or another actor.
2018-07-10 05:07:58 +03:00
David Cernat
5baef09f79 [General] Implement ActorAI packet, part 2
The server can now make actors start combat with players or other actors.
2018-07-10 02:47:52 +03:00
Alexander Stillich
725cc94210 Renamed cc_install to something less cryptic (crashCatcherInstall) 2018-07-09 16:25:55 +02:00
Doc West
467989cdd5 Moved crashcatcher to a component and also use it in CS
Reworked debugger detection (failed on gdb 7.11), it now uses /proc to detect the debugger
2018-07-09 16:25:55 +02:00
David Cernat
3ed9d89280 [General] Use separate variables for video & music filenames in packets 2018-07-07 14:40:35 +03:00
David Cernat
c075496748 [General] Replace deathReason in death packets with a killer variable
Add serverside script functions for determining the killers of both players and actors.

Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.

Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
f02492a593 [General] Temporarily include target names in mwmp::Target
These will be removed once the server can get the names matching refIds by reading content files.
2018-07-05 19:40:28 +03:00
David Cernat
32ad8ef2f0 [General] Fix incorrect capitalization in ObjectMove directives 2018-07-05 06:07:10 +03:00
David Cernat
bbb461a5e5 [General] Make sure data in guiMessageBox is compressed 2018-07-05 02:56:32 +03:00
David Cernat
a236ffc4be Merge pull request #456 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
#	apps/openmw/mwgui/quickkeysmenu.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/combat.cpp
2018-07-04 01:52:29 +03:00
Koncord
79903c455c [General] Allow different types for vectorContains 2018-07-04 01:31:45 +08:00
Koncord
1f4e6e9114 [General] Add integrity checks to Handshake packet 2018-07-03 18:41:03 +08:00
Koncord
f9ff5f10df [General] Reduce packets size and add integrity checks 2018-07-03 18:41:03 +08:00
Koncord
fa2bf0663e [General] Simplify vectorContains 2018-07-03 18:41:03 +08:00
Koncord
c69819e0db [General] Change type of refNumIndex & mpNum to unsigned 2018-07-03 03:34:30 +08:00
Koncord
99158beb2e [General] Change effectCount type to unsigned 2018-07-03 03:32:46 +08:00
Koncord
895634cd16 [General] Change type of MpNum to "unsigned int" 2018-07-03 03:25:54 +08:00
Koncord
779f2a564d [General] Change "unsigned long" to uint32_t for cross platform compatibility 2018-07-03 03:04:41 +08:00
Koncord
23684489da [General] Fix clang-tidy warning
Converting integer literal to bool, use bool literal instead
2018-07-03 02:50:21 +08:00
Koncord
7639db02f3 [General] RW functions return true on success 2018-07-03 02:28:20 +08:00
Koncord
45c7c3a0b6 [General] Add integrity checks to PacketPreInit 2018-07-03 02:21:36 +08:00
Koncord
d999cc0d55 [General] Add packetValid flag to packets 2018-07-03 02:06:52 +08:00
Koncord
695fb7d4a7 [General] Reorder RW(string) arguments
Change limit of default max string size to 64 KiB
2018-07-03 01:12:59 +08:00
Koncord
d162f6fd3a [General] Explicitly use limitations of the master server 2018-07-02 23:29:07 +08:00
Koncord
a48d5b48ef [General] Add maxSize parameter to RW(std::string)
Minor type changes
2018-07-02 23:19:39 +08:00
David Cernat
bef53749ed [General] Replace BaseObject's hasMaster variable with isSummon
Additionally, add a GetObjectSummonState() script function to the server.
2018-07-02 02:25:06 +03:00
David Cernat
958b220835 [General] Send summon duration to server in ObjectSpawn packets 2018-07-01 00:43:29 +03:00
AnyOldName3
85aba2e1da Add toggleable shadow debug overlay. 2018-06-28 17:24:36 +01:00
David Cernat
9102df7fde [General] Make WorldCollisionOverride also work with specific refIds
For now, this only makes it possible to enforce collision for specific refIds for placed objects.
2018-06-28 04:53:00 +03:00
David Cernat
c7f10892a9 [General] Add vectorContains util for checking strings in vectors 2018-06-28 04:50:01 +03:00
David Cernat
7ffdb18bf9 [General] Implement ActorDeath packet, part 1
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.

A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
2018-06-27 21:47:55 +03:00
David Cernat
914b79fcc9 [General] Make it possible to check which placed objects have containers 2018-06-26 16:56:08 +03:00
Andrei Kortunov
359e748c28 Initialize some missing fields in constructors 2018-06-25 09:35:42 +04:00
David Cernat
d53bd05424 [General] Use slightly larger maximum imageData size in WorldMap packets 2018-06-23 14:37:47 +03:00
David Cernat
5bb2ba1e9e [General] Limit maximum imageData size in WorldMap packets 2018-06-23 02:33:34 +03:00
AnyOldName3
f8e4f3fca5 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-06-22 00:11:29 +01:00
Bret Curtis
6655b7e512
Merge pull request #1740 from nikolaykasyanov/software-cursor-decompression
Decompress cursors using SDL software renderer on Mac or if OSG >= 3.5.8 or if OPENMW_DECOMPRESS_TEXTURES is set
2018-06-20 17:19:48 +02:00
Bret Curtis
3ebebdf3c1
Merge pull request #1751 from wareya/terrainbleeding
Fix #4452
2018-06-20 10:20:11 +02:00
AnyOldName3
553094669b Merge upstream/master (& fix merge conflicts) 2018-06-20 00:11:23 +01:00
AnyOldName3
ed68db5ef9 Fix issue where the camera frustum cropping wouldn't consider where casters might cast shadows, just where they actually were. 2018-06-19 23:48:59 +01:00
Bret Curtis
c1eb9042b3
Merge branch 'master' into terrainbleeding 2018-06-19 13:40:14 +02:00
Andrei Kortunov
5fd3ec1035 Implement unlockable locks with 'lock 0' console command 2018-06-19 14:17:33 +04:00
Nikolay Kasyanov
75d79e98b9 Force software decompression if OPENMW_DECOMPRESS_TEXTURES is set 2018-06-16 12:38:16 +02:00
Nikolay Kasyanov
359f87ab9f Change imageToSurface to return a unique_ptr to avoid manual surface cleanup 2018-06-16 12:12:32 +02:00
Miloslav Číž
2a23b53515 Merge branch 'drummyfish/openmw-toggleborders' 2018-06-14 15:33:08 +02:00
Miloslav Číž
477e1437d2 Resolve conflicts 2018-06-14 15:30:28 +02:00
Miloslav Číž
34f8eca7bd Fix indent 2018-06-14 13:43:32 +02:00
Miloslav Číž
ab8de9fa14 Set node mask to cell borders 2018-06-14 13:18:37 +02:00
Miloslav Číž
414e6caafe Make tb work with distant terrain 2018-06-14 13:14:38 +02:00
Miloslav Číž
f18d57429e Move cell border management to World 2018-06-14 12:27:22 +02:00
Miloslav Číž
1b8d500c07 Make tb command work again 2018-06-14 12:01:09 +02:00
Miloslav Číž
1fd5ad3e56 Use REAL_SIZE constant 2018-06-14 01:01:22 +02:00
Miloslav Číž
d629c30fdb
Merge branch 'master' into screenshot360 2018-06-13 21:16:28 +02:00
Bret Curtis
a747318c90
Merge branch 'master' into terrainbleeding 2018-06-13 09:20:49 +02:00
Marc Zinnschlag
48711bbdde Merged pull request #1592 2018-06-13 08:58:06 +02:00
Miloslav Číž
c3d7ee5a9e Resolve merge conflicts 2018-06-13 08:22:37 +02:00
wareya
94f695cffc Fix #4452 and remove dead code 2018-06-12 21:04:27 -04:00
Miloslav Číž
db8aaa74d6 Start cell border debug drawing 2018-06-13 01:48:31 +02:00
Nikolay Kasyanov
224b94c0ce Decompress cursors using SDL software renderer on Mac or if OSG >= 3.5.8 2018-06-12 20:32:02 +02:00
AnyOldName3
f5b144ef77 Improve bounds calculation for shadow casters outside of the viewing frustum 2018-06-12 17:04:56 +01:00
Marc Zinnschlag
565922f9ad naked expressions beginning with the member operator were allowed erroneously outside of the console (Fixes issue #2971) 2018-06-12 17:52:16 +02:00
Marc Zinnschlag
8d0f717e72 Merged pull request #1739 2018-06-12 17:04:41 +02:00
Marc Zinnschlag
90febde783 Merged pull request #1742 2018-06-12 17:03:38 +02:00
Marc Zinnschlag
816a1733dc Allow comma after Begin and End script instruction (Fixes #4451) 2018-06-12 15:29:28 +02:00
Andrei Kortunov
acd3cba5fa Store previous items in the savegame 2018-06-10 16:21:19 +04:00
wareya
7344323b9e remove indentation from blank lines 2018-06-09 10:31:51 -04:00
wareya
8f45b0d53a remove unnecessary conditions 2018-06-09 10:11:43 -04:00
Andrei Kortunov
fba0c155df Fix assertion fail related to NiLookAtController 2018-06-09 17:07:38 +04:00
Marc Zinnschlag
7d9de93fd3 Merged pull request #1477 2018-06-09 10:52:35 +02:00
Marc Zinnschlag
551a69f1b1 Merged pull request #1559 2018-06-09 10:51:02 +02:00
Marc Zinnschlag
efb4abbb7f Merged pull request #1623 2018-06-09 10:49:04 +02:00
wareya
6277f5511c fix #3876 and #3993 2018-06-08 17:52:46 -04:00
Andrei Kortunov
3d0631cfcc Store last AI package in savegame 2018-06-08 21:53:47 +04:00
Andrei Kortunov
3a0ee78d2b AiTravel: store mHidden flag in savegame 2018-06-08 21:53:47 +04:00
Andrei Kortunov
fed10e87aa Store integer actor ID in AI packages (bug #4036) 2018-06-08 19:57:41 +04:00
Andrei Kortunov
2fada94879 Improve MRK NiStringExtraData handling (bug #4419) 2018-06-08 15:44:35 +04:00
David Cernat
72862dc255 [General] Turn PlayerMap into WorldMap, now a Worldstate packet 2018-06-07 12:51:45 +03:00
David Cernat
a28b27f5d9 Merge pull request #443 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
2018-06-05 20:57:50 +03:00
David Cernat
494edbe5cb [General] Add REPLY_TO_REQUEST container sub-action 2018-06-05 14:16:27 +03:00
David Cernat
c24157f6f9 [General] Fix CMakeLists in components for BaseObject 2018-06-05 13:14:52 +03:00
David Cernat
c20a0c72c5 Merge pull request #442 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
2018-06-04 19:34:26 +03:00
Marc Zinnschlag
13f7b53b1c Revert "Don't force DDS file usage (fixes #1392)"
This reverts commit 90f3ff2da4.
2018-06-04 17:08:09 +02:00
Bret Curtis
4a2b973052
Merge pull request #1726 from elsid/fix_catch_warnings
Fix warnings: catching polymorphic type by value
2018-06-02 19:36:04 +02:00
Capostrophic
eecde340cf Make weapon health short unsigned (fixes #4435) 2018-06-02 15:44:59 +03:00
elsid
dba79f4d4d
Fix warnings: catching polymorphic type by value
openmw/apps/openmw/mwworld/worldimp.cpp: In member function ‘virtual bool MWWorld::World::findExteriorPosition(const string&, ESM::Position&)’:
openmw/apps/openmw/mwworld/worldimp.cpp:2650:25: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
             catch (std::invalid_argument)
                         ^~~~~~~~~~~~~~~~
openmw/apps/openmw/mwworld/worldimp.cpp:2654:25: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
             catch (std::out_of_range)
                         ^~~~~~~~~~~~

openmw/components/widgets/numericeditbox.cpp: In member function ‘void Gui::NumericEditBox::onEditTextChange(MyGUI::EditBox*)’:
openmw/components/widgets/numericeditbox.cpp:41:21: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
         catch (std::invalid_argument)
                     ^~~~~~~~~~~~~~~~
openmw/components/widgets/numericeditbox.cpp:45:21: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
         catch (std::out_of_range)
                     ^~~~~~~~~~~~
2018-06-02 14:28:46 +03:00
AnyOldName3
50fdd0be99 Resolve computed near plane issues with extremely high viewing distances. 2018-05-29 00:52:43 +01:00
AnyOldName3
759e6fb804 Merge remote-tracking branch 'refs/remotes/upstream/master' 2018-05-27 15:41:42 +01:00
David Cernat
669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
2018-05-27 16:10:16 +03:00
David Cernat
3efe05a88e [General] Implement WorldCollisionOverride packet 2018-05-27 16:05:40 +03:00
Thunderforge
c2fff61ccd Changing so that data changes happen only after the addon is checked 2018-05-26 20:35:28 -05:00
David Cernat
416ee77639 [General] Add placeholder for WorldCollisionOverride packet 2018-05-25 07:09:32 +03:00
David Cernat
49ea76aa9d [General] Add notes for InputDialogs in GUIBoxes packet 2018-05-25 05:28:22 +03:00
David Cernat
3b5fb9cd6b [General] Make it possible to set year via WorldTime 2018-05-25 03:33:12 +03:00
David Cernat
4acf93b7db [General] Make it possible to set days passed via WorldTime 2018-05-24 14:02:04 +03:00
David Cernat
74c2a0b311
Merge pull request #438 from OpenMW/master
Add OpenMW commits up to 24 May 2018
2018-05-24 12:16:11 +03:00
Andrei Kortunov
afae398b5c Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
Andrei Kortunov
b5374029e5 Implement case-insensitive search in spell window 2018-05-24 12:39:00 +04:00
David Cernat
46744ee90f [General] Make WorldTime script functions more consistent with others 2018-05-24 09:38:06 +03:00
Marc Zinnschlag
810e4416f6 Merged pull request #1691 2018-05-23 16:56:36 +02:00
Marc Zinnschlag
d92d754834 Merged pull request #1697 2018-05-23 16:01:11 +02:00
David Cernat
8d36d0d945 [General] Make it possible to change world's time scale via WorldTime 2018-05-23 08:31:25 +03:00
David Cernat
f01c761cb1 [General] Use correct orderChannel for WorldTime packets 2018-05-23 07:51:18 +03:00
David Cernat
0be6de6607 [General] Turn RecordDynamic into a Worldstate packet 2018-05-23 07:48:28 +03:00
Thunderforge
d58cce9c72 Adding WIP code to dynamically change the autocomplete fields 2018-05-22 20:50:31 -05:00
David Cernat
da66face25 [General] Rename GameTime packet into WorldTime 2018-05-23 00:41:29 +03:00
David Cernat
296c69d788
Merge pull request #436 from OpenMW/master
Add OpenMW commits up to 22 May 2018
2018-05-23 00:40:51 +03:00
Andrei Kortunov
888c2d9a33 Render default land texture for Wilderness cells with distant terrain 2018-05-22 12:40:01 +04:00
David Cernat
5af1150ab2 [General] Turn GameTime into a Worldstate packet 2018-05-21 07:14:08 +03:00
AnyOldName3
2c30bc1b4f Accidentally fix the one remaing case where shadows look awful while refactoring some stuff. 2018-05-18 22:39:57 +01:00
David Cernat
43a944ddaf [General] Add and implement new Worldstate packet type 2018-05-18 06:40:28 +03:00
AnyOldName3
9f0a49c303 Disable CSM when disabled in the settings. 2018-05-17 20:27:10 +01:00
AnyOldName3
84284a60a7 Make CSM shader changes controllable by the setting. 2018-05-17 17:35:55 +01:00
AnyOldName3
5d05aadb37 Begin to let settings toggle between CSM and PSSM 2018-05-17 16:57:01 +01:00
David Cernat
049d0d9ba7 [General] Fix remaining references to world packets/events 2018-05-17 00:08:37 +03:00
AnyOldName3
7255c266ba Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps 2018-05-16 21:21:05 +01:00
AnyOldName3
fc1aee10f4 Remove function declaration that somehow snuck in. 2018-05-16 21:20:17 +01:00
AnyOldName3
1b30d47d7f Add a hacky temporary version of cascading shadow maps 2018-05-13 12:56:40 +01:00
David Cernat
78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 2018-05-13 00:42:24 +03:00
David Cernat
6bf3a0be1e [General] Rename WorldPackets into ObjectPackets for clarity 2018-05-12 19:40:00 +03:00
David Cernat
5458e09c8a
Merge pull request #420 from OpenMW/master
Add OpenMW commits up to 11 May 2018
2018-05-12 06:32:01 +03:00
David Cernat
77389538e8 [General] Implement ActorAI packet, part 1
The server can now make actors become followers of players or other actors.
2018-05-12 06:29:11 +03:00
AnyOldName3
44b2cf2b7f Merge upstream. 2018-05-11 19:15:04 +01:00
AnyOldName3
166e7df778 Improve debug HUD frustum 2018-05-11 19:08:42 +01:00
Marc Zinnschlag
b7cce1a665 Merged pull request #1702 2018-05-11 10:11:17 +02:00
Alf Henrik Sauge
d4f278a113 Replacing tab with spaces 2018-05-09 18:02:02 +02:00
Alf Henrik Sauge
feeee50a88 Dropping a separate NPDTstruct12 object and instead use NPDTstruct52
NPDTstruct12 is now only used when loading and saving. Turning auto calc
on and off now no longer switches between to different set of values
2018-05-09 00:25:07 +02:00
Marc Zinnschlag
3197ebd8e7 Merged pull request #1694 2018-05-08 12:19:14 +02:00
David Cernat
715012f087 [General] Implement sending of image data for map tiles in PlayerMap 2018-05-08 05:57:04 +03:00
Andrei Kortunov
1dd36329a3 Load default markers definitions (bug #4410) 2018-05-05 17:14:33 +04:00
tri4ng1e
f5b7a230fc
ESMReader::close now clears mHeader 2018-05-05 14:40:58 +03:00
AnyOldName3
4547151863 Add the view frustum to the debug HUD (in the most annoying way possible) 2018-05-05 00:08:00 +01:00
Marc Zinnschlag
69c659852d Merge pull request #1689) 2018-05-03 13:03:42 +02:00
Andrei Kortunov
6cc7405194 Remove unnecessary command from QuadTreeWorld destructor (bug #4408) 2018-04-30 18:29:26 +04:00
David Cernat
099f85be0a [General] Implement PlayerMomentum packet & associated script functions 2018-04-29 23:47:17 +03:00
David Cernat
273179fd5a
Merge pull request #414 from OpenMW/master
Add OpenMW commits up to 29 Apr 2018
2018-04-29 22:35:05 +03:00
David Cernat
4b501a39f4 [General] Implement DoorDestination packet & associated script functions 2018-04-29 22:32:22 +03:00
scrawl
f4cd7ff5b2
Merge pull request #1690 2018-04-29 14:24:56 +00:00
Capostrophic
d967983f5c Assume Morrowind.esm dependency for dependency-less content addons (fixes #2829) 2018-04-29 14:56:38 +03:00
Andrei Kortunov
5afcc56860 Handle NiLookAtController (feature #4407) 2018-04-29 09:24:13 +04:00
David Cernat
66d5109509 [General] Fix information exchange for players sharing a cell
Previously, two players entering the same cell only sent and received their latest changes for dynamic stats, attributes, skills and equipment when they started sharing that cell.
2018-04-26 21:56:14 +03:00
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
scrawl
55a6344fb0
Revert log spam 2018-04-22 15:41:25 +00:00
David Cernat
02eef933fd
Merge pull request #411 from OpenMW/master
Add OpenMW commits up to 19 Apr 2018
2018-04-21 17:00:55 +03:00
Evgeny Kurnevsky
48fb6bb9e8
Fix crash when rollDice is called with 0. 2018-04-21 16:46:36 +03:00
David Cernat
a541d7df3c [General] Rework PlayerStatsDynamic packets so they are of minimal size
(cherry picked from commit fc5e883160)
2018-04-21 00:43:49 +03:00
David Cernat
b9520c11da [General] Rework PlayerEquipment packets so they are of minimal size
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.

(cherry picked from commit d1ad0c91f8)
2018-04-20 22:46:16 +03:00
David Cernat
c5b08d6109 [General] Simplify storing of attribute and skill index changes
(cherry picked from commit bd9e8bd10f)
2018-04-19 23:28:03 +03:00
David Cernat
2c77d5f498 [General] Set enforcedLogLevel to -1 when initializing BasePlayer 2018-04-19 20:42:27 +03:00
David Cernat
7b702bf8c2 [General] Add and use utility function for int value checks in vectors
(cherry picked from commit a796f81444)
2018-04-19 18:16:10 +03:00
David Cernat
b6099024df [General] Rework PlayerAttribute packets so they are of minimal size
Previously, whenever a single attribute value changed for a player, that player then sent a PlayerAttribute packet with all values for all 8 attributes.

This did not cause anywhere as much packet spam as PlayerSkill used to, but there was no good reason not to fix it as well.

(cherry picked from commit b0965f094a)
2018-04-19 17:26:20 +03:00
scrawl
1f1f47431f
Merge pull request #1672 2018-04-19 13:36:40 +00:00
Capostrophic
48467814d4 Improve random number generation 2018-04-19 15:55:26 +03:00
David Cernat
78441c769a [General] Rework PlayerSkill packets so they are of minimal size
Previously, whenever a single skill value changed for a player, that player then sent a PlayerSkill packet with all values for all 27 skills, plus the player's progress towards the next level and the bonuses to each attribute on the next level up as the result of sklll increases thus far.

This commit makes PlayerSkill contain only the values of specific skills, moves the player's progress towards the next level to PlayerLevel packets, and moves the bonuses to each attribute on the next level up to PlayerAttribute packets.

Players now also send a PlayerSkill packet whenever their progress towards a new point in a skill changes. This was previously avoided so as to not have massive packet spam.

(cherry picked from commit ef79a98544)
2018-04-19 15:18:38 +03:00
David Cernat
28f1c1b0d3 [General] Rework CharGen slightly for clarity purposes
Previously, charGenStage.end was doing double duty as both the variable indicating the number of CharGen stages and – when set to 0 – the variable indicating that CharGen was over. The latter role is now filled by a new boolean.

(cherry picked from commit 926106cf8c)
2018-04-19 13:25:29 +03:00
scrawl
ce1b2a612c
Merge pull request #1674 2018-04-18 15:56:22 +00:00
David Cernat
9e5ddeac50
Merge pull request #408 from OpenMW/master
Add OpenMW commits up to 18 Apr 2018
2018-04-18 18:05:09 +03:00
Capostrophic
90f3ff2da4 Don't force DDS file usage (fixes #1392)
Fallback to a DDS file if the requested texture path doesn't point to an existing file, not vice versa
2018-04-18 17:55:12 +03:00
tri4ng1e
d310d36ea3
[Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
tri4ng1e
d4d1703bcf
Some PVS-Studio and cppcheck fixes
cppcheck:
[apps/esmtool/record.cpp:697]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1126]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1138]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/niftest/niftest.cpp:36]: (performance) Function parameter 'filename' should be passed by reference.
[apps/niftest/niftest.cpp:41]: (performance) Function parameter 'filename' should be passed by reference.
[apps/opencs/model/prefs/boolsetting.cpp:25]: (warning) Possible leak in public function. The pointer 'mWidget' is not deallocated before it is allocated.
[apps/opencs/model/prefs/shortcuteventhandler.cpp:52]: (warning) Return value of std::remove() ignored. Elements remain in container.
[apps/openmw/mwstate/quicksavemanager.cpp:5]: (performance) Variable 'mSaveName' is assigned in constructor body. Consider performing initialization in initialization list.

PVS-Studio:
apps/opencs/model/filter/parser.cpp  582  warn  V560 A part of conditional expression is always true: allowPredefined.
apps/opencs/view/world/referencecreator.cpp  67  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/world/referencecreator.cpp  74  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !completed.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !error.empty().
apps/opencs/model/tools/pathgridcheck.cpp  32  err  V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 32, 34.
apps/opencs/model/world/refidadapterimp.cpp  1376  err  V547 Expression 'subColIndex < 3' is always true.

apps/openmw/mwgui/widgets.hpp  318  warn  V703 It is odd that the 'mEnableRepeat' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:318, MyGUI_ScrollBar.h:179.
apps/openmw/mwgui/widgets.hpp  319  warn  V703 It is odd that the 'mRepeatTriggerTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:319, MyGUI_ScrollBar.h:180.
apps/openmw/mwgui/widgets.hpp  320  warn  V703 It is odd that the 'mRepeatStepTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:320, MyGUI_ScrollBar.h:181
apps/openmw/mwmechanics/actors.cpp  1425  warn  V547 Expression '!detected' is always true.
apps/openmw/mwmechanics/character.cpp  2155  err  V547 Expression 'mode == 0' is always true.
apps/openmw/mwmechanics/character.cpp  1192  warn  V592 The expression was enclosed by parentheses twice: ((expression)). One pair of parentheses is unnecessary or misprint is present.
apps/openmw/mwmechanics/character.cpp  521  warn  V560 A part of conditional expression is always true: (idle == mIdleState).
apps/openmw/mwmechanics/pathfinding.cpp  317  err  V547 Expression 'mPath.size() >= 2' is always true.
apps/openmw/mwscript/interpretercontext.cpp  409  warn  V560 A part of conditional expression is always false: rank > 9.
apps/openmw/mwgui/windowbase.cpp  28  warn  V560 A part of conditional expression is always true: !visible.
apps/openmw/mwgui/journalwindow.cpp  561  warn  V547 Expression '!mAllQuests' is always false.
apps/openmw/mwgui/referenceinterface.cpp  18  warn  V571 Recurring check. The '!mPtr.isEmpty()' condition was already verified in line 16.
apps/openmw/mwworld/scene.cpp  463  warn  V547 Expression 'adjustPlayerPos' is always true.
apps/openmw/mwworld/worldimp.cpp  409  err  V766 An item with the same key '"sCompanionShare"' has already been added.
apps/openmw/mwworld/cellstore.cpp  691  warn  V519 The 'state.mWaterLevel' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 689, 691.
apps/openmw/mwworld/weather.cpp  1125  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1123, 1125.
apps/openmw/mwworld/weather.cpp  1137  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1135, 1137.

apps/wizard/unshield/unshieldworker.cpp  475  warn  V728 An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression.
apps/wizard/installationpage.cpp  163  warn  V735 Possibly an incorrect HTML. The "</p" closing tag was encountered, while the "</span" tag was expected.

components/fontloader/fontloader.cpp  427  err  V547 Expression 'i == 1' is always true.
components/nifosg/nifloader.cpp  282  warn  V519 The 'created' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 278, 282.
components/esm/loadregn.cpp  119  err  V586 The 'clear' function is called twice for deallocation of the same resource. Check lines: 112, 119.
components/esm/cellref.cpp  178  warn  V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 175, 178.
components/esmterrain/storage.cpp  235  warn  V560 A part of conditional expression is always true: colStart == 0.
components/esmterrain/storage.cpp  237  warn  V560 A part of conditional expression is always true: rowStart == 0.
2018-04-18 12:36:10 +00:00
scrawl
6c79c0fb35
Add an empty compileGLObjects implementation to Rig/MorphGeometry to avoid unnecessary creation of display list done by osg 2018-04-18 12:36:08 +00:00
Andreas Sturmlechner
2c9d46a60b
Fix build with Qt 5.11_beta3 (dropping qt5_use_modules) 2018-04-17 23:03:56 +02:00
David Cernat
70f9cb535e [General] Use RecordHelper methods to create and update DedicatedPlayers 2018-04-13 08:37:06 +03:00
David Cernat
fa652964fd
Merge pull request #403 from OpenMW/master
Add OpenMW commits up to 9 Apr 2018
2018-04-10 06:43:24 +03:00
scrawl
ef050d7869
Merge pull request #1660 2018-04-09 20:23:27 +00:00
David Cernat
bdc9132e7c [General] Add SetResetStats server script function
Add reading and writing of resetStats variable to PlayerBaseInfo Packet

Fix typos in various server script function descriptions
2018-04-09 19:24:24 +03:00
David Cernat
73dea494c4 [General] Allow changes from PlayerBaseInfo without player stat reset 2018-04-09 19:21:19 +03:00
David Cernat
c8abd11f5d [General] Move creature disguises for players to PlayerShapeshift packet
Additionally, make associated variables clearer, and move associated server script functions next to other shapeshifting functions.
2018-04-05 15:42:06 +03:00
David Cernat
34be9383e5 [General] Add isPlayer boolean to targets in packets 2018-04-05 12:48:53 +03:00
David Cernat
a86c68c5a1 [General] Add sync for ranged weapon & projectile strike enchantments 2018-04-03 14:12:27 +03:00
David Cernat
3f8d94b030 [General] Synchronize strike enchantments in combat 2018-04-03 10:27:02 +03:00
David Cernat
e3c43c6af7 Merge pull request #400 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
2018-04-03 01:25:17 +03:00
scrawl
e73af18824
Merge pull request #1653 2018-04-02 17:29:04 +00:00
elsid
14daadded7
Add virtual destructors
To fix warnings:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:588:8: warning: delete called on non-final 'NifOsg::ControllerFunction' that has virtual functions but non-virtual destructor
      [-Wdelete-non-virtual-dtor]
              delete __p;
              ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
      'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
        : __shared_count(__p)
          ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
      'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<NifOsg::ControllerFunction *>' requested here
        : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
                       ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<NifOsg::ControllerFunction,
      __gnu_cxx::_S_atomic>::__shared_ptr<NifOsg::ControllerFunction, void>' requested here
        shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
                               ^
/home/elsid/dev/openmw/components/nifosg/nifloader.cpp:242:39: note: in instantiation of function template specialization 'std::shared_ptr<NifOsg::ControllerFunction>::shared_ptr<NifOsg::ControllerFunction, void>' requested here
                callback->setFunction(std::shared_ptr<NifOsg::ControllerFunction>(new NifOsg::ControllerFunction(key)));
                                      ^

/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:78:2: warning: delete called on non-final 'MWGui::ResponseCallback' that has virtual functions but non-virtual destructor
      [-Wdelete-non-virtual-dtor]
        delete __ptr;
        ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/7.3.1/../../../../include/c++/7.3.1/bits/unique_ptr.h:268:4: note: in instantiation of member function 'std::default_delete<MWGui::ResponseCallback>::operator()' requested here
          get_deleter()(__ptr);
          ^
/home/elsid/dev/openmw/apps/openmw/mwgui/dialogue.cpp:58:23: note: in instantiation of member function 'std::unique_ptr<MWGui::ResponseCallback, std::default_delete<MWGui::ResponseCallback> >::~unique_ptr' requested here
    PersuasionDialog::PersuasionDialog(ResponseCallback* callback)
                      ^
2018-04-01 21:51:59 +03:00
Capostrophic
1aa3ed0c18 Font loader fallback character reorganization (fixes #1987) 2018-03-31 20:16:44 +03:00
David Cernat
365f485e8d Merge pull request #397 from OpenMW/master while resolving conflicts
Conflicts:
	components/CMakeLists.txt
2018-03-30 10:28:52 +03:00
David Cernat
ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2018-03-29 07:28:30 +03:00
Capostrophic
be542507f8
Make hasMaster() behavior consistent with isGameFile() (fixes #3618) 2018-03-28 15:43:51 +03:00
bret curtis
4890ecd357 remove native GLESv* support, as it never worked; make things less complicated as result, fixed lighting.glsl to work with gl2es thanks to ptitSeb 2018-03-27 20:20:40 +02:00
David Cernat
5f6ddcfc59 [General] Rework container sync to prevent item duping
A main priority in TES3MP development is to avoid making major changes to OpenMW code, so as to avoid merge conflicts in the future. Whenever avoiding potential conflicts seems especially difficult for the proper implementation of a particular multiplayer feature, that multiplayer feature is often put off until later or partially implemented with the intent of being revisited in the future.

Container sync is the perfect example. Previously, the OpenMW code for container actions was kept exactly as it was, with clients unilaterally accepting their own container changes as per singleplayer-specific code, with only the addition that clients sent container packets every time they made a change in a container, packets which were then forwarded unquestioningly by the server to other players. This meant that two players clicking on the same item in a container at the same time both managed to take it, thus duplicating the item.

Immediately after the packets were already forwarded, server scripts were able to check for incorrect changes, such as the removal of more items than should have existed in a container, but they had to send their own packets that attempted to fix what had already been accepted on the initial client and then forwarded to all clients, which was quite onerous in some scenarios, such as when a player on a slow connection immediately dropped items in the world after taking them from a container (which is why the default TES3MP serverside scripts made no attempt at sending corrective packets at all, preferring to expect the matter to be solved in a later C++ implementation).

This commit fixes item duping in containers by preventing container actions from initially running on clients and by ending the automatic forwarding of container packets by the server. Instead, clients now send container packets that act as requests for container actions, and serverside scripts have to forward these requests themselves. In other words, without a matching Container event in the server's Lua scripts, players are completely unable to affect containers for themselves or for others.

To forward a received Container packet, the following line must be used in a Container event in the Lua scripts:

tes3mp.SendContainer(true, true)

When an invalid action count is used in a container request, the serverside scripts can amend it using the following new function:

tes3mp.SetReceivedContainerItemActionCount(objectIndex, itemIndex, actionCount)

Thus, the serverside scripts are able to allow only container actions that are correct based on their own recorded contents for that container.

The OpenMW code allowing unilateral container actions in mwgui/container.cpp is now prevented from executing. When a player's container request is returned to them, code in mwmp/WorldEvent.cpp simulates those container actions instead.
2018-03-26 19:27:36 +03:00
scrawl
eb723f5ae6
Merge pull request #1629 2018-03-16 23:26:50 +00:00
Capostrophic
002ad9ae1b Print a warning in case a fallback value wasn't found 2018-03-14 00:25:56 +03:00
Capostrophic
e4531a6910 Use middle gray instead of pure black as default fallback color (Fixes #2841) 2018-03-12 23:38:59 +03:00
David Cernat
b249162ca1 [General] Implement setting of enforced client log level in GameSettings
Certain servers do not want the players to have debug information about the locations and actions of other players, so a client's log level can now be enforced by the server via the GameSettings packet.
2018-03-11 04:50:59 +02:00
David Cernat
b7c6261e16 Merge pull request #392 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
2018-03-09 21:07:46 +02:00
scrawl
e81faf5f2f
Add an option to disable GUI keyboard navigation (Bug #4333) 2018-03-08 23:39:35 +00:00
Harald H
d3b623b5d3 http to https for supported urls (#1625)
* http to https for supported urls

* http to https

* http to https

* http to https

* http to https

* http to https

* http to https

* http to https

* http tp https

* http to https

* http to https

* http to https

* http to https

* http to https

* http to https

* http to https

* http to https

* some url fixes

* http to https
2018-03-08 21:23:24 +01:00
AnyOldName3
e885612bd7 Make a dynamic cast static 2018-03-03 02:05:46 +00:00
AnyOldName3
b553b58de5 Fix another compiler warning 2018-03-03 02:03:16 +00:00
AnyOldName3
3bed2a7b01 Fix some copiler warnings (hopefully) 2018-03-03 02:01:03 +00:00
AnyOldName3
fc41902798 Replace a dynamic cast with string comarison 2018-03-01 14:37:11 +00:00
AnyOldName3
bc4b4c66e4 (Hopefully) add include which G++ requires even though VC++ doesn't. 2018-02-27 16:54:48 +00:00
AnyOldName3
d1a2955fa1 Merge upstream 2018-02-27 14:29:14 +00:00
AnyOldName3
66a114d6ec Fix a couple of warnings 2018-02-27 14:15:06 +00:00
AnyOldName3
f9cf1ac94b Separate indoor and outdoor shadow casting masks. 2018-02-27 00:13:51 +00:00
AnyOldName3
35eb71052e Tidy up the shadow manager 2018-02-26 23:52:46 +00:00
AnyOldName3
882b63cba9 Make split point control parameters configurable with the new shadow technique. 2018-02-26 23:00:46 +00:00
AnyOldName3
e233dae1cd Hook up the new shadow technique 2018-02-26 22:27:09 +00:00
AnyOldName3
97b607fc66 Make whitespace match upstream OSG 2018-02-26 21:10:06 +00:00