1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-03 17:54:06 +00:00

236 Commits

Author SHA1 Message Date
florent.teppe
65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2022-12-27 19:15:57 +01:00
fteppe
62d8fe3fc2 changed a few hardcoded refIds used in mutliple places to be defined only once in a variable 2022-12-27 19:15:55 +01:00
fteppe
125b21de20 Initial commit: In ESM structures, replace the string members that are RefIds to other records, to a new strong type
The strong type is actually just a string underneath, but this will help in the future to have a distinction so it's easier to search and replace when we use an integer ID

Slowly going through all the changes to make, still hundreds of errors

a lot of functions/structures use std::string or stringview to designate an ID. So it takes time

Continues slowly replacing ids. There are technically more and more compilation errors

I have good hope that there is a point where the amount of errors will dramatically go down as all the main functions use the ESM::RefId type

Continue moving forward, changes to the stores

slowly moving along

Starting to see the fruit of those changes.

still many many error, but more and more Irun into a situation where a function is sandwiched between two functions that use the RefId type.

More replacements. Things are starting to get easier

I can see more and more often the issue is that the function is awaiting a RefId, but is given a string
there is less need to go down functions and to fix a long list of them.

Still moving forward, and for the first time error count is going down!

Good pace, not sure about topics though, mId and mName are actually the same thing and are used interchangeably

Cells are back to using string for the name, haven't fixed everything yet. Many other changes

Under the bar of 400 compilation errors.

more good progress <100 compile errors!

More progress

Game settings store can use string for find, it was a bit absurd how every use of it required to create refId from string

some more progress on other fronts

Mostly game settings clean

one error opened a lot of other errors. Down to 18, but more will prbably appear

only link errors left??

Fixed link errors

OpenMW compiles, and launches, with some issues, but still!
2022-12-27 19:15:54 +01:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
florent.teppe
0dd529ab1d With the records include removed from store.hpp, need to include the relevant files accross the codebase.Lots of touched files, but very little done 2022-09-06 13:26:13 +02:00
Evil Eye
fcb820f1f7 Appease the evil spirits of C++ 2022-09-01 18:25:41 +02:00
psi29a
4ff7f8ddfb Merge branch 'string_viewing' into 'master'
Use string_view in yet more places

See merge request OpenMW/openmw!2348
2022-08-30 21:12:11 +00:00
Andrei Kortunov
3178868cc3 Improve built-in default fonts 2022-08-30 07:54:20 +00:00
Evil Eye
2222b47e3d Make Settings::Manager::getString return a reference 2022-08-28 16:38:11 +02:00
Evil Eye
d2a80cf112 Use unique_ptr in MWGui::DialogueWindow 2022-08-28 11:35:39 +02:00
Matt
54e114d83e Avoid string copies for ESM::Variant::getString 2022-03-06 17:38:58 +00:00
Alexei Dobrohotov
7a0c13fcf8 Make better use of std::clamp 2021-11-06 08:47:32 +03:00
Bo Svensson
ef906cbfa8
improves MWClass mapping (#3166)
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
jvoisin
1123dc46ee Add a ton of const refs 2021-06-23 23:13:59 +02:00
jvoisin
7deb6a6ffd Use const references when possible in for loops
No need for useless copies.
2021-05-15 19:50:01 +02:00
Andrei Kortunov
651ad11ad8 Do not leave variables without initialization, even in execution paths where they are unused 2021-04-19 16:08:10 +04:00
Alexei Dobrohotov
817ac4cfbd Don't regenerate the topics list unconditionally 2020-12-12 23:07:00 +03:00
Andrei Kortunov
6c591c190b Add support for service-specific refusals (feature #5580) 2020-10-20 18:58:26 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Frederic Chardon
12ee42c6f3 Update mLastTopic before executing scripts. In case the script contains ClearInfoActor it erase not the correct topic.
Other correction not linked with the bug:
- reset mActorKnownTopicsFlag at the same time as mActorKnownTopics
- don't call updateTopics in addResponse, it is already handled by the response
callback
2020-07-28 20:50:49 +00:00
fredzio
ae27ad6bcd Follow up to MR 126
Fill settings-default.cfg with default values as RGBA values are not intuitive for end users.
Add a boolean setting to enable the formatting (disabled by default).
2020-06-22 04:31:12 +02:00
psi29a
981184109e Merge branch 'formattopics' into 'master'
Change color of keywords in the dialogue window (#2159)

See merge request OpenMW/openmw!126
2020-06-21 07:58:02 +00:00
Capostrophic
45e6a03937 Only reset dialogue history of dialogue GUI mode is gone 2020-05-09 02:01:55 +03:00
fredzio
947f3cf13c Optionally change color of keywords in the dialogue window based on the
next answer:
- if the answer was already heard, apply "color topic exhaused" setting
- if the answer was never heard, and the current actor is specified in
the dialog, apply "color topic specific"
- otherwise, do nothing special
2020-05-02 01:42:05 +02:00
Capostrophic
fbcc8ef046 Reset dialogue history when the window can't track what closed it 2020-04-14 08:49:14 +03:00
Capostrophic
9dbdbbaea7 Only clear dialogue history if the dialogue window is closed (bug #5358) 2020-04-12 11:59:58 +03:00
Capostrophic
56539fee4f Partially revert "Get rid of redundant setKeyFocusWidget() method" 2019-06-09 02:12:44 +03:00
Andrei Kortunov
faf940546b Get rid of redundant setKeyFocusWidget() method 2019-05-17 19:09:40 +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
Phillip A
c4d5203e14 Fix MR !103 breaking of dialogue with actors with no greetings 2019-05-09 23:28:43 +00: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
5e071e3eb0 Add a missing check if mPtr is empty (bug #4715) 2018-11-13 10:32:23 +04:00
Andrei Kortunov
dda02bd696 Do not use book fonts for dialogue window 2018-09-17 19:56:36 +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
Marc Zinnschlag
b75b5d139a Merged pull request #1845 2018-08-05 12:28:38 +02:00
Capostrophic
7087bad580 Use special behavior for all topics with reserved names (bug #4557) 2018-08-05 12:39:53 +03:00
Andrei Kortunov
b0f2e00e7f Make forcegreeting a non-op for non-actor objects (bug #4553) 2018-08-05 09:31:45 +04:00
Capostrophic
bded697f07
Make Goodbye block using hyperlinks 2018-07-06 19:38:36 +03:00
Capostrophic
1a354f88ac Make choices trigger goodbye if Goodbye is used (fixes #3897) 2018-06-07 22:09:55 +03:00
scrawl
7c5d2a1ac4 Update dialogue topics list after result script is run
Regression from 0.42.
2017-11-15 17:20:06 +00:00
scrawl
e564dd842e Refactor dialogue responses to make sure messages from scripts are printer afterwards, not before the dialogue response (Fixes #4166)
Don't delete Link objects prematurely (Fixes #4171)
2017-10-23 23:33:06 +00:00
Andrei Kortunov
eaff7e30aa Fix a 'Good Beast' companion window 2017-10-21 16:56:21 +04:00
scrawl
433028e8d7 Fix GUI regressions 2017-10-03 22:07:56 +00:00
scrawl
097b9d90bc Fix travel service not showing 2017-09-30 15:40:47 +00:00
scrawl
14c9e858c8 Check to make sure button is enabled 2017-09-28 17:00:07 +00:00
scrawl
6ec66fa95f Restore keyfocus to goodbye when selecting a topic 2017-09-28 16:57:55 +00:00
scrawl
3d2ad2d339 Include cleanup 2017-09-27 12:56:09 +00:00
scrawl
7a64098da3 Avoid rebuilding the dialogue topics pane unnecessarily
Also retaining key focus.
2017-09-27 12:56:02 +00:00