1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-20 20:39:42 +00:00
openmw-tes3mp/apps/openmw/mwgui
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.
2018-07-30 10:56:26 +03:00
..
alchemywindow.cpp [General] Implement RecordDynamic packet, part 1 2018-07-30 10:56:26 +03:00
alchemywindow.hpp Include cleanup 2017-09-27 12:56:09 +00:00
backgroundimage.cpp Remove name extension for internal MyGUI textures 2015-05-15 23:21:29 +02:00
backgroundimage.hpp Add option to stretch menu backgrounds/cutscenes to the whole screen 2015-01-28 00:22:56 +01:00
birth.cpp Set default values for class and birthsign select menus (bug #4226) 2017-11-25 11:35:29 +04:00
birth.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
bookpage.cpp Fix memory leak 2018-03-13 21:32:59 +03:00
bookpage.hpp improve dialogue window performance 2017-07-26 18:58:27 +02:00
bookwindow.cpp Prevent PlaySound overlapping 2018-05-01 16:24:32 +04:00
bookwindow.hpp Improve keyboard navigation of book/scroll windows 2017-09-25 00:47:04 +02:00
charactercreation.cpp [Client] Disable automatic transition to other chargen menus from OpenMW 2018-04-19 13:47:42 +03:00
charactercreation.hpp Show starting abilities, powers and spells in stat-review window (Fixes #2410) 2016-11-19 21:51:19 +01:00
class.cpp Set default values for class and birthsign select menus (bug #4226) 2017-11-25 11:35:29 +04:00
class.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
companionitemmodel.cpp Include cleanup 2015-07-18 20:36:28 +02:00
companionitemmodel.hpp Remove NpcStats::mProfit and store it in the script instead 2015-01-31 22:40:40 +01:00
companionwindow.cpp Round up displayed encumbrance 2018-02-24 15:13:14 +03:00
companionwindow.hpp Include cleanup 2017-09-27 12:56:09 +00:00
confirmationdialog.cpp Remove unused and slightly broken custom button titles in ConfirmationDialog 2017-09-24 19:08:14 +02:00
confirmationdialog.hpp Remove unused and slightly broken custom button titles in ConfirmationDialog 2017-09-24 19:08:14 +02:00
console.cpp [Client] Record type of each InterpreterContext for later checking 2018-07-23 00:46:07 +03:00
console.hpp [Client] Use new code to set the console's Ptrs from server scripts 2017-12-26 15:04:28 +02:00
container.cpp [General] Sync soul refIds for items and add related script functions 2018-07-26 22:37:04 +03:00
container.hpp [General] Rework container sync to prevent item duping 2018-03-26 19:27:36 +03:00
containeritemmodel.cpp Merge pull request #1549 from akortunov/itemmodels 2017-11-11 22:12:07 +00:00
containeritemmodel.hpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
controllers.cpp fixing MSVC 2013 warning C4244: & C4305 2015-03-08 13:07:29 +13:00
controllers.hpp Reduce MyGUI includes 2015-01-10 02:50:43 +01:00
countdialog.cpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
countdialog.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
cursor.cpp OpenMW compiles and runs w/o render window 2015-04-01 17:02:15 +02:00
cursor.hpp Remove software cursor option, hw cursors seem to be working well enough 2013-11-20 06:20:16 +01:00
debugwindow.cpp Fix build against bullet with profiler disabled (Fixes #3592) 2016-10-14 21:00:35 +02:00
debugwindow.hpp Add debug window (F10), displays Bullet's profiler output 2014-09-28 18:02:49 +02:00
dialogue.cpp Make Goodbye block using hyperlinks 2018-07-06 19:38:36 +03:00
dialogue.hpp Update dialogue topics list after result script is run 2017-11-15 17:20:06 +00:00
draganddrop.cpp [General] Rework container sync to prevent item duping 2018-03-26 19:27:36 +03:00
draganddrop.hpp [General] Rework container sync to prevent item duping 2018-03-26 19:27:36 +03:00
enchantingdialog.cpp [General] Implement RecordDynamic packet, part 1 2018-07-30 10:56:26 +03:00
enchantingdialog.hpp Make Enter on a name edit accept the dialog 2017-09-25 00:47:07 +02:00
exposedwindow.cpp Fix headers including whole MyGUI.h, forward declare where appropriate, and fix some deprecated types (WidgetPtr) 2013-03-03 13:11:02 +01:00
exposedwindow.hpp Fix headers including whole MyGUI.h, forward declare where appropriate, and fix some deprecated types (WidgetPtr) 2013-03-03 13:11:02 +01:00
formatting.cpp Consider <p> tag when discarding post-EOL tag text (regression #4473) 2018-06-23 14:27:40 +03:00
formatting.hpp Reduce MyGUI includes 2015-01-10 02:50:43 +01:00
hud.cpp [Client] Set packetOrigin for all ObjectList packets sent 2018-07-23 01:39:43 +03:00
hud.hpp Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
inventoryitemmodel.cpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
inventoryitemmodel.hpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
inventorywindow.cpp [Client] Set packetOrigin for all ObjectList packets sent 2018-07-23 01:39:43 +03:00
inventorywindow.hpp Make Equip console command to bypass most of restrictions (bug #4460) 2018-07-11 00:06:21 +04:00
itemchargeview.cpp Explicitely set the user data type to avoid const/non-const mismatch 2017-03-13 02:48:23 +01:00
itemchargeview.hpp convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00
itemmodel.cpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
itemmodel.hpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
itemselection.cpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
itemselection.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
itemview.cpp Don't reset the item model's sort/filter options in updatePlayer (Fixes #2863) 2015-08-16 17:49:53 +02:00
itemview.hpp Merge branch 'master' of https://github.com/OpenMW/openmw into osg 2015-06-07 15:23:54 +02:00
itemwidget.cpp Don't use floating point arithmetics for formatted count (Bug #4346) 2018-03-07 15:36:10 +03:00
itemwidget.hpp ItemWidget: skip setImageTexture if the icon has not changed 2017-02-05 02:26:27 +01:00
jailscreen.cpp [Client] Don't advance time when waiting, traveling, training or jailed 2018-05-23 05:49:51 +03:00
jailscreen.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
journalbooks.cpp Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
journalbooks.hpp Remove getEncoding() from WindowManager 2017-11-22 08:32:38 +04:00
journalviewmodel.cpp Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
journalviewmodel.hpp Use utf8 lowercase function for journal index to avoid code duplication 2018-05-24 12:53:06 +04:00
journalwindow.cpp [Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
journalwindow.hpp Remove getEncoding() from WindowManager 2017-11-22 08:32:38 +04:00
keyboardnavigation.cpp Implement filtering in the spells window 2018-05-24 10:48:46 +04:00
keyboardnavigation.hpp Add an option to disable GUI keyboard navigation (Bug #4333) 2018-03-08 23:39:35 +00:00
layout.cpp Move OEngine::Gui::Layout to MWGui 2015-05-01 02:22:51 +02:00
layout.hpp Move OEngine::Gui::Layout to MWGui 2015-05-01 02:22:51 +02:00
levelupdialog.cpp Fix wrong skin for levelup attribute values 2017-09-27 22:04:36 +02:00
levelupdialog.hpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
loadingscreen.cpp Merge branch 'master' into screenshot360 2018-02-25 11:25:19 +01:00
loadingscreen.hpp use loading screen to freeze the screen 2017-11-16 22:08:33 +01:00
mainmenu.cpp [Client] Allow singleplayer-only saves in main menu during multiplayer 2018-07-09 22:53:18 +03:00
mainmenu.hpp Fix exiting savegamedialog with 'esc' when no game is running 2017-10-05 18:35:09 +02:00
mapwindow.cpp Merge pull request #456 from OpenMW/master while resolving conflicts 2018-07-04 01:52:29 +03:00
mapwindow.hpp [General] Implement sending of image data for map tiles in PlayerMap 2018-05-08 05:57:04 +03:00
merchantrepair.cpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
merchantrepair.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
messagebox.cpp Workaround to make sure message box remains on top (Fixes #4298) 2018-01-14 00:27:53 +00:00
messagebox.hpp Adding missing override keywords 2018-07-01 19:17:50 -05:00
mode.hpp Remove redundant RestBed gui mode 2017-09-24 19:08:14 +02:00
pickpocketitemmodel.cpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
pickpocketitemmodel.hpp remove redundant allowedToInsertItems() function from ItemModel 2017-11-11 11:58:22 +04:00
quickkeysmenu.cpp [Cllient] Update multiplayer code for handling quick keys 2018-07-04 05:56:10 +03:00
quickkeysmenu.hpp Merge pull request #456 from OpenMW/master while resolving conflicts 2018-07-04 01:52:29 +03:00
race.cpp Merge pull request #303 from OpenMW/master while resolving conflicts 2017-10-06 04:10:04 +03:00
race.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
recharge.cpp Include cleanup 2017-09-27 12:56:09 +00:00
recharge.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
referenceinterface.cpp Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
referenceinterface.hpp Remove redundant player cell variable 2017-09-24 19:08:13 +02:00
repair.cpp Include cleanup 2017-09-27 12:56:09 +00:00
repair.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
review.cpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
review.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
savegamedialog.cpp Fix unused event handler 2017-10-15 17:06:58 +02:00
savegamedialog.hpp Update the saves list/preview image when character selection changes to make it more convenient to flip through characters with the keyboard 2017-10-04 16:00:39 +00:00
screenfader.cpp Use MyGUI frame events for ScreenFader 2017-10-04 16:00:38 +00:00
screenfader.hpp Use MyGUI frame events for ScreenFader 2017-10-04 16:00:38 +00:00
scrollwindow.cpp Improve keyboard navigation of book/scroll windows 2017-09-25 00:47:04 +02:00
scrollwindow.hpp Improve keyboard navigation of book/scroll windows 2017-09-25 00:47:04 +02:00
settingswindow.cpp Merge pull request #456 from OpenMW/master while resolving conflicts 2018-07-04 01:52:29 +03:00
settingswindow.hpp Call onResChange for every window 2017-09-24 19:08:15 +02:00
sortfilteritemmodel.cpp Remove missing souls, remove some runaway exceptions (Fixes #4111) 2018-03-08 23:38:04 +00:00
sortfilteritemmodel.hpp Move onClose() check to item models 2017-11-10 10:58:43 +04:00
soulgemdialog.cpp Improve WindowManager API with a generic way of passing a Ptr to the opened GUI window 2017-09-24 19:08:12 +02:00
soulgemdialog.hpp Added soulgem dialog; made interactive message boxes not close the previous UI 2013-03-30 15:51:07 +01:00
spellbuyingwindow.cpp Merge pull request #303 from OpenMW/master while resolving conflicts 2017-10-06 04:10:04 +03:00
spellbuyingwindow.hpp Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
spellcreationdialog.cpp [General] Implement RecordDynamic packet, part 1 2018-07-30 10:56:26 +03:00
spellcreationdialog.hpp Make Enter on a name edit accept the dialog 2017-09-25 00:47:07 +02:00
spellicons.cpp durations in tooltips : use "show effect duration" setting 2015-09-16 22:42:54 +02:00
spellicons.hpp Silence -Wreorder warnings. 2015-04-28 18:48:02 -05:00
spellmodel.cpp Show magic items count in spells window (feature #4509) 2018-07-16 14:11:03 +04:00
spellmodel.hpp Show magic items count in spells window (feature #4509) 2018-07-16 14:11:03 +04:00
spellview.cpp Show magic items count in spells window (feature #4509) 2018-07-16 14:11:03 +04:00
spellview.hpp remove boost/tuple 2017-06-09 19:08:53 +02:00
spellwindow.cpp Merge pull request #440 from OpenMW/master 2018-05-27 16:10:16 +03:00
spellwindow.hpp Implement filtering in the spells window 2018-05-24 10:48:46 +04:00
statswindow.cpp Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
statswindow.hpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
textcolours.hpp improve dialogue window performance 2017-07-26 18:58:27 +02:00
textinput.cpp Rename WindowBase's open/close to onOpen/onClose 2017-09-24 19:08:12 +02:00
textinput.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
timeadvancer.cpp Add training progress bar, implement jail screen, tweak wait dialog (Fixes #1714) 2015-02-07 04:05:28 +01:00
timeadvancer.hpp Add training progress bar, implement jail screen, tweak wait dialog (Fixes #1714) 2015-02-07 04:05:28 +01:00
tooltips.cpp check MWWorld::Ptr != NULL for MWGui ItemPtr tooltips 2018-06-26 13:41:53 +10:00
tooltips.hpp Use owned tooltips for items in containers correctly 2017-10-04 12:13:45 +04:00
tradeitemmodel.cpp Use owned tooltips for items in containers correctly 2017-10-04 12:13:45 +04:00
tradeitemmodel.hpp Use owned tooltips for items in containers correctly 2017-10-04 12:13:45 +04:00
tradewindow.cpp Merge pull request #447 from OpenMW/master while resolving conflicts 2018-06-08 06:01:00 +03:00
tradewindow.hpp Make TradeWindow not depend on DialogueWindow 2017-09-25 18:07:49 +02:00
trainingwindow.cpp Merge pull request #457 from OpenMW/master while resolving conflicts 2018-07-14 03:57:05 +03:00
trainingwindow.hpp Allow training window exit() 2017-10-08 20:38:20 +00:00
travelwindow.cpp [Client] Don't advance time when waiting, traveling, training or jailed 2018-05-23 05:49:51 +03:00
travelwindow.hpp Refactor exitCurrentGuiMode 2017-09-24 19:08:13 +02:00
videowidget.cpp Change the way that image origin is converted to OpenGL's lower-left convention 2016-02-05 21:03:11 +01:00
videowidget.hpp convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis 2017-06-09 16:49:25 +02:00
waitdialog.cpp [Client] Disable autosaving when waiting 2018-07-08 23:04:30 +03:00
waitdialog.hpp Add missing WaitDialog::clear() (Fixes #4196) 2017-11-08 00:24:04 +00:00
widgets.cpp [Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
widgets.hpp [Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
windowbase.cpp Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
windowbase.hpp Adding missing override keywords 2018-07-01 19:17:50 -05:00
windowmanagerimp.cpp Merge pull request #457 from OpenMW/master while resolving conflicts 2018-07-14 03:57:05 +03:00
windowmanagerimp.hpp Merge pull request #457 from OpenMW/master while resolving conflicts 2018-07-14 03:57:05 +03:00
windowpinnablebase.cpp Use mouse pressed event for pin button instead of mouse click 2015-01-31 22:40:41 +01:00
windowpinnablebase.hpp Use mouse pressed event for pin button instead of mouse click 2015-01-31 22:40:41 +01:00