Commit Graph

90 Commits (66d1e036d2a4431d3e9779205bc1df4d69aff8f8)

Author SHA1 Message Date
AnyOldName3 2ed584428c Add missing headers to components/CMakeLists.txt
Otherwise, they won't show up as part of the project in IDEs.
1 year ago
psi29a c86eecb2ea Merge branch 'movable_objects' into 'master'
Move objects instead of copying where possible

See merge request OpenMW/openmw!3289
1 year ago
Andrei Kortunov 35561450f1 Do not copy osg::ref_ptr when possible 1 year ago
elsid 798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 1 year ago
AnyOldName3 1bdcb5d6d9 Share the dump directory for crash and freeze dumps
This means the shared memory struct is just 255 bytes longer than a few
commits ago instead of 32K.

Also introduce a function for putting path strings in the shared memory
as there was too much copied and pasted code and it was error-prone.

Also free some handles once we're done with them so they don't leak.
2 years ago
AnyOldName3 48368f79b6 Update Windows crash dump path once we know where we're logging
Manual rewrite of 5102f4b11d
2 years ago
AnyOldName3 72d99237e3 This would never have happened had clang format not tried making this function wrogn in the first place 2 years ago
AnyOldName3 1bcbc4f53f Undo clang format change because clang format in CI disagrees with clang format on my computer 2 years ago
AnyOldName3 3bb3f58c73 Don't put crash dumps in Temp on Windows
Well... unless we fail to get the user profile directory.

Also put freeze dumps in a more appropriately-named file.

Discussed in https://gitlab.com/OpenMW/openmw/-/issues/7455

Manual rewrite of c21695c951

As well as that, I found a bug where the crash dump path was being converted from a std::filesystem::path to a utf8-encoded std::string, then passed to the crash catcher, which converted it to a std::filesystem::path implicitly, but using the system eight-bit code page, which wouldn't usually be UTF-8. That's now fixed by passing the function that expects a path a path instead of a string.
2 years ago
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2 years ago
Cody Glassman ac4787aeec shade refactor 2 years ago
elsid 627bed09ee
Remove redundant operator<< overloads from Log 2 years ago
Andrei Kortunov 8925f854e7 Fix non-ASCII path logging 2 years ago
elsid c44bc5ade5
Setup logging with properly initialized configuration manager
Default constructed instance may provide different paths from initialized one.
2 years ago
elsid 007ad4e4d1
Write crash log to temporary directory
To make sure current user has rights to do so.
2 years ago
AnyOldName3 77de37b1ed Revert "Merge branch 'fix_macos_build' into 'master'"
As well as fixing the MacOS build, it meddled with a bunch of files that
already did the right thing.

This reverts commit 8162541a14, reversing
changes made to e16c451d08.
2 years ago
elsid c324482338
Use separate header to define missing GL constants 2 years ago
elsid 063fff7fa4
Fix and prevent -Wextra-semi warning 2 years ago
clang-format-bot 88ec8a9523
Apply clang-format 2 years ago
Project579 5cf2a958eb Make conversions between std::chrono time_point and string safer by not using "localtime" directly. 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
florent.teppe 943198e325 Small changes 2 years ago
florent.teppe e811f7ed00 Simplified the data structures.
DebugCustomDraw owns the vector of drawcalls and the line geometry.
There are two DebugCustomDraw, so anything they own is double buffered.
Because DebugDrawer has a ref_ptr on the DebugCustomDraw, they live at least as long as DebugDrawer, making memory access from it safe.

removed redundent this
2 years ago
florent.teppe 565a08b95a crashfix on game exit 2 years ago
elsid 9f35f9b45b
Add missing include <array> 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
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 21971c08ba debug draw shader uses the generic functions
renamed files

roundabout way to change case with windows noticing

fixed type

fix filename in cmakelist.txt

ported shader and c++ code so glsl 120 can be used instead of 330

new debug shader and old one are almost unified

for some reason, even though I get no compilation issue, old debug draws don't work, only the new one implemented by this MR

remove useless const cast
2 years ago
florent.teppe bd1bbc0ab8 removes mutex, and uses double buffering to avoid writing on a resource that will be read by the draw thread
changes when the buffers are reset -> at the end of the draw, because that's when we are certain the data isn't needed anymore

removed useless variable
fixed typo
include osg::vec3 instead of osg vec3f

compile linux

compile ?

applied clang format to the new files
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
Project579 a60cebd0f9 Use std::u8string_view in debug logger overloads parameters. 2 years ago
Project579 5456ef1d50 Add new functions and overloads to support std::u8string and std::filesystem::path. 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 78ab009d5c Add required overloads to logger for handling unicode paths, also add conversion functions from std::filesystem::path to std::string without losing unicode data. 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 4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2 years ago
elsid d2ed62ec3a
Allow to disable crash catcher on Windows 3 years ago
Mads Buvik Sandvei b0e4c7e76a [Postprocessing] Stereo integration 3 years ago
ζeh Matt e185d186bf
Move Log implementation to cpp, remove expensive mutex include in hpp 3 years ago
ζeh Matt 14bf9af056
Move implementation details of debugging.hpp to cpp, reduce includes 3 years ago
AnyOldName3 e24a85419a Merge branch 'master' into 'master'
When building Win32 (VS 2019), there are problems in line 45.

See merge request OpenMW/openmw!1953
3 years ago
jvoisin 4e4debb1cb Remove even more of boost::filesystem 3 years ago
Petr Mikheev cf49b46d64 Show logs in the debug window
Some part of UI code is written by @andrew-app
3 years ago
ShadIK02 9649bfc4cb When building Win32 (VS 2019), there are problems in line 45.
This change solves the problem.

Special thanks to AnyOldName3 for the hint :)
3 years ago
elsid 0dcb1f5aac
Fix build on Windows
Use wrapper header over Windows.h to undefine far and near in a single place.
3 years ago
elsid e777e35414
Use system_clock for time in logs
high_resolution_clock may not give real time. MSVC implements it as
steady_clock that is basically CPU time which is usually desynchronized with
real time.
3 years ago
elsid 2d5ccc804b
Exchange binary messages between navmeshtool and launcher 3 years ago
Petr Mikheev dd5ba5c57b Redirect log only after parsing configuration 3 years ago
psi29a b6718ecb10 Merge branch 'log_lock' into 'master'
Acquire log lock only when logger should log

See merge request OpenMW/openmw!1363
3 years ago
elsid e0c4f08aa5
Remove redundant includes 3 years ago