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

11796 commits

Author SHA1 Message Date
scrawl
1f543b4d79 Apply the AiTravel maxRange to AiEscort as well (Fixes #2697) 2015-12-07 00:26:17 +01:00
scrawl
65b5cbe3f7 AiEscortCell complains if no cell was given or cell does not exist 2015-12-06 23:42:58 +01:00
scrawl
965bea45c0 AiEscort makes the actor side with target in fights (Bug #2697)
Also will follow the player through teleport doors.
2015-12-06 23:38:51 +01:00
scrawl
4e678ce6b3 Handle mCellId in AiEscort 2015-12-06 23:38:51 +01:00
scrawl
45a609bc54 Improve PositionCell warning message 2015-12-06 22:37:04 +01:00
scrawl
4b0ecaa0a0 Fix physics bug 2015-12-06 22:10:01 +01:00
scrawl
51b892195b Restore getReadOnlyDoors() 2015-12-06 21:58:25 +01:00
scrawl
abcf91be5b Port over more game logic to the visitor pattern 2015-12-06 20:43:50 +01:00
scrawl
9ea475d00c Port LocalScripts::addCell to new CellStore interfaces 2015-12-06 20:33:22 +01:00
scrawl
a517f4f9ba Add CellStore::forEachType to help with porting over game logic to the new interfaces 2015-12-06 20:32:39 +01:00
scrawl
0af33b5abd Throw exception if moveTo() is passed an object not part of *this 2015-12-06 20:05:13 +01:00
scrawl
176a3c16f4 Resolve moved references loaded from a save game 2015-12-06 20:00:24 +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
2219231230 Missing updateMergedRefs() 2015-12-06 18:46:49 +01:00
scrawl
138957c49a Special case objects with no refnum 2015-12-06 18:43:52 +01:00
scrawl
5e99a3eda6 Rename CellStore Functor to Visitor 2015-12-06 18:13:04 +01:00
scrawl
2301080c63 Load CellStore when an object is moved there 2015-12-06 18:04:48 +01:00
scrawl
811df1e97b Pass the ESM reader list to CellStore constructor 2015-12-06 18:03:55 +01:00
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>
2015-12-06 16:01:21 +01:00
Chris Robinson
91cd6be11b Use the correct SoundId for NPC "land" sounds 2015-12-05 18:00:28 -08:00
Chris Robinson
c75303b652 Add an option to select and enable HRTF 2015-12-05 17:14:53 -08:00
Marc Zinnschlag
03a0b1fbfd Merge remote-tracking branch 'origin/master' 2015-12-05 15:41:20 +01:00
scrawl
53158d29b1 stopSound crash fix 2015-12-05 01:54:16 +01:00
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.
2015-12-05 01:15:54 +01:00
scrawl
67a6a8f5d4 Make projectiles receive lighting 2015-12-05 00:44:18 +01:00
scrawl
6181594251 Disable freezeOnCull for magic projectile particles 2015-12-05 00:33:01 +01:00
scrawl
a8938589f6 Magic projectiles rotate during flight 2015-12-05 00:33:01 +01:00
scrawl
3f93af4181 Projectiles interact with the water surface (Fixes #2986) 2015-12-04 23:28:11 +01:00
scrawl
3dcefd17fc Fix CellStore::count() 2015-12-04 20:03:14 +01:00
scrawl
3aa53f3cb4 Object cell movement tracker works. Savegame handling is still missing and some game functionality is still stubbed out. 2015-12-04 19:46:02 +01:00
scrawl
64b4926127 Add reference moving logic - untested 2015-12-04 18:29:41 +01:00
scrawl
7a983340bf Add comment 2015-12-04 18:29:41 +01:00
scrawl
fc449233be Restore support for inserting objects into a cell 2015-12-04 18:29:41 +01:00
scrawl
0975f60d59 Stub out CellStore::get<T> accessors in preparation of reference movement between cells 2015-12-04 18:29:41 +01:00
Marc Zinnschlag
49b37ce8bf Merge remote-tracking branch 'scrawl/geteffect' 2015-12-04 10:42:22 +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
f22982d251 Merge pull request #835 from sandstranger/opengles1
enable opengl es1
2015-12-03 21:25:00 +01:00
scrawl
5f349b9a6e Support effects with attribute/skill argument in OpGetEffect 2015-12-03 21:12:58 +01:00
scrawl
1ec338f19d Don't attempt to load external keyframes for non-NIF files 2015-12-03 20:11:28 +01:00
scrawl
795f6d77f2 Cache the Animation's Skeleton 2015-12-03 20:06:00 +01:00
Marc Zinnschlag
e0c9265148 Merge remote-tracking branch 'origin/master' 2015-12-03 15:56:24 +01:00
scrawl
389b168d5f Restore OpGetWaterLevel to vanilla behaviour 2015-12-03 15:48:27 +01:00
scrawl
d0c6b407b4 Fix isUnderwater checks being off by one for exterior cells 2015-12-03 15:16:50 +01:00
scrawl
86881bcf39 In first person mode, attach sound listener to the camera 2015-12-03 15:16:20 +01:00
sandstranger
238a5824be add custom new variable fot Qt 2015-12-03 08:54:14 +03:00
Chris Robinson
f19f1c47c8 Fix playing pending voices without a Ptr 2015-12-02 16:09:25 -08:00
Chris Robinson
2face3d0a9 Combine duplicate code 2015-12-02 16:09:25 -08:00
Chris Robinson
1407366e51 Use a premade SoundStream object for the output's streamSound functions 2015-12-02 16:09:25 -08:00
Chris Robinson
2ee3265b66 Use a premade Sound object for the output's playSound functions 2015-12-02 16:09:25 -08:00
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
sandstranger
b0b3192520 delete bad symbol 2015-12-02 22:50:54 +03:00
sandstranger
bd5057aa3c enable opengl es1 2015-12-02 22:40:04 +03: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
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
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