jvoisin
9522a64e7d
Remove some useless includes from apps/openmw/mwgui
2021-05-15 22:15:46 +02:00
jvoisin
4c96644f8d
Use a char instead of a string in find() where possible
...
This was done via PVS Studio ( https://pvs-studio.com ),
and should provide a super-duper-marginal performance boost \o/
2021-04-25 19:57:09 +02:00
Andrei Kortunov
33b8233887
Validate GUI scaling and place it to the launcher
2021-04-15 15:18:32 +04:00
Andrei Kortunov
54daa234bd
Reset watched stats upon reload or new game start
2021-03-19 11:56:14 +04:00
AnyOldName3
ba74fbf30e
Fix MyGUI log
...
Also actually print an error to the regular log when the MyGUI log can't
be opened so we notice if we kill it again in under five years.
2021-03-15 22:35:13 +00:00
glassmancody.info
6255b0492b
Resolve crashes on exit with visible MyGUI widgets
2021-03-13 15:43:46 -08:00
Andrei Kortunov
482f04c836
Use correct mCursorActive flag initial value
2021-03-07 12:08:43 +04:00
elsid
8ab5fd9b40
Fix frame rate limit
...
Measure time at the computation end but before sleep. This allows to adjust
sleep interval for the next frame in case sleep is not precise due to syscall
overhead or too low timer resolution.
Remove old frame limiting mechanism.
2021-02-12 00:03:11 +01:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
Andrei Kortunov
db8f0ad6fd
Do not use outdated references when moving objects to new cells (bug #5387 )
2020-07-11 17:24:20 +04:00
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
...
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
Andrei Kortunov
27f1a3376c
Add a separate stats watcher for GUI
2020-07-01 15:55:44 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types
2020-06-25 22:16:09 +02:00
bzzt lost a hitlab login
0b4226f3e2
ico effieciency
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Andrei Kortunov
396afe79f1
Move font loading to the FontLoader
2020-05-28 23:18:31 +04:00
Andrei Kortunov
2ff04b4e73
Move TextColours initialization to the TextColours itself
2020-05-26 18:35:16 +04:00
Andrei Kortunov
dcfc4cc5dd
Rename onFrame() to update() to make WindowManager consistent with other managers
2020-05-26 18:35:16 +04:00
Andrei Kortunov
000e44a18e
Move data from WindowManager to CharacterCreation to simplify API
2020-05-26 18:35:13 +04:00
Andrei Kortunov
e827d9c04f
Disable physics profiler, if Bullet was compiled without profiling support
2020-05-15 12:48:41 +04:00
Andrei Kortunov
f990150c49
Move video wrapper to the WindowsManager
2020-05-09 11:27:02 +04:00
bzzt
dc33eeadf1
tightscenebound is uncessary after water bbfix
2020-04-27 08:42:46 +02:00
Bret Curtis
8a8107e837
as it says; revert vismask and uncomplicate openmw
2020-04-20 20:57:38 +02:00
Andrei Kortunov
e444766901
Use enums for blockers IDs instead of strings
2020-04-05 19:14:23 +04:00
Andrei Kortunov
2254256db9
Pause both audio and video playback when the game is minimized (feature #4944 )
2020-04-04 22:54:51 +04:00
Andrei Kortunov
3d6fd2818f
Support for per-type sound blockers
2020-04-04 22:54:51 +04:00
Andrei Kortunov
d222435774
Do not disable a mouse cursor until it moved every time when you exit a GUI mode
2020-04-02 22:39:00 +04:00
Andrei Kortunov
84979fa8b7
Move VisMask to components
2020-02-16 16:03:35 +04:00
elsid
b55f5ab648
Avoid virtual call in WindowManager ctor
...
/home/elsid/dev/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:244:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
loadUserFonts();
^
/home/elsid/dev/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:244:9: note: This constructor of an object of type 'WindowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:244:9: note: Call to virtual function during construction
2019-11-17 18:50:11 +01:00
Andrei Kortunov
c9deb1b325
Generate sCrimeMessageReport only once per frame (bug #5012 )
2019-09-05 20:16:03 +04:00
Capostrophic
56539fee4f
Partially revert "Get rid of redundant setKeyFocusWidget() method"
2019-06-09 02:12:44 +03:00
Andrei Kortunov
34fe896f4e
Merge pull request #2400 from Capostrophic/colorcode
...
Escape number signs in cell/region names (bug #5047 )
2019-06-02 08:06:40 +04:00
Andrei Kortunov
1ce370e7fa
Make console to do not hide other GUI windows (bug #1515 )
2019-05-29 17:10:57 +04:00
Capostrophic
9a19af5b33
Escape number signs in cell/region names (bug #5047 )
2019-05-28 23:02:30 +03:00
Andrei Kortunov
faf940546b
Get rid of redundant setKeyFocusWidget() method
2019-05-17 19:09:40 +04:00
Andrei Kortunov
675be20a0f
Get rid of redundant ControllerRepeatClick class
2019-05-17 10:49:00 +04:00
Andrei Kortunov
ac8fa54e6e
Get rid of redundant MWScroll class
2019-05-17 10:23:34 +04:00
Andrei Kortunov
a79955352f
Revert MR !103 and !105 since they cause issues with dialogue window
2019-05-14 14:22:54 +04:00
Alexei Dobrohotov
216f908a07
Merge pull request #2286 from akortunov/map
...
Do not re-render maps for all active cells during cell transitions
2019-05-11 02:30:38 +03:00
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.
2019-05-06 14:53:20 -05:00
Andrei Kortunov
c5ac580e74
Allow to maximize windows via Shift + Double Click (feature #3999 )
2019-05-01 20:15:11 +04:00
Andrei Kortunov
8e48493264
Make pinnable windows hiding persistent (feature #4994 )
2019-04-25 21:05:43 +04:00
Andrei Kortunov
31ddb0a482
Allow to calculate UI skin size based on texture resolution (feature #4968 )
2019-04-10 10:34:07 +04:00
bzzt
ed4ce4609b
Do not re-render maps for all active cells during cell transitions
2019-03-30 09:10:48 +04:00
Andrei Kortunov
a302ec9c65
Make fallback map static to simplify constructors
2019-03-29 15:30:49 +04:00
bzzt
c2176945bd
Do not use the delayed map cells update
2019-03-22 18:58:34 +04:00
Andrei Kortunov
8df8bd3f37
Use C++11-style loops in the GUI instead of iterators
2019-03-02 13:27:59 +04:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Capostrophic
c03ed4cd50
Include cleanup
2019-02-19 18:40:33 +03:00
Andrei Kortunov
71f1a53090
Improve tooltips cleanup (bug #4714 )
2018-11-13 10:00:12 +04:00
Andrei Kortunov
6e05853478
Center progress bar when there are active messageboxes (bug #4691 )
2018-10-28 14:40:48 +04:00
Capostrophic
19ce1abcdf
Fix selected weapon HUD durability percentage
2018-10-26 12:53:15 +03:00
Capostrophic
c3e8d536cd
Implement getNormalizedEnchantmentCharge() method and use it
2018-10-25 16:16:07 +03:00
Capostrophic
54bd7b2dcf
Implement getItemNormalizedHealth() method and use it
2018-10-25 15:45:31 +03:00
Capostrophic
67de61e1fb
Avoid item condition and charge zero divisions
2018-10-24 19:06:55 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
b3fd173e00
Check if current weapon has health at all in HUD (bug #4648 )
2018-09-22 06:51:56 +04:00
Marc Zinnschlag
06b2a23e74
Merged pull request #1768
2018-09-17 12:10:21 +02:00
Bret Curtis
6035636e29
Merge pull request #1915 from akortunov/enterfix
...
Disable repeating for Accept GUI action
2018-09-14 15:17:47 +02:00
Andrei Kortunov
7a986f38da
Support for user-defined TrueType fonts
2018-09-12 14:31:01 +04:00
Andrei Kortunov
c9c0230d2a
Scale journal fonts separately from common ones
2018-09-12 14:31:01 +04:00
Andrei Kortunov
f89393fd62
Validate 'ttf resolution' option value
2018-09-12 14:31:01 +04:00
Andrei Kortunov
adbaeb7cca
Improve GUI scaling (bug #3288 )
2018-09-12 14:31:01 +04:00
Andrei Kortunov
c2c24a76a4
Handle MyGUI exceptions inside destructors
2018-09-11 11:11:27 +04:00
Andrei Kortunov
269ef7a559
Disable repeating for ENTER key in GUI
2018-09-10 12:55:00 +04:00
Andrei Kortunov
33a66b778f
Disable repeating for Accept action in keyboard navigation (bug #4260 )
2018-09-09 23:10:09 +04:00
Capostrophic
7ef6fa9f61
Remove deprecated GMST get* functions
2018-08-29 18:38:12 +03:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Andrei Kortunov
a08048da4e
Avoid dereference after null check
2018-08-01 19:30:30 +04:00
Andrei Kortunov
c77c50e92b
Make Equip console command to bypass most of restrictions (bug #4460 )
2018-07-11 00:06:21 +04:00
Bret Curtis
c75d774356
Merge pull request #1692 from akortunov/playsound
...
Prevent PlaySound overlapping
2018-05-15 19:03:01 +02:00
David Cernat
32d71de2f5
Update MapWindow every frame, not just when it's open (bug #4279 )
2018-05-09 07:33:45 +03:00
Andrei Kortunov
4872edc5ed
Prevent PlaySound overlapping
2018-05-01 16:24:32 +04:00
scrawl
edb57306b6
Merge pull request #1628
2018-03-16 23:25:29 +00:00
Andrei Kortunov
e0aa5e8e79
Prevent overlapping for journal and books scrolling
2018-03-11 16:19:37 +04:00
scrawl
e81faf5f2f
Add an option to disable GUI keyboard navigation (Bug #4333 )
2018-03-08 23:39:35 +00:00
scrawl
2caaa48b91
Workaround to make sure message box remains on top ( Fixes #4298 )
2018-01-14 00:27:53 +00:00
Andrei Kortunov
3571f7f413
Remove getEncoding() from WindowManager
2017-11-22 08:32:38 +04:00
Andrei Kortunov
f0ca3eabd3
Merge from upstream master
2017-11-21 09:39:54 +04:00
Andrei Kortunov
a83a43e376
Determine when need to use the Cyrillic journal index
2017-11-21 09:32:35 +04:00
Miloslav Číž
ea2bbce68a
Fix memory leak in WindowManager
2017-11-18 19:27:09 +01:00
scrawl
2805781542
Fix a crash when exit() already hides the window ( Fixes #4148 )
2017-10-06 16:18:57 +00:00
scrawl
cd437f094d
Fix exiting savegamedialog with 'esc' when no game is running
2017-10-05 18:35:09 +02:00
scrawl
a4737d8417
Use MyGUI frame events for ScreenFader
2017-10-04 16:00:38 +00:00
scrawl
e4f0f7157a
Fix pinned windows not being updated
2017-10-04 16:00:37 +00:00
scrawl
49a0922f1b
Remove 'visibility mask' gui feature which did not end up being useful
2017-10-04 16:00:37 +00:00
scrawl
7c68ed04b2
Don't require modal windows to be removed in the same order they were added
2017-10-04 16:00:37 +00:00
scrawl
433028e8d7
Fix GUI regressions
2017-10-03 22:07:56 +00:00
Andrei Kortunov
34895157f9
Consider taking items from unconscious NPC as a theft
2017-09-30 20:22:26 +04:00
scrawl
db650df416
Fix 'blocking' messageboxes not handling key focus properly
2017-09-27 21:41:22 +02:00
scrawl
1714271a76
Improve KeyboardNavigation to better handle modal windows
...
It's no longer possible to cycle to widgets that aren't part of the current modal window.
The window manager will remember the focused widget of a modal window on a limited basis (it'll be discarded when a different modal window opens).
2017-09-27 12:55:58 +00:00
scrawl
475ac46f3e
Workaround keyfocus issues in current versions of MyGUI
2017-09-27 12:55:54 +00:00
scrawl
fce9a14986
Hide the mouse cursor until it's used
2017-09-27 12:55:48 +00:00
scrawl
9b91ea5d34
Exit drag-and-drop if dragged item is deleted ( Fixes #3097 )
2017-09-26 16:51:19 +02:00
scrawl
2ce79e07a4
Refactor dialogue GUI to talk to the dialogue manager, not the other way around and not both ways.
...
- Fix memory leaks in DialogueWindow
- Fix Link objects being deleted from their own event handler
2017-09-25 23:38:28 +02:00
scrawl
36c192a1dd
Undo the console portion of 84657271c7
because it results in the console forgetting its object on opening
2017-09-25 21:15:38 +02:00
scrawl
b7752ec52d
Make TradeWindow not depend on DialogueWindow
2017-09-25 18:07:49 +02:00
scrawl
d78e822833
Add 'delay' argument for screen fading operations
2017-09-25 00:47:10 +02:00
scrawl
94b538ac82
Fix crash due to not calling WindowModal::onClose()
2017-09-25 00:47:08 +02:00
scrawl
843106fc61
Handle the wait progress bar as part of the GUI mode
2017-09-25 00:47:06 +02:00
scrawl
9ed1b16553
Extend code that detects whether a key was consumed by the GUI ( Fixes #4016 )
2017-09-25 00:47:05 +02:00
scrawl
c0d8bef82f
Call changeInputMode() from updateVisible()
2017-09-24 19:08:16 +02:00
scrawl
222defc6d8
Extend HUD::clear()
2017-09-24 19:08:16 +02:00
scrawl
f6c227b966
Reset screen faders in clear()
...
Fixes a black screen when loading a game while waiting/resting.
2017-09-24 19:08:15 +02:00
scrawl
d10985e481
Remove unneeded window pointers
2017-09-24 19:08:15 +02:00
scrawl
f67dbc8aa0
Remove redundant update function
2017-09-24 19:08:15 +02:00
scrawl
e7d2a8a4dc
Call clear() for every window
2017-09-24 19:08:15 +02:00
scrawl
c6c01870ec
Call onResChange for every window
2017-09-24 19:08:15 +02:00
scrawl
2b03bc0c56
Call WindowBase::onFrame() for every active window
2017-09-24 19:08:15 +02:00
scrawl
ba7ae2663f
Use a generic container to delete windows
2017-09-24 19:08:15 +02:00
scrawl
32f9c8058a
Remove redundant RestBed gui mode
2017-09-24 19:08:14 +02:00
scrawl
9ead331741
Fix pinned windows showing in other GUI modes
2017-09-24 19:08:14 +02:00
scrawl
5f440a29bd
Remember key focus per GUI mode
...
Among other things, this will remember the focused button in the container window, allowing quick looting of multiple containers.
2017-09-24 19:08:14 +02:00
scrawl
ad4b91131f
toggleGui renamed to toggleHud, remove unused variable
2017-09-24 19:08:14 +02:00
scrawl
4fff2e2e34
Refactor exitCurrentGuiMode
2017-09-24 19:08:13 +02:00
scrawl
20766fb508
Associate open/close sounds with the GUI mode
2017-09-24 19:08:13 +02:00
scrawl
531e7ac586
Allow drag-and-drop to be cancelled (Esc or Inventory key)
2017-09-24 19:08:13 +02:00
scrawl
269094ba8d
Restore the previous key focus widget when exiting modal dialog
2017-09-24 19:08:13 +02:00
scrawl
84657271c7
Improve WindowManager API with a generic way of passing a Ptr to the opened GUI window
2017-09-24 19:08:12 +02:00
scrawl
3820416277
Refactor the unholy mess that is WindowManager::updateVisible
...
GUI modes are now defined in a general and extensible way. The next commits are going to take advantage of this.
2017-09-24 19:08:12 +02:00
scrawl
c11fe6788f
Add basic keyboard navigation for the GUI
...
(Shift)Tab cycles, arrow keys move to the next button in that direction, Enter/Space accepts.
Note: Unless MyGUI is hacked to bits, clicking on an empty space will annoyingly reset the key focus. Not sure how to deal with that yet.
The visual highlight for selected buttons requires MyGUI commit 632d007429d0bf0c7d7f6c5db4a08353a63dd839 or later to appear (to be released in 3.2.3).
2017-09-24 19:08:11 +02:00
Chris Robinson
780e82480d
Make the PlayMode and PlayType enums scoped
...
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
MiroslavR
1e585ac71a
Log a warning in case of missing bookart instead of showing a pink rectangle ( Fixes #3826 )
2017-09-08 22:50:07 +02:00
scrawl
8c6a8ca48d
Respect the framelimit in all cases ( Fixes #3531 )
...
Affects loading screen, videos & modal dialogs. Also skips rendering if window is minimized.
2017-08-30 21:26:30 +00:00
scrawl
dc53573de4
Merge pull request #1405 from akortunov/stancechangefixes
...
Do not allow player to change weapon/spell during attack or spellcast
2017-08-29 23:11:23 +00:00
Andrei Kortunov
fb45995a41
Do not allow player to change weapon/spell during attack or spellcasting (bug #2445 )
2017-08-29 15:53:23 +04:00
Andrei Kortunov
65d05ee1cd
Get only text from clipboard (bug #4025 )
2017-08-19 15:32:17 +04:00
scrawl
9ac409e61c
Merge pull request #1287 from akortunov/spellsorting
...
Spellbuying menu improvements
2017-07-31 09:43:47 +00:00
Andrei Kortunov
6ab36c0539
Spellbuying menu improvements
2017-07-27 13:20:18 +04:00
Julian
d7aa2a882d
improve dialogue window performance
2017-07-26 18:58:27 +02:00
scrawl
0e2e23e9f8
Remove tooltip object as part of WindowManager::clear
2017-07-20 20:59:09 +02:00
Andrei Kortunov
54b4d93f79
Added a special function for GUI sounds playing
2017-07-10 15:48:00 +04:00
Andrei Kortunov
f986e3fafa
Remove unused code
2017-04-21 18:39:01 +04:00
Andrei Kortunov
6c1e3a0618
Merged from upstream master
2017-04-21 08:48:22 +04:00
scrawl
1ffb9e1bf3
Remove renderWorldMap()
2017-04-21 00:50:22 +02:00
Andrei Kortunov
f0f1df3a96
Properly clear inventory
2017-04-19 20:54:09 +04:00
scrawl
30081393a6
Add InventoryWindow::clear() as part of world cleanup
2017-04-19 18:28:49 +02:00
Andrei Kortunov
c3d49d5ca5
Fixed inventory crash and skipmenu launch
2017-04-12 22:57:32 +04:00
Andrei Kortunov
95ce7637f3
Adds persisted pin (feature #2834 , bug #2489 )
2017-04-10 10:18:00 +04:00
Andrei Kortunov
eb81ab5b24
Disables weapon and spells cycling in GUI mode (bugs #2409 , #2483 , #2645 )
2017-03-15 17:07:25 +04:00
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
57b585570a
Preload magic effect visuals of the player's selected weapon/spell
2017-02-15 21:01:25 +01:00
scrawl
72c6b11cf8
Move global map render to the worker thread
2017-02-14 07:58:16 +01:00
MiroslavR
8f91732b09
Show starting abilities, powers and spells in stat-review window ( Fixes #2410 )
2016-11-19 21:51:19 +01:00
MiroslavR
e80636f0ca
Improve performance of repairing/recharging ( Fixes #2493 )
2016-11-06 11:01:46 +01:00
scrawl
dda5bfbc9f
CharacterPreview no longer depends on osgViewer
2016-08-16 22:47:45 +02:00
scrawl
8bfcf259a3
LocalMap no longer depends on osgViewer
2016-08-16 22:37:44 +02:00
scrawl
92c2a10de4
Fall back to 'warrior' for not found class images ( Fixes #3228 )
2016-03-24 16:52:16 +01:00
scrawl
60a12b3dee
Use MyGUI's castType function
2016-03-05 20:00:51 +01:00
scrawl
eaf3f5a829
Remove unused arguments
2016-02-13 04:14:05 +01:00
scrawl
9e53e12c70
More renaming of TextureManager -> ImageManager
2016-02-05 23:10:27 +01:00