Commit Graph

19685 Commits (65cdd489fb3dbc388ca5a9ba5d606fc2553463f7)

Author SHA1 Message Date
elsid c324482338
Use separate header to define missing GL constants 2 years ago
elsid 843753da14
Remove unused includes 2 years ago
jvoisin 3cbf1dc042 First pass with include-what-you-use 2 years ago
Evil Eye 60491cc896 Derive sneaking state from character data 2 years ago
Evil Eye 60c26832d2 Use class service flags for autocalc NPCs 2 years ago
Alexei Kotov 961fe59736 Nitpicking in CharacterController::update() 2 years ago
Petr Mikheev 3697c9266b Separate l10n manager from lua 2 years ago
psi29a 6630dbb9c2 Merge branch 'window_manager_profile' into 'master'
Profile window manager update

See merge request OpenMW/openmw!2458
2 years ago
elsid 2f5adbb083
Profile window manager update 2 years ago
elsid 212c7c7f25
Move LuaWorker to a separate file 2 years ago
elsid cd18c81e58
Move ScopedProfile to a separate file 2 years ago
elsid bb8b5e2108
Add META_Node to clang-format StatementMacros 2 years ago
elsid 063fff7fa4
Fix and prevent -Wextra-semi warning 2 years ago
elsid 624d8bc931
Support unsigned settings values 2 years ago
elsid da15db295e
Fix resetting player's animation on game loading
When game is loaded player's animation is replaced by a new object. Old object
is destructed without explicit removeFromScene call.
2 years ago
psi29a 6e71804048 Merge branch 'keying_in' into 'master'
Add key flag on load

Closes #7034

See merge request OpenMW/openmw!2444
2 years ago
Evil Eye e6592aa850 Add key flag on load 2 years ago
elsid 4de8ea30c8
Report used memory by Lua interpreter 2 years ago
elsid b92d80249e
Adjust initial distance when destination is changed for obstacle check
Changed destination may create a situation when the distance actor moved between
2 update calls is less than initial distance because destination has been changed.
This forces actor to take evasive action when there is no actual obstacle.
2 years ago
clang-format-bot 88ec8a9523
Apply clang-format 2 years ago
psi29a f7da42870e Merge branch 'count' into 'master'
Improve item count handling

See merge request OpenMW/openmw!2430
2 years ago
psi29a aed0ad6b83 Merge branch 'nifosg_tests' into 'master'
Add tests for NifOsg::Loader

See merge request OpenMW/openmw!2421
2 years ago
psi29a d05494bfb9 Merge branch 'falling_actors' into 'master'
Do not adjust position for falling actors (#7009)

Closes #7009

See merge request OpenMW/openmw!2416
2 years ago
psi29a f0e58ef872 Merge branch 'editor_fix' into 'master'
Fix topic infos creation

Closes #6686

See merge request OpenMW/openmw!2432
2 years ago
psi29a d38c072030 Merge branch 'recall_how_to_recall' into 'master'
Prevent recursive calls to ActiveSpells::update

Closes #7022

See merge request OpenMW/openmw!2426
2 years ago
Andrei Kortunov 3163d9ed56 Fix topic infos creation 2 years ago
Andrei Kortunov 7d23ad29e0 Make count input box larger to fit larger text 2 years ago
Andrei Kortunov dacb300dfb Improve item count handling 2 years ago
Project579 6fe89ff22b Fix dumb regression, initialize "std::filesystem::file_time_type" with "clock::now()". 2 years ago
Project579 5cf2a958eb Make conversions between std::chrono time_point and string safer by not using "localtime" directly. 2 years ago
elsid d2e1f18924
Add tests for NifOsg::Loader 2 years ago
elsid 4b760e8846
Do not add redundant nullptr parent
There are no failed tests after this, so this is not really needed.
2 years ago
elsid 83bb2195b0
Move init functions for Nif nodes to a separate file
This will be used in other tests.
2 years ago
elsid f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2 years ago
Evil Eye d3253cb636 Prevent recursive calls to ActiveSpells::update 2 years ago
elsid 1fc7bd7775
Do not consider falling actors as grounded 2 years ago
elsid 953954ff95
Do not adjust position for falling actors 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
psi29a 9a9c7fa7cf Merge branch 'std-filesystem-hotfix' into 'master'
Use std::filesystem for unit tests temporary files path.

See merge request OpenMW/openmw!2402
2 years ago
psi29a 525f81393a Merge branch 'physics_refactor' into 'master'
Small physics refactoring

See merge request OpenMW/openmw!2417
2 years ago
Project579 b82176410b Use std::filesystem for unit tests temporary files path. 2 years ago
Evil Eye 7cc55022a1 Implement sun damage based on the research on the wiki 2 years ago
elsid feb645d15f
Remove redundant Scene::updatePosition function 2 years ago
elsid aeb4611d6c
Mark MWPhysics::Actor constructor and assignment operators as deleted 2 years ago
elsid bceca33699
Do not lock mutex in MWPhysics::Actor constructor 2 years ago
elsid bd98404890
Initialize PtrHolder::mPtr and positions by its constructor 2 years ago
AnyOldName3 84f8a6848a Renormalise line endings
This should replace accidental CRLF with LF
2 years ago
elsid a0cfcc50a2
Fix dangling pointer access on clicking save in the main menu
getSignature() returns an object which means expression like:
className = it->getSignature().mPlayerClassName;
assigns a temporary object to className that does not outlive the statement.
Having className a string view such code leads to a dangling pointer.

Return a reference from getSignature to save on redundant copying.

Change getSignature implementation to make it visible that it finds a maximum
element.

Do not call getSignature multiple times when possible to avoid seaching for the
same max element multiple times.
2 years ago
psi29a d1c79fa8d1 Merge branch 'pre_clang_format_fixes_2' into 'master'
Fixes before applying clang-format 2

See merge request OpenMW/openmw!2401
2 years ago
elsid 9c291535bb
Dump NIFZ and KFFZ sub records by esmtool 2 years ago
elsid 410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line 2 years ago
elsid 51314db2f1
Remove AI_CNDT from AI package types
AI_CNDT is a label of subrecord containing cell name. It's not AI package type.
2 years ago
psi29a 20abe6dcf5 Merge branch 'esmtool_string_view' into 'master'
Use std::string_view for esmtool labels

See merge request OpenMW/openmw!2396
2 years ago
elsid 52b7b66e9f
Add comma to the last array element to prevent putting multiple elements on a single line 2 years ago
elsid 5b1d6917ef
Add comments to prevent line splitting on formatting 2 years ago
elsid 4698a4cd2d
Use raw string literals to format command usage messages 2 years ago
elsid f269406061
Do not wrap emit expresison with parenthesis
To avoid warnings like following after clang-format applied:

apps/launcher/utils/profilescombobox.cpp:85:9: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
    emit(signalProfileChanged(mOldProfile, currentText()));
        ^
apps/launcher/utils/profilescombobox.cpp:82:5: note: previous statement is here
    if (index == -1)
    ^
2 years ago
elsid 40e899f56d
Use std::string_view for esmtool labels 2 years ago
elsid 6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2 years ago
unrelentingtech 1c8fd2ecdb Implement system-scaled HiDPI support (SDL_WINDOW_ALLOW_HIGHDPI - Wayland, macOS, etc) 2 years ago
elsid a9826342b2
Print ESM4 EditorId and Model by esmtool dump 2 years ago
psi29a 80d52e3da8 Merge branch 'cursor' into 'master'
Support high-resolution cursor textures

Closes #6933

See merge request OpenMW/openmw!2262
2 years ago
psi29a 435eacdaad Merge branch 'debug_draw_commands' into 'master'
API to draw primitives

See merge request OpenMW/openmw!2345
2 years ago
Andrei Kortunov a2c02d2999 Support high-resolution cursor textures (feature 6933) 2 years ago
florent.teppe 43b0ae1ce7 all debug renders now use the same shader and it works
remove debug draw shader, now that debug and debugdraw serve the same function

remove debug draw code from actors to clean

replaced int uniforms with bool for better readability

clang format

cleanup, remove unused func, and mistake whitespace

fix namespace

added more colors

fixed missing whitespace
2 years ago
florent.teppe 2a980ecb50 cleaned some code and fixed some naming issues
Moved debug draw to components, fixed some whitespace issues, added include guard

fixed uniform name, removed old files

Fixes some more whitespace weirdness
2 years ago
florent.teppe 12b3424dd7 initial work to get lines in
lines need the same synchronisation system as the other primitives

This two points are there because if I resize to 0 it crashes, si I need a pice of line at 0.,0.,0. so there is no crash.Not ideal

Lines are colored

didn't commit updated shader file
2 years ago
florent.teppe 80c97e48bf made code more consistent between cube, cylinder and wirecube, should also fix a clang compilation error
remove include to non existing file

Actors code displays different ways to use debug draw

oups, forgot to remove parameter in function

fix include case sensitivity

Jopefully fixes all linux issues

moves some code pieces, and the debug draw now has a group node to have different types of objects to draw
2 years ago
florent.teppe 76008e1ff8 Multiple shapes to draw
adds wireCube primitive

scale of the command taken into account

shading light is more vertical
2 years ago
florent.teppe 93af569a68 can place a cube at 0,0,0 Useless for now
Arbitrarly draw cubes at certain position with a certain color

Adds exemple of how it looks in the actor update code.

draws a green cube if alive, red else
2 years ago
psi29a 29f3de30c2 Merge branch 'master' into 'cellstore_refactor'
# Conflicts:
#   apps/openmw/mwworld/scene.cpp
2 years ago
Project579 886b8c7af2 Fix build error with stdlibc++ due to includes shuffling. 2 years ago
Project579 9ceafe770d Hard fail on loading BSA with records using unicode paths. 2 years ago
Project579 1a79f098fa Use std::filesystem::create_directories instead of std::filesystem::create_directory to recursively generate directories from the provided path. 2 years ago
Project579 ca14fc00dc Added dedicated functions for conversions between QString and std::filesystem::path. 2 years ago
Project579 c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2 years ago
Project579 1fc197e404 Check std::getenv output before using it to construct a std::filesystem::path. 2 years ago
Project579 5456ef1d50 Add new functions and overloads to support std::u8string and std::filesystem::path. 2 years ago
Project579 796911e67d iniimporter: Work around some old MSVC compiler bugs. 2 years ago
Project579 199bf233e8 essimporter: Don't use "std::string" to store paths. 2 years ago
Project579 14a786bab0 iniimporter: Don't convert paths to "std::string". 2 years ago
Project579 4e428dee12 Update some settings that accept paths by "std::string" to accept them as "std::filesystem::path" instead. 2 years ago
Project579 928b131564 Implement std::filesystem::path conversion tests. 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 4d47e8d055 openmw-cs: model: world: data: Remove dead code. 2 years ago
Project579 864112b5db Fixed Windows build when using MSVC 14.26 and MacOS build. 2 years ago
Project579 6bf4c7a04f Upgraded "input-file" command line option to Files::MaybeQuotedPath from std::string to allow unicode characters on Windows. 2 years ago
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2 years ago
Project579 35fe214588 Updated components/misc/timeconvert.hpp to fix the Android build. 2 years ago
Project579 5446571aec Circumvent QT MOC bugs by including the filesystem header in a specific order. 2 years ago
Project579 cf0af87c80 Revert changes from "4c8e1ccf - Fixed windows build and updated tests to reflect changes of escape character from "&" to "\"" in "apps/openmw_test_suite/openmw/options.cpp" 2 years ago
Project579 e97eeca281 Attempt to work around QT MOC bugs caused by the filesystem header. 2 years ago
Project579 cd229a965b Fixed windows build and updated tests to reflect changes of escape character from "&" to "\" 2 years ago
Project579 4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2 years ago
florent.teppe 9a19bb84a4 fixed Clang and whitespace difference with master 2 years ago
florent.teppe 10de4a5156 created a relationship between the record type and the corresponding state
used in readReferences and writeReferences. Simplifies the calls to those functions
2 years ago
florent.teppe 256d8a699a moves one function from tuplemeta.hpp to newly created tuplehelpers.hpp 2 years ago
florent.teppe 73e3c0adf6 applies some review changes
fixed c style cast
fixed useless includes
fixed callback not last member
fixed situation where type==0 and therefore function call isn't necessary
2 years ago
psi29a 25fa8c3656 Merge branch 'rm_base_esm_reader' into 'master'
Remove ESM::Reader base class

See merge request OpenMW/openmw!2388
2 years ago
psi29a 525b904a44 Merge branch 'reflection-uniform' into 'master'
Added a uniform to indicate whether rendering is occurring in a reflection

See merge request OpenMW/openmw!2340
2 years ago
elsid ac1688f9c1
Remove ESM::Reader base class
This class does not serve any useful purpose now. It was added as a first step
in attempt to define common interface for ESM3 and ESM4 readers. But this is not
going to happen.
2 years ago
florent.teppe 158eea934d removed more code from the header
simplified forEachInternal function using tupleForEach
moved some function that were in CellStoreImp that didn't need to be
2 years ago
florent.teppe 65bd007baa simplified some big switch/case 2 years ago
psi29a 95f9f00bcc Merge branch 'navigator_rtree' into 'master'
Optimize updating navmesh from the main thread primarily on cell loading

See merge request OpenMW/openmw!2382
2 years ago
florent.teppe bcc004ecf5 Simplified read reference, by associating the types to the recNameInt using tuple + template + fold expresions magic 2 years ago
florent.teppe 0a5c863f27 fewer header includes 2 years ago
florent.teppe c7e88344d0 cellstore refactor first version, simply replaces each individual reflist by a tuple and makes the necessary related changes 2 years ago
psi29a 95ad1d91df Merge branch 'esmstore-round-2' into 'master'
More ESMStore cleanup

See merge request OpenMW/openmw!2383
2 years ago
ζeh Matt aa65df8872
Rename meta.hpp to tuplemeta.hpp 2 years ago
elsid 22ee592dd3
Lock TileCachedRecastMeshManager once per changing a cell
To save time on locking mutex and prevent AsyncNavMeshUpdater to use RecastMesh
for a tile in the middle of objects loading.
2 years ago
psi29a b9ff117dfe Merge branch 'reuse_actors_positions_buffer' into 'master'
Reuse physics actors positions buffer

See merge request OpenMW/openmw!2384
2 years ago
Andrei Kortunov 6ec9616ddd Localize the 'show effect duration' option 2 years ago
ζeh Matt c856095562
Use compile time generated indices for tuples types 2 years ago
elsid cdc9141e2f
Reuse physics actors positions buffer 2 years ago
ζeh Matt 8f7703d5c8
Rename HasMember to TupleHasType and move code into misc/meta.hpp 2 years ago
elsid d15e1dca84
Use R-tree for objects to be used for navmesh generation
Instead of storing a set of objects per tile.
2 years ago
psi29a 1859c6eded Merge branch 'pcvisionbonus' into 'master'
Implement PCVisionBonus functions

Closes #6983

See merge request OpenMW/openmw!2371
2 years ago
psi29a 1943486812 Merge branch 'savescreenshots' into 'master'
!2358 follow-up (bug #6661)

Closes #6661

See merge request OpenMW/openmw!2376
2 years ago
psi29a fcd9b78cac Merge branch 'REFACTOR_STORE' into 'master'
Refactoring the ESM store to better support many new ESM4 types

See merge request OpenMW/openmw!2161
2 years ago
florent.teppe 31a14952b7 no more getIdType, only setIdType 2 years ago
Alexei Kotov 81c78f5477 Keep savegame screenshots up-to-date 2 years ago
Alexei Kotov 0d3a1470c9 Fix double quote marks 2 years ago
psi29a 912a4d69ee Merge branch 'reuse_simulations_buffer' into 'master'
Reuse physics simulations buffer (#6588)

Closes #6588

See merge request OpenMW/openmw!2374
2 years ago
elsid 277211c5b4
Reuse physics simulations buffer
To avoid redundant allocations.

Use 2 buffers to make sure there is no overlap between main and the background
threads.
2 years ago
florent.teppe e961ac6f7c function doesn't need to return int 2 years ago
florent.teppe b1d5d604be various fixes
fixed naming convention
replaced std::string by string_view when possible
removed unused function and member varaible
replaced type::value by type_v
set default destructor in cpp
function getTypeIndex => getnextindex
2 years ago
elsid 180d609e0d
Check "wait until min distance to player" only for requiredTilesPresent wait condition
allJobsDone should wait even if "wait until min distance to player" is 0.
2 years ago
elsid 955db8f825
Call Navigator::setWorldspace once per changing cell 2 years ago
elsid 204ab6fea3
Use version instead of generation and revision for recast mesh 2 years ago
florent.teppe 7bc506ff86 linux copmile 2 years ago
florent.teppe 564c5d6690 fixed naming convention issue 2 years ago
florent.teppe e23d9c11a8 moved a bit of code back in the header to avoid many template specialization 2 years ago
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 2 years ago
Evil Eye 6117b10cfa Derive screen brightness from the blind modifier 2 years ago
Evil Eye 489c7a10b6 Implement PCVisionBonus functions 2 years ago
psi29a 8e7cee5861 Merge branch 'shut_it' into 'master'
Make the Sound magic effect make noise

Closes #6986

See merge request OpenMW/openmw!2369
2 years ago
florent.teppe 4bb9a4166d The tuple types declaration is back in the header, but there is no need for implementation details to be known for any of the types 2 years ago
Evil Eye 9484d8ce51 Make the Sound magic effect make noise 2 years ago
florent.teppe 57df51b4a6 fixed made by @ZehMatt in 6abb96250f and cdcf1393fc 2 years ago
florent.teppe 9092c32f2e fixed incompatibilities caused bu merge 2 years ago
florent.teppe 1ed22a298d fix compile 2 years ago
florent.teppe 7bd7105345 code cleanup 2 years ago
florent.teppe 33ea66b86d Type index type error fixed 2 years ago
florent.teppe 85a9edf2ee removes useless make_tuple, and changes type of typeIndex to size_t 2 years ago
florent.teppe 31330c9abc oups 2 years ago
florent.teppe cbb9b65286 linux compile 2 years ago
florent.teppe ee06cccbe1 gets rid of the macros, we use a tuple instead, with a mechanism to assign an index to each type.
so the tuple is only defined in the cpp, but we can still have template functions in the header that can ge tthe index with the type
2 years ago
florent.teppe 16482243fa rename StoreBase =>DynamicStore, and create new class Storebase
all stores inherit from base class StoreBase.Storebase is just an empty interface class
2 years ago
florent.teppe 0d84b32d46 Rename member to be clearer and more generic 2 years ago
florent.teppe 0d7bd19119 removes recname type, we use what is already included in ESM types 2 years ago