Commit graph

22146 commits

Author SHA1 Message Date
Andrei Kortunov
75835c8326 Prevent NPC from chosing farther pathgrid node 2018-07-29 18:18:05 +04:00
Marc Zinnschlag
9e6cba09a6 Merged pull request #1827 2018-07-29 12:52:51 +02:00
Marc Zinnschlag
84de55fb46 Merged puil request #1824 2018-07-29 12:52:01 +02:00
Marc Zinnschlag
78121c1774 Merged pull request #1823 2018-07-29 12:49:50 +02:00
Marc Zinnschlag
3ba9229f47 Merged pull request #1815 2018-07-29 12:48:20 +02:00
Capostrophic
9c8e284ead Fix quick key activation delay code (regression #4536) 2018-07-29 12:52:29 +03:00
Capostrophic
84a871cac7 Actually enable is_pod test 2018-07-28 23:56:42 +03:00
Andrei Kortunov
6d5d0039ec Make sure we apply OT_Murder only once 2018-07-28 20:45:33 +04:00
Andrei Kortunov
bc82dbbd1b Do not try to find missing animated collision shape again and again 2018-07-28 16:49:00 +04:00
Andrei Kortunov
7e0df01c83 Do not optimize animated shapes (bug #3950) 2018-07-28 16:48:57 +04:00
Andrei Kortunov
2d4ec86b8d Provide launcher icons 2018-07-28 13:18:38 +04:00
Marc Zinnschlag
29a1899045 Merged pull request #1819 2018-07-28 11:13:37 +02:00
David Cernat
2dbf3893c0 [General] Compress item refIds in PlayerEquipment packets 2018-07-28 01:50:44 +03:00
David Cernat
2332423527 [Client] Fix extra qualification error in CellRef when compiling w/ GCC 2018-07-27 21:56:45 +03:00
David Cernat
7136329a94 [Client] Add World::updatePtrsWithRefId() method
This makes it possible to "reload" the Ptrs in active cells when changes happen to the ESM record that they are based on. In practice, the old Ptrs are deleted, their RefNums and MpNums are blanked out, and new Ptrs are created that use the same RefNum and MpNum as before.

The above has required me to also add a method called setRefNum() to CellRef to allow setting a RefNum on the fly.

There may be a more elegant implementation available for updatePtrsWithRefIds(), but it requires additional research.
2018-07-27 21:42:08 +03:00
Andrei Kortunov
28a02ac93b Use file selection dialogue result (bug #4524) 2018-07-27 21:25:21 +04:00
Marc Zinnschlag
b7c159e5b6 Merged pull request #1816 2018-07-27 12:09:10 +02:00
Marc Zinnschlag
c508938674 Merged pull request #1817 2018-07-27 12:06:51 +02:00
Marc Zinnschlag
bbb22643e8 Merge remote-tracking branch 'capostrophic/warning' 2018-07-27 12:05:26 +02:00
David Cernat
9497c7f6f2 [Client] Add back mistakenly removed setting of mpNums for spawns 2018-07-27 00:36:05 +03:00
David Cernat
25fcd09780 [Client] Add doesNpcExist() method to RecordHelper 2018-07-26 23:57:42 +03:00
David Cernat
7995466e3c [Client] Check validity of refIds in ObjectSpawn packets
This reverts c7bcf70c32 because it provides a better solution to the problem solved there, while solving another related problem as well.
2018-07-26 23:57:22 +03:00
David Cernat
8d286657d4 [Client] Update messages when unilaterally creating custom objects 2018-07-26 23:32:31 +03:00
Capostrophic
f7887ab05f
Fix MSVC C4456 warning: declaration of 'stats' hides previous local declaration 2018-07-26 23:24:26 +03:00
David Cernat
c7bcf70c32 [Client] Ignore ObjectSpawn packets trying to spawn non-actors 2018-07-26 22:41:04 +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
f52364e05c [Client] Always create new references for new creature disguises
Previously, attempts to reuse the same reference for multiple creature disguises led to movement animation issues, as well as a dynamic_cast error in Creature::getInventoryStore() that made a DedicatedPlayer vanish completely when they first lost their creature disguise, then disguised themselves as a creature that could not hold weapons and then disguised themselves as a creature that could hold weapons.
2018-07-26 21:08:12 +03:00
David Cernat
60bc7447d9 [Client] Rework RecordHelper and add methods for other record types
The usage of const_cast has been replaced with usage of MWWorld::getModifiableStore() and ESMStore::overrideRecord()

Methods whose names started with "update" now start with "override", for consistency with ESMStore's overrideRecord()

New methods have been added for "overriding" enchantment, potion and spell records, which actually leads to them being created with their already set refIds if they haven't been created yet, as per the description of ESMStore::overrideRecord(): "Insert a record with set ID, and allow it to override a pre-existing static record."

Usage of RecordHelper methods has been updated in DedicatedPlayer.
2018-07-26 21:01:59 +03:00
Capostrophic
51d369d4da Add resumeGame method 2018-07-26 20:35:34 +03:00
David Cernat
4e78642273 [Client] Add getModifiableStore() to MWWorld 2018-07-26 20:05:36 +03:00
David Cernat
d778bc3b8a [Server] Turn readWorldstate and writeWorldstate into static variables 2018-07-26 20:03:42 +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
Andrei Kortunov
23d917df9c Do not use magic numbers in capacity calculations 2018-07-26 18:06:36 +04:00
David Cernat
a4b588d1b5 [General] Add optional timestamps to journal entries in PlayerJournal 2018-07-26 04:36:12 +03:00
Capostrophic
e55f49be45
Fix issue 4494 number 2018-07-25 12:51:15 +03:00
Capostrophic
cac2bc768e
Fix NPC "can't teach more" message (bug #4494) 2018-07-25 12:34:33 +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
b79221efcc [Server] Rename variable i into index in ActorFunctions 2018-07-24 21:29:40 +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
2e0b6e4e3e [Server] Rename variable i into index in script function arguments
Additionally, rename i into index in LangLua.
2018-07-24 20:14:51 +03:00
David Cernat
65de028e0d
Merge pull request #462 from OpenMW/master
Add OpenMW commits up to 23 Jul 2018
2018-07-23 23:19:17 +03:00
David Cernat
74fa1d0f01 [Client] Fix manual setting of inertial force
Actors who are on the ground have their inertial force ignored, so they are now made to not be regarded as being on the ground in World::setInertialForce()
2018-07-23 23:04:41 +03:00
David Cernat
b69e6b96e6 [Client] Use verbose logging level for LocalActor debug 2018-07-23 22:11:59 +03:00
Bret Curtis
84b80ae405 no spaces in assignment 2018-07-22 23:12:37 +00:00
David Cernat
36ac2d9de4 [Client] Set packetOrigin for all ObjectList packets sent 2018-07-23 01:39:43 +03:00
David Cernat
692ee01340 [Client] Add ScriptController w/ contextType-to-packetOrigin method 2018-07-23 00:48:23 +03:00
David Cernat
63a86f145d [Client] Record type of each InterpreterContext for later checking 2018-07-23 00:46:07 +03:00
David Cernat
d4a84ac34a [Server] Update script function descriptions for ObjectList origin 2018-07-22 23:08:32 +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