David Cernat
fa652964fd
Merge pull request #403 from OpenMW/master
...
Add OpenMW commits up to 9 Apr 2018
7 years ago
scrawl
35300c04cd
Merge pull request #1671
7 years ago
Capostrophic
cddc0914c8
Option to charge for all companions travelling ( fixes #4064 )
7 years ago
David Cernat
d8b48f6cf4
[Client] Remove redundant container methods from CellController
7 years ago
David Cernat
ac82124a5d
Merge pull request #395 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwmechanics/actors.cpp
7 years ago
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.
7 years ago
David Cernat
bb15ee9215
[Client] Make it possible to get ContainerWindow from elsewhere in code
7 years ago
scrawl
edb57306b6
Merge pull request #1628
7 years ago
elsid
a26483ab26
Fix memory leak
...
There is no delete for TextFormat objects in PageDisplay destructor.
7 years ago
Andrei Kortunov
e0aa5e8e79
Prevent overlapping for journal and books scrolling
7 years ago
David Cernat
b7c6261e16
Merge pull request #392 from OpenMW/master while resolving conflicts
...
# Conflicts:
# README.md
7 years ago
scrawl
e81faf5f2f
Add an option to disable GUI keyboard navigation (Bug #4333 )
7 years ago
scrawl
870c658500
Remove missing souls, remove some runaway exceptions ( Fixes #4111 )
7 years ago
scrawl
bf78c18296
Merge pull request #1624
7 years ago
Capostrophic
3b922d810a
Don't use floating point arithmetics for formatted count (Bug #4346 )
7 years ago
Capostrophic
60a663ef58
Account for all possible count values in getCountString (Bug #4346 )
7 years ago
David Cernat
c18d07827d
[Client] Hide difficulty widget because it has no use in multiplayer
7 years ago
David Cernat
9e10eb9c84
Merge pull request #389 from OpenMW/master
...
Add OpenMW commits up to 24 Feb 2018
7 years ago
David Cernat
03266d7648
[Client] Prevent guards from arresting players who are currently jailed
7 years ago
Miloslav Číž
db6107f12f
Merge branch 'master' into screenshot360
7 years ago
Capostrophic
089666dd68
Round up displayed encumbrance
7 years ago
David Cernat
53d758ba16
Merge pull request #385 from OpenMW/master
...
Add OpenMW commits up to 13 Feb 2018
7 years ago
scrawl
123f7b83d5
Make the CompositeMapRenderer use available time and add related setting
7 years ago
David Cernat
74765b3ace
[General] Implement selected spell sync as part of PlayerMiscellaneous
7 years ago
David Cernat
420dab10e1
[General] Track objects directly placed by players in ObjectPlace
...
This allows the OnPCDrop variable to get set correctly even when object placements have to go through the server first in order to gain a unique multiplayer index (mpNum).
Among other things, this makes it possible to roll marijuana joints in the popular mod "Tribunal Code Patch".
7 years ago
David Cernat
5d4b97645d
Merge pull request #374 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/CMakeLists.txt
7 years ago
David Cernat
e3bc11d9eb
[Client] Fix ListBox overlap crashes by removing ListBoxes properly
7 years ago
David Cernat
5894ffae7d
[Client] Ignore dynamic object placements or spawns in packets
7 years ago
David Cernat
f746958afa
[Client] Send enchantmentCharge for items added or removed in containers
7 years ago
scrawl
2caaa48b91
Workaround to make sure message box remains on top ( Fixes #4298 )
7 years ago
David Cernat
4caf7ca30a
[Client] Add temporary fix for crashes caused by custom GUI elements
7 years ago
David Cernat
db0e0d376e
[Client] Use new code to set the console's Ptrs from server scripts
...
Previously, reusing the console's object selection code made it so using the same Ptr twice in a row was akin to clicking on the same object twice in the console window, i.e. the object was deselected the second time around. Additionally, that same code was setting key focus to the hidden console window, preventing players from moving until they activated another window (such as their inventory or chat window).
7 years ago
David Cernat
cac2c6c1e8
Merge pull request #360 from TES3MP/0.6.1-openmw-updates while resolving conflicts
7 years ago
David Cernat
ecb0ad0d77
Merge pull request #359 from OpenMW/master while resolving conflicts
...
# Conflicts:
# .travis.yml
7 years ago
David Cernat
535fba0cb3
[Client] Finish drag and drops when arrested or teleported by server
7 years ago
David Cernat
ebf88d12a3
[Client] Send PlayerInventory packet after buying skill training
7 years ago
David Cernat
0ad9c99cf4
[Client] Send PlayerInventory packet after completing a vendor trade
7 years ago
Andrei Kortunov
29b2308b2c
Do not display cyrillic soft/hard signs in the journal index
7 years ago
David Cernat
07f0cc2b0e
Merge pull request #353 from OpenMW/master
...
Add OpenMW commits up to 4 Dec 2017
7 years ago
scrawl
ff1226c96b
Merge pull request #1575
7 years ago
Andrei Kortunov
8decd35607
Fixes crash on quickload from the container menu (bug #4239 )
7 years ago
David Cernat
e7f20e7daf
Merge pull request #351 from OpenMW/master while resolving conflicts
...
# Conflicts:
# CMakeLists.txt
# README.md
7 years ago
scrawl
47a5229eed
Merge pull request #1564
7 years ago
David Cernat
22521578eb
Merge pull request #349 from OpenMW/master
...
Add OpenMW commits up to 28 Nov 2017
7 years ago
Grigorii Latyshev
2abb1a2ec2
Added checkMagicka parameter
7 years ago
Grigorii Latyshev
ce32462358
Move code to apps/openmw/mwmechanics/spellcasting.cpp, move reduce mana code to CastSpell::cast(const ESM::Spell*)
7 years ago
scrawl
88ec6179ff
Merge pull request #1566 from akortunov/guifixes
...
Set default values for class and birthsign select menus
7 years ago
Andrei Kortunov
55db3c2712
Set default values for class and birthsign select menus (bug #4226 )
7 years ago
David Cernat
d06817a356
Merge pull request #347 from OpenMW/master
...
Add OpenMW commits up to 25 Nov 2017
7 years ago
Grigorii Latyshev
32096ae0cc
Fix displayed spell success chance in God Mode
7 years ago
scrawl
665ca5b2d5
Merge pull request #1558 from akortunov/rusjournal
...
Cyrillic journal index (bug #2485 )
7 years ago
scrawl
8226c8dc92
Merge pull request #1560 from akortunov/guifixes
...
Fix the Topics button position if the Tribunal is not installed
7 years ago
Grigorii Latyshev
a7c953b318
Display 0 chance for spell if player does not have enought magic energy
7 years ago
David Cernat
2373be9735
Merge pull request #345 from OpenMW/master
...
Add OpenMW commits up to 23 Nov 2017
7 years ago
Andrei Kortunov
94c0e3ed10
Move toUpper() from StringUtils to the JournalViewModel
7 years ago
Andrei Kortunov
4f190bf7f4
Do not show carriage return characters (bug #3696 )
7 years ago
Andrei Kortunov
4d384889af
Fix the Topics button position if the Tribunal is not installed
7 years ago
David Cernat
656453725b
Merge pull request #343 from OpenMW/master
...
Add OpenMW commits up to 23 Nov 2017
7 years ago
David Cernat
6668b9ab42
[General] Implement ConsoleCommand packet
7 years ago
Andrei Kortunov
86a17b1e3e
Get rid of the redundant Utf8Stream when during journal index creation
7 years ago
Andrei Kortunov
3571f7f413
Remove getEncoding() from WindowManager
7 years ago
Andrei Kortunov
5f41f7c48d
Clean code up a bit
7 years ago
Andrei Kortunov
ba91cd658b
Convert topic name to Unicode
7 years ago
Andrei Kortunov
f0ca3eabd3
Merge from upstream master
7 years ago
Andrei Kortunov
a83a43e376
Determine when need to use the Cyrillic journal index
7 years ago
scrawl
719255c5c6
Merge pull request #1557 from akortunov/journalfix
...
[Feedback needed] Handle 128px Tx_menubook_topics textures
7 years ago
Andrei Kortunov
ce5bdd6361
Split the JournalBooks::createTopicIndexBook()
7 years ago
Andrei Kortunov
a391990f2a
Provide multibyte toLower() and single chars comparator
7 years ago
Andrei Kortunov
4dcaf040e6
A Russian journal index
7 years ago
Andrei Kortunov
60d0c83cca
Handle 128px Tx_menubook_topics textures
7 years ago
Miloslav Číž
ea2bbce68a
Fix memory leak in WindowManager
7 years ago
Miloslav Číž
3ae5310567
use loading screen to freeze the screen
7 years ago
David Cernat
5aff515d3f
Merge pull request #337 from OpenMW/master
...
Add OpenMW commits up to 15 Nov 2017
7 years ago
scrawl
7c5d2a1ac4
Update dialogue topics list after result script is run
...
Regression from 0.42.
7 years ago
David Cernat
2ba1c84cf7
Merge pull request #335 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwgui/container.cpp
7 years ago
scrawl
98b4f9c596
Merge pull request #1549 from akortunov/itemmodels
...
Item models reworking
7 years ago
Andrei Kortunov
03f129b53c
remove redundant allowedToInsertItems() function from ItemModel
7 years ago
Andrei Kortunov
99517d83ea
Bound items detection refactoring
7 years ago
Andrei Kortunov
a02124f884
Handle item owners during pickpocketing
7 years ago
Andrei Kortunov
3694b6ec90
Move onClose() check to item models
7 years ago
Andrei Kortunov
ac33ff9482
Move onDropItem() check to item models
7 years ago
Andrei Kortunov
3604b73d60
Move onTakeItem() to item models
7 years ago
David Cernat
f2a6957e16
Merge pull request #331 from OpenMW/master while resolving conflicts
7 years ago
scrawl
e42bd71081
Add missing WaitDialog::clear() ( Fixes #4196 )
7 years ago
scrawl
e6303c578c
Merge pull request #1530 from rexelion/curseitemfix
...
Trigger OnActivate when item is picked up through the inventory (Issue #3726 )
7 years ago
rexelion
8c2cc0f42f
break invisibility first
7 years ago
rexelion
bcbfa5fe1e
prevent activation, leave the rest to the script
7 years ago
rexelion
a9e5e19482
OnActivate is triggered when the item is picked up
7 years ago
David Cernat
a31d43965f
Merge pull request #328 from OpenMW/master
...
Add OpenMW commits up to 31 Oct 2017
7 years ago
rexelion
e8743f3f79
check the presence of OnActivate using the SuppressActivate flag instead of looking for keywords
7 years ago
Miloslav Číž
3c65bdaf14
weapon cycle fix
7 years ago
rexelion
4e6f53d6f1
item added to the player and OnActivate is triggered when the inventory is closed
7 years ago
David Cernat
50d5fffb7f
[General] Add and implement PlayerQuickKeys packet
7 years ago
David Cernat
dd25c7db4e
Merge pull request #324 from OpenMW/master
...
Add OpenMW commits up to 24 Oct 2017
7 years ago
scrawl
e564dd842e
Refactor dialogue responses to make sure messages from scripts are printer afterwards, not before the dialogue response ( Fixes #4166 )
...
Don't delete Link objects prematurely (Fixes #4171 )
7 years ago
scrawl
2a0b2c4e24
Hide modal window before deleting it ( Fixes #4168 )
7 years ago
David Cernat
360cf2ead7
Merge pull request #321 from OpenMW/master
...
Add OpenMW commits up to 22 Oct 2017
7 years ago
scrawl
8b19a8b7f6
Merge pull request #1513 from lukago/feature4082b
...
Feature #4082 : use many ingredients/potions instantly
7 years ago
David Cernat
3a9e5e3a7b
Merge pull request #319 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwworld/worldimp.hpp
7 years ago
lukago
b6cb3b445c
use getIndex to handle other windows, nullsafe fixes
7 years ago
Andrei Kortunov
eaff7e30aa
Fix a 'Good Beast' companion window
7 years ago
lukago
a3225364ff
refactor, use dragItem method
7 years ago
lukago
43f94a8890
simplify drag and drop on avatar for potions and ingredients
7 years ago
David Cernat
e164e6305e
Merge pull request #313 from OpenMW/master while resolving conflicts
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
# apps/openmw/mwgui/jailscreen.cpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
7 years ago
scrawl
03554b2f4b
Fix some style issues flagged by cppcheck
7 years ago
scrawl
624046c558
Fix unused event handler
7 years ago
scrawl
548af6dbfb
Fix jail screen fading
7 years ago
David Cernat
41ff3fee89
Merge pull request #310 from OpenMW/master while resolving conflicts
...
# Conflicts:
# CMakeLists.txt
7 years ago
scrawl
479f9535b4
Allow training window exit()
7 years ago
scrawl
9cde3e4408
Merge pull request #1495 from akortunov/regressions
...
Add showsInInventory() check to the ContainerItemModel
7 years ago
Andrei Kortunov
ea3729790f
Add showsInInventory() check to the ContainerItemModel
7 years ago
David Cernat
711c4d83da
[Client] Fix build after recent OpenMW changes to GUI
7 years ago
David Cernat
3e8d7c8416
Merge pull request #306 from OpenMW/master
...
Add OpenMW commits up to 7 Oct 2017
7 years ago
scrawl
7021d354c6
Merge pull request #1493 from akortunov/regressions
...
Regression fixes
7 years ago
scrawl
2805781542
Fix a crash when exit() already hides the window ( Fixes #4148 )
7 years ago
Andrei Kortunov
ad27e0f945
Fix owned tooltip in the spellwindow
7 years ago
David Cernat
38247ff086
Merge pull request #303 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwbase/dialoguemanager.hpp
# apps/openmw/mwdialogue/dialoguemanagerimp.hpp
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwgui/windowmanagerimp.cpp
# apps/openmw/mwscript/dialogueextensions.cpp
7 years ago
scrawl
842a42ee66
Fix non-top level Windows accepting key focus
7 years ago
scrawl
cd437f094d
Fix exiting savegamedialog with 'esc' when no game is running
7 years ago
scrawl
d94235e3a7
Update the saves list/preview image when character selection changes to make it more convenient to flip through characters with the keyboard
7 years ago
scrawl
12510efab7
Fade screen out during loading screen (when travelling)
7 years ago
scrawl
a4737d8417
Use MyGUI frame events for ScreenFader
7 years ago
scrawl
e4f0f7157a
Fix pinned windows not being updated
7 years ago
scrawl
49a0922f1b
Remove 'visibility mask' gui feature which did not end up being useful
7 years ago
scrawl
7c68ed04b2
Don't require modal windows to be removed in the same order they were added
7 years ago
scrawl
b5c9977a7b
Merge pull request #1489 from akortunov/guifixes
...
Use an "owned crosshair" feature for items in containers
7 years ago
Andrei Kortunov
1cb7ed5db1
Use owned tooltips for items in containers correctly
7 years ago
scrawl
433028e8d7
Fix GUI regressions
7 years ago
scrawl
302e3c8b3d
Merge pull request #1486 from akortunov/pickpocketfix
...
Fix some issues with pickpocketing (bug #4131 )
7 years ago
Andrei Kortunov
34895157f9
Consider taking items from unconscious NPC as a theft
7 years ago
Andrei Kortunov
04452b0949
Use a pickpocket crime instead of theft when pickpocketing was failed
7 years ago
scrawl
3c62a8c5c2
Fix console selected object persisting on a new game
7 years ago
scrawl
097b9d90bc
Fix travel service not showing
7 years ago
scrawl
5b10e3128e
Use first resolution in fullscreen if current is not supported ( Fixes #4113 )
7 years ago
scrawl
64e27c032b
Merge pull request #1481 from scrawl/keyfocus
...
WindowManager overhaul & improved keyboard support
7 years ago
scrawl
7bb0a76df2
Fix tooltips showing when cursor isn't visible
7 years ago
scrawl
14c9e858c8
Check to make sure button is enabled
7 years ago
scrawl
6ec66fa95f
Restore keyfocus to goodbye when selecting a topic
7 years ago
scrawl
0ae009eb21
Hide message box before deleting it
...
Fixes a crash when closing the game window during the 'plugin mismatch' dialog. Modal windows have to be hidden before they are deleted to prevent a dangling pointer in WindowManager.
7 years ago
scrawl
d53e7f8a3c
Remove redundant code
...
Already worked around in WindowBase::setVisible
7 years ago
scrawl
0deda69a27
Fix wrong skin for levelup attribute values
7 years ago
scrawl
e9d81fdf5a
Fix being able to escape interactive messageboxes
7 years ago
scrawl
db650df416
Fix 'blocking' messageboxes not handling key focus properly
7 years ago
scrawl
a0f5e32113
Fix 'new game' from the main menu not removing menu afterwards
7 years ago
scrawl
0ee57effcc
Make 'Delete game' button not accept keyfocus, to prevent accidents
7 years ago
scrawl
c7a82704c6
Fix key focus resets in SaveGameDialog
7 years ago
scrawl
3d2ad2d339
Include cleanup
7 years ago
scrawl
87311d86b5
Fix what looks like a copy/paste error
7 years ago
scrawl
7a3fbfb34a
Slightly improve journal window keyboard navigation
7 years ago
scrawl
05814c0929
Add key focus handling for WaitDialog
...
Default is 'until healed'. Up/Down arrows change the hour slider and implicitely change the button to 'Wait'.
7 years ago