1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 20:29:57 +00:00
Commit graph

563 commits

Author SHA1 Message Date
elsid
9f808fbe3a
Move findPath-like navigator functions into a separate header 2021-11-06 00:34:06 +01:00
Petr Mikheev
9adc190209 Redesign LuaUtil::ScriptsContainer to work with ScriptsConfiguration 2021-10-26 21:32:48 +02:00
Fanael Linithien
07d505563e Remove non-existent file from CMakeLists 2021-10-23 01:38:32 +02:00
elsid
e5413c0664
Add functions to compress/decompress vector of bytes 2021-10-18 20:46:22 +02:00
AnyOldName3
9be606a40d Finish removing old Escape classes 2021-10-17 23:40:34 +01:00
elsid
046b5f83ee
Add ESM data loader
A component to load ESM content files with limited support for record types and
selection which of them to load. Supported record types are:
ACTI, CELL, CONT, DOOR, GMST, LAND, STAT.
2021-10-17 19:55:29 +02:00
elsid
c88367b6a6
Add sqlite3 helpers 2021-10-16 17:43:08 +02:00
AnyOldName3
1b83b08d80 Merge remote-tracking branch 'upstream/master' into detain-hash
Tests which no longer work are commented out.
Some of these don't work because they're effectively testing for the
presence of bugs in the old implementation.
Others don't work because we're no longer accidentally disabling the
boost::program_options feature where it generates an error if only part
of a token gets consumed.
These will be fixed by later commits.
2021-10-10 23:50:50 +01:00
AnyOldName3
e382f71aea Add implementation of config file parser lifted from Boost 2021-10-07 00:39:23 +01:00
elsid
b9825afb8a
Fix build with system static OpenSceneGraph
* Add dependency to libraries required by OSG but missing when linking with OSG
  system library.
* Use find_package for already defined dependencies.
2021-09-17 19:59:11 +02:00
pi03k
e4eeb9cce9 Remove 'no relevant classes' moc warning 2021-09-14 11:20:18 +02:00
elsid
605cb8db7c
Make sync terrain preloading sleep free
This reduces average time spent on in. 5 milliseconds as a base precision is
quite a lot considering that for 60 FPS frame time is 1000/16 = ~16.67 ms
when it's a cell loading frame and there is more important work to do rather
than sleeping.
2021-09-07 14:52:42 +02:00
elsid
b0f772af40
Define dependency to OSG plugins in one place
Each binary depending on components library requires OSG plugins to be linked.
Duplicating dependecies for each binary does not give benefits and brings
problems when new binary is added.
2021-09-06 22:44:52 +02:00
elsid
e9b8933b2f
Do no link binaries with Qt where it's not used
Define components_qt static library with all qt dependent components that also
depends on other components. Link only cs, wizard and launcher with qt
dependent components.
2021-08-20 19:02:09 +02:00
madsbuvi
41c08b1c3b Stereo friendly StateSetUpdater
(cherry picked from commit 496b3aef88b8fd867dcdd23a6ca43144573b1b2f)

Stereo friendly water

(cherry picked from commit 0e22c55e48a7f965367d3d430c1bef5357b22748)

Option to disable per view mapping.

Include memory header

De-hardcode settings and buffers.

formatting error

Update water.cpp (whitespace)

Update water.cpp (more whitespace)

include render order

c array -> c++ array
2021-07-26 14:01:02 +02:00
elsid
beeb882ea8
Do not use off mesh connections as a part of navmesh cache key
To reduce cache size and make it more flexible.

Adding off mesh connections to the navmesh is the last step of navmesh
generation and it's very fast comparing to other steps (microseconds vs
milliseconds). Having less cache size makes get and set operations almost 2x
times faster that also have an order of microseconds. So in total there is
no performance impact.
2021-07-14 12:19:17 +02:00
Petr Mikheev
702eb19271 Fixes and refactoring 2021-07-09 20:48:54 +02:00
Petr Mikheev
b53667d555 Queries. Data structures and lua bindings. 2021-07-09 20:03:27 +02:00
Petr Mikheev
479856f812 Add components/lua/scriptscontainer and components/esm/luascripts 2021-07-09 20:03:27 +02:00
Petr Mikheev
8dbaf6022c Add components/lua/serilalization 2021-07-09 20:03:27 +02:00
Petr Mikheev
4b068b27ca Add components/lua/luastate and components/lua/utilpackage 2021-07-09 20:03:27 +02:00
elsid
33aa4d0822
Move WriteScreenshotToFileOperation to components 2021-07-08 20:27:19 +02:00
elsid
81e569c3d9
Move OffMeshConnectionsManager implementation into cpp 2021-06-27 17:48:07 +02:00
AnyOldName3
081650a2e5 Integrate Base64 library with build 2021-05-17 23:00:23 +01:00
elsid
ec87b3f8f7
Remove redundant ChunkyTriMesh
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
2021-05-04 13:00:06 +02:00
Gleb Mazovetskiy
e3a6cb1695 Remove OsIdentity.cmake
Removes the OsIdentity.cmake file and uses a cross-compilation friendly
and OS-independent method of detecting system double-precision bullet
instead.
2021-05-03 00:08:47 +01:00
fredzio
6fd04cb8f6 Remove support for single-precision Bullet, fail during configuration instead of during linking. 2021-05-02 17:48:50 +02:00
elsid
3e67f5ffa5
Detect and ignore updates for oscillating objects
To avoid triggering NavMesh update when RecastMesh change should not change
NavMesh.

Based on the following assumption:
Given a set of transformations and a bounding shape for all these
tranformations, a new object transformation that does not change this
bounding shape also should not change navmesh if for all of this object
transformations resulting navmesh tiles are equivalent

The idea is to report back to RecastMeshManager all changes of NavMesh if there
are any assiciated with RecastMesh version. So we know the last time when
RecastMesh change resulted into the NavMesh change. When later report shows
that there was no NavMesh change for a new RecastMesh version we can assume
that any object transformation within the same bounding box should not change
NavMesh.
2021-04-18 23:00:13 +02:00
elsid
62f32f4543
Do not replace equivalent navmesh tiles 2021-04-18 20:04:41 +02:00
elsid
ab8d1c02d4
Set idle priority for navmesh generation thread
Support Linux, Windows, FreeBSD.
2021-04-14 21:39:06 +02:00
psi29a
cc6f08930b Merge branch 'alpha-meddling' into 'master'
Replace deprecated alpha test in shader visitor

Closes #4899

See merge request OpenMW/openmw!473
2021-03-13 08:13:19 +00:00
AnyOldName3
450b971bb0 Merge branch 'gl4es-patch' into 'master'
gl4es: Delay feature detection until a context exists

See merge request OpenMW/openmw!626
2021-03-10 19:01:39 +00:00
Gleb Mazovetskiy
455be9dbbb Fix linking with -DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON
1. CMake's built-in OSG finder does not use pkgconfig, so we have to
   manually ensure the order is correct for inter-library dependencies.

   https://gitlab.kitware.com/cmake/cmake/-/issues/21701

2. OSG plugin pkgconfig files are missing dependencies on the underlying
   libraries (e.g. freetype, png, jpeg), so we have to link them manually.

   https://github.com/openscenegraph/OpenSceneGraph/issues/1052
2021-03-06 21:17:52 +00:00
Gleb Mazovetskiy
044e784072 gl4es: Delay feature detection until a context exists
gl4es feature detection does not work reliably with EGL.

If a context already exists, gl4es can instead reliably detect
the underlying GLES features from the context itself.

This requires gl4es to be configured with:

    -DNOEGL=ON -DNO_LOADER=ON -DNO_INIT_CONSTRUCTOR=ON

This also requires gl4es to have this fix: https://github.com/ptitSeb/gl4es/pull/271
2021-02-28 07:59:48 +00:00
psi29a
937549c99e Merge branch 'fix_still_actors' into 'master'
Make actor flee from a combat when cannot reach a target (#5851)

See merge request OpenMW/openmw!601
2021-02-26 23:25:05 +00:00
AnyOldName3
4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 2021-02-14 22:42:55 +00:00
elsid
8dba61f7ae
Use navmesh raycast to find reachable position around target 2021-02-14 04:14:22 +01:00
Gleb Mazovetskiy
99ba45a308 Optional static builds of OSG, MyGUI, Bullet 2021-01-26 19:00:55 +00:00
wareya
18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 2020-12-27 22:16:11 +00:00
AnyOldName3
5e004356a2 Merge remote-tracking branch 'upstream/master' into alpha-meddling 2020-12-27 02:48:42 +00:00
AnyOldName3
ce2bcba5d4 Replace deprecated alpha test in shader visitor 2020-12-17 14:57:43 +00:00
CedricMocquillon
73afc55462 Fork the current process to monitor exe, generate minidump on crash 2020-12-12 20:17:26 +01:00
Nelsson Huotari
6e77ad1f6a OSG-Collada animation support 2020-11-19 01:11:56 +02:00
AnyOldName3
f7dddb8857 Merge branch '3' of https://gitlab.com/bzzt/openmw into shadows-bin
This won't actually work.
2020-10-23 17:55:15 +01:00
Bret Curtis
82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 2020-10-20 23:38:05 +02:00
Alexei Dobrohotov
1492ba4a53 Link against LZ4::LZ4 2020-10-19 22:36:02 +03:00
Alexei Dobrohotov
66d2b9c195 Add Skyrim SE BSA version support
Fix embedded file name loading
2020-10-19 22:31:42 +03:00
fredzio
4ea07639b8 Unbreak build with cmake < 3.12
This reverts commit 3cadc16f88.
2020-10-14 06:15:23 +02:00
fredzio
3cadc16f88 Convert components to an OBJECT library. It saves space in the object
directory (about 1G on an optimized build on Windows and BSD).
Build should run somewhat fast as well.
2020-10-13 14:10:52 +02:00
AnyOldName3
441c09578a Merge remote-tracking branch 'origin/khr_debug' into khr_debug 2020-09-19 23:09:11 +01:00
Capostrophic
a61267f57d Replace NodeUserData with a custom transform node 2020-07-26 09:57:43 +03:00
Bret Curtis
f47d2bb8af make sure we use case-sensative BULLET_ prefix 2020-07-10 15:01:44 +02:00
Bret Curtis
61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 2020-06-22 12:17:06 +02:00
psi29a
1724099d34 Merge branch 'mingw' into 'master'
Fix mingw Windows build

See merge request OpenMW/openmw!213
2020-06-17 09:19:02 +00:00
elsid
d35ccc39c6
Fix build tests with double precision bullet 2020-06-03 21:34:05 +02:00
laikh
d6e4fbe085 Fix mingw Windows build 2020-05-24 08:53:43 +08:00
Alexei Dobrohotov
a68a4338a0
Merge pull request #2841 from Assumeru/consistent-refs
Script reference consistency
2020-05-22 12:48:50 +03:00
Andrei Kortunov
add42830d9 Add a flag to use double-precision functions from Bullet 2020-05-15 12:48:47 +04:00
Evil Eye
f0e2ee45fa reuse ImplicitRef and ExplicitRef for enable, disable, getdisabled, startscript; move scriptrunning and stopscript 2020-05-13 21:17:08 +02:00
Andrei Kortunov
b33c4c920c Move all OICS handling to the separate file 2020-05-09 11:27:02 +04:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
fredzio
0630cc482c Compile helpviewer in components only when USE_QT is defined
It fixes build of OpenMW alone (wihtout launcher or OpenCS)
2020-04-19 19:37:40 +02:00
Frederic Chardon
513ac8986d Add link to opencs documentation on readthedocs, available through
context menu.
The documentation opens in default browser.

There are 3 contexts:
- global: opens the OpenMW CS User Manual main page
- when a record is selected: opens the "Tables" page
- when the filter field is selected: opens the "Record Filters" page

There is also a link to the OpenCS tutorial in the help menu.
2020-04-18 20:54:21 +00:00
elsid
7ae7cb181d
Support recast mesh rendering 2020-03-14 09:38:24 +01:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
elsid
1e106013a0
Use navmesh to find wander destination outside pathgrid for ground based actors
Use dtNavMeshQuery::findRandomPointAroundCircle from recastnavigation
2020-01-21 00:01:06 +01:00
Andrei Kortunov
cb1a8ec518 Do not link the Boost threads library 2020-01-09 19:40:22 +04:00
bzzt
d340224c95 shadowsbin for gl state reduction 2019-11-20 13:37:00 +00:00
elsid
a7930073e8
Move settings parser declaration to separate header 2019-10-21 22:47:24 +02:00
Andrei Kortunov
bf5f68a4d8 Replace boost GCD to the homebrew implementation 2019-03-02 17:32:05 +04:00
AnyOldName3
ac18983f37 Finish gldebug location move 2019-02-28 00:02:07 +00:00
AnyOldName3
3d917fcbad Add basic OpenGL debug callback 2019-02-28 00:02:07 +00:00
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
2019-02-20 15:35:49 +00:00
elsid
1d3668cd22
Add Navigator interface 2019-02-16 15:37:06 +03:00
elsid
c68e64a2a7
Make navigator from settings manager setting in separate function 2019-02-16 14:41:11 +03:00
AnyOldName3
8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2019-01-24 23:09:23 +00:00
Azdul
6aa6b2dc89 Removed TES4 from file names. Correct Git file history / attribution. 2019-01-18 21:14:44 +01:00
Azdul
c6fd979c42 Spaces instead of tabs in CMakeLists.txt 2019-01-17 05:42:26 +01:00
Azdul
96d19e07ca Fix Linux build 2019-01-16 20:59:07 +01:00
Azdul
25650e65bf Read any BSA file - detection based on version in BSA header 2019-01-16 20:19:15 +01:00
AnyOldName3
d0c254bc7e Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-01 16:48:21 +00:00
elsid
792a0585c0 Add recastnavigation as subdirectory 2018-11-01 17:01:22 +01:00
AnyOldName3
3785ba6aa0 Merge upstream/master 2018-10-30 22:38:09 +00:00
elsid
ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
2018-10-13 22:22:12 +03:00
elsid
dc09674362
Add command and settings option to enable actors paths render 2018-10-13 22:16:32 +03:00
elsid
144e1a063b
Support animated objects 2018-10-13 22:16:30 +03:00
elsid
d2fd9abd51
Split RecastMesh into tiles 2018-10-13 22:16:30 +03:00
elsid
70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
2018-10-13 22:16:28 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path 2018-10-13 22:16:25 +03:00
AnyOldName3
0124be5713 Merge upstream/master 2018-10-10 21:23:19 +01:00
Andrei Kortunov
43c7438e8e Move WeakCache to components/misc 2018-09-28 16:47:47 +04:00
Kyle Cooley
031502b2ab Reorganize ActorAdapter data, use weak cache for sharing 2018-09-27 13:14:59 +04:00
Kyle Cooley
e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 2018-09-27 13:14:59 +04:00
Kyle Cooley
8444ee9981 Start rendering npc's 2018-09-27 13:14:59 +04:00
Andrei Kortunov
70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 2018-09-17 19:22:50 +04:00
Andrei Kortunov
adbaeb7cca Improve GUI scaling (bug #3288) 2018-09-12 14:31:01 +04:00
AnyOldName3
80082308f0 Merge upstream (shadermanager log system revamp) 2018-08-17 18:22:13 +01:00
Bret Curtis
61b34124e2
Merge pull request #1847 from akortunov/extended_logging
Improve console logging
2018-08-13 10:19:25 +02:00
Andrei Kortunov
7d6e3673e0 Implement advanced logging system (feature #4581) 2018-08-12 13:38:15 +04:00
elsid
6afc1dc3a0
Support build with coverage for components and test suite 2018-08-11 17:24:40 +03:00
AnyOldName3
a2b54714d4 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-08-08 23:28:06 +01:00
Andrei Kortunov
ac98797999 Add missing file 2018-08-03 15:05:13 +04:00
AnyOldName3
cc23a968d1 Merge upstream/master 2018-08-01 14:13:45 +01:00
Doc West
467989cdd5 Moved crashcatcher to a component and also use it in CS
Reworked debugger detection (failed on gdb 7.11), it now uses /proc to detect the debugger
2018-07-09 16:25:55 +02:00
AnyOldName3
553094669b Merge upstream/master (& fix merge conflicts) 2018-06-20 00:11:23 +01:00
Miloslav Číž
c3d7ee5a9e Resolve merge conflicts 2018-06-13 08:22:37 +02:00
Miloslav Číž
db8aaa74d6 Start cell border debug drawing 2018-06-13 01:48:31 +02:00
AnyOldName3
44b2cf2b7f Merge upstream. 2018-05-11 19:15:04 +01:00
Andreas Sturmlechner
2c9d46a60b
Fix build with Qt 5.11_beta3 (dropping qt5_use_modules) 2018-04-17 23:03:56 +02:00
bret curtis
4890ecd357 remove native GLESv* support, as it never worked; make things less complicated as result, fixed lighting.glsl to work with gl2es thanks to ptitSeb 2018-03-27 20:20:40 +02:00
AnyOldName3
273914aba8 Add osgShadow ViewDependentShadowMaps as they can be found in OSG's GitHub Repository 2018-02-24 00:13:05 +00:00
AnyOldName3
6e0b61d084 Add missing libraries to components target 2017-11-08 04:09:14 +00:00
AnyOldName3
e201e359a9 Move Shadow to Components 2017-11-08 01:44:49 +00:00
AnyOldName3
c1a871ff1f Make indentation consistent. 2017-10-24 23:31:40 +01:00
AnyOldName3
daf7d8451c Switch to a more reliable method of passing the git-version targt the data it needs 2017-10-24 23:29:18 +01:00
AnyOldName3
e3142b9643 Add missing variables to those forwarded to the git-version target 2017-10-24 23:10:50 +01:00
AnyOldName3
c9e86a8ebc Remove superfluous argument 2017-10-12 18:16:44 +01:00
AnyOldName3
f9a3562ccd Remove duplicate macro definition and fix warning 2017-10-12 02:45:50 +01:00
AnyOldName3
2652a89df4 Fix mismatched indentation that apparently the .editorconfig file doesn't handle automatically 2017-10-11 22:10:52 +01:00
AnyOldName3
f8fe992dc0 Adjust CMake's run-time resource handling such that the Windows CI script does not have to copy these files 2017-10-11 21:58:55 +01:00
scrawl
5d524a6a10 Add custom version of MorphGeometry replacing osgAnimation
Double buffering, custom bounding box and the update in the cull visitor (instead of update) are now all handled internally rather than needing hacks and/or callbacks.
2017-09-01 21:42:36 +00:00
scrawl
e36bdb490e Add view data structure for efficient collection of LOD nodes to use for a given camera/intersection 2017-03-14 19:27:55 +01:00
scrawl
ce8c4ad4f5 Add quad tree implementation (no rendering yet) 2017-03-14 19:27:55 +01:00
scrawl
b1d4bb5708 Add CompositeMapRenderer
Temporarily render all terrain using composite maps for testing purposes
2017-03-14 19:27:55 +01:00
scrawl
35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 2017-03-14 19:27:55 +01:00
scrawl
804f873649 terrain: factor out texture caching into a separate class 2017-03-14 19:27:55 +01:00
scrawl
eef63a880a terrain: use a custom drawable for multi-pass render instead of osgFX::Effect
osgFX::Effect is awkward to use because of the lazy-definition of passes, no support for compileGLObjects, useless 'Technique' abstraction and having to define silly methods like 'effectAuthor()'

Handling the multi-pass rendering inside the Drawable also avoids redundant culling tests against the same bounding box for each pass.
2017-03-14 19:27:55 +01:00
scrawl
e33829d493 Add fork of osgUtil::Optimizer with backported fixes that have not been released yet
Remove optimizers that won't be used.
2017-02-23 23:28:50 +01:00
scrawl
8f79fa3d72 Add resource statistics panel opened with F4 2017-02-22 14:28:45 +01:00
scrawl
34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 2017-02-01 06:00:14 +01:00
Phillip Andrews
c18fc113e5 Changed missing library dependencies to simple fix 2016-11-14 00:01:22 -06:00
MiroslavR
301dd77efb Save controls state (Fixes #3598) 2016-10-20 02:12:01 +02:00
scrawl
a44ba0e461 Merge pull request #966 from kpp/find_mygui
Find mygui
2016-08-15 16:36:48 +02:00
Roman Proskuryakov
4cffdb67d8 Uses case-sensitive MyGUI_* variables 2016-08-15 15:59:02 +03:00
Marc Zinnschlag
aa1ed9b172 Merge remote-tracking branch 'aesylwinn/RenderWater' 2016-08-07 17:03:58 +02:00
Aesylwinn
5753f52b47 Move water mesh + simple state generation to components library. 2016-08-05 13:25:05 -04:00
MiroslavR
b65f379b7f Save scripted animation state (Fixes #1931, #2150, #3393) 2016-08-03 03:52:35 +02:00
AnyOldName3
20f73f4a32 Relocate escape-related code to new files escape.hpp and escape.cpp. 2016-07-27 00:58:31 +01:00
MiroslavR
f6f3f71db5 Improve format specifiers for message boxes 2016-07-09 03:18:45 +02:00
Roman Proskuryakov
3bcd23022a Rewrites FindBullet using LibFindMacros handling version properly 2016-05-31 07:18:37 +03:00
Aesylwinn
d141672b53 Pathgrid geometry creator 2016-05-02 22:09:48 -04:00
scrawl
a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
2016-02-18 19:37:56 +01:00
scrawl
e28dc3e72f Preload instances in SceneManager 2016-02-09 18:35:26 +01:00
scrawl
d11c2864df Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread 2016-02-09 15:45:35 +01:00
scrawl
6f9ca0f68f Add basic cell preloader class
Not properly in use yet, but seems to be working.
2016-02-07 00:14:13 +01:00
scrawl
df57d4bfba Use a common base class for resource managers
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
2016-02-06 17:22:17 +01:00
scrawl
f99f403dda Rename TextureManager to ImageManager 2016-02-05 23:03:53 +01:00
scrawl
438b30d6f0 Move configureLight to a separate file 2016-01-11 23:10:16 +01:00
scrawl
6546c05428 Move Fallback map to components/ 2016-01-11 23:10:16 +01:00
scrawl
64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 2015-12-13 15:31:07 +01:00
sandstranger
7d374b36fd change cmake variables 2015-12-03 21:29:50 +03:00
sandstranger
238a5824be add custom new variable fot Qt 2015-12-03 08:54:14 +03:00
sandstranger
bd5057aa3c enable opengl es1 2015-12-02 22:40:04 +03:00
scrawl
d3fa8a8602 Add osgDB::ObjectCache to the repository to work around it not being available in OSG 3.2 2015-12-02 15:14:39 +01:00
scrawl
3d12b2ca9d Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager. 2015-12-02 14:59:32 +01:00
scrawl
f962ce0bbe Don't link against unnecessary OSG libraries 2015-11-29 19:56:43 +01:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 2015-11-17 00:20:15 +01:00
scrawl
59aee04ddb Implement ScalingLayer, for layouting of widgets in screen-relative coordinates 2015-11-08 18:30:21 +01:00
scrawl
51f3a8fec6 osgMyGUI: move Platform methods to the .cpp file 2015-11-07 17:39:31 +01:00
Alexander "Ace" Olofsson
7d4125d97f Fixes for building with unity build 2015-09-24 15:21:42 +02:00
scrawl
3a7d0d8dc8 Remove a file that isn't in use yet from build 2015-07-28 23:34:55 +02:00
Koncord
7924ecef3e Fix definition conflict 2015-07-19 23:37:20 +09:00
scrawl
f09e4620b6 Move OpenMW version information to a textfile instead of compiling it in
Now we don't need to recompile 3 .cpp files and re-link whenever the current git HEAD changes.
2015-07-18 03:09:04 +02:00
Koncord
73731d27e9 Add ${MYGUI_LIBRARIES} to components/CMakeLists.txt 2015-07-14 23:54:47 +09:00
scrawl
f70250a296 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/CMakeLists.txt
	apps/opencs/CMakeLists.txt
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/CMakeLists.txt
	components/CMakeLists.txt
	extern/osg-ffmpeg-videoplayer/CMakeLists.txt
2015-06-13 21:11:24 +02:00
scrawl
89c2a7e26b Fix for possibly missing library on windows 2015-06-12 15:22:19 +02:00
scrawl
e13a938896 Add support to build with Qt5 (Task #2665)
Known issue: the render view doesn't work in Qt5. With the switch to OSG around the corner, this isn't worth fixing.
2015-06-12 15:13:42 +02:00
scrawl
cf95d3fc35 Refactor cmake scripts, reducing the amount of find_package(Boost) 2015-06-12 01:45:19 +02:00
scrawl
fc5176dc38 Refactor cmake scripts, reducing the amount of find_package(Qt4) 2015-06-11 23:38:08 +02:00
scrawl
cc71e894e1 Add WorkQueue class 2015-06-10 18:15:31 +02:00
scrawl
4bb3cbf0fb Remove last remains of Ogre 2015-06-03 23:04:35 +02:00
scrawl
974fda5bde Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	extern/sdl4ogre/sdlwindowhelper.cpp
2015-06-03 03:18:29 +02:00
scrawl
cdd0623009 Terrain rendering 2015-06-03 01:35:41 +02:00
scrawl
025a1a7866 Restore savegame screenshot display 2015-05-28 02:34:38 +02:00
scrawl
5442bf23a6 Apply video mode & gamma setting changes 2015-05-14 20:31:16 +02:00
scrawl
9ea416b852 Readded HW cursor manager (no image rotation yet) 2015-05-13 18:56:14 +02:00
scrawl
39fb46601a Readded input & event handling 2015-05-13 16:50:47 +02:00
scrawl
0498e6e5f0 Readded window icon 2015-05-13 15:03:21 +02:00
scrawl
375b736e74 Use SDL to create the window
No input nor event loop handling yet, so the window will "stop responding" after a few seconds.

Thanks to KittyCat for the GraphicsWindowSDL2 code.
2015-05-13 02:53:09 +02:00
scrawl
47758c11cd Readded collision objects and movement physics 2015-05-12 03:02:15 +02:00
scrawl
c31b416ba1 Move physicssystem to a new mwphysics module 2015-05-10 01:09:00 +02:00
scrawl
c843cfc8e2 Physics stub in preparation for rewrite 2015-05-10 00:28:51 +02:00
scrawl
cac288d5be Remove OgreInit 2015-05-01 21:49:36 +02:00
scrawl
d9d84bd7b2 Remove bullet raycasting shapes, to be replaced with OSG ray casts 2015-05-01 21:43:21 +02:00
scrawl
9f74be8fcb Add back the custom MyGUI log facility for utf8 paths on windows 2015-05-01 02:04:24 +02:00
scrawl
a59940a2c7 Move MyGUI platform to components 2015-05-01 01:44:21 +02:00
k1ll
8e094d6fa5 Add static bullet to components 2015-04-29 18:31:29 +02:00
k1ll
b194af4ab2 Add static qt to components 2015-04-29 18:31:29 +02:00
k1ll
00b7712a59 Fix shlwapi include case and add the lib for linking when building for windows 2015-04-29 18:31:28 +02:00
scrawl
372a54bbc7 Dead code removal 2015-04-25 01:28:01 +02:00
scrawl
8c810e3620 Move rng to components 2015-04-22 17:58:55 +02:00
scrawl
04accb7652 Add LightController 2015-04-22 17:37:39 +02:00
scrawl
eaa4316ff8 Move skinning code to SceneUtil 2015-04-21 20:30:48 +02:00
scrawl
4ea6d4aa01 Rewrite of skinning code
Goals:
- get rid of the mesh pre-transform (this requires supporting different bind matrices for each mesh)
- bounding box should be relative to the bone the mesh is attached to, ideally we can then get rid of the expensive skeleton-based bounding boxes
- update bone matrices in CullCallback instead of UpdateCallback

Works OK, though the bounding boxes are not correct yet.
2015-04-21 16:02:40 +02:00
scrawl
c516e897ee Move Controller base classes to SceneUtil, add visitor to assign ControllerSources 2015-04-14 17:51:46 +02:00
scrawl
5dd1ab24fe More efficient StateSetController, beginnings of sky rendering 2015-04-14 15:58:16 +02:00
scrawl
591a35b8d7 *very* early version of the LightManager 2015-04-10 23:16:17 +02:00
scrawl
4e69e7cc0f OpenMW compiles and runs w/o render window 2015-04-01 17:02:15 +02:00
scrawl
a7272b73d0 Add utility for assembling body parts / equipment 2015-03-29 19:39:22 +02:00
scrawl
bb32c761df *very* early texture manager, need a lot more thought to design this properly 2015-03-28 02:27:59 +01:00
scrawl
236d628884 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/doc/documentmanager.cpp
	components/CMakeLists.txt
	components/bsa/resources.cpp
	components/nif/data.hpp
	components/nif/node.cpp
	components/nifogre/mesh.hpp
	components/nifogre/ogrenifloader.cpp
	components/nifogre/particles.cpp
2015-03-27 17:30:48 +01:00
scrawl
99e1720980 Add SceneManager and clone utility 2015-03-26 18:02:51 +01:00
scrawl
1affa497d5 Delete the old nifogre loader 2015-03-23 20:00:28 +01:00
scrawl
2db5df77f0 Change rotation/scale workaround in preparation for loading .kf controllers 2015-03-22 22:55:35 +01:00
scrawl
40fc097722 OpenCS: use the new VFS, restored resource tables 2015-03-20 16:22:33 +01:00
scrawl
49c2da27b3 OpenCS compiles and runs again (no rendering) 2015-03-19 17:21:15 +01:00
scrawl
f8422c3ed4 Particles mostly completed, still need to attach emitters to the correct node and handle NiBSPArrayController 2015-03-19 03:01:11 +01:00
scrawl
510375aa63 Add virtual file system (VFS) replacing the low level parts of the old resource system 2015-03-17 22:02:56 +01:00
dteviot
3f28634d1f consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.
2015-03-15 14:07:47 +13:00
scrawl
e30f240ba2 Add travel service support for creatures (Fixes #2432) 2015-03-09 03:15:11 +01:00
scrawl
8e01d8cb19 Add OSG nifloader, currently supports geometry, materials, basic texturing, skinning, morphing, and most controllers. 2015-02-23 21:06:10 +01:00
scrawl
da690c91b3 Delete the old Ogre DataStream class 2015-02-22 14:19:00 +01:00
scrawl
8c10d4badb NIF reader compiles without Ogre 2015-02-17 17:08:55 +01:00
scrawl
d4dff6ed55 Port BSAFile to istream, remove OGRE bsa resource system 2015-02-17 16:19:21 +01:00
slothlife
cfe81bafe8 Remove setting CMAKE_BUILD_TYPE to Debug
Setting was causing single-target configurations (ninja, make) to
incorrectly link vs debug runtimes on Windows.
2015-02-11 21:46:00 -06:00
scrawl
bea88c3643 Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
scrawl
9d3f0b2ed5 Remove some unused code, include cleanup 2015-01-27 23:12:13 +01:00
scrawl
4921c6ef9e Split window caption bars so that the caption can be transparent (Fixes #531)
Fix transparent window background not applying to the header bar (Fixes #2294)
2015-01-27 23:05:19 +01:00
scrawl
8e1eeccbe1 ESSImport: container state 2015-01-19 13:16:12 +01:00
scrawl
235683e449 Remove LightState from openmw save format to streamline inventory loading 2015-01-19 11:36:00 +01:00
scrawl
f9cf31fcd5 ESSImport: convert custom map markers, not working for interiors yet 2015-01-19 09:29:21 +01:00
dteviot
9d6efcecff Merge remote-tracking branch 'OpenMW/master' into FixLoadOrderReset
Fixed Conflict:
	components/contentselector/model/contentmodel.cpp
2015-01-08 12:15:48 +13:00
Marc Zinnschlag
83e454e493 Merge remote-tracking branch 'marcoschulze/git-version-retrieval-fix' 2015-01-07 12:29:09 +01:00
scrawl
01652bbcc5 Store original actor position in AiWander package (Fixes #2200) 2015-01-01 03:38:49 +01:00
dteviot
dfbd470613 Adjust plug-in order to match profile loading.
Also marks plug-ins with load order problems in red and changes tool tip to describe error.
2014-12-31 19:19:54 +13:00
Marco Schulze
3024c67995 Regenerate components/version/version.hpp as HEAD moves on a git checkout
Pull request #416 introduced a common bug where version.hpp wouldn't be
regenerated every build, poteantially leading to stale version data. This
commit adds a custom build target, git-version, which updates version.hpp
before the components library is built.
2014-12-30 18:37:33 -03:00
Marc Zinnschlag
b951251572 handle junk in argument lists (Fixes #2206) 2014-12-17 15:03:05 +01:00
scrawl
9a1b7cbe52 Add SharedStateButton, used in spell window and controls box to apply mouseover effect to all buttons within one row (Fixes #1986) 2014-12-06 16:50:09 +01:00
scrawl
4fa303d7c4 Merge branch 'master' into HEAD
Conflicts:
	CMakeLists.txt
	apps/launcher/CMakeLists.txt
2014-11-18 17:43:51 +01:00
Arthur Moore
4583dc05db Move NIFStream functions into a cpp file where they belong 2014-10-31 04:54:16 -04:00
Arthur Moore
38bcff2622 Moved base NIF classes into a separate file.
This resolves the dependency mess, and makes things more readable.
The dependency tree for nif records now looks like this:
Record.hpp
--base.hpp
----controlled.hpp
----controller.hpp
----data.hpp
----effect.hpp
----extra.hpp
----node.hpp

Node.hpp has many extra dependencies because nifogre only includes it instead of each of these files.
That should be fixed.
2014-10-19 03:01:30 -04:00
scrawl
0bc840aadd Add NumericEditBox widget 2014-09-25 21:04:51 +02:00
scrawl
6b65502557 Add properties for new widget classes to MyGUI plugin 2014-09-25 16:25:08 +02:00
scrawl
1afcc7adb5 Add imported font colors from openmw.cfg to MyGUI plugin 2014-09-25 00:04:38 +02:00
eroen
0738e862cb Make GLOBAL_CONFIG_PATH, GLOBAL_DATA_PATH configurable 2014-09-22 15:36:42 +02:00
Sebastian Wick
41094a8641 the global config path is not always $prefix/etc, so just define the whole path in the build system 2014-09-19 20:23:39 +02:00
Sebastian Wick
2ae8158ee9 SYSCONFDIR and LinuxPath should work with different install prefixs 2014-09-19 03:15:28 +02:00
Marc Zinnschlag
d1d861e1be Merge branch 'run'
Conflicts:
	apps/opencs/model/world/columns.cpp
	apps/opencs/model/world/columns.hpp
	apps/opencs/model/world/data.cpp
	components/CMakeLists.txt
2014-09-14 11:59:54 +02:00
scrawl
c6bcd75058 Add various custom widgets used in OpenMW to the MyGUI plugin 2014-09-12 05:14:21 +02:00
scrawl
ee3b1e800c Add FontLoader and transparent BG texture to the MyGUI plugin 2014-09-12 04:27:23 +02:00
scrawl
ecfc2ff5d0 Add a MyGUI plugin to register OpenMW resources, to use with MyGUI's standalone tools 2014-09-11 23:33:54 +02:00
Arthur Moore
8be6aefd95 Moved functions from niffile.cpp to where they belong.
Also cleaned up some #includes

Removed a few asserts.  Vector already throws an out_of_range error.
2014-08-24 13:45:36 -04:00
scrawl
2b407a9995 Refactor NIF cache
- Remove broken cache locking mechanism

This was supposed to unload NIFFiles after a cell transition completes, but it was never working due to a mistake on the line if (--sLockLevel), should have been if (--sLockLevel == 0). Repairing this would increase load times (NIF files would have to be reloaded more frequently), so just removed it for now.

 - Decouple cache from NIFFile (now a new nifcache component)

 - Add API for future background loading

 - Provide a reliable way (SharedPtr) to hold on to loaded NIFFiles. This will be useful to avoid deep copies of keyframe and text key data, which is currently a performance bottleneck.
2014-08-24 02:37:50 +02:00
Marc Zinnschlag
232c6c9ad3 Merge branch 'scriptedit' into run 2014-08-22 13:20:02 +02:00
scrawl
360c7f863c Store magic effect Base values in savegame (Fixes #1489) 2014-08-17 05:38:48 +02:00
scrawl
e2ee3b2497 Merge branch 'master' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwrender/terrainstorage.cpp
2014-08-12 19:53:37 +02:00
MiroslavR
4d403ed747 Rename and move functions for texture path correction 2014-08-11 20:04:44 +02:00
scrawl
8c26f802e6 Move terrain grid implementation to a component so the editor can use it (Feature #1597) 2014-08-08 15:46:33 +02:00
scrawl
982453d4f6 Move ESM terrain data handler to esmterrain component so it can be used by the editor (Feature #1597) 2014-08-08 15:46:33 +02:00