1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 04:49:54 +00:00
Commit graph

3546 commits

Author SHA1 Message Date
David Cernat
046a1ea899 Add packet for player levels 2016-09-25 14:28:25 +03:00
David Cernat
3e2fec973d Remove leftover variable 2016-09-25 12:53:30 +03:00
David Cernat
79c561057c Merge pull request #59 from OpenMW/master
Add OpenMW commits up to 18 Sep
2016-09-19 02:47:09 +03:00
scrawl
cd4b182091 Merge pull request #1051 from Allofich/textures
Use spell effect particle textures
2016-09-18 22:37:14 +02:00
Allofich
a8e9f2df67 Cleanup 2016-09-19 05:20:04 +09:00
Koncord
96e2d749c7 New auth protocol 2016-09-18 11:55:51 +08:00
Koncord
9bcca6d141 Init PacketLoaded in PacketsController 2016-09-18 11:55:51 +08:00
Koncord
fe370fa995 Add PacketLoaded 2016-09-18 11:55:51 +08:00
David Cernat
68f974d999 Merge pull request #57 from OpenMW/master
Add OpenMW commits up to 17 Sep
2016-09-17 21:31:51 +03:00
Allofich
be96ff1fd1 Remove redundant parameter 2016-09-18 01:57:47 +09:00
scrawl
8f5347b79b Update comment, osgAnimation::RigGeometry is no longer used 2016-09-17 18:31:39 +02:00
David Cernat
cdada00a8a Merge pull request #56 from OpenMW/master
Add OpenMW commits up to 15 Sep
2016-09-15 22:19:02 +03:00
MiroslavR
55e670c5fe Fix animation state not saving
References with animation state changed but otherwise identical to their content file counterparts
were previously considered unchanged and thus dropped while saving.
2016-09-15 16:11:54 +02:00
David Cernat
3b7693c719 Resolve conflicts in pull request #55
# Conflicts:
#	README.md
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwmechanics/combat.cpp
2016-09-15 08:49:57 +03:00
Allofich
a033ba3bd2 Override spell textures by NiTexturingProperty 2016-09-14 23:03:04 +09:00
emlai
fd2281e825 Fix typo 2016-09-10 21:25:28 +03:00
Koncord
5eaad1b92e again fix headerSize 2016-09-04 18:38:49 +08:00
David Cernat
81999a8179 Remove outdated ID_GAME_UPDATE_SKILLS packet, part 2 2016-09-02 07:58:20 +03:00
David Cernat
8abef0bebe Remove outdated ID_GAME_UPDATE_SKILLS packet 2016-09-02 07:36:39 +03:00
David Cernat
970e9aff2f Remove old class methods and don't include class in ID_GAME_BASE_INFO 2016-09-02 03:45:43 +03:00
David Cernat
e9dce26f38 Resolve conflicts in pull request #50
# Conflicts:
#	CMakeLists.txt
2016-08-31 07:28:32 +03:00
David Cernat
a20e7890a2 Fix formatting 2016-08-30 10:52:30 +03:00
Koncord
cf1a0113a1 Time API 2016-08-30 13:24:42 +08:00
Koncord
e7deff09d9 Update version 2016-08-30 11:27:03 +08:00
Koncord
3405e36ce4 Woops part 2 2016-08-29 22:59:04 +08:00
Koncord
118ab32c9b Woops 2016-08-29 21:03:04 +08:00
Koncord
a661de2a84 PacketClass 2016-08-29 21:01:23 +08:00
Koncord
2054baf7d3 Simplified PacketsController 2016-08-29 20:28:56 +08:00
scrawl
4322e76cb6 Fix shadowing warnings 2016-08-29 12:38:24 +02:00
scrawl
a5da3a269e Fix shadowing warnings 2016-08-29 12:20:00 +02:00
Koncord
a03c2f5019 Now server & client sensitive to version 2016-08-27 15:36:22 +08:00
David Cernat
4d2ca20445 Resolve conflicts in pull request #43
# Conflicts:
#	README.md
2016-08-24 22:03:35 +03:00
scrawl
c968ebee96 Merge pull request #1033 from Allofich/warnings
Remove unnecessary destructor
2016-08-22 14:44:57 +02:00
Allofich
73463cd12f Remove unnecessary virtual destructor 2016-08-22 21:34:57 +09:00
scrawl
f92560986e Merge pull request #1031 from kpp/fix_uninitiaized_escape_hash_filter
Fix uninitialized escape_hash_filter
2016-08-21 22:56:31 +02:00
Allofich
8c5aae0722 Add virtual destructors 2016-08-21 18:31:46 +09:00
Roman Proskuryakov
416466e53e Fix uninitialized escape_hash_filter 2016-08-19 21:13:38 +03:00
David Cernat
2337a0becb Add LOG_APPEND method for writing to log without timestamp and level 2016-08-18 23:17:46 +03:00
David Cernat
535731c018 Fix month in logger 2016-08-18 18:38:24 +03:00
David Cernat
436548413e Resolve conflicts in pull request #39
# Conflicts:
#	CMakeLists.txt
2016-08-18 15:10:52 +03:00
Koncord
dd6ebdeb4f formated C string to C++ 2016-08-18 08:44:47 +08:00
Koncord
1537fdbb76 Add SetLevel function & Verbose log level 2016-08-18 07:57:11 +08:00
Koncord
554810fbeb Removed redundant const in headerSize() 2016-08-18 07:42:08 +08:00
David Cernat
8eda381016 Make formatting consistent, part 2 2016-08-17 18:20:36 +03:00
David Cernat
e39b66af4f Move logger to components 2016-08-17 06:15:44 +03:00
scrawl
341e3846c0 Use initial particle state to compute the initial bounding box (Fixes #3500) 2016-08-16 23:28:03 +02:00
scrawl
dda5bfbc9f CharacterPreview no longer depends on osgViewer 2016-08-16 22:47:45 +02:00
David Cernat
3c6710a7b5 Merge pull request #35 from OpenMW/master
Add OpenMW commits from 2nd week of August
2016-08-15 19:21:09 +03:00
David Cernat
d9cfd5bac2 Resolve conflicts with OpenMW 2016-08-15 19:14:13 +03:00
scrawl
641005b317 Remove Camera's children before removing the Camera
Should work around OSG race condition ( http://forum.openscenegraph.org/viewtopic.php?t=16077 )
2016-08-15 18:12:46 +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
Koncord
32a2327f59 fix header size 2016-08-15 07:52:54 +08:00
scrawl
513e1da8a3 Remove unneeded casts 2016-08-14 16:44:11 +02:00
scrawl
33d27a2285 Use ref_ptr 2016-08-14 16:41:33 +02:00
scrawl
2f6075329b Clang warning fixes 2016-08-14 15:10:50 +02:00
David Cernat
babba95413 Merge pull request #34 from OpenMW/master
Add OpenMW commits from 1st week of August
2016-08-08 15:53:56 +03:00
scrawl
46538b9438 Merge pull request #1011 from devnexen/master
Mainly making compilable under OpenBSD.
2016-08-07 20:34:03 +02:00
Marc Zinnschlag
aa1ed9b172 Merge remote-tracking branch 'aesylwinn/RenderWater' 2016-08-07 17:03:58 +02:00
David Carlier
83bab29e4b Mainly making compilable under OpenBSD.
Renaming one resource file as the space led to issue for qt/moc.
2016-08-06 19:00:27 +01:00
Koncord
1022b6b27c Fix a header size 2016-08-06 03:28:01 +08:00
Aesylwinn
5753f52b47 Move water mesh + simple state generation to components library. 2016-08-05 13:25:05 -04:00
Koncord
7898b1181d Reduced package size 2016-08-05 14:21:09 +08:00
David Cernat
8686b9cc12 Merge pull request #29 from OpenMW/master
Add OpenMW commits from end of July
2016-08-04 00:56:36 +03:00
MiroslavR
b65f379b7f Save scripted animation state (Fixes #1931, #2150, #3393) 2016-08-03 03:52:35 +02:00
Koncord
ed3dc8ca7b Reduced server dependings 2016-08-02 18:52:58 +08:00
Koncord
7107136808 New API
SetExterior(pid, x, y)
GetExteriorX(pid)
GetExteriorY(pid)

also "SetCell" will now move to the named external cells (e.g. SetCell(pid, "Balmora"))
2016-07-30 01:33:28 +08:00
Marc Zinnschlag
63fd1e8df7 Merge remote-tracking branch 'origin/master' 2016-07-27 15:49:11 +02:00
AnyOldName3
a0699ce20d Change some <> characters to double quotes, resolving compilation problems. 2016-07-27 01:19:05 +01:00
AnyOldName3
20f73f4a32 Relocate escape-related code to new files escape.hpp and escape.cpp. 2016-07-27 00:58:31 +01:00
Koncord
1e3eff91ac Merged branch tes3mp-gui into tes3mp-gui 2016-07-23 22:08:01 +08:00
Koncord
9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
2016-07-23 22:02:06 +08:00
Stanislav Zhukov
917fa63f5c Fixed security issue 2016-07-23 17:14:54 +08:00
MiroslavR
d790747389 Implement deletion of moved references (Bug #3471) 2016-07-22 01:59:02 +02:00
AnyOldName3
7243583963 Change a switch to a series of if/else if/.../else, hopefully resolving compilation issues on OSX and Linux. 2016-07-21 01:36:14 +01:00
AnyOldName3
2b829f7f7b Move some stuff to a header, removing the need for a dodgy hack. 2016-07-21 01:07:25 +01:00
AnyOldName3
becc053555 Trick the software into building by using what I assume is a really dirty hack. 2016-07-21 00:16:00 +01:00
AnyOldName3
519fbab864 Remove useless print 2016-07-20 23:18:09 +01:00
AnyOldName3
32f0ded8f6 Fix bug in unescape filter, but still manage not to fix build issue. 2016-07-20 23:15:44 +01:00
AnyOldName3
423919abb5 Make it not build again (but theoretically enable the desired functionality). 2016-07-20 15:19:34 +01:00
AnyOldName3
59639e3988 Make it build again (but remove the new functionality). 2016-07-20 15:16:53 +01:00
AnyOldName3
d9d5a6561b Adjust the code so that it should (maybe) work, changing the compilation error to a less straighforward one. 2016-07-20 14:50:34 +01:00
AnyOldName3
95d2c7ea5c Attempt to unescape characters when constructing file paths, introducing compilation errors. 2016-07-20 02:48:57 +01:00
David Cernat
360eec30a0 Merge pull request #2 from OpenMW/master
Add recent OpenMW commits by AnyOldName3
2016-07-20 02:58:57 +03:00
Marc Zinnschlag
c17e1ca24a Merge remote-tracking branch 'anyoldname3/ignore-hash-test' 2016-07-19 16:19:28 +02:00
Aesylwinn
b4a000913c Merge remote-tracking branch 'yar/master' into Even
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwdialogue/filter.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/localscripts.cpp
#	components/CMakeLists.txt
#	components/compiler/exprparser.cpp
#	components/sceneutil/workqueue.cpp
2016-07-17 23:50:52 -04:00
davidcernat
7bf08e5e5a Fix transition between exterior cells for non-local players
Make the local player send a packet whenever moving from one exterior cell to another, don't require objects to have RefNums to be moved correctly between exterior cells, and increase the packet priority for cell changes.
2016-07-17 22:03:20 +03:00
MiroslavR
721fa28c1e Fix assertion failure with NiTextureEffect missing source texture 2016-07-16 18:59:18 +02:00
davidcernat
b7e377c636 Remove _boundingBoxComputed from sceneutil's riggeometry.cpp
Recent versions of OpenSceneGraph have no _boundingBoxComputed, which is why building TES3MP with them causes an error. As expected, recent versions of OpenMW do not use _boundingBoxComputed either.
2016-07-16 15:12:22 +03:00
AnyOldName3
f1b5ad5804 Remove unused unsafe function and properly remove inheritance from std::string, providing implementations of missing stream operators preventing boost reading and writing to escape strings. 2016-07-12 17:09:57 +01:00
GrimKriegor
ace719507c Ported OpenMW's "Don't use unordered_map" commit to TES3MP to fix Issue #1
https://github.com/TES3MP/TES3MP/issues/1
2016-07-12 01:42:05 +01:00
AnyOldName3
e6f78ae5b7 Switch indentation to spaces to remain consistent with the rest of the project 2016-07-12 01:06:57 +01:00
AnyOldName3
08df463c94 Separate declaration and definition of some static members to hopefully calm Travis down. 2016-07-12 00:37:08 +01:00
AnyOldName3
7475d90693 Fix dodgy include by changing backslashes to forwardslashes 2016-07-12 00:14:19 +01:00
AnyOldName3
5121e77a95 Remove the cause of a warning which upset Travis (but not the thing that made the Travis build fail, as I have no idea why it wouldn't work or how to fix it 2016-07-12 00:00:29 +01:00
AnyOldName3
1a0642f1db Make it work by realising that what boost::program_options calls validation is what any sane person would regard as parsing 2016-07-11 22:33:15 +01:00
AnyOldName3
195dd27780 Resolve obvious runtime error revealing more subtle one 2016-07-11 22:05:38 +01:00
MiroslavR
9c6739f1b3 Fix doubled particle spawn range 2016-07-11 22:40:58 +02:00
AnyOldName3
fbe6dc9704 Change compilation error to runtime exception and decide that inheriting from std::string may have been a bad idea in C++ 2016-07-11 21:33:36 +01:00
AnyOldName3
7697406467 Partially fix '2 overloads have similar conversions' compilation error 2016-07-11 14:39:38 +01:00
AnyOldName3
2a9b12bb3f Fix an issue preventing compilation, revealing another that doesn't make much sense. 2016-07-11 14:15:35 +01:00
AnyOldName3
c1ffc9e776 Remove a compilation error and set up framework to remove the others 2016-07-11 01:59:16 +01:00
AnyOldName3
e17e354e84 Make # only start a comment in openmw.cfg if it starts a line and introduct compilation errors 2016-07-11 01:16:32 +01:00
MiroslavR
2a987b6857 Do not skip inactive keyframe controllers (Bug #1942) 2016-07-10 19:02:28 +02:00
scrawl
9375cbea44 Make NIFFilePtr const 2016-07-10 17:10:19 +02:00
scrawl
da0e20edcd Merge pull request #991 from MiroslavR/opface
Implement Face instruction (Feature #1424)
2016-07-10 02:10:23 +02:00
MiroslavR
f6f3f71db5 Improve format specifiers for message boxes 2016-07-09 03:18:45 +02:00
MiroslavR
dc0bc5b68c Implement Face instruction (Feature #1424) 2016-07-09 02:16:47 +02:00
Koncord
1b259e2d33 Syncing inventory, animations, position, 8 key attributes
Created Package system
2016-07-07 23:50:48 +08:00
scrawl
e362e3e6a5 Fix cppcheck warnings 2016-07-07 23:50:48 +08:00
scrawl
dca0e2f582 Pass a Vec4f by reference 2016-07-07 23:50:48 +08:00
scrawl
215567c9c3 Update ScriptArgs documentation 2016-07-07 23:50:48 +08:00
scrawl
e9b02a13c3 Ignore extra arguments in playSound and playSound3D.
A common mistake in mods is to use playSound with volume/pitch arguments, which only playSoundVP supports. Previously these extra arguments raised a parser error, making the respective mod unusable.
2016-07-07 23:50:48 +08:00
scrawl
f375d07c16 ExprParser: Warn about ignored arguments 2016-07-07 23:50:48 +08:00
scrawl
84a9df9793 Do not discard root node transformations if the root node is named 'bip01' (Bug #3118) 2016-07-07 23:50:48 +08:00
scrawl
8f62ea2e80 Fix for "RigGeometry rendering with no skeleton" errors 2016-07-02 20:19:55 +02:00
scrawl
b9b73d7b12 Replace "sys::default" with ESM::CellId::sDefaultWorldspace 2016-07-02 19:48:11 +02:00
scrawl
d5f497c47d Pass the node path instead of the node visitor 2016-07-02 19:27:19 +02:00
scrawl
6fa95e72c5 Pass the traversal number instead of the node visitor 2016-07-02 19:26:11 +02:00
MiroslavR
54f52f7bae Implement effect removal for abilities (Fixes #3455) 2016-07-01 18:50:28 +02:00
MiroslavR
b99611a730 Initialize mSpecIncreases in ESM::NpcStats::load 2016-06-26 15:16:32 +02:00
MiroslavR
dfc62c99b4 Show correct class image in level-up dialog (Fixes #3443) 2016-06-26 03:22:58 +02:00
scrawl
824cd3be22 Do not set _boundingBoxComputed which is no longer used 2016-06-14 22:25:25 +02:00
scrawl
372f2e2f18 Merge pull request #962 from Allofich/AIPackageFixes
Duration fixes for Follow and Escort
2016-06-14 20:47:32 +02:00
Allofich
3bebbab78e Duration fixes for Follow and Escort 2016-06-15 02:11:30 +09:00
scrawl
197e81206a Assume mDeathAnimationFinished is true for older save files 2016-06-12 19:46:00 +02:00
scrawl
a825882c6b Process death events at the end of the death animation (Fixes #1873) 2016-06-12 00:04:50 +02:00
scrawl
cb8daaaee1 Do not query the texture's image in osgMyGUI::OSGTexture
Doing so could result in a race condition if the draw thread is about to delete the image (UnRefImageDataAfterApply enabled)
2016-06-11 18:26:20 +02:00
Allofich
55ac1fab68 Change Wander duration to run on a counter 2016-06-10 04:36:18 +09:00
Marc Zinnschlag
b079db7913 Merge remote-tracking branch 'aesylwinn/EditPathgrid' 2016-06-07 08:35:16 +02:00
Roman Proskuryakov
3bcd23022a Rewrites FindBullet using LibFindMacros handling version properly 2016-05-31 07:18:37 +03:00
Aesylwinn
b83f522ecd Changes to color scheme, slight change to drag indicator,
change tooltip description.
2016-05-29 13:26:29 -04:00
Aesylwinn
564d0db68c Move pathgrid abstraction handling to save code. 2016-05-26 22:11:27 -04:00
scrawl
3749821809 Choose a random death animation for actors that start the game as dead (Fixes #3397) 2016-05-19 21:40:05 +02:00
Aesylwinn
1781aaaa27 Drag indicator. 2016-05-18 12:17:26 -04:00
scrawl
04b537bf5f Minor cleanup 2016-05-15 16:38:04 +02:00
scrawl
85b0c4393b Remove obsolete code 2016-05-15 16:37:22 +02:00
scrawl
6e0c3b2413 Revert commit 16ac6e7aac (Fixes #3394) 2016-05-15 16:28:04 +02:00
scrawl
62018e802b Minor fix to particle system AutoPlay flag handling
The previous commit broke some magic effects (e.g. shield). The controller's emit start/stop times should control the emitter, while the absence of the ParticleSystem's autoplay flag should freeze the whole particle system if no valid controller source gets assigned. This revised version works for both the Shield effect and the "dagoth ur death sparkles" effect.
2016-05-14 22:55:14 +02:00
scrawl
7202072196 Freeze particle systems on construction if the AutoPlay flag is missing 2016-05-14 22:38:49 +02:00
scrawl
0c08f705c5 Make the ParticleSystemController freeze the particle system instead of the emitter (Bug #3390) 2016-05-14 22:36:53 +02:00
scrawl
e30bb31a79 Handle the particle node's AutoPlay flag (Bug #3390) 2016-05-14 22:35:34 +02:00
Aesylwinn
32ba5bf8b8 Initial pathgrid editting, support for selection and movement. 2016-05-12 19:35:49 -04:00
scrawl
fcbcc004a3 Don't use unordered_map 2016-05-11 02:35:17 +02:00
scrawl
17a0353a85 Fix forward declaration mismatch 2016-05-10 17:36:25 +02:00
scrawl
a7e6219091 Merge pull request #939 from kpp/rewrite_esm_name_t
Rewrite ESM::NAME_T
2016-05-08 13:15:05 +02:00
Marc Zinnschlag
b4e341e1e2 Merge remote-tracking branch 'aesylwinn/RenderPathgrid' 2016-05-08 10:15:12 +02:00
Roman Proskuryakov
d5dfa89060 Rewrite NAME_T into FIXED_STRING. 2016-05-07 23:27:33 +03:00
Roman Proskuryakov
1e7d573f24 Fix uninitialized values in ESMWriter::save 2016-05-07 20:40:21 +03:00
Aesylwinn
14ae232938 Remove now unnecessary factory class.
It was originally used for storing normals, but that functionality
was removed.
2016-05-03 16:13:23 -04:00
Aesylwinn
b11f5b2717 Make edges differently colored. 2016-05-03 15:06:28 -04:00
Aesylwinn
0eb863d8fc Change color to blue to match the pathgrid visibility selector in the
editor and slightly increase the scaling.
2016-05-03 03:29:34 -04:00
Aesylwinn
7f0cc6e583 Add a color gradiant to pathgrid nodes to make them less of an eyesore. 2016-05-03 03:29:30 -04:00
Aesylwinn
3d26ff08c4 Get rid of lighting. 2016-05-03 03:29:07 -04:00
Aesylwinn
d141672b53 Pathgrid geometry creator 2016-05-02 22:09:48 -04:00
scrawl
5f34fb0c41 Remove call to MYGUI_DBG_BREAK which was removed in mygui-git 2016-04-20 11:37:48 +02:00
scrawl
f3e9fd49f3 Don't add the autodetected mw path in global config file
The wizard takes care of detecting the MW installation path already. By having this path permanently in the global cfg-file, there exists no way to *not* use an autodetected installation, which is a problem.
2016-04-17 17:17:07 +02:00
scrawl
2f8be401cc Add the unref work items to the front of the workqueue (Bug #3273)
Ensures that memory still gets freed even if the workqueue is overloaded.
2016-03-29 00:27:56 +02:00
scrawl
bc36269617 When a controller is present more than once in the same keyframe file, pick the first one (Fixes #2719) 2016-03-26 14:59:49 +01:00
scrawl
8052225460 Remove leftover call to setTexCoordArrayList 2016-03-23 22:56:04 +01:00
scrawl
cc0afe901f Store a pointer to tangents array to avoid potential type casting issue 2016-03-23 17:03:04 +01:00
scrawl
d1f6169889 Add special handling of RigGeometry tangents in ShaderVisitor 2016-03-23 16:48:41 +01:00
scrawl
95e80e7eff RigGeometry: don't directly modify the primitive set list
This is to ensure that an element buffer object will be assigned to the primitive sets if necessary.
2016-03-23 00:10:22 +01:00
scrawl
c73ec71123 Revert "Store the RigGeometry's source vertices and normals directly"
This reverts commit 7a347e3483.
2016-03-22 23:28:57 +01:00
scrawl
60c8c4fdda Revert "Animate tangents in RigGeometry"
This reverts commit 9cf963b751.
2016-03-22 23:28:52 +01:00
scrawl
9cf963b751 Animate tangents in RigGeometry 2016-03-22 22:14:35 +01:00
scrawl
7a347e3483 Store the RigGeometry's source vertices and normals directly 2016-03-22 22:01:56 +01:00
scrawl
6f31b3d79f Add parallax mapping for objects 2016-03-22 21:46:15 +01:00
scrawl
df6fd5f206 Recognize normalHeightMap in the ShaderVisitor 2016-03-22 21:46:15 +01:00
scrawl
157c11398d Add terrain parallax mapping 2016-03-22 21:46:15 +01:00
scrawl
24ae9f4ac1 Remove no longer needed apply(Geode&) in SetFilterSettingsVisitor and NodeToShapeVisitor
In OSG 3.4 (which is now a requirement), Drawables are normal Nodes attached in the scene graph. Geode is still provided for backwards compatibility, but does not need to be specially handled here because it now functions just like a normal Group node.
2016-03-14 00:38:22 +01:00
scrawl
e8caafa190 Remove no longer needed applyEffect(osgFX::Effect&) in SetFilterSettingsVisitor
No longer needed because terrain texture filtering is now updated manually in TerrainGrid::updateTextureFiltering.
2016-03-14 00:31:43 +01:00
scrawl
d7c7bb850b ToggleAI cleanup 2016-03-12 20:32:42 +01:00
scrawl
d986b1a48b Add comment 2016-03-11 19:28:53 +01:00
scrawl
1abb77f8a1 Cleanup 2016-03-11 19:18:51 +01:00
scrawl
9f03982e0b Use a dedicated VBO for RigGeometry's vertices and normals
The VBO used by the source geometry's arrays may be unintentionally shared with other RigGeometries.

The vertices and normals are the only attributes that are modified at all, so using a dedicated VBO for these should improve performance further.
2016-03-11 19:08:48 +01:00
scrawl
50b8260a39 Disable VBOs in RigGeometry while investigating a crash possibly related to commit cda8a88f0d 2016-03-11 18:21:55 +01:00
scrawl
aae43dbff5 Set the MorphGeometry vertex buffer object usage to GL_DYNAMIC_DRAW 2016-03-11 16:10:39 +01:00
scrawl
4eb090a8d0 Set the RigGeometry vertex buffer object usage to GL_DYNAMIC_DRAW 2016-03-11 16:09:48 +01:00
scrawl
174dd82894 Manually apply the osg::Light state
Reduce the amount of virtual function calls. Don't use the osg::Light's lightNum. Don't set spotlight state that we're not using (yet).
2016-03-11 15:43:20 +01:00
scrawl
58e0e8bd4e Enable vertex buffer objects in RigGeometry 2016-03-11 01:39:09 +01:00
scrawl
0dbf44b414 Enable vertex buffer objects in MyGUI RenderManager now that OSG 3.4 is a dependency 2016-03-11 01:35:57 +01:00
scrawl
3f08cbff71 Share the state attributes for terrain techniques
Reduces the total amount of GL calls / frame by about 14% - 50% depending on the scene.
2016-03-11 01:08:53 +01:00
scrawl
84b8da7a09 Share the osg::Material on drawables
Reduces the number of GL calls / frame by ~4%.
2016-03-11 01:06:54 +01:00
scrawl
abcfe9bcee Don't add empty text key objects 2016-03-10 17:01:14 +01:00
scrawl
02d23564dc Include cleanup 2016-03-10 14:29:45 +01:00
scrawl
f898bf493f Don't use Geodes 2016-03-10 13:17:01 +01:00
scrawl
137dde7cf8 Include cleanup 2016-03-10 12:59:17 +01:00
scrawl
121bdd3e39 Update comment 2016-03-07 22:46:15 +01:00
scrawl
3e6cf17665 Warn about cellrefs with an empty refId (Bug #3238) 2016-03-07 22:44:03 +01:00
scrawl
0df975a4d7 Properly detach nodes in CopyRigVisitor (Fixes #3234) 2016-03-06 11:33:07 +01:00
scrawl
82b792f808 Eliminate dynamic_cast in BillboardCallback 2016-03-05 20:02:33 +01:00
scrawl
2eaf96e3bf Make ResourceManager destructor virtual 2016-03-02 21:58:11 +01:00
scrawl
dd2fbfc0a2 Fix windows build 2016-03-02 21:57:25 +01:00
scrawl
3d6323f13a Force-enable hasWater() for exterior cells (Fixes #3222) 2016-03-02 17:02:30 +01:00
scrawl
563807ee53 Share the StateSet used to invert front face 2016-03-02 13:33:44 +01:00
scrawl
6e7c6fdd7e Implement NiTexturingProperty::DecalTexture 2016-03-01 18:41:36 +01:00
scrawl
30d06bfe0e Add comment 2016-03-01 17:27:54 +01:00
scrawl
64636bd85a Improve error reporting 2016-03-01 17:05:02 +01:00
scrawl
2821f46a18 Corpse clearing fix 2016-03-01 11:31:08 +01:00
scrawl
8791063110 Fix "RigGeometry rendering with no skeleton" warnings in rare cases 2016-02-29 18:20:56 +01:00
scrawl
1e5b4bea0a Don't create an unnecessary osg::Group when copying over a rig 2016-02-29 17:50:18 +01:00
scrawl
27577ce765 Add ESM::Land::DEFAULT_HEIGHT 2016-02-28 16:49:18 +01:00
Marc Zinnschlag
ebaeabc962 Merge remote-tracking branch 'scrawl/respawn' 2016-02-28 10:19:14 +01:00
scrawl
3a2dccad4b Implement 'Show' script instruction 2016-02-27 13:40:53 +01:00
scrawl
c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 2016-02-27 12:53:07 +01:00
scrawl
f99cd15f00 Vanilla-compatible activate / onActivate (Fixes #1629)
See https://forum.openmw.org/viewtopic.php?f=6&t=3074&p=34618#p34635
2016-02-26 13:08:35 +01:00
scrawl
195c3b9967 Merge pull request #904 from sandstranger/disable_opengles_anddroid
disable opengl es for Android by default
2016-02-25 21:39:25 +01:00
scrawl
cdccf03228 Fix mismatched delete 2016-02-25 21:32:42 +01:00
sandstranger
a7b78b37f5 disable opengles for Android by default 2016-02-25 22:39:18 +03:00
scrawl
5f4ace1bc2 Implement support for sphere map NiTextureEffects (Fixes #1827) 2016-02-24 21:06:41 +01:00
scrawl
062410bd8c Don't incorrectly remove TexEnv state 2016-02-23 10:56:18 +01:00
scrawl
90a99991d1 Use empty() instead of !size() 2016-02-22 19:06:12 +01:00
scrawl
8bd16e4d5a Don't compute the world matrix multiple times 2016-02-22 18:58:19 +01:00
scrawl
055d35a2b0 Revert "Warn about particle emitters that have multiple parent node paths"
Not working correctly because osg won't ignore camera nodes.

This reverts commit 1667c807be.
2016-02-22 18:10:25 +01:00
scrawl
1667c807be Warn about particle emitters that have multiple parent node paths 2016-02-22 15:21:06 +01:00
Marc Zinnschlag
f9f91d5386 Merge remote-tracking branch 'origin/master' 2016-02-21 09:01:17 +01:00
scrawl
cee608e31b Make it work with appveyor's outdated OSG build 2016-02-21 01:41:50 +01:00
scrawl
8e826eefe6 Add missing initialization 2016-02-21 01:26:45 +01:00
scrawl
e25e0a0600 ShaderVisitor: assume the first texture unit is the diffuseMap 2016-02-20 23:47:32 +01:00
scrawl
e7682e04ae Cleanup 2016-02-20 22:09:41 +01:00
scrawl
cdefee3e64 Add call to MultiObjectCache::releaseGLObjects 2016-02-20 20:38:37 +01:00
scrawl
4ca6e91292 Fix in-code default settings so that we don't attempt to use shaders in OpenCS 2016-02-20 20:36:29 +01:00
scrawl
8f81df2bd3 Cleanup 2016-02-20 20:34:56 +01:00
scrawl
0db7163363 Add specular mapping for terrain 2016-02-20 19:55:08 +01:00
scrawl
171e293641 ShaderManager: insert #line directives when including files 2016-02-20 19:55:08 +01:00
scrawl
f01e8a6950 Add specular mapping for objects 2016-02-20 19:55:08 +01:00
scrawl
5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
2016-02-20 18:00:43 +01:00
scrawl
6a0ac824bd Fix terrain error in OpenCS 2016-02-19 15:00:58 +01:00
scrawl
7071d286e8 Fix inverted check for 16-bit indices 2016-02-19 14:59:47 +01:00
scrawl
4e5462bc19 Don't attempt to create a collision shape for an empty TriShape 2016-02-19 14:23:55 +01:00
scrawl
ca0e1fe0e0 Set the osg::Material on the terrain root node 2016-02-19 01:45:28 +01:00
scrawl
6000e48bba Add terrain shaders and normal map support
Textures with _n filename suffix are automatically recognized as terrain normal maps.
2016-02-19 01:37:30 +01:00
scrawl
5e12a1b4ef Add enchanted item glow to the shader 2016-02-18 23:05:44 +01:00
scrawl
268594dcf1 Recreate shader in NpcAnimation::setAlpha 2016-02-18 22:48:53 +01:00
scrawl
a73512afb7 Add shader settings to settings.cfg 2016-02-18 19:38:34 +01:00
scrawl
21c4dffed2 Add #include support in shaders 2016-02-18 19:37:58 +01:00
scrawl
22cc5c0965 Cache the Program 2016-02-18 19:37:58 +01:00
scrawl
456816f707 Use diffuse.a / vertex.a, use material emission 2016-02-18 19:37:58 +01:00
scrawl
3e854a84a2 Slightly more efficient applying of light state 2016-02-18 19:37:57 +01:00
scrawl
f93b7ec943 Fix light state issue
GLSL does not respect gl_Disable(GL_LIGHTX), so we have to set unused lights to zero.

Sadly, this change makes the applying of the modelView matrix less efficient. So far I couldn't find a better solution, osg's state tracker keeps getting in the way. :(
2016-02-18 19:37:57 +01:00
scrawl
9376811213 Vertex lighting shader 2016-02-18 19:37:57 +01:00
scrawl
a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
2016-02-18 19:37:56 +01:00
scrawl
e647ee5424 Support RGB and RGBA embedded textures in NIF files (Fixes #2295) 2016-02-18 19:37:56 +01:00
scrawl
a9ac108382 Fully read NiPixelData 2016-02-18 19:37:56 +01:00
scrawl
606758d72f NifLoader: create the BumpTexture slot, but don't use it yet 2016-02-18 19:37:56 +01:00
scrawl
4cd4131da9 NifLoader: assign a name to created textures
This name will tell the shader visitor how to handle that texture.
2016-02-18 19:37:56 +01:00
scrawl
50e92c8136 NifLoader: move texture property handling to a separate function 2016-02-18 19:37:56 +01:00
scrawl
acf44fd9e5 NifLoader: handleTextureControllers outside of the NumTextures loop 2016-02-18 19:37:55 +01:00
scrawl
e05d975020 Change the way that texture filtering settings are applied at runtime 2016-02-18 19:37:55 +01:00
scrawl
a94029267f Fix an inverted condition (Bug #3209) 2016-02-18 01:25:52 +01:00
scrawl
c4d38bb42d Fix clang analyzer warnings 2016-02-16 19:17:04 +01:00
scrawl
ed57293e54 Allow '^' escape characters in books
http://forum.openmw.org/viewtopic.php?f=2&t=3373&p=37584&sid=1a0b015e6716b1bced37fd398ef876c7
2016-02-16 14:55:13 +01:00
scrawl
9eb96b9cb6 Parse the bullet version in FindBullet.cmake 2016-02-15 14:34:59 +01:00
scrawl
83a9a164bc Raise the required bullet version to 2.83
2.82 appears to have a bug that causes the player to be able to phase through certain objects (bug #1587).
2016-02-15 00:33:17 +01:00
Marc Zinnschlag
28e3fe837f Merge remote-tracking branch 'scrawl/osg_34' 2016-02-14 17:31:33 +01:00
scrawl
eaf3f5a829 Remove unused arguments 2016-02-13 04:14:05 +01:00
scrawl
6fc6913424 Do not set the cursor when creating it 2016-02-13 03:34:09 +01:00
scrawl
5824619a95 Clean up includes 2016-02-12 19:28:10 +01:00
scrawl
8b596dfcbe Remove support for OSG 3.2
Since commit e8662bea31, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
2016-02-12 14:46:45 +01:00
scrawl
be6ea3d607 Account for UV coordinate flip in UVController (Fixes #3203) 2016-02-11 16:22:54 +01:00
Marc Zinnschlag
da6dcfc49e Merge remote-tracking branch 'scrawl/resource' 2016-02-10 16:23:38 +01:00
scrawl
5e876b1379 Add missing include 2016-02-10 15:34:06 +01:00
scrawl
98c5e072f2 Swap the terrain cache update order to make more sense 2016-02-09 21:17:10 +01:00
scrawl
9f729667fb Remove debug output 2016-02-09 21:16:11 +01:00
scrawl
0865cea211 Preload terrain 2016-02-09 21:16:11 +01:00
scrawl
98848c752a Make getLayerInfo thread safe 2016-02-09 20:26:58 +01:00
scrawl
8aba74e6ee Remove GridElement 2016-02-09 20:23:53 +01:00
scrawl
596fe56bfd Make Land::loadData thread safe 2016-02-09 20:21:56 +01:00
scrawl
afe533e670 Accept a const Object in UnrefQueue 2016-02-09 19:00:30 +01:00
scrawl
246566cef4 Preload instances in BulletShapeManager 2016-02-09 18:48:49 +01:00
scrawl
e28dc3e72f Preload instances in SceneManager 2016-02-09 18:35:26 +01:00
scrawl
2e62298bd3 Clean up ObjectCache includes 2016-02-09 18:11:07 +01:00
scrawl
40a6e05e17 Use a deque instead of vector in UnrefQueue 2016-02-09 16:09:55 +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
84f01b7527 Remove unneeded forward declaration 2016-02-08 16:27:28 +01:00
scrawl
b2019d31c7 Mark thread safe methods in BsaFile 2016-02-08 15:55:05 +01:00
scrawl
e4e313fe12 Remove outdated comment 2016-02-08 14:41:21 +01:00
scrawl
c8054424c9 Preload items equipped by NPCs 2016-02-07 22:37:52 +01:00
scrawl
a81b10b415 Make the cache expiryDelay configurable 2016-02-07 19:05:55 +01:00
scrawl
41233fc8e5 Keep a reference to the original scene template for as long as the instance is used 2016-02-07 18:56:21 +01:00
scrawl
778bce3ae9 Remove unused ObjectCache functions 2016-02-07 18:27:12 +01:00
scrawl
49ecac4ced Add a mutex lock around the SharedStateManager 2016-02-07 07:37:35 -08:00
scrawl
c3ad4dad75 Fix applying of filter settings on terrain textures 2016-02-07 05:53:56 -08:00
scrawl
8b981ab507 Crash fix 2016-02-07 05:53:42 -08:00
scrawl
c155680d3c Customize ObjectCache for more efficient locking in removeExpiredObjectsInCache 2016-02-07 00:43:37 +01:00
scrawl
d855a13b44 Clear the resource cache from the worker thread 2016-02-07 00:36:31 +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
e055ae094a Improve const-correctness in BulletShapeManager
Sadly, two const_cast's are needed to work around Bullet API quirks.
2016-02-07 00:14:13 +01:00
scrawl
b7e69cbc64 Refactor WorkQueue, merge WorkTicket and WorkItem
Allow the caller to hold on to the WorkItem. This makes it possible for a derived WorkItem to store the result of the work within the WorkItem itself.
2016-02-06 22:42:45 +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
e02f35264f Work around OSG 3.2 not respecting the DEEP_COPY_CALLBACK flag (Fixes #3183) 2016-02-06 15:08:12 +01:00
scrawl
ea1efaac0c Use the osgDB::ObjectCache in SceneManager, cleanup 2016-02-06 00:15:12 +01:00
scrawl
909c4d96b6 Use the osgDB::ObjectCache in BulletShapeManager 2016-02-05 23:59:37 +01:00
scrawl
6c1c653cba Use the osgDB::ObjectCache in ImageManager
Should be thread safe now.
2016-02-05 23:31:59 +01:00
scrawl
9e5225bb6f Do not unref a Texture's image data after applying it 2016-02-05 23:21:54 +01:00
scrawl
9e53e12c70 More renaming of TextureManager -> ImageManager 2016-02-05 23:10:27 +01:00
scrawl
5ee3d1698f Remove getWarningTexture in favor of getWarningImage 2016-02-05 23:05:43 +01:00
scrawl
f99f403dda Rename TextureManager to ImageManager 2016-02-05 23:03:53 +01:00
scrawl
6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
2016-02-05 23:01:11 +01:00
scrawl
fbd4ad9b0c Flip terrain textures 2016-02-05 22:46:15 +01:00
scrawl
71401aafe7 Handle multipass techniques in SetFilterSettingsVisitor 2016-02-05 21:08:32 +01:00
scrawl
31988ca4cc Add a dont_override_filter description for textures that should be left alone 2016-02-05 21:07:08 +01:00
scrawl
e8662bea31 Change the way that image origin is converted to OpenGL's lower-left convention
Flip the texture coordinates instead of flipping textures.

This simplifies the TextureManager (no need to worry if the caller wants flipping or not), should make it easier to generalize & multithread it.
2016-02-05 21:03:11 +01:00
scrawl
6ac688c0e2 Change the way that texture filtering setting changes are applied at runtime to not require keeping a reference to textures
The references would be difficult to clean up because there may or may not be another reference to the texture in the osgDB::SharedStateManager.
2016-02-05 21:03:11 +01:00
scrawl
e2ee1d5689 Use separate textures for the MyGUI RenderManager
This means we can more reliably set the filter parameters.

I believe this commit creates a regression where non-DDS GUI textures would display upside down, which will be addressed by further refactoring in the next commits.
2016-02-05 21:03:10 +01:00
scrawl
5b972ee777 Move texture filtering settings to SceneManager
Practical benefits:

- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
2016-02-05 21:03:10 +01:00
scrawl
b06730ac61 Fix terrain textureCompileDummy 2016-02-05 21:02:16 +01:00
scrawl
2eda495f89 Build fix for OSG 3.2 2016-02-03 19:05:15 +01:00
scrawl
06ed20abf8 Use the initial pose of a MorphGeometry for object placement (Fixes #3136) 2016-02-03 18:53:38 +01:00
scrawl
8360cccce7 Don't clone Drawable UpdateCallbacks twice
The Drawable copy constructor takes care of that already.
2016-02-01 21:02:48 +01:00
scrawl
6b48acaf0e Don't optimize TriShapes with controllers (Fixes #3143) 2016-02-01 21:01:17 +01:00
scrawl
d9290b0ee0 Array fix 2016-01-25 21:13:38 +01:00
scrawl
aec8c38461 Move observer_ptr include where it belongs 2016-01-25 21:03:33 +01:00
scrawl
48f53e23bf Allow alternate mesh formats for marker_error 2016-01-25 17:15:54 +01:00
Tobias Kortkamp
0659687bfb Some fixes for building on FreeBSD 2016-01-25 14:13:16 +01:00
scrawl
f0971ee8ad Implement Fixme script instruction 2016-01-20 04:07:07 +01:00
scrawl
41c571d4f4 Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
Conflicts:
	apps/opencs/view/render/instancemode.cpp
2016-01-15 15:46:10 +01:00
scrawl
62fe47b144 Load default terrain if there is none defined 2016-01-14 16:41:50 +01:00
scrawl
458a305bff OpenCS: add lighting mask 2016-01-11 23:14:43 +01:00
scrawl
e1c7165bfb Fix bounds calculation for addLight to a transform node 2016-01-11 23:14:43 +01:00
scrawl
93cc08a09c Lighting fix for LightListCallbacks attached to a Transform node 2016-01-11 23:10:16 +01:00
scrawl
3089aeccc4 Factor out SceneUtil::addLight 2016-01-11 23:10:16 +01:00
scrawl
438b30d6f0 Move configureLight to a separate file 2016-01-11 23:10:16 +01:00
scrawl
11496b8075 Read fallback settings in OpenCS 2016-01-11 23:10:16 +01:00
scrawl
6546c05428 Move Fallback map to components/ 2016-01-11 23:10:16 +01:00
Marc Zinnschlag
ece40b1e96 improved the remaining handling of extra arguments 2016-01-07 16:07:49 +01:00
Marc Zinnschlag
46e32de350 improved handling of extra arguments in DiscardParser 2016-01-07 16:01:01 +01:00
Marc Zinnschlag
f9607a47b3 improved handling of extra arguments in StringParser 2016-01-07 15:54:22 +01:00
Marc Zinnschlag
210c77968a Don't report warning about extra arguments, if there are no extra arguments (Fixes #3133) 2016-01-07 15:38:23 +01:00
scrawl
daa94cc50e Fix cppcheck warnings 2016-01-03 20:19:38 +01:00
scrawl
0597c8fd9c Pass a Vec4f by reference 2016-01-03 16:43:20 +01:00
scrawl
ea0be6e737 Update ScriptArgs documentation 2016-01-03 00:13:01 +01:00
scrawl
23cd2056bf Ignore extra arguments in playSound and playSound3D.
A common mistake in mods is to use playSound with volume/pitch arguments, which only playSoundVP supports. Previously these extra arguments raised a parser error, making the respective mod unusable.
2016-01-03 00:13:01 +01:00
scrawl
e695619aa5 ExprParser: Warn about ignored arguments 2016-01-03 00:02:58 +01:00
scrawl
3ebfb47983 Do not discard root node transformations if the root node is named 'bip01' (Bug #3118) 2016-01-02 01:30:06 +01:00
Alexander "Ace" Olofsson
0efb8e2949 osgDB::ObjectCache was added in 3.3.3, not 3.4.0
Fixes redefinition error on builds with OSG >3.3.3 <3.4.0
2015-12-24 17:18:32 +01:00
scrawl
deb7f3caf6 Print deletion state in ObjectReferenceInfo 2015-12-17 20:17:38 +01:00
scrawl
723c392a73 NifLoader: fall back to the first UV set when encountering invalid UV set references 2015-12-17 04:05:39 +01:00
scrawl
0731595c2b Wrap a Texture2D in a ref_ptr 2015-12-17 03:38:38 +01:00
scrawl
31c3324705 Don't assume the emitter node is a Group (Fixes #3082)
This would be a correct assumption by default, but is no longer true when the NifLoader::optimize() function optimizes the graph.
2015-12-17 03:38:26 +01:00
scrawl
d5a2586f38 LoadingScreen: add support for important labels
Used in saveGame so the player can be sure whether or not the game was saved.

Fixes #3074
2015-12-15 21:16:20 +01:00
scrawl
625644e917 LoadingScreen: documentation updates 2015-12-15 21:03:56 +01:00
scrawl
ccbba5e926 LoadingScreen: remove indicateProgress, not used 2015-12-15 20:52:23 +01:00
scrawl
78a733a12c Fix initialization of InputWrapper::mWindowHasFocus 2015-12-15 20:13:41 +01:00
scrawl
c70790ecb7 Remove outdated comment 2015-12-14 15:50:30 +01:00
scrawl
076dc539bc KeyframeManager fix 2015-12-14 15:11:06 +01:00
Chris Robinson
f1faeeae3a Use separate config options for min and mag texture filters 2015-12-13 17:05:19 -08:00
Chris Robinson
5c0a847eaf Combine some duplicate code 2015-12-13 16:51:27 -08:00
scrawl
64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 2015-12-13 15:31:07 +01:00
scrawl
295563ba65 Minor fix 2015-12-13 15:31:07 +01:00
scrawl
6f966b8434 Don't use osg::notify 2015-12-11 16:18:08 +01:00
Paul Cercueil
06719df868 Use the standard cursor if the custom cursor can't be used
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
2015-12-11 15:59:59 +01:00
scrawl
0efce6cd4c Fix typo in a comment 2015-12-10 00:15:55 +01:00
scrawl
eb92b853fe BulletNifLoader: preallocate the btTriangleMesh's vertices/indices 2015-12-10 00:05:35 +01:00
scrawl
293f3f30b5 Indentation fix 2015-12-09 23:30:24 +01:00
scrawl
57b7cac13f Merge pull request #850 from MatthewRock/fix-2952-2
Fix for bug #2952: Enchantment Merchant Items reshuffled EVERY time 'barter' is clicked
2015-12-09 20:12:45 +01:00
MatthewRock
3b254ad631 Allows the same item to have multiple ancestors 2015-12-09 18:24:35 +01:00
scrawl
bdae572264 Merge pull request #840 from scrawl/movedrefs
Object movement between cells
2015-12-09 14:10:57 +01:00
cfcohen
d00d487c3d Improved error reporting under POSIX using errno and strerror(). 2015-12-08 23:35:03 -05:00
scrawl
de84452e5a NifFile: close the stream after reading (Fixes #3070) 2015-12-09 04:52:00 +01:00
scrawl
39feb547a0 Broken lower casing fix (Fixes #3068) 2015-12-08 23:12:40 +01:00
MatthewRock
aa721fe1f6 Fix bug 2952 with merchant and levelled items 2015-12-08 22:39:11 +01:00
scrawl
624809c8dc Minor fix for error handling in skeleton.cpp 2015-12-08 16:50:54 +01:00
scrawl
07b064f616 Rename to lowerCaseInPlace 2015-12-07 22:49:15 +01:00
scrawl
e3d3380c8c Remove return value for in-place toLowerStr 2015-12-07 22:43:08 +01:00
scrawl
e4751c68e9 Typo fix 2015-12-07 22:30:02 +01:00
scrawl
42d68eb7fb Build fix 2015-12-07 22:29:57 +01:00
scrawl
f875597be5 Don't use tolower()
See https://forum.openmw.org/viewtopic.php?f=8&t=3231&p=35968
2015-12-07 21:58:30 +01:00
scrawl
9d4af59860 Don't attempt to create quest log buttons if textures are unavailable (Fixes #3063) 2015-12-07 15:33:04 +01:00
scrawl
671561ea37 Write moved references to the save game file (not resolved on loading yet) 2015-12-06 19:11:25 +01:00
scrawl
1d5af3c9c8 Remove unneeded cast 2015-12-06 15:44:27 +01:00
scrawl
e39f49a88f OSG extensions namespace fixes 2015-12-06 15:27:43 +01:00
scrawl
c60f4ba7bd Make RigGeometry bone references case-insensitive (Fixes #3058) 2015-12-05 15:02:35 +01:00
scrawl
258f7a2b42 LightController fixes 2015-12-05 00:38:06 +01:00
scrawl
4a9b37aa53 Fix copy constructor issue 2015-12-04 18:08:32 +01:00
scrawl
c442af09c5 Write more documentation for the lighting system 2015-12-04 18:08:32 +01:00
scrawl
462ef617ce Don't read forward/backward values for Quaternion key lists
https://forum.openmw.org/viewtopic.php?f=8&t=3201&p=35867#p35867
2015-12-04 00:18:54 +01:00
scrawl
8e9571d155 Double buffer the light StateAttributes and StateSets
Fixes a race condition where the position of a light could jump a frame ahead.
2015-12-04 00:06:22 +01:00
scrawl
1f8ee9b8d1 StateSetUpdater: use the frameNumber
More robust in case a node is updated twice in the same frame (e.g. because it has multiple parents).
2015-12-03 23:46:25 +01:00
scrawl
f22982d251 Merge pull request #835 from sandstranger/opengles1
enable opengl es1
2015-12-03 21:25:00 +01:00
scrawl
eb458bf9c8 Fix inactive RigGeometry not rendering correctly 2015-12-03 19:49:45 +01:00
sandstranger
7d374b36fd change cmake variables 2015-12-03 21:29:50 +03:00
Marc Zinnschlag
06efd72a89 allow keywords as strings in messagebox instruction (Fixes #2991) 2015-12-03 11:14:58 +01: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
647bed7f40 Do not read openmw.cfg from global path if one was found in the local path 2015-12-02 19:21:10 +01:00
scrawl
87e44bf627 Small fix 2015-12-02 15:21:13 +01: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
a29aef14f1 Eliminate a dynamic_cast in ParticleSystemController 2015-12-02 14:59:32 +01:00
scrawl
6cf2c35235 Don't rely on the _particles vector implementation details
This will allow compiling OpenMW with an osgParticle optimization to be pushed to OpenMW/osg.
2015-12-02 14:59:32 +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
c9d710f334 Use a typedef to avoid conditional compiling 2015-12-01 16:18:19 +01:00
Alexander "Ace" Olofsson
cfcbd20d99 Let's put it as a MSVC-only fix for now 2015-12-01 04:19:30 +01:00
Alexander "Ace" Olofsson
e42f4999bd Quick fix for building on MSVC 2015-12-01 04:06:34 +01:00
scrawl
e5ec4fe042 Add const specifier 2015-11-30 21:02:26 +01:00
scrawl
695fcf41c4 Optimize ValueInterpolator / KeyframeController
Cache the current position in the animation track and attempt to reuse it in the next frame.

Decent speed up for the Update phase, about 0.3 ms faster in Balmora.
2015-11-30 20:53:47 +01:00
scrawl
ac366f1603 Fix the rig bounds being updated twice per frame
Unlike what I expected, the osgUtil::UpdateVisitor is set to traverse all children (not only active children). The FrameSwitch was thus traversing both RigGeometries part of the double-buffering scheme, rather than only the one active in the current frame.
2015-11-30 05:42:31 +01:00
scrawl
e49bce7b40 Share the bvh of btBvhTriangleMeshShape's when possible
Results in decent cell-loading speed up. (only affects bullet versions < 2.83, since we use btScaledBvhTriangleMeshShape for >=2.83)
2015-11-30 02:06:29 +01:00
scrawl
d5a738bd39 Apply 27e669296e (locale-unaware tolower) to more code
In particular, the one in VFS::normalizeFilename was affecting cell loading performance.
2015-11-30 00:38:52 +01:00
scrawl
f962ce0bbe Don't link against unnecessary OSG libraries 2015-11-29 19:56:43 +01:00
Marc Zinnschlag
2bef714d34 Merge remote-tracking branch 'emperorarthur/no_relative' 2015-11-28 10:01:05 +01:00
Arthur Moore
c66fd69c47 Fix #include error 2015-11-27 21:20:54 -05:00
Arthur Moore
4c0c20b1a0 Changed relative includes to library header format 2015-11-27 21:01:28 -05:00
scrawl
30cc633f2c Missing include fix 2015-11-27 22:21:01 +01:00
scrawl
35fa1f5865 Not found Land Textures are no longer a fatal error (Bug #3037)
Log warning message and show the default texture when encountering invalid ESM::LandTexture references.
2015-11-27 21:57:24 +01:00
scrawl
177a6f4a68 Launcher: ensure to clear previous settings when reloading settings 2015-11-27 20:52:29 +01:00
scrawl
ace4cfc0a8 Fix 'duplicate setting' errors when running installation wizard 2015-11-27 20:32:45 +01:00
Marc Zinnschlag
7cc950ed64 Merge remote-tracking branch 'origin/master' 2015-11-27 10:34:22 +01:00
scrawl
27e669296e StringUtils: use the locale-unaware tolower function
There is no change in behaviour since we were using the C locale.

The locale-aware tolower is much slower than the locale-unaware one. At least on Linux/GCC it calls dynamic_cast's, and is overall slower by an order of magnitude.
2015-11-27 03:22:52 +01:00
scrawl
fbee32729a Cache CellId
ESM::Cell::getCellId() was allocating a string on every call. This caused functions dealing with cellIds to be unnecessarily expensive.

For example, World::moveObject spent almost as much time comparing CellIds as it did updating Bullet's AABB after the move. OpGetDistance was by far the most expensive script instruction because it has to compare cellIds.

The total cost of getCellId() relative to the frame loop was about 0.3%.
2015-11-26 23:56:32 +01:00
cfcohen
7605912ece Merge branch 'master' of https://github.com/OpenMW/openmw into config_writer_changes 2015-11-26 00:57:21 -05:00
cfcohen
ad5eaaa705 Update the OpenMW Launcher so that it only writes changed values to
the user settings.cfg file.  Add a helpful header to the top of new
settings.cfg files.  Remove old code involve whitespace management
that didn't work correctly anayway, and doesn't matter since we're not
adding comments to the file.  Remove "automatically generated"
comments.
2015-11-25 21:30:04 -05:00
scrawl
8a3ec14bc6 Revert "Merge remote-tracking branch 'sandstranger/opengles'"
This reverts commit cc9cab6fd1, reversing
changes made to da856eed95.
2015-11-25 19:22:48 +01:00
Marc Zinnschlag
ef68e2aec4 Merge remote-tracking branch 'origin/master' 2015-11-25 19:18:17 +01:00
cfcohen
67c4b17581 Commit files that I thought wre in the previous commit. :-[ I'm
accustomed to the hg behavior of commiting all modified files by
default.
2015-11-25 13:17:03 -05:00
scrawl
1b77428c59 Use const reference, thanks ace13 2015-11-24 03:42:35 +01:00
cfcohen
6882e6451a Remove tabs. :-[ 2015-11-23 20:18:39 -05:00
cfcohen
9a975a2e68 Substantial rewrite of code to save settings.cfg file, allowing
comments to persist, ordering of settings to be retained, additional
reporting of changed settings, preservation of the settings.cfg
timestamp when no changes are made, and foundational changes for
possible future features.  Due to poor interaction with the
openmw-launcher settings code, the launcher will still discard all of
these benefits.
2015-11-23 20:17:26 -05:00
sandstranger
16c6816a6f add forgotten file for building on opengles 2015-11-23 20:42:30 +03:00
sandstranger
69acacefff openmw building on Android with Opengl es 2015-11-23 20:28:35 +03:00
scrawl
38510a56c2 GeomMorpherController: do not dirty the MorphGeometry unless necessary 2015-11-22 21:24:00 +01:00
scrawl
0d49c7fa51 GeomMorpherController: fix double update of MorphGeometry 2015-11-22 21:23:46 +01:00
scrawl
28b20428b9 Remove dynamic_cast in GeomMorpherController 2015-11-22 20:33:22 +01:00
scrawl
94e8560bf8 RigGeometry: do not allocate new NodePath every frame 2015-11-22 20:01:09 +01:00
scrawl
6d5aa272fc RigGeometry: do not update the geomToSkelMatrix more than once per frame 2015-11-22 19:54:27 +01:00
scrawl
75a464f7ec Fix a typo 2015-11-22 19:54:27 +01:00
scrawl
fc7456e0a1 Explicitely opt for float matrices in performance critical places 2015-11-22 19:54:27 +01:00
scrawl
ffea9ec2c4 Remove comment
SharedStateManager::prune is run automatically during the update traversal.
2015-11-22 19:54:26 +01:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
36e91617c9 Revert "NifOsg::Emitter: ignore psToWorld scale"
This reverts commit 7c16630874.

Fixes #3022
2015-11-19 22:09:32 +01:00
scrawl
9b96fcc224 Set the particle scaleReferenceFrame to local space 2015-11-19 15:49:42 +01:00
scrawl
3bd2aaddea Adjust PulseSlow light controller (Fixes #1963) 2015-11-18 23:14:01 +01:00
scrawl
0bdfd1b0d7 Ignore Creature INDX subrecords
Found in some .ess files, not sure what they mean.
2015-11-18 16:47:03 +01:00
scrawl
d68ea994d5 Deal with empty meshes 2015-11-17 01:51:21 +01:00
scrawl
83e9a649e5 Cleanup 2015-11-17 01:45:38 +01:00
scrawl
e62470d674 Auto-generate the collision shape for native mesh formats 2015-11-17 00:20:15 +01:00
scrawl
8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 2015-11-17 00:20:15 +01:00
scrawl
eb2f16d682 Support for loading .osg mesh format 2015-11-16 23:26:43 +01:00
scrawl
21e25f4756 Use the traversalNumber as frame number 2015-11-16 20:03:45 +01:00
scrawl
52901ec10c Do not create terrain geodes when built with OSG 3.4 2015-11-16 15:11:20 +01:00
Marc Zinnschlag
de98ee0062 Merge remote-tracking branch 'scrawl/esm_rewrite' 2015-11-14 14:25:08 +01:00
scrawl
38c155c579 Tests: add dialogue_merging_test (requires some data files) 2015-11-14 00:27:59 +01:00
scrawl
054c3eb24e Do not deep copy PrimitiveSets when build with OSG 3.5 2015-11-13 20:39:44 +01:00
scrawl
fc8e40889d Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
scrawl
b8e11cf197 Merge commit 'pull/upstream/678' into HEAD
Conflicts:
	apps/esmtool/record.cpp
	apps/opencs/model/doc/savingstages.cpp
	apps/opencs/model/world/land.cpp
	apps/opencs/model/world/land.hpp
	apps/opencs/model/world/landtexture.cpp
	apps/openmw/mwworld/store.cpp
	components/esm/loadland.cpp
	components/esm/loadland.hpp
2015-11-13 01:34:36 +01:00
scrawl
7c16630874 NifOsg::Emitter: ignore psToWorld scale
Seems wrong to me, but MW appears to do it that way. Without this fix, the light_de_candle_08_64 from http://www.nexusmods.com/morrowind/mods/41654/ has flame particles in the wrong spot.
2015-11-13 00:23:00 +01:00
scrawl
a29d1ace2b Read NiSpotLight 2015-11-12 23:45:12 +01:00
scrawl
ba211ad9ad Read NiPointLight (Fixes #3011) 2015-11-12 23:42:17 +01:00
scrawl
0965a9059d Handle NiLODNode using osg::LOD (Fixes #3008) 2015-11-12 19:52:36 +01:00
scrawl
626281977e Read NiLODNode (Bug #3008) 2015-11-12 19:52:32 +01:00
scrawl
b4ce73f179 Rotations: remove LocalRotation
This never existed in vanilla MW in the first place. The reason we got confused was because of a strange behaviour where the order of applying rotations changes as soon as a script touches the object's rotation.
2015-11-12 01:16:37 +01:00
Marc Zinnschlag
b04a23bf43 Merge remote-tracking branch 'origin/openmw-37' into openmw-37 2015-11-11 19:55:42 +01:00
scrawl
1edcb219a7 Leak fix 2015-11-11 16:27:17 +01:00
scrawl
fc93dc6195 Remove a stray method declaration 2015-11-11 01:32:31 +01:00
MatthewRock
a662a00c62 Fixing bug for merchant 2015-11-10 19:18:02 +01:00
scrawl
7776c49fc1 GraphicsWindowSDL2: adjust the log levels 2015-11-10 18:42:59 +01:00
scrawl
0409e5a043 Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change) 2015-11-10 18:28:58 +01:00
scrawl
f1ac408f35 Place Drawables directly in the scene graph when built with OSG 3.4
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.

There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
2015-11-10 18:23:42 +01:00
scrawl
35459f20d5 Refactor lighting mask 2015-11-10 17:23:12 +01:00
scrawl
91583fc027 Fix MWRender::Mask_ParticleSystem 2015-11-10 17:00:33 +01:00
Alexander "Ace" Olofsson
37158df339 Update scalinglayer.cpp
MSVC Explicitly requires <algorithm> for std::min and/or max
2015-11-10 14:59:26 +01:00
scrawl
bd8332d2b0 Remove default copyop argument for nodecallback copy constructors
Works around a compiler warning with OSG 3.4:

warning: base class 'class osg::Callback' should be explicitly initialized in the copy constructor [-Wextra]

With no default argument for osg::CopyOp&, the compiler no longer sees the function as a real copy constructor and stops warning about the missing virtual initializations.

We don't care about this warning because there is nothing interesting to initialize in the osg::NodeCallback base anyway.

A proper fix for the warning would require to inserting OSG_VERSION conditional compiling all over the place, that is as long as we are still supporting OSG 3.2.
2015-11-09 18:57:17 +01:00
scrawl
1200ff9186 RigGeometry: fix incorrect bounding box in the first frame
The default computeBound() was overriding the manually set bounding box.
2015-11-09 18:31:41 +01:00
scrawl
64abdbabe3 Small refactor of controllers handling, print warning messages for unhandled controllers 2015-11-09 17:42:35 +01:00
scrawl
35f5be680b Support for NiVisController on trishape nodes 2015-11-09 17:42:35 +01:00
Marc Zinnschlag
af5a1bc16b Merge remote-tracking branch 'origin/master' 2015-11-09 09:07:37 +01:00
Marc Zinnschlag
b61b732207 fixed an interference with script warning mode and error downgrading (Fixes #2990) 2015-11-09 09:07:18 +01:00
scrawl
79b3f1e6a8 Small cleanup 2015-11-08 18:30:22 +01:00
scrawl
59aee04ddb Implement ScalingLayer, for layouting of widgets in screen-relative coordinates 2015-11-08 18:30:21 +01:00
scrawl
57b9eafa0f osgMyGUI: implement AdditiveLayer 2015-11-07 17:45:22 +01:00
scrawl
51f3a8fec6 osgMyGUI: move Platform methods to the .cpp file 2015-11-07 17:39:31 +01:00
scrawl
7ff168b787 osgMyGUI: add support for layers to insert custom rendering state 2015-11-07 17:33:32 +01:00
scrawl
0210b87ffc Revert "Fix LightSource crash"
This reverts commit f336c6db87.

Root cause should be fixed in next commit.
2015-11-06 23:14:27 +01:00
scrawl
72252d4f32 Terrain: restore IncrementalCompileOperation 2015-11-06 20:22:07 +01:00
scrawl
7ca8e45d5d Terrain: remove debug code 2015-11-06 20:21:39 +01:00
scrawl
ef18f4217f Terrain: create 4x4 terrain chunks per ESM::Cell to improve performance
Improves performance because the number of splatting layers per chunk is reduced, and finer grained frustum culling can be done.
2015-11-06 20:14:57 +01:00
scrawl
95cf13e3f2 Terrain: make the blendmapSize and layerTileSize in FixedFunctionTechnique configurable 2015-11-06 15:23:37 +01:00
Marc Zinnschlag
e081eb2c34 Merge remote-tracking branch 'origin/master' 2015-11-05 07:56:57 +01:00
Marc Zinnschlag
7239481672 Merge remote-tracking branch 'scrawl/scrawl-patch-2' 2015-11-05 07:53:08 +01:00
scrawl
c996702b56 Fix some uninitialised variables found by static analysis 2015-11-04 20:34:50 +01:00
scrawl
f7d0d06134 Compiler: remove unused mNameStartingWithDigit 2015-11-04 20:31:23 +01:00
scrawl
c23609e22b Cache the light list in LightListCallback
When multiple cameras are rendering, the later cameras can reuse the light lists from the first camera.
2015-11-04 00:19:15 +01:00
scrawl
fd1ccd21ff Disable freezeOnCull for weather particles 2015-11-02 23:49:22 +01:00
scrawl
5ca0ae5232 Don't add the same AlphaFader to multiple nodes 2015-11-02 23:38:34 +01:00
scrawl
f336c6db87 Fix LightSource crash 2015-10-29 00:51:35 +01:00
scrawl
49df6b7450 LightManager: fix incorrect view matrix for RELATIVE_RF cameras 2015-10-23 21:25:56 +02:00
scrawl
6dff11f847 Duplicate code fix 2015-10-23 18:16:26 +02:00
scrawl
8552a9d82c Add multiple camera support to LightManager 2015-10-23 01:58:22 +02:00
scrawl
2ee6b41887 Handle NiAlphaProperty on a drawable basis
Removes the RenderBin nesting complication. Also results in leaner StateSets, so the cull phase should be a bit faster.
2015-10-19 15:46:53 +02:00
Marc Zinnschlag
8eb6d337d5 deal with script execution from within a script (Fixes #2964) 2015-10-09 12:14:56 +02:00
Emmanuel Anne
b911abd7d8 add a few more possible arguments to choice
this fixes some travel dialogs for "Antares Big Mod"
2015-10-07 12:28:35 +02:00
Marc Zinnschlag
435e52306a adjusted a workaround for names starting with digits that interfered with some numerical expressions written without spaces 2015-09-26 11:34:46 +02:00
Marc Zinnschlag
ae54f34f25 removed a redundant else and made unary + work also in the console 2015-09-26 11:30:35 +02:00
Marc Zinnschlag
2158bfe285 Merge remote-tracking branch 'zelurker/scripts_unary_plus' 2015-09-26 11:25:40 +02:00
scrawl
8e69c80bf6 Add framenumber checks in various cull callbacks, so we don't update more than once per frame when multiple cameras are used 2015-09-26 01:21:33 +02:00
Emmanuel Anne
dace7ab706 scripts: recognize '+' also as a unary operator
it fixes the armor sorter in "Blades safe house.esp"
2015-09-25 14:22:57 +02:00
Alexander "Ace" Olofsson
7d4125d97f Fixes for building with unity build 2015-09-24 15:21:42 +02:00
scrawl
f7e5a40143 Fix typo 2015-09-21 17:58:57 +02:00
scrawl
a47617c21f Fix tab indentations in apps/ and components/ 2015-09-16 20:45:37 +02:00