Commit Graph

19734 Commits (953be7cd27285a9c87c931df47f96ff9f76f76e7)

Author SHA1 Message Date
Phoenix / Hotaru 953be7cd27
Cleanup(server): Refactor code for Lua function dispatch 1 year ago
Dave Corley aba639e601
Fix(Client): Fix rotation order for received onObjectRotate packets 1 year ago
Sidney Keese 9aecd1a926
[Documentation] Update some docs to match method signatures 3 years ago
David Cernat 81251675a4 [Client] Fix packetOrigin comparisons when sending ObjectState 3 years ago
ShadIK02 fb3fbade13
Update CMakeLists.txt
fix on TARGET for building on macOS
3 years ago
David Cernat 8f90e64e80 [Server] Make ClearRecords() clear GameSetting records as well 3 years ago
David Cernat 3b355653d4 [Client] Fix overlap of GuiMode IDs for VR meta menu and TES3MP InputBox 3 years ago
David Cernat eb1c894038 [Client] Add clearer debug for bad LiveCellRef casts 3 years ago
David Cernat a7eeba03a1 [General] Synchronize origin and orientation for non-magical projectiles 3 years ago
David Cernat f0a22495a2 [General] Synchronize origin and orientation for magical projectiles 3 years ago
David Cernat da079fcfd8 [General] Add VR settings to GameSettings packet 3 years ago
David Cernat fb4fe75e62 [Client] Always set visibility of GUIChat, not its main widget
Don't change the windowState when GUIChat is closed.
3 years ago
David Cernat ae2d247968 [Client] Add GUIController method for changing chat window mode 3 years ago
David Cernat d45db97808 [Client] Retain hidden mode for chat window when set 3 years ago
David Cernat 6b1c83f629 [Client] Fix iteration through summoned creature map in ObjectList 3 years ago
David Cernat 06dfbe4aec [Client] Fix conditions for sending PlayerItemUse packet for magic items
Previously, attempting to switch to a magic item's spell via a quick key did not work if the item was already equipped.
3 years ago
David Cernat 1a000bc0a8 [Client] Fix cleanup of summoned creatures
Previously, summoned creatures weren't being deleted in certain situations because they were encountered again before the cell they were in had a local authority.
3 years ago
David Cernat 4e2860f578 [General] Make mwscript's PositionCell send ActorCellChange packets
Make server accept ActorCellChange packets for unloaded cells.
3 years ago
David Cernat aa92128cf2 [Client] Fix logic for sending ObjectState packets
The previous logic was meant to prevent packet spam from local scripts, but inadvertently prevented objects from being enabled or disabled correctly from dialogue in certain quests.

Enabling and disabling objects from dialogue and the console is now always allowed to go through.
3 years ago
David Cernat 3af57f0858 [Client] Fix crash when creating Cell from base Cell lacking Pathgrid 3 years ago
David Cernat 43f531e9a5 [Client] Reuse Pathgrid records from base Cells when creating new Cells 3 years ago
David Cernat 2a3d6ea7f0 [Client] Don't process hits on non-actors after sending ObjectHit packet
This prevents errors about the non-actors not having CreatureStats.
3 years ago
David Cernat 8bb22f1b73 [Client] Make client window use TES3MP title and icon 3 years ago
David Cernat 2898ad6e9a [Client] Make Back button work in character generation
Character generation was coded in a strange way by Koncord in the earliest days of the project, but this fixes the main problem with it.
3 years ago
David Cernat e72bacbed3 [Client] Prevent main menu from being opened while in TES3MP listboxes 3 years ago
David Cernat 790cb63443 [Client] Prevent wildernessRestAllowed from affecting resting in beds
Use less confusing message when unable to rest because of wildernessRestAllowed.
3 years ago
David Cernat 5aac28b00f [Client] Disable use of certain options when starting client 3 years ago
David Cernat c4847918d5 [Client] Fix ObjectLock spam by sending only lock changes from scripts 3 years ago
David Cernat 238690653b [Client] Fix sending of inventory packets after certain alchemy failures 3 years ago
David Cernat bb5aa90a6d [Client] Use simpler conditions for sending PlayerInventory packets
This fixes a problem with Take All not sending PlayerInventory packets.
3 years ago
David Cernat 3e881e6231 [Client] Uninitialize LocalActors whose references have been deleted 3 years ago
David Cernat f219cb5417 [General] Ensure that objects initialized as DedicatedActors are actors 3 years ago
David Cernat 17715933b5 [Client] Add actorsOnly argument to CellStore's exact object search 3 years ago
David Cernat a6dd76776f [Client] Include refId in ObjectList's object searches 3 years ago
David Cernat cc8c222d18 [General] Combine CellStore's exact object searches 3 years ago
David Cernat 6875c3422f [Client] Make player inventory items recharge by themselves again
This fixes 4476609872.
3 years ago
David Cernat 4476609872 [Client] Don't unilaterally recharge world items on clients 3 years ago
nalal efd403b174
Change "or/and" to "||/&&"
I added the code that included those ages ago, figured I should go in and change it to conform to the existing project formatting.
3 years ago
David Cernat a95099cd03 [Client] Use item model's items for Container packet sent from Take All
Previously, a Container packet sent when using the Take All button included all the items in the container, not just all the items in the container window seen on the client. This was a problem when stealing from actors, as the container window does not give access to all of their items.
3 years ago
David Cernat abdaedd752 [Client] Rely on untranslated topics in ObjectDialogueChoice packets
Previously, when using the Russian edition, all dialogue topics were translated into English before being sent to the server in an ObjectDialogueChoice packet and were then translated back into Russian when received again by the client. However, there were situations where different topics in English corresponded to the same Russian word, e.g. "chores" and "duties" were both translated as "задания", which led to the incorrect topic being used on the client in the end.

This commit makes it so that users of the Russian edition send ObjectDialogueChoice packets where the topicId variable contains both the untranslated topic and the translated one, delimited by a | character, with the client simply using the former when receiving the packet again.

This is a hotfix instead of the proper fix, as the proper fix would use different variables for the two versions of the topic and thus require the structure of the ObjectDialogueChoice packet to change.
3 years ago
David Cernat 571f3e8ee7 [Client] Use correct stacking value when sending SpellsActive packets 3 years ago
David Cernat f2d95dc84d [Client] Make ActiveSpells::removeSpellByTimestamp() return a boolean
Add logging to LocalPlayer::removeSpellsActive() to track when a player's active spell hasn't been removed due to an invalid timestamp.
3 years ago
David Cernat 4aa947ff4b [Client] Prevent player from auto-equipping items taken from containers 3 years ago
David Cernat 15fdac3f6c Revert "Merge branch '0.7.1-window-input' into 0.7.1"
This reverts commit 94f5b169e6, reversing
changes made to 43e7df6df8.

# Conflicts:
#	apps/openmw-mp/handleInput.cpp
3 years ago
David Cernat 1cb10cd1f2 [Client] Use new exact search with ObjectActivate & ObjectDialogueChoice 3 years ago
David Cernat 646ffc7afe [Client] Add a new type of search to CellStore that also checks refIds 3 years ago
David Cernat 38363eee0d Add OpenMW 0.47 commits up to 4 Dec 2021 3 years ago
elsid 7f1e5b368e
Fix deadlock in physics system
* Reorder unlock and notify_all calls to avoid notifying when not all worker
  threads are waiting.
* Make sure main thread does not attempt to exclusively lock mSimulationMutex
  while not all workers are done with previous frame.
* Replace mNewFrame flag by counter to avoid modification from multiple
  threads.
3 years ago
David Cernat dbae0bddc2 [Client] Only play sounds from active cells when receiving ObjectSound 3 years ago
David Cernat 48de84ec32 [Client] Send ObjectSound packets with spellcasting sounds 3 years ago