Commit Graph

16106 Commits (533cd9cdec61626d13e46bbb558faeaf54a3c59a)

Author SHA1 Message Date
David Cernat 0d0c4ac235 [Client] Use REPLY_TO_REQUEST container sub-action for partial requests 7 years ago
David Cernat 04a2025340 Fix crash when adding items to certain disabled creatures (bug #4441) 7 years ago
David Cernat 83014d6381 [Client] Set actors as the owners of their items when editing containers 7 years ago
David Cernat bacecc93e3 [Server] Make it possible to resend a received ObjectList of any kind
Additionally, make existing related functions less confusing.
7 years ago
David Cernat 494edbe5cb [General] Add REPLY_TO_REQUEST container sub-action 7 years ago
David Cernat 8ea9485e6b [Client] Make container debug information more useful 7 years ago
David Cernat c20a0c72c5 Merge pull request #442 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
7 years ago
Marc Zinnschlag cd7268e9af Merge remote-tracking branch 'akortunov/effectResistFix' into openmw-44 7 years ago
Thunderforge d46590934a Importing mutex 7 years ago
Thunderforge e282ece3d1 Fixing bug with autocomplete not loading correctly during startup 7 years ago
Thunderforge 103a7ac628 Using a mutex lock to prevent race conditions 7 years ago
Capostrophic c14536a399 Update faction-owned items confiscation 7 years ago
Capostrophic 3810ade67a Don't make unnecessary faction ID searches 7 years ago
Capostrophic 191cc76378 Consider faction ownerships in item stolen checks (fixes #4293) 7 years ago
Thunderforge e26c675829 Changing join to detach so that the thread will not block the UI 7 years ago
elsid dba79f4d4d
Fix warnings: catching polymorphic type by value
openmw/apps/openmw/mwworld/worldimp.cpp: In member function ‘virtual bool MWWorld::World::findExteriorPosition(const string&, ESM::Position&)’:
openmw/apps/openmw/mwworld/worldimp.cpp:2650:25: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
             catch (std::invalid_argument)
                         ^~~~~~~~~~~~~~~~
openmw/apps/openmw/mwworld/worldimp.cpp:2654:25: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
             catch (std::out_of_range)
                         ^~~~~~~~~~~~

openmw/components/widgets/numericeditbox.cpp: In member function ‘void Gui::NumericEditBox::onEditTextChange(MyGUI::EditBox*)’:
openmw/components/widgets/numericeditbox.cpp:41:21: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
         catch (std::invalid_argument)
                     ^~~~~~~~~~~~~~~~
openmw/components/widgets/numericeditbox.cpp:45:21: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
         catch (std::out_of_range)
                     ^~~~~~~~~~~~
7 years ago
Andrei Kortunov be394870e4 Fix regressions in spell resistance 7 years ago
Andrei Kortunov 84c8fb9df7 Add pursue package only when crime was reported (bug #4433) 7 years ago
Andrei Kortunov 24863f620b RotateWorld: rotate around world axis (bug #4426) 7 years ago
Thunderforge 26dfef7970 Changing where we are loading cells to prevent Qt access issue 7 years ago
Thunderforge 78234e9468 Moving autocomplete code to thread 7 years ago
David Cernat 669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
7 years ago
David Cernat 3efe05a88e [General] Implement WorldCollisionOverride packet 7 years ago
David Cernat 5d30a884ba [Client] Add Worldstate to CMakeLists 7 years ago
David Cernat e8ec031a81 [Client] Create Worldstate class that inherits BaseWorldstate 7 years ago
Thunderforge c2fff61ccd Changing so that data changes happen only after the addon is checked 7 years ago
Capostrophic 7e38bb8513 Verifier: improve handling of class name and description 7 years ago
scrawl cfdf99f601
Revert "Merged pull request #1573"
This reverts commit 7324bd368f, reversing
changes made to 810e4416f6.
7 years ago
scrawl 99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
This reverts commit da47fc79f5, reversing
changes made to 7324bd368f.
7 years ago
Marc Zinnschlag b151a89528 Merged pull request #1568 7 years ago
Marc Zinnschlag bbc337a0af code cleanup 7 years ago
Marc Zinnschlag e76df5f4d3 minor tooltip fixes 7 years ago
Marc Zinnschlag e30ade81be Merged pull request #1680 7 years ago
David Cernat f7a084c824 [Client] Use faster check for whether actors are DedicatedPlayers 7 years ago
David Cernat c8ec77875c [Client] Update old comments for changes made by tes3mp 7 years ago
Marc Zinnschlag 832b4bb778 Merged pull request #1659 7 years ago
David Cernat 416ee77639 [General] Add placeholder for WorldCollisionOverride packet 7 years ago
David Cernat 2edb511a0b [Client] Remove unnecessary condition from WorldTime processor 7 years ago
David Cernat 49ea76aa9d [General] Add notes for InputDialogs in GUIBoxes packet 7 years ago
David Cernat 3b5fb9cd6b [General] Make it possible to set year via WorldTime 7 years ago
David Cernat 4acf93b7db [General] Make it possible to set days passed via WorldTime 7 years ago
David Cernat 74c2a0b311
Merge pull request #438 from OpenMW/master
Add OpenMW commits up to 24 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 46744ee90f [General] Make WorldTime script functions more consistent with others 7 years ago
Bret Curtis da47fc79f5
Merge pull request #1701 from akortunov/standfix
Do not apply queue movement for standing actors
7 years ago
Marc Zinnschlag 7324bd368f Merged pull request #1573 7 years ago
Marc Zinnschlag d92d754834 Merged pull request #1697 7 years ago
Marc Zinnschlag 1564a3f6aa Merged pull request #1713 7 years ago
Marc Zinnschlag 2f958881b7 Merged pull request #4413 7 years ago
David Cernat 8d36d0d945 [General] Make it possible to change world's time scale via WorldTime 7 years ago
David Cernat 0be6de6607 [General] Turn RecordDynamic into a Worldstate packet 7 years ago
David Cernat 031a80ed5a [Client] Don't advance time when waiting, traveling, training or jailed 7 years ago
David Cernat 02ba641bef [Server] Use correct index changes for dynamic stat script functions 7 years ago
Thunderforge d58cce9c72 Adding WIP code to dynamically change the autocomplete fields 7 years ago
David Cernat da66face25 [General] Rename GameTime packet into WorldTime 7 years ago
David Cernat 296c69d788
Merge pull request #436 from OpenMW/master
Add OpenMW commits up to 22 May 2018
7 years ago
Nelsson Huotari 825c331764 Remove texture filtering, better ltex importing, reindexing duplicates 7 years ago
declan-millar b8df4b7c5a Tidy in-code comment 7 years ago
declan-millar 844aef85f3 Replace spelling: soulgem -> soul gem in code comment 7 years ago
declan-millar 9ed4f33048 Replace spelling: soulgem -> soul gem 7 years ago
declan-millar 028b528c0b Get soul magnitude before checking the rebalance setting 7 years ago
declan-millar 9346a552fa Use Rebalance soulgem values option to set soulgem value 7 years ago
declan-millar 78e79d5775 Add advanced option to Rebalance soulgem values to the launcher 7 years ago
David Cernat 5af1150ab2 [General] Turn GameTime into a Worldstate packet 7 years ago
David Cernat e87e1dbb30 [General] Fix Worldstate packets by adding missing lines 7 years ago
David Cernat e690ff0e29
Merge pull request #432 from OpenMW/master
Add OpenMW commits up to 18 May 2018
7 years ago
Nelsson Huotari 8ae46519cf Fix missed worldspacehits, add linebreak to tooltip 7 years ago
Nelsson Huotari 21e8d08e69 Handle invalid texture id's 7 years ago
declan-millar 4b1247597e Use soulgem value rebalance formula from morrowind code patch 7 years ago
Capostrophic 867a5938ca Don't reset sneaking camera offset while in GUI (fixes #4420) 7 years ago
Marc Zinnschlag ec900ef4ad Merged pull request #1710) 7 years ago
Nelsson Huotari c2cddc91e4 Brush maximum size to a custom setting 7 years ago
David Cernat 43a944ddaf [General] Add and implement new Worldstate packet type 7 years ago
David Cernat e8b22a2e5e [Server] Use correct source group for ObjectProcessors 7 years ago
tri4ng1e f2613a74b1
Write settings before invoking openmw-iniimporter 7 years ago
tri4ng1e 7e03dd0f12
Read data paths from `data-local` section too 7 years ago
tri4ng1e 3b86f73ae7
Replace MwIniImporter::numberToString with std::to_string 7 years ago
Capostrophic 4e485dbd44 Rename Original Creature column to Parent Creature (fixes #2897) 7 years ago
David Cernat 049d0d9ba7 [General] Fix remaining references to world packets/events 7 years ago
David Cernat dc9a3bf73f
Merge pull request #429 from OpenMW/master
Add OpenMW commits up to 16 May 2018
7 years ago
Bret Curtis 67c381df4e
Merge pull request #1708 from akortunov/refidfix
fix GCC warnings
7 years ago
Andrei Kortunov a68de93308 Initialize srate variable in openal_output 7 years ago
Andrei Kortunov e5db5e2651 Fix 'maybe-uninitialized' warning in openal_output 7 years ago
Andrei Kortunov df459199dd Avoid left shift of negative value 7 years ago
Nelsson Huotari 17e01ca336 Setting "Scene Drops" rename "3D Scene Editing" 7 years ago
Nelsson Huotari 758ccac75a Show texture id + filename 7 years ago
Bret Curtis caf1760251
Merge pull request #1707 from akortunov/weaponreach
Display weapon reach on tooltips in feet
7 years ago
Andrei Kortunov 164e3d12fe Display weapon reach on tooltips in feet. 7 years ago
Bret Curtis e410c47660
Merge pull request #1706 from akortunov/refidfix
Fix compiler warning in getNestedData()
7 years ago
Andrei Kortunov 6a3ff5ed81 Fix compiler warning in getNestedData 7 years ago
David Cernat 2ac334664b [Server] Add deprecated alternatives for ObjectList functions
This will avoid server crashes in older scripts.
7 years ago
David Cernat 51698bed48 [Client] Rename WorldProcessor into ObjectProcessor 7 years ago
David Cernat 02d8e08c58 [Server] Rename WorldProcessor into ObjectProcessor 7 years ago
David Cernat 1e749938fb
Merge pull request #426 from OpenMW/master
Add OpenMW commits up to 15 May 2018
7 years ago
David Cernat bef36f77ca [Server] Create WorldstateFunctions and move GameTime functions there 7 years ago
Bret Curtis c75d774356
Merge pull request #1692 from akortunov/playsound
Prevent PlaySound overlapping
7 years ago
Andrei Kortunov f8655d2425 Use actor's physics position as a ray origin in tracer 7 years ago
David Cernat 9b9dd4abaf
Merge pull request #425 from OpenMW/master
Add OpenMW commits up to 13 May 2018
7 years ago
Capostrophic e32f38b939 Allow jumping when you're stuck on a slope (fixes #4221) 7 years ago
Capostrophic 409d466e42 Make 0/0 encumbrance 0% encumbrance 7 years ago
Capostrophic ba077e7291 Fix movement fatigue loss encumbrance calculation (fixes #4413) 7 years ago
Capostrophic 1c9fba9a8c Fix jumping encumbrance calculation 7 years ago
Marc Zinnschlag 0f22600a98 Merged pull request #1703 7 years ago
David Cernat d4f7936a76 [Server] Rename WorldFunctions into ObjectFunctions 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 5458e09c8a
Merge pull request #420 from OpenMW/master
Add OpenMW commits up to 11 May 2018
7 years ago
David Cernat 77389538e8 [General] Implement ActorAI packet, part 1
The server can now make actors become followers of players or other actors.
7 years ago
tri4ng1e 9126e844bf
Use data paths from config (bug #4412) 7 years ago
Marc Zinnschlag b7cce1a665 Merged pull request #1702 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
Nelsson Huotari 49ae5bc75c List initialization -> initialization in constructor 7 years ago
Nelsson Huotari 1c79d5311c Brush history menu 7 years ago
Nelsson Huotari d2cf764a46 Tooltips, fixes 7 years ago
Nelsson Huotari 62066f01bd clean-up 7 years ago
Nelsson Huotari d33c98c68d Revert unintended changes 7 years ago
Nelsson Huotari 5656745445 Select dragged texture-assets, add brush settings widget-type, fixes. 7 years ago
Nelsson Huotari baa707b5e3 User setting for selective cell editing or new land creation 7 years ago
Nelsson Huotari 24977fcc0f improve hit calculation accuracy for texture editing 7 years ago
Nelsson Huotari e8a9bff85c Drop textures to landtextures from assets (try-method) 7 years ago
Nelsson Huotari 7139889566 Brush button window opens at modebutton, slider 1-50, doxygen comments 7 years ago
Nelsson Huotari 20d1d8ac89 Fixed brush calculations, implement undostack macro when clicked. 7 years ago
Nelsson Huotari 5f3c8b2b99 c_str -> fromStdString, remove TextureBrushButton class 7 years ago
Nelsson Huotari cf7a0f715e Command macro for complete drag-editing operations. 7 years ago
Nelsson Huotari 9f742d5b1f Brush affects adjancent cells 7 years ago
Nelsson Huotari 1ca2710a2a Formatting, fixes 7 years ago
Nelsson Huotari 1c113eca9c 15 to landTextureSize-1 7 years ago
Nelsson Huotari 3327d6f7c4 Drag terrain painting, code cleanup 7 years ago
Nelsson Huotari a54a1b9940 Command system and undo 7 years ago
Nelsson Huotari cc415526b0 fix texture index +1, better icons 7 years ago
Nelsson Huotari 316d05bdc4 {} to () 7 years ago
Nelsson Huotari 4649d1258c Direct data terrain editing 7 years ago
Nelsson Huotari 4ae75d1d20 Terrain texture brush frame 7 years ago
David Cernat 12727b66ea [Server] Use consistent variable names in map tile script functions 7 years ago
David Cernat 7f00005f04 [Client] Fix GCC build
Based on 71040659ac39dc1236af654b5c3177d015e749e5
7 years ago
David Cernat 32d71de2f5 Update MapWindow every frame, not just when it's open (bug #4279) 7 years ago
Alf Henrik Sauge feeee50a88 Dropping a separate NPDTstruct12 object and instead use NPDTstruct52
NPDTstruct12 is now only used when loading and saving. Turning auto calc
on and off now no longer switches between to different set of values
7 years ago
tri4ng1e 103a07b744
Less cryptic abbreviations 7 years ago
Marc Zinnschlag 3197ebd8e7 Merged pull request #1694 7 years ago
David Cernat 715012f087 [General] Implement sending of image data for map tiles in PlayerMap 7 years ago
Andrei Kortunov 2f89080b36 Load default markers definitions in editor 7 years ago
Andrei Kortunov b15bed8e22 Avoid excessive loadSound calls 7 years ago
tri4ng1e 905cde10db
Smart-sorting in iniimporter (time + dependency) 7 years ago
Marc Zinnschlag 53b6ef6f8c minor code cleanup 7 years ago
Marc Zinnschlag e661e3cf74 Merged pull request #1677 7 years ago
Alf Henrik Sauge 9b971caddc CSVTools::ReportTable should now have case insensitive sorting 7 years ago
Andrei Kortunov 17222eb821 Get rid of unnecessary find 7 years ago
Bret Curtis c44f87afd1
Merge pull request #1699 from Capostrophic/editorwarnings
Editor verifier updates
7 years ago
Bret Curtis 0fc198be52
Merge pull request #1698 from Capostrophic/c++11
A bunch of C++11-related updates
7 years ago
Capostrophic 2502d53816
Object record verifier updates
Removed light 0 duration warning
Spelling fixes
7 years ago
Capostrophic 91b97a27ea
Remove empty class description warning 7 years ago
Capostrophic e22409c266
Fix sound range warning message 7 years ago
Andrei Kortunov 3636cf2015 Do not apply queue movement for standing actors 7 years ago
Capostrophic 3d3bef94cd
Use range-based for loop 7 years ago
Andrei Kortunov 1dd36329a3 Load default markers definitions (bug #4410) 7 years ago
Bret Curtis c219c89603
Merge pull request #1696 from Capostrophic/feature-2694
Rename "Model" column to "Model/Animation" (feature #2694)
7 years ago
Capostrophic 9ac9f94638
Rename "Model" column to "Model/Animation" (feature #2694) 7 years ago
David Cernat 980ddcb114 [Server] Add DoesFileExist() script function 7 years ago
Capostrophic 8be93b4a12
Initialize mandatoryIds vector C++11-way 7 years ago
Capostrophic 85b7aa4f09
Uncomment is_pod test in fixed string tests 7 years ago
Nelsson Huotari e4e225f4e7 Add topic, journal and related -info icons. 7 years ago
David Cernat 51fd937250 [Server] Remove hardcoded debug messages when using script callbacks 7 years ago
David Cernat df0f9b0f5e [Client] Require a certain Skill progress amount before sending packet 7 years ago
David Cernat 1b1e5e86d1 [Client] Avoid sending CellStates to server after initialization
Although b4e8560698 made players instantly able to see each other on minimalist servers that did not change their cells from the default, it created problems with the default CoreScripts where players need to be logged in before receipt of a CellStates packet from them is taken into account, with the result being that a player was recorded as having loaded their initial cells on the server's C++ side but not on the Lua side.

It may simply be best to expect servers to set player cells.
7 years ago
Andrei Kortunov 4872edc5ed Prevent PlaySound overlapping 7 years ago
Andrei Kortunov 22fb1f3403 Play spellcasting effects from objects 7 years ago
David Cernat 099f85be0a [General] Implement PlayerMomentum packet & associated script functions 7 years ago
David Cernat 273179fd5a
Merge pull request #414 from OpenMW/master
Add OpenMW commits up to 29 Apr 2018
7 years ago
David Cernat 4b501a39f4 [General] Implement DoorDestination packet & associated script functions 7 years ago
David Cernat d47b06fe7a [Server] Prevent SetGameMode() and SetHostname() from crashing server
Previously, turning off communication with the MasterServer from the server config and then attempting to use SetGameMode() or SetHostname() led to a server crash.
7 years ago
scrawl b995584ad2
Merge pull request #1688 7 years ago
David Cernat 3b07dc4b42 [Client] Send equipment packets whenever an item charge or count changes
Since the beginnings of TES3MP, equipment packets have only been sent whenever an item has been replaced by an item with a different refId, with changes in an item's charge or count not sending a packet (but being included in the next packet sent as a result of a refId change). The reason for this was ostensibly the fact that every single equipment packet always included the details for all 19 equipment items (as per Koncord's original design decision), which would have led to massive packet spam if such a packet was sent every time you shot an arrow or lost a little bit of your armor's condition.

With minimalist equipment packets, it is now viable to send equipment packets whenever any item changes in some way, by having the equipment packet contain only that one item.
7 years ago
David Cernat 399e049d87 [Client] Fix logic for minimal size packets in LocalPlayer
Previously, the index changes were not cleared at the start of their corresponding update functions, which in turn meant that an Attribute/Skill/StatsDynamic/Equipment packet received by a player from the server made that player send back the same packet, as the index changes from it were retained.

Additionally, exchangeFullInfo was not set to false, thus sometimes leading to constant full exchanges of information.
7 years ago
David Cernat 66d5109509 [General] Fix information exchange for players sharing a cell
Previously, two players entering the same cell only sent and received their latest changes for dynamic stats, attributes, skills and equipment when they started sharing that cell.
7 years ago
David Cernat 7db74509e0 Merge pull request #412 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwscript/transformationextensions.cpp
7 years ago
Capostrophic 6b47f72959
Set character preview scene ambient to 0, 0, 0 7 years ago
scrawl bdf1070852
Merge pull request #1688 7 years ago
scrawl f0507e6b46
Merge pull request #1686 7 years ago
Capostrophic bfcdf660f2 Utilize inventory character preview lighting rotation fallback settings 7 years ago
Capostrophic 9073e4d4ba Initialize playlist file list in playPlaylist (fixes #4134) 7 years ago
Capostrophic b69e812a52 Utilize inventory character preview lighting color fallback settings 7 years ago
scrawl d8d26f1de8
Merge pull request #1685 7 years ago
scrawl ec4e2f0064
Merge pull request #1684 7 years ago
David Cernat 608dcbafe6 [Client] Fix skill updates for LocalPlayer partially broken by 78441c769a 7 years ago
Evgeny Kurnevsky c025b8f8f3
Remove useless comparison. 7 years ago
David Cernat 02eef933fd
Merge pull request #411 from OpenMW/master
Add OpenMW commits up to 19 Apr 2018
7 years ago
David Cernat a541d7df3c [General] Rework PlayerStatsDynamic packets so they are of minimal size
(cherry picked from commit fc5e883160)
7 years ago
David Cernat b9520c11da [General] Rework PlayerEquipment packets so they are of minimal size
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.

(cherry picked from commit d1ad0c91f8)
7 years ago
Capostrophic 37dc3200d1 Inherit the calling object scale in PlaceAt (fixes #4308) 7 years ago
David Cernat c5b08d6109 [General] Simplify storing of attribute and skill index changes
(cherry picked from commit bd9e8bd10f)
7 years ago
David Cernat 2c77d5f498 [General] Set enforcedLogLevel to -1 when initializing BasePlayer 7 years ago
David Cernat 7b702bf8c2 [General] Add and use utility function for int value checks in vectors
(cherry picked from commit a796f81444)
7 years ago
David Cernat b6099024df [General] Rework PlayerAttribute packets so they are of minimal size
Previously, whenever a single attribute value changed for a player, that player then sent a PlayerAttribute packet with all values for all 8 attributes.

This did not cause anywhere as much packet spam as PlayerSkill used to, but there was no good reason not to fix it as well.

(cherry picked from commit b0965f094a)
7 years ago
David Cernat 78441c769a [General] Rework PlayerSkill packets so they are of minimal size
Previously, whenever a single skill value changed for a player, that player then sent a PlayerSkill packet with all values for all 27 skills, plus the player's progress towards the next level and the bonuses to each attribute on the next level up as the result of sklll increases thus far.

This commit makes PlayerSkill contain only the values of specific skills, moves the player's progress towards the next level to PlayerLevel packets, and moves the bonuses to each attribute on the next level up to PlayerAttribute packets.

Players now also send a PlayerSkill packet whenever their progress towards a new point in a skill changes. This was previously avoided so as to not have massive packet spam.

(cherry picked from commit ef79a98544)
7 years ago
scrawl 5d1b40c5ea
Merge pull request #1678 7 years ago
David Cernat af4fcb7261 [Client] Don't force skill update on cell change
Previously, an attempt by the server to simultaneously change a player's cell and skills (as you'd expect when a player file is loaded) led to:

1) The server sending the cell packet first and the skill packet afterwards

2) The player receiving the cell packet and sending their own skill packet as part of the client's forced skill update

3) The player receiving the skill packet from the server

4) The server receiving the skill packet from the player

The result was that, if the player then left the server without sending another skill packet, the server's memory retained the skills the player had sent instead of the skills it had sent to the player.

This is the first step in a solution to that situation and similar ones.

(cherry picked from commit cac4684986)

Note: In 0.6.x, this was only a problem if a player's cell was set by the server first and their skills were set next, i.e. this was not a problem in the default CoreScripts because the opposite order used there masked the problem. It was a more significant problem in 0.7 because all packets were queued for a player and sent in a specific hardcoded order.
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
David Cernat 28f1c1b0d3 [General] Rework CharGen slightly for clarity purposes
Previously, charGenStage.end was doing double duty as both the variable indicating the number of CharGen stages and – when set to 0 – the variable indicating that CharGen was over. The latter role is now filled by a new boolean.

(cherry picked from commit 926106cf8c)
7 years ago
David Cernat 9d46de88e0 [Client] Send cell states correctly after inputting name
Previously, initial cell states were sent in LocalPlayer::processCharGen() and were ignored by the server because the player was not yet regarded as loaded. The result was that existing players logging in could not see each other until they went through at least one cell change.

(cherry picked from commit b4e8560698)

# Conflicts:
#	apps/openmw/mwmp/LocalPlayer.cpp
7 years ago
David Cernat 306252ecdc [Server] Fix confusing script function names 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 311f770de7 [Server] Document script functions, part 4
Additionally, clean up some variable names.
7 years ago
David Cernat 76e7392a84 [Server] Create ShapeshiftFunctions and move relevant functions there 7 years ago
David Cernat 2bb7a4253e [Server] Forcibly kick players after too many handshake attempts 7 years ago
Andreas Sturmlechner 2c9d46a60b
Fix build with Qt 5.11_beta3 (dropping qt5_use_modules) 7 years ago
David Cernat 17678ee60f
Merge pull request #407 from OpenMW/master
Add OpenMW commits up to 17 Apr 2018
7 years ago
David Cernat 50fe54af5d [Client] Update DedicatedPlayer creature if displayCreatureName changes 7 years ago
David Cernat 36e0f0471a [Server] Add SetCreatureNameDisplayState script function 7 years ago
Nelsson Huotari af558e07a3 implement +6 icons 7 years ago
Nelsson Huotari 69aacdff17 Lamoot's new icon set 7 years ago
David Cernat db41704e52 [Server] Use clearer function name for checking creature name display 7 years ago
David Cernat a01fc577f1 [Client] Add setAttributes() and setSkills() methods to DedicatedPlayer 7 years ago
David Cernat 716809f2db [Client] Prevent errors from NPC-only packets for DedicatedPlayers 7 years ago
David Cernat 68ee64902d [Client] Track & use previous race & creatureRefId for DedicatedPlayers 7 years ago
David Cernat acb1335d78 [Client] Make creature disguises update correctly 7 years ago
David Cernat 70f9cb535e [General] Use RecordHelper methods to create and update DedicatedPlayers 7 years ago
Andrei Kortunov 174b3d2249 Reset an inventory filter after reload or a new game start (bug #4392) 7 years ago
David Cernat 49e94725aa [Client] Prevent MechanicsManager::playerLoaded() from enabling AI 7 years ago
David Cernat 9d27f5f154 [Client] Create RecordHelper class with initial NPC and creature methods 7 years ago
David Cernat 9697595857 [Client] Don't equip already equipped items in local setEquipment()
This avoids the following error when receiving repeated PlayerBaseInfo packets: "Error in frame: Invalid slot, make sure you are not calling RefData::setCount for a container object"

Additionally, only re-equip items as the result of a PlayerBaseInfo packet if resetStats is true (because of its side effect of auto-equipping items for the player).
7 years ago
David Cernat 72463cfdb6 [Client] Refresh equipment for DedicatedPlayers when setting base info
Additionally, move default fatigue value to DedicatedPlayer initialization.
7 years ago
David Cernat fa652964fd
Merge pull request #403 from OpenMW/master
Add OpenMW commits up to 9 Apr 2018
7 years ago
Capostrophic d9acd19dc0
Merge branch 'master' into illusion 7 years ago
scrawl 0982d2175a
Merge pull request #1473 7 years ago
scrawl 92d0fb2981
Merge pull request #1667 7 years ago
scrawl 35300c04cd
Merge pull request #1671 7 years ago
scrawl 308551ad49
Merge pull request #1644 7 years ago
scrawl cbddb4a0a9
Merge pull request #1638 7 years ago
David Cernat bdc9132e7c [General] Add SetResetStats server script function
Add reading and writing of resetStats variable to PlayerBaseInfo Packet

Fix typos in various server script function descriptions
7 years ago
David Cernat 73dea494c4 [General] Allow changes from PlayerBaseInfo without player stat reset 7 years ago
Capostrophic cddc0914c8 Option to charge for all companions travelling (fixes #4064) 7 years ago
David Cernat 34893ff631 [Server] Split up handshake handling into multiple functions for debug
Unfortunately, the handshake attempt limit implemented in 4ebfcc4a21 for 0.7 and then ported over to 0.6 in a3a341fee6 does not appear to work properly, which is why gathering more information on it is important.
7 years ago
David Cernat c132dc70d2 [Client] Make PlayerShapeshift turn DedicatedPlayers into creatures 7 years ago
David Cernat 141eb8b7c2 [Client] Streamline creation of references for DedicatedPlayers
Additionally, delete DedicatedPlayers who disconnect.

Previously, all disconnected DedicatedPlayers were still kept in memory, but never used again. There was code that suggested they were meant to be reused upon reconnecting, but that reuse had never actually been implemented, and would probably not be that useful anyway.
7 years ago
David Cernat 14f90e773d [Client] Split up creation of DedicatedPlayers into multiple methods
Additionally, print player guids using their string representations for consistency.

The creation and updating of DedicatedPlayer references remains very inelegant, but this commit is the first step towards fixing that.
7 years ago
Thunderforge fb27f34a32 Add autocomplete to the "Start default character at" field 7 years ago
Capostrophic 77467f17c9
Fix a typo 7 years ago
David Cernat c8abd11f5d [General] Move creature disguises for players to PlayerShapeshift packet
Additionally, make associated variables clearer, and move associated server script functions next to other shapeshifting functions.
7 years ago
David Cernat 34be9383e5 [General] Add isPlayer boolean to targets in packets 7 years ago
David Cernat 0eed05610b [Client] Fix autoequipping for creatures in WorldEvent::editContainers() 7 years ago
David Cernat a86c68c5a1 [General] Add sync for ranged weapon & projectile strike enchantments 7 years ago
David Cernat 3f8d94b030 [General] Synchronize strike enchantments in combat 7 years ago
Andrei Kortunov 27c831959e Handle OnPCHitMe variable (bug #2703) 7 years ago
David Cernat 76468dc8c6 [Server] Remove remnant of hardcoded container sync 7 years ago