Chris Robinson
53718a5ca0
Use a typedef for the sound instance handle
2015-12-02 16:09:25 -08:00
Chris Robinson
3a39a92b93
Keep track of audio tracks
2015-12-02 16:09:24 -08:00
Chris Robinson
2883cdba5c
Initialize the Sound object before modifying the pitch variable
2015-12-02 16:09:24 -08:00
Chris Robinson
a6db96b2d8
Update sound and stream parameters
2015-12-02 16:09:24 -08:00
Chris Robinson
4bd235284b
Rename a couple members to avoid confusion
2015-12-02 16:09:24 -08:00
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.
2015-12-02 16:09:24 -08:00
Chris Robinson
816015d6e6
Avoid inheriting from Sound for sound types
2015-12-02 16:09:24 -08: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
c912310c52
Don't add persuasion results to the journal
2015-12-01 16:16:21 +01:00
scrawl
2327a41826
Fix journal freeze
2015-12-01 16:09:05 +01:00
scrawl
ba5433391f
Merge pull request #831 from ace13/win-fix
...
Fix windows builds
2015-12-01 01:03:16 +01:00
Alexander "Ace" Olofsson
24340bff95
Add a space
2015-11-30 17:47:36 +01:00
Alexander "Ace" Olofsson
6823298516
Different way to solve the type deduction issue
2015-11-30 17:42:25 +01:00
Alexander "Ace" Olofsson
a69e751089
Revert "Fix windows builds"
...
This reverts commit b085c09f86
.
2015-11-30 17:38:46 +01:00
scrawl
f5f3d18b8e
Add comment
2015-11-30 17:19:27 +01:00
scrawl
576d5111a5
Prefer Intersector::PROJECTION over Intersector::WINDOW
2015-11-30 17:04:45 +01:00
scrawl
14b143231c
Don't crash OpGetTarget when the target disappeared ( Fixes #3048 )
2015-11-30 15:26:43 +01:00
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.
2015-11-30 13:36:15 +01:00
Marc Zinnschlag
3a81bed001
Merge remote-tracking branch 'origin/master'
2015-11-30 12:12:18 +01:00
Marc Zinnschlag
7cc8fbfb3c
Merge remote-tracking branch 'scrawl/dynamic_cast2'
2015-11-30 12:11:00 +01:00
scrawl
0655abcd8b
Fix some character preview raycasting issues (Bug #2769 )
2015-11-30 05:43:36 +01:00
scrawl
8fb328ef4f
Fix updating of character preview size in InventoryWindow::setGuiMode
2015-11-30 05:43:36 +01:00
scrawl
d2290a8183
Don't crash when Water_SurfaceFrameCount is 0
2015-11-30 00:41:26 +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
scrawl
cd4a1ffd16
Fast version of dynamic_cast for MWClass
2015-11-29 14:26:52 +01:00
Marc Zinnschlag
20a076bdba
Merge remote-tracking branch 'origin/master'
2015-11-29 09:34:41 +01:00
Marc Zinnschlag
6df626ad71
Merge remote-tracking branch 'scrawl/crashcatcher'
2015-11-29 09:23:14 +01:00
scrawl
db71634a2d
Allow replacing of interactive message boxes ( Fixes #3040 )
2015-11-28 19:15:54 +01:00
scrawl
c9bfe01120
Fix applying of weather changes after serving a jail sentence
2015-11-28 17:57:35 +01:00
Marc Zinnschlag
6facce9d13
Merge remote-tracking branch 'origin/master'
2015-11-28 10:02:37 +01:00
Marc Zinnschlag
ff5582e318
Merge remote-tracking branch 'scrawl/ltex'
2015-11-28 09:51:57 +01:00
scrawl
a1fa1b2b2e
Don't attempt to open an empty texture
2015-11-28 06:01:24 +01:00
scrawl
d97dda05c9
Don't attempt to play unset weather sounds
2015-11-28 05:55:36 +01:00
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.
2015-11-28 05:42:05 +01:00
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.
2015-11-28 05:14:30 +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
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.
2015-11-27 21:57:15 +01:00
scrawl
5b8fd79b4b
Fix crash when exception is thrown in startNewGame()
2015-11-27 21:38:57 +01:00
scrawl
89783e047b
Fix typo
2015-11-27 19:40:31 +01:00
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.
2015-11-27 09:47:14 -08:00
Chris Robinson
0f05ccf72a
Use a non-recursive mutex and properly end the streaming thrread
2015-11-27 08:13:23 -08:00
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.
2015-11-27 06:01:50 -08:00
Chris Robinson
f3c035907c
Rename Sound::update to Sound::applyUpdates
2015-11-27 04:55:17 -08:00
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.
2015-11-27 04:30:09 -08:00
Chris Robinson
4a078725d4
Play player voices locally
2015-11-27 02:57:44 -08:00
Chris Robinson
449eca4fb4
Properly mark streams as 2D or 3D
2015-11-27 02:36:33 -08:00
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.
2015-11-27 02:01:18 -08:00
Chris Robinson
5f8a09df97
Play player sounds (except footsteps) local to the listener
2015-11-27 02:01:18 -08:00
Chris Robinson
82f3651f81
Treat the sound offset as the offset in seconds
2015-11-27 02:01:17 -08:00