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

3842 commits

Author SHA1 Message Date
Koncord
dded330cc4 [General] Get rid Z axis in direction.pos 2017-06-02 18:33:59 +08:00
Koncord
ae9e5750ac [General] Aggressive compression of rotations 2017-06-02 17:20:34 +08:00
Koncord
3905e0dae9 [General] Get rid direction.rot again 2017-06-02 15:44:51 +08:00
David Cernat
d0a0b6ffa4 [General] Add basic integrity checks to all Actor and World packets 2017-06-02 01:35:32 +03:00
David Cernat
d8cd57a8be [Client] Make topic sync work with localized versions of the game 2017-05-31 14:11:16 +03:00
David Cernat
a353a21280 [General] Fix code style inconsistencies 2017-05-31 08:37:11 +03:00
David Cernat
068a45be87 [General] Synchronize player & NPC rotation animations 2017-05-30 12:08:58 +03:00
David Cernat
f4cdedd8cb [General] Synchronize summoned creatures 2017-05-30 10:11:01 +03:00
David Cernat
4e5c8873e0 [General] Use ObjectSpawn instead of ObjectPlace for actors 2017-05-29 06:59:05 +03:00
David Cernat
c211d53190 [General] Use only direction.pos in ActorPosition, as advised by Koncord 2017-05-29 05:55:25 +03:00
David Cernat
0cce9908be Merge pull request #222 from OpenMW/master
Add OpenMW commits up to 29 May 2017
2017-05-29 04:53:23 +03:00
David Cernat
27148ce9eb [General] Add placeholders for 12 new packets, to be implemented soon
Additionally, make it slightly clearer who created which previously existing packets.
2017-05-29 04:43:52 +03:00
Julian Ospald
5d85fa9220
Fix build with osg >= 3.5.6 2017-05-28 17:30:01 +02:00
Koncord
f7473e3379 [General] Fix copy-posty bug 2017-05-28 17:00:52 +08:00
David Cernat
9fe5b4a305 [General] Remove debug line from ActorAnimFlags 2017-05-28 10:43:53 +03:00
Koncord
8478fed98a [General] Simplify Actor packets. 2017-05-28 15:23:16 +08:00
Koncord
f6fba70a4e [General] Use compression for Position packets 2017-05-28 14:57:30 +08:00
Koncord
4934be18f0 [General] Add compression flag to RW methods
Advantages: and 2 bytes per float value, using huffman algorithm for structures and strings.
Disadvantages: bad for performance and precision for float/double variables.
2017-05-28 14:56:51 +08:00
David Cernat
73b9683182 [General] Make most ActorPackets smaller by not including refIds in them 2017-05-27 16:59:23 +03:00
David Cernat
311ce4119d [General] Fix logic issues related to ActorEquipment 2017-05-26 22:53:28 +03:00
David Cernat
4f273932af [General] Implement sending and reading of ActorEquipment packets 2017-05-26 04:37:49 +03:00
David Cernat
32879adc5b [General] Allow ObjectTrap to trigger traps, not just disarm them 2017-05-26 01:28:43 +03:00
Koncord
24d4e1c222 [General] Remove useless PacketSendMyID 2017-05-26 02:40:49 +08:00
Koncord
a9fc096c9a [General] Move password of master server to header 2017-05-26 01:34:39 +08:00
Koncord
056ec2d434 [General] Fix CMake errors 2017-05-25 23:56:22 +08:00
Koncord
3e284a1139 [General] Use unsigned int instead unsigned long
sizeof(unsigned long) != 8 on Windows
2017-05-25 22:55:37 +08:00
David Cernat
7ec431ce3d [General] Make packet style more consistent 2017-05-24 22:09:35 +03:00
David Cernat
11369f6513 [General] Implement sending and reading of PlayerTopic packets 2017-05-24 21:43:34 +03:00
David Cernat
08de349133 [General] Add placeholders for PlayerTopic & ObjectTrap packets 2017-05-24 19:01:28 +03:00
David Cernat
870fd9a78b [General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead 2017-05-24 13:28:34 +03:00
Koncord
80bd268de6 [General] Use simple types for master server packets 2017-05-20 16:46:59 +08:00
David Cernat
b0cd636924 [General] Add basic integrity check to ProxyMasterPacket 2017-05-20 11:04:20 +03:00
Koncord
892960f913 [General] Add ctor to MasteData::Plugin 2017-05-20 00:06:34 +08:00
Koncord
956b573323 [General] Use different ordering channels for packets 2017-05-19 20:02:16 +08:00
David Cernat
e6983993c2 [General] Implement sending and reading of PlayerFaction packets 2017-05-18 19:27:20 +03:00
David Cernat
0189dbf916 [General] Make JournalItem consistent with other packet structs 2017-05-18 10:32:23 +03:00
David Cernat
ad388c7e12 [General] Add placeholders for ActorEquipment & PlayerFaction packets
Also reorder packets and packet processors.
2017-05-16 19:25:31 +03:00
David Cernat
f527fe9ebe [General] Add basic integrity check to reading of ActorList packets
Additionally, add newlines to files missing them.
2017-05-16 14:20:40 +03:00
David Cernat
05564bd123 [General] Add basic integrity check to reading of Container packets 2017-05-14 20:24:06 +03:00
David Cernat
cc559cf8e2 [General] Don't send packets for dead LocalActors, to fix Position spam 2017-05-09 02:47:29 +03:00
David Cernat
26087a182d Merge pull request #213 from OpenMW/master
Add OpenMW commits up to 8 May 2017
2017-05-08 01:03:19 +03:00
scrawl
813af876f6 Use a partial binary search in isReservedName (Fixes #3835) 2017-05-07 23:28:56 +02:00
David Cernat
de49f5f175 [General] Add and use isActor bool for WorldObject 2017-05-07 03:07:09 +03:00
David Cernat
9d2c5c3502 [General] Simplify structure of BaseEvent 2017-05-06 21:57:29 +03:00
Koncord
8422ae0ce8 [General] Fix iterators in ProxyMasterPacket 2017-05-07 02:48:02 +08:00
David Cernat
4d81455020 [General] Rework and simplify death reasons so they work with NPCs 2017-05-05 22:16:31 +03:00
David Cernat
a7b06b342f Merge pull request #211 from OpenMW/master
Add OpenMW commits up to 5 May 2017
2017-05-05 18:50:46 +03:00
David Cernat
60cf623455 [Client] Make DedicatedActors transition into LocalActors when eligible 2017-05-05 07:37:09 +03:00
scrawl
8d84869432 Fix commit 8f71b65d38 (don't overwrite the previous user data)
This resulted in a crash/corruption because the KeyframeController, for performance reasons, does not check that the expected user data is there and of correct type.

(Fixes #3829)
2017-05-05 05:27:00 +02:00
Koncord
8fa8b8d310 [General] Add __WINDOWS define 2017-05-03 14:44:16 +08:00
Koncord
47e6820f97 [General] Move printWithWidth and intToHexStr to components 2017-05-03 14:38:44 +08:00
David Cernat
63dd2d9246 [General] Remove code related to ActorAuthority packets that is not used 2017-05-03 04:43:59 +03:00
David Cernat
c3c04bbfc3 [General] Make coding style consistent 2017-05-02 22:47:58 +03:00
Koncord
931a5896ec [General] Improve PacketPreInit 2017-05-02 23:31:30 +08:00
David Cernat
1a699329e5 [General] Set new BaseActor booleans in corresponding packets 2017-05-01 20:18:22 +03:00
David Cernat
730df061b3 [General] Add hasPositionData and hasStatsDynamicData bools to BaseActor 2017-05-01 19:44:23 +03:00
Koncord
9c7c0f9989 [General] Send creatureModel & useCreatureName via PacketPlayerBaseInfo 2017-05-01 21:14:30 +08:00
David Cernat
e8e0090b9b [General] Use new SimpleCreatureStats struct in BaseActor 2017-04-30 18:44:59 +03:00
Koncord
465a05bad0 [Client] Add ability to look like a creature for the DedicatedPlayers 2017-04-30 00:18:44 +08:00
Koncord
a4e45de6ca [General] Fix playersCount 2017-04-27 11:41:45 +08:00
David Cernat
6a21ec1fdc [General] Rename PlayerPos into PlayerPosition 2017-04-25 22:11:33 +03:00
David Cernat
7b07d6651f [General] Add and use PlayerBounty packet and matching script functions 2017-04-25 21:24:39 +03:00
Koncord
6e8750b9e4 [General] Change list players to vector players 2017-04-24 20:22:13 +08:00
Koncord
9643eb6026 [Master] Notify server about announce state
Rename structure Server to QueryData
2017-04-24 19:58:48 +08:00
David Cernat
2eaa25e7d4 [General] Update version to 0.6-alpha 2017-04-23 17:31:08 +03:00
David Cernat
ef634a1c52 Merge pull request #205 from OpenMW/master
Add OpenMW commits up to 23 Apr 2017
2017-04-23 14:47:10 +03:00
David Cernat
f4c3a28141 [General] Finalize ActorCellChange packet structure 2017-04-23 14:01:13 +03:00
Koncord
c35d5a2c6c [Master] Implement Master server 2017-04-23 13:39:43 +08:00
Koncord
4c939f6d0a [General] Split tes3mp components in CMakeLists by group 2017-04-23 13:39:43 +08:00
Koncord
546bb42abb [General] Add Master Packets 2017-04-23 13:39:43 +08:00
Koncord
5854f680f0 [General] Add Master data types 2017-04-23 13:39:43 +08:00
Koncord
41005b1add [General] Add orderChannel to packets 2017-04-23 13:39:43 +08:00
scrawl
45d9e38616 Fix check for default material 2017-04-22 14:27:45 +02:00
David Cernat
a5484d237b Merge pull request #203 from OpenMW/master
Add OpenMW commits up to 21 Apr 2017, part 2
2017-04-21 21:07:37 +03:00
Allofich
e095817ac2 Treat =< and => as == in scripts
(Fixes #3744)
2017-04-21 22:26:13 +09:00
Allofich
ff3e307059 Pass parameters by const reference 2017-04-20 23:47:03 +09:00
David Cernat
f2e8e14665 [General] Add shouldSend boolean to mwmp::Attack 2017-04-19 16:43:58 +03:00
David Cernat
cc2250815d [General] Add packet data for attacks on and by Actors 2017-04-18 10:03:58 +03:00
David Cernat
b1a394cd02 [General] Change chars into bools in mwmp::Attack for clarity 2017-04-17 19:54:31 +03:00
David Cernat
a650683bae [General] Add and use Target struct in mwmp::Attack 2017-04-17 18:31:39 +03:00
David Cernat
9882ceedf3 [General] Remove attackerGuid from mwmp::Attack because it is redundant 2017-04-17 18:03:33 +03:00
David Cernat
caf5428532 [General] Rename mwmp::Attack vars in preparation for Actor support 2017-04-17 17:24:11 +03:00
David Cernat
2397afc6ce [General] Move mwmp::Attack to BaseStructs 2017-04-17 15:12:11 +03:00
David Cernat
9f226253d4 [General] Rename mwmp::Attack's refid into refId for consistency 2017-04-17 09:35:18 +03:00
David Cernat
f0f0b2dcc9 [General] Send and read ActorSpeech packets 2017-04-16 18:43:13 +03:00
David Cernat
1fb11dafef [General] Send and read ActorStatsDynamic packets 2017-04-16 16:42:07 +03:00
David Cernat
00aa8839d4 [General] Update CMakeLists in components folder 2017-04-16 09:03:51 +03:00
David Cernat
870886192b [General] Rename DYNAMICSTATS into STATS_DYNAMIC 2017-04-16 09:00:18 +03:00
David Cernat
ca8fd1aa72 [General] Remove ActorHeadRotation packet because it would be too spammy 2017-04-15 15:49:40 +03:00
David Cernat
2872675f5e [General] Send and read ActorAnimPlay packets 2017-04-15 13:42:30 +03:00
David Cernat
bf17464074 Merge pull request #198 from OpenMW/master
Add OpenMW commits up to 14 Apr 2017
2017-04-15 05:36:50 +03:00
scrawl
8f71b65d38 sceneutil/attach: inherit the UserDataContainer to avoid the resource cache from being cleared incorrectly 2017-04-14 15:04:53 +02:00
David Cernat
e7960eee76 [General] Rename DrawState packets into AnimFlags ones for clarity 2017-04-14 16:00:34 +03:00
David Cernat
d2fe777f89 [General] Send and read ActorDrawState packets 2017-04-13 15:26:48 +03:00
David Cernat
10ad5b2a99 [General] Remove BaseActor's AnimStates that are no longer needed 2017-04-13 13:06:09 +03:00
David Cernat
0d196af685 [General] Add placeholders for 7 new ActorPackets 2017-04-11 11:37:38 +03:00
David Cernat
7700b82952 [General] Clean up BaseEvent and BaseStructs 2017-04-10 16:33:07 +03:00
David Cernat
7662297334 [General] Use ESM::Position to store BaseActor's movement 2017-04-10 16:32:10 +03:00
David Cernat
742d6f653a [General] Add ActorPosition packet 2017-04-10 12:38:30 +03:00
David Cernat
b6c3830ea0 [General] Rename WorldObject's pos into position for consistency 2017-04-10 09:25:20 +03:00
David Cernat
174f316787 [General] Rename PacketActorFrame into PacketActorTest 2017-04-10 08:37:18 +03:00
David Cernat
a5d0486c82 [General] Set actor data correctly 2017-04-10 07:22:03 +03:00
David Cernat
b9d68c0ab2 Merge pull request #195 from OpenMW/master
Add OpenMW commits up to 10 Apr 2017
2017-04-10 01:20:42 +03:00
MiroslavR
c962b6dd6d Fix correctActorModelPath to work properly when both backward and forward slashes are used in the path (Fixes #3822) 2017-04-09 18:34:36 +02:00
David Cernat
c52084a028 [General] Use BaseActorLists in ActorPackets 2017-04-09 16:32:44 +03:00
David Cernat
4f3d05eed2 [General] Add ActorList class 2017-04-09 10:50:35 +03:00
David Cernat
070c6a3bd4 [General] Add ActorPacketController & make controller var names clearer 2017-04-09 08:51:28 +03:00
David Cernat
b8ca2382c7 [General] Remove variables that are not going to be used in ActorFrame 2017-04-08 11:27:08 +03:00
David Cernat
d3f3fb5d05 [Client] Correctly implement movement animation sync for NPCs 2017-04-08 08:59:21 +03:00
David Cernat
d829d219c3 [General] Add (very) partial animation sync for NPCs 2017-04-06 15:11:51 +03:00
David Cernat
67ec81ad0c [Client] Use utility function for converting strings in mwmp::Cell 2017-04-06 05:45:49 +03:00
David Cernat
d24cde16dd [General] Add simple BaseActor and LocalActor classes 2017-04-05 12:52:27 +03:00
David Cernat
8f18dc87c4 [General] Model ActorList on Container more closely by including action 2017-04-05 04:45:51 +03:00
David Cernat
8c2469bf6d [General] Add placeholder ActorList, ActorAuthority & ActorFrame packets 2017-04-05 04:06:45 +03:00
David Cernat
2bd81c3de0 [Client] Use mpNum for every WorldObject 2017-04-04 11:07:16 +03:00
David Cernat
ddedcac510 [General] Read and write mpNums in world packets 2017-04-04 10:16:09 +03:00
David Cernat
8cc61b6048 [General] Generate mpNums on the server when forwarding ID_OBJECT_PLACE 2017-04-04 09:23:34 +03:00
David Cernat
06acd3cbc4 [Client] Add a multiplayer object index and matching methods to CellRef 2017-04-04 07:42:02 +03:00
David Cernat
106c9edead Merge pull request #192 from OpenMW/master
Add OpenMW commits up to 3 Apr 2017
2017-04-04 01:48:43 +03:00
MiroslavR
395e97cf40 Remove evil "implicit GetJournalIndex" hack from expression parser 2017-04-03 01:44:26 +02:00
Koncord
1d2a6d9056 [Server] Rename dontRead to avoidReading 2017-04-03 06:44:14 +08:00
Koncord
4daf471874 [General] Add dontRead flag 2017-04-03 06:13:00 +08:00
David Cernat
dff52d8fbe Merge pull request #191 from OpenMW/master
Add OpenMW commits up to 31 Mar 2017
2017-04-01 03:27:44 +03:00
Koncord
48a59cf9e9 [General] Add new class BasePacketProcessor 2017-04-01 02:33:03 +08:00
Allofich
3780d94214 Cast LAND_SIZE to integer to avoid linking error 2017-03-28 01:57:31 +09:00
Allofich
2a505b427d Remove second LAND_SIZE definition 2017-03-27 03:45:53 +09:00
David Cernat
c10dd1b002 Merge pull request #188 from OpenMW/master
Add OpenMW commits up to 24 Mar 2017
2017-03-24 07:24:55 +02:00
scrawl
f676b62711 Remove unused variable 2017-03-23 19:35:07 +01:00
David Cernat
ab92b9f795 Merge pull request #187 from OpenMW/master
Add OpenMW commits up to 20 Mar 2017
2017-03-20 04:59:12 +02:00
scrawl
c992cb6e82 Fix texture not being applied on rendering the composite map (Fixes #3791) 2017-03-19 19:15:22 +01:00
MiroslavR
06dc94552f Log a warning if size in SCHD (script header) does not match SCDT (bytecode) size instead of failing 2017-03-18 15:42:24 +01:00
David Cernat
5eb183bacf Merge pull request #186 from OpenMW/master
Add OpenMW commits up to 15 Mar 2017
2017-03-15 23:13:24 +02:00
scrawl
a070551af3 Attempt to fix naming conflict on windows 2017-03-15 17:51:00 +01:00
scrawl
3d58ba7301 Fix boolean test 2017-03-15 17:50:13 +01:00
David Cernat
60037e4081 Merge pull request #185 from OpenMW/master
Add OpenMW commits up to 14 Mar 2017
2017-03-15 11:20:06 +02:00
scrawl
fd215caa02 Add local LandCache to cut down on store searches 2017-03-14 19:27:57 +01:00
scrawl
088d5604bf Use a shader if required to display the composite map
Fixes composited terrain not respecting the 'clamp lighting' setting.
2017-03-14 19:27:56 +01:00
scrawl
7f5beb3172 Remove unused includes 2017-03-14 19:27:56 +01:00
scrawl
5044816770 Remove unused code 2017-03-14 19:27:56 +01:00
scrawl
b66c2abfe3 Build the bounding sphere in the loading thread (only relevant for TerrainGrid) 2017-03-14 19:27:56 +01:00
scrawl
9e9c028f1d Skip light collection for far away terrain 2017-03-14 19:27:56 +01:00
scrawl
0782839a42 Avoid redundant culling tests on the transform/drawable 2017-03-14 19:27:56 +01:00
scrawl
fb8ac06524 Reduce the minSize of quad tree nodes for better performance 2017-03-14 19:27:56 +01:00
scrawl
a041546b54 Use the quad tree's minSize in the LodCallback 2017-03-14 19:27:56 +01:00
scrawl
e4e8821902 Refactor update of lodFlags 2017-03-14 19:27:56 +01:00
scrawl
2aa09639a9 Re-enable terrain intersections 2017-03-14 19:27:56 +01:00
scrawl
db00d47ca2 Hold a ref to the intersection visitor's view if possible 2017-03-14 19:27:56 +01:00
scrawl
11bee6ee35 Avoid compiling composite maps that are no longer referenced 2017-03-14 19:27:56 +01:00
scrawl
9eed7fa6f5 Fix composite map when force shaders is enabled 2017-03-14 19:27:56 +01:00
scrawl
d055dc25bf Add custom traversal for local map camera to avoid loading terrain nodes that are exactly outside the border to another cell 2017-03-14 19:27:56 +01:00
scrawl
7d50b6c2e2 Add QuadTreeWorld::cacheCell to preload cells at max LOD for local maps 2017-03-14 19:27:56 +01:00
scrawl
6ccb6009ee Use the View-based preloading for TerrainGrid as well 2017-03-14 19:27:56 +01:00
scrawl
3c29e2dbeb Refactor ownership of terrain views 2017-03-14 19:27:56 +01:00
scrawl
28fd492711 Don't use terrain LOD for the map camera 2017-03-14 19:27:56 +01:00
scrawl
e7a0878c10 Add CompositeMapRenderer info to the stats panel 2017-03-14 19:27:56 +01:00
scrawl
c921620ef3 Compile the drawables of a composite map one by one to avoid frame drops for larger maps 2017-03-14 19:27:56 +01:00
scrawl
47ca8aeee5 Use the time elapsed instead of # compiled as limit 2017-03-14 19:27:56 +01:00
scrawl
8a6d909b22 Fix composite map being compiled twice 2017-03-14 19:27:56 +01:00
scrawl
683e625c6c Rewrite CompositeMapRenderer to be based on Drawable and share the FBO 2017-03-14 19:27:56 +01:00
scrawl
4baa795152 Add preloading implementation to QuadTreeWorld 2017-03-14 19:27:56 +01:00
scrawl
9db71e3f62 Recompute the LOD stitching when the view changes 2017-03-14 19:27:56 +01:00
scrawl
ef704db877 Fix reset of changed flag 2017-03-14 19:27:56 +01:00
scrawl
1c15686353 Remove non required use of WorkQueue 2017-03-14 19:27:56 +01:00
scrawl
433900fca5 Fix waiting on initial quad tree build 2017-03-14 19:27:56 +01:00
scrawl
4dbd224249 Hide the terrain in non-exterior cells 2017-03-14 19:27:56 +01:00
scrawl
2580de11a4 Refactor ownership of ViewDataMap 2017-03-14 19:27:56 +01:00
scrawl
5a3c645c89 Enable lazy compiling of composite maps 2017-03-14 19:27:56 +01:00
scrawl
99e18f0d68 Clear the ViewData on exit 2017-03-14 19:27:56 +01:00
scrawl
bb991850da Add LOD stitches 2017-03-14 19:27:56 +01:00
scrawl
6bd286d924 Fix unnecessary resizing in ViewData 2017-03-14 19:27:56 +01:00
scrawl
8c151364df Add special handling for CullVisitor to QuadTreeWorld.
- Cull only against bounding box, not bounding sphere, as this appears to perform better.
- Also traverse into non visible nodes to compute their LOD, this is to avoid nodes having to be loaded in when the player turns the view around, and will avoid unnecessary refs/unrefs of rendering data in the View. This should probably be turned off at some point for static cameras, such as the local maps.
2017-03-14 19:27:56 +01:00
scrawl
f19a88be9d Reject QuadTreeNodes with invalid bounds 2017-03-14 19:27:56 +01:00
scrawl
7d004bf757 Preliminary rendering of QuadTreeWorld 2017-03-14 19:27:55 +01:00
scrawl
e36bdb490e Add view data structure for efficient collection of LOD nodes to use for a given camera/intersection 2017-03-14 19:27:55 +01:00
scrawl
0efc54c749 Subdivide the composite maps 2017-03-14 19:27:55 +01:00
scrawl
0756fc4ae6 Optimize getBlendmaps for the general case that most points are within the given cell 2017-03-14 19:27:55 +01:00
scrawl
81c9853fe9 Fix handling in getBlendmaps when the chunk is >1 ESM::Cell 2017-03-14 19:27:55 +01:00
scrawl
b384087e28 Fix handling in fillVertexBuffers when the chunk is >1 ESM::Cell 2017-03-14 19:27:55 +01:00
scrawl
819860081f Remove custom bounding box 2017-03-14 19:27:55 +01:00
scrawl
ce8c4ad4f5 Add quad tree implementation (no rendering yet) 2017-03-14 19:27:55 +01:00
scrawl
14225a42c6 Remove unused pointer to IncrementalCompileOperation 2017-03-14 19:27:55 +01:00
scrawl
c487df0abb Move updateTextureFiltering and material into the base class 2017-03-14 19:27:55 +01:00
scrawl
5eff286c71 Use separate node mask and parent for CompositeMapRenderer to allow the loading screen to pre compile composite maps. 2017-03-14 19:27:55 +01:00
scrawl
7e4450da55 Change the renderOrder of composite maps to ensure they are updated before water reflections or other cameras that may be using it. 2017-03-14 19:27:55 +01:00
scrawl
b1d4bb5708 Add CompositeMapRenderer
Temporarily render all terrain using composite maps for testing purposes
2017-03-14 19:27:55 +01:00
scrawl
e323b2fa7b Use the SceneManager's ShaderManager 2017-03-14 19:27:55 +01:00
scrawl
0fc465da59 Store the min/max height in LandData 2017-03-14 19:27:55 +01:00
scrawl
051c17a184 Make reportStats const 2017-03-14 19:27:55 +01:00
scrawl
80a0398f9d Load LandData into the LandObject to avoid threading conflicts when the same data is being loaded by two threads 2017-03-14 19:27:55 +01:00
scrawl
20d30bb8d7 Move mDataLoaded into LandData 2017-03-14 19:27:55 +01:00
scrawl
16b5cadd9e Fix order of operations w.r.t clearing cache 2017-03-14 19:27:55 +01:00
scrawl
2c68ed4fb4 Remove no longer required use of UnrefQueue as the new resource manager will naturally clear the cache from the worker thread 2017-03-14 19:27:55 +01:00
scrawl
35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 2017-03-14 19:27:55 +01:00
scrawl
274690f790 Refactor BufferCache to allow caching buffers of different sizes 2017-03-14 19:27:55 +01:00
scrawl
9a3a64f0c4 Add resource manager for ESM::Land to allow data to be unloaded when no longer required 2017-03-14 19:27:55 +01:00
scrawl
804f873649 terrain: factor out texture caching into a separate class 2017-03-14 19:27:55 +01:00
scrawl
4cd4457d21 Add support for Functors to ObjectCache 2017-03-14 19:27:55 +01:00
scrawl
9d72d9f0c9 Change order of operations in SceneManager::updateCache to allow deleting of StateSets that just got unreferenced by the scene 2017-03-14 19:27:55 +01:00
scrawl
eef63a880a terrain: use a custom drawable for multi-pass render instead of osgFX::Effect
osgFX::Effect is awkward to use because of the lazy-definition of passes, no support for compileGLObjects, useless 'Technique' abstraction and having to define silly methods like 'effectAuthor()'

Handling the multi-pass rendering inside the Drawable also avoids redundant culling tests against the same bounding box for each pass.
2017-03-14 19:27:55 +01:00
scrawl
34130fc5cc Fix handling in LightListCallback when the node is not a Group 2017-03-14 19:27:55 +01:00
scrawl
b78a9f89af Refactor LightListCallback to allow for integration in custom Drawables. 2017-03-14 19:27:55 +01:00
scrawl
c1fe9f2a89 Avoid warping the mouse cursor more than necessary
Apparently, the SDL_WarpMouseInWindow can be very expensive (anywhere from 0.1-5ms) due to XSync() in the implementation.

This was causing no-grab=1 configurations to suffer from terrible stuttering when turning the view.
2017-03-14 00:31:27 +01:00
David Cernat
e0234dc362 Merge pull request #183 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
2017-03-13 18:20:07 +02:00
scrawl
928e2061f7 Remove redundant tolower 2017-03-13 02:48:23 +01:00
scrawl
13a6070629 Remove warning spam in skeleton.cpp
If the root bone is missing, that is caused by all bones being missing which will have been logged already.
2017-03-13 02:48:22 +01:00
Koncord
3d294500ba [General] Use std::replace() instead for-each in Utils::convertPath() 2017-03-08 12:06:47 +08:00
scrawl
21aad00612 Don't pass key events to the viewer when Alt modifier is held
Fixes the stats panel briefly showing up when using 'Alt+F4' to exit.
2017-03-08 01:27:04 +01:00
scrawl
fc95a45cb6 Don't pass repeat key events to the viewer's eventQueue 2017-03-08 01:27:04 +01:00
Nikolay Kasyanov
7f429f26e1 Allow getting available version information even when clone is shallow 2017-03-07 21:53:49 +01:00
Koncord
435d9780a7 [General] Fix PacketPreInit 2017-03-06 18:40:53 +08:00
Koncord
690211ad99 [General] Extract BaseEvent & BasePlayer from packets to functions
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
Koncord
0c1905e842 [General] Add PreInit packet 2017-03-05 16:46:11 +08:00
Koncord
0d53a6916d [General] Move repeated code in Packet() to base class 2017-03-05 16:27:41 +08:00
David Cernat
df051a777a Merge pull request #181 from OpenMW/master
Add OpenMW commits up to 4 Mar 2017
2017-03-04 22:56:16 +02:00
scrawl
c1b1d502ee Fix up commit 330e5fefd1 2017-03-04 21:48:31 +01:00
scrawl
4051018862 optimizer: fix FlattenStaticTransformsVisitor not respecting the is permissible callback 2017-03-04 21:48:31 +01:00
scrawl
5866f0f80b Add OPENMW_OPTIMIZE env variable to help debugging optimizer-related issues
Example:

OPENMW_OPTIMIZE=OFF
OPENMW_OPTIMIZE="~FLATTEN_STATIC_TRANSFORMS"
2017-03-04 21:48:31 +01:00
scrawl
29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
Koncord
c353e18645 [General] Move Utils from server to components
Rewrite CRC32 functions to the Boost equivalent
2017-03-04 13:08:22 +08:00
David Cernat
0d32bf5943 [General] Add extra death debug, don't request data from player on death 2017-03-04 00:29:01 +02:00
David Cernat
a2ef39c655 Merge pull request #178 from OpenMW/master
Add OpenMW commits up to 2 Mar 2017
2017-03-02 22:14:15 +02:00
scrawl
62cc091414 Fix incorrect setting of TexMat in terrain material 2017-03-02 18:07:01 +01:00
scrawl
a759ef5d2e Leave the MyGUI::PixelFormat as Unknown when loading from file as its not required. 2017-03-01 19:04:05 +01:00
scrawl
8fc7942d64 Refactor osgMyGUI::OSGTexture to store width/height inside the object 2017-03-01 19:04:05 +01:00
David Cernat
db8218545f Merge pull request #177 from OpenMW/master
Add OpenMW commits up to 1 Mar 2017
2017-03-01 18:24:26 +02:00
scrawl
d8505e4f48 Fix a multithreading crash caused by modification of live Geometry 2017-03-01 03:36:04 +01:00
scrawl
4e0011bfc8 Improve NPC loading performance by caching the cleaned objectRoot 2017-03-01 03:00:49 +01:00
scrawl
058681ad73 ShaderVisitor: avoid reset of rig geometry when not required 2017-03-01 03:00:08 +01:00
David Cernat
5c269a5f8d [General] Rename ID_GAME_DIE and ID_GAME_RESURRECT 2017-02-28 01:38:25 +02:00
David Cernat
4aaa9ed694 [General] Update version to 0.5.2 2017-02-28 00:11:36 +02:00
David Cernat
e6bc7ad463 [General] Make all flying players fly correctly, including TCL users 2017-02-27 23:01:33 +02:00
David Cernat
48125913c3 Merge pull request #175 from OpenMW/master
Add OpenMW commits up to 27 Feb 2017
2017-02-27 12:09:47 +02:00
scrawl
1402e0b872 Don't optimize billboard nodes (Fixes #3774) 2017-02-27 00:39:35 +01:00
David Cernat
4110fac629 Merge pull request #174 from OpenMW/master
Add OpenMW commits up to 26 Feb 2017, part 2
2017-02-27 01:05:02 +02:00
scrawl
706ac45c76 Fix missing particles caused by shallow copy of ParticleSystemController 2017-02-26 23:10:41 +01:00
scrawl
9b27ec4945 Remove redundant and ambiguous NiNode::makeBone()
Ambiguous because a skeleton can have multiple skinned meshes, with their own bone weights/bind matrix each.
2017-02-26 22:39:23 +01:00
scrawl
aba3c471a9 nifloader: fix setting of dataVariance for non-controlled bones and refactor the code 2017-02-26 22:34:45 +01:00
David Cernat
5d30ba0abd Merge pull request #173 from OpenMW/master
Add OpenMW commits up to 26 Feb 2017
2017-02-26 14:13:37 +02:00
scrawl
5caf53b6a3 optimizer: avoid reordering nodes
Fixes an osgParticle cloning issue.

(Fixes #3773)
2017-02-26 03:25:17 +01:00
scrawl
a95773beef Fix unnecessary copy of ParticleSystem in SceneUtil::CopyOp 2017-02-26 03:15:57 +01:00
scrawl
585524805f Add 'tri ' variant of part filters to optimizer ignore list 2017-02-25 21:48:07 +01:00
David Cernat
060e440ab2 [General] Update version to 0.5.1 2017-02-25 12:17:22 +02:00
David Cernat
a94d1ed296 Merge pull request #169 from OpenMW/master
Add missing copy of callbacks when a Transform is replaced by Group
2017-02-24 09:56:54 +02:00
scrawl
48e0f098ff Add missing copy of callbacks when a Transform is replaced by Group
(Fixes #3770)
2017-02-24 07:38:03 +01:00
Koncord
715422aff6 [General] Fix memory leak in Log dtor 2017-02-24 13:41:11 +08:00
David Cernat
328e3b6618 Merge pull request #167 from OpenMW/master
Add OpenMW commits up to 24 Feb 2017
2017-02-24 06:57:39 +02:00
Koncord
e3f4c63ea6 [General] Delete invalid & redundant code 2017-02-24 12:30:18 +08:00
scrawl
330e5fefd1 optimizer: consider a Group with more than one child redundant as well
While there could be some value in this hierarchy (i.e. improved culling), we don't know if this is being used sensibly; and using a 'flat' hierarchy helps other optimizations.
2017-02-24 02:58:41 +01:00
scrawl
75677f03e7 Remove SceneManager::notifyAttached 2017-02-24 02:58:41 +01:00
scrawl
3df7a8c4d8 Avoid FLATTEN_STATIC_TRANSFORMS optimization for non-Geometry drawables 2017-02-24 02:58:41 +01:00
scrawl
e4c12e5e56 optimizer: don't merge Geometry that has transparency sorting enabled 2017-02-24 02:58:27 +01:00
scrawl
ebfd845eae optimizer: run MERGE_GEOMETRY after removing redundant nodes 2017-02-23 23:28:50 +01:00
scrawl
43f31d6e54 optimizer: fix MERGE_GEOMETRY to work with Geometries not attached to a Geode 2017-02-23 23:28:50 +01:00
scrawl
f2a323238f optimizer: merge groups as part of REMOVE_REDUNDANT_NODES 2017-02-23 23:28:50 +01:00
scrawl
af716d4b61 optimizer: remove hardcoded condition in RemoveRedundantNodesVisitor 2017-02-23 23:28:50 +01:00
scrawl
698738c649 optimizer: use asXYZ() instead of dynamic_cast 2017-02-23 23:28:50 +01:00
scrawl
f7cb4bd245 optimizer: remove some cruft 2017-02-23 23:28:50 +01:00
scrawl
e33829d493 Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
Remove optimizers that won't be used.
2017-02-23 23:28:50 +01:00
scrawl
5e2335f250 Use the osgUtil::Optimizer post loading in the SceneManager 2017-02-23 23:28:50 +01:00
scrawl
305cccd263 Don't print Geometry data (vertices, triangles, etc.) in showscenegraph 2017-02-23 23:28:50 +01:00
scrawl
4e5a1e6123 nifloader: improve setting of DataVariance 2017-02-23 23:28:50 +01:00
scrawl
1d6b5b2a52 Add StringUtils::CiComp operator 2017-02-23 23:28:50 +01:00
scrawl
6e996bf2a3 Create TriShapes with an identity transform as a Group 2017-02-23 23:28:50 +01:00
scrawl
6e5d9efa93 Remove NifLoader::optimize, to be replaced with something better 2017-02-23 23:28:50 +01:00
scrawl
c231b06320 Remove boneOffset node after using it 2017-02-23 23:28:50 +01:00
scrawl
d75a3fd0fb Add SharedStateManager to the stats panel 2017-02-23 23:28:49 +01:00
Koncord
059043fea9 [General] Change signature of BaseEvent::action 2017-02-23 15:16:28 +08:00
David Cernat
38ccc2671c Merge pull request #164 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
2017-02-23 00:52:53 +02:00
scrawl
8f79fa3d72 Add resource statistics panel opened with F4 2017-02-22 14:28:45 +01:00
scrawl
3693f05ef5 Transform world-space particle systems in update callback so that animations are accounted for 2017-02-21 23:27:20 +01:00
scrawl
c45013c983 Fix particle systems not being rendered in their first frame 2017-02-21 18:15:30 +01:00
David Cernat
a1988ac6ef Merge pull request #161 from OpenMW/master
Add OpenMW commits up to 21 Feb 2017
2017-02-21 07:02:59 +02:00
scrawl
4aa40d16bc Increase the importance of light radius when sorting lights (Bug #2759) 2017-02-21 04:32:59 +01:00
scrawl
3f27c8cc97 Always print context for script warnings to remove the need for verbose option
(Fixes #2813)
2017-02-21 04:32:59 +01:00
Koncord
158e9b3b09 [Server] Add ability to set password to server from config & scripts 2017-02-20 22:40:09 +08:00
David Cernat
3e50cf60e7 [General] Update version to 0.5.0 2017-02-20 15:05:12 +02:00
David Cernat
a4526605a6 [General] Remove goldValue from ContainerItem because it is never useful 2017-02-20 12:31:11 +02:00
David Cernat
cdffbc05f7 Merge pull request #159 from OpenMW/master
Add OpenMW commits up to 19 Feb 2017
2017-02-19 23:47:32 +02:00
scrawl
3b24bb9a5e Use OS X cursor workaround for GL_VENDOR ATI and add an environment variable for control 2017-02-19 13:46:40 +01:00
David Cernat
4f2b88df8a [General] Remove owner var from ContainerItem because it is always empty 2017-02-18 23:59:02 +02:00
David Cernat
d9a566f0f6 Merge pull request #156 from OpenMW/master
Add OpenMW commits up to 18 Feb 2017
2017-02-18 11:19:50 +02:00
scrawl
aa8459b5c7 Revert "Remove redundant allocations for NIF meshes"
This reverts commit a7c5beb7c5.

Conflicts:
	components/nif/data.cpp
	components/nifbullet/bulletnifloader.cpp
	components/nifosg/nifloader.cpp
2017-02-18 02:33:41 +01:00
scrawl
6a37909ee7 Revert "Fix race conditions caused by Array <-> GLBufferObject interactions (Bug #3580)"
This reverts commit 115e563a7a.
2017-02-18 02:33:41 +01:00
David Cernat
941d6269c1 [General] Slightly reorder variables in ID_OBJECT_PLACE 2017-02-17 18:34:11 +02:00
David Cernat
27c4015f50 [General] Remove unused packet placeholder ID_OBJECT_HEALTH 2017-02-16 18:46:39 +02:00
David Cernat
c32c004516 Merge pull request #151 from OpenMW/master
Add OpenMW commits up to 16 Feb 2017
2017-02-16 11:53:02 +02:00
scrawl
57b585570a Preload magic effect visuals of the player's selected weapon/spell 2017-02-15 21:01:25 +01:00
David Cernat
3b604a432e [General] Restructure ID_CONTAINER to allow multiple containers at once 2017-02-15 20:14:25 +02:00
David Cernat
c8cbfbef62 [General] Sketch out server requests to players for container data 2017-02-14 19:31:56 +02:00
David Cernat
2ed9ae5739 Merge pull request #149 from OpenMW/master
Add OpenMW commits up to 14 Feb 2017
2017-02-14 10:27:53 +02:00
scrawl
ddd6605608 Move WNAM out of LandData to avoid redundant (de)allocations on startup 2017-02-14 07:58:16 +01:00
scrawl
e00b420f68 Move saving of LandData into Land::save 2017-02-14 07:58:16 +01:00
scrawl
325bf66653 Return const Land in ESMStore 2017-02-14 07:58:16 +01:00
David Cernat
a5d7c5fd39 Merge pull request #148 from OpenMW/master
Add OpenMW commits up to 13 Feb 2017
2017-02-13 21:29:51 +02:00
Marc Zinnschlag
93c5630e02 Merge remote-tracking branch 'matahualpa/openmw-cs_tablecontents' 2017-02-13 10:06:08 +01:00
scrawl
892d1b162d nifloader: ignore nodes named 'bounding box' (Fixes #3650) 2017-02-12 15:44:09 +01:00
MAtahualpa
b4ef9e2314 Update loadbook.cpp 2017-02-12 13:53:10 +01:00
MAtahualpa
5a58ab1837 Update loadbook.hpp 2017-02-12 13:52:36 +01:00
David Cernat
6763718412 Merge pull request #146 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwmechanics/actors.cpp
2017-02-10 21:39:16 +02:00
scrawl
bbcba57495 Disable hitAttemptActorId saving code for now 2017-02-10 06:26:32 +01:00