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