Commit Graph

70 Commits (0.7.1-build-fixes)

Author SHA1 Message Date
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 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 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 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 0339958e21 [General] Rename Log class into TimedLog 5 years ago
Capostrophic cbb22f0f63 Correct cast style behavior when there's no object (bug #5075) 6 years ago
Capostrophic 3f73766304 Make enchanting make more sense (bug #5038) 6 years ago
Capostrophic c03ed4cd50 Include cleanup 6 years ago
Capostrophic 09aecb955c getSkill usage cleanup (bug #4671) 6 years ago
Capostrophic 7ef6fa9f61 Remove deprecated GMST get* functions 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
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 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
scrawl 870c658500
Remove missing souls, remove some runaway exceptions (Fixes #4111) 7 years ago
Andrei Kortunov 46c8842808 Fixed enchant points calculations formula 8 years ago
Allofich ff3e307059 Pass parameters by const reference 8 years ago
Allofich b1be3596dc Cleanup of #include statements 9 years ago
dteviot 77a1d947cc extracted MWMechanics::getPlayer() 10 years ago
scrawl 8c810e3620 Move rng to components 10 years ago
dteviot 3f28634d1f consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.
10 years ago
dteviot ca8c8c6aa4 fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
10 years ago
Alexander "Ace" Olofsson df5a08b6de Move manualref code out of header 10 years ago
scrawl 4ed3e7bbb7 Enchanting code cleanup 10 years ago
scrawl cda2eea906 Enchanting: use fEnchantmentConstantDurationMult and fEffectCostMult 10 years ago
scrawl 13c5bd5cc2 Enchanting: fix skill-based cast cost bonus being applied twice 10 years ago
scrawl ef1b0a191b Revert "Enchanting: fix inverted self-enchant success chance"
It wasn't inverted to begin with. The author of this commit is an idiot.
10 years ago
scrawl 623783cd6a Enchanting: fix cast cost for "on use" enchantments being set incorrectly 10 years ago
scrawl ead6bf1601 Enchanting: cast the enchant points for the item to int (Fixes #2202) 10 years ago
scrawl 7e10818bdf Fix uninitialized flags for custom-made spells 10 years ago
scrawl 7252cb63a6 Fix cppcheck issues 10 years ago
scrawl 315b022d2d Add transfer gold from all services to NPC trade gold pool 11 years ago
scrawl 09607f992e Enchanting: fix inverted self-enchant success chance (Fixes #1701) 11 years ago
scrawl 039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
11 years ago
scrawl a05c8fd3ce Make applyEnchantment return the record ID instead of modifying Ptr 11 years ago
Emanuel Guevel 1e4a854433 Remove static method MWWorld::Class::get(&Ptr)
It was just adding a level of indirection to Ptr.getClass().
All the call were replaced by that instead. The number of lines changed
is important, but the change itself is trivial, so everything should be
fine. :)
11 years ago
scrawl 190512156d Use some more GMSTs for enchanting 11 years ago
scrawl d0500e8124 Some unneeded includes cleanup 11 years ago
scrawl 0f5dc59176 Remove useless dependencies on InventoryWindow for getting player gold. Don't use string literals for gold_001 id, just to be sure. 11 years ago
scrawl 098f9712f1 Add getPlayerPtr() utility method. Reduces dependencies a lot. 11 years ago
scrawl dde2cd5d5a Fix some code that still used setCount directly instead of using the ContainerStore interface. Also fix a related annoyance with the interface. 11 years ago
scrawl bab657fe2b Add a utility function to add items to a ContainerStore by RefID 11 years ago
scrawl 800a2845b0 Add Bound & Summon effects (will need some adjustments later) 11 years ago
scrawl 74e42a2d02 Add missing skill increases for Enchant skill 11 years ago
Emanuel Guevel aefa54d72d Pass item count to ManualRef constructor
This remove the need to call setCount in multiple places.
11 years ago
Emanuel Guevel 10abb9d297 Call ContainerStore::remove() to remove items from inventory
Make placeObject() and dropObjectOnGround() in MWWorld to copy objects
(and indicate it clearly).

Enchanting an item now unequips it.
11 years ago
Emanuel Guevel 48d2554ac3 Auto-equip when items are added to the inventory
We limit that to armor pieces and clothing items.
No auto-equiping for the player nor werewolves.
12 years ago
scrawl 7dc30a01cd Some changes suggested by cppcheck 12 years ago
Miroslav Puda dc17fa1636 Removal of duplicit enumeration and unnecessary conditions. 12 years ago
Miroslav Puda 7a4a386cbe Removal of tab characters. 12 years ago