Commit Graph

3184 Commits (master)

Author SHA1 Message Date
James Stephens 1cd1bfca74 Fixes bug #4650 5 years ago
Andrei Kortunov b6044d231a Handle death event manually before disposing a corpse if a death animation was not finished yet (feature #5146) 5 years ago
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
5 years ago
David Cernat ed05125f6a Add OpenMW commits up to 2 Aug 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
5 years ago
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
5 years ago
David Cernat 5181c601c0 Add OpenMW commits up to 2 May 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/statsextensions.cpp
5 years ago
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
5 years ago
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
5 years ago
David Cernat 95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
5 years ago
David Cernat 6205ff6b04 Add OpenMW commits up to 30 Jan 2019
# Conflicts:
#	apps/openmw/mwworld/worldimp.cpp
5 years ago
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
5 years ago
David Cernat 68886e7539 Add OpenMW commits up to 2 Dec 2018
# Conflicts:
#	.travis.yml
#	README.md
5 years ago
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
5 years ago
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
5 years ago
David Cernat 056591b957 Add OpenMW commits up to 14 Sep 2018
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
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
5 years ago
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
5 years ago
David Cernat 0339958e21 [General] Rename Log class into TimedLog 5 years ago
Andrei Kortunov 661d11c83e
Merge pull request #2465 from Capostrophic/duration
Human-readable light source duration (feature #5091)
5 years ago
David Cernat ab93b5ddc5 [General] Use PlayerItemUse packets when using items through quick keys 5 years ago
ArgonianAccount 53facf7baa Class quiz fixes 5 years ago
capostrophic 26f59e47db Improve readability 5 years ago
capostrophic a9c4b18d38 Make sure cast chance checks mana when necessary (bug #5112) 5 years ago
capostrophic 6928adcee1 Prevent front() and operator[] from causing undefined behavior 6 years ago
capostrophic 2affb8ed63 Human-readable light source duration (feature #5091) 6 years ago
Alexei Dobrohotov 1a2f51ef6f
Merge pull request #2415 from Assumeru/unix-console
Unix console hotkeys
6 years ago
Artem Nykolenko d996b565a5 Improve character window resizing (bug #4276) 6 years ago
David Cernat 57f84914c3 [Client] Prevent permanent deletion of player markers on cell changes 6 years ago
Evil Eye cb4664b31b Remove arrow key behaviour as it's in MyGUI now 6 years ago
Evil Eye 405c556ce9 Merge branch 'master' of https://github.com/OpenMW/openmw into unix-console 6 years ago
David Cernat 94a9292cc6 [Client] Use correct index when unassigning quickkeys from WindowManager 6 years ago
Andrei Kortunov a62b6910ba
Merge pull request #2411 from Capostrophic/fader
Make sure fade operations properly end (bug #4639)
6 years ago
Capostrophic 56539fee4f Partially revert "Get rid of redundant setKeyFocusWidget() method" 6 years ago
David Cernat 49fa35a516 [Client] Use ObjectActivate packets when picking up items from inventory 6 years ago
Evil Eye 67fb19c2b9 fix deletion when not at end of line and implement ^LEFT and ^RIGHT 6 years ago
Evil Eye 4aca8240e5 implement ^W and ^U in the console 6 years ago
Capostrophic 596dbbe70b Make sure fade operations properly end (bug #4639) 6 years ago
Andrei Kortunov 34fe896f4e
Merge pull request #2400 from Capostrophic/colorcode
Escape number signs in cell/region names (bug #5047)
6 years ago
Andrei Kortunov 1ce370e7fa Make console to do not hide other GUI windows (bug #1515) 6 years ago
Capostrophic 9a19af5b33 Escape number signs in cell/region names (bug #5047) 6 years ago
Andrei Kortunov fae5843347 Setup the ICO settings only once instead of every loading (bug #5025) 6 years ago
Alexei Dobrohotov 7c46102f0c
Merge pull request #2389 from akortunov/fmt
Introduce a custom format() function
6 years ago
Andrei Kortunov e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 6 years ago
Alexei Dobrohotov 0ee73d89f0
Correct selling prices of creature merchants 6 years ago
Andrei Kortunov faf940546b Get rid of redundant setKeyFocusWidget() method 6 years ago
Andrei Kortunov 675be20a0f Get rid of redundant ControllerRepeatClick class 6 years ago
Andrei Kortunov ac8fa54e6e Get rid of redundant MWScroll class 6 years ago
Capostrophic 3f73766304 Make enchanting make more sense (bug #5038) 6 years ago
Capostrophic 272df29a12 Exit waiting at the correct time when the player is in air 6 years ago
Capostrophic 485ed903c4 Enchanting window stays open after a failed attempt (feature #5034) 6 years ago
Andrei Kortunov a79955352f Revert MR !103 and !105 since they cause issues with dialogue window 6 years ago
Andrei Kortunov 27737d4258 Fix an exception during reload when container windows is active.
It is a regression in the animated containers feature.
6 years ago
Alexei Dobrohotov d37cb871d6
Fix last-minute typo 6 years ago
Andrei Kortunov ef4042703d
Merge pull request #2373 from Capostrophic/barter
Make offered price caps barter-specific (bug #5028)
6 years ago
Alexei Dobrohotov 216f908a07
Merge pull request #2286 from akortunov/map
Do not re-render maps for all active cells during cell transitions
6 years ago
Phillip A c4d5203e14 Fix MR !103 breaking of dialogue with actors with no greetings 6 years ago
Capostrophic 9d191055bf Make offered price caps barter-specific (bug #5028) 6 years ago
Frederic Chardon 6619150b23 Do not show magnitude for ingredients 6 years ago
Phillip Andrews a481d2dc1a Make sure pointers are set before GUI windows are brought up
This most noticiably fixes an issue when resting in a bed while levitating.
6 years ago
Capostrophic cb9d16cf5f Support negative effect magnitude in spell/ingredient/potion tooltips 6 years ago
Capostrophic 3add9765c3 Fix spell deletion for character without a birthsign 6 years ago
Alexei Dobrohotov 15142a608d
Merge pull request #2344 from xyzz/delete-spell
Add a button to delete spells from spellwindow
6 years ago
Alexei Dobrohotov acae586765
Merge pull request #2365 from akortunov/guifixes
Refactor Settings::Manager::apply()
6 years ago
Andrei Kortunov 4f42fe5595 Refactor Settings::Manager::apply() 6 years ago
Alexei Dobrohotov 1bfe0e43af
Merge pull request #2360 from akortunov/guifixes
Do not track resolution settings changes in the InputManager
6 years ago
Alexei Dobrohotov 632e7b973b
Merge pull request #2349 from akortunov/pinning
Allow to maximize windows via Shift + Double Click
6 years ago
Andrei Kortunov 4513c5516c Increase the viewing distance cap in the slider when the Distant Terrain is enabled 6 years ago
Andrei Kortunov 0cd8d4b842 Do not track resolution settings changes in the InputManager (bug #4902) 6 years ago
Andrei Kortunov c5ac580e74 Allow to maximize windows via Shift + Double Click (feature #3999) 6 years ago
Alexei Dobrohotov 5e405ca679
Merge pull request #2347 from akortunov/pinning
Make pinnable windows hiding persistent
6 years ago
Andrei Kortunov 8e48493264 Make pinnable windows hiding persistent (feature #4994) 6 years ago
Ilya Zhuravlev e057ea171f spell window: don't manually recalculate edit box width every update 6 years ago
Ilya Zhuravlev e1ce15efb5 spellwindow: do onWindowResize in ctor after dimensions are set 6 years ago
Ilya Zhuravlev 26ac7412a0 Spell window: dynamically resize the edit box, change delete button caption 6 years ago
Ilya Zhuravlev 2ee0b1287b spellmodel: add a break to getSelectedIndex 6 years ago
Ilya Zhuravlev 6c96b5653b Add a button to delete spells from spellwindow 6 years ago
Capostrophic c7ac06b960 Always account for every follower travelling 6 years ago
Andrei Kortunov 9059971a69 Increase required MyGUI version to 3.2.2 6 years ago
Andrei Kortunov 09686d684e Update background texture if a new one is empty (regression #4986) 6 years ago
Andrei Kortunov 31ddb0a482 Allow to calculate UI skin size based on texture resolution (feature #4968) 6 years ago
Bret Curtis 7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
6 years ago
Capostrophic 7202f45771 Only allow resting in air when a bed is used 6 years ago
bzzt ed4ce4609b Do not re-render maps for all active cells during cell transitions 6 years ago
Andrei Kortunov a302ec9c65 Make fallback map static to simplify constructors 6 years ago
Bret Curtis 886c77bced
Merge pull request #2145 from akortunov/rest
Update jail state once instead of for every single hour
6 years ago
Capostrophic 93f78aad60 Avoid menu button texture vertical cutoff 6 years ago
bzzt 231e629e66 Store map widgets and textures in one vector instead of 4 different ones 6 years ago
bzzt c2176945bd Do not use the delayed map cells update 6 years ago
uramer 3b2098382b update player map markers when client changes cell 6 years ago
Bret Curtis e2ed90e67b
Merge pull request #2262 from akortunov/guifixes
[Regression] Fix missing \n characters on the active effects tooltips
6 years ago
Andrei Kortunov 80e0fbdd88 Fix missing \n characters on the active effects tooltips 6 years ago
Capostrophic 168e758921 Correct look and behavior of some setting sliders 6 years ago
Capostrophic 578beb6305 Use selected object local variables in console (feature #3893) 6 years ago
Vladimir Panteleev 9d5fc7954f
DRY skill widget updates in stats window
The skill widgets were configured in two places: initial creation, and
updates. The former was redundant, and duplicated the functionality of
the latter.

To fix this redundancy, replace the duplicate code with a call to
setValue.
6 years ago
Capostrophic 2f38e4fbb3 Fix enchanted item icon update 6 years ago
Bret Curtis 79fca2e7c6
Merge pull request #2095 from akortunov/reflections
Add more settings to water reflections
6 years ago
Bret Curtis f6127a30c0
Merge pull request #2199 from akortunov/guifixes
Use C++11-style loops in the GUI instead of iterators
6 years ago
Andrei Kortunov bf5f68a4d8 Replace boost GCD to the homebrew implementation 6 years ago
Andrei Kortunov 9398117ea7 Allow to do not reflect terrain 6 years ago
Andrei Kortunov 00ab552184 Add more settings to water reflections in exteriors (feature #4859) 6 years ago
Andrei Kortunov 8df8bd3f37 Use C++11-style loops in the GUI instead of iterators 6 years ago
Bret Curtis 735bcf17c2 Merge branch 'boost-gcd-deprecation' into 'master'
Fix boost deprecation warning

See merge request OpenMW/openmw!66
6 years ago
AnyOldName3 cd4303da23 Add preprocessor check to determine which common_factor header to use. 6 years ago
Capostrophic 216e1ab16f Always include <memory> for smart pointers in MWGui 6 years ago
Capostrophic 8ecd0b82a4 Replace Boost format and replace_all where possible 6 years ago
Bret Curtis d4564a9be7
Merge pull request #2180 from akortunov/includes
Remove redundant includes
6 years ago
Andrei Kortunov fcdb0c16bf Update jail state once instead of for every single hour 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Capostrophic 58788de7c4 Get rid of Boost.Array 6 years ago
Bret Curtis 212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
6 years ago
Bret Curtis 55fc04e462
Merge pull request #2175 from Capostrophic/includes
Include cleanup
6 years ago
Capostrophic c03ed4cd50 Include cleanup 6 years ago
Andrei Kortunov 9de0c9045a Fix API usage errors 6 years ago
Andrei Kortunov dc6ef15571 Simplify loop in the addSkills() 6 years ago
Andrei Kortunov ad9412a117 Remove some redundant checks 6 years ago
Andrei Kortunov 18a59df050 Throw exceptions by value instead of reference 6 years ago
AnyOldName3 89d4d3be08 Fix boost deprecation warning 6 years ago
Capostrophic e9c6c11418 Fix hiding three-tab (Cyrillic) topic index 6 years ago
Andrei Kortunov 8580a58ba0 Optimize HUD update (do not do unnecessary work) 6 years ago
David Cernat f481c85e07 [Client] Use ADD before REMOVE for PlayerInventory in repair/recharge
Previously, when recharging or repairing an item, the client sent a PlayerInventory packet to the server with the old version of the item that was supposed to be removed and then it sent a PlayerInventory packet with the new version of the item that was supposed to be added.

Unfortunately, the current CoreScripts make it so custom items using generated IDs have their records deleted when they are completely removed from the world, however briefly, even if they are added back immediately afterwards. In practice, this meant that – before this commit – recharging or repairing a custom item led to its removal from the player inventory stored on the server, followed by the deletion of its record, followed by its readdition to the inventory (but with the record staying deleted). Logging out and logging back in immediately prevented the player from receiving the item anymore because of its now non-existent record.
6 years ago
Andrei Kortunov 0937f02598 Get rid of unnecessary string streams 6 years ago
David Cernat 906d2a837d [Client] Send PlayerInventory packets when recharging items w/ soulgems 6 years ago
Ilya Zhuravlev 1bdec2399f Make sure CopyFramebufferToTextureCallback is only called once and not every frame 6 years ago
Ilya Zhuravlev 8e7c01b561 loadingscreen: Fix UaF in loading screen.
When the CopyFramebufferToTextureCallback callback is called, in its operator() it resets setInitialDrawCallback by providing a NULL pointer.
However, this causes the callback to get deleted. In turn, the "this" pointer is invalidated.
When execution returns to DrawCallback::run, it accesses a _nestedCallback member of deleted "this" which is UB.
6 years ago
Andrei Kortunov a53333c3d5 Native animated containers support (feature #4730) 6 years ago
David Cernat afd17e5a48 [Client] Don't finish drag & drop that is supposed to be unsuccessful
This prevents items from vanishing when your attempt to drop them in a full container is denied.
6 years ago
Bret Curtis a21792657a
Merge pull request #2034 from akortunov/guifixes
Improve GUI cleanup
6 years ago
Andrei Kortunov 5e071e3eb0 Add a missing check if mPtr is empty (bug #4715) 6 years ago
Andrei Kortunov 71f1a53090 Improve tooltips cleanup (bug #4714) 6 years ago
Andrei Kortunov d2613e35a2 Fix some Clang 7 warnings 6 years ago
Bret Curtis 3cd59d4a89
Merge pull request #1993 from akortunov/loadingbar
Center progress bar when there are active messageboxes
6 years ago
Andrei Kortunov 6e05853478 Center progress bar when there are active messageboxes (bug #4691) 6 years ago
Marc Zinnschlag 9dd0d641bc Merged pull request #1931 6 years ago
Capostrophic 19ce1abcdf Fix selected weapon HUD durability percentage 6 years ago
Andrei Kortunov e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
6 years ago
Capostrophic c3e8d536cd Implement getNormalizedEnchantmentCharge() method and use it 6 years ago
Capostrophic 54bd7b2dcf Implement getItemNormalizedHealth() method and use it 6 years ago
Capostrophic 67de61e1fb Avoid item condition and charge zero divisions 6 years ago
David Cernat d9dd7073cf [General] Send certain packets only when logged in
Previously, client mods adding packet-sending scripts to the spawn area made clients send the associated packets as soon as they inputted their character name when joining a server using those mods. This made the clients either get disconnected for not replying to a handshake first, or it made them get kicked for sending object packets that are disallowed for players who are not logged in.

To fix this, LocalPlayer's hasFinishedCharGen() has been replaced with isLoggedIn(), because the former was already returning true when players inputted their names.
6 years ago
Marc Zinnschlag b30e309532 Merged pull request #1967 6 years ago
Andrei Kortunov dad0b78901 Avoid overflow when handling output characters (bug #4676) 6 years ago
Capostrophic 47b1b0ac39 Re-fix water reflections while making a no-GUI screenshot 6 years ago
Marc Zinnschlag 2d87d1d9d2 Merged pull request #1959 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Capostrophic 09aecb955c getSkill usage cleanup (bug #4671) 6 years ago
Capostrophic 674e33170b Fix quick key system regressions (bug #4662) 6 years ago
Marc Zinnschlag 0e06a25f21 Merged pull request #1935 6 years ago
Sergey Fukanchik 44bcd9b25f Fix tab characters 6 years ago
Sergey Fukanchik c50ee22772 Wrap up World::canRest() implementation by moving enemiesNearby() from InputManager::rest() to World::canRest(). 6 years ago
Andrei Kortunov b3fd173e00 Check if current weapon has health at all in HUD (bug #4648) 6 years ago
Marc Zinnschlag 7be9f2ca45 Merged pull request #1891 6 years ago
Andrei Kortunov bdd9eba2b8 Use C++ limits instead of C ones 6 years ago
Andrei Kortunov 276b7830a9 Mass potion creation (feature #4642) 6 years ago
Marc Zinnschlag 82d37dda20 Merged pull request #1927 6 years ago
Andrei Kortunov 6d0e6ab012 Use book font by default in the text formatter 6 years ago
Andrei Kortunov dda02bd696 Do not use book fonts for dialogue window 6 years ago
Andrei Kortunov 70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 6 years ago
Marc Zinnschlag 06b2a23e74 Merged pull request #1768 6 years ago
Bret Curtis 6035636e29
Merge pull request #1915 from akortunov/enterfix
Disable repeating for Accept GUI action
6 years ago
Marc Zinnschlag 252ed9bd4b Merged pull request #1914 6 years ago
Capostrophic 664c630ac0 Don't make sTo strings static references 6 years ago
Andrei Kortunov e300a16b24 Use field for columns count instead of out integer 6 years ago
Andrei Kortunov 7a986f38da Support for user-defined TrueType fonts 6 years ago
Andrei Kortunov c9c0230d2a Scale journal fonts separately from common ones 6 years ago
Andrei Kortunov f89393fd62 Validate 'ttf resolution' option value 6 years ago
Andrei Kortunov adbaeb7cca Improve GUI scaling (bug #3288) 6 years ago
Marc Zinnschlag 6100e34051 Merged pull request #1912 6 years ago
Andrei Kortunov 9918212a1e Set focus to Close button when opening the container window (bug #4333) 6 years ago
Andrei Kortunov c2c24a76a4 Handle MyGUI exceptions inside destructors 6 years ago
Andrei Kortunov 269ef7a559 Disable repeating for ENTER key in GUI 6 years ago
Andrei Kortunov 33a66b778f Disable repeating for Accept action in keyboard navigation (bug #4260) 6 years ago
Capostrophic 702868255a Use sTo GMST in spellmaking menu (feature #4636) 6 years ago
Marc Zinnschlag ef72024e2c Merged pull request #1902 6 years ago
Capostrophic b673cdf70e Grant Enchant experience even if recharging fails (bug #4622) 6 years ago
Capostrophic 7ef6fa9f61 Remove deprecated GMST get* functions 6 years ago
Marc Zinnschlag 21d414187f Merged pull request #1896 6 years ago
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.
6 years ago
Andrei Kortunov 8fa6c6f726 Update pinned windows in-game (bug #4560) 6 years ago
Sophie Kirschner a1e076a37e Merge branch 'master' into pineapple/fix-video-incomplete-type-2
Resolve merge issues related to CHANGELOG.md

* master:
  Optimize skinning (task #4605)
  Update changelog
  Update some comments
  Set the OpenAL source offset after setting the buffer
  Make Move and MoveWorld console commands move actors standing on moving object (bug #2274)
  Adding Changelog entry
  Allow messageboxes arguments to have newline characters (bug #3836)
  Check for impact immediately when launch a projectile (bug #3059)
  Fix gold count calculation in pickupObject (bug #4604)
  Correct special case soundgen comparisons
  Move "land" check earlier
  Fixes #3681
  Play landing sound manually and ignore land soundgen textkeys (bug #2256)
  Make some more optimizations to actor processing loops
  Fix freeze in getActorsSidingWith
  Addiong missing "to" word
  Adding common problems that were previous on the site FAQ
  Treat <> and << operators as < and  >< and >> as > in scripts
  stage1: priorities for event music and other minor improvements to the music system

# Conflicts:
#	CHANGELOG.md
6 years ago
Sophie Kirschner dd01c4d224 Fix: 'sizeof' to an incomplete type 'Video::VideoPlayer'
Alternate solution to same problem reported in https://github.com/OpenMW/openmw/pull/1888
6 years ago
Capostrophic 3f76f1d3ed Fix gold count calculation in pickupObject (bug #4604) 6 years ago
David Cernat 03832f933b [Client] Send only individual items in PlayerInventory packets
For a long time, whenever a PlayerInventory packet was sent, it contained all the items in the player's inventory, because that's how Koncord originally implemented it and I always had too many other priorities to go back and rework it.

From now on, clients only send PlayerInventory packet with the one item added or removed, with the single exception being trading with merchants, where the entire inventory is still sent for the time being.
6 years ago
David Cernat 45b011452e [Client] Combine methods for sending spell packets into a single one 6 years ago
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
6 years ago
Marc Zinnschlag 088463ebe6 Merged pull request #1868 6 years ago
Capostrophic 372697489b Fix Equip command infinite loop (bug #3072) 6 years ago
Andrei Kortunov 5a4d0cec3a Use new logging system for game itself 6 years ago
Andrei Kortunov 9dfd775bf2 Implement GetPCTraveling console command 6 years ago
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.
6 years ago
Marc Zinnschlag fe19d8ff35 Merged pull request #1857 7 years ago
Andrei Kortunov 6202b4eca9 Do not touch GUI modes when taking screenshots (bug #4528) 7 years ago
Capostrophic e9e9c0dd6b Fix guild guide fast travelling to exteriors time 7 years ago
Capostrophic bcd9cc4baa Check the actor cell instead of the destination cell in fast travel price logic 7 years ago
Marc Zinnschlag b75b5d139a Merged pull request #1845 7 years ago
Capostrophic 7087bad580 Use special behavior for all topics with reserved names (bug #4557) 7 years ago
Andrei Kortunov b0f2e00e7f Make forcegreeting a non-op for non-actor objects (bug #4553) 7 years ago
Marc Zinnschlag 452a706047 Merged pull request #1837 7 years ago
Andrei Kortunov eeffe2e557 Check if item model exists inside drag and drop functions 7 years ago
Marc Zinnschlag eb5f558f6f Merged pull request #1839 7 years ago
Capostrophic 3ac030d75a
Handle explicit calls before handling quotes 7 years ago
Capostrophic fa6c205e5d Make tab autocompletion work with explicit reference calls 7 years ago
Andrei Kortunov 12144de8ed Initialize missing variables 7 years ago
Andrei Kortunov c0bed0fde2 Handle case when index < 0 7 years ago
Andrei Kortunov a08048da4e Avoid dereference after null check 7 years ago
Capostrophic ab29f9e13f Add permanent barter disposition change option (feature #3103) 7 years ago
Andrei Kortunov 0f2c3ecb17 Rescale player avatar (bug #4539) 7 years ago
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.
7 years ago
Capostrophic 9c8e284ead Fix quick key activation delay code (regression #4536) 7 years ago
David Cernat d93b67ef21 [General] Sync soul refIds for items and add related script functions 7 years ago
Capostrophic cac2bc768e
Fix NPC "can't teach more" message (bug #4494) 7 years ago
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.
7 years ago
David Cernat 36ac2d9de4 [Client] Set packetOrigin for all ObjectList packets sent 7 years ago
David Cernat 63a86f145d [Client] Record type of each InterpreterContext for later checking 7 years ago
David Cernat 2189ea1a63 [Client] Clean up sending of Container packets 7 years ago
David Cernat 21d5bb4d4e
Merge pull request #460 from OpenMW/master
Add 0.7.0 commits up to 20 Jul 2018
7 years ago
David Cernat b6db570d9c [Client] Display uniqueIndexes in a less confusing way in console 7 years ago
Andrei Kortunov edd5769022 Show magic items count in spells window (feature #4509) 7 years ago
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
7 years ago
David Cernat 09da24f1ea [General] Rename all instances of refNumIndex into refNum
This creates symmetry with mpNum and should cause less confusion in the future.
7 years ago
Marc Zinnschlag ee759effce Merged pull request #1798 7 years ago
Andrei Kortunov c77c50e92b Make Equip console command to bypass most of restrictions (bug #4460) 7 years ago
David Cernat 4d4bced929 [Client] Allow singleplayer-only saves in main menu during multiplayer 7 years ago
terrabyte25 48296a7452
Update trainingwindow.cpp 7 years ago
David Cernat 6ff7fa525e [Client] Disable autosaving when waiting 7 years ago
Capostrophic bded697f07
Make Goodbye block using hyperlinks 7 years ago
David Cernat c2411982d2 [Client] Log object refNumIndexes and mpNums in a consistent way 7 years ago
David Cernat 7775780ad7 [Cllient] Update multiplayer code for handling quick keys 7 years ago
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
7 years ago
Thunderforge 7cbc4eeb49 Adding missing override keywords
Prevents compiler warnings such as this:

```
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:65:22: warning: 'onOpen' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void onOpen();
                     ^
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:38:22: note: overridden virtual function is here
        virtual void onOpen() {}
                     ^
```
7 years ago
Finbar Crago 5d9035c6b2 [Fixes #4482] Missing HandToHand on key quick key 0 (introduced in MR !11 for issue #4480)
because apparently i can't count to ten...
7 years ago
Finbar Crago 09c9bd34c3 cleanup more unnecessary struct keywords... 7 years ago
Finbar Crago 596be205c1 cleanup unnecessary struct keywords... 7 years ago
Finbar Crago 2722ca50fb fix QuickKeysMenu crash on reopening window after item drop + pickup [see: !11#note_85086570] 7 years ago
Finbar Crago ed71656ea6 fix updateActivatedQuickKey() crash
keyboard numbers don't start at zero...
7 years ago
Finbar Crago 24d5fb09da fix crash on simultaneous key presses 7 years ago
Finbar Crago 80a3f0a0d4 switch mSelectedIndex/mActivatedIndex int to mSelected/mActivated keyData pointers 7 years ago
Finbar Crago 335e2c5897 add keyData struct + general cleanup 7 years ago
David Cernat b81ca18316 [Client] Don't clear container Ptrs when disposing of corpses
The reason for this is that only the server should be determine whether a corpse can be disposed of or not.
7 years ago
Finbar Crago cac6d59140 Merge branch 'master' into fix_quickkey_segfalt 7 years ago
Finbar Crago 43c9fd4cec check MWWorld::Ptr != NULL for MWGui ItemPtr tooltips 7 years ago
Finbar Crago 186ec8c50f rm ContainerStore/refItem 7 years ago
Marc Zinnschlag 705b2dca0e Merged pull request #1777 7 years ago
Finbar Crago 46c6abcf54 add string vectors for name/id in QuickKeysMenu for item lookups 7 years ago
Andrei Kortunov 441463327c Validate map size 7 years ago
Capostrophic 35b0546737 Consider <p> tag when discarding post-EOL tag text (regression #4473) 7 years ago
Finbar Crago da4c55d5ad prevent segfalt in QuickKeysMenu when item has been removed from player inventory
added a MWWorld::ContainerStore to hold item copies which are then used to find
real items with findReplacement().

(storing the RefId could be a better solution but would probably leave tooltips broken...)
7 years ago
David Cernat fd05beef94 [Client] Don't delete disposed of corpses on client
Clients should instead await a server reply approving the deletion.
7 years ago
Miloslav Číž d629c30fdb
Merge branch 'master' into screenshot360 7 years ago
Andrei Kortunov 61c968d550 Ignore broken items when search for replacement (bug #4453) 7 years ago
Capostrophic 1c8a20a54a Set ok button focus in settings window by default (fixes #4368) 7 years ago
Bret Curtis 7310e3c8c2
Merge pull request #1748 from akortunov/bookfix
Do not show any book text after last <BR> tag
7 years ago
Andrei Kortunov 66a46ff03c Do not show any book text after last <BR> tag. 7 years ago
Capostrophic d43766d3c9 Make WakeUpPC interrupt waiting if it was supposed to be (fixes #3629) 7 years ago
David Cernat 2a3c74bfcc Merge pull request #447 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
7 years ago
Capostrophic 1a354f88ac Make choices trigger goodbye if Goodbye is used (fixes #3897) 7 years ago
Capostrophic 191cc76378 Consider faction ownerships in item stolen checks (fixes #4293) 7 years ago
David Cernat 669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
7 years ago
Andrei Kortunov 1abff5365b Capitalize enchanted items names again in spells window 7 years ago
Andrei Kortunov afae398b5c Use utf8 lowercase function for journal index to avoid code duplication 7 years ago
Andrei Kortunov b5374029e5 Implement case-insensitive search in spell window 7 years ago
Andrei Kortunov 9ac752ea70 Implement filtering in the spells window 7 years ago
David Cernat 031a80ed5a [Client] Don't advance time when waiting, traveling, training or jailed 7 years ago
David Cernat 1e749938fb
Merge pull request #426 from OpenMW/master
Add OpenMW commits up to 15 May 2018
7 years ago
Bret Curtis c75d774356
Merge pull request #1692 from akortunov/playsound
Prevent PlaySound overlapping
7 years ago
David Cernat 9b9dd4abaf
Merge pull request #425 from OpenMW/master
Add OpenMW commits up to 13 May 2018
7 years ago
David Cernat 78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 7 years ago
David Cernat 6bf3a0be1e [General] Rename WorldPackets into ObjectPackets for clarity 7 years ago
David Cernat 57b791ea2a [Client] Show selected object's refNum & mpNum in console window title
This allows for much easier debugging of all objects and actors.
7 years ago
David Cernat 32d71de2f5 Update MapWindow every frame, not just when it's open (bug #4279) 7 years ago
David Cernat 715012f087 [General] Implement sending of image data for map tiles in PlayerMap 7 years ago
Andrei Kortunov 4872edc5ed Prevent PlaySound overlapping 7 years ago
David Cernat 02eef933fd
Merge pull request #411 from OpenMW/master
Add OpenMW commits up to 19 Apr 2018
7 years ago
scrawl 5d1b40c5ea
Merge pull request #1678 7 years ago
David Cernat 57070b7f5c [Client] Disable automatic transition to other chargen menus from OpenMW
Previously, after finishing the TES3MP chargen once, mCreationStage was set to 4 in OpenMW, which in turn made it impossible to go through only specific chargen menus again as the result of the relevant TES3MP script function (tes3mp.SetCharGenStage(pid, startStage, endStage) in 0.6.3, player:setCharGenStages(startStage, endStage) in 0.7). In other words, trying to allow a player to just choose their class again made it so the player started at that menu and went through all the other subsequent menus as well, i.e. the player went through the class, birthsign and review menus.
7 years ago
Capostrophic 8617d0603b Display a message if a spell the player tries to use via a quick key is missing (fixes #4391) 7 years ago
David Cernat 9e5ddeac50
Merge pull request #408 from OpenMW/master
Add OpenMW commits up to 18 Apr 2018
7 years ago
tri4ng1e d310d36ea3
[Fix] Some PVS-Studio and cppcheck fixes 7 years ago
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.
7 years ago
David Cernat 17678ee60f
Merge pull request #407 from OpenMW/master
Add OpenMW commits up to 17 Apr 2018
7 years ago
Andrei Kortunov 174b3d2249 Reset an inventory filter after reload or a new game start (bug #4392) 7 years ago
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