Commit Graph

9026 Commits (openmw-39)

Author SHA1 Message Date
scrawl 04b6571d7d Fix logic for scripting access of deleted objects 9 years ago
scrawl e564c26314 Fix deleted objects being accessible in the Cells cache 9 years ago
scrawl deb7f3caf6 Print deletion state in ObjectReferenceInfo 9 years ago
scrawl 689dea4cb3 Add instant spell effects to the actor's magic effect list
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&start=20#p36208
9 years ago
scrawl d6bcb7906d Fix crash in a warning message 9 years ago
scrawl fce43854bc Fix last commit 9 years ago
scrawl 0a723ab075 Animation: do not assume the object root is a Group 9 years ago
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.
9 years ago
scrawl 8222c78cf2 Do not filter creature dialogue by NPC-only conditions (Fixes #3086) 9 years ago
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
9 years ago
scrawl 67883feaae LoadingScreen: ensure values are within progress range 9 years ago
scrawl 625644e917 LoadingScreen: documentation updates 9 years ago
scrawl 152f1d625d LoadingScreen: remove unused declarations 9 years ago
scrawl ccbba5e926 LoadingScreen: remove indicateProgress, not used 9 years ago
scrawl 375caf037d Don't applyInstantEffect when magnitude is zero 9 years ago
scrawl 4af376133b Don't tick effects when duration is zero 9 years ago
scrawl 4553db7b43 Merge pull request #861 from scrawl/soundcrash
Fix crash when running out of sound sources
9 years ago
scrawl 6a749e77f2 Fix crash when running out of sound sources 9 years ago
Chris Robinson cddea4a99c Start underwater sound after updating sounds
In between the startUpdate/finishUpdate calls, changes are deferred so that
they can happen all at once. This includes starting sounds, so when the
underwater sound is started it will be immediately checked to see if it's
playing. Since it's not yet playing, it'll be seen as stopped and get cleaned
up before ever playing.
9 years ago
Marc Zinnschlag 346052a67a Merge remote-tracking branch 'scrawl/containerscript_fix' 9 years ago
scrawl 572786bff2 Instant effects that were added by a permanent ability are applied every frame
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&p=36120#p36121
9 years ago
scrawl 271fcb80c6 Remove container scripts before deleting container 9 years ago
Chris Robinson 8c364cd818 Remove left over declaration 9 years ago
Chris Robinson 12eda97e64 Merge remote-tracking branch 'main/master' 9 years ago
Chris Robinson f1faeeae3a Use separate config options for min and mag texture filters 9 years ago
scrawl 2737aabe93 Pc functions apply to creature dialogue (Fixes #3078) 9 years ago
Chris Robinson 5c0a847eaf Combine some duplicate code 9 years ago
Chris Robinson b830a413d3 Rename the texture filter options
To avoid compatibility issues with upgrading from or downgrading to older
builds.
9 years ago
Chris Robinson 646092ce3a Add warnings when loading unknown texture options 9 years ago
Chris Robinson fb6abb53ae Simplify the in-game texture options
This makes it behave like it originally did, although the config options remain
expanded.
9 years ago
Chris Robinson 76bde5ee13 Separate and expand texture filtering options 9 years ago
scrawl a7e0562e1c Fix improper handling of multiple AiFollow packages with the same target (Fixes #3077) 9 years ago
scrawl 64424e7262 Move keyframe loading out of SceneManager to new KeyframeManager 9 years ago
scrawl 359b0b3772 Rename for clarity 9 years ago
scrawl 18cce3a6f9 Don't reset delete flag when loading reference from a save game (Fixes #2724) 9 years ago
scrawl 850092a5e5 Store: be consistent about struct / class usage
Don't inherit a struct from a class, and vice versa.
9 years ago
Chris Robinson f47f0a996f Stop the object's old say sound before playing the new one 9 years ago
Chris Robinson 7fc2df153a Rename stopSound/stopStream to finishSound/finishStream
Since they're also used to clean up output resources, not just stopping.
9 years ago
scrawl cc2315a0de Minor fix 9 years ago
scrawl b856460f86 ESMStore: fill mIds in setUp() 9 years ago
scrawl ed27f0da25 Merge pull request #854 from kcat/master
Play NPC voices from the head position
9 years ago
Chris Robinson 808f701013 Use the actor's Head position for Say streams 9 years ago
Chris Robinson a47bdecac7 Add missing include
Since Ptr is used directly in the header, a forward declaration isn't good
enough.
9 years ago
Chris Robinson a00a4bce77 Avoid some unnecessary indirection 9 years ago
scrawl f1f82af64e Fix improper swimming animations in first person mode 9 years ago
scrawl 9bc6f2d5f6 Fix water ripples 9 years ago
scrawl 57b7cac13f Merge pull request #850 from MatthewRock/fix-2952-2
Fix for bug #2952: Enchantment Merchant Items reshuffled EVERY time 'barter' is clicked
9 years ago
MatthewRock ddd4004c95 Fix: remove space 9 years ago
MatthewRock 3b254ad631 Allows the same item to have multiple ancestors 9 years ago
scrawl a8c287c831 Print detected game controllers to the log file 9 years ago
scrawl bdae572264 Merge pull request #840 from scrawl/movedrefs
Object movement between cells
9 years ago
scrawl 6f98982bc2 Make sure that health is >= 1 when resurrecting the player (Fixes #2972) 9 years ago
scrawl 05f1fbf593 WindowManager: explicitely pass the ESMStore
Fixes potential crash when the loading screen layout tries to retrieve a GMST value via #{GMST} syntax before the World has been created.

Possibly related to Bug #2854.
9 years ago
scrawl a699b4128a Add isInCell checks to PlaceAt and PlaceItem (Fixes #2873)
Avoids the game crashing when a script calls these functions before the player has been moved to the starting location.
9 years ago
scrawl 34f48d63f3 Apply spell absorption once per effect (Fixes #2942) 9 years ago
scrawl bc1f7499ab Do not allow deleting the player object (Fixes #2982) 9 years ago
MatthewRock b0e6a52595 Replace ancestor with parent 9 years ago
MatthewRock aa721fe1f6 Fix bug 2952 with merchant and levelled items 9 years ago
scrawl 1264651af7 Fix coverity defects 9 years ago
scrawl e69750905a Fix gcc warning about function casts 9 years ago
scrawl bd68ebac62 GetEffect fix 9 years ago
scrawl 3890afd6f5 Merge pull request #843 from kcat/master
Add HRTF options and fix an incorrect SoundID
9 years ago
Marc Zinnschlag 071ba3a4df Merge remote-tracking branch 'scrawl/werewolf' 9 years ago
scrawl 07b064f616 Rename to lowerCaseInPlace 9 years ago
scrawl f875597be5 Don't use tolower()
See https://forum.openmw.org/viewtopic.php?f=8&t=3231&p=35968
9 years ago
scrawl 1a654fa451 Reset locale after strftime() call 9 years ago
scrawl 152f415b9a Change texture coordinates when falling back to player_hit_01 9 years ago
scrawl 998ef36837 Setting fix 9 years ago
scrawl e520d37c87 Override the field of view for first person meshes (Fixes #858, Fixes #3051) 9 years ago
scrawl 9621b66b78 Move field of view setting to Camera section 9 years ago
scrawl 136a425cec Use the Werewolf field of view override (Fixes #3064)
Need to re-run the settings importer for the feature to work.
9 years ago
scrawl 9d4af59860 Don't attempt to create quest log buttons if textures are unavailable (Fixes #3063) 9 years ago
scrawl 5981e1cbb3 Don't create the werewolf overlay if its texture is not available
Avoiding a warning in the log when Bloodmoon is not installed
9 years ago
scrawl 621347b20f Remove moved ref handling from listRefs()
Not needed since we now load cells when a reference is moved there.
9 years ago
scrawl 1875aa4a18 Restore getNearbyDoor 9 years ago
scrawl f9dd549bff Restore FindContainerVisitor 9 years ago
scrawl 1f543b4d79 Apply the AiTravel maxRange to AiEscort as well (Fixes #2697) 9 years ago
scrawl 65b5cbe3f7 AiEscortCell complains if no cell was given or cell does not exist 9 years ago
scrawl 965bea45c0 AiEscort makes the actor side with target in fights (Bug #2697)
Also will follow the player through teleport doors.
9 years ago
scrawl 4e678ce6b3 Handle mCellId in AiEscort 9 years ago
scrawl 45a609bc54 Improve PositionCell warning message 9 years ago
scrawl 4b0ecaa0a0 Fix physics bug 9 years ago
scrawl 51b892195b Restore getReadOnlyDoors() 9 years ago
scrawl abcf91be5b Port over more game logic to the visitor pattern 9 years ago
scrawl 9ea475d00c Port LocalScripts::addCell to new CellStore interfaces 9 years ago
scrawl a517f4f9ba Add CellStore::forEachType to help with porting over game logic to the new interfaces 9 years ago
scrawl 0af33b5abd Throw exception if moveTo() is passed an object not part of *this 9 years ago
scrawl 176a3c16f4 Resolve moved references loaded from a save game 9 years ago
scrawl 671561ea37 Write moved references to the save game file (not resolved on loading yet) 9 years ago
scrawl 2219231230 Missing updateMergedRefs() 9 years ago
scrawl 138957c49a Special case objects with no refnum 9 years ago
scrawl 5e99a3eda6 Rename CellStore Functor to Visitor 9 years ago
scrawl 2301080c63 Load CellStore when an object is moved there 9 years ago
scrawl 811df1e97b Pass the ESM reader list to CellStore constructor 9 years ago
Paul Cercueil 0765ff3ba2 mwrender: Add missing includes
Those missing includes were causing the build to fail when compiled with
USE_GLES set.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
9 years ago
Chris Robinson 91cd6be11b Use the correct SoundId for NPC "land" sounds 9 years ago
Chris Robinson c75303b652 Add an option to select and enable HRTF 9 years ago
Marc Zinnschlag 03a0b1fbfd Merge remote-tracking branch 'origin/master' 9 years ago
scrawl 53158d29b1 stopSound crash fix 9 years ago
scrawl 66bcd2fd68 Write save games to a memory stream first
Two motivations for doing this:

- If the user chooses to overwrite existing save file, and there is an exception during the save process, the existing file will not be lost.
- Many small writes to a file are slow. Very slow. Writing to memory first then writing the completed file to disk appears to be ~500% faster.
9 years ago
scrawl 67a6a8f5d4 Make projectiles receive lighting 9 years ago
scrawl 6181594251 Disable freezeOnCull for magic projectile particles 9 years ago
scrawl a8938589f6 Magic projectiles rotate during flight 9 years ago
scrawl 3f93af4181 Projectiles interact with the water surface (Fixes #2986) 9 years ago
scrawl 3dcefd17fc Fix CellStore::count() 9 years ago
scrawl 3aa53f3cb4 Object cell movement tracker works. Savegame handling is still missing and some game functionality is still stubbed out. 9 years ago
scrawl 64b4926127 Add reference moving logic - untested 9 years ago
scrawl 7a983340bf Add comment 9 years ago
scrawl fc449233be Restore support for inserting objects into a cell 9 years ago
scrawl 0975f60d59 Stub out CellStore::get<T> accessors in preparation of reference movement between cells 9 years ago
Marc Zinnschlag 49b37ce8bf Merge remote-tracking branch 'scrawl/geteffect' 9 years ago
scrawl 8e9571d155 Double buffer the light StateAttributes and StateSets
Fixes a race condition where the position of a light could jump a frame ahead.
9 years ago
scrawl f22982d251 Merge pull request #835 from sandstranger/opengles1
enable opengl es1
9 years ago
scrawl 5f349b9a6e Support effects with attribute/skill argument in OpGetEffect 9 years ago
scrawl 1ec338f19d Don't attempt to load external keyframes for non-NIF files 9 years ago
scrawl 795f6d77f2 Cache the Animation's Skeleton 9 years ago
Marc Zinnschlag e0c9265148 Merge remote-tracking branch 'origin/master' 9 years ago
scrawl 389b168d5f Restore OpGetWaterLevel to vanilla behaviour 9 years ago
scrawl d0c6b407b4 Fix isUnderwater checks being off by one for exterior cells 9 years ago
scrawl 86881bcf39 In first person mode, attach sound listener to the camera 9 years ago
sandstranger 238a5824be add custom new variable fot Qt 9 years ago
Chris Robinson f19f1c47c8 Fix playing pending voices without a Ptr 9 years ago
Chris Robinson 2face3d0a9 Combine duplicate code 9 years ago
Chris Robinson 1407366e51 Use a premade SoundStream object for the output's streamSound functions 9 years ago
Chris Robinson 2ee3265b66 Use a premade Sound object for the output's playSound functions 9 years ago
Chris Robinson 53718a5ca0 Use a typedef for the sound instance handle 9 years ago
Chris Robinson 3a39a92b93 Keep track of audio tracks 9 years ago
Chris Robinson 2883cdba5c Initialize the Sound object before modifying the pitch variable 9 years ago
Chris Robinson a6db96b2d8 Update sound and stream parameters 9 years ago
Chris Robinson 4bd235284b Rename a couple members to avoid confusion 9 years ago
Chris Robinson 1ce3e7f5b9 Use a separate type for streams
They're basically the same, but it's to help avoid accidents with passing non-
streaming sounds to the stream functions, or vice-versa.
9 years ago
Chris Robinson 816015d6e6 Avoid inheriting from Sound for sound types 9 years ago
sandstranger b0b3192520 delete bad symbol 9 years ago
sandstranger bd5057aa3c enable opengl es1 9 years ago
scrawl 3d12b2ca9d Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager. 9 years ago
scrawl c912310c52 Don't add persuasion results to the journal 9 years ago
scrawl 2327a41826 Fix journal freeze 9 years ago
scrawl ba5433391f Merge pull request #831 from ace13/win-fix
Fix windows builds
9 years ago
Alexander "Ace" Olofsson 24340bff95 Add a space 9 years ago
Alexander "Ace" Olofsson 6823298516 Different way to solve the type deduction issue 9 years ago
Alexander "Ace" Olofsson a69e751089 Revert "Fix windows builds"
This reverts commit b085c09f86.
9 years ago
scrawl f5f3d18b8e Add comment 9 years ago
scrawl 576d5111a5 Prefer Intersector::PROJECTION over Intersector::WINDOW 9 years ago
scrawl 14b143231c Don't crash OpGetTarget when the target disappeared (Fixes #3048) 9 years ago
Alexander "Ace" Olofsson b085c09f86 Fix windows builds
Can't instantiate a container (at least with MSVC) without knowing the exact size of the object being stored, forward-declares only work with pointers.
I couldn't see a simple way to remove the forward declare, so pointers and memory management it is.
9 years ago
Marc Zinnschlag 3a81bed001 Merge remote-tracking branch 'origin/master' 9 years ago
Marc Zinnschlag 7cc8fbfb3c Merge remote-tracking branch 'scrawl/dynamic_cast2' 9 years ago
scrawl 0655abcd8b Fix some character preview raycasting issues (Bug #2769) 9 years ago
scrawl 8fb328ef4f Fix updating of character preview size in InventoryWindow::setGuiMode 9 years ago
scrawl d2290a8183 Don't crash when Water_SurfaceFrameCount is 0 9 years ago
scrawl d5a738bd39 Apply 27e669296e (locale-unaware tolower) to more code
In particular, the one in VFS::normalizeFilename was affecting cell loading performance.
9 years ago
scrawl f962ce0bbe Don't link against unnecessary OSG libraries 9 years ago
scrawl cd4a1ffd16 Fast version of dynamic_cast for MWClass 9 years ago
Marc Zinnschlag 20a076bdba Merge remote-tracking branch 'origin/master' 9 years ago
Marc Zinnschlag 6df626ad71 Merge remote-tracking branch 'scrawl/crashcatcher' 9 years ago
scrawl db71634a2d Allow replacing of interactive message boxes (Fixes #3040) 9 years ago
scrawl c9bfe01120 Fix applying of weather changes after serving a jail sentence 9 years ago
Marc Zinnschlag 6facce9d13 Merge remote-tracking branch 'origin/master' 9 years ago
Marc Zinnschlag ff5582e318 Merge remote-tracking branch 'scrawl/ltex' 9 years ago
scrawl a1fa1b2b2e Don't attempt to open an empty texture 9 years ago
scrawl d97dda05c9 Don't attempt to play unset weather sounds 9 years ago
scrawl 93a76e2f56 Revert debce0fb80, use a sleep() to work around the X11 bug
Problem with debce0fb80 is the crashed process won't be killed until the user accepts the message box, and it's harder to get to the message box when the window is in full screen or the cursor is locked.
9 years ago
scrawl debce0fb80 crashcatcher: show the message box before killing crashed process
This change fixes a random X server lock-up that I get about 1 in 10 times when a crash is caught. I'm presuming it's an X server bug since faulty applications shouldn't be able to crash or freeze the X server under any circumstances.
9 years ago
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.
9 years ago
scrawl 4687c4baad Do not assert() for invalid land data in plugins (Bug #3037)
The resizing of LTEX store to the correct number of plugins was done in the load() method, but the load method won't be called if a plugin contains LAND records but doesn't contain LTEX records. For such plugins the Store<ESM::LandTexture>::search() function would then fail an assertion.
9 years ago
scrawl 5b8fd79b4b Fix crash when exception is thrown in startNewGame() 9 years ago
scrawl 89783e047b Fix typo 9 years ago
Chris Robinson 4ee409af84 Load loudness data asynchronously
Currently abuses the output audio streams' background processing thread to do
the work, since there's no generalized threaded processing mechanism.
9 years ago
Chris Robinson 0f05ccf72a Use a non-recursive mutex and properly end the streaming thrread 9 years ago
Chris Robinson b5ed2e65f8 Add a method to get the sound stream delay
This helps avoid a lock during the movie player's read method, since it needs
to sync with the current playback position which would otherwise need to get
the movie decoder's current position.
9 years ago
Chris Robinson f3c035907c Rename Sound::update to Sound::applyUpdates 9 years ago
Chris Robinson 9568aa6a84 Use a condition variable to wake up the audio stream thread
This should make starting streams a bit more responsive, and allows us to do
more in it that really shouldn't wait for its next wake up.
9 years ago
Chris Robinson 4a078725d4 Play player voices locally 9 years ago
Chris Robinson 449eca4fb4 Properly mark streams as 2D or 3D 9 years ago
Chris Robinson 21bb2e9314 Use a deque for loudness buffers with a map lookup
Similar to Sound_Buffer, this allows individual Sound_Loudness objects to
retain a constant pointer when new ones are inserted on to the end.
9 years ago
Chris Robinson 5f8a09df97 Play player sounds (except footsteps) local to the listener 9 years ago
Chris Robinson 82f3651f81 Treat the sound offset as the offset in seconds 9 years ago
Chris Robinson 8b7587f9a6 Track whether a sound is 3D 9 years ago
Chris Robinson fc912b135f Avoid unnecessarily friending classes 9 years ago
Marc Zinnschlag 7cc950ed64 Merge remote-tracking branch 'origin/master' 9 years ago
Marc Zinnschlag b3532b6274 Merge remote-tracking branch 'scrawl/spells' 9 years ago
scrawl 44dd62067e Remove some unnecessary per-frame store searches 9 years ago
scrawl 783594033a Optimize MWMechanics::Spells
Use pointers as map keys instead of string IDs. Resolves a nasty performance bottleneck on functions like hasCommonDisease() that previously had to look up all contained spells from the ESM store on every call. hasCommonDisease() is called hundreds of times per frame by the AI target update since it's used to calculate target disposition.

The total cost of hasCommonDisease() was 2.7% of the frame loop, now it's negligible.
9 years ago
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%.
9 years ago
scrawl 984c455027 Fix Show Owned option affecting tooltips that are not objects (Fixes #3036) 9 years ago
scrawl bcca1beb69 Merge branch 'configwriter' into HEAD 9 years ago
scrawl d894d54e41 Improve path conversions 9 years ago
Chris Robinson d4238a6d91 Add config options for the sound buffer cache size
The cache size is specified with a min/max range, intended to avoid constant
unloading once the limit is reached. This way, buffers can be unloaded down to
a reasonable mimimum, allowing some more buffers to be subsequently loaded
without causing more unloading.
9 years ago
Chris Robinson 8715add72f Store sound buffers in a deque that's filled in as needed
A deque allows existing Sound_Buffer references to remain valid as long as new
ones are back-inserted. These references can be used instead of indices.
9 years ago
cfcohen 7605912ece Merge branch 'master' of https://github.com/OpenMW/openmw into config_writer_changes 9 years ago
scrawl 8a3ec14bc6 Revert "Merge remote-tracking branch 'sandstranger/opengles'"
This reverts commit cc9cab6fd1, reversing
changes made to da856eed95.
9 years ago
Marc Zinnschlag ef68e2aec4 Merge remote-tracking branch 'origin/master' 9 years ago
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.
9 years ago
Marc Zinnschlag cc9cab6fd1 Merge remote-tracking branch 'sandstranger/opengles' 9 years ago
Chris Robinson 8f08ca9cba Revert "Avoid unsafe sizeof(x)/sizeof(x[0]) constructs for array counting"
This reverts commit 0d4fea896c.
9 years ago
Chris Robinson 04f885d8cc Rename mReferences to mUses 9 years ago
Chris Robinson 0d4fea896c Avoid unsafe sizeof(x)/sizeof(x[0]) constructs for array counting 9 years ago
Chris Robinson a1bdb544db Avoid an unnecessary string copy 9 years ago
Chris Robinson aac903484c Remove a really unnecessary method 9 years ago
Chris Robinson 73448c72f6 Replace Play_NoTrack with playManualSound3D, and rename the latter 9 years ago
Chris Robinson caae305ddd Use a sorted list for unused buffers
Helps ensure the buffers being unloaded due to cache limits are not likely to
be needed anytime soon.
9 years ago
Chris Robinson 669b7a2295 Batch update changes together, when possible
Certain OpenAL implementations, including Rapture3D, Creative's hardware
drivers, and more recent versions of OpenAL Soft, can batch together changes so
that they all occur at once, avoiding potential discontinuities with one sound
being changed before another, or the listeenr being changed before sounds are.

On other implementaitons, this is a no-op and maintains existing behavior.
9 years ago
Chris Robinson ea70b0baee Don't store the buffer in the sound struct 9 years ago
Chris Robinson fd7d58fe7e Reset the sound handle back to null after unloading 9 years ago
Chris Robinson 4801661b34 Stop all sounds of the given id 9 years ago
Chris Robinson 8a69f676ec Remove some duplicate code 9 years ago
Chris Robinson 45628316f8 Remove an unnecessary check 9 years ago
Chris Robinson 574c1923fe Clear unused buffers after unloading them all 9 years ago
Chris Robinson 5ad772c3b3 Fix streaming sound time 9 years ago
Chris Robinson 3ce6aee98b Return a decoder from the loadVoice function 9 years ago
Chris Robinson 24f8c78fca Store sound buffer references by index instead of string 9 years ago
Chris Robinson f7218f5a25 Use proper mutex mechanisms and don't check al errors in the stream thread 9 years ago
Chris Robinson f9e18cd966 Prepare all Sound_Buffer objects when one is needed
This simply sets up the Sound record data to be used by the sound output. The
actual audio buffers, stored in the Sound_Handle, are still loaded on-demand.
9 years ago
Chris Robinson 6c3953766e Use separate lists for the sound name and its buffer
This should make sound lookup a bit more efficient, especially when an integer
ID can be used.
9 years ago
Chris Robinson fbfcc4050f Stream voice clips
Voices tend to be a bit long, and not individually replayed often. So it's
better to stream them instead of loading theminto a sound buffer. The loudness
data is very small, though, so that can be kept buffered indefinitely.
9 years ago
Chris Robinson eee6a19e31 Add a method to stream sounds in 3D 9 years ago
Chris Robinson f1a1dc8408 Pass relevant sound parameters to the OpenAL_SoundStream constructor 9 years ago
Chris Robinson 83721092f2 Refactor the audio streaming code to be a bit saner 9 years ago
Chris Robinson 16f72886e9 Use separate lists for openal sounds and streams 9 years ago
Chris Robinson 0f33f41d8d Actually unload sounds when running over 9 years ago
Chris Robinson 22a6811425 Limit the sound buffer cache to 15MB 9 years ago
Chris Robinson 0b2747098c Keep track of unused sound buffers 9 years ago
Chris Robinson 4073495070 Add some missing sound handling 9 years ago
Chris Robinson e362896817 Combine some duplicate code 9 years ago
Chris Robinson febc7b510a Remove an unneeded method 9 years ago
Chris Robinson 3fdc3c4ea9 Use a separate map for say sounds
Also restores lip movement
9 years ago
Chris Robinson 9d0018e1bc Reorder active sound data to make lookup by Ptr better 9 years ago
Chris Robinson 495e138907 Load sound loudness and store it with the Sound_Buffer
Still not used for say yet, though
9 years ago
Chris Robinson f4c22ec49e Hold a separate list for voice sound buffers
This fixes say. Ideally voices would be streamed, but the loudness/"lip" buffer
extraction should be separated from the buffer loading code.
9 years ago
Chris Robinson 4571218827 Load the sound as needed and pass it directly to the play methods
This breaks say sounds, loudness handling, and the cache limit. Fixes are
forthcoming.
9 years ago
Chris Robinson e2beefd8b5 Store info calculated from the ESM::Sound record 9 years ago
scrawl edfcb45ad7 Fix crash when onPcEquip script removes the equipped item (Fixes #3016) 9 years ago
sandstranger 69acacefff openmw building on Android with Opengl es 9 years ago
Marc Zinnschlag da856eed95 Merge remote-tracking branch 'origin/master' 9 years ago
scrawl 3fe38e3556 Remove unused setting 9 years ago
scrawl 71cd57a3b5 Optimize World::getTimeStamp
World::getTimeStamp was searching through the globals store on every call. Not a big issue, but slow enough to show up in the profiler.
9 years ago
scrawl 62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 9 years ago
cfcohen b507d5da5d One more tooltip fix. This one in the review dialog with Socucius Ergalla. 9 years ago
Marc Zinnschlag 8da04bf76f Merge remote-tracking branch 'scrawl/master' 9 years ago
scrawl 1b1d9a7a9c Fixed another tooltip 9 years ago
cfcohen cf4f3d9ebc Correct tooltip for Magicka in stats window. 9 years ago
scrawl 43de13fa99 Do not allow resting on lava 9 years ago
scrawl 2d302aef99 Implement stayOutside script variable 9 years ago
scrawl 27617468c8 Fix the collision shape not updating when scaling an object via script 9 years ago
scrawl 5f143dee2d Fix lighting incontinuity at nightfall and sunrise 9 years ago
scrawl 61314e1db1 Fix bounding box of bullet debug drawer 9 years ago
scrawl 706b1d4c28 Disable culling of ClipNode 9 years ago
scrawl cbf344663f animateCollisionShape checks if the shape is really animated 9 years ago
scrawl 894477849a Store animated collision objects in a separate container 9 years ago
scrawl 8c268f239e Set the object node scale before inserting model
This fixes initWorldSpaceParticles not taking object scale into account. Still not taking into account object rotation or node animations. Ideally the initWorldSpaceParticles needs to run in an updateCallback.
9 years ago
scrawl ccc721ba3f Print the OpenMW version to the logfile 9 years ago
scrawl f08cfa19ea Fix SoundManager::isPlaying to consider multiple entries with the same Ptr/id
Now it returns true if *any* sounds matching the given Ptr and id are playing. The previous behaviour was causing problems with "zombie" sounds (sounds that have finished playing, but weren't removed from the map yet) making the isPlaying method return false even though there's another legitimately playing sound in the map.
9 years ago
scrawl a49058721e Use a contactTest for collision script functions
The previous method didn't work for stationary actors. This change fixes the grinder in "Sotha Sil, Dome of Kasia" not registering collisions if the player stands still. (Fixes #1934)
9 years ago
scrawl 9fce428929 ContactTestResultCallback: do not rely on col1 being the object tested against
Unsure why, but in some cases col0 and col1 are swapped.
9 years ago
scrawl 3453353091 AiCombat distance check takes into account collision box (Fixes #1699) 9 years ago
Marc Zinnschlag 020b3add94 Merge branch 'openmw-37' 9 years ago
Marc Zinnschlag 5de9a5e840 Merge remote-tracking branch 'origin/openmw-37' into openmw-37 9 years ago
scrawl e62470d674 Auto-generate the collision shape for native mesh formats 9 years ago
scrawl 8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 9 years ago
scrawl eb2f16d682 Support for loading .osg mesh format 9 years ago
scrawl 71d9e7dc52 Read Ambient Loop Sound ID and Rain Loop Sound ID from the INI file 9 years ago
scrawl e9e12d396d Merge remote-tracking branch 'upstream/openmw-37' into HEAD 9 years ago
scrawl 0f347eccbf Flip the origin of global map texture
Now it's consistent with the overlay texture.
9 years ago
scrawl 8b7bdcd127 Fix the global map overlay viewport (Bug #3018) 9 years ago
scrawl 0220e82259 Remove unused SOUND_INPUT_INCLUDES cmake variable. 9 years ago
Alexander "Ace" Olofsson d2a4175804 Add FFMPEG to include path for OpenMW
I'm a bit confused; `mwsound/ffmpeg_decoder.hpp/cpp` requires FFMPEG headers to compile, how did this work in the first place?
9 years ago
Marc Zinnschlag de98ee0062 Merge remote-tracking branch 'scrawl/esm_rewrite' 9 years ago
Nikolay Kasyanov 4e3bbe01b6 OS X: disable `glTexStorage2D` because of OSG/driver issue
See http://forum.openscenegraph.org/viewtopic.php?p=65276#65276 for the details.
9 years ago
scrawl 0ec56d321a Remove unneeded using namespace 9 years ago
scrawl 05498ad592 Refactor: InputManager no longer depends on Engine 9 years ago
Marc Zinnschlag c312162b57 Merge branch 'openmw-37' 9 years ago
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
9 years ago
scrawl 8cd41f0ed4 Increase the ray distance for dropObjectOnGround (Fixes #3010) 9 years ago
scrawl 9897400d97 Restore the previous key focus widget after playing video 9 years ago
Emmanuel Anne af7b5e636e improves InterpreterContext::updatePtr
This checks the update is really on the right pointer. It fixes the boat
disappearing in "fishing academy", and it allows scripts linked to objects
not to loose their default reference when using the object-> notation on
another object.
9 years ago
Bret Curtis 3ea3d07d44 really purge libav 9 years ago
scrawl 19cd987208 Fix Ptr updates in PositionCell
This was not the proper way to get the updated Ptr, it will only work for the player which isn't owned by any cell. For other objects, moving between cells makes the object owned by that cell and thus the getBase() pointer will change.
9 years ago
scrawl 9e3eb8291f Rotations: fix the rotation order for doors 9 years ago
scrawl 90b6fa5ef1 PlaceItem, PlaceItemCell angle should be treated as degrees (Fixes #3007) 9 years ago
scrawl 3647af8d73 Rotations: use different rotation order when object is rotated via script (Fixes #2062) 9 years ago
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.
9 years ago
scrawl 666fbba1e0 Rotations: World::rotateObject takes radians instead of degrees
Cuts down on the amount of redundant degree<->radians conversions in the codebase.
9 years ago
scrawl 6405049add Rotations: move doors via Rotation rather than LocalRotation
Now LocalRotation is unneeded, will remove in next commit.
9 years ago
scrawl 8aacbc398f Rotations: don't wrap the angle values for non-actors
It's not really necessary, and just complicates logic elsewhere. Neither does vanilla MW do it. As well, the question is if wrapping to [-PI, PI] or [0, 2*PI] would be the desired range.
9 years ago
scrawl a68fd791c8 Remove a stray method declaration 9 years ago
scrawl 79c44d0bfe Style fix 9 years ago
scrawl 02148a43f5 Node mask fix 9 years ago
scrawl 0a52ee17c3 Fix Drawable removal issues 9 years ago
scrawl afa590bddb Leak fix 9 years ago
scrawl c62c1693e9 Disable copy constructor and operator= in PartHolder 9 years ago
scrawl 2e9805fa0e Leak fix 9 years ago
scrawl b840c68f0c Do not create a depth buffer for the global map 2d rendering 9 years ago
scrawl 8e3bc981a2 Fix self-referencing camera 9 years ago
MatthewRock a662a00c62 Fixing bug for merchant 9 years ago
scrawl 0409e5a043 Use OSG_VERSION_GREATER_EQUAL / LESS_THAN rather than MIN_VERSION_REQUIRED (cosmetic change) 9 years ago
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.
9 years ago
scrawl 35459f20d5 Refactor lighting mask 9 years ago
scrawl 91583fc027 Fix MWRender::Mask_ParticleSystem 9 years ago
scrawl 637cd3a628 Adjust the FirstPersonNeckController to follow the camera with a reduced factor (Fixes #1784) 9 years ago
scrawl 3c338b9da9 ObstacleCheck: tweak the stuck detection parameters
The netch_betty wander animation starts up so slowly that the creature thought it was stuck, even though it's not.
9 years ago
scrawl d233bc483d ObstacleCheck: fix evasion issue
The check if (samePosition... would not work as intended because actors do not move in every frame when the framerate is higher than the physics framerate. In that case the actor would change its evasion direction almost every frame.
9 years ago
scrawl caa523a959 ObstacleCheck: fix the framerate not being taken into account 9 years ago
scrawl 801dc8eee3 ObstacleCheck: fix weird distance calculation 9 years ago
scrawl 1b52749ae1 Adjust third person camera height based on character height 9 years ago
scrawl b89945804c BookPage: implement hit test with margin for error 9 years ago
scrawl 055841e721 Improve cloud lighting 9 years ago
scrawl f0a1434578 Dead actors underwater will float to the surface 9 years ago
scrawl 66925be440 Partially revert 682f30ef9c
This change made dead netch fall through the floor, because the animation moves the creature *below* its external collision box.
9 years ago
scrawl 516f2765a1 Use the ScalingLayer for journal, books and scrolls 9 years ago
scrawl a7ad45e73e WindowBase::center use the layer size instead of render window size 9 years ago
scrawl f9932130da Work around MyGUI bug with mouse event coordinates (fixed in git) 9 years ago
scrawl 6c12c9a467 Layer renaming fix 9 years ago
scrawl d85d74e615 Use AdditiveLayer for the hit fader 9 years ago
scrawl a90ef8afd0 layer renaming 9 years ago
scrawl 57b9eafa0f osgMyGUI: implement AdditiveLayer 9 years ago
scrawl 51f3a8fec6 osgMyGUI: move Platform methods to the .cpp file 9 years ago
scrawl 13c7235b6b Remove old FPS setting code 9 years ago
scrawl 2407f393ce Fix double update traversal in screenshot function 9 years ago
scrawl 6e69808129 Fix the frameNumber not being incremented in certain frames 9 years ago
scrawl 8e4e4e5e38 Fix infinite loop in addToLevList 9 years ago
scrawl c996702b56 Fix some uninitialised variables found by static analysis 9 years ago
scrawl 1cf1c944b7 Don't attempt to render weather particles on the refraction and reflection textures 9 years ago
scrawl 209fa52883 Hide weather particles underwater (Fixes #2701) 9 years ago
scrawl e3b30baff9 clipFudge fix 9 years ago
scrawl 682f30ef9c Fix incorrect uses of PhysicsSystem::getHalfExtents
Did not account for translation of collision box (mMeshTranslation in actor.cpp)
9 years ago
scrawl 46e07e4b19 Head tracking: fall back to target collision box center if the target has no head node 9 years ago
scrawl a5f8ffb83d aimToTarget: Fix the collision box translation not being taken into account 9 years ago
scrawl de97a8a3da Do not allow disabling the player object 9 years ago
scrawl b72d5c5190 Don't play idlestorm animation when swimming 9 years ago
scrawl c0a81030bb Make use of INI settings for the simple water 9 years ago
scrawl 30c828dff0 Include cleanup 9 years ago
scrawl 8e8f72408d Use diffuse/ambient lighting for the simple water 9 years ago
scrawl 380256977b Fix another renderBin issue with the weather particles
Depth sorting w.r.t. the rest of the scene was broken
9 years ago
scrawl 9902dfc9ef Comment 9 years ago
scrawl ad016da31d Enable fog on weather particles 9 years ago
scrawl fd1ccd21ff Disable freezeOnCull for weather particles 9 years ago
scrawl 5ca0ae5232 Don't add the same AlphaFader to multiple nodes 9 years ago
scrawl d6f45c3390 Fix the renderbin for weather particles
Regression from commit 2ee6b41887
9 years ago
scrawl bd1f3493d7 Fix weather particles not being cleared when changing from one particle effect to another 9 years ago
scrawl 0348b8df1c Fix applying of plane height in ClipCullNode (Fixes #2985) 9 years ago
scrawl 3f988327c7 Destructor fix 9 years ago
scrawl 913bbe347b Don't check the extension string every frame 9 years ago
scrawl c60388afb6 Add fudge factor to move the water mesh away from camera when the camera gets too close 9 years ago
scrawl 4690ec12cc Render the water plane with GL_DEPTH_CLAMP if supported (Fixes #996) 9 years ago
scrawl 802620a86b Use TimeOfDayInterpolator for Land Fog Depth
Fixes the sudden fog jump at nightfall.
9 years ago
scrawl 45bf3e6788 Create TimeOfDayInterpolator class to refactor time handling in WeatherManager 9 years ago
scrawl 8da4530957 Use INI-imported underwater fog settings (Fixes #2907, Fixes #1511) 9 years ago
scrawl bd9dc58560 Use the correct scale for actor swim height (Fixes #2833) 9 years ago
scrawl 7b817ba010 Fix the node masks of water cameras being reset (Bug #2984)
Node mask needs to remain Mask_RenderToTexture so the raytesting visitor won't go through the reflection graph.
9 years ago
scrawl 93f4d31cf9 Raytest mask fix (Fixes #2984) 9 years ago