Compare commits

...

6203 Commits

Author SHA1 Message Date
David Cernat 68954091c5 [Documentation] Update changelog for 0.8.1 2 years ago
David Cernat 3603408c67 [Config] Add extra comment for tes3mp-server-default.cfg's localAddress 2 years ago
David Cernat a7eeba03a1 [General] Synchronize origin and orientation for non-magical projectiles 2 years ago
David Cernat f0a22495a2 [General] Synchronize origin and orientation for magical projectiles 2 years ago
David Cernat da079fcfd8 [General] Add VR settings to GameSettings packet 2 years ago
David Cernat a6a0b9db72 [General] Change version to 0.8.1 2 years ago
David Cernat fb4fe75e62 [Client] Always set visibility of GUIChat, not its main widget
Don't change the windowState when GUIChat is closed.
2 years ago
David Cernat ae2d247968 [Client] Add GUIController method for changing chat window mode 2 years ago
David Cernat d45db97808 [Client] Retain hidden mode for chat window when set 2 years ago
David Cernat 6b1c83f629 [Client] Fix iteration through summoned creature map in ObjectList 2 years ago
David Cernat 06dfbe4aec [Client] Fix conditions for sending PlayerItemUse packet for magic items
Previously, attempting to switch to a magic item's spell via a quick key did not work if the item was already equipped.
2 years ago
David Cernat 1a000bc0a8 [Client] Fix cleanup of summoned creatures
Previously, summoned creatures weren't being deleted in certain situations because they were encountered again before the cell they were in had a local authority.
2 years ago
David Cernat 4e2860f578 [General] Make mwscript's PositionCell send ActorCellChange packets
Make server accept ActorCellChange packets for unloaded cells.
2 years ago
David Cernat aa92128cf2 [Client] Fix logic for sending ObjectState packets
The previous logic was meant to prevent packet spam from local scripts, but inadvertently prevented objects from being enabled or disabled correctly from dialogue in certain quests.

Enabling and disabling objects from dialogue and the console is now always allowed to go through.
2 years ago
David Cernat 3af57f0858 [Client] Fix crash when creating Cell from base Cell lacking Pathgrid 2 years ago
David Cernat 43f531e9a5 [Client] Reuse Pathgrid records from base Cells when creating new Cells 2 years ago
David Cernat 2a3d6ea7f0 [Client] Don't process hits on non-actors after sending ObjectHit packet
This prevents errors about the non-actors not having CreatureStats.
2 years ago
David Cernat 8bb22f1b73 [Client] Make client window use TES3MP title and icon 2 years ago
David Cernat 2898ad6e9a [Client] Make Back button work in character generation
Character generation was coded in a strange way by Koncord in the earliest days of the project, but this fixes the main problem with it.
2 years ago
David Cernat e72bacbed3 [Client] Prevent main menu from being opened while in TES3MP listboxes 2 years ago
David Cernat 790cb63443 [Client] Prevent wildernessRestAllowed from affecting resting in beds
Use less confusing message when unable to rest because of wildernessRestAllowed.
2 years ago
David Cernat 5aac28b00f [Client] Disable use of certain options when starting client 2 years ago
David Cernat c4847918d5 [Client] Fix ObjectLock spam by sending only lock changes from scripts 2 years ago
David Cernat 238690653b [Client] Fix sending of inventory packets after certain alchemy failures 2 years ago
David Cernat bb5aa90a6d [Client] Use simpler conditions for sending PlayerInventory packets
This fixes a problem with Take All not sending PlayerInventory packets.
2 years ago
David Cernat 3e881e6231 [Client] Uninitialize LocalActors whose references have been deleted 2 years ago
David Cernat f219cb5417 [General] Ensure that objects initialized as DedicatedActors are actors 2 years ago
David Cernat 17715933b5 [Client] Add actorsOnly argument to CellStore's exact object search 2 years ago
David Cernat a6dd76776f [Client] Include refId in ObjectList's object searches 2 years ago
David Cernat cc8c222d18 [General] Combine CellStore's exact object searches 2 years ago
David Cernat 6875c3422f [Client] Make player inventory items recharge by themselves again
This fixes 4476609872.
2 years ago
David Cernat cf4ff3513f [Documentation] Make it clear in readme that license uses extra terms 2 years ago
David Cernat 4476609872 [Client] Don't unilaterally recharge world items on clients 2 years ago
David Cernat 343e3f26e6
Merge pull request #600 from nalal/patch-2
Change "or/and" to "||/&&"
2 years ago
nalal efd403b174
Change "or/and" to "||/&&"
I added the code that included those ages ago, figured I should go in and change it to conform to the existing project formatting.
2 years ago
David Cernat a95099cd03 [Client] Use item model's items for Container packet sent from Take All
Previously, a Container packet sent when using the Take All button included all the items in the container, not just all the items in the container window seen on the client. This was a problem when stealing from actors, as the container window does not give access to all of their items.
2 years ago
David Cernat abdaedd752 [Client] Rely on untranslated topics in ObjectDialogueChoice packets
Previously, when using the Russian edition, all dialogue topics were translated into English before being sent to the server in an ObjectDialogueChoice packet and were then translated back into Russian when received again by the client. However, there were situations where different topics in English corresponded to the same Russian word, e.g. "chores" and "duties" were both translated as "задания", which led to the incorrect topic being used on the client in the end.

This commit makes it so that users of the Russian edition send ObjectDialogueChoice packets where the topicId variable contains both the untranslated topic and the translated one, delimited by a | character, with the client simply using the former when receiving the packet again.

This is a hotfix instead of the proper fix, as the proper fix would use different variables for the two versions of the topic and thus require the structure of the ObjectDialogueChoice packet to change.
2 years ago
David Cernat 571f3e8ee7 [Client] Use correct stacking value when sending SpellsActive packets 2 years ago
David Cernat f2d95dc84d [Client] Make ActiveSpells::removeSpellByTimestamp() return a boolean
Add logging to LocalPlayer::removeSpellsActive() to track when a player's active spell hasn't been removed due to an invalid timestamp.
2 years ago
David Cernat ed9a85f13b [General] Increase maxPlugins to 1000
This allows clients to have 1000 data files instead of 256 as before.

Also increase maxHashes to 50
2 years ago
David Cernat 4aa947ff4b [Client] Prevent player from auto-equipping items taken from containers 2 years ago
David Cernat 15fdac3f6c Revert "Merge branch '0.7.1-window-input' into 0.7.1"
This reverts commit 94f5b169e6, reversing
changes made to 43e7df6df8.

# Conflicts:
#	apps/openmw-mp/handleInput.cpp
2 years ago
David Cernat d7044db179
Merge pull request #595 from GrimKriegor/buildsys/server-only-tweaks
[Buildsys] Tweaks to allow server-only builds
2 years ago
Grim Kriegor aa35f0946f [Buildsys] Tweaks to allow server-only builds
Re-include Base64, Boost and SDL2[1]

Exclude OSG but keep its headers[2]

Exclude most non-essential components and their deps

[1] SDL2 is required by the debug component
May be worth deviating from upstream by making its inclusion
conditional in the future

[2] Server component requires declarations present in the OSG headers
2 years ago
David Cernat 000e8724ca [Documentation] Update changelog for 0.8.0 2 years ago
David Cernat c02fb44ea7
Merge pull request #593 from GrimKriegor/buildsys/server-only-bullet-removal
[Buildsys] Do not require Bullet when building only the server component
2 years ago
Grim Kriegor 57c2ed2557 [Buildsys] Do not require Bullet for the server 2 years ago
David Cernat a3160991f5 [Documentation] Update credits 2 years ago
David Cernat 76e7fdca98 [Documentation] Update year in README 2 years ago
David Cernat 1cb10cd1f2 [Client] Use new exact search with ObjectActivate & ObjectDialogueChoice 2 years ago
David Cernat 646ffc7afe [Client] Add a new type of search to CellStore that also checks refIds 2 years ago
David Cernat ca96827ec9 [General] Change default internal server password 2 years ago
David Cernat 38363eee0d Add OpenMW 0.47 commits up to 4 Dec 2021 2 years ago
psi29a f327288953 Merge branch 'fix_physics_deadlock_47' into 'openmw-47'
Fix deadlock in physics system (#6414 for 0.47)

See merge request OpenMW/openmw!1438
2 years ago
elsid 7f1e5b368e
Fix deadlock in physics system
* Reorder unlock and notify_all calls to avoid notifying when not all worker
  threads are waiting.
* Make sure main thread does not attempt to exclusively lock mSimulationMutex
  while not all workers are done with previous frame.
* Replace mNewFrame flag by counter to avoid modification from multiple
  threads.
3 years ago
psi29a fe8922bdc3 Merge branch 'rtd' into 'master'
Fix readthedocs config, second attempt.

See merge request OpenMW/openmw!1342

(cherry picked from commit 26ee2d284ecbad20247385805f8baeea2e3bfeb6)

20f851b3 Fix readthedocs config, second attempt.
3 years ago
AnyOldName3 b7caf1f36e Merge branch 'rtd' into 'master'
Fix readthedocs config

See merge request OpenMW/openmw!1340

(cherry picked from commit ade3c2c61b29665abfa7562e96ee157c83a89def)

665d756f Fix readthedocs config
3 years ago
David Cernat f85f1e1b17 [General] Change version to 0.8.0
Change repo name from openmw-tes3mp to TES3MP.
3 years ago
David Cernat dbae0bddc2 [Client] Only play sounds from active cells when receiving ObjectSound 3 years ago
David Cernat 48de84ec32 [Client] Send ObjectSound packets with spellcasting sounds 3 years ago
David Cernat 538ccf15cf [Client] Use higher interpolation distance for DedicatedPlayers
This makes up for the laggier-looking jumps since the changes to OpenMW's physics system.
3 years ago
David Cernat 20e37204d0 [Client] Ensure physics actor is valid in World::setOnGround()
Do the same in World::setInertialForce()
3 years ago
David Cernat e010c61167 Add OpenMW 0.47 commits up to 10 Oct 2021 3 years ago
David Cernat efc0b88058 [Client] Don't reload Ptr for DedicatedActor after adding active spells
This prevents non-continuous spell GFX from immediately vanishing.
3 years ago
David Cernat 3e582199fb [Client] Add createSpellGfx() method to MechanicsHelper
Use it to create spell GFX when adding active spells to dedicated players and actors.
3 years ago
David Cernat eb005a5c33 [Client] Stop processing CastSpell::inflict() in more appropriate place
This preserves the functionality of Reflect effects, which relies on inflict() getting far enough for a dedicated player or actor, without also processing parts of inflict() that should be skipped for them.
3 years ago
David Cernat 7f017217c7 [Client] Fix position sync for falling actors 3 years ago
David Cernat fb49b62753 [Client] Fix crash when receiving ActiveSpells for uninitialized players 3 years ago
David Cernat 63c956e1d2 [Client] Fix active spell sync using actor IDs tracked in ActiveSpells 3 years ago
David Cernat e6a1f0889f [Client] Add isStackingSpell() method to MechanicsHelper 3 years ago
David Cernat f03a87df3c [Client] Remove previous placeholders for tracking ActiveSpells actors 3 years ago
David Cernat c027862609 [Client] Track actor IDs in ActiveSpells 3 years ago
psi29a bac679d5f5 Merge branch 'absorb47' into 'openmw-47'
Absorb spells per effect

See merge request OpenMW/openmw!1274
3 years ago
David Cernat 3e81371e53 [General] Fix jump synchronization for players
This had been broken by fr3dz10's physics rewrites from the earlier part of the year that made it so dedicated players were always regarded by the movement solver as being on the ground.
3 years ago
Evil Eye f902efbfcc Absorb spells per effect 3 years ago
David Cernat b67af8d99c [General] Use different fatal error message than OpenMW 3 years ago
Andrei Kortunov b9dc05a158 Add missing changelog entries for 0.47 (#3145)
(cherry picked from commit 61168c3583870cc0fc6c8d91a9839e3b9489c086)
3 years ago
David Cernat 7193d1dca5 [Server] Add stackingState arg to script functions adding active spells 3 years ago
psi29a b81df8af9c Merge branch 'cursorspeedmerge' into 'master'
Updated: Change cursor speed with settings.cfg (#6312)

Closes #6312

See merge request OpenMW/openmw!1255

(cherry picked from commit 1d342f80ed1af25d3cf1f70759be7fba1c9237b2)

b5af1928 gamepad cursor speed fix
3 years ago
David Cernat 06451c13d5 [Client] Update 3rd person model of local player when setting character 3 years ago
David Cernat 1ba36076f3 [Client] Update 3rd person model of local player when unequipping
This had apparently been broken by the fact that I had made inventory listeners get run only for actors in active cells in 385ef55848. Strangely, the player Ptr passed to fireEquipmentChangedEvent() when unequipping items has as its cell the player's original spawn cell instead of the current cell, causing the active cell check to return false in most locations for the player.
3 years ago
David Cernat de78b65eb0 [Server] Fix memory issues with script functions used for hashing 3 years ago
psi29a 81748f8e3d Merge branch 'vanilla_projectile_47' into 'openmw-47'
#6233 / !1188 for 0.47 (Vanilla arrow behaviour)

See merge request OpenMW/openmw!1238
3 years ago
fredzio 32108adc31 Change projectile behaviour to be like in vanilla wrt. water plane:
- enchanted arrow explode upon hit the water plane
- non enchanted arrow disappear (or more accurately, they hit nothingness)
- enchanted arrow shot underwater explode immediately
- non enchanted arrow disappear immediately

Also, solve a bug that occured previously and could theoritically still happens where we use the last tested collision position for instead of the last registered hit:
Use the hit position as saved inside Projectile::hit() instead of the last position saved inside the callback.
If a projectile collides with several objects (bottom of the sea and water surface for instance), the last collision tested won't necessarily be the impact position as we have no control over the order in which the tests are performed.
3 years ago
David Cernat a01c874613 Add OpenMW 0.47 commits up to 23 Sep 2021 3 years ago
psi29a f0a77a48df Merge branch 'check_pathgrid' into 'master'
Make sure PathFinder::getClosestPoint is not called with failing precondition (#6294)

Closes #6294

See merge request OpenMW/openmw!1236

(cherry picked from commit baa33799de3cb27d9d3805e164b9d7ccea6a3e4d)

d36595e0 Make sure PathFinder::getClosestPoint is not called with failing precondition
3 years ago
elsid 56869ec296 Merge branch 'fix_6296' into 'master'
Ignore time to destination when giving way (#6296)

See merge request OpenMW/openmw!1234

(cherry picked from commit 14516b9fd603bf603ca2ae366bc0884106fd368c)

5893b884 Ignore time to destination when giving way (#6296)
3 years ago
David Cernat c81f8c9b0e [Documentation] Update credits 3 years ago
David Cernat 6e95604627 [Client] Remove credits check on Windows client 3 years ago
David Cernat 7393e3def6 [General] Add and use getShortDescription() for ESM::Cell
ESM::Cell's getDescription() method was modified by aa5161f99e despite being used heavily by TES3MP. All instances of it in the TES3MP code have now been changed into the newly added getShortDescription() that is identical to the previous getDescription().
3 years ago
psi29a ad703d7470 Merge branch 'fix_pathgrid_path' into 'master'
Use pathgrid path when destination is closer to different graph component node

See merge request OpenMW/openmw!1155

(cherry picked from commit 4bf22f3ca0e5e5776c09cb8d5ad9793986373975)

9112c65a Use pathgrid path when destination is closer to different graph component node
3 years ago
David Cernat 2f98f31af2 [General] Use model variable already included in PlayerBaseInfo packets
The variable has been included since TES3MP's earliest proof of concept, but never used for anything. It is now possible to get and set it, due to semi-popular demand.
3 years ago
David Cernat a59a37dd66 [Server] Add script functions that get casters of actors' active spells 3 years ago
psi29a ec4e3b04a7 Merge branch 'terrainselectioncrashfix' into 'openmw-47'
Fix terrain selection crash

See merge request OpenMW/openmw!1165
3 years ago
unelsson 08f7c73e02 Fix text 3 years ago
unelsson 4b14818035 Restucture code 3 years ago
unelsson cb42b5287d Remove friend, make getEditMode public to allow editmode testing. 3 years ago
unelsson d62ddc002e Use QPointer to detect object existence, less verbose debug messages 3 years ago
unelsson b84e41bd27 Avoid storing ref, dynamic cast worldspacewidget for safety 3 years ago
David Cernat 61a61d627e [Server] Add GetActorSpellsActiveStackingState() script function 3 years ago
David Cernat bf17bfe1d9 [Server] Add script functions that get casters of players' active spells 3 years ago
David Cernat 26033ff7e7 Add OpenMW 0.47 commits up to 4 Aug 2021 3 years ago
psi29a af3b9187b4 Merge branch 'navmesh_reduce_lock_wait_openmw-47' into 'openmw-47'
Reduce waiting duration on locks when updating navmesh object in the main thread (#6193) (for 0.47)

See merge request OpenMW/openmw!1089
3 years ago
elsid 82cff1abf8
Create RecastMesh outside critical section
To not lock main thread when it tries to update objects.
3 years ago
elsid 08b026e907
Store copies of ref_ptr for btCollisionShape wrappers in Navigator
To keep btCollisionShape lifetime.
3 years ago
elsid 668788a5a2
Use RecastMeshBuilder once to create RecastMesh
This allows to move all data out of the object instead of copying.
3 years ago
elsid 1a995ae68f
Shrink to fit recast mesh data 3 years ago
psi29a 93f495ecb5 Merge branch 'properly_initialize_lightsettings' into 'master'
Properly initialize light settings

See merge request OpenMW/openmw!1083

(cherry picked from commit 1f8209158baf6301048bf023651e9b38a9a099b3)

1e52ca2b properly initialize light settings
3 years ago
psi29a 10b799653b Merge branch 'opt-out-compose' into 'master'
Make it possible to opt out of composing variables

Closes #6186

See merge request OpenMW/openmw!1076

(cherry picked from commit 15d278de554818fef6fecf300456800523e91adf)

4727ae4b Make it possible to opt out of composing variables
04e9b6d2 Abort on duplicate content file
3 years ago
David Cernat 6bdc2b2b06 [Client] Fix rotation sync 3 years ago
David Cernat 0567dc1fd4 Add OpenMW 0.47 commits up to 25 Jul 2021 3 years ago
David Cernat a64bd5e11b [General] Add missing parenthesis to CMakeLists.txt in components 3 years ago
David Cernat e05ea03fb9 [General] Stop requiring some libraries when building only the server 3 years ago
David Cernat 6baee12bc4 [Client] Don't print unilateral message about targets resisting spells 3 years ago
David Cernat eb50d3e497 [General] Don't require crashcatcher when not building on Windows 3 years ago
psi29a ffa91b07dd Merge branch 'spawn_fix47' into 'openmw-47'
!1046 for 0.47

See merge request OpenMW/openmw!1049
3 years ago
fredzio 9d17cece3a Set mCanWaterWalk and mOnGround when adding Actor to the scene.
mCanWaterWalk was set to false and updated during next frame's simulation
mOnGround is set to true but then was updated as part of the scene
loading logic.
3 years ago
psi29a 196497a992 Merge branch 'slimfast47' into 'openmw-47'
Like !1024 but targeted at 0.47

See merge request OpenMW/openmw!1045
3 years ago
fredzio 744cfc6a51 Do not store a btTransform into Projectile class: reduce its size by 112 bytes 3 years ago
fredzio 20aefb5f5f Do not store btTransform into Object class: reduce its size by 104 bytes 3 years ago
fredzio 8861d53809 Do not store a btTransform into Actor class: reduce its size by 128 bytes 3 years ago
David Cernat 3f3fe66fde [General] Track casters of spells in SpellsActive packets
Also simplify sending of SpellsActive packets slightly.
3 years ago
David Cernat 4492a7a768 [Client] Add MechanicsHelper method to get actorId of an mwmp::Target
Also clean up MechanicsHelper::getPlayerPtr() slightly.
3 years ago
psi29a db39b4e7d4 Merge branch 'fix-iterator-badness' into 'master'
Actually increment iterators to be erased.

Closes #6163

See merge request OpenMW/openmw!1027

(cherry picked from commit 7c246b28e7cb8c514b22214309fc9fed7fc40edc)

5ec2ddb4 Actually increment iterators to be erased.
3 years ago
David Cernat a78a88ed6d [Client] Make World::searchPtrViaActorId() also find DedicatedPlayers 3 years ago
David Cernat 9817d3a563 [Client] Add method to PlayerList for getting players by their actorId 3 years ago
David Cernat fe4a761ffe [General] Implement game setting records for RecordDynamic packets
Remove unused placeholder for variants from RecordDynamic.
3 years ago
psi29a 59da0a0da9 Merge branch 'skip_async' into 'master'
Don't put player in the air after going out of tcl

See merge request OpenMW/openmw!1009

(cherry picked from commit 6d08a1d7318ae076839738d173b884fcc7b1a348)

6ad2cf8e Skip simulation result after calling Actor::updatePosition(). Otherwise
3 years ago
David Cernat d4f2686556 [Server] Add script functions that send ObjectMove/ObjectRotate packets 3 years ago
psi29a d1c0cfa524 Merge branch 'lifetime' into 'master'
Maybe fix #6071

Closes #6071

See merge request OpenMW/openmw!1010

(cherry picked from commit 64750820957773a00d449d29551bb15fbf5fe08b)

1650dabe Assign the return value of weak_ptr::lock() to a variable, so that the
3 years ago
psi29a 8530bc5cf5 Merge branch 'fix_debugbatch_colors' into 'master'
Fix black objects in object paging debug view

See merge request OpenMW/openmw!1011

(cherry picked from commit 5287c9627c92b77c25581dbb9ac9d0b0dc4c9698)

389b8300 fix black objects with OP batch debug due to unitialized uniform
3 years ago
psi29a a21da63464 Merge branch 'FixLODIssueWithObjectPaging' into 'master'
LOD issue with object paging

See merge request OpenMW/openmw!1007

(cherry picked from commit 5688b7b4d8df93fbf28307d2259c57f8d878eeb8)

269cd310 Use same world coordinates to compute distances
3 years ago
David Cernat 3222afc8b7 [General] Implement PlayerCooldowns packet
Although this packet may be used for other kinds of cooldowns in the future, it currently only handles cooldowns for magical powers.
3 years ago
David Cernat a4b180f65a [Client] Don't send SpellsActive packets for spells received from server 3 years ago
David Cernat ad3cd5e5fa [Server] Add GetSpellsActiveStackingState() script function 3 years ago
psi29a 74aa7cdd48 Merge branch 'fix_door_freeze' into 'master'
Fix slow AiPackage::getTarget calls (#6136)

Closes #6136

See merge request OpenMW/openmw!990

(cherry picked from commit 6a4eeeb39bbe025625273dffc9754d29733e570a)

8d1eb7e2 Fix slow AiPackage::getTarget calls
3 years ago
psi29a d6a2838c8b Merge branch 'even-fixier-alpha' into 'master'
Correctly track added and removed state to fix various alpha testing issues

Closes #6119

See merge request OpenMW/openmw!989

(cherry picked from commit 94be4eba18d328391a2c2aea85bb029e80b32cee)

0e57622b Correctly track added and removed state
e42b3bf9 Adapt destination alpha factor for AMD
84a9face Disable coverage adjustment for blended objects
3 years ago
psi29a dfacaa3711 Merge branch 'fix_navmesh_update' into 'master'
Fix navmesh update on opening/closing door

See merge request OpenMW/openmw!995

(cherry picked from commit 9123db3a5954dd082f501151cba0a08bfe3ff908)

c7c0d11c Trigger navmesh update when any navigator object has been updated
3 years ago
David Cernat 014e4ab01f [General] Disable OpenMW's log timestamps
Having timestamps from two different loggers isn't useful, so only the ones from TES3MP's logger are staying for now, especially as that logger is used by both the client and the server.
3 years ago
David Cernat 294f64d12d [General] Track timestamps for spells in SpellsActive packets
This makes it possible to remove a specific effect in effect stacks by checking its timestamp.
3 years ago
psi29a 109a7c3daf Merge branch 'base64-fixes' into 'master'
Base64 fixes

Closes #6111

See merge request OpenMW/openmw!965

(cherry picked from commit 07c3ed16d0e05df8724b1f45696e9d17a2111938)

873b3b48 Handle empty strings.
d38126ef Pack default CS config
3 years ago
David Cernat 6b45a48116 Add OpenMW 0.47 commits up to 1 Jul 2021
# Conflicts:
#   components/CMakeLists.txt
3 years ago
psi29a bb393cb91c Merge branch 'fix_new_game_guard_3' into 'master'
Fix new game guard 3 (#6126)

Closes #6126

See merge request OpenMW/openmw!976

(cherry picked from commit 89ca56632c6bc37f07e430e7f5cd23d855610b19)

a3942a1e Remove redundant check for y coordinate in inRange function
cc08a45c Move include where it is needed
7e1630a7 Remove redundant getPolyHeight wrapper
793c30ab Check dtNavMeshQuery::getPolyHeight status
a54c4bc2 Check dtNavMeshQuery::findStraightPath status
94e460ba Use proper check for distance
5624fe19 Consider path not found when there is navmesh query error
3 years ago
psi29a c68cecb1eb Merge branch 'optimize_off_mesh_connections' into 'master'
Optimize off mesh connections

See merge request OpenMW/openmw!969

(cherry picked from commit 9dcea247d2cd7d25d719fabc142cef5360233e2a)

3e98db8d Fix styleguide
7f65a2c4 Remove unused code
81e569c3 Move OffMeshConnectionsManager implementation into cpp
a8ba9a0e Cleanup unused tile positions from OffMeshConnectionsManager
ff1af5e8 Use only off mesh connections starting or ending in a given tile
1552e7e3 Add pathgrid edges as one direction off mesh connection
3 years ago
psi29a 0394f848cd Merge branch 'fix_malexa_escape' into 'master'
Inscribe physical bounding box into navmesh agent cylinder (#6114)

Closes #6114

See merge request OpenMW/openmw!967

(cherry picked from commit 67f32263b2f7e4be9f50d46de842a8727449cae2)

84d6dea2 Inscribe physical bounding box into navmesh agent cylinder
3 years ago
psi29a a5b8eb72a5 Merge branch 'alpha-test-override' into 'master'
Ensure original (removed) state overrides replacement state when recreating shaders

Closes #6108

See merge request OpenMW/openmw!966

(cherry picked from commit 07a7a903a7a034b661adc1b033af928a9cd68528)

8a1b4bde Ensure original (removed) state overrides replacement state when recreating shaders
0e122b1e Avoid copy and deep equality check
2147c18c Do not overwrite old removed state with old dummy state
3 years ago
psi29a fa30531461 Merge branch 'positively_glowing' into 'master'
Detach objects from the active grid when attempting to get their animation

Closes #6105

See merge request OpenMW/openmw!951

(cherry picked from commit 7d8949ec3fcd1919da59308deab06433136f6629)

692615fd Detach objects from the active grid when attempting to get their animation
3 years ago
Bret Curtis b9109e8b1c Merge pull request #3094 from akortunov/master
Fix 0.46 and 0.47 changelogs
3 years ago
psi29a 05b5ada6bf Merge branch 'fix_smooth_movement' into 'master'
Validate almost straight shortcuts by navmesh raycast (#6102)

Closes #6102

See merge request OpenMW/openmw!947

(cherry picked from commit 9c3117d2d4a70475b021f4e4a50eec88cd7cf125)

e7d68d3d Validate almost straight shortcuts by navmesh raycast
3 years ago
psi29a 1e1c8a17ed Merge branch 'fix_new_game_guard_2' into 'master'
Reapply new game guard fix

See merge request OpenMW/openmw!944

(cherry picked from commit eca0a95a5a16cf3734a32c76cab0c0a0dd6dfe2d)

56e63053 Revert "Merge branch 'fix_new_game_guard' into 'master'"
e5e04b85 Consider time to destination when try to avoid collision
3 years ago
psi29a ce020428f0 Merge branch 'example-suite-documentation' into 'master'
Initial page to document the Template. Mainly deals with how to install it....

See merge request OpenMW/openmw!929

(cherry picked from commit c4ddbb5800da2234d3d732a93096393785d8cf71)

10391198 Initial page to document the Template. Mainly deals with how to install it....
32af7ab2 Add proper formatting, add some links and extra information to the Template installation articles.
2f52e5c8 Fix spelling mistake and add a tiny bit of clarification.
da8515b2 Add more information on how not to mix Morrowind and template content. It's...
9fdae4bc Some more clarification on how and why not to mix Template and Morrowind files.
bda267c2 Fix rst formatting to properly display the Note section.
3 years ago
psi29a b31750a337 Merge branch 'object_paging_min_size_combo_box' into 'master'
Adding Object Paging Min Size combo box to Advanced -> Visuals

See merge request OpenMW/openmw!917

(cherry picked from commit f66196588c16a9a16211d8f400ce7812127f26c0)

9f2f5174 Adding Object Paging Min Size combo box to Advanced -> Visuals
89950e55 Preventing type conversion of double to float for objectPagingMinSize
3 years ago
psi29a 5a27d6eed7 Merge branch 'fix-ffmpeg-api-const' into 'master'
Fix future FFMpeg API changes

See merge request OpenMW/openmw!922

(cherry picked from commit 3794e6d4b20b6c9f47aeaf3f937118c49de700e5)

70a02290 Fix future FFMpeg API changes
3 years ago
David Cernat 62f0237376 Add OpenMW commits up to 17 Jun 2021 3 years ago
Bret Curtis 7be09078b4 bump mac deps to include collada 3 years ago
psi29a 071786aff6 Merge branch 'UseSameDistanceForAllLodsOfTheCurrentChunk' into 'master'
Use same distance for all lods of the current chunk

Closes #6061

See merge request OpenMW/openmw!940
3 years ago
psi29a 329ec8f044 Merge branch 'dont_bury_me_plz' into 'master'
Don't unsummon creatures not found within the active cells

Closes #6070

See merge request OpenMW/openmw!926
3 years ago
psi29a c39c0266a9 Merge branch 'free_from_bondage' into 'master'
Do not assume the bound item cache is valid after loading a save

Closes #6069

See merge request OpenMW/openmw!931
3 years ago
psi29a dfb9f074d7 Merge branch 'OSG_check_cmake' into 'master'
cmake check to enforce that if someone uses OSG 3.6, that it is at least 3.6.5

See merge request OpenMW/openmw!941
3 years ago
psi29a dd197765c8 cmake check to enforce that if someone uses OSG 3.6, that it is at least 3.6.5 3 years ago
unknown 7d756d997e Rebuild the cache in readState 3 years ago
CedricMocquillon 7fa67ff675 Use same distance for all lod instances of a chunk 3 years ago
Bret Curtis f92fbc2acd workaround shadow issue on macOS, https://gitlab.com/OpenMW/openmw/-/issues/6057 3 years ago
AnyOldName3 9bae89cc95 Merge branch 'macos_shadow_quickfix' into 'master'
Workaround shadow issue on macOS

See merge request OpenMW/openmw!937
3 years ago
Bret Curtis 868a5b35e3 workaround shadow issue on macOS, https://gitlab.com/OpenMW/openmw/-/issues/6057 3 years ago
psi29a 4d995a6be6 Merge branch 'update_mac_deps' into 'master'
update mac deps to include latest OSGoS 3.6, mygui 3.4.1 and multi-threaded bullet

See merge request OpenMW/openmw!936
3 years ago
Bret Curtis 91e1898aa2 make use of gitlab openmw-deps 3 years ago
Bret Curtis 49ce26361e update mac deps to include latest OSGoS 3.6, mygui 3.4.1 and multi-threaded bullet 3 years ago
psi29a 036a344eae Merge branch 'aoe_arrow' into 'master'
#6084: Cast spell even if target Ptr is empty.

See merge request OpenMW/openmw!934
3 years ago
fredzio 7d0483d7ad Cast spell even if target Ptr is empty. It happens when enchanted arrows
hit water or ground.
3 years ago
David Cernat 767287ae51 [General] Track stacking spells in SpellsActive packets 3 years ago
David Cernat da16c211a4 [Client] Make potion effects work with SpellsActive packets, part 2 3 years ago
Evil Eye 90fa8dca35 Do not assume the bound item cache is valid after loading a save 3 years ago
Evil Eye 89e0bfd1a4 Purge summon effects on dispose 3 years ago
psi29a c7f8a4faae Merge branch 'sizeof_float' into 'master'
Use sizeof(GLfloat) instead of sizeof(GL_FLOAT)

See merge request OpenMW/openmw!928
3 years ago
jvoisin 7f4f2c042e Use sizeof(GLfloat) instead of sizeof(GL_FLOAT)
GL_FLOAT is an enum, with the value 0x1406, while GLFloat is the actual type.
Source: https://www.khronos.org/opengl/wiki/OpenGL_Type
3 years ago
David Cernat 5a852fe6db [Client] Fix warnings related to declarations 3 years ago
Evil Eye 004660be3d Don't unsummon creatures not found within the active cells 3 years ago
David Cernat 1f0cb09933 Add OpenMW commits up to 1 Jun 2021
# Conflicts:
#   .travis.yml
#   README.md
3 years ago
psi29a b2791fd487 Merge branch 'irc' into 'master'
Update IRC links to libera

See merge request OpenMW/openmw!920
3 years ago
Alexey Sokolov 3e4340338f Update IRC links to libera
In README, in OpenCS about dialog, in Travis notification
3 years ago
Evil Eye 4026082494 Merge branch 'fix_sync' into 'master'
Fix what GitHub broke

See merge request OpenMW/openmw!918
3 years ago
psi29a 9058fa9f60 Merge branch 'fix_launcher_ui' into 'master'
Make launcher Advanced/Visuals tab look more like other

See merge request OpenMW/openmw!908
3 years ago
psi29a a487295d39 Merge branch 'fix_new_game_guard' into 'master'
Consider time to destination when try to avoid collision

See merge request OpenMW/openmw!914
3 years ago
psi29a 7330921bd6 Merge branch 'statuesque' into 'master'
Use modified paralyze magnitude to fall and float

Closes #6063

See merge request OpenMW/openmw!915
3 years ago
psi29a a5bf056860 Merge branch 'fix_configure_light_buffer_layout' into 'master'
Avoid resetting buffer object when configuring light buffer layout (#6064)

Closes #6064

See merge request OpenMW/openmw!913
3 years ago
David Cernat 86630b048f [General] Add creature attack values to RecordDynamic packets 3 years ago
Evil Eye b8472e1303 Use modified paralyze magnitude to fall and float 3 years ago
elsid d4f28ac979
Avoid resetting buffer object when configuring light buffer layout
Otherwise this casues RaceSelectionPreview to have no light until first change.
3 years ago
psi29a 9dfba37ce9 Merge branch 'fix_big_object_navmesh_update' into 'master'
Fix overwhelming recast mesh and navmesh updates for big rotating objects (#6060)

Closes #6060

See merge request OpenMW/openmw!911
3 years ago
elsid e9433a91fb
Add more tests for TileCachedRecastMeshManager 3 years ago
psi29a 825ac6100f Merge branch 'fix_loading_screen' into 'master'
Always center loading screen progress bar by height when there is active message box (#6059)

See merge request OpenMW/openmw!910
3 years ago
psi29a 1ec9d471a2 Merge branch 'specifically_insensitive' into 'master'
Use ciEqual to determine actor-specific answers

Closes #6055

See merge request OpenMW/openmw!912
3 years ago
Evil Eye 1a1085272a Use ciEqual to determine actor-specific answers 3 years ago
elsid 4a6961b365
Trigger navmesh update on moved player only when player tile has been changed 3 years ago
elsid ed91cf9397
Replace unordered_map by map for storing objects
For small amount of items it gives better performance for find by key
for update.
3 years ago
elsid 22c2f106b7
Store object tiles position as sorted vector instead of set 3 years ago
elsid f4f9fa4701
Limit oscillating recast mesh object AABB by tile bounds
AABB change outside recast mesh tile should not affect navmesh for this tile.
3 years ago
elsid d122e184cc
Report navmesh change for not posted tiles
Corresponding recast mesh tiles can be updated but navmesh tiles may never
appear for them. Report back zero navmesh version to allow oscillating recast
objects detection to work. This version is always less than any generated
navmesh tile version so any report for generated navmesh will override it.
If zero navmesh version is reported after recast mesh tile got report about
generated navmesh tile it is a no-op since generated version is always greater
than zero.
3 years ago
elsid 3915e5d2cc
Always center loading screen progress bar by height when there is active message box
To fix all possible situations when active message box overlaps with loading
screen progress.

The only used condition to center loading screen progress by height is
number of message boxes > 0. No need to pass it through interface.
LoadingScreen can check it inside setLabel function.
3 years ago
David Cernat 44d037c078 [General] Add creature soul values to RecordDynamic packets 3 years ago
AnyOldName3 4c4218f70d Merge branch 'hangup-fix' into 'master'
Fix hangup on savegame after manual screenshots.

See merge request OpenMW/openmw!905
3 years ago
Mads Buvik Sandvei d906ec773a Fix hangup on savegame after manual screenshots. 3 years ago
psi29a 05c5688e3a Merge branch 'slider' into 'master'
Make the light distance slider de/increment by 128

Closes #6052

See merge request OpenMW/openmw!904
3 years ago
Dobrohotov Alexei f12a52c603 Make the light distance slider de/increment by 128 3 years ago
Alexei Dobrohotov 6a7bc208de Merge branch 'dont_assign' into 'master'
Don't assign a variable passed by value

See merge request OpenMW/openmw!897
3 years ago
David Cernat 8c7b07b9c8 [Client] Make potion effects work with SpellsActive packets 3 years ago
psi29a dff4b83d9d Merge branch 'stop_threading' into 'master'
Stop osg viewer threading before destructing engine

See merge request OpenMW/openmw!901
3 years ago
psi29a 2a6bd1b0cc Merge branch 'navmesh_tiles_cache_tests' into 'master'
Add more checks to NavMeshTilesCache tests

See merge request OpenMW/openmw!899
3 years ago
psi29a 8774d23830 Merge branch 'FixBsaToolExtract' into 'master'
Update lookup only after sorting files

See merge request OpenMW/openmw!893
3 years ago
elsid 375372981c
Stop osg viewer threading before destructing engine
To avoid rendering while engine parts are destructing.
3 years ago
elsid 105cd5b06f
Add more checks to NavMeshTilesCache tests 3 years ago
jvoisin e51669c05d Don't assign a variable passed by value 3 years ago
David Cernat 7a6dfc61ec Add OpenMW commits up to 21 May 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwscript/interpretercontext.cpp
#   components/CMakeLists.txt
3 years ago
psi29a f27d7c66ff Merge branch 'racy_deadcode' into 'master'
Remove both racy and useless code.

See merge request OpenMW/openmw!896
3 years ago
CedricMocquillon 86d137363e Check if the archive is opened before adding a file to it and clear state on close 3 years ago
fredzio b13afd758c Remove both racy and useless code.
Actor's position can be determined in 3 ways:
1/ as a result of physics simulation
2/ after a script require a relative position change (SetPos, Move)
3/ absolutely set from games mechanics event (teleport) or script
(PositionCell)

In case 1/, RefData::mPosition is updated with the physics simulation result
In case 2/, when RefData::mPosition is updated, physics simulation is informed of the change and update accordingly
In case 3/, when RefData::mPosition is updated, the physics simulation state is reset

In all 3 cases, we don't need to check the RefData::mPosition to get a
correct behaviour.

TSAN reported the following data race:
  Read of size 4 at 0x7b50005b75b0 by thread T12 (mutexes: write M656173, write M84859534346343880):
    #0 ESM::Position::asVec3() const /build/openmw/openmw/master2/.build/freebsd/TSAN/../../.././components/esm/defs.hpp:55:27 (openmw+0xb809d5)
    #1 MWPhysics::Actor::updateWorldPosition() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/actor.cpp:131:59 (openmw+0xb809d5)
    #2 MWPhysics::Actor::setPosition(osg::Vec3f const&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/actor.cpp:177:5 (openmw+0xb809d5)
    #3 MWPhysics::PhysicsTaskScheduler::updateActorsPositions() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:524:28 (openmw+0xb91ac0)
    #4 MWPhysics::PhysicsTaskScheduler::afterPostStep() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:614:13 (openmw+0xb915e7)
    #5 MWPhysics::PhysicsTaskScheduler::worker()::$_5::operator()() const /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:498:45 (openmw+0xb915e7)
    #6 void Misc::Barrier::wait<MWPhysics::PhysicsTaskScheduler::worker()::$_5>(MWPhysics::PhysicsTaskScheduler::worker()::$_5&&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../.././components/misc/barrier.hpp:30:21 (openmw+0xb915e7)
    #7 MWPhysics::PhysicsTaskScheduler::worker() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:498:31 (openmw+0xb915e7)
    #8 MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0::operator()() const /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwphysics/mtphysics.cpp:162:45 (openmw+0xb92630)
    #9 decltype(std::__1::forward<MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>(fp)()) std::__1::__invoke<MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>(MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0&&) /usr/include/c++/v1/type_traits:3899:1 (openmw+0xb92630)
    #10 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0>&, std::__1::__tuple_indices<>) /usr/include/c++/v1/thread:280:5 (openmw+0xb92630)
    #11 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, MWPhysics::PhysicsTaskScheduler::PhysicsTaskScheduler(float, btCollisionWorld*, MWRender::DebugDrawer*)::$_0> >(void*) /usr/include/c++/v1/thread:291:5 (openmw+0xb92630)

  Previous write of size 8 at 0x7b50005b75b0 by main thread:
    #0 memcpy /wrkdirs/usr/ports/devel/llvm-devel/work-default/llvm-project-3f6753efe1990a928ed120bd907940a9fb3e2fc3/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:827:5 (openmw+0x55a057)
    #1 MWWorld::RefData::setPosition(ESM::Position const&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/refdata.cpp:216:19 (openmw+0xa3de1c)
    #2 MWWorld::World::moveObject(MWWorld::Ptr const&, MWWorld::CellStore*, float, float, float, bool) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1130:26 (openmw+0xa57300)
    #3 MWWorld::World::moveObject(MWWorld::Ptr const&, float, float, float, bool, bool) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1253:16 (openmw+0xa580c8)
    #4 MWWorld::World::doPhysics(float, unsigned long long, unsigned int, osg::Stats&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1530:17 (openmw+0xa5af8f)
    #5 MWWorld::World::updatePhysics(float, bool, unsigned long long, unsigned int, osg::Stats&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/mwworld/worldimp.cpp:1862:13 (openmw+0xa61a7c)
    #6 OMW::Engine::frame(float) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/engine.cpp:333:42 (openmw+0xcce9e7)
    #7 OMW::Engine::go() /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/engine.cpp:935:14 (openmw+0xcd86ed)
    #8 runApplication(int, char**) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/main.cpp:296:17 (openmw+0xcbffac)
    #9 wrapApplication(int (*)(int, char**), int, char**, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../components/debug/debugging.cpp:205:15 (openmw+0x1335442)
    #10 main /build/openmw/openmw/master2/.build/freebsd/TSAN/../../../apps/openmw/main.cpp:308:12 (openmw+0xcc008a)
:wqa
3 years ago
psi29a 3696187737 Merge branch 'free_as_in_av' into 'master'
Use av_free and maybe get Coverity to understand

See merge request OpenMW/openmw!892
3 years ago
CedricMocquillon b61249841e Update lookup only after sorting files 3 years ago
Evil Eye 54d32817d5 Use av_free and maybe get Coverity to understand 3 years ago
psi29a 3920477618 Merge branch 'moving_lighting_method_to_graphics' into 'master'
Moving Lighting Method from Advanced -> Visuals to Graphics -> Lighting

See merge request OpenMW/openmw!883
3 years ago
psi29a c4fde03542 Merge branch 'ObjectPagingMergeIssue' into 'master'
Share state

See merge request OpenMW/openmw!879
3 years ago
psi29a e596f62107 Merge branch 'Terrain-Selection-Issues' into 'master'
Various fixes for the editor's "Terrain land editing" mode (fixes #5473, #6022, #6023, #6024, #6035, #6036)

Closes #6036, #6035, #6024, #6023, #6022, and #5473

See merge request OpenMW/openmw!840
3 years ago
Thunderforge 4a15868c0e Moving Lighting Method from Advanced -> Visuals to Graphics -> Lighting
The plan is to add additional options to this new tab, and since it's of similar status as the Shaders settings, it makes sense to put them next to them on the Graphics page.
3 years ago
Alexei Dobrohotov fea5c0ac1a Merge branch 'armour_error_fix' into 'master'
Fixed data subrecord name for Armour record used in error

See merge request OpenMW/openmw!882
3 years ago
CedricMocquillon d11a6bd92c Share state 3 years ago
Atahualpa 3a1243a5d0 Rebased branch, reduced code duplication, added comments, adjusted formatting. 3 years ago
Atahualpa ca80aeaaea Fix vertex calculation for cell-border drawing. 3 years ago
Atahualpa d500507dec Resolved merge conflicts with changelog (cont.) 3 years ago
Atahualpa 356efa15a2 Fixes #6035 (circle brush selects outside of circle) and #6036 (some corner vertices not selected). 3 years ago
Atahualpa 425f745d53 Resolved merge conflicts with changelog. 3 years ago
Atahualpa 7be891b440 Directly use Geometry instead of Geode; fix for loop; add size_t type-cast. 3 years ago
Atahualpa 73949d5bd0 Updating the CMake file isn't a bad idea either... 3 years ago
Atahualpa 6c49074765 Remove old references to Cell class. 3 years ago
Atahualpa 008bf64dd9 Second step toward fixing terrain selection issues. 3 years ago
Atahualpa 18ea4d8eb2 First step toward fixing terrain selection issues. 3 years ago
Bret Curtis 373f8636b7
Merge pull request #3092 from akortunov/master
Do not trigger in-game bindings via mouse buttons when controls are disabled
3 years ago
Bret Curtis 523edd0723
Merge pull request #3093 from akortunov/light_crash
Fix crashes on exit in LightManager
3 years ago
psi29a ae66afb219 Merge branch 'less_verbose' into 'master'
Make the code less verbose.

See merge request OpenMW/openmw!874
3 years ago
psi29a e73c0f92b8 Merge branch 'fix_present_tile_crash' into 'master'
Add missing synchronization for present tiles modification

See merge request OpenMW/openmw!878
3 years ago
psi29a e9fbd76e9b Merge branch 'windows_tests' into 'master'
Support running tests and benchmarks for windows

See merge request OpenMW/openmw!839
3 years ago
psi29a 4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
3 years ago
elsid 959165bcb9
Support running unit tests on gitlab CI for windows
But not actually run them because gitlab fails to do this.
3 years ago
elsid 3ef1b27099
Add missing includes 3 years ago
AnyOldName3 4cedb3549b Decode base64-packed settings files 3 years ago
Benjamin Winger 21f04f0d0f
Fixed data subrecord name for Armour record used in error 3 years ago
AnyOldName3 081650a2e5 Integrate Base64 library with build 3 years ago
AnyOldName3 2b1326cb74 Change namespace to Base64
The functions do Base64 encoding and decoding and do not feed me
delicious almond and meringue based confectionary.
3 years ago
AnyOldName3 d66cc3b7ae Fix undefined behaviour 3 years ago
AnyOldName3 aba735e615 Check in external Base64 implementation
Taken from https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594

MIT licenced
3 years ago
elsid a73ffc25c3
Add missing synchronization for present tiles modification
insert/erase can be done from multiple threads simultaneously. mMutex is
already used to synchronize reads so use it for writes too.
3 years ago
psi29a f1f1703441 Merge branch 'fix_navmesh_wait' into 'master'
Fix redundant waiting until navmesh is generated

See merge request OpenMW/openmw!861
3 years ago
Andrei Kortunov 11c57978b6 Fix crashes on exit in the LightManager (bug #6044) 3 years ago
Andrei Kortunov c54ef55ebb Revert "Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing"
This reverts commit 5373cf1cd5.
3 years ago
Andrei Kortunov c11774f278 Do not trigger in-game bindings via mouse buttons when controls are disabled (bug #6047) 3 years ago
psi29a b583c2300c Merge branch 'maybe-fix#5551' into 'master'
Fix #5551

Closes #5551

See merge request OpenMW/openmw!802
3 years ago
psi29a 405e634e09 Merge branch 'fix_light_manager_ub' into 'master'
Fix UB in light initialization

See merge request OpenMW/openmw!877
3 years ago
elsid d520b440aa
Copy LightBuffer data into a new object when changing layout
Before this change LightBuffer copy constructor copied only mData pointer into
a new object. Then memcpy was applied to an overlapping source and destination
that is UB.

Replace configureLayout function by a special constructor. That copies all
mData values and a pointer to a buffer object into a newly allocated object.
3 years ago
Bret Curtis fef9e91510
Merge pull request #3090 from akortunov/warnfix
Fix warning in assert - size_t can not be negative
3 years ago
Bret Curtis 46da65a568
Merge pull request #3091 from akortunov/master
Discard button press events during save loading
3 years ago
AnyOldName3 c2e4eda825 Merge branch '6013-fix' into 'master'
Retain draw callback

Closes #6013 and #5967

See merge request OpenMW/openmw!875
3 years ago
madsbuvi f3e17e7c52 Don't redundantly call notify on every frame. 3 years ago
Andrei Kortunov e38063dcdb Discard button press events during save loading (bug #5619) 3 years ago
Frederic Chardon 62c7adc87b Merge branch 'no_at_boundaries' into 'master'
Don't use at() instead [] when length is checked/known

See merge request OpenMW/openmw!866
3 years ago
Frederic Chardon 38db2f8810 Merge branch 'includes_mwgui' into 'master'
Remove some useless includes from apps/openmw/mwgui

See merge request OpenMW/openmw!870
3 years ago
madsbuvi 5b9a2b73b0 Retain final draw callback as a member variable in ScreenshotManager, and do not call setFinalDrawCallback after init. 3 years ago
Frederic Chardon 807c7a2025 Merge branch 'useless_includes_mwmechanics' into 'master'
Remove some useless headers in apps/openmw/mwmechanics

See merge request OpenMW/openmw!871
3 years ago
fredzio 5b63019719 Embed actor velocity inside its class. It makes the code simpler. 3 years ago
fredzio c55db790f3 Make the code less verbose / more readable using for range loop and
structured binding.

No functional changes.
3 years ago
Frederic Chardon 730f1fe2a7 Merge branch 'useless_includes_mwphysics' into 'master'
Remove some useless includes in apps/openmw/mwphysics

See merge request OpenMW/openmw!872
3 years ago
jvoisin 9373e4ada7 Remove some useless includes in apps/openmw/mwphysics 3 years ago
jvoisin 9522a64e7d Remove some useless includes from apps/openmw/mwgui 3 years ago
jvoisin 1cd15613a6 Remove some useless headers in apps/openmw/mwmechanics 3 years ago
psi29a 3d61d7ec9a Merge branch 'optimize_initial_load' into 'master'
Optimize engine initial loading time

See merge request OpenMW/openmw!867
3 years ago
Evil Eye 6cb6461cba Merge branch 'const_ref_it' into 'master'
Use const references when possible in for loops

See merge request OpenMW/openmw!869
3 years ago
Frederic Chardon faaf814fbc Merge branch 'unused_struct' into 'master'
Remove an unused struct

See merge request OpenMW/openmw!868
3 years ago
jvoisin 7deb6a6ffd Use const references when possible in for loops
No need for useless copies.
3 years ago
jvoisin c1e3869f25 Remove an unused struct 3 years ago
elsid 1e2aae8095
Use stable sort+unique to collect RefIDs for ESMStore records counting
The idea is to avoid std::map lookup for each CellRef. Instead generate a
sequence of added and removed RefNums into a vector then order them by RefNum
using a stable sort that preserves relative order of elements with the same
RefNum. RefIDs are stored in a different vector to avoid std::string move ctor
calls when swapping elements while sorting. Reversed iteration over added and
removed RefNums for each unique RefNum is an equivalent to what map-based
algorithm produces. The main benefit from sorting a vector is a data locality
that means less cache misses for each access. Reduces ESMStore::countRecords
perf cycles by 25%.
3 years ago
elsid 9938af2289
Use unordered_map for ref count
Reduces ESMStore::countRecords time by 8%.
3 years ago
elsid 6248dc72cb
Convert to lower case only when needed 3 years ago
elsid f2188d2533
Reduce temporary allocations on ESM loading
By moving objects instead of copying when possible.
3 years ago
Andrei Kortunov b717103fe0 Fix warning in assert - size_t can not be negative 3 years ago
Bret Curtis 8a315b01ae
Merge pull request #3089 from xyzz/fix-journalbooks-ub
Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex
3 years ago
psi29a a1b96cb9cc Merge branch 'fix_dangling_light_manager' into 'master'
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing (#6044)

Closes #6044

See merge request OpenMW/openmw!865
3 years ago
Bret Curtis d0329d3dd9
Merge pull request #3088 from akortunov/weapon_sheathing
Disable shield animation when we launch a torch one
3 years ago
Ilya Zhuravlev 13f060623f Fix out-of-bounds access in JournalBooks::createCyrillicJournalIndex 3 years ago
jvoisin 690d85d0e9 Don't use at() instead [] when length is checked/known 3 years ago
elsid 5373cf1cd5
Replace raw pointer by observer_ptr to avoid dangling pointer dereferencing
When game exit is requests when initial loading screen is active LightManager
can be destructed in the main thread before LightManagerStateAttribute::apply
is completed by different thread. Given that it uses raw pointer at some point
it becomes dangling because object is destructed this leads to UB and eventual
SIGSEGV.
3 years ago
Andrei Kortunov b63f53f5bb Disable shield animation when we launch a torch one (bug #6043) 3 years ago
AnyOldName3 5d83de189a Merge branch 'insert_or_assign' into 'master'
Use insert_or_assign() instead of hand rolled version.

See merge request OpenMW/openmw!862
3 years ago
fredzio fb344d27e0 Use insert_or_assign() instead of hand rolled version. 3 years ago
elsid eeba92d48b Merge branch 'includes_detournavigator' into 'master'
Remove some superfluous includes in components/detournavigator

See merge request OpenMW/openmw!860
3 years ago
elsid 59f89d22f8
Apply min distance only for not present tiles
To avoid waiting when navmesh update is triggered by transformed object for
already present tiles.
3 years ago
elsid d0ea9c482a
Reorder async navmesh updater jobs when player tile changes
When player tile changes distance to player that is part of jobs priority is
invalidated. So jobs are no longer in the right order. This can lead to
processing of farests tiles first.

Sort queue each time player tile is changed.
3 years ago
Bret Curtis 66a527c3de
Merge pull request #3075 from akortunov/warnfix
Fix MSVC's C4244 and C4267 warnings
3 years ago
AnyOldName3 a46f217afb Merge branch 'correct_particle_quota' into 'master'
Use NiParticleData info for particle system quota

Closes #6028

See merge request OpenMW/openmw!855
3 years ago
jvoisin 28d5e5e8be Remove some superfluous includes in components/detournavigator 3 years ago
glassmancody.info 4bbbbb00f6 use particle data for particle system quota 3 years ago
psi29a 3944648f0b Merge branch 'opencs_remove_inclde' into 'master'
Remove some superfluous includes in the opencs

See merge request OpenMW/openmw!829
3 years ago
jvoisin 06ae26037f Remove some superfluous includes in the opencs 3 years ago
AnyOldName3 82bd88c818 Merge branch 'update-bullet2' into 'master'
Update extern Bullet to 3.17

See merge request OpenMW/openmw!854
3 years ago
Gleb Mazovetskiy bdfbf01772 Update extern Bullet to 3.17
Includes performance improvements that affect OpenMW:

* https://github.com/bulletphysics/bullet3/pull/3287
* https://github.com/bulletphysics/bullet3/pull/3293
3 years ago
psi29a d843ec321e Merge branch 'DoNotSearchTwice' into 'master'
Search only in the niffilemanager for nif files

See merge request OpenMW/openmw!823
3 years ago
psi29a 6a5a9fbde4 Merge branch 'static-access' into 'master'
[Launcher] Replacing static method access through instances

See merge request OpenMW/openmw!834
3 years ago
psi29a a8898a3d4c Merge branch 'remove_extra_box' into 'master'
[Launcher] Removing extra box surrounding all main content

See merge request OpenMW/openmw!832
3 years ago
psi29a fd89582e0c Merge branch 'navmesh_wait' into 'master'
Wait until navmesh is generated within given distance around player (#5500)

Closes #5500

See merge request OpenMW/openmw!819
3 years ago
psi29a 5cd4dc2840 Merge branch 'catchy_video' into 'master'
Catch exceptions in VideoThread

Closes #6007

See merge request OpenMW/openmw!835
3 years ago
Petr Mikheev 4a7147e222 Merge branch 'constexpr_esm' into 'master'
Use a constexpr for esm cc

See merge request OpenMW/openmw!849
3 years ago
Petr Mikheev b0c9f6167c Merge branch 'fix_crash_ai' into 'master'
Fix a crash in aipackage.cpp

Closes #5966

See merge request OpenMW/openmw!848
3 years ago
Evil Eye 69aaf6ab04 don't touch frame->data 3 years ago
jvoisin bcd8190516 Fix a crash in aipackage.cpp 3 years ago
Evil Eye ed118537a8 use unique_ptr instead 3 years ago
Evil Eye 3b7cef9e88 add PacketGuard and move try/catch up 3 years ago
Evil Eye 1b61ec979d switch to lock_guards 3 years ago
jvoisin 89f721fad3 Use a constexpr for esm cc 3 years ago
psi29a e74ea56434 Merge branch 'update_changelog' into 'master'
Add changelog entries for navigator features

See merge request OpenMW/openmw!846
3 years ago
elsid 6e19e3a9bb
Add changelog entries for navigator features 3 years ago
Andrei Kortunov 963e1b8b3f Fix MSVC's C4244 warnings 3 years ago
Andrei Kortunov f9d42ed396 Fix MSVC's C4267 warnings 3 years ago
Bret Curtis a70f93a3cf
Merge pull request #3086 from akortunov/master
Make groundcover to use rendering distance in units instead of cells
3 years ago
Andrei Kortunov 49a744b65a Make groundcover to use rendering distance in units instead of cells 3 years ago
Andrei Kortunov 852c71fe22
Merge pull request #3087 from akortunov/near_clip
Temporary increase default near clip distance
3 years ago
Andrei Kortunov 08f30e6f50 Temporary increase default near clip distance, until reverse-z depth buffer is implemented 3 years ago
Bret Curtis a89b9f338c
Merge pull request #3085 from akortunov/master
Recreate a special case for IntersectionVisitor on QuadTreeWorld
3 years ago
Andrei Kortunov 54c8375672 Recreate a special case for IntersectionVisitor on QuadTreeWorld 3 years ago
elsid 4d7e5245a3
Support benchmarks for windows
Don't run the binary because gitlab can't execute it successfully due to
unknown reason.
3 years ago
Bret Curtis 340801e08b
Merge pull request #3084 from akortunov/master
Return check for distance when we try to reuse data
3 years ago
psi29a 3a0a2b7d68 Merge branch 'adding_category_groups_to_advanced_visuals' into 'master'
[Launcher] Grouping settings on Advanced -> Visuals

See merge request OpenMW/openmw!843
3 years ago
psi29a f7b8c817f8 Merge branch 'performance-faster-string-find' into 'master'
Fixing performance-faster-string-find issues

See merge request OpenMW/openmw!842
3 years ago
Andrei Kortunov 3e281f625d Return check for distance when we try to reuse data (bug #6026) 3 years ago
Thunderforge ad6cc6e775 Grouping settings on Advanced -> Visuals
Since we'll be adding additional settings in the near future and the list is already getting very long, I figured I would group these like we do on the "Miscellaneous" tab.
3 years ago
Thunderforge 339d347aea Fixing performance-faster-string-find issues
This addresses the Clang Tidy check [performance-faster-string-find](https://clang.llvm.org/extra/clang-tidy/checks/performance-faster-string-find.html).
3 years ago
Evil Eye de37ca8e2c Catch exceptions in VideoThread 3 years ago
psi29a 2042a66cf3 Merge branch 'bench_ci' into 'master'
Run benchmarks on gitlab CI

See merge request OpenMW/openmw!789
3 years ago
Bret Curtis f84e9f5fb9
Merge pull request #3082 from akortunov/warnfix2
Add new scene nodes to scene graph serializer blacklist
3 years ago
Bret Curtis 08059247b8
Merge pull request #3081 from akortunov/master
Skip hidden nodes for ObjectPaging
3 years ago
psi29a 13fd0e11ff Merge branch 'no_time_to_talk' into 'master'
Don't stop and turn to the player while sneaking or jumping

Closes #6016

See merge request OpenMW/openmw!838
3 years ago
psi29a 69d3f91186 Merge branch 'unused' into 'master'
Remove unimplemented method declaration

See merge request OpenMW/openmw!837
3 years ago
elsid 6492e9522a
Run benchmarks on gitlab CI 3 years ago
AnyOldName3 09f39b29f0 Load defaults.bin instead of settings-default.cfg. Do not decode yet. 3 years ago
AnyOldName3 92325976e9 Update documentation to refer to defaults.bin 3 years ago
AnyOldName3 0d737a3501 Create defaults.bin at configure time 3 years ago
Evil Eye c5aa3d4f77 Don't stop and turn to the player while sneaking or jumping 3 years ago
Evil Eye ffd84502f9 Remove unimplemented method declaration 3 years ago
Petr Mikheev e65b285f06 Merge branch 'use_min' into 'master'
Use existing min implementation

See merge request OpenMW/openmw!828
3 years ago
elsid b806445a36
Use existing min implementation 3 years ago
Andrei Kortunov 132fedf290 Analyze only used LOD levels in ObjectPaging 3 years ago
Andrei Kortunov a939cb6692 Skip hidden nodes for ObjectPaging 3 years ago
Thunderforge ead51784dc [Launcher] Replacing static method access through instances
This addresses the Clang Tidy check [readability-static-accessed-through-instance](https://clang.llvm.org/extra/clang-tidy/checks/readability-static-accessed-through-instance.html). It also simplifies the code by reducing the number of parameters we're passing around.
3 years ago
Thunderforge b86356fe13 [Launcher] Removing extra box surrounding all main content
Previously, all main content was in a single box, separated from the bottom containing the version and Help/Close/Play buttons. For pages that already had boxes, that meant there were were boxes within boxes and this looked visually cluttered.

I've removed the box to reduce the amount of visual clutter and added a horizontal line so that the content is still separated from the bottom content.
3 years ago
Frederic Chardon caf382c19f Merge branch 'barrier' into 'master'
Do not store callback inside Misc::Barrier

See merge request OpenMW/openmw!821
3 years ago
David Cernat 85ab67fff4 [Server] Use consistent order for script functions for Spells
Fix a small typo.
3 years ago
David Cernat 1f3a17eff7 [Client] Remove pointless declaration of DedicatedPlayer as struct
This seems to have been a typo left over from Koncord's early work on the project.
3 years ago
David Cernat e00ee1425a [Client] Reload DedicatedActor ptrs when setting their active spells
This makes the spells' visual effects appear correctly.
3 years ago
Andrei Kortunov 2e8873af51 Add new scene nodes to scene graph serializer blacklist 3 years ago
psi29a 08e1a8e0fb Merge branch 'esm_opti' into 'master'
Teensy optimisation for esmtool

See merge request OpenMW/openmw!826
3 years ago
psi29a 621cf47085 Merge branch 'master' into 'master'
Add information about DX format being used in normal maps

See merge request OpenMW/openmw!827
3 years ago
Joakim Berg 60649792ba Add information about DX format being used in normal maps 3 years ago
David Cernat 1eeee29d51 [General] Implement ActorSpellsActive packet, part 2
Additions and removals of actors' active spells can now be saved to and loaded from the server.
3 years ago
jvoisin 8a56ba6aaa Fix compilation 3 years ago
psi29a 9b017ef04d Merge branch 'internal_includes_openmw' into 'master'
Clean up some internal includes of the openmw component

See merge request OpenMW/openmw!796
3 years ago
Bret Curtis d4dce30952
Merge pull request #3077 from akortunov/master
Fix uninitialized variable
3 years ago
elsid fbeccc2908 Apply 1 suggestion(s) to 1 file(s) 3 years ago
Bret Curtis e720a56030
Merge pull request #3080 from akortunov/fix_ci
Add missing include for std::inserter
3 years ago
Andrei Kortunov 8d4a374516 Add missing include for std::inserter 3 years ago
Bret Curtis 5548033440
Merge pull request #3078 from akortunov/fix_ci
Fix AppVeyor CI
3 years ago
Andrei Kortunov e8ed66767b Fix AppVeyor CI 3 years ago
psi29a 6263ade01a Merge branch 'esmcleanup' into 'master'
Minor ESM code cleanup

See merge request OpenMW/openmw!825
3 years ago
Andrei Kortunov a0582caa26 Fix uninitialized variable 3 years ago
David Cernat ea6d5c68ae Add OpenMW commits up to 6 May 2021
# Conflicts:
#   CMakeLists.txt
#   components/CMakeLists.txt
3 years ago
jvoisin e97e4d07dd Teensy optimisation for esmtool
- Use an unordered_set instead of a list to
  keep track of skipped records.
- Reduce the number of conditions when parsing 4-letters
  records by using a switch-case instead of cascading conditions.
- Add a const
3 years ago
CedricMocquillon a885134868 Do not search if it is not used 3 years ago
elsid 00de80c884 Merge branch 'deadcode' into 'master'
GC some unused code, simplify some other

See merge request OpenMW/openmw!820
3 years ago
elsid 6446a48f91 Merge branch 'UseFindInsteadOfLoop' into 'master'
Use O(log(n)) search instead of O(n)

See merge request OpenMW/openmw!824
3 years ago
fredzio e99b61d362 Simplify the code 3 years ago
AnyOldName3 b78bed90c5 Add CMake-based base64 port 3 years ago
elsid 626e032931
Do not store callback inside Misc::Barrier
The only wait method can be provided with it so pass it as a template
parameter there.
3 years ago
CedricMocquillon 813b8ee0d1 Search only in the niffilemanager for nif files 3 years ago
CedricMocquillon e378159ea8 Use O(log(n)) search instead of O(n) 3 years ago
Dobrohotov Alexei 57c372a50e ESM code cleanup 3 years ago
fredzio 00de540a31 Remove unused function. 3 years ago
elsid 7a51d0db18
Wait until navmesh is generated within given distance around player
Add a setting to change this distance.

To prevent situations when there is not enough navmesh generated and actors
can't find path correctly.
3 years ago
elsid f169f8e6f0
Wait until navmesh is generated for interior cells
Add special loading progress bar.

It should be fast enough to not keep loading screen for noticably long but
will provide better pathfinding for actors inside interior cells.
3 years ago
Bret Curtis 3618eabaf0 remove macos10.14 support from gitlab; brew is broken 3 years ago
psi29a 1e9a7894d5 Merge branch 'no_recommends' into 'master'
Don't install recommended packages in Debian's CI

See merge request OpenMW/openmw!756
3 years ago
jvoisin 885ff36b01 Don't install recommended packages in Debian's CI 3 years ago
Bret Curtis 4129cc244c allow macos11xcode12 to fail for now; but not macos10.15xcode11; add support for macos10.14_xcode10; make sure fontconfig does not update other stuff 3 years ago
Bret Curtis a1bc10888c add implicit dependancy fontconfig for macos 3 years ago
Bret Curtis 4f5d697e2b Do not fail when unable to detect the FFMPEG version, like windows. 3 years ago
psi29a d547d0dc60 Add #5800 to changelog 3 years ago
psi29a b8128d09f9 Merge branch 'enchanted-item-selected-fix' into 'master'
Fix for enchanted items being removed on item equip cycling when they are re-equipped

See merge request OpenMW/openmw!714
3 years ago
psi29a 110001d47f Merge branch 'nullroots' into 'master'
Improve null root handling

Closes #5963

See merge request OpenMW/openmw!818
3 years ago
psi29a faeefbe298 Merge branch 'fix_niftest_2' into 'master'
Reapply nif fixes

See merge request OpenMW/openmw!817
3 years ago
Dobrohotov Alexei 19f0b80983 Improve null root handling 3 years ago
elsid d5e28d7269
Remove redundant casts 3 years ago
elsid d9e7c2fb42
Replace comment by static assert 3 years ago
elsid bf2f15342b
Compare positive int as std::size_t
If records.size() is greater than max int comparison is invalid.
3 years ago
elsid 1c08bc0b15
Handle std::istream bad state after read 3 years ago
elsid 3e4abb9f04
Avoid copy from vector to string
Read directly into a string.
3 years ago
elsid f4cfade14b
Use std::size_t to iterate 3 years ago
elsid 903ce44634
Revert "Various fixes for niftest"
This reverts commit 87ada56edd.
3 years ago
psi29a 9eb876cc17 Merge branch 'read_me' into 'master'
Allow activation of inventory items

Closes #5991

See merge request OpenMW/openmw!788
3 years ago
psi29a 6ac4dfbeb7 Merge branch '9001st_time_the_charm' into 'master'
Rework again scripted movements

See merge request OpenMW/openmw!799
3 years ago
psi29a 440a6ff45b Merge branch 'dehardcoded-settings-docs' into 'master'
Document the new settings entries under [Models] section, used for dehardcoded mesh paths.

See merge request OpenMW/openmw!764
3 years ago
psi29a 15f6932aaa Merge branch 'openmwizzrd_include' into 'master'
Remove some useless includes from the wizzard

See merge request OpenMW/openmw!767
3 years ago
psi29a 9b0802f290 Merge branch 'launcher-tooltip-fix' into 'master'
Minor fix in launcher's advanced settings tab

See merge request OpenMW/openmw!754
3 years ago
tess ad7aff4cee Minor fix in launcher's advanced settings tab 3 years ago
psi29a 6513c38875 Merge branch 'clean_navigator' into 'master'
Remove redundant and useless code from navigator

See merge request OpenMW/openmw!815
3 years ago
psi29a b10a817f7e Merge branch 'useuless_launcher' into 'master'
Remove some useless includes from the launcher

See merge request OpenMW/openmw!775

(cherry picked from commit a84bd643b334eb6ac715681c497184ac22212ced)

d3fff8cf Remove some useless includes from the launcher
3 years ago
psi29a e94181b2b2 Merge branch 'constexpr' into 'master'
Sprinkle a couple of constexpr found by VS

See merge request OpenMW/openmw!800

(cherry picked from commit 5e8ea624bc85acebf457592dd10b790124ecf6ef)

5704b2ac Sprinkle a couple of constexpr found by VS
3 years ago
psi29a e6b097085b Merge branch 'const_ref' into 'master'
Sprinkle some const-ref to avoid unnecessary copies

See merge request OpenMW/openmw!803
3 years ago
psi29a 7b86061123 Merge branch 'fix_niftest' into 'master'
Various fixes for niftest

Closes #5953

See merge request OpenMW/openmw!814
3 years ago
elsid 87ada56edd Various fixes for niftest 3 years ago
psi29a 1cc49d1745 Merge branch 'double_bullet2' into 'master'
Unbreak and simplify bullet detection.

See merge request OpenMW/openmw!816
3 years ago
fredzio 231780a51d Simplify the bullet detection. This way we don't need to explicitly pass
all possible variables to the try_compile stuff
3 years ago
elsid 865ef56a09
Replace include by RecastMesh forward declaration
To reduce dependency between navigator interface and implementation.
3 years ago
elsid ec87b3f8f7
Remove redundant ChunkyTriMesh
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
3 years ago
elsid bce06df254
Add missing array header 3 years ago
elsid 22aebcea74
Remove useless rcMarkWalkableTriangles call
It fills areas.data with walkable triangles but right after it's overwritten
and rcClearUnwalkableTriangles is called instead that fills areas.data with
unwalkable triangles.
3 years ago
psi29a 0f33734f5d Merge branch 'remove-os-identity' into 'master'
Remove OsIdentity.cmake

See merge request OpenMW/openmw!808
3 years ago
AnyOldName3 a631855ac9 Merge branch 'deathclawssuck' into 'master'
Don't flip NV PPL shader normal map Y axis

See merge request OpenMW/openmw!810
3 years ago
Gleb Mazovetskiy e3a6cb1695 Remove OsIdentity.cmake
Removes the OsIdentity.cmake file and uses a cross-compilation friendly
and OS-independent method of detecting system double-precision bullet
instead.
3 years ago
Dobrohotov Alexei ad5ee1aa1c Don't flip NV PPL shader Y axis erroneously 3 years ago
psi29a 7f7041656d Merge branch 'enforce_double_bullet' into 'master'
Remove support for single-precision Bullet, fail during configuration instead of during linking (#5980)

See merge request OpenMW/openmw!806
3 years ago
David Cernat a3f304107b Add OpenMW commits up to 2 May 2021
# Conflicts:
#   components/CMakeLists.txt
3 years ago
fredzio 6fd04cb8f6 Remove support for single-precision Bullet, fail during configuration instead of during linking. 3 years ago
elsid 9cc7b1f4bd Merge branch 'nomove_const' into 'master'
Don't use std::move on const

See merge request OpenMW/openmw!805
3 years ago
psi29a aca5d2fc12 Merge branch 'bump-macos-dependencies' into 'master'
Use prebuilt macOS dependencies with fixed SDL and OSG 3.6

Closes #5939

See merge request OpenMW/openmw!804

(cherry picked from commit 74612b1286330b1e34a9c37528502770496e5bba)

9aaca972 Use prebuilt macOS dependencies with fixed SDL and OSG 3.6
3 years ago
jvoisin d4d111a709 Don't use std::move on const 3 years ago
jvoisin d45184a730 Sprinkle some const-ref to avoid unnecessary copies 3 years ago
AnyOldName3 471ab431f5 Merge branch 'off_by_one_windows_crashcatcher' into 'master'
Fix an off-by-one in windows_crashcatcher.cpp

See merge request OpenMW/openmw!801
3 years ago
jvoisin 813969a46e Fix an off-by-one in windows_crashcatcher.cpp 3 years ago
psi29a d95cd985a4 Merge branch 'fix_settings_doc' into 'master'
Fix default object paging active grid value in the doc

See merge request OpenMW/openmw!797
3 years ago
AnyOldName3 1626762d5c Maybe fix #5551
If we were doing this properly, we'd migrate to
https://cmake.org/cmake/help/latest/module/InstallRequiredSystemLibraries.html
but this should hopefully remove a blocker for 0.47
3 years ago
Chris Djali f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
3 years ago
elsid 43b19c4a46
Fix default object paging active grid value in the doc 3 years ago
fredzio 4fa0972b2d Tone down actor's skip simulation flag to an optional skip collision
detection flag.
3 years ago
Evil Eye bd45449f9d Allow activation of inventory items 3 years ago
psi29a 74ce9ffb85 Merge branch 'sky-documentation-the' into 'master'
Documentation on what the sky system in Morrowind / OpenMW is composed of

See merge request OpenMW/openmw!776
3 years ago
Matjaž Lamut 5a238f3c80 Documentation on what the sky system in Morrowind / OpenMW is composed of 3 years ago
psi29a 0e50349192 Merge branch 'uvcontroller' into 'master'
Fix NiUVController UV offset calculations (bug #5995)

Closes #5995

See merge request OpenMW/openmw!795
3 years ago
jvoisin 998cc97a4f And done! 3 years ago
jvoisin be371ccd9f An another pass 3 years ago
jvoisin ee2446d5c4 Trim even more 3 years ago
jvoisin 04edb1c817 Trim down some internal includes 3 years ago
Dobrohotov Alexei 971ba81ed2 Use higher level transformations in UVController 3 years ago
Alexei Dobrohotov e9ff90f3de Merge branch 'pgrd_overflow' into 'master'
Fix a heap overflow in loadpgrd.cpp

See merge request OpenMW/openmw!784
3 years ago
jvoisin 5f65583a3a Fix a heap overflow in loadpgrd.cpp 3 years ago
Dobrohotov Alexei 24f4bf9c28 Fix NiUVController UV offset calculations (bug #5995) 3 years ago
Andrei Kortunov 18a4c81b5c Merge branch 'fix_toggleborders' into 'master'
Fix ToggleBorders debug view with 'Shaders' lighting method

See merge request OpenMW/openmw!792
3 years ago
AnyOldName3 131a4665aa Merge branch 'build' into 'master'
Build everything during the coverity scan

See merge request OpenMW/openmw!790
3 years ago
Alexei Dobrohotov a40cbd46fa Merge branch 'shadow-equals-typo-fix' into 'master'
Fix typo

See merge request OpenMW/openmw!794
3 years ago
AnyOldName3 ceb6a280ff Fix typo
Hopefully this will actually let us make better use of shadow bounds,
but I wouldn't count on it.
3 years ago
glassmancody.info 9f314d1d6f Fix ToggleBorders 3 years ago
jvoisin b5c132d56f Build everything during the coverity scan
This should fix the 404 on the download page
3 years ago
Roman Siromakha 68ddde84fe
Merge pull request #3074 from akortunov/warnfix
Declare separate constructors with const reference and rvalue arguments for OscillatingRecastMeshObject
3 years ago
psi29a 16bb3919d1 Merge branch 'navmesh_cache_simplification' into 'master'
Simplify navmesh cache

See merge request OpenMW/openmw!691
3 years ago
Andrei Kortunov 0bc0cfce5f Declare separate constructors with const reference and rvalue arguments for OscillatingRecastMeshObject 3 years ago
psi29a a8c209f662 Merge branch 'massively-simplify-the-worst-bash-ever' into 'master'
Massively simplify the worst Bash ever

See merge request OpenMW/openmw!785
3 years ago
AnyOldName3 a8c5fc74d1 Massively simplify the worst Bash ever 3 years ago
psi29a 27b20a45e3 Merge branch 'nighthawk469-master-patch-53669' into 'master'
Change travis script back to how it was. To avoid compiler error from old clang version.

See merge request OpenMW/openmw!779
3 years ago
elsid 91e94b221a Merge branch 'overflow_spam' into 'master'
Don't log a warning for reading to the end of the subrecord

See merge request OpenMW/openmw!786
3 years ago
Evil Eye abb120b439 Don't log a warning for reading to the end of the subrecord 3 years ago
Alexei Dobrohotov e3bb45fd61 Merge branch 'minor_aicombat' into 'master'
Minor optimization in aicombat.cpp

See merge request OpenMW/openmw!737

(cherry picked from commit f1d19035cccfff2523faad0d4e4d96cd3ddae2e6)

bbbfc520 Minor optimization in aicombat.cpp
237b34a6 Fix style
a14911cb Fix indentation
3 years ago
Alexei Dobrohotov add04a4ea0 Merge branch 'fix_esm' into 'master'
Fix a read head-buffer-overflow in esm

See merge request OpenMW/openmw!751
3 years ago
Alexei Dobrohotov 6b41bdf7b4 Merge branch 'find_char' into 'master'
Use a char instead of a string in find() where possible

See merge request OpenMW/openmw!781
3 years ago
jvoisin 4c96644f8d Use a char instead of a string in find() where possible
This was done via PVS Studio ( https://pvs-studio.com ),
and should provide a super-duper-marginal performance boost \o/
3 years ago
nighthawk469 9cadfbb6cd Change travis script back to how it was. To avoid compiler error from old clang version. 3 years ago
psi29a 8edef1692f Merge branch 'revert_windows_ci' into 'master'
Revert some windows CI changes

See merge request OpenMW/openmw!773
3 years ago
AnyOldName3 6420501baa Merge branch 'fix_noexcept_default' into 'master'
Fix build by compliers without implementation of P1286R2 (#5983)

See merge request OpenMW/openmw!772
3 years ago
elsid 0ac3f09fe0
Revert "Build windows in scheduled tasks"
This reverts commit 44ca708e12.
3 years ago
elsid 2af40a1e13
Revert "Build even more windows"
This reverts commit e3d3b97da0.
3 years ago
elsid e1d955d92b
Remove noexcept specifier from CreatureCustomData move ctor
C++17 doesn't allow to declare defaulted move ctor with not matching
exception specification to the calculated one:
/Users/eddie/Downloads/BUILD/openmw-master/apps/openmw/mwclass/creature.cpp:63:9: error:
      exception specification of explicitly defaulted move constructor does not
      match the calculated one
        CreatureCustomData(CreatureCustomData&& other) noexcept = default;
        ^

http://wg21.link/p1286r2 makes this possible in C++20 and newer compilers
already have it working even with -std=c++17 but older onces give an error.
3 years ago
elsid ca7add0624
Add move constructor to MWMechanics::Spells 3 years ago
elsid 46e34c500c
Use algorithms to add/remove listener to SpellList 3 years ago
Andrei Kortunov 8aa76ff540 Use W4 instead of Wall for MSVC 3 years ago
Andrei Kortunov 6d351b2bdd Fix MSVC 4706 warnings 3 years ago
AnyOldName3 a34151d890 Merge branch 'brew_gitlab' into 'master'
Don't run `brew uninstall` outside of travis-ci

See merge request OpenMW/openmw!771
3 years ago
AnyOldName3 90fecdeda2 Merge branch 'vertex_lighting_fix' into 'master'
Correct vertex lighting

Closes #5973

See merge request OpenMW/openmw!770
3 years ago
jvoisin ce654b0504 Don't run `brew uninstall` outside of travis-ci 3 years ago
AnyOldName3 123044f60b Merge branch 'osx_sysroot_patch' into 'master'
Revert CMAKE_OSX_SYSROOT as this interferes with the gitlab ci builds.

See merge request OpenMW/openmw!769
3 years ago
glassmancody.info c48eee4eee Clamp vertex lighting before interpolation
Fixes a regression in which pass lighting was clamped after being passed
to fragment shader. For correct FFP emulation, we need to clamp the result
in vertex shader. When clamping after interpolation, negative lights in
particular have a much more drastic effect.
3 years ago
nighthawk469 511d3344fe Revert CMAKE_OSX_SYSROOT as this interferes with the gitlab ci builds. 3 years ago
psi29a 138d3b65a3 Merge branch 'audio-device-close-error' into 'master'
don't forget to close the audio device after you're done with it.

See merge request OpenMW/openmw!759
3 years ago
Simon Meulenbeek cd419256ad don't forget to close the audio device after you're done with it. 3 years ago
psi29a f553f4e891 Merge branch 'nighthawk469-master-patch-79878' into 'master'
Revert Xcode sdk version from 11.6 to 10.2

See merge request OpenMW/openmw!766
3 years ago
nighthawk469 03bb569995 Revert Xcode sdk version from 11.6 to 10.2 3 years ago
jvoisin e3d3b97da0 Build even more windows 3 years ago
jvoisin 44ca708e12 Build windows in scheduled tasks
This should solve disappearing nigthlies
3 years ago
jvoisin fb55207328 Remove some useless includes from the wizzard 3 years ago
Andrei Kortunov f2f2c3d873 Disable -Wsuggest-override again since we have no control over code from FetchContent 3 years ago
Andrei Kortunov faad18b7f9
Merge pull request #3072 from akortunov/warnfix
Fix node masks signed/unsigned mismatch
3 years ago
Bret Curtis 823c4dfba4
Merge pull request #3073 from akortunov/master
Disable controllers for found sheath meshes
3 years ago
David Cernat 7690f3c90e [Client] Don't apply spell effects unilaterally on DedicatedActors 3 years ago
Andrei Kortunov b7b85bb713 Disable controllers for found sheath meshes (bug #5975) 3 years ago
Andrei Kortunov 2d869ca9ff Fix node masks signed/unsigned mismatch 3 years ago
Bret Curtis 50d6cd2a34
Merge pull request #3070 from akortunov/coverity
Fix an another portion of Coverity warnings
3 years ago
Bret Curtis c6c92b5712
Merge pull request #3071 from akortunov/master
Fix an another batch of MSVC complaints
3 years ago
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
3 years ago
AnyOldName3 ff46eceabe Merge branch 'maybe-reintroduce-5904' into 'master'
Fix crash on startup

See merge request OpenMW/openmw!709
3 years ago
Lamoot cbfaab51e7 Mention and link settings for dehardcoded models in index page of custom models section. 3 years ago
Lamoot 55416a57ef Document the newly added settings under [Models] section, used for dehardcoded mesh paths. 3 years ago
Hristos N. Triantafillou 43e5d8300c Merge branch 'allow_osx_fail' into 'master'
Allow OSX to fail for now

See merge request OpenMW/openmw!763
3 years ago
jvoisin 21203fb850 Allow OSX to fail for now 3 years ago
Andrei Kortunov d10399e083 Cast double constant to float explicitely 3 years ago
Andrei Kortunov 7d5c5f8a24 Do not assign negative values to unsigned variables 3 years ago
Andrei Kortunov 651ad11ad8 Do not leave variables without initialization, even in execution paths where they are unused 3 years ago
Andrei Kortunov 9647b670e4 Do not declare unused variables 3 years ago
Andrei Kortunov 2009916dd8 Fix dead code 3 years ago
Andrei Kortunov 0cadc97fb3 Fix double -> float conversions 3 years ago
Andrei Kortunov 1b1c786d0c Do not suppress fixed MyGUI warnings 3 years ago
Bret Curtis befa3f587f
Merge pull request #3068 from akortunov/master
Clean up MSVC warnings
3 years ago
psi29a b645c1f4c0 Merge branch 'navmesh_ignore' into 'master'
Do not trigger NavMesh update when RecastMesh update should not change NavMesh (#4917)

See merge request OpenMW/openmw!762
3 years ago
psi29a f3354c509e Merge branch 'stomp' into 'master'
Adjustable Stomp

See merge request OpenMW/openmw!575
3 years ago
elsid 3e67f5ffa5
Detect and ignore updates for oscillating objects
To avoid triggering NavMesh update when RecastMesh change should not change
NavMesh.

Based on the following assumption:
Given a set of transformations and a bounding shape for all these
tranformations, a new object transformation that does not change this
bounding shape also should not change navmesh if for all of this object
transformations resulting navmesh tiles are equivalent

The idea is to report back to RecastMeshManager all changes of NavMesh if there
are any assiciated with RecastMesh version. So we know the last time when
RecastMesh change resulted into the NavMesh change. When later report shows
that there was no NavMesh change for a new RecastMesh version we can assume
that any object transformation within the same bounding box should not change
NavMesh.
3 years ago
elsid 64fb700ae9
Remove unnecessary relation between updateCompoundObject and RecastMeshObject 3 years ago
elsid 629cedb6d0
Do not track last build revision in RecastMeshManger
mLastBuildRevision == mRevision with current use cases does not happen. But
even if this will happen when another use case will be added it does not save
much computation. The most expensive operation is not adding objects to the
MeshBuilder but to optimize resulting navmesh that will happen anyway in
MeshBuilder::create call.
3 years ago
AnyOldName3 ce3ed28403 Control stomping via settings. 3 years ago
psi29a 7a22c022dc Merge branch 'collada-documentation' into 'master'
Various improvements to the COLLADA format asset pipeline page.

See merge request OpenMW/openmw!761
3 years ago
psi29a 3423d3f882 Merge branch 'various_warn' into 'master'
Fix various warnings found by clang

See merge request OpenMW/openmw!758
3 years ago
AnyOldName3 87ce1a7351 Explain stomp constants 3 years ago
AnyOldName3 a81dfe9ccc MGE XE-like stomping 3 years ago
AnyOldName3 1737f737df Don't use a vec3 if only two components get read 3 years ago
Lamoot 4d4fc5ed0b Finish the section on materials setup. 3 years ago
elsid 62f32f4543
Do not replace equivalent navmesh tiles 3 years ago
Alexei Dobrohotov b29e797b27 Merge branch 'seventh_time_is_the_charm' into 'master'
Unbreak again NPC teleport

See merge request OpenMW/openmw!760
3 years ago
Matjaž Lamut 8b40128559 Finish the section on how to set up collision shapes in Blender. 3 years ago
David Cernat f6887559f6 [License] Add additional terms allowed by the GPL v3
These are the same terms that were added to the license of the Doom 3 BFG Edition GPL Source Code.
3 years ago
Lamoot ee2bcff694 Various improvements to the COLLADA format asset pipeline page. Added images. Added more information on how to define textkeys. Always use all capitals for the COLLADA format name. Barebones subsections for materials and collisions. 3 years ago
jvoisin 032ba1e9a0 Fix the compilation 3 years ago
David Cernat 31a18561a2 [General] Update credits
CoreScripts contributions are no longer counted, as that is a separate repo.
3 years ago
Petr Mikheev 5fe10e8e7f Merge branch 'fix-headtracking' into 'master'
Fix headtracking while invisible

See merge request OpenMW/openmw!743
3 years ago
Jacob Turnbull f49b9e3806 Fix headtracking while invisible 3 years ago
fredzio 36bb2d5f15 An actor needs not be in active cell. As such we can't use
PhysicsSystem::getActor() to determine that a ptr is not actor.
3 years ago
Andrei Kortunov 987b231fdd Fix an another portion of Coverity warnings 3 years ago
psi29a 50db75bd13 Merge branch 'settingstocs_csmprefs' into 'master'
Dehardcode animations in OpenMW-CS (CSMPrefs method)

See merge request OpenMW/openmw!742
3 years ago
jvoisin c0f7e0d585 Use isnan 3 years ago
jvoisin 38316cdaf8 Fix various warnings found by clang
- unused alias
- inefficient use of push_back
- exceptions not inheriting from std::exception
- weird use of a comma
- value compared against itself
3 years ago
psi29a a69619a1e8 Merge branch 'where_is_my_log' into 'master'
Don't clobber game log file when we collect a stack trace.

See merge request OpenMW/openmw!755
3 years ago
jvoisin a35eae3dd1 Fix a read head-buffer-overflow in esm
The check forgot to account for the terminal zero.
3 years ago
fredzio 4058e117ca Don't clobber game log file when we collect a stack trace.
When the crash catcher catch a signal it forks to collect data about its
parent. In the process the child reinitialize the log file, which ends
up empty.
3 years ago
Andrei Kortunov f308dde254 Clean up MSVC warnings 3 years ago
Andrei Kortunov 57b501ad13
Merge pull request #3067 from akortunov/master
Limit pointers cache size to avoid possible bad_alloc errors
3 years ago
psi29a c83b6ff445 Merge branch 'enable_ag_by_default' into 'master'
Enable Active Grid by default

See merge request OpenMW/openmw!753
3 years ago
unelsson 06fda4c5a1 QLineEdit for setting base animation files 3 years ago
unelsson 95272e0f14 String setting to CSMPrefs, part of dehardcoding animation files 3 years ago
David Cernat 6766206a76 [Client] Add check for local player when sending active spell removal 3 years ago
psi29a 4e3f338826 Now that the lighting issue has been fixed, we can now enable active grid by default (which is guarded by distant land). 3 years ago
psi29a d3c865d909 Merge branch 'fix_bsa' into 'master'
Add some validation for bsa parsing

Closes #5955

See merge request OpenMW/openmw!750
3 years ago
psi29a d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes #5957 and #5959

See merge request OpenMW/openmw!752
3 years ago
psi29a 50adeef1ab Merge branch 'coverity_schedule' into 'master'
Fix once and for all™ coverity's schedule

See merge request OpenMW/openmw!748
3 years ago
glassmancody.info 16856d45c5 Lighting Patch
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
3 years ago
Evil Eye 80266d435c Merge branch 'fix_crash' into 'master'
Fix an off-by-one in loadscpt

See merge request OpenMW/openmw!728
3 years ago
jvoisin 47ced7dec4 Add some validation for bsa parsing
This should fix #5955
3 years ago
psi29a 0b8cae4af8 Merge branch 'objects_can_move_too' into 'master'
Another fallout from MR 722: restore objects handling

See merge request OpenMW/openmw!749
3 years ago
psi29a 9f10007891 Merge branch 'fix_macos' into 'master'
Install ccache before run on macOS

See merge request OpenMW/openmw!747
3 years ago
fredzio f137b7341f Another fallout from MR 722: objects were treated like actors by
accident. Net effect was that calls to Move/MoveWorld didn't update
position of collision object.
3 years ago
jvoisin d37b66d58f Fix once and for all™ coverity's schedule
- According to https://gitlab.com/OpenMW/openmw/-/jobs/1176801332 there is no
  need to `cd` into build, since coverity will generate a `cov-int` folder
  in the current folder.
- Don't run other jobs by default during scheduled runs.
- Add a missing terminal quote to coverity's upload command.
3 years ago
David Cernat 4acf9e289b [General] Move active spell structs from BasePlayer to BaseStructs 3 years ago
elsid 9d321b7cdf
Install ccache before run on macOS 3 years ago
psi29a e350d7d4ff Merge branch 'macos-ci-fix' into 'master'
Attempt to fix MacOS beta shared runners.

See merge request OpenMW/openmw!745
3 years ago
Andrei Kortunov b49e63bd12 Merge branch 'fixbuild' into 'master'
Fix build for FreeBSD

See merge request OpenMW/openmw!746
3 years ago
fredzio 16b288f53c Re-add dropped struct keyword to fix build.
rtprio is both a struct and a function, so we need to be explicit.

../../../components/misc/thread.cpp:53:9: error: must use 'struct' tag
to refer to type 'rtprio' in this scope
rtprio prio;
^
struct
/usr/include/sys/rtprio.h:91:5: note: struct 'rtprio' is hidden by a
non-type declaration of 'rtprio' here
int     rtprio(int, pid_t, struct rtprio *);
^
1 error generated.
3 years ago
Andrei Kortunov 5de72c94ab Limit pointers cache size to avoid possible bad_alloc errors 3 years ago
AnyOldName3 65e7857606 Maybe make -f flag work
Why can't -f just do what the manual says? Why do we even have a pre-existing build directory sometimes? We don't cache it, and artifacts are only supposed to be accessible within the same pipeline.
3 years ago
AnyOldName3 6bbcee8f1f Attempt to fix MacOS beta shared runners.
I think they changed the tag a week ago without notifying us.
3 years ago
psi29a af8bc7d120 Merge branch 'fixagainsetposforgoodthistimeitwillnotbreakanything' into 'master'
Fix #5961: Follow up MR 722: do not apply mPositionOffset twice when we teleport.

Closes #5961

See merge request OpenMW/openmw!744
3 years ago
fredzio e31cf7e6ac Follow up MR 722: do not apply mPositionOffset twice when we teleport.
Previous MR change the meaning of mPositionOffset: it is now just a log
of relative movement that were already applied to allow the physics
simulation to catch up, instead of changes that needs to be applied. As
such, after a teleport we need to reset it. Also, since mWorldPosition
is already with the offset we should not update its value in
applyPositionOffset().
3 years ago
psi29a c686dd05d0 Merge branch 'thread_idle_priority' into 'master'
Set idle priority for navmesh generation thread

See merge request OpenMW/openmw!632
3 years ago
Bret Curtis 395748f2fd
Merge pull request #3066 from akortunov/master
Validate GUI scaling and place it to the launcher
3 years ago
Andrei Kortunov 33b8233887 Validate GUI scaling and place it to the launcher 3 years ago
Bret Curtis 21a235f173
Merge pull request #3065 from akortunov/master
Move container unresolving to the separate method
3 years ago
elsid ab8d1c02d4
Set idle priority for navmesh generation thread
Support Linux, Windows, FreeBSD.
3 years ago
Andrei Kortunov db1428de18 Move container unresolving to the separate method 3 years ago
Bret Curtis 4f72fa2615
Merge pull request #3063 from akortunov/master
Code cleanup, part 2
3 years ago
Andrei Kortunov e2ccd1712a Merge branch 'remove_bogus_warning' into 'master'
Remove bogus warning (#5952)

See merge request OpenMW/openmw!741
3 years ago
fredzio 9d8fcec642 Remove bogus warning. It is a normal situation for projectiles to be
in-flight after the caster is gone.
3 years ago
Andrei Kortunov 016a1d45df Remove outdated field - remnant from earlier implementation 3 years ago
Andrei Kortunov 0c7ddd3938 Remove redundant qualifiers 3 years ago
Andrei Kortunov ac347810ca Fix uninitialized field in the mouse event 3 years ago
Andrei Kortunov bce6effe95 Fix uninitialized variables in the LightManager 3 years ago
Andrei Kortunov e309f75938 Join variables declaration and usage 3 years ago
Andrei Kortunov 5f6f2c15b1 An another attempt to suppress Coverity warning about mkstemp 3 years ago
Andrei Kortunov 388573cf60 Fix uninitialized fields in the essimporter 3 years ago
Andrei Kortunov 696cf9ab05 Extend variables range to avoid integer overflow 3 years ago
psi29a fcb3fffb9a Merge branch 'fix_find_path_freeze' into 'master'
Fix freezes in pathfinding (#5954)

See merge request OpenMW/openmw!740
3 years ago
David Cernat cedf70f367 Add OpenMW commits up to 13 Apr 2021
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
3 years ago
elsid 0fae6d9a0a
Add walk and swim flags when corresponding speed is positive
This allows to avoid finding path over area that will should have infinite
cost (area_cost = area_cost_factor / area_speed).
3 years ago
elsid 3c4a9069ae
Do not use infinite area cost
Division by zero causes float value to be infinite. When infinite cost is
multiplied by zero distance the result is NaN. After this pathfinding algorithm
state is broken.
3 years ago
psi29a a77e1f1812 Merge branch 'coverity_upload' into 'master'
`cd` into the build directly to upload coverity logs

See merge request OpenMW/openmw!739
3 years ago
jvoisin c6fa75c4ac `cd` into the build directly to upload coverity logs 3 years ago
psi29a f1cfdafd4d Merge branch 'why_are_the_christmas_lights_still_up' into 'master'
Remove 8 light limit and add configurable lighting enhancements

See merge request OpenMW/openmw!618
3 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 3 years ago
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 3 years ago
glassmancody.info 92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 3 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 3 years ago
glassmancody.info 8ce65232ff fix race condition with sun uniform 3 years ago
glassmancody.info b7adb9d088 use true default settings 3 years ago
glassmancody.info d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 3 years ago
glassmancody.info eecb9886a9 Shader cleanup, fix indicies 3 years ago
glassmancody.info 16f80ec6f3 Update settings when using fallback 3 years ago
glassmancody.info 4ba473b684 Finalize settings, torch fix 3 years ago
glassmancody.info 71c30a31df in-game settings, some require restart 3 years ago
glassmancody.info 3d713e8602 Fix incorrect minimum ambient 3 years ago
glassmancody.info 280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 3 years ago
glassmancody.info 71f7f30c0b Don't break NV shaders 3 years ago
glassmancody.info 157717693a Changelog entry 3 years ago
glassmancody.info d195602a9d Switch to shared layout, some rewording 3 years ago
glassmancody.info cc31e1eea1 Ambient luminance threshold setting 3 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 3 years ago
glassmancody.info 142c6d2993 Enable groundcover lighting for non FFP 3 years ago
glassmancody.info 08b5681284 Missed redundant formatting changes 3 years ago
glassmancody.info 328ec85757 Code review cleanup, add setting documentation 3 years ago
glassmancody.info 24454a1698 Switch to integer, uint not reliable in GLSL 120 3 years ago
glassmancody.info ec27e60284 Cutoff conditional in light shader 3 years ago
glassmancody.info 05a5cee132 Brighter point lights and light fade 3 years ago
glassmancody.info 7370acdf54 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 3 years ago
glassmancody.info 43ac32921c Rewrite, support different lighting methods 3 years ago
glassmancody.info 9d9074c244 Add shared UBO 3 years ago
glassmancody.info c5ea966f24 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 3 years ago
glassmancody.info dda735c54a initial commit 3 years ago
psi29a 0a6ef9c1bd Merge branch 'swim_when_follow' into 'master'
Allow actors to find path over water surface (#5943)

See merge request OpenMW/openmw!731
3 years ago
psi29a e40f0e1912 Merge branch 'coverity_openmw_only' into 'master'
Only build openmw in coverity

See merge request OpenMW/openmw!738
3 years ago
jvoisin ccb62ad8b0 Only build openmw in coverity 3 years ago
jvoisin c10273675e Massively increase coverity's timeout 3 years ago
psi29a d917d4d7cd Merge branch 'macos_cache_stats' into 'master'
Print ccache stats for macOS builds

See merge request OpenMW/openmw!736
3 years ago
elsid 663ad5e192
Print ccache stats for macOS builds 3 years ago
elsid 539b46aaf0
Use different cache keys for different macOS builds 3 years ago
psi29a 457cbd6160 Merge branch 'path' into 'master'
Fix the path for the coverity build

See merge request OpenMW/openmw!735
3 years ago
jvoisin 1e955fb2e7 Fix the path for the coverity build 3 years ago
psi29a 3dea984c18 Merge branch 'install_curl_coverity' into 'master'
Install curl in the coverity job

See merge request OpenMW/openmw!734
3 years ago
jvoisin 54adb9cbed Fix an off-by-one in loadscpt 3 years ago
jvoisin dc10ab7bad Install curl in the coverity job 3 years ago
psi29a c2acb23fd4 Merge branch 'rule' into 'master'
Use `rule` instead of `only`

See merge request OpenMW/openmw!733
3 years ago
jvoisin 9a87940fc6 Use `rule` instead of `only`
only/except will likely be deprecated: https://docs.gitlab.com/ee/ci/yaml/README.html#onlyexcept-basic
3 years ago
psi29a b79f26380b Merge branch 'no_hitting' into 'master'
Don't perform a hit test outside the page's bounds

Closes #5923

See merge request OpenMW/openmw!710
3 years ago
Evil Eye 56ede535b5 Don't perform a hit test outside the page's bounds 3 years ago
psi29a 0818a10df2 Merge branch 'baby_dont_throw_me_no_more' into 'master'
Catch exceptions in ResolutionListener

Closes #5946

See merge request OpenMW/openmw!727
3 years ago
psi29a 7664a6f9cc Merge branch 'osx_proc' into 'master'
Use the number of logical cores on the CI on OSX

See merge request OpenMW/openmw!732
3 years ago
psi29a f261ef4bbe Merge branch 'coverity' into 'master'
Add a coverity scan

See merge request OpenMW/openmw!720
3 years ago
elsid 28fc21792e
Allow water walking actors to find path over water surface 3 years ago
elsid 634556be9d
Add setting to allow following creatures to find path over water surface 3 years ago
Bret Curtis 4f20aac3bf
Merge pull request #3064 from elsid/fix_osx
Update OSX deployment target to 10.14
3 years ago
jvoisin 95042a2a68 Use the number of logical cores on the CI on OSX 3 years ago
AnyOldName3 8766b81cf8 Merge branch 'misc_cleanup' into 'master'
Misc cleanup (no functional change)

See merge request OpenMW/openmw!729
3 years ago
fredzio 32981bcd88 Constify a few things 3 years ago
fredzio efb241f1de Use override instead of virtual 3 years ago
fredzio fda639eb57 Remove unused forward declarations 3 years ago
Evil Eye b91be1e803 Catch exceptions in ResolutionListener 3 years ago
elsid 010f290fd5
Update OSX deployment target to 10.14
To support std::variant
3 years ago
psi29a 301411c5c5 Merge branch 'esm_variant' into 'master'
Use std::variant for ESM::Variant implementation

See merge request OpenMW/openmw!719
3 years ago
psi29a 34806a49e0 Merge branch 'collada-documentation' into 'master'
Collada user documentation

See merge request OpenMW/openmw!505
3 years ago
Matjaž Lamut 400cae58e5 Collada user documentation 3 years ago
psi29a 603e4206fd Merge branch 'teleport_here_not_there' into 'master'
Fix  #5919 (and another bug)

Closes #5919

See merge request OpenMW/openmw!722
3 years ago
Bret Curtis cf021d70a8
Merge pull request #3061 from elsid/fix_travis
Fix travis
3 years ago
Bret Curtis 562375426d
Merge pull request #3062 from akortunov/master
Fix some issues found by CoverityScan
3 years ago
psi29a 4345b4dcfc Merge branch 'coverity-a2c' into 'master'
Make Coverity happy about A2C

See merge request OpenMW/openmw!723
3 years ago
Andrei Kortunov 45b1c68af4 Remove annotation which does not work 3 years ago
Andrei Kortunov f984e96b34 Use conventional names for atan2 arguments 3 years ago
Andrei Kortunov 1db369f418 Do not use unchecked value in calculations 3 years ago
Andrei Kortunov 903b89a0ff Add bound for UI scale factor, as it specified in docs 3 years ago
Andrei Kortunov c989fac67b Add bound for pointers cache size, as it specified in docs 3 years ago
Andrei Kortunov 124a33d8a3 Fix uninitialized variables 3 years ago
Andrei Kortunov b96929f3fc Avoid division by zero 3 years ago
Andrei Kortunov 41c78a889a Check for decompression error code 3 years ago
Andrei Kortunov 93954a961c Unlock mutex on return to avoid hang 3 years ago
AnyOldName3 8ff4f731fb Make Coverity happy about A2C
Initialise member variable
3 years ago
fredzio 8874a5be22 Change (again) the way SetPos behave.
Instead of registering the desired change of position and rely on
physics simulation to apply it to the world, immediately change the
position in the world without reset the simulation.
3 years ago
fredzio 6e1c67a9ae Account for waterwalking when updating position. Otherwise we might
trace down the actor at waterlevel at the wrong coordinate.

Triggered by multimark mod with waterwalking effect.
3 years ago
psi29a 484c46cb58 Merge branch 'hrtf-setting' into 'master'
Add Audio settings to openmw-launcher

See merge request OpenMW/openmw!692
3 years ago
Simon Meulenbeek 75b4871bab Add Audio settings to openmw-launcher 3 years ago
elsid aaf975ea35
Send travis notifications only for main repo master 3 years ago
elsid d661a3103e
Use clang 9 for linux builds on travis 3 years ago
Evil Eye e5ace3727a Merge branch 'bugfix-inverted-persuasion-result' into 'master'
Attempt to fix inverted persuasion behaviour on intimidation

Closes #5942

See merge request OpenMW/openmw!721
3 years ago
Jonas Tobias Hopusch 799cf16f31
Attempt to fix #5942
Closes OpenMW/openmw#5942
This is an attempt to apply the fix suggested by @Capostrophic
3 years ago
jvoisin 3e20000778 Add a coverity scan 3 years ago
psi29a fe2a97ee39 Merge branch 'wizard-link' into 'master'
Implement #3983 - Add page to the wizard with links to buy morrowind

Closes #3983

See merge request OpenMW/openmw!693
3 years ago
tess 6f7e8d9f59 Implement #3983 - Add page to the wizard with links to buy morrowind 3 years ago
psi29a 4f86eddc96 Merge branch 'CreateBsaAddFileToBsa' into 'master'
Create BSA, add file to existing BSA

See merge request OpenMW/openmw!718
3 years ago
CedricMocquillon 9a6f0691b6 Update changelog 3 years ago
elsid 8e1c92d9af
Use std::variant for ESM::Variant implementation 3 years ago
elsid 7f577f5f08
Do not compare hash in tests
Different std libraries have different implementation that produce different
results for the same values.
3 years ago
psi29a a16387df61 Merge branch 'sky-dehardcode' into 'master'
De-hardcode references to mesh files used by the sky.

See merge request OpenMW/openmw!704
3 years ago
Matjaž Lamut 2cb4b62b83 De-hardcode references to mesh files used by the sky. 3 years ago
CedricMocquillon d617d66a87 Add file to BSA 3 years ago
psi29a 50c57fc9ce Merge branch 'gtest_cmake' into 'master'
Fix tests build with CMake 3.20

See merge request OpenMW/openmw!706
3 years ago
psi29a 8cb3681c12 Merge branch 'esm_variant_tests' into 'master'
Add tests for ESM::Variant

See merge request OpenMW/openmw!712
3 years ago
psi29a 22cf9bd823 Merge branch 'new-macos-ci-image' into 'master'
Use the new macOS image for the CI runner open beta

See merge request OpenMW/openmw!690
3 years ago
psi29a b68305e3e2 Merge branch 'bullet-msvc-runtime' into 'master'
Fix FetchContent Bullet with MSVC

See merge request OpenMW/openmw!717
3 years ago
psi29a 71fda935e8 Merge branch 'shuffle_those_mods' into 'master'
Fix targeted scripts losing their targets when rearranging your load order

See merge request OpenMW/openmw!715
3 years ago
Jacob Turnbull d9376ee08e Trim down comment and change flag name 3 years ago
AnyOldName3 3ad2335d11 Fix FetchContent Bullet with MSVC 3 years ago
Evil Eye 44f2cb0923 Fix targeted scripts losing their targets when rearranging your load order 3 years ago
Bret Curtis 30cba854da
Merge pull request #3060 from akortunov/master
Restore old aiming for melee combat
3 years ago
Andrei Kortunov 59720aea9a Restore old aiming for melee combat 3 years ago
Jacob Turnbull bc8db8b8f5 Fix for enchanted items being removed on item equip cycling when they are re-equipped 3 years ago
David Cernat a7f517507c [Client] Handle reenabling of harvested objects via Container packet
It is no longer necessary to send ObjectState packets when harvesting objects, as the Container packet will handle the refreshing of those objects' animations instead.
3 years ago
David Cernat b2328b7063 [Client] Make it possible to check whether a class can be harvested 3 years ago
psi29a 9aa5aef2c6 Merge branch 'my_other_mr_is_larger' into 'master'
Make AddItem's quantity overflow on negative numbers

Closes #5934

See merge request OpenMW/openmw!713
3 years ago
Andrei Kortunov d3e185623d Merge branch 'ref_data_move' into 'master'
Add move constructor and move assignment operator to RefData (#5893)

See merge request OpenMW/openmw!705
3 years ago
elsid bd33fa76b6
Use CRTP to define CustomData clone function 3 years ago
elsid e380470558
Add move ctor and assignment operator to RefData 3 years ago
elsid 045bb7cbd7
Store CustomData and ContainerStore as unique_ptr 3 years ago
Evil Eye ecde3932e2 Make AddItem's quantity overflow on negative numbers 3 years ago
elsid dae3f022ba
Add tests for ESM::Variant 3 years ago
elsid 03fc3ec803
Do not allow write variant of string as local variable
To be consitent with read where it's not allowed.
3 years ago
AnyOldName3 168f26fc80 Fix crash on startup 3 years ago
psi29a 9aed0bbf16 Merge branch 'spdx-license' into 'master'
Return to CC0-licensed appdata metadata

See merge request OpenMW/openmw!707
3 years ago
Alexander Olofsson db32b8de91
Return to CC0-licensed appdata metadata 3 years ago
elsid 6c18449304
Remove GTest and ExternalProject from FindGMock.cmake 3 years ago
Andrei Kortunov 86719c26b3 Merge branch 'altitude_fix' into 'master'
Fix z offset for Actors from SetPos and Move

See merge request OpenMW/openmw!702
3 years ago
Roman Siromakha c9acac557a
Merge pull request #3059 from akortunov/master
Revert MR672
3 years ago
Hristos N. Triantafillou b808968070
Use the new macOS image for the CI runner open beta
Also add a second build for wider version coverage.
3 years ago
Alexei Dobrohotov 323c4bda61 Merge branch 'spdx-license' into 'master'
Use the SPDX license identifier in appdata XML

See merge request OpenMW/openmw!701
3 years ago
fredzio 9cae7882dd Fix a bug that was triggered with multi mark mod.
When a script calls SetPos for x,y,z in sequence on an actor, we need to make sure
that the actor will not spawn under ground at x,y coordinates.
Now that change of coordinates are cumulated and applied all at once, we
need to account for the whole offset.
To this end move the terrain height check inside of Actor class.
3 years ago
Alexander Olofsson 44bd81e8f0
Use the SPDX license identifier in appdata XML 3 years ago
David Cernat 860be0a4e7 [Client] Send Container & ObjectState packets when harvesting objects 3 years ago
Andrei Kortunov 1ab5a9f530 Revert "Merge branch 'refractiontest' into 'master'"
This reverts commit b31459cc00, reversing
changes made to 369adf1583.
3 years ago
Andrei Kortunov a576824bcf Merge branch 'update-maintainer' into 'master'
Update Flatpak maintainer

See merge request OpenMW/openmw!700
3 years ago
Alexander Olofsson ad0fe2ee29
Update Flatpak maintainer 3 years ago
Andrei Kortunov ee7198a6af Merge branch 'DarthGandalf-master-patch-33177' into 'master'
Update Gentoo maintainers (me)

See merge request OpenMW/openmw!699
3 years ago
Alexey Sokolov 44829046a0 Update Gentoo maintainers (me) 3 years ago
psi29a a6123fee0e Merge branch '5904-hack' into 'master'
Fix #5904

Closes #5904

See merge request OpenMW/openmw!698
3 years ago
AnyOldName3 c6033b4de6 Fix #5904 3 years ago
AnyOldName3 e3dd1bf69e Merge branch 'setpos_again' into 'master'
Remove wrong line that slipped in yesterday.

See merge request OpenMW/openmw!697
3 years ago
fredzio 0fac172413 Remove wrong line that slipped in yesterday. 3 years ago
Bret Curtis d835204fdf
Merge pull request #3058 from akortunov/master
Rework knockdown and knockout animations fallbacks
3 years ago
Andrei Kortunov 50352daf90 Rework knockdown and knockout animations fallbacks 3 years ago
Evil Eye 582f1503c1 Merge branch 'setpos' into 'master'
Unbreak SetPos and the mods using it (#5919)

See merge request OpenMW/openmw!696
3 years ago
fredzio 7a67492d81 Unbreak SetPos and the mods using it.
To make SetPos works with async physics, it was modified to register a
position offset that would be applied to the real position during the
simulation.

A common pattern to teleport NPC in scripts is a sequence of SetPos/Disable/Enable in the same frame.
Since Disable/Enable creates a new physics actor using last known
RefData::Position, the registered offset never get a chance to be applied.

Modify disable() to call moveObject with the offset applied, so that the newly created physics actor will have up-to-date position
3 years ago
psi29a 08afc4729f Merge branch 'physics_clean' into 'master'
Close 2 data races with async physics

See merge request OpenMW/openmw!695
3 years ago
fredzio b58244ac26 Guard the Bullet drawing method with a read lock on the
btCollisionWorld. It closes a race on the collision shapes coordinates.
3 years ago
fredzio dbd6e3bfee Replace pointless usage of shared_ptr by unique_ptr / non-owning raw
pointer for btCollisionWorld.
3 years ago
fredzio ccd3cbc69a Use saved actor position instead of reading again RefData in unstuck. It
is a race condition to do so.
3 years ago
Andrei Kortunov 5fce5b12f4 Merge branch 'drop_the_bird' into 'master'
Disallow inserting containers, creatures, and npcs from the save game not present in content files

Closes #5884

See merge request OpenMW/openmw!683
3 years ago
Andrei Kortunov b61337643e Merge branch 'issue-5680' into 'master'
change aim calculation

See merge request OpenMW/openmw!685
3 years ago
Andrei Kortunov bb9c4d5377 Merge branch 'fix_the_swimmer' into 'master'
Fix The Swimmer (#5914)

See merge request OpenMW/openmw!686
3 years ago
elsid 0c6d72b2d1
Consider first set element as first acquired 3 years ago
elsid f2ebad5115
Return cached element when set existing 3 years ago
elsid 05d6f6ac25
Use single map for navmesh cache 3 years ago
elsid b9a40bc5fc
Add NavMeshTilesCache benchmarks 3 years ago
David Cernat 17ee3d54e4 [General] Lower priority of WorldRegionAuthority packets
Previously, sending a PlayerCellChange packet and a WorldRegionAuthority packet to the player at the same time made the latter arrive first even if the former was intended by a server script to arrive first.
3 years ago
David Cernat 0137772e64 [Client] Log PlayerCellChange packets about the local player 3 years ago
Max dc09616e59 change bugfix name to be same as ticket name 3 years ago
Max 2cd96e56d5 create constant and use constant in other parts of the code base 3 years ago
Max e56efdd562 change aim calculation 3 years ago
AnyOldName3 52eccf1a2d Merge branch 'fix-build' into 'master'
attempt to fix build issue

See merge request OpenMW/openmw!689
3 years ago
Max 72a2e3722e update syntax 3 years ago
Max 91bca0cb1f attempt to fix build issue 3 years ago
Andrei Kortunov 94d396a423
Merge pull request #3057 from akortunov/master
Fix build with OSG 3.4
3 years ago
Andrei Kortunov cf52bee188 Fix build with OSG 3.4 3 years ago
elsid e8c2cd15f0
Add #5914 to the changelog 3 years ago
elsid 453e94ea9f
Use half extents for destination distance tolerance in AiEscort
For actors moving in water destination may be located at such z coordinate
that they can't reach.
3 years ago
elsid f32e1790bc
Add half extents to AiEscord max distance
For actors with big bounding box given constants may not work properly like
it's not possible to get close enough to actor from a given angle to make it
move.
3 years ago
elsid 39c0ce9ddf
Build limited path for far destinations
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
3 years ago
elsid 313355cb3d
Fix default max tile size in navigator doc 3 years ago
Evil Eye cf5a93d712 Also run NPC validation for modified base records 3 years ago
Evil Eye e79036f4e0 Don't erase the player 3 years ago
psi29a a86b6ff6e2 Merge branch 'nifnifnifnifnif' into 'master'
Add in incomplete BSShader[PP/No]LightingProperty work before it rots away

See merge request OpenMW/openmw!681
3 years ago
psi29a 1af50b7e23 Merge branch 'sound_cleanup' into 'master'
Sound cleanup

See merge request OpenMW/openmw!567
3 years ago
psi29a 415591b7ed Merge branch 'ai_reaction_deviation' into 'master'
Distribute AI reactions and engage combat calls over time

See merge request OpenMW/openmw!674
3 years ago
Evil Eye 5e1960a76a Disallow inserting containers, creatures, and npcs from the save game not present in content files 3 years ago
psi29a f8d32c0576 Merge branch 'upd-mygui' into 'master'
Update MyGUI

Closes #5897

See merge request OpenMW/openmw!650
3 years ago
Alexei Dobrohotov 75a967d743 Merge branch 'bound_branch' into 'master'
Bound branch

Closes #5912

See merge request OpenMW/openmw!682
3 years ago
Evil Eye 8e9bd5c0bd Don't throw an exception when equipping a bound item fails 3 years ago
Evil Eye 580fa78034 Don't purge summon effects with invalid creature ids 3 years ago
AnyOldName3 f089c94d34 Merge branch 'mod-install-doc-update' into 'master'
Clarify the requirements of a data folder

See merge request OpenMW/openmw!679
3 years ago
psi29a dea638fa21 Merge branch 'bump-aqt' into 'master'
Bump aqt version

Closes #5805

See merge request OpenMW/openmw!680
3 years ago
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 3 years ago
AnyOldName3 4862e8c8f4 Bump aqt version 3 years ago
psi29a ded59c4858 Merge branch 'master' into 'master'
Prevent physics death spiral by falling back to true delta time when needed

Closes #5431 and #5910

See merge request OpenMW/openmw!669
3 years ago
wareya 63f01d8c5f Prevent physics death spiral by falling back to true delta time when needed 3 years ago
Hristos N. Triantafillou 209e7718a8
Clarify the requirements of a data folder
The current text could be interpreted to mean that a data folder
_must_ have a plugin, but this isn't the case.

This added text clarifies that a plugin or resources are needed.
3 years ago
psi29a 86bd173d69 Merge branch 'refactoring' into 'master'
"static const" -> "static constexpr" in headers

See merge request OpenMW/openmw!676
3 years ago
AnyOldName3 b31459cc00 Merge branch 'refractiontest' into 'master'
Make refraction mixing based on water depth instead of screen depth

See merge request OpenMW/openmw!672
3 years ago
David Cernat b1fbab2d1c [Server] Remove 'using namespace ESM' 3 years ago
Petr Mikheev 369adf1583 Merge branch 'smarterunstuck' into 'master'
Forgot to initialize these variables

See merge request OpenMW/openmw!677
3 years ago
David Cernat 2656569d31 [Server] Remove 'using namespace std' 3 years ago
Petr Mikheev 7bbbe40abe "static const" -> "static constexpr" in headers 3 years ago
wareya e722c99e62 forgot to initialize these variables 3 years ago
psi29a 78894b6129 Merge branch 'smarterunstuck' into 'master'
Improve 'unstuck'ing code

See merge request OpenMW/openmw!675
3 years ago
wareya 40265bf118 make unstucking slightly smarter (can turn itself off, also acts like flat ground) 3 years ago
David Cernat 4940687455 [General] Remove 'using namespace std' from multiplayer components 3 years ago
David Cernat b3c40913f6 [Client] Remove 'using namespace std' from multiplayer-related code
This brings TES3MP in line with https://gitlab.com/OpenMW/openmw/-/merge_requests/664
3 years ago
David Cernat 59cb31e0a7 Add OpenMW commits up to 20 Mar 2021
# Conflicts:
#   apps/openmw/CMakeLists.txt
#   apps/openmw/mwmechanics/aipursue.cpp
#   components/CMakeLists.txt
3 years ago
elsid 62c0ecbbd0
Separate engage combat timer for each actor
Use DeviatingPeriodicTimer to distribute calls over time. This reduces
stuttering and make AI more natural.
3 years ago
elsid 675c0ab72f
Apply uniform random deviation to AI reaction timer
This allows to distribute AI reaction calls over time.

Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.

Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
3 years ago
wareya 1a4e9df707 add bit to suppress coastline artifacts at more of a distance 3 years ago
wareya bf336e4cb4 make sun scattering color stop being an ugly radioactive green 3 years ago
AnyOldName3 d13d90a50d Merge branch 'msvc-fix-osg-src-build' into 'master'
MSVC: extern/ tweaks to make it build

See merge request OpenMW/openmw!663
3 years ago
wareya 845e3944d6 make refraction more visible even at a distance 3 years ago
Bret Curtis 8f996d0bce
Merge pull request #3056 from akortunov/master
Reset watched stats upon reload or new game start
3 years ago
Andrei Kortunov 54daa234bd Reset watched stats upon reload or new game start 3 years ago
Alexei Dobrohotov 6ba4a36dbd
Merge pull request #3054 from akortunov/master
Remove invalid MyGUI properties from layout files
3 years ago
AnyOldName3 7831ba3d5d Merge branch 'async_interp' into 'master'
Fix async physics interpolation

Closes #5908

See merge request OpenMW/openmw!670
3 years ago
wareya 1471ef003a fix async physics interpolation 3 years ago
Bret Curtis 68c1adec0f
Merge pull request #3055 from akortunov/keyinit
Init animation key struct before usage
3 years ago
psi29a a4719ffdf3 Merge branch 'fix-windows-theme' into 'master'
Deploy Qt style DLL

Closes #5907

See merge request OpenMW/openmw!667
3 years ago
Andrei Kortunov a22f6b24d5 Init animation key struct before usage 3 years ago
psi29a 9c1bda5408 Merge branch 'robuster-vswhere' into 'master'
Ensure vswhere finds us a single suitable MSVC installation

See merge request OpenMW/openmw!668
3 years ago
AnyOldName3 b38a817600 Ensure vswhere finds us a single suitable MSVC installation
Also document the numerous arguments to achieve this.
3 years ago
AnyOldName3 1c296a1a78 Deploy Qt style DLL 3 years ago
Alexei Dobrohotov 7acebbd6e8 Merge branch 'no-using-namespace-std' into 'master'
Minor cleanup: Remove `using namespace std`

See merge request OpenMW/openmw!664
3 years ago
psi29a cac7461324 Merge branch 'fix-mesa-sunglare' into 'master'
Fix sunglare on Mesa

Closes #5906

See merge request OpenMW/openmw!665
3 years ago
AnyOldName3 3ad1040271 Update changelog 3 years ago
AnyOldName3 162b25c180 Fix sunglare on Mesa
The sunglare works by comparing an occlusion query with depth testing on
against one with depth testing off to determine if there's anything
closer to the camera than the maximum depth buffer value. For the depth-
tested query, the depth range is set from 1 to 1 so it's always drawn at
the maximum distance. Originally, we had the depth function set to LESS,
meaning that the query would always fail as 1 is not less than 1, but
also glPolygonOffset was used to move the query by "the smallest value
that is guaranteed to produce a resolvable offset for a given
implementation" closer to the camera. While other driver and hardware
combinations do that, Mesa seems to be clamping to the depth range, so
still failing.

Instead, it's simpler to just get rid of the polygon offset and change
the depth test to LEQUAL as 1 *is* less than or equal to 1, but not than
any other possible depth buffer value.
3 years ago
Gleb Mazovetskiy b9c2f6ea1a Minor cleanup: Remove `using namespace std`
I came across these while trying to figure why MSVC build triggers
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93889

In the end, the issue was not in openmw but in OSG, but it's good to
clean up here anyway.
3 years ago
Gleb Mazovetskiy 493659d4f9 MSVC: extern/ tweaks to make it build
Not everything is supported but it does build with the following CMakeSettings.json
variables and dependencies from vcpkg:

      "variables": [
        { "name": "OPENMW_USE_SYSTEM_BULLET", "value": "False", "type": "BOOL" },
        { "name": "OPENMW_USE_SYSTEM_MYGUI", "value": "False", "type": "BOOL" },
        { "name": "OPENMW_USE_SYSTEM_OSG", "value": "False", "type": "BOOL" },
        { "name": "BULLET_STATIC", "value": "True", "type": "BOOL" },
        { "name": "OSG_STATIC", "value": "False", "type": "BOOL" },
        { "name": "MYGUI_STATIC", "value": "False", "type": "BOOL" }
      ],

What works: it builds

What does not work: Not all DLLs are copied into the output directory with this set up
(SDL2, MyGUI, Bullet, OSG, are not copied).
3 years ago
Evil Eye d1e8c6b223 Merge branch 'magical_rat' into 'master'
Register copied Spells with SpellList

See merge request OpenMW/openmw!662
3 years ago
Andrei Kortunov c68e047f19 Remove invalid MyGUI properties from layout files 3 years ago
psi29a 49ec7c2053 Merge branch 'fix-mygui-log' into 'master'
Fix MyGUI log

Closes #5900

See merge request OpenMW/openmw!660
3 years ago
AnyOldName3 70f48d9b26 Merge branch 'fix-boost-zlib-vcpkg' into 'master'
MSVC: Fix build with vcpkg's boost

See merge request OpenMW/openmw!661
3 years ago
Gleb Mazovetskiy f460ab2152 MSVC: Fix build with vcpkg's boost
boost-zlib is not present (nor needed) in vcpkg version of boost
There, it is part of boost-iostreams instead.

This was previously reported in:
https://gitlab.com/OpenMW/openmw/-/merge_requests/213#note_348625016
3 years ago
AnyOldName3 ba74fbf30e Fix MyGUI log
Also actually print an error to the regular log when the MyGUI log can't
be opened so we notice if we kill it again in under five years.
3 years ago
AnyOldName3 20852e82b2 Merge branch 'zbuffer' into 'master'
NiZBufferProperty: handle depth test flag (bug #5902)

Closes #5902

See merge request OpenMW/openmw!658
3 years ago
Dobrohotov Alexei 952b31ac5c NiZBufferProperty: handle depth test flag (bug #5902) 3 years ago
AnyOldName3 56ef1ec506 Merge branch 'correct-extension-name' into 'master'
Use correct extension name.

See merge request OpenMW/openmw!653
3 years ago
psi29a 9d5ec7624e Merge branch 'fix_falling' into 'master'
Resolve #5895 by checking that the player is not on the ground

Closes #5895

See merge request OpenMW/openmw!651
3 years ago
Bret Curtis 90baf8ad60
Merge pull request #3053 from akortunov/master
Add move assignment operator for the ESM::Variant
3 years ago
Bret Curtis 40c989d732 allman style 3 years ago
Evil Eye c2580d60e9 Register copied Spells with SpellList 3 years ago
Bret Curtis 9fc0649fb6 a better check to avoid the mCell assertion, so compariing nullptr to current cell will refurn false anyway 3 years ago
Bret Curtis 49545e6d29 add comments as to why we need to check that the player is grounded or not; only run once during initial cell loading 3 years ago
Bret Curtis fff1df9ee4 revert some blank lines 3 years ago
Bret Curtis c067782814 proper fix that traces down the player when a cell is loaded; we also only run once if the current cell being loaded is the one that the player is in. 3 years ago
Bret Curtis 1479f98793 hacky solution with debug; seems that player is added before cell so tracing down will not find anything 3 years ago
Bret Curtis 19ad7d7f0c Resolve #5895 by setting the initial mOnGround state to false; we do this because the movement solver runs one frame behind so when we run through the loop the first time we assume we are on the ground even though we may be 400 units in the air. 3 years ago
psi29a 3736cd45cd Merge branch 'mygui-obsolete' into 'master'
Set `MYGUI_DONT_USE_OBSOLETE=OFF`

Closes #5896

See merge request OpenMW/openmw!656
3 years ago
Gleb Mazovetskiy 918fd174f3 Set `MYGUI_DONT_USE_OBSOLETE=OFF`
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5896
3 years ago
psi29a 89aed67e2b Merge branch 'shhh-macs-stop-yelling' into 'master'
Hide macro usage from Macs where it isn't defined

See merge request OpenMW/openmw!655
3 years ago
AnyOldName3 9466d6a409 Hide macro usage from Macs where it isn't defined 3 years ago
psi29a 514a55ed4c Merge branch 'fix_5846' into 'master'
Fix #5846 (headtracking)

Closes #5846

See merge request OpenMW/openmw!652
3 years ago
psi29a dfae954eb2 Merge branch 'mygui_crashes_on_exit' into 'master'
Resolve crashes on exit with visible MyGUI widgets

Closes #5899

See merge request OpenMW/openmw!654
3 years ago
glassmancody.info 6255b0492b Resolve crashes on exit with visible MyGUI widgets 3 years ago
AnyOldName3 34af58f53f Use correct extension name.
Like 0068c7bb25, but for other shaders, too
3 years ago
Petr Mikheev 447c3b9489 Fix 5846 3 years ago
Andrei Kortunov 4d48c81998 Add move assignment operator and move constructor for the ESM::Variant 3 years ago
elsid 9275dd2dcb
Avoid virtual dispatch in SoundManager dtor 3 years ago
elsid b0311ce9f1
Remove DEFAULT_OUTPUT macros 3 years ago
elsid e30a59772c
Remove DEFAULT_DECODER macros 3 years ago
Evil Eye 4db2f79a3c Merge branch 'setpos' into 'master'
Use relative movement inside of SetPos

See merge request OpenMW/openmw!649
3 years ago
Gleb Mazovetskiy 36cea2073f Update MyGUI
Includes f01cba4bb3
Fixes https://gitlab.com/OpenMW/openmw/-/issues/5897
3 years ago
fredzio cb39f8fb01 Use moveObjectBy in SetPos 3 years ago
fredzio 03b86c232b Apply the position offset even if the simulation is not performed
because we're too fast.
3 years ago
psi29a 311b497491 Merge branch 'bullet-heightfield-floats' into 'master'
Avoid heightfield conversion in newer Bullet

See merge request OpenMW/openmw!647
3 years ago
psi29a cc6f08930b Merge branch 'alpha-meddling' into 'master'
Replace deprecated alpha test in shader visitor

Closes #4899

See merge request OpenMW/openmw!473
3 years ago
AnyOldName3 3103266406 Add correct preprocessor check when enabling extension 3 years ago
AnyOldName3 0431ba4c87 Merge branch 'alpha-meddling-shader-side-mip-meddling' into alpha-meddling 3 years ago
AnyOldName3 f09b0fc1bd Put groundcover alphafunc where shader visitor can see it
I'd already made this change so don't know why it disappeared instead of
being included in b8ee32e3
3 years ago
psi29a f388de861d Merge branch 'update-bullet' into 'master'
Update Bullet to improve performance

See merge request OpenMW/openmw!627
3 years ago
Gleb Mazovetskiy fe6b990f2e Update Bullet to improve performance
Updates Bullet to include https://github.com/bulletphysics/bullet3/pull/3287

This massively improves heightfield collision detection performance in
some areas.

E.g. with single-threaded bullet in the `--skip-menu` starting area
on my test desktop: 30 FPS -> 60 FPS
3 years ago
Gleb Mazovetskiy 351d11449b Avoid heightfield conversion in newer Bullet
Takes advantage of the direct `float` support implemented in
https://github.com/bulletphysics/bullet3/pull/3293
3 years ago
Bret Curtis 36d5d1c25c
Merge pull request #3051 from akortunov/master
Changelog fixes
3 years ago
Chris Djali 32424b4b6a
Merge pull request #3052 from akortunov/crashfix
Fix a crash during new game
3 years ago
Andrei Kortunov 39b7260ab4 Fix a crash during new game 3 years ago
Andrei Kortunov 63958c6d61 Changelog fixes 3 years ago
Andrei Kortunov 79c4140ebb Merge branch 'macos-valueobject' into 'master'
Fix linking on MacOS

See merge request OpenMW/openmw!645
3 years ago
AnyOldName3 64ddb4c1b0 Fix linking on MacOS 3 years ago
AnyOldName3 d52ae28b7a Fix linking on MacOS 3 years ago
psi29a 9f47190411 Merge branch 'now-it-blends' into 'master'
Convert blending factors properly for the character preview

See merge request OpenMW/openmw!644
3 years ago
AnyOldName3 cb2cbb4181 Convert blending factors properly for the character preview 3 years ago
AnyOldName3 450b971bb0 Merge branch 'gl4es-patch' into 'master'
gl4es: Delay feature detection until a context exists

See merge request OpenMW/openmw!626
3 years ago
Chris Djali 9bfe941d4b
Merge pull request #3050 from akortunov/master
Double-buffer shader water stateset
3 years ago
Andrei Kortunov 38679013fe Give meaningful name to the mEffectFade 3 years ago
psi29a 35266314e2 Merge branch 'fix-old-ffmpeg' into 'master'
Restore compatibility with FFMpeg < 57.80.100

See merge request OpenMW/openmw!642
3 years ago
Gleb Mazovetskiy 1db7d2ec4e Restore compatibility with FFMpeg < 57.80.100
This should fix macOS Travis build broken by 58d33aa95b
3 years ago
AnyOldName3 deb184cdce Merge branch 'fix-build' into 'master'
Fix linking with `-DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON`

See merge request OpenMW/openmw!640
3 years ago
psi29a 611a63acc6 Merge branch 'threesacharm' into 'master'
Attempt to fix restocking items in old saves

Closes #5823

See merge request OpenMW/openmw!580
3 years ago
psi29a 699bdab620 Merge branch 'drip' into 'master'
Ignore agents without bounding boxes

Closes #5879

See merge request OpenMW/openmw!641
3 years ago
psi29a 194875dec1 Merge branch 'fix-video-arm' into 'master'
osg-ffmpeg-videoplayer: Fix crash on ARM

Closes #5807

See merge request OpenMW/openmw!564
3 years ago
Andrei Kortunov d805886de7 Double-buffer shader water stateset (bug #5026) 3 years ago
Gleb Mazovetskiy 7f6339c61f AV: Add changelog entry 3 years ago
Gleb Mazovetskiy 36bac353df AV: Handle varying video frame dimensions 3 years ago
Gleb Mazovetskiy 58d33aa95b AV: Fix all memory leaks
The most substantial memory leak came from `PacketQueue::get`
not unreferencing its argument packet.

Other leaks came from using `av_free` instead of type-specific free
functions.

Also modifies `PacketQueue::put` for readability.
3 years ago
Evil Eye eb07818f13 Ignore agents without bounding boxes 3 years ago
Gleb Mazovetskiy eb93fdfbea Use unique_ptr with custom deleter for VideoPicture::rgbaFrame 3 years ago
Chris Djali 213525c372
Merge pull request #3049 from akortunov/master
Use correct mCursorActive flag initial value
3 years ago
Alexei Dobrohotov e9aa161ffc Merge branch 'reallyskipphysics' into 'master'
Close race that breaks scripted teleporting (#5873)

See merge request OpenMW/openmw!639
3 years ago
Andrei Kortunov 482f04c836 Use correct mCursorActive flag initial value 3 years ago
Gleb Mazovetskiy b7076549a3 osg-ffmpeg-videoplayer: Fix crash on ARM
osg-ffmpeg-videoplayer handled frame allocation incorrectly.

It used a `vector<uint8_t>` as its buffer, meaning the addresses could
did not respect alignment.

Instead, changes it to use `AVFrame` as buffers, allocated via `av_image_alloc`.

We also now only allocate the buffer once, instead of on every frame,
which should improve the framerate of videos.

Fixes the following crash on startup on ARM:

> Invalid address alignment (signal 7)

Fixes #5807
3 years ago
Gleb Mazovetskiy 455be9dbbb Fix linking with `-DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON`
1. CMake's built-in OSG finder does not use pkgconfig, so we have to
   manually ensure the order is correct for inter-library dependencies.

   https://gitlab.kitware.com/cmake/cmake/-/issues/21701

2. OSG plugin pkgconfig files are missing dependencies on the underlying
   libraries (e.g. freetype, png, jpeg), so we have to link them manually.

   https://github.com/openscenegraph/OpenSceneGraph/issues/1052
3 years ago
fredzio 31d8ce266b Close a race between main and physics threads when actor is positioned by scripts.
When a position is forced, the actor position in physics subsystem is
overriden. The background physics thread is not made aware of this,
its result are simply discarded.

There is a short window where this doesn't work (in this
example, actor is at A and script moves it to B)
1) actor position is set to B. (among others, Actor::mPosition is set to B)
2) physics thread reset Actor::mPosition with stale value (around A)
3) main thread read simulation result, reset Actor::mSkipSimulation flag => actor is at B
4) physics thread fetch latest Actor::mPosition value, which is around A
5) main thread read simulation result, actor is around A

To avoid this situation, do not perform 2) until after 3) occurs. This
way, at 4) starts the simulation with up-to-date Actor::mPosition
3 years ago
Alexei Dobrohotov 2bfee281fd Merge branch 'restore_caster' into 'master'
Restore projectile caster from savegame (#5860)

See merge request OpenMW/openmw!616

(cherry picked from commit d595c7adb0fb45eafed6d3d0403ad640a91411ed)

c5426bec In the savegame, projectile caster is identified by its actor id. When
3 years ago
Evil Eye c9d3da498a Merge branch 'pursue' into 'master'
AIPursue: Pursue the player until LOS is established (#5869)

Closes #5869

See merge request OpenMW/openmw!634
3 years ago
psi29a 4340142c22 Merge branch 'macosx_gitlab' into 'master'
give qt5 a show for brew

See merge request OpenMW/openmw!636
3 years ago
Bret Curtis 9fbb530dde be explicit and print version information to verification 3 years ago
Bret Curtis 53cb20454f add path hack only to verify, will remove later 3 years ago
Bret Curtis f03beb7963 uninstall qt@6 3 years ago
Bret Curtis 8fc0f965bb which qmake? 3 years ago
Bret Curtis 87ede9284b be more explicit 3 years ago
Bret Curtis 17059cefea give qt@5 a try 3 years ago
Bret Curtis caa8b0ca1a give qt5 a show for brew 3 years ago
Andrei Kortunov 7cc97297e7
Merge pull request #3048 from akortunov/master
Fix formatting in the groundcover docs
3 years ago
Andrei Kortunov 41b3090a49 Fix formatting in the groundcover docs 3 years ago
Evil Eye 8ae4ee291f Attempt to fix restocking items in old saves 3 years ago
psi29a d990c425b8 Merge branch 'recastnavigation_custom_path' into 'master'
Support custom path for recastnavigation

See merge request OpenMW/openmw!635
3 years ago
elsid b9575180b5
Support custom recastnavigation system path 3 years ago
elsid b47573f36b
Fix recastnavigation debug library suffixes 3 years ago
Bret Curtis 741584472e another cleanup to FindRecastNavigation.cmake 3 years ago
AnyOldName3 da1d7d7480 Merge branch 'effect_icons' into 'master'
Reset effect icon transparency when they're hidden (#5877)

Closes #5877

See merge request OpenMW/openmw!633
3 years ago
Dobrohotov Alexei fc329050b3 AIPursue: Pursue the player until LOS is established (#5869) 3 years ago
Alexei Dobrohotov 5e91af230d Reset effect icon transparency when they're hidden (#5877) 3 years ago
psi29a 54a7048eed Merge branch 'recast_cmake' into 'master'
initial attempt at FindRecastNavigation.cmake

See merge request OpenMW/openmw!617
3 years ago
Bret Curtis 2bc5a44e15 Added copyright, refactored to be more clear and marked certain things as advanced. 3 years ago
Bret Curtis c4064fca0c include feedback and add DebugUtils and Detour 3 years ago
Bret Curtis ed74834e01 put back the recast stuff 3 years ago
Bret Curtis 28cb14289a initial attempt at FindRecastNavigation.cmake 3 years ago
psi29a 787a976fb8 Merge branch 'mygui-upgrade' into 'master'
MyGUI 3.4.1 compatibility

Closes #5806

See merge request OpenMW/openmw!560
3 years ago
Gleb Mazovetskiy 8a1644885b MyGUI: Bump version to 3.4.1
Also set MYGUI_DONT_USE_OBSOLETE
3 years ago
Gleb Mazovetskiy 4495b67d77 MyGUI HEAD compatibility
Makes OpenMW compatible with the current MyGUI HEAD at:
f93d4fb614

Refs #5806
3 years ago
Evil Eye e2fc5d87b3 Merge branch 'elemental_shields' into 'master'
Don't let elemental shields harm the player in god mode

Closes #5875

See merge request OpenMW/openmw!631
3 years ago
Alexei Dobrohotov 023bc80f55 Don't let elemental shields harm the player in god mode 3 years ago
psi29a eb11e1fcdb Merge branch 'build-accelerator' into 'master'
heightfield: Only `buildAccelerator` on Bullet 2.89+

Closes #5874

See merge request OpenMW/openmw!630
3 years ago
Gleb Mazovetskiy 1fb442e701 heightfield: Only `buildAccelerator` on Bullet 2.89+
Fixes #5874
3 years ago
psi29a 570bf567cd Merge branch 'fix_navigator_tests' into 'master'
Fix navigator tests (Bullet changes related)

See merge request OpenMW/openmw!629
3 years ago
elsid fac5759748
Set bounding min and max height for btHeightfieldTerrainShape
They must be set for proper AABB based filtering. Use
+-max(abs(min), abs(max)) to make sure bullet does not shift coordinates by z.
3 years ago
elsid fdca76ce86
Remove unused includes 3 years ago
Gleb Mazovetskiy 044e784072 gl4es: Delay feature detection until a context exists
gl4es feature detection does not work reliably with EGL.

If a context already exists, gl4es can instead reliably detect
the underlying GLES features from the context itself.

This requires gl4es to be configured with:

    -DNOEGL=ON -DNO_LOADER=ON -DNO_INIT_CONSTRUCTOR=ON

This also requires gl4es to have this fix: https://github.com/ptitSeb/gl4es/pull/271
3 years ago
psi29a 28be5a259b Merge branch 'russian_console' into 'master'
Don't assume unmapped keycodes outside the extended ASCII range are unprintable

Closes #5871

See merge request OpenMW/openmw!622
3 years ago
psi29a 937549c99e Merge branch 'fix_still_actors' into 'master'
Make actor flee from a combat when cannot reach a target (#5851)

See merge request OpenMW/openmw!601
3 years ago
psi29a 20e6db917b Merge branch 'fix-osg-static' into 'master'
CMake: Fix support for OSG static lib paths

See merge request OpenMW/openmw!624
3 years ago
psi29a 7088e790dd Merge branch 'include-tuple' into 'master'
Fix compilation of tests with MSVC

See merge request OpenMW/openmw!625
3 years ago
AnyOldName3 46a1715d8a Actually return something 3 years ago
AnyOldName3 16e8cf89af Fix compilation of tests with MSVC 3 years ago
AnyOldName3 f5a87ee46d Refactor out duplicated RTT setup code 3 years ago
AnyOldName3 e3547fe689 Merge branch 'heightfield-accel' into 'master'
heighfield: buildAccellerator()

See merge request OpenMW/openmw!623
3 years ago
Gleb Mazovetskiy 21a70b7d2b heighfield: buildAccellerator()
This enables accelleration of heightfield collisions.

Unfortunately, `btHeightfieldTerrainShape::processAllTriangle` does not
yet use the accellerator data, so this change does not improve
performance yet but might do so in future bullet versions.

References:

* Accellerator introduced in:
  https://github.com/bulletphysics/bullet3/pull/2062

* Feature request to use the accellerator in `processAllTriangle`:
  https://github.com/bulletphysics/bullet3/issues/3276
3 years ago
Gleb Mazovetskiy 13c5b1b0c5 CMake: Fix support for OSG static lib paths
`$<TARGET_FILE:...>` fails if the argument is already a path (instead of
a library name). This happens when a static library is found via
`osg_find_library`.

If the argument contains `/` or `.`, do not use `$<TARGET_FILE:...>`
3 years ago
Alexei Dobrohotov 92300733c5
Merge pull request #3047 from akortunov/master
Remove outdated entries from gitignore
3 years ago
Alexei Dobrohotov a292a31cb3 Merge branch 'you_and_i_code' into 'master'
Fix Ctrl U/W behaviour to work with unicode text

See merge request OpenMW/openmw!621
3 years ago
Evil Eye 1a423860b5 Add changelog entry 3 years ago
Evil Eye 6e0f070cd1 Don't assume unmapped keycodes outside the extended ASCII range are unprintable 3 years ago
Evil Eye a616af822e Fix Ctrl U/W behaviour to work with unicode text 3 years ago
Andrei Kortunov b7535ad9fb Remove outdated entries from gitignore 3 years ago
AnyOldName3 4ed67d8597 Improve A2C setting name 3 years ago
AnyOldName3 153ab57ae3 Make assignment in while loop condition obviously intentional 3 years ago
David Cernat 39dc6fc355 Add OpenMW commits up to 24 Feb 2021
# Conflicts:
#   CI/before_script.linux.sh
#   CMakeLists.txt
#   apps/openmw/CMakeLists.txt
#   components/CMakeLists.txt
3 years ago
Andrei Kortunov e230dcb8b2 Merge branch 'why-wont-this-bug-just-die' into 'master'
Make the dummy texture for the character preview even more shadow-friendly

See merge request OpenMW/openmw!619
3 years ago
AnyOldName3 c7ee5d21dc Make the dummy texture for the character preview even more shadow-friendly 3 years ago
AnyOldName3 2b144ff3dd Merge branch 'fix_frame_rate_limit' into 'master'
Fix frame rate limit (#5686)

See merge request OpenMW/openmw!603
3 years ago
psi29a 96b5581930 Merge branch 'fetchcontent-recast-navigation' into 'master'
Move recastnavigation to FetchContent

Closes #5793

See merge request OpenMW/openmw!614
3 years ago
psi29a 07740982ce Merge branch 'fix-osg-plugins-dir' into 'master'
Fix OSGPlugins_LIB_DIR on the MacOS build

See merge request OpenMW/openmw!615
3 years ago
AnyOldName3 9be258d260 Make it possible to reinstate FFP state easily 3 years ago
Gleb Mazovetskiy e265d0bc2b Fix OSGPlugins_LIB_DIR on the MacOS build
Moves auto-detection of OSGPlugins_LIB_DIR into FindOSGPlugins.cmake.

This should hopefully fix the error in the MacOS build.
3 years ago
Gleb Mazovetskiy 1c9245bd58 Move recastnavigation to FetchContent 3 years ago
psi29a 5c0214142b Merge branch 'static-build' into 'master'
Optional local source builds of OSG, MyGUI, Bullet

See merge request OpenMW/openmw!547
3 years ago
psi29a bcbe144a1d Merge branch 'weatheralpha' into 'master'
Fix weather particle fading

Closes #5455

See merge request OpenMW/openmw!506
3 years ago
psi29a de28a89a43 Merge branch 'navigator_cleanup' into 'master'
Navigator cleanup

See merge request OpenMW/openmw!612
3 years ago
psi29a 87d80b3d0a Merge branch 'loading_screen_race_condition' into 'master'
Fix a race condition in loading screen.

See merge request OpenMW/openmw!568
3 years ago
psi29a 59e09cba5b Merge branch 'boltsize' into 'master'
Use projectile mesh size (#5829)

See merge request OpenMW/openmw!587
3 years ago
psi29a 16460aa4e3 Merge branch 'distinguish-engine-and-cs' into 'master'
Use different filenames for Engine and CS packages

See merge request OpenMW/openmw!610
3 years ago
elsid 603af3d62c Merge branch 'wotz-this-do' into 'master'
Don't force linker to work with doubly-defined symbols

See merge request OpenMW/openmw!602
3 years ago
elsid 561628087c Merge branch 'profiler_fix' into 'master'
Fix profiler glitches (#5850)

See merge request OpenMW/openmw!605
3 years ago
elsid e1c5d05e84 Merge branch 'yell-about-missing-icon' into 'master'
Log when icon is missing and fallback is used

Closes #5857

See merge request OpenMW/openmw!611
3 years ago
AnyOldName3 b8ee32e317 Support A2C for groundcover 3 years ago
elsid bc67669a97
Comment unused argument 3 years ago
elsid 4983684fda
Fix implicit int to float conversion warning 3 years ago
elsid bb0c478954
Add missing include and use std malloc and free 3 years ago
elsid 3a9b1ce63a
Use camel case for local constant 3 years ago
elsid a7fe6c7ba1
Move duplicated usage patter of dtNavMeshQuery::findNearestPoly into a separate function 3 years ago
elsid d3ab6c972f
Avoid set unused position from dtNavMeshQuery::findNearestPoly result 3 years ago
AnyOldName3 4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 3 years ago
David Cernat 7e188f2dd6 Add OpenMW commits up to 14 Feb 2021
# Conflicts:
#   apps/openmw/mwclass/door.cpp
#   apps/openmw/mwscript/aiextensions.cpp
3 years ago
AnyOldName3 6291b9304b Log when icon is missing and fallback is used 3 years ago
AnyOldName3 70a059d4bf Use different filenames for Engine and CS packages 3 years ago
Petr Mikheev 4d3df56bf3 Merge branch 'wizard_morrowind_bsa' into 'master'
Wizard: Display an error if Morrowind.bsa is missing

See merge request OpenMW/openmw!571
3 years ago
psi29a 6c487c539e Merge branch 'static-ci-filename' into 'master'
Give binaries static filename

See merge request OpenMW/openmw!607
3 years ago
uramer e7afbc74d8 Wizard: Only allow to select Morrowind.esm master files, display an error if Morrowind.bsa is missing 3 years ago
elsid 8dba61f7ae
Use navmesh raycast to find reachable position around target 3 years ago
AnyOldName3 5e5c0a1d89 Add branch name back to filename
The URL needs to contain the branch name anyway, so there's no point
removing it.
3 years ago
elsid becccf3b5e
Make actor flee from a combat when cannot reach a target 3 years ago
AnyOldName3 d47bd54bb5 Merge branch 'move_warning' into 'master'
Remove a new warning

See merge request OpenMW/openmw!606
3 years ago
AnyOldName3 0736fec148 Give binaries static filename 3 years ago
fredzio c4e909c29e Silence a clang warning:
warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
3 years ago
fredzio 9d90e250cf Physics is not running while paused, so zero the stats for the async
thread instead of keeping whatever value was before the pause.
3 years ago
fredzio bc4047d815 Update engine stats for all levels above first, not only at the second. 3 years ago
elsid 8ab5fd9b40
Fix frame rate limit
Measure time at the computation end but before sleep. This allows to adjust
sleep interval for the next frame in case sleep is not precise due to syscall
overhead or too low timer resolution.

Remove old frame limiting mechanism.
3 years ago
psi29a 5566f2b06b Merge branch 'optimise-groundcover-lighting' into 'master'
Optimise groundcover lighting

See merge request OpenMW/openmw!600
3 years ago
psi29a 57fba8c070 Merge branch 'door_to_nothingness' into 'master'
Fallback to default cell name for door destination

Closes #5838

See merge request OpenMW/openmw!591
3 years ago
AnyOldName3 c97980a0f6 Don't force linker to work with doubly-defined symbols 3 years ago
Evil Eye 2e73d2c145 Fallback to default cell name for door destination 3 years ago
psi29a c33b2e0100 Merge branch 'dehardcodebaseanim' into 'master'
Dehardcode Base_animation and improve Collada support

See merge request OpenMW/openmw!510
3 years ago
David Cernat a379d12529 [General] Turn Utils::printVersion() into Utils::getVersionInfo() 3 years ago
AnyOldName3 f8f6d63d4c Optimise groundcover lighting 3 years ago
Alexei Dobrohotov a884146878 Merge branch 'master' into 'master'
Add unit test for swapEndiannessInplace(). Part of Bug #5837

See merge request OpenMW/openmw!598
3 years ago
Sergey Fukanchik f3271cb66b Add unit test for swapEndiannessInplace(). Part of Bug #5837 3 years ago
psi29a e2ec3b0db7 Merge branch 'missing-inventory-icon' into 'master'
Use default icon.tga when inventory icon is missing

Closes #4977

See merge request OpenMW/openmw!596
3 years ago
AnyOldName3 034a7a9dbc Add changelog entry 3 years ago
AnyOldName3 da6223fc4b Use default icon.tga when inventory icon is missing 3 years ago
psi29a 4b7d00530d Merge branch 'freeunrealestate' into 'master'
Don't check magicka when casting free spells

Closes #5841

See merge request OpenMW/openmw!589
3 years ago
psi29a 7a9eb34403 Merge branch 'master' into 'freeunrealestate'
# Conflicts:
#   CHANGELOG.md
3 years ago
psi29a 31f41836a1 Merge branch 'no_stuck_in_proj' into 'master'
Don't let projectiles push actors out of the world (#5802)

See merge request OpenMW/openmw!595
3 years ago
psi29a 21a6922caa Merge branch 'shieldispain' into 'master'
Play damage sound when hurt by elemental shields

Closes #5840

See merge request OpenMW/openmw!594
3 years ago
fredzio b78820de55 Ignore projectiles inside of MovementSolver::unstuck. It is normal for actors to be inside of a
projectile collision shape.
A side effect of moving actors outside of projectile collision shape is that if both the actor and the projectile are
near a wall, the actor could get moved outside of the world.
3 years ago
Evil Eye 997ff37301 Merge branch 'very_minor_docs_change' into 'master'
Update 'toggle sneak' documentation

Closes #5844

See merge request OpenMW/openmw!593
3 years ago
Evil Eye af0f94f03e Play damage sound when hurt by elemental shields 3 years ago
Jonas Tobias Hopusch 39c2c19dae
Update 'toggle sneak' documentation
The docs now correctly say that this setting can be changed in the launcher,
instead of insisting it's a config-file-only setting.
Closes #5844

Signed-off-by: Jonas Tobias Hopusch <jotoho-git@mailbox.org>
3 years ago
psi29a 9bd77e7d2c Merge branch 'fix_swap_endianness' into 'master'
Fix implementation of Misc::swapEndiannessInplace

See merge request OpenMW/openmw!592
3 years ago
Evil Eye f1caeea444 Don't return negative values from GetMagicka 3 years ago
Petr Mikheev 31b5150e0d Fix implementation of Misc::swapEndiannessInplace 3 years ago
Evil Eye e4cd89643f Merge branch 'master' of gitlab.com:OpenMW/openmw into freeunrealestate 3 years ago
Evil Eye 6aa75c287a Don't check magicka when casting free spells 3 years ago
psi29a dc31e1c680 Merge branch 'refraction_shadow_fix_2' into 'master'
Fix shadows missing in the refraction RTT on the first and second frame

See merge request OpenMW/openmw!590
3 years ago
AnyOldName3 3e273a759a Clarify method name now we're using it differently 3 years ago
psi29a e6607486f5 Merge branch 'jfmherokiller-master-patch-23743' into 'master'
Fix the regression involving Cure

See merge request OpenMW/openmw!582
3 years ago
psi29a f63af685c0 Merge branch 'bemorenegative' into 'master'
Allow negative values for ai stats

Closes #5835

See merge request OpenMW/openmw!586
3 years ago
fredzio 6e969ca3fa Use mesh collision box instead of node bounding sphere for projectile
size. The bounding sphere is much bigger than the mesh.
3 years ago
Evil Eye 3007cb14a9 Also allow negative AI values in dialogue 3 years ago
Noah Gooder e42b67ee50 Modified actors.cpp and Authors.md 3 years ago
David Cernat e1259fdc41 Add OpenMW commits up to 4 Feb 2021
# Conflicts:
#   apps/openmw/engine.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwrender/globalmap.cpp
3 years ago
Alexei Dobrohotov ab28847eaf Merge branch 'collisionextentsandcenter' into 'master'
Get collision box extents and center from btBvhTriangleMeshShape

See merge request OpenMW/openmw!579
3 years ago
Alexei Dobrohotov cc220861e3 Merge branch 'character-preview-opacity-without-shadows' into 'master'
Make the dummy texture for the character preview shadow-friendly

See merge request OpenMW/openmw!585
3 years ago
unelsson 303f1912a6 less debug spam 3 years ago
unelsson d5844b0982 Use accompanying txt file for textkeys in osgAnimation formats 3 years ago
Evil Eye 61e014a765 Allow negative values for ai stats 3 years ago
psi29a f8c068ee34 Merge branch 'fix_navmesh_cache_key' into 'master'
Increase navmesh cache hit rate by fixing key implementation

See merge request OpenMW/openmw!584
3 years ago
elsid 68fe6b9114
Use only item size to check whether item fits cache
Item size has to be counted anyway and there is no reason to check only navmesh
data first.
3 years ago
elsid 3a2cea5271
Use raw recast mesh data and off mesh connections for navmesh key
Serialization into a vector of chars produces inconsistent results that leads
to reduced cache hit rate. Using a structured object is a more clear solution
and allows to remove serialization and nontrivial key compare logic with more
straigt forward structured object comparison.
3 years ago
elsid ad1f8c1e84
Sort water and off mesh connections for recast mesh
Inconsisten order of these objects in navmesh cache key leads to cache misses
due to key inequality.
3 years ago
elsid 489107c5ee
Count navmesh cache key once in item size
Key is stored only in NavMeshTilesCache::Item, TileMap uses KeyView with
a pointer to a vector.
3 years ago
elsid 88ca4a1db6
Count navmesh cache hit rate 3 years ago
Nelsson Huotari 45fde84f4f Use nodemasks and visitors for detecting custom collision shapes 3 years ago
Nelsson Huotari e91d1a2b42 Fix earlier broken commit 3 years ago
AnyOldName3 0639f8b7c6 Make the dummy texture for the character preview shadow-friendly 3 years ago
Nelsson Huotari 5c32460153 Add underscore-separated node-names to reserved-list 3 years ago
Nelsson Huotari 384112746c Add option for custom collision node with non-nif files 3 years ago
Nelsson Huotari bae27e8199 dynamic_cast to static_cast 3 years ago
Nelsson Huotari b28d8251aa Clone animation tracks 3 years ago
Nelsson Huotari 6c0c28c2eb Get collision box extents and center from btBvhTriangleMeshShape 3 years ago
Nelsson Huotari 382324173b \ to / 3 years ago
Nelsson Huotari 1221889cf7 Limit conversion of underscores to nodes origating from osgAnimation library 3 years ago
Nelsson Huotari 2c67f34c6d Update base_anim file settings 3 years ago
Nelsson Huotari 5b88d16a50 Clean-up 3 years ago
Nelsson Huotari 2162b97fef Handle case in osgAnimation bone names 3 years ago
Nelsson Huotari 7d3f2bc113 Convert underscores in bone names to whitespaces 3 years ago
Jordan Francis Moran-Meyers 0d1c073cfa Fix the regression involving Cure 3 years ago
madsbuvi 7edaa50195 another approach 3 years ago
Petr Mikheev 94e8855c8c Merge branch 'fix_5821' into 'master'
Fix #5821: NPCs from mods getting removed if mod order was changed

Closes #5821

See merge request OpenMW/openmw!577
3 years ago
Nelsson Huotari f87c45c92a Get collision box extents and center from btBvhTriangleMeshShape 3 years ago
Petr Mikheev e83a9cdc89 Merge branch 'pathfinding_fix' into 'master'
Pathfinding fixes

See merge request OpenMW/openmw!576
3 years ago
Petr Mikheev 157b14cdaa Fix #5821: NPCs from mods getting removed if mod order was changed 3 years ago
Petr Mikheev 9590377f22 Don't ignore Z in path finding if actor can move by Z. 3 years ago
Petr Mikheev 642ca02e35 Shorten almost straight paths only if smooth movement is enabled; reduce angle limit for the shortening. 3 years ago
Andrei Kortunov b286397dd4
Merge pull request #3045 from akortunov/revert
Revert fix for 5379
3 years ago
Andrei Kortunov 7b727e4d70 Revert "Remove physics dependency on basenode"
This reverts commit 165c731492.
3 years ago
Andrei Kortunov 165af1c365 Revert "Some actors are supposed to spawn on a static object that belong to an adjacent cell."
This reverts commit f031a191b8.
3 years ago
Andrei Kortunov 8019fd594d Revert "Add changelog"
This reverts commit f219c5992b.
3 years ago
Andrei Kortunov f8e8496d36 Revert "Revert a wrong change introduced in MR 546"
This reverts commit 23137d0c54.
3 years ago
Bret Curtis 9f168eab88
Merge pull request #3044 from akortunov/master
Avoid null dereference for objects without cells
3 years ago
psi29a faa800464f Merge branch 'cs_fix_separate_drop' into 'master'
OpenMW-CS: Fix separate drop, refactor for code reuse

See merge request OpenMW/openmw!574
3 years ago
uramer ee2f0e7eb3 Fix inconsistent argument name 3 years ago
uramer eca0d8b7ea Fix typo in DropMode enum 3 years ago
uramer edc6d5c3e7 Fix a typo in separate drop binds 3 years ago
uramer 36cd818155 Fix separate drop, refactor for code reuse 3 years ago
Andrei Kortunov 3b9f8b5fa2 Avoid null dereference for objects without cells 3 years ago
Andrei Kortunov d984d13b1c Merge branch 'animate_animated_objects' into 'master'
Unbreak animated objects (regression from !546)

See merge request OpenMW/openmw!570
3 years ago
Andrei Kortunov 5382d38b9b Merge branch 'hit_target_object' into 'master'
Unbreak targetted spell on objects (#5811)

See merge request OpenMW/openmw!569
3 years ago
Andrei Kortunov 74fba6df36 Merge branch 'revert-f917037e' into 'master'
Revert "Merge branch 'movement_fix2' into 'master'"

See merge request OpenMW/openmw!572
3 years ago
elsid a3ab8dfbb4 Revert "Merge branch 'movement_fix2' into 'master'"
This reverts merge request !496
3 years ago
fredzio 23137d0c54 Revert a wrong change introduced in MR 546
A prerequisite to create physics objects for statics was to remove the
dependency on base node (since it doesn't yet exists) for object
position. It is still necessary for animation though.

Restore the basenode (and the associated FIXME) so that animated objects works properly.
3 years ago
Nelsson Huotari 83ee1cc582 fix xbase to baseanim 3 years ago
Nelsson Huotari 3194520dcd Move base_anim settings to settings-default.cfg 3 years ago
Bret Curtis b164f1aa17
Merge pull request #3023 from akortunov/grass_intsancing
Grass instancing
3 years ago
psi29a 699bd257ef Merge branch 'camera_stats' into 'master'
Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to a valid file.

See merge request OpenMW/openmw!526
3 years ago
Frederic Chardon 7cd7fa2f08 Collect all available stats if OPENMW_OSG_STATS_FILE is set and point to
a valid file.
3 years ago
fredzio 64475ebedb Remove a brainfart from precise projectile handling: all non-actor
non-projectile objects were treated as ground.
3 years ago
Gleb Mazovetskiy c8db4b9b34 .gitlab-ci.yml: Increase Android timeout (1h -> 1h30m) 3 years ago
Gleb Mazovetskiy 93bc5848af .gitlab-ci.yml: Bump Android cache key to v3 3 years ago
Gleb Mazovetskiy 2798db5418 CI/before_script.linux.sh: <tab> -> 4 spaces and remove unused ENV 3 years ago
Gleb Mazovetskiy 3308c717f8 extern/CMakeLists.txt: Switch to openmw's OSG 3 years ago
Gleb Mazovetskiy 4098b455f5 extern/CMakeLists.txt: Bump OSG
All the necessary fixes have been upstreamed
3 years ago
Gleb Mazovetskiy 3d334dae75 Fix MYGUI/OSG_STATIC and BUILD_SHARED_LIBS 3 years ago
Gleb Mazovetskiy 99061345cc WholeArchive.cmake: Fix mismatched args warning 3 years ago
Gleb Mazovetskiy daf080ff19 cmake: Move MYGUI/OSG_STATIC default to top-level
Makes it clear that the USE_SYSTEM variables affect the defaults of
STATIC variables.
3 years ago
Gleb Mazovetskiy 377bd27aa7 set(BUILD_SHARED_LIBS ${OSG/MYGUI_STATIC}) 3 years ago
Gleb Mazovetskiy eba151884e Fix Android build
https://github.com/openscenegraph/OpenSceneGraph/pull/1037
3 years ago
Gleb Mazovetskiy f0febe095c extern/CMakeLists.txt: Set OSG/MYGUI_STATIC on PARENT_SCOPE 3 years ago
Gleb Mazovetskiy 402e43678c extern/CMakeLists.txt: Bump OSG 3 years ago
Gleb Mazovetskiy 26814b2386 CMakeLists.txt: Restore policies as we unbumped cmake version 3 years ago
Gleb Mazovetskiy 4dc0fd299f cmake/WholeArchive.cmake: fix typo 3 years ago
Gleb Mazovetskiy 98564b0aae cmake: move cmake_minimum_required bump to extern/CMakeLists.txt 3 years ago
Gleb Mazovetskiy 90766dcc82 cmake: get_whole_archive_options macro -> function 3 years ago
Gleb Mazovetskiy a06f598442 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) before add_subdirectory(extern) 3 years ago
Gleb Mazovetskiy 8737453498 cmake: Compiler-specific whole-archive macro 3 years ago
Gleb Mazovetskiy 93fe84aea8 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) from extern to top-level 3 years ago
Gleb Mazovetskiy 99ba45a308 Optional static builds of OSG, MyGUI, Bullet 3 years ago
Andrei Kortunov 5225ec9e50 Add changelog entry 3 years ago
Andrei Kortunov e3490c8606 Remove dead code 3 years ago
Andrei Kortunov 24e1dfcddc Use default argument 3 years ago
Andrei Kortunov f40e227686 Remove redundant formatting changes 3 years ago
Andrei Kortunov b975f16e6b Remove redundant check - groundcover is not present in the CellStore 3 years ago
Andrei Kortunov d12a0fdcb3 Mark only instances from groundcover files as groundcover objects 3 years ago
Andrei Kortunov 8874e88ff1 Drop fading setting 3 years ago
Andrei Kortunov 1a6c06f7b5 Do not allow to set distance to non-positive values 3 years ago
Andrei Kortunov 859cd0fd0c Do not use display lists for instanced meshes 3 years ago
Andrei Kortunov a09f03c850 Drop groundcover materials - they are not used 3 years ago
Andrei Kortunov 36fc573375 Take in account Z direction for stomping 3 years ago
Andrei Kortunov 5124e81348 Use linear interpolation instead of abrupt transitions for groundcover lighting 3 years ago
Andrei Kortunov 14cf0ce1dc Implement instanced groundcover 3 years ago
madsbuvi 663e0a1055 Fix a race condition in loading screen. 3 years ago
psi29a f917037ead Merge branch 'movement_fix2' into 'master'
Fix bug: NPCs don't move if the target is exactly above or exactly below.

See merge request OpenMW/openmw!496
3 years ago
David Cernat eefa94db12 [Client] Allow ClientScriptGlobal to create new global variables 3 years ago
Petr Mikheev bc2cec86e9 Fix bug: NPCs doesn't move if the target is exactly above or exactly below. 3 years ago
psi29a cadd1e7529 Merge branch 'daedric_fog' into 'master'
Don't nuke fog when bounds have changed

Closes #5469

See merge request OpenMW/openmw!522
3 years ago
psi29a a8c5607aa6 Merge branch 'disableinfotablesorting' into 'master'
[OpenMW-CS] Info table dragging to move record order, disable sorting

See merge request OpenMW/openmw!538
3 years ago
psi29a 64b4472efa Merge branch 'stand' into 'master'
Don't adjust actor position until all objects are loader (#5379)

See merge request OpenMW/openmw!546
3 years ago
psi29a c6f14cde20 Merge branch 'Show-level-multipliers-in-levelup-tooltip' into 'master'
Show level multipliers in levelup tooltip

Closes #5783

See merge request OpenMW/openmw!518
3 years ago
Cédric Mocquillon 3bb551a6f1 Show level multipliers in levelup tooltip 3 years ago
Evil Eye 59af819f97 Merge branch 'fix-mem-leak-2' into 'master'
Fix memory leak in MWInput

See merge request OpenMW/openmw!566
3 years ago
Gleb Mazovetskiy fe815d3d8d Fix memory leak in MWInput
mListener wasn't being cleaned up
3 years ago
Frederic Chardon 2353a4d8ec Merge branch 'projectile_crash' into 'master'
Prevent nullptr access

See merge request OpenMW/openmw!565
3 years ago
Evil Eye a2171875a0 Prevent nullptr access 3 years ago
fredzio f219c5992b Add changelog 3 years ago
fredzio f031a191b8 Some actors are supposed to spawn on a static object that belong to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all statics in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and physics objects of static
class.
3 years ago
fredzio 165c731492 Remove physics dependency on basenode
Necessary to be able to load physics objects from inactive cells.
3 years ago
psi29a 49c828c138 Merge branch 'threadsafe-createchunk' into 'master'
Avoid OSG setting array binding from multiple threads

Closes #4765

See merge request OpenMW/openmw!557
3 years ago
AnyOldName3 0d2cdd5b7b Merge branch 'fix-mem-leak-2' into 'master'
Clean-up FontLoader::loadFontFromXml fix

See merge request OpenMW/openmw!561
3 years ago
Gleb Mazovetskiy 1e113710ef Clean-up FontLoader::loadFontFromXml fix
Follow-up to !559
3 years ago
AnyOldName3 3300e26c86 Add changelog entry 3 years ago
psi29a b28adafee4 Merge branch 'navcrash' into 'master'
Fix #5798

Closes #5798

See merge request OpenMW/openmw!554
3 years ago
Andrei Kortunov cf9ac9c6c9 Merge branch 'fix-mem-leak-1' into 'master'
Fix memory leak in FontLoader::loadFontFromXml

See merge request OpenMW/openmw!559
3 years ago
Gleb Mazovetskiy bd7d5a8f92 Fix memory leak in FontLoader::loadFontFromXml
Tried building with -DCMAKE_CXX_FLAGS='-fsanitize=address -fsanitize-recover=address'
and this was one of the reported leaks.
3 years ago
Evil Eye a401c517bf Always unload height fields
loadCell always adds a height field, but unloadCell only removed it for
cells with height data. Reloading a cell overwrote the height field
added earlier (leading to its destruction) while the navigator retained
a reference to the now deleted collision shape, leading to a crash.
3 years ago
AnyOldName3 eb80c997b8 Avoid OSG setting array binding from multiple threads 3 years ago
Andrei Kortunov 7b095e8701 Merge branch 'revert-7455dfb3' into 'master'
Revert "Merge branch 'windowing-system' into 'master'"

See merge request OpenMW/openmw!555
3 years ago
Gleb Mazovetskiy cd5e31dc4b Revert "Merge branch 'windowing-system' into 'master'"
This reverts merge request !541
3 years ago
psi29a 0ec953380f Merge branch 'opaque-character-preview-preprocessor' into 'master'
Always write opaque fragments instead of relying on blending being off for translucent RTT II: Daggerfall

Closes #5391

See merge request OpenMW/openmw!552
3 years ago
psi29a d2c5de5211 Merge branch 'projectile_physics' into 'master'
Precise projectile physics (closes #4201)

Closes #4201

See merge request OpenMW/openmw!550
3 years ago
fredzio 1f4c85520f Use convexSweepTest for projectile movement to solve any
imprecision issue with projectile collision detection.
Simplify the mechanics: manage hits in one spot.
Give magic projectiles a collision shape similar in size to their visible
model.

Rename the 2 convex result callback to clearly state their purpose.
3 years ago
AnyOldName3 3c53aa4bb1 Merge branch 'fix_unity_build' into 'master'
Fix unity build (#5803)

See merge request OpenMW/openmw!553
3 years ago
elsid cc24f13b39
Remove duplicated sound_buffer entry 3 years ago
AnyOldName3 b6e92c9c6d Use ShaderVisitor to skip translucent framebuffer specific stuff 3 years ago
AnyOldName3 35fab97478 Add changelog entry 3 years ago
AnyOldName3 8af8ad3840 Always write opaque fragments instead of relying on blending being off for translucent RTT 3 years ago
Alexei Dobrohotov 6d70a3f308 Merge branch 'jumpy' into 'master'
Don't run unstuck if there is no simulation running in async case (#5799)

See merge request OpenMW/openmw!548
3 years ago
psi29a c727e823e8 Merge branch 'nocolladacorruption' into 'master'
[OpenMW-CS] Fix corrupted rendering of collada-models

See merge request OpenMW/openmw!549
3 years ago
Nelsson Huotari 0acae08e52 Add changelog entry 3 years ago
Nelsson Huotari 9f0f3eaeb2 Add collada to supported formats 3 years ago
Nelsson Huotari 54ea8eb5c7 Fix string corruption with Qt on linux-systems 3 years ago
fredzio e37e5d4d16 Don't run unstuck if there is no simulation running in async case.
In this case, the actor mPreviousPosition is not updated, so the actor
position is interpolated between an old (stucked) position and the new
(unstucked) position. The new position is most likely "stucked", so the
unstuck code strikes again, making the actor "vibrates".

That's exactly what the sync code path does, and it doesn't exhibit this
behavior.
3 years ago
psi29a 6265081d08 Merge branch 'works_with_travis' into 'master'
Update CI/before_install.osx.sh

See merge request OpenMW/openmw!545
3 years ago
psi29a 4974b64cbf Update CI/before_install.osx.sh 3 years ago
David Cernat 0eb01591e8 [Client] Move overrideRecord() method for Sound records to right spot 3 years ago
psi29a 9eba086c34 Merge branch 'sound_buffer_pool_2' into 'master'
Separate sound buffer pool from sound manager

See merge request OpenMW/openmw!520
3 years ago
AnyOldName3 a8014b4d97 Merge branch 'osg-find-plugins-2' into 'master'
cmake/FindOSGPlugins: Support lib-prefixed plugins

Closes #5792

See merge request OpenMW/openmw!544
3 years ago
Gleb Mazovetskiy 11dfb9daff cmake/FindOSGPlugins: Support lib-prefixed plugins
With a regular OSG build, the plugin names are prefixed with
`lib`, e.g. `libosgdb_jpeg.a` for a static build.

However, on Debian on Ubuntu they are not.

With this commit we now try both options.

Fixes #5972

Signed-off-by: Gleb Mazovetskiy <glex.spb@gmail.com>
3 years ago
psi29a 7455dfb3a1 Merge branch 'windowing-system' into 'master'
Fix OSG USE_GRAPHICSWINDOW check

See merge request OpenMW/openmw!541
3 years ago
psi29a 4e39e0b01d Merge branch 'fix-libfind-pkg-detect' into 'master'
cmake: Fix MyGUI detection

See merge request OpenMW/openmw!535
3 years ago
psi29a c6d5634654 Merge branch 'fix-missing-opengl-include-dir' into 'master'
cmake: Fix missing OPENGL_INCLUDE_DIR

See merge request OpenMW/openmw!542
3 years ago
Gleb Mazovetskiy 24d8412c0c cmake: Fix missing OPENGL_INCLUDE_DIR
OPENGL_INCLUDE_DIR wasn't being included.
It is usually just /usr/include but if it was custom the build failed.
3 years ago
Bret Curtis e68651e9a6
Merge pull request #3042 from akortunov/helpers
Refactoring pre-requisites for groundcover
3 years ago
Gleb Mazovetskiy d24a5f7b89 Fix OSG USE_GRAPHICSWINDOW check
When OSG is built with `-DOSG_WINDOWING_SYSTEM=None`, this macro does not exist.

Replaces the Android-specific check with a general one.
3 years ago
Nelsson Huotari 5740258d3b Add changelog entry 3 years ago
Nelsson Huotari f2fc02cdff Support filtered tables (mapToSource for indexes) 3 years ago
Nelsson Huotari 16e03c151a Implement basic move algorithm, connect it to drag&drop 3 years ago
Andrei Kortunov 89f3f860ed Allow to get a rotation vector from ESM::Position 3 years ago
Andrei Kortunov 0418e8e7a6 Add an API to get base wind speed (which is from openmw.cfg) 3 years ago
Andrei Kortunov f175beb304 Define template ref classes in components 3 years ago
Gleb Mazovetskiy 823e7bea38 Fix MyGUI detection
`libfind_pkg_detect` used `pkg_check_modules`, which requires all the
given modules to be found.

This means it always failed for MyGUI, which passes
`MyGUI${MYGUI_STATIC_SUFFIX} MYGUI${MYGUI_STATIC_SUFFIX}` to it.

Replaces `pkg_check_modules` with `pkg_search_module`, which finds the
first match instead.
3 years ago
psi29a fd602e2c31 Merge branch 'viewdist' into 'master'
Downgrade FOV-dependent view distance factor to a recommendation

See merge request OpenMW/openmw!531
3 years ago
Bret Curtis d944f703e8 Merge branch 'master' of gitlab.com:OpenMW/openmw 3 years ago
Bret Curtis 73740013a3 mResourceSystem initialization reorder 3 years ago
psi29a abdc4cde95 Merge branch 'float' into 'master'
Allow all creatures to float to the water surface (#5790, #5758)

Closes #5758 and #5790

See merge request OpenMW/openmw!534
3 years ago
psi29a 3e35df49df Merge branch 'mResourceSystem_nullptr' into 'master'
mResourceSystem initialise as nullptr

See merge request OpenMW/openmw!533
3 years ago
Alexei Dobrohotov 4638fc36b4 Allow all creatures to float to the water surface 3 years ago
psi29a 3903142152 Update apps/openmw/mwbase/environment.cpp 3 years ago
psi29a 654238fd18 Merge branch 'no_bonus_points' into 'master'
Show mesh origin

Closes #5771

See merge request OpenMW/openmw!507
3 years ago
psi29a 29fdcb3fa1 Merge branch 'hardlanding' into 'master'
Init mJumpState based on saved fallheight (#5739)

See merge request OpenMW/openmw!532
3 years ago
Nelsson Huotari 70087e16fe Disable dialogue info table sorting 3 years ago
fredzio 3087ce9c70 Use saved fallheight to determine a character's jump state.
The jump state initial state is "none", and it is set after physics simulation.
If a save is done just above the ground, the character may land before
the first run of the simulation, effectively cancelling the effect of
falling.
3 years ago
psi29a acfd2cfd90 Merge branch 'dialogclonefix' into 'master'
[OpenMW-CS] Fix cloning in info records

See merge request OpenMW/openmw!524
3 years ago
Nelsson Huotari 93b1b444f2 Optimize CreateCommand and CloneCommand configuration 3 years ago
Alexei Dobrohotov 7be7af13d7 Downgrade FOV-dependent view distance factor to a recommendation 3 years ago
psi29a 6863c5a68f Merge branch 'raii' into 'master'
Make all physics object manage their own resources.

See merge request OpenMW/openmw!527
3 years ago
Nelsson Huotari 7196ad7455 Implement an override-value when cloning, use when cloning info records 3 years ago
Alexei Dobrohotov f150a92775 Merge branch 'respect_almas_personal_space' into 'master'
Tweak follow distance to be more like the original

See merge request OpenMW/openmw!530
3 years ago
Petr Mikheev 66559e8827 Merge branch 'endianness' into 'master'
Utility function for little-endian <-> big-endian conversion

See merge request OpenMW/openmw!516
3 years ago
Petr Mikheev eaaa2f4a1c Use misc/endianness.hpp in components/nif/nifstream 3 years ago
Petr Mikheev 14dd11372f Utility functions for little-endian <-> big-endian conversion. 3 years ago
Evil Eye 1ab4683dce Tweak follow distance to be more like the original 3 years ago
fredzio d015f17a6c Make all physics object manage their own resources
Use smart pointer for heightfields and their members.
Move collision object addition inside of Object's ctor, as for Actors and HeightFields
3 years ago
elsid 8b7f3fe908 Merge branch 'nodeadlock' into 'master'
Avoid a rare but possible deadlock around mCollisionWorldMutex.

See merge request OpenMW/openmw!525
3 years ago
Bret Curtis b3f3b29bbe
Merge pull request #3039 from akortunov/screenshotmanager
Move screenshots handling to the separate class
3 years ago
Bret Curtis a735bbe9a5
Merge pull request #3040 from akortunov/pvs
Fix some issues, found by PVS Studio
3 years ago
Evil Eye e737bd00fa Merge branch 'unused_param' into 'master'
Remove never used parameter from CharacterController::update()

See merge request OpenMW/openmw!523
3 years ago
Alexei Dobrohotov c3a952c133 Merge branch 'dorsbien' into 'master'
Don't update magic effects when unequipping items to equip something else

Closes #5687

See merge request OpenMW/openmw!509
3 years ago
Evil Eye a257567b80 Don't update magic effects when unequipping items to equip something else 3 years ago
Alexei Dobrohotov ef852b2c8f Merge branch 'fix_ubsan_issues' into 'master'
Fix UBSAN issues

See merge request OpenMW/openmw!528
3 years ago
David Cernat 08e3e9af76 [CI] Assign execution permission to before_script_linux.sh 3 years ago
Nelsson Huotari 3045d20a97 Make sure that vector isn't empty, just in case 3 years ago
Nelsson Huotari 29416269b2 Update changelog 3 years ago
Nelsson Huotari 5f1d3e0e2f Use the Topic ID of the cloned target from topicinfos 3 years ago
elsid d2d8a7a940
Fix passing null to memcpy
/home/elsid/dev/openmw/components/detournavigator/navmeshtilescache.cpp:36:24: runtime error: null pointer passed as argument 2, which is declared to never be null
    #0 0x55e37ba4cda5 in makeNavMeshKey /home/elsid/dev/openmw/components/detournavigator/navmeshtilescache.cpp:36
    #1 0x55e37ba4cda5 in DetourNavigator::NavMeshTilesCache::set(osg::Vec3f const&, osg::Vec2i const&, DetourNavigator::RecastMesh const&, std::vector<DetourNavigator::OffMeshConnection, std::allocator<DetourNavigator::OffMeshConnection> > const&, DetourNavigator::NavMeshData&&) /home/elsid/dev/openmw/components/detournavigator/navmeshtilescache.cpp:81
    #2 0x55e37fe3c861 in DetourNavigator::updateNavMesh(osg::Vec3f const&, DetourNavigator::RecastMesh const*, osg::Vec2i const&, osg::Vec2i const&, std::vector<DetourNavigator::OffMeshConnection, std::allocator<DetourNavigator::OffMeshConnection> > const&, DetourNavigator::Settings const&, std::shared_ptr<Misc::ScopeGuarded<DetourNavigator::NavMeshCacheItem> > const&, DetourNavigator::NavMeshTilesCache&) /home/elsid/dev/openmw/components/detournavigator/makenavmesh.cpp:582
    #3 0x55e37fb796ce in DetourNavigator::AsyncNavMeshUpdater::processJob(DetourNavigator::AsyncNavMeshUpdater::Job const&) /home/elsid/dev/openmw/components/detournavigator/asyncnavmeshupdater.cpp:178
    #4 0x55e37fb9a125 in DetourNavigator::AsyncNavMeshUpdater::process() /home/elsid/dev/openmw/components/detournavigator/asyncnavmeshupdater.cpp:144
    #5 0x7f013f585c23 in execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
    #6 0x7f013f8c63e8 in start_thread (/usr/lib/libpthread.so.0+0x93e8)
    #7 0x7f013e91d292 in __GI___clone (/usr/lib/libc.so.6+0x100292)
3 years ago
elsid 7b54415c40
Fix reference binding to null
/usr/include/c++/10.2.0/bits/stl_vector.h:1046:34: runtime error: reference binding to null pointer of type 'value_type'
    #0 0x55e37f50008a in std::vector<char, std::allocator<char> >::operator[](unsigned long) /usr/include/c++/10.2.0/bits/stl_vector.h:1046
    #1 0x55e37f50008a in ESM::SavedGame::load(ESM::ESMReader&) /home/elsid/dev/openmw/components/esm/savedgame.cpp:28
    #2 0x55e37e726139 in MWState::Character::addSlot(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/character.cpp:31
    #3 0x55e37e742b39 in MWState::Character::Character(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/character.cpp:88
    #4 0x55e37e7006e1 in MWState::CharacterManager::CharacterManager(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/charactermanager.cpp:25
    #5 0x55e37e6d4140 in MWState::StateManager::StateManager(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:90
    #6 0x55e37e82595a in OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:641
    #7 0x55e37e8439fd in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:867
    #8 0x55e37e782760 in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:289
    #9 0x55e37f6483c3 in wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:200
    #10 0x55e37ba8e3fe in main /home/elsid/dev/openmw/apps/openmw/main.cpp:301
    #11 0x7f013e845151 in __libc_start_main (/usr/lib/libc.so.6+0x28151)
    #12 0x55e37baa0e3d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw+0x6c11e3d)
3 years ago
psi29a f7d7186c39 Merge branch 'instanceselectiontools' into 'master'
[OpenMW-CS] Cube and sphere instance selection

See merge request OpenMW/openmw!485
3 years ago
Nelsson Huotari 313e895912 [OpenMW-CS] Cube and sphere instance selection 3 years ago
fredzio 60f66f5e29 Remove never used parameter from CharacterController:update() 3 years ago
fredzio 9bc687e209 Avoid a rare but possible deadlock around mCollisionWorldMutex.
What happened is that the last handle to an Actor shared_ptr was a
promoted weak_ptr. When the shared_ptr goes out of scope, the Actor dtor
is invoked. That involves removing the Actor collision object after
exclusively locking mCollisionWorldMutex. In this case, the lock was
already held in the outter scope of the promoted weak_ptr.

Reduce the scope of the mCollisionWorldMutex to never encompass the
lifetime of a promoted weak_ptr.
3 years ago
Andrei Kortunov ad101de733 Merge declaration and initialization 3 years ago
unknown 564a0d7d55 Don't nuke fog when bounds have changed 3 years ago
Andrei Kortunov 1930f8f37d Fix copy-paste error 3 years ago
Andrei Kortunov 50e4600b16 Reduce code duplication 3 years ago
AnyOldName3 4fcf3b80b1 Merge branch 'madsbuvi-master-patch-13347' into 'master'
engine.cpp typos

See merge request OpenMW/openmw!521
3 years ago
Andrei Kortunov 874348fb46 Remove redundant code 3 years ago
Mads Buvik Sandvei a2d8a0b61a engine.cpp typos 3 years ago
Andrei Kortunov 80ee1b55ea Protect assignment operator from this == &src case 3 years ago
Andrei Kortunov 33da0af1d1 Use explicit calls for virtual methods in constructors 3 years ago
elsid a6aba83741
Remove redundant SoundManager::lookupSound and loadSound 3 years ago
elsid e4cce88142
Replace std::tie by structured binding 3 years ago
elsid 90c8e77e2c
Remove redundant default Sound_Buffer fields initialization 3 years ago
David Cernat def981694d [Client] Use correct function for setting global floats from packets 3 years ago
elsid 24f8a2db27
Use perfect forwarding in Sound_Buffer ctor 3 years ago
Andrei Kortunov a80ee7a76a Avoid possible memory leak in the mInterMessageBoxe field 3 years ago
Andrei Kortunov 8e5f26c109 Code cleanup 3 years ago
Andrei Kortunov c9b885ffd4 Avoid possible null dereferencing 3 years ago
Andrei Kortunov 33648313a6 Initialize variables 3 years ago
Andrei Kortunov c1512b8b6c Convert loop to condition 3 years ago
Andrei Kortunov 56666c60d4 Remove dead code 3 years ago
Andrei Kortunov 8283ec6cad Do not use & for boolean arguments 3 years ago
Andrei Kortunov 7fc4c9f3f6 Avoid dead code 3 years ago
Andrei Kortunov 801e2d6ad0 Avoid to use uninitialized variables 3 years ago
Andrei Kortunov c5a36ad440 Do not cast enums to booleans 3 years ago
Andrei Kortunov 799bd3379c Move screenshots handling to the separate class 3 years ago
elsid 944033db4e
Separate sound buffer pool from sound manager 3 years ago
AnyOldName3 2d61db555b Merge branch 'osg_log' into 'master'
Split long osg log messages into lines.

See merge request OpenMW/openmw!519
3 years ago
Petr Mikheev 7d551b0cfd Split long osg log messages into lines. 3 years ago
psi29a cbce3ebb79 Merge branch 'stanky_fetcher' into 'master'
Consider a path completed if it was non-empty

Closes #5773

See merge request OpenMW/openmw!508
3 years ago
AnyOldName3 0068c7bb25 Spec says GL_ 3 years ago
Evil Eye 2a583e2337 consider empty paths as not constructed 3 years ago
AnyOldName3 4ed3252001 Check for EXT_gpu_shader4 CPU-side
Mesa lies and always defines GL_EXT_gpu_shader4 even when the extension
isn't present.
3 years ago
AnyOldName3 d13459ecf9 Scale mipmap alpha to preserve coverage 3 years ago
David Cernat 6287b7f6ec [Documentation] Update year in README 3 years ago
David Cernat da3316daf8 Add OpenMW commits up to 4 Jan 2021
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/main.cpp
#   apps/openmw/mwmechanics/npcstats.hpp
#   apps/openmw/mwphysics/actor.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
#   components/CMakeLists.txt
3 years ago
psi29a dc82cb61f4 Merge branch 'nativeshapesdebug' into 'master'
Unbreak physics debugger with projectiles' spherical shapes.

See merge request OpenMW/openmw!489
3 years ago
Alexei Dobrohotov bbd11cb14e Merge branch 'changelog' into 'master'
Remove #5683 changelog entry

See merge request OpenMW/openmw!514
3 years ago
Alexei Dobrohotov 701a5662b0 Remove #5683 changelog entry 3 years ago
Alexei Dobrohotov c17e498465 Merge branch 'launchercleanup' into 'master'
Remove deadcode from the launcher.

See merge request OpenMW/openmw!511
3 years ago
AnyOldName3 d061ae8096 Add changelog entry 3 years ago
AnyOldName3 e3fd5efcfe Disable A2C for alpha-blended drawables 3 years ago
AnyOldName3 f2eed5594a Don't use A2C when MSAA is off 3 years ago
AnyOldName3 69386df036 Correct alpha testing functions 3 years ago
AnyOldName3 c75d7ceada Ensure alpha test is off by default 3 years ago
fredzio 5215ffd964 The debug drawer rely on Bullet to determines the vertices of collision
shapes. It doesn't work in the case of spheres (used by projectiles):
resulting shape is malformed. It can also leads to this error which
makes the debug drawer non-working till game restart:
CullVisitor::apply(Geode&) detected NaN,
    depth=nan, center=(nan nan nan),
    matrix={
       -0.265814 -0.0639702 0.9619 0
       0.964024 -0.0176387 0.265228 0
       -4.29769e-09 0.997796 0.0663574 0
       18178.6 -3550.91 42154.4 1
}

Avoid this issue by using osg::Sphere

While here, remove an unused function. We don't use Bullet's solver so
we never have any contact points (in Bullet parlance).
3 years ago
AnyOldName3 9b99c76032 Clamp alpha reference to avoid degenerate case 3 years ago
fredzio dbdd397716 Remove deadcode. 3 years ago
Evil Eye 57c92673bc Consider a path completed if it was non-empty 3 years ago
Evil Eye 630ec36d1f iterate in reverse order 3 years ago
unknown 3bf641d3ce Show mesh origin 3 years ago
Alexei Dobrohotov 396667f801 Fix weather particle fading
Update rain particle system setup
3 years ago
Alexei Dobrohotov cdf0bc1d8d Merge branch 'protec' into 'master'
Switch torches to shields for hostile NPCs

Closes #5300

See merge request OpenMW/openmw!501
3 years ago
Evil Eye e46472442a Switch torches to shields for hostile NPCs 3 years ago
AnyOldName3 54853380cd Enable multisampling in RTTs to support A2C 3 years ago
psi29a 8c37817cf1 Merge branch 'viewingdistance' into 'master'
Make min and max view distance accurate to vanilla

See merge request OpenMW/openmw!504
3 years ago
Alexei Dobrohotov e4e19bab1b Make min and max view distance accurate to vanilla 3 years ago
Alexei Dobrohotov 66e0a7ff02
Merge pull request #3038 from akortunov/master
Fix defines names
3 years ago
Alexei Dobrohotov 1c6c86a113 Merge branch 'changelog' into 'master'
Fixed by 7cac7fa870

Closes #4039

See merge request OpenMW/openmw!502
3 years ago
Andrei Kortunov e80d34268c Fix defines names 3 years ago
Evil Eye 694b9c1505 Fixed by 7cac7fa870 3 years ago
Alexei Dobrohotov a7cbe0b497
Merge pull request #3036 from akortunov/tooltip
Enhance level-up tooltip
3 years ago
Chris Djali 862de7a129
Merge pull request #3037 from akortunov/warnfix
Fix build warnings
3 years ago
Andrei Kortunov ee2416017e Fix tag mismatch 3 years ago
Andrei Kortunov 66fee6dccb Enhance level-up tooltip 3 years ago
Andrei Kortunov 6a12c2b58b Fix GCC build warnings 3 years ago
Alexei Dobrohotov 45f4e69a19 Merge branch 'skipanim' into 'master'
Don't move characters if their animation can't move them

Closes #5593

See merge request OpenMW/openmw!490
3 years ago
psi29a 851a0245ac Merge branch 'movement2' into 'master'
New Movement Solver Fixes

See merge request OpenMW/openmw!414
3 years ago
wareya 18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 3 years ago
Alexei Dobrohotov ddbfa5410d Merge branch 'fixboats' into 'master'
Apply waterwalking even when bypassing physics simulation

See merge request OpenMW/openmw!500
3 years ago
fredzio ebb564ad22 call moveObject() after applying waterwalking
This unbreak abot's boat mods: they're continually teleporting
the boats (who is an actor with waterwalking effect). As such, the
physics simulation was never run and the boat never went to sea level.
3 years ago
Evil Eye 7d8727b98e Merge branch 'books' into 'master'
Only ignore plain text after the last EOL tag (#5627)

Closes #5627

See merge request OpenMW/openmw!492
3 years ago
AnyOldName3 54d465e3dc Do all alpha testing early and only once 3 years ago
AnyOldName3 5e004356a2 Merge remote-tracking branch 'upstream/master' into alpha-meddling 3 years ago
AnyOldName3 215b27cae5 Merge branch 'lighting' into 'master'
Clean up shader lighting

See merge request OpenMW/openmw!484
3 years ago
psi29a a094269c46 Merge branch 'guardsguards' into 'master'
Don't consider a path completed unless we're close

Closes #5736

See merge request OpenMW/openmw!498
3 years ago
psi29a 3afa4e5869 Merge branch 'feels_good_guar' into 'master'
Make followers keep a distance dependant on the fattest party member

Closes #5423

See merge request OpenMW/openmw!499
3 years ago
AnyOldName3 8f4b856b44 Initial A2C implementation 3 years ago
Evil Eye f981dd9916 update changelog 3 years ago
Evil Eye 7cac7fa870 Make followers keep a distance dependant on the fattest party member 3 years ago
Alexei Dobrohotov ad41546648 Merge branch 'fix_swimming' into 'master'
Fix #5743 where NPCs and creatures underwater may rotate to the upwards direction

Closes #5743

See merge request OpenMW/openmw!494
3 years ago
Alexei Dobrohotov c57cb09bf2 Merge branch 'focus' into 'master'
Don't restore focus to hidden/unrelated buttons

Closes #5757

See merge request OpenMW/openmw!497
3 years ago
Evil Eye d2a28d915a Don't consider a path completed unless we're close 3 years ago
Evil Eye 1f1755ae48 Add version checks 3 years ago
Evil Eye bdcbb412a5 Don't restore focus to hidden/unrelated buttons 3 years ago
Alexei Dobrohotov a4f6448f34 Merge branch 'movement_fix' into 'master'
Fix minor bug: mSmoothedSpeed is not updating in first person mode

See merge request OpenMW/openmw!495
3 years ago
Petr Mikheev 8b3088a9e5 Fix #5743 3 years ago
Petr Mikheev 51d63a4152 Fix minor bug: mSmoothedSpeed is not updating in first person mode, that leads to an incorrect value after switching to first person mode and back.
Additional refactoring: move `setSideMovementAngle` from camera.cpp to character.cpp as this logic shouldn't belong to Camera.
3 years ago
AnyOldName3 8c3a786e54 Unconditionally disable alpha testing when shaders are used 3 years ago
AnyOldName3 11b4af49ce Allow shadowsbin to optimise clockwise-wound meshes when face culling is off 3 years ago
Alexei Dobrohotov fd77ef6b01 Only ignore plain text after the last EOL tag (#5627) 3 years ago
AnyOldName3 a36ed5f129 Optimise out redundant call
We already had the results
3 years ago
Alexei Dobrohotov 32cc14981e Don't move characters if their animation can't move them 3 years ago
Alexei Dobrohotov fd5429ae56
Merge pull request #3034 from akortunov/master
Update info about font-related settings
3 years ago
psi29a 4f1361b5ea Merge branch 'paralyze' into 'master'
Fix paralyze for swimming and levitating actors

Closes #5758

See merge request OpenMW/openmw!488
3 years ago
Andrei Kortunov f6ab2cd4a4 Update info about font-related settings 3 years ago
psi29a d2b38c16a6 Merge branch 'package' into 'master'
Fix AI sequence looping code (bug #5706)

Closes #5706

See merge request OpenMW/openmw!487
3 years ago
Alexei Dobrohotov eaa65ec60a Update changelog 3 years ago
Alexei Dobrohotov 22476281da Fix paralyze for swimming actors 3 years ago
Alexei Dobrohotov 218597b13d Fix paralyze for levitating actors 3 years ago
Alexei Dobrohotov f5af09aed9 Fix AI sequence looping code (bug #5706) 3 years ago
Alexei Dobrohotov 09759c6620 Clean up shader lighting 3 years ago
psi29a 3e87c35005 Merge branch 'dialogue' into 'master'
Don't regenerate the topics list unconditionally

See merge request OpenMW/openmw!459
3 years ago
David Cernat f2331904ba [Server] Turn SetRecordVolume() into an accessible script function 3 years ago
Alexei Dobrohotov e9a8636d18 Merge branch 'restore_absolute_position_handling' into 'master'
Restore pre-async handling of absolute actors positionning

See merge request OpenMW/openmw!486
3 years ago
Alexei Dobrohotov ce36dd8a52 Merge branch 'misc_cleanup' into 'master'
Small cleanup

See merge request OpenMW/openmw!482
3 years ago
fredzio 5bd921fa3a Restore pre-async handling of absolute actors positionning
One of the issue since the introduction of async physics is the quirky
handling of scripted moves. Previous attempt to account for them was
based on detecting changes in actor position while the physics thread is
running. To this end, semantics of Actor::updatePosition() (which is
responsible for set the absolute position of an actor in the world) was
toned down to merely store the desired position, with the physics system
actually responsible for moving the actor. For the cases were complete
override of the physics simulation was needed, I introduced
Actor::resetPosition(), which actually have same semantics as
original updatePosition(). This in turn introduced a loads of new bugs
when the weakened semantics broke key assumptions inside the engine
(spawning, summoning, teleport, etc).
Instead of tracking them down, count on the newly introduced support for
object relative movements in the engine (World::moveObjectBy) to
register relative movements and restore original handling of absolute positionning.

Changes are relatively small:
- move resetPosition() content into updatePosition()
- call updatePosition() everywhere it was called before
- remove all added calls to the now non-existing resetPosition()

tldr; ditch last month worth of bug introduction and eradication and redo
it properly
3 years ago
fredzio 33eb09f534 Remove unused headers 3 years ago
AnyOldName3 7e045cff75 #include <memory> 3 years ago
AnyOldName3 657da50d99 Ensure GL_BLEND is disabled when drawing shadow maps 3 years ago
AnyOldName3 0e4e8eb0f3 Add glDebugGroup support 3 years ago
AnyOldName3 cc2ce9fa3e Explicitly default-construct array
The docs seem to imply this is automatic when the array contains a
class-type, which osg::ref_ptr is, but I got a crash log that doesn't
make sense if that's true.
3 years ago
Alexei Dobrohotov 6b5e614b1a Merge branch 'dont_cache_ptr' into 'master'
Always use latest actor's Ptr

See merge request OpenMW/openmw!481
3 years ago
Alexei Dobrohotov eb6dad1a93 Merge branch 'fixstupidtypo' into 'master'
Fix misplaced dummies (#5752)

Closes #5752

See merge request OpenMW/openmw!483
3 years ago
fredzio e5f0c7f117 Fix a typo introduced in 08e73a09ec
It closes #5752
3 years ago
AnyOldName3 6fa315b59e Merge branch 'madsbuvi-master-patch-39387' into 'master'
Disable MSVC warning 4866

See merge request OpenMW/openmw!480
3 years ago
Mads Buvik Sandvei 637c76f438 Update CMakeLists.txt 3 years ago
fredzio 93a12fe388 Avoid dynamic_cast when possible. 3 years ago
fredzio 8e084dea2e Don't cache Ptr, it can be updated while the simulation is running. 3 years ago
fredzio 58297ffbf4 Move stats update into their own function. 3 years ago
fredzio 24a8b8c66a Remove redundant call to resetPosition(). adjustPosition() takes care of
it,
3 years ago
Mads Buvik Sandvei a2a462f416 Update CMakeLists.txt to disable MSVC warning 4866 3 years ago
psi29a a1065c8376 Merge branch 'loadingScreen_initialdrawcallback' into 'master'
Loading screen initialdrawcallback 4th time's the charm

See merge request OpenMW/openmw!479
3 years ago
Mads Buvik Sandvei eec2ba3623 Loading screen initialdrawcallback 4th time's the charm 3 years ago
AnyOldName3 2ecd00b6db Don't accidentally enable alpha testing for all shadow casting 3 years ago
AnyOldName3 264539cd63 Merge branch 'WindowCrashCatcher' into 'master'
Handle Crashes on Windows

See merge request OpenMW/openmw!455
3 years ago
psi29a 327df7457b Merge branch 'simulationresultinactor' into 'master'
Embed physics simulation results inside of actor class.

See merge request OpenMW/openmw!478
3 years ago
fredzio 4e7c9b6696 Embed physics simulation results inside of actor class.
This gives finer control over reseting positions (switch off tcl is no
longer glitchy) and solve most of the erroneous usage of stale World::Ptr
indicated by:
"Error in frame: moveTo: object is not in this cell"
3 years ago
psi29a d01d5745c6 Merge branch 'relative_move' into 'master'
Relative translation for scripts

See merge request OpenMW/openmw!477
3 years ago
psi29a e586544ade Merge branch 'loadingScreen_initialdrawcallback' into 'master'
Wait for initialDrawCallback to finish before removing it

See merge request OpenMW/openmw!476
3 years ago
Mads Buvik Sandvei ea8f98b339 Wait for initialDrawCallback to finish before removing it 3 years ago
fredzio 7bae6691b6 Introduce World::moveObjectBy() function to translate an object relatively to
its current position.
Use it in relevant MWScripts opcode (move and moveworld).
Remove the fragile detection of scripted translation from PhysicsTaskScheduler.

No user visible change, just a more robust mechanism.
3 years ago
AnyOldName3 0b5d5eab4c Move is faster 3 years ago
AnyOldName3 05ad44d0b1 Set correct array size 3 years ago
AnyOldName3 a4f32a469e Work around Nvidia driver bug
https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.1.20.pdf
Section 4.1.3 says that hexadecimal integer literals are supported, but
Nvidia have never read a specification since their founding, so their
engineers didn't know that hexadecimal integer literals are requires to
be supported to advertise support OpenGL versions with GLSL support.
3 years ago
AnyOldName3 a080071588 Set default state sensibly 3 years ago
AnyOldName3 691b4d64fe Merge branch 'nigeometry' into 'master'
Make sure NIFLoader avoids working further with empty geometry

Closes #5751

See merge request OpenMW/openmw!475
3 years ago
psi29a 96a87b582c Merge branch 'loadingScreen_initialdrawcallback' into 'master'
Fix for !472 for older versions of OSG

See merge request OpenMW/openmw!474

(cherry picked from commit 35e25d79b9a6c76807084be5ca2584c4fd9b9c35)

4447dd41 osg versions
06f4d63b Preserve callback in older osg version
3 years ago
Alexei Dobrohotov 8db2ba2b38
Merge pull request #3032 from akortunov/gtest
Mark mock methods as overrides (requires GTest 1.10)
3 years ago
Alexei Dobrohotov 46ec40fa92 Make sure NIFLoader avoids working further with empty geometry 3 years ago
AnyOldName3 ce2bcba5d4 Replace deprecated alpha test in shader visitor 3 years ago
David Cernat db32f7f9f8 [Client] Use ObjectDialogueChoice for highlighted topics in dialogue
The packet is now sent not just for items in the list on the right of the dialogue screen, but also for the clickable topics in the dialogue text itself.
3 years ago
AnyOldName3 70bd9d395d Merge branch 'loadingScreen_initialdrawcallback' into 'master'
Clean up use of initial draw callback in loadingscreen

See merge request OpenMW/openmw!472
3 years ago
Mads Buvik Sandvei bc961a13f5 avoid redundant calls to removeInitialDrawCallback 3 years ago
Mads Buvik Sandvei 640420eaaa No longer delete and recreate CopyFramebufferToTextureCallback, remove oneshot functionality. Instead just remove the callback after the traversals. Use addInitialDrawCallback instead of setInitialDrawCallback to avoid messing with existing callbacks. 3 years ago
psi29a 9f81dcbd1a Per request via PM:
"I would like to request that my name is removed from the teams page as my contributions has all been replaced by better solutions years ago." by vorenon, Manuel Edelmann
3 years ago
psi29a 14a80d7d9e Merge branch 'niffix' into 'master'
Turn all NIF records into structs

See merge request OpenMW/openmw!470
3 years ago
Alexei Dobrohotov 1e6156e04a Turn all NIF records into structs 3 years ago
Alexei Dobrohotov 4490f89a3d Merge branch 'dontcollidewithowncollisionbox' into 'master'
Don't explode spell mid-air (#5745)

See merge request OpenMW/openmw!468
3 years ago
fredzio 259d522800 When doing a ray cast to the next projectile position, ignore collisions
that occurs with the projectile own collision object. Otherwise a magic
bolt can explode "spontaneously".
3 years ago
psi29a 884b434ee0 Merge branch 'fixfriendlyfire' into 'master'
Fix projectiles friendly fire (#5744)

See merge request OpenMW/openmw!466
3 years ago
psi29a 78e85fe011 Merge branch 'this_is_nife' into 'master'
More NIF stuff

See merge request OpenMW/openmw!461
3 years ago
psi29a bc6bcda58f Merge branch 'wizard' into 'master'
Wizard: fix "file is already opened" warning

See merge request OpenMW/openmw!465
3 years ago
psi29a ecdd5f1437 Merge branch 'fixosga' into 'master'
Fix collada animation issues

See merge request OpenMW/openmw!467
3 years ago
Nelsson Huotari 8b2bf12e8f Use bip01 for root bone name 3 years ago
Nelsson Huotari 6c1f6169c0 Fix root movement glitch 3 years ago
Nelsson Huotari 3195716a2c Don't force loop textkey 3 years ago
fredzio b39437dfb6 Don't allow projectiles to stand still when they hit an ally.
When an NPC fire a projectile, it should affect only its targeted actor.
To this end, after a hit is detected the target is checked against the
list of AI targets and reactivated if necessary.
Problem occurs when the hit occurs as a result of a friendly actor going
into the projectile (detected in ClosestNotMeConvexResultCallback):
while the projectile is inside the friend's collision box, it is
deactivated, just to be immediately reactivated. Effectively, the
projectile does nothing until the actor moves out.

Add a check inside the ClosestNotMeConvexResultCallback before declaring
a hit.
Since the necessary data is not safely accessible from the async thread,
maintain a copy inside the Projectile class.
3 years ago
Alexei Dobrohotov 53e1e57eef Formatting 3 years ago
Alexei Dobrohotov 085ea44af5 Add BSShaderLightingProperty abstraction 3 years ago
Alexei Dobrohotov c0b9823372 Read BSShaderProperty and handle NiGeometry properties 3 years ago
Alexei Dobrohotov 42226533d8 Handle BSLODTriShape
Its levels of detail are currently not handled
3 years ago
Alexei Dobrohotov 8fd45d85ec Unify NiGeometry/NiGeometryData handling 3 years ago
Alexei Dobrohotov 8ca324af0a Handle emissive TexEnv creation in one place 3 years ago
Alexei Dobrohotov 5310dd6807 Clean up particle vertex handling 3 years ago
Alexei Dobrohotov 1c83e4936d Read BSShaderTextureSet and NiColorInterpolator
Accept boolean-based and 4D vector-based NiInterpolators in ValueInterpolator constructor
3 years ago
Frederic Chardon 2373f07168 Merge branch 'destination_nullptr' into 'master'
Make sure adjustPosition() is safe to call for any actor

Closes #5742

See merge request OpenMW/openmw!464
3 years ago
Alexei Dobrohotov ab789e37e1 Wizard: fix "file is already opened" warning 3 years ago
Alexei Dobrohotov 201999c4a9 Make sure adjustPosition() is safe to call for any actor 3 years ago
CedricMocquillon cc5c6fe3ad Use data() method 3 years ago
AnyOldName3 3a10c6ae91 Merge branch 'optimizeosgaloops' into 'master'
Optimize osganimation for-loops

See merge request OpenMW/openmw!460
3 years ago
CedricMocquillon 112437cf28 Change crash file to dmp on window to avoid renaming it 3 years ago
CedricMocquillon adeb4fe02f Handle case where the log path has more that MAX_PATH characters 3 years ago
CedricMocquillon f400116bcd Use 32767 characters for log path 3 years ago
CedricMocquillon 3eb2b32123 Fix typpo issue on arguments 3 years ago
David Cernat 1a4b817b31 [General] Rework ObjectDialogueChoice for multilingual compatibility
Use a different system for sending and applying ObjectDialogueChoice packets.
3 years ago
CedricMocquillon e2041de969 Use the incremental approach to handle long path 3 years ago
Nelsson Huotari 256aa5e71d Use const auto& 3 years ago
Alexei Dobrohotov 817ac4cfbd Don't regenerate the topics list unconditionally 3 years ago
Alexei Dobrohotov c8d85dcf30 Merge branch 'changelogcs' into 'master'
Editor changelog additions

See merge request OpenMW/openmw!458
3 years ago
CedricMocquillon 73afc55462 Fork the current process to monitor exe, generate minidump on crash 3 years ago
Nelsson Huotari 28c79227df Editor changelog additions 3 years ago
Alexei Dobrohotov 264a6e0269 Merge branch 'unbreak_actors_loading' into 'master'
Unbreak floating corpses and spawn

Closes #5735

See merge request OpenMW/openmw!457
3 years ago
fredzio a314f196eb Unconditionally call actor->resetPosition in adjustPosition.
Revert broken change that would force adjust all actors in cell upon
loading. That break floating corpses (and probably others things).
3 years ago
psi29a daf6c9f88f Merge branch 'collisionbox' into 'master'
Make actor collision box components a struct

See merge request OpenMW/openmw!454
3 years ago
Alexei Dobrohotov 15291f15d3 Make actor collision box components a struct 3 years ago
psi29a 11eff02a1d Merge branch 'Show-more-information-about-level-on-menu' into 'master'
Show more information about level on menu

See merge request OpenMW/openmw!437
3 years ago
psi29a 9a35c5815e Merge branch 'nofallfloor' into 'master'
Update physics object position after spawning.

See merge request OpenMW/openmw!449
3 years ago
psi29a 789d034432 Merge branch 'skirts' into 'master'
Editor: Properly reserve body parts for skirts (bug #5731)

Closes #5731

See merge request OpenMW/openmw!452
3 years ago
psi29a acd5109897 Merge branch 'dontcopysimulationresults' into 'master'
explicitely use a reference for physics simulation results to avoid a copy

See merge request OpenMW/openmw!450
3 years ago
Frederic Chardon 460e5abb55 Update physics object position after spawning. 3 years ago
Frederic Chardon 899b8422fa explicitely use a reference, auto can't infer it and make a copy 3 years ago
Alexei Dobrohotov 32601e0ae4 Properly reserve body parts for skirts (bug #5731) 3 years ago
Alexei Dobrohotov 1d03b46422 Merge branch 'cleanup-improve-scene-colors' into 'master'
[OpenMW-CS][FIX] Clean up PR !442

See merge request OpenMW/openmw!451
3 years ago
Coleman Smith 3b9db41346 removing unneeded variable 3 years ago
Bret Curtis d35715e5dc add olcoal to authors and feature 5199 to changelog 3 years ago
psi29a d77f122289 Merge branch 'gl-5199-improve-scene-colors' into 'master'
[OpenMW-CS] Issue #5199: Improve Scene Colors

See merge request OpenMW/openmw!442
3 years ago
Coleman Smith 842ea9d6ed simplifying a bit
- attaching gradient camera directly to the main camera
- using Vec4ub
3 years ago
psi29a c8fa8cfe74 Merge branch 'herbalmenu' into 'master'
Add graphic herbalism to the launcher

Closes #5730

See merge request OpenMW/openmw!448
3 years ago
psi29a cfd04fcaec Merge branch 'recast_test_fix_c17' into 'master'
be explicit about narrowing to resolve: error: type 'btScalar *' (aka 'float...

See merge request OpenMW/openmw!447
3 years ago
psi29a 7156b11dbc be explicit about narrowing to resolve: error: type 'btScalar *' (aka 'float *') cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing] 3 years ago
Evil Eye 525292b184 Add graphic herbalism to the launcher 3 years ago
psi29a 686692519c Merge branch 'fix-tests' into 'master'
Use correct variable types when loading config for tests

See merge request OpenMW/openmw!446
3 years ago
AnyOldName3 15f03ae375 Merge branch 'logging2' into 'master'
Print '--version' and '--help' messages without timestamps

Closes #2686

See merge request OpenMW/openmw!444
3 years ago
psi29a 0e5af74a2f Merge branch 'masterindexloadfix' into 'master'
[OpenMW-CS] Load master index from refId to mContentFile

See merge request OpenMW/openmw!445
3 years ago
AnyOldName3 fd4a62ce35 Use correct variable types when loading config for tests 3 years ago
Petr Mikheev 49c6e50c31 Print '--version' and '--help' messages without timestamps 3 years ago
Nelsson Huotari 61a4a0807b Load master index in refId to mContentFile, keep master index also in mIndex 3 years ago
psi29a afaacedf67 Merge branch 'placeatmecrash' into 'master'
Don't crash the game when placing a non-actor

See merge request OpenMW/openmw!443
3 years ago
Evil Eye 39ac0cbb4a Don't crash the game when placing a non-actor 3 years ago
Chris Djali 21de3fa7e8
Merge pull request #3033 from akortunov/main_messages
Use a logging system instead of cout for a couple of missing messages
3 years ago
psi29a fd64aacf7d Merge branch 'cliherbalism' into 'master'
Add a setting to disable graphical herbalism

See merge request OpenMW/openmw!440
3 years ago
psi29a 8d8a4a890c Merge branch 'projectiles_collisions_mk2' into 'master'
Projectiles collisions

See merge request OpenMW/openmw!369
3 years ago
fredzio 4fbe1ed12c Ignore caster collision shape. Sometimes the magic bolt get launched
inside too near its caster.
3 years ago
fredzio 7e85235220 Projectile to projectile collision 3 years ago
fredzio 66fe3b0d38 Modify projectile collision to work with async physics 3 years ago
Andrei Kortunov dc7b48e92e Generate physics collisions for projectiles (bug #3372)
Remove redundant now mHit field
3 years ago
Andrei Kortunov 242dd8d496 Use a logging system instead of cout for a couple of missing messages 3 years ago
Evil Eye 275b9aea4d rename setting 3 years ago
Evil Eye e62fff5f2e Add a setting to disable graphical herbalism 3 years ago
Andrei Kortunov 807367ca3f Mark mock methods as overrides (requires GTest 1.10) 3 years ago
CedricMocquillon 86c31ded53 Update changelog 3 years ago
CedricMocquillon 2d3d22025a Avoid height for empty message in AutoSizedTextBox 3 years ago
CedricMocquillon 6bfdf0e57f Add more information on mouse over level 3 years ago
psi29a c2933721c6 Merge branch 'explodespell' into 'master'
Make AI cast self-targeted spells at the ground (bug #5695)

Closes #5695

See merge request OpenMW/openmw!426
3 years ago
psi29a a3dfdde9ef Merge branch 'move_actors_into_scene' into 'master'
Move actors into the scene after a teleport

See merge request OpenMW/openmw!438
3 years ago
psi29a c742c15f6d Merge branch 'autogoesbrr' into 'master'
Use range based for loops and auto

See merge request OpenMW/openmw!400
3 years ago
psi29a b22418d053 Merge branch 'fix_spawn' into 'master'
Fix spawn #5724

See merge request OpenMW/openmw!439
3 years ago
fredzio c6c02a6f16 Remove useless code. ipos is already initialized with the correct
values.
3 years ago
fredzio 08e73a09ec Make the code more compact by mean of std::min / max and ternary
operator.
3 years ago
fredzio b79f6ac808 Force reset position of actor after snapping to the ground. Otherwise
the interpolation calculation would kick in and make the actor goes upward if the
spawn point is higher than summoner or downward if lower. The actor
would then either jump or fall through terrain.
3 years ago
AnyOldName3 a8ab81cfa3 Merge branch 'logging' into 'master'
Add time to logs. Redirect OSG log to OpenMW log.

See merge request OpenMW/openmw!436
3 years ago
Petr Mikheev 5734551ff3 Add time to logs. Redirect OSG log to OpenMW log. 3 years ago
fredzio 7843dad35d Don't let the actor "nowhere" after a teleport but move them in their
place.
This solve the problem where after loading, an empty frame was rendered
because the player is "nowhere".
4 years ago
Evil Eye 078de86e60 Use range based for loops and auto 4 years ago
psi29a e2213cbdb1 Merge branch 'calibrate_teleportation_beam' into 'master'
Solve regression when teleporting with async (#5705)

See merge request OpenMW/openmw!433
4 years ago
Alexei Dobrohotov 8fb07b72d5 Merge branch 'fix-5699' into 'master'
Guarantee glow updater regenerates shaders on completion

See merge request OpenMW/openmw!435
4 years ago
Alexei Dobrohotov 84e1a29700 Make AI cast self-targeted spells at the ground (bug #5695) 4 years ago
AnyOldName3 48f397f168 Remove existing shader when no longer required 4 years ago
AnyOldName3 5ad297e6ff Guarantee glow updater regenerates shaders on completion
Previously, it would edit the odd numbered stateset, then regenerate
shaders for the even-numbered one, then edit the even numbered one, and
regenerate shaders for the odd numbered one (or vice versa if it
finished during an even numbered frame). This would leave one of the
shader programs still trying to use the state that had been removed.
4 years ago
fredzio 5a4872393a Rework actor position reset. While solving the issue with invalid
position being used under heavy load, I introduced a regression that
prevented the position to be updated in case of teleport.
Move the logic in its own function and decide in PhysicsSystem whether a
reset is needed.
4 years ago
psi29a a98847e670 Merge branch 'bzzt_8_shadows_in_refraction' into 'master'
shadows enabled in refraction

See merge request OpenMW/openmw!340
4 years ago
psi29a 6f0b90e606 documented that currently underwater shadows are mutually exclusive to refraction scale; to be fixed in follow up issue #5709; documentation fixes 4 years ago
psi29a ca3cde20cd Merge branch 'aut2020_changelog' into 'master'
Changelog additions

See merge request OpenMW/openmw!432
4 years ago
Nelsson Huotari b416c52978 Changelog additions 4 years ago
David Cernat 4620adc662 Add OpenMW commits up to 30 Nov 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwphysics/actor.cpp
4 years ago
psi29a 2c6e8eb195 Merge branch 'particles' into 'master'
Make NIF particle node handling more generic

See merge request OpenMW/openmw!425
4 years ago
psi29a 61e6b543e5 Merge branch 'qstatusbarfix' into 'master'
Fix crash caused by QStatusBar

See merge request OpenMW/openmw!431
4 years ago
Alexei Dobrohotov db9c174ca8 Make NIF particle node handling more generic 4 years ago
Nelsson Huotari b0e3bd6ff9 Fix crash caused by QStatusBar 4 years ago
Bret Curtis 16b34c2863
Merge pull request #3029 from akortunov/replace_zeroes
Replace zeroes and nulls by nullptrs
4 years ago
psi29a 73ca333c4b Merge branch 'actorpositionagain' into 'master'
Make the physics simulation more robust when overloaded

See merge request OpenMW/openmw!429
4 years ago
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 4 years ago
AnyOldName3 86fad60c7d Merge branch 'roots' into 'master'
Handle multiple root nodes (bug #5604)

Closes #5604

See merge request OpenMW/openmw!428
4 years ago
fredzio ea2ba27084 Move the moment when the actor origin is saved before simulation so to
be sure the simulation is over. Otherwise, if the simulation is too slow
the position is wrong, and the actors would jump back and forth between
old and new position instead of actually moving.
4 years ago
psi29a dc1bd8ec29 Merge branch 'osgAnimation_basics' into 'master'
Collada animation support

See merge request OpenMW/openmw!421
4 years ago
Nelsson Huotari 55dcc6582a Don't duplicate getFileExtension, use OpenMW's namespaces 4 years ago
Alexei Dobrohotov 5b6377b061 Handle multiple root nodes (bug #5604) 4 years ago
Bret Curtis 829560fe5e
Merge pull request #3028 from akortunov/read_errors
Rework file error messages handling
4 years ago
Andrei Kortunov 4acd910b37 Rework file error messages handling 4 years ago
psi29a 96e22bd44e Merge branch 'fastforwardpos' into 'master'
Discard physics simulation results after fast forward

See merge request OpenMW/openmw!423

(cherry picked from commit ff2d7695698341ef059c75707aa092cef48deea4)

03a37433 In case of time fast forward (resting, jail), force reset of positions
4 years ago
David Cernat 5d7ca14e7e [Client] Set DedicatedPlayer's anim flags when its Ptr is enabled 4 years ago
AnyOldName3 f8c791fde3 Merge branch 'physics_worker_profile' into 'master'
Add the async physics worker to the profiler overlay.

See merge request OpenMW/openmw!422
4 years ago
Frederic Chardon 9aba55a21a Add the async physics worker to the profiler overlay. 4 years ago
psi29a d0b29cf254 Merge branch 'spellSearchExtension' into 'master'
Improve spell/magic item search to factor in magic effect names

See merge request OpenMW/openmw!417
4 years ago
Nelsson Huotari 08dcbe30b3 Earlier nullptr check 4 years ago
Nelsson Huotari 3232faa703 Use const ref instead of value 4 years ago
Nelsson Huotari 32d4344803 Don't copy osga-data in base class keyframecontroller, fix warnings. 4 years ago
jefetienne bc6f46465f Add to changelog, authors. Move variable declaration inside block 4 years ago
jefetienne 2413de38b5 Extend spell/item search to search by magic effect name 4 years ago
psi29a f95d2cf54c Merge branch 'update_recastnavigation' into 'master'
Update recastnavigation

See merge request OpenMW/openmw!420
4 years ago
Nelsson Huotari 6e77ad1f6a OSG-Collada animation support 4 years ago
Nelsson Huotari f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 4 years ago
AnyOldName3 37661bffea Merge branch 'shadowdisable-fix' into 'master'
Make disableShadowsForStateSet a no-op when shadows are disabled

See merge request OpenMW/openmw!205
4 years ago
psi29a c69b407f8c Merge branch 'close_the_window_before_you_destroy_the_world' into 'master'
Don't unload the world before closing containers

Closes #5689

See merge request OpenMW/openmw!419
4 years ago
psi29a 642cf8ff8e Merge branch 'debian-gcc-first-time-timeout' into 'master'
Fix Debian GCC timeout on forks

See merge request OpenMW/openmw!416
4 years ago
psi29a 881bc49e0b Merge branch 'no-dynamic' into 'master'
Make Bullet DebugDrawer's default state match the physics system

See merge request OpenMW/openmw!418
4 years ago
elsid 9b11b8a27b
Fix boundary check 4 years ago
elsid 9363bc2d48
Update recastnavigation to 6624e7aef5e15df11cb2f5673574df8e4c96af6a 4 years ago
Evil Eye c126d8801f Fix #5689 4 years ago
AnyOldName3 06d1e70aac Make Bullet DebugDrawer's default state match the physics system 4 years ago
psi29a 86dc6f7512 Merge branch 'nine-ten-eleven-twelve' into 'master'
Fix extraction with 7z 9.10

See merge request OpenMW/openmw!415
4 years ago
AnyOldName3 48ea9960b9 Fix Debian GCC timeout on forks 4 years ago
AnyOldName3 211894a178 Fix extraction with 7z 9.10
This is still used in the wild as lots of people install 7zip and never update it because it works. We can't check the version and abort if it's too old as the changelog doesn't make it clear which version fixed the behaviour.
4 years ago
David Cernat b1ce90076e [Client] Don't apply spell effects unilaterally on DedicatedPlayers 4 years ago
David Cernat 1dccd75238 [Server] Return signed int for GetSpellsActiveEffectArg() 4 years ago
David Cernat dd171420ca [Server] Move rare arg to end of AddSpellActiveEffect() argument list 4 years ago
David Cernat 58c04530e7 [General] Implement PlayerSpellsActive packet, part 2
The packet can now set the active spells of DedicatedPlayers.
4 years ago
psi29a 8f2701c24b Merge branch 'sewer-water-isn't-that-clear' into 'master'
Set dummy state when disabling shadows indoors

Closes #5688

See merge request OpenMW/openmw!412
4 years ago
AnyOldName3 06ae2a0536 Add changelog entry 4 years ago
AnyOldName3 7768556ce6 Set dummy state when disabling shadows indoors
As we don't reconfigure all shaders without shadows when we disable them
indoors (as it'd probably add a hitch to transitioning in and out) we
need to set up dummy state so the shaders don't do anything illegal.

This hadn't had symptoms for most objects as when indoors, nearly
everything would be drawn first in one of the water RTTs, which had
dummy state to disable shadows already. This wasn't true of the water
plane itself, though, yet somehow it took until just now for anyone to
report that.

This resolves vtastek's issue where the water would be invisible indoors
4 years ago
psi29a 894bcb8bcc Merge branch 'fix_the_fix's_fix' into 'master'
Don't fall while teleporting

See merge request OpenMW/openmw!411
4 years ago
Frederic Chardon bb5213670c Use bigger hammer to set Actor's position after teleporting. Otherwise traceDown() would use old collision object transform and gives incorrect results, making the Actor "fall" in the new position. 4 years ago
psi29a 0a566dbce7 Merge branch 'simplifystanding' into 'master'
Get rid of the StandingActorsMap.

See merge request OpenMW/openmw!409
4 years ago
fredzio d64ed6cf53 Get rid of the StandingActorsMap. Just embed the necessary info into
Actor class.
4 years ago
psi29a 5362146d24 Merge branch 'interleaved_movements' into 'master'
Unbreak lifts & conveyors in Sotha Sil Expanded

See merge request OpenMW/openmw!410
4 years ago
David Cernat 30b179c2dd [Client] Add die() method to DedicatedPlayer 4 years ago
David Cernat ae0e4a929f [Client] Add die() method to LocalPlayer 4 years ago
David Cernat cd835104b7 [Client] Add resurrect() method to DedicatedPlayer 4 years ago
David Cernat 1083fa5196 [Client] Reorder DedicatedPlayer's functions 4 years ago
fredzio e5fa457fe7 Properly account for interleaved move of actors.
Before this change, if an actor position was changed while the physics
simulation was running, the simulation result would be discarded. It is
fine in case of one off event such as teleport, but in the case of
scripts making use of this functionality to make lifts or conveyor (such
as Sotha Sil Expanded mod) it broke actor movement.

To alleviate this issue, at the end of the simulation, the position of the Actor
in the world is compared to the position it had at the beginning of the
simulation. A difference indicate a force move occured. In this case,
the Actor mPosition and mPreviousPosition are translated by the difference of position.

Since the Actor position will be really set while the next simulation runs, we
save it in the mNextPosition field.
4 years ago
David Cernat 676481d061 Add OpenMW commits up to 14 Nov 2020
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/tickableeffects.cpp
4 years ago
psi29a 6064d3e741 Merge branch 'boundingvolume' into 'master'
Read NIF bounding volume data correctly

See merge request OpenMW/openmw!407
4 years ago
Alexei Dobrohotov df9667e923 Read NIF bounding volume data correctly 4 years ago
psi29a 37e81f0df8 Merge branch 'redirection-fix' into 'master'
Only reroute stdout etc. to new console if not already redirected

Closes #5650

See merge request OpenMW/openmw!408
4 years ago
AnyOldName3 89d73c5fc7 Only reroute stdout etc. to new console if not already redirected
This should fix the issue where Windows Release builds (compiled as
/SUBSYSTEM:WINDOWS instead of /SUBSYSTEM:CONSOLE) can't have their
output redirected.

Basically, a console application creates a console if not given one, so
you get a console window behind OpenMW while it's running. It was
decided that this was ugly, so we set Release builds to be windows
applications, which don't get an automatic console and don't
automatically connect to a console if given one anyway.

Of course, we still wanted to actually be able to print to a console if
given one, so we manually attach to the parent process' console if it
exists, then reopen the standard streams connected to CON, the Windows
pseudo-file representing the current console.

This is a little like connecting a second wire into a dumb terminal in
that you're pumping characters into the display rather than onto a
pipeline, so output can't be redirected.

It turns out, though, that if a /SUBSYSTEM:WINDOWS application has its
standard streams redirected by the calling process, it still gets its
handles as normal, so everything starts off connected just how we want
it and we were clobbering this good setup with the straight-to-console
fix.

All we need to do to fix that is check if we've got valid standard
handles and that they go somewhere useful, and if so, avoid reopening
them once the console is attached. Simples.
4 years ago
psi29a 18a95377eb Merge branch 'stringpalette' into 'master'
Fix NiStringPalette loading

See merge request OpenMW/openmw!406
4 years ago
Alexei Dobrohotov 117697ea22 Fix NiStringPalette loading 4 years ago
Bret Curtis a038c448f2
Merge pull request #3030 from OpenMW/make_travis_great_again
Update .travis.yml
4 years ago
psi29a e73a0f8a2a Merge branch 'minorfixes' into 'master'
Minor fixes

See merge request OpenMW/openmw!405
4 years ago
Alexei Dobrohotov 8a6d3d1b4f Minor fixes
Fix extra semicolon
Disable collision avoidance if AI is disabled
4 years ago
AnyOldName3 981fffe590 Merge branch 'itsakindoftemplatemagic' into 'master'
Fix MSVC2017 builds

See merge request OpenMW/openmw!404
4 years ago
AnyOldName3 1e0df23d14 Merge branch 'shadows-bin' into 'master'
Use a custom renderbin to avoid pointless OpenGL state switches

See merge request OpenMW/openmw!402
4 years ago
Bret Curtis 68836aa0fd
Update .travis.yml 4 years ago
Bret Curtis 8b0475037d
Update .travis.yml 4 years ago
Evil Eye 94c89e6d5e check ValueTs 4 years ago
Bret Curtis e15716eb0c
Update .travis.yml 4 years ago
Bret Curtis df2ae6e866
Update .travis.yml 4 years ago
Bret Curtis dee91d12c2
Update .travis.yml 4 years ago
AnyOldName3 fcfd340c69 Actually copy alpha blended drawables to the new stategraph 4 years ago
psi29a 399270694f Merge branch 'no-colour-fbo-for-shadows' into 'master'
Don't bind unnecessary colour buffer when drawing shadow maps

See merge request OpenMW/openmw!403
4 years ago
Evil Eye d8897c4509 remove inline and use enable_if_t 4 years ago
Evil Eye d8d4351962 fix MSVC2017 builds 4 years ago
AnyOldName3 55f65752fd Don't bind unnecessary colour buffer when drawing shadow maps 4 years ago
AnyOldName3 cdbf19a508 Tidy up run-on lines 4 years ago
AnyOldName3 296dce470a Spelling fix 4 years ago
AnyOldName3 72f7e6a702 Handle all shadow alpha uniforms in shadowsbin 4 years ago
AnyOldName3 5d046bc95d Mark override 4 years ago
David Cernat ec2e51825e [Client] Set DedicatedPlayer's dynamic stats when its Ptr is enabled
Previously, players often started out in knockout animations when their Ptrs were first enabled because their fatigue started out at 0 and only updated itself afterwards.
4 years ago
David Cernat 4389d4417a [Client] Add setStatsDynamic() method to DedicatedPlayer 4 years ago
psi29a 9902945c49 Merge branch 'interpolator' into 'master'
Read a few more NIF types

See merge request OpenMW/openmw!401
4 years ago
Alexei Dobrohotov a46699fb1e Handle NiGeomMorpherController interpolator list 4 years ago
Alexei Dobrohotov f3f5dcb016 Read a few more NIF types
NiFloatInterpolator, NiPoint3Interpolator, NiTransformInterpolator, NiBoolInterpolator
Update a few existing controller records
Update NiSkinInstance
4 years ago
psi29a ed8342ebc9 Merge branch 'niffile' into 'master'
Remove NIFFile settings manager dependency

See merge request OpenMW/openmw!398
4 years ago
corristo 73e3ee0f85 Merge branch 'update-macos-deps' into 'master'
[macOS, CI] Update dependencies, don't use lz4 from Homebrew

See merge request OpenMW/openmw!399
4 years ago
corristo b8ed3b0059 [macOS, CI] Update dependencies, don't use lz4 from Homebrew
Also, enable double precision support for Bullet.
4 years ago
psi29a 10fc3331d5 Merge branch 'settings' into 'master'
Remove shader visitor settings manager dependency

See merge request OpenMW/openmw!397
4 years ago
Alexei Dobrohotov c857588ee9 Remove NIFFile settings manager dependency 4 years ago
Alexei Dobrohotov b523574090 Remove shader visitor settings manager dependency 4 years ago
psi29a 35115f2f24 Merge branch 'theyretakingthenifstoisengard' into 'master'
Read a few more NIF types

See merge request OpenMW/openmw!396
4 years ago
Alexei Dobrohotov 1d07361f08 Read a few more NIF types
BSXFlags, NiTransformData, BSBound, BSFadeNode, bhkBlendController
4 years ago
psi29a 6844800124 Merge branch 'nifisjustice' into 'master'
NIF updates

See merge request OpenMW/openmw!394
4 years ago
Alexei Dobrohotov 96769ab4a5 Try to reword unsupported NIF loading docs 4 years ago
Alexei Dobrohotov a38c629425 Read NiSkinPartition 4 years ago
Alexei Dobrohotov afea11b70a Read NiStringPalette and NiBoolData 4 years ago
Alexei Dobrohotov c79f509652 Misc NIF loader improvements
Bullet NIF loader cleanup
Collect all extra records of a node
Remove code duplication in geometry type detection in OSG-side NIF loader
4 years ago
Alexei Dobrohotov 7e63afdecf Allow loading arbitrary NIF files 4 years ago
Alexei Dobrohotov f6b43b9321 Merge branch 'Changelog_Devs' into 'master'
Adds #4083 to the changelog

See merge request OpenMW/openmw!392
4 years ago
psi29a 1b944aeb29 Merge branch 'grammar' into 'master'
Improve grammar in [Physics] category of the default settings

See merge request OpenMW/openmw!393
4 years ago
Alexei Dobrohotov 9859565f8d Improve grammar in [Physics] category of the default settings 4 years ago
David Cernat a43ba35790 [General] Add placeholder for Variant records in RecordDynamic packet
Fix spacing and sorting for Sound custom records.
4 years ago
Atahualpa 64ff09883f Add #4083 to the changelog. The entry for the release changelog is going to be included in my upcoming MR which will update the whole release changelog. 4 years ago
Bret Curtis d9fcd3c768
Merge pull request #3026 from akortunov/iterator
Rework cure effects
4 years ago
Andrei Kortunov 0e971dccf0 Rework cure effects 4 years ago
Alexei Dobrohotov 37cce328ca Merge branch 'basicmath' into 'master'
Compute the rotation normal relative to the door axe, not the world.

See merge request OpenMW/openmw!391
4 years ago
Bret Curtis 6efa7eea5a
Merge pull request #3025 from akortunov/iterator
Do not remove active effects in the active effects loop
4 years ago
Andrei Kortunov c1d56d94c4 Do not remove active effects in loop (bug #3789) 4 years ago
Frederic Chardon ecd10a731e Compute the rotation normal relative to the door axe, not the world. 4 years ago
psi29a 646760a484 Merge branch 'dont_hold_door' into 'master'
Do not block a door when it turns away  #4083

See merge request OpenMW/openmw!390
4 years ago
fredzio 18e38d8810 Do not block a door when it turns away. 4 years ago
David Cernat 7f435ceeac Add OpenMW commits up to 1 Nov 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/main.cpp
#   apps/openmw/mwclass/container.hpp
#   apps/openmw/mwclass/creature.hpp
#   apps/openmw/mwclass/npc.hpp
#   apps/openmw/mwdialogue/dialoguemanagerimp.hpp
#   apps/openmw/mwdialogue/journalimp.hpp
#   apps/openmw/mwgui/container.cpp
#   apps/openmw/mwgui/dialogue.hpp
#   apps/openmw/mwgui/mainmenu.cpp
#   apps/openmw/mwgui/windowmanagerimp.hpp
#   apps/openmw/mwmechanics/aiactivate.hpp
#   apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#   apps/openmw/mwscript/containerextensions.cpp
#   apps/openmw/mwscript/interpretercontext.hpp
#   components/CMakeLists.txt
4 years ago
psi29a ba3aad31c1 Merge branch 'hitdebug' into 'master'
Visualize hits in the debug overlay

See merge request OpenMW/openmw!379
4 years ago
psi29a 7ee7041399 Merge branch 'stretch' into 'master'
Put a stretch menu background checkbox into the launcher (#5672)

Closes #5672

See merge request OpenMW/openmw!387
4 years ago
Alexei Dobrohotov f49bf028b9 Put a stretch menu background checkbox into the launcher (#5672) 4 years ago
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
4 years ago
Alexei Dobrohotov 942334c489 Merge branch 'changelog' into 'master'
Add missing changelog entries

See merge request OpenMW/openmw!386
4 years ago
Alexei Dobrohotov 73f866fc65 Add missing changelog entries 4 years ago
AnyOldName3 449506fef1 Attempt to explain what shadowsbin is doing 4 years ago
AnyOldName3 3c5d025849 Merge branch 'fallinglift' into 'master'
Unbreak elevators (#5670)

See merge request OpenMW/openmw!385
4 years ago
fredzio 4876969153 Use the PhysicsSystem::movementQueue instead of a serie of
setPosition(getPosition() + diff) to move actor in scripts.
With background physics, this is very slightly off with the collision
object position.
When the script run long enough (a few dozen frames for instance),
the accumulated error becomes too big. It make actors fall through lifts floors.
4 years ago
psi29a 4bbed3c860 Merge branch 'savecontainers' into 'master'
Save and load container records

Closes #5668

See merge request OpenMW/openmw!384
4 years ago
Evil Eye 7065282127 Save and load container records; fixes #5668 4 years ago
Bret Curtis 0eaac4b522
Merge pull request #3024 from akortunov/coverity
Fix some issues, found by CoverityScan
4 years ago
Andrei Kortunov 64ba81ecf2 Fix some issues, found by CoverityScan 4 years ago
Andrei Kortunov 00503d86e1 Try to disable CoverityScan warning in code with explanation 4 years ago
AnyOldName3 fb53b397ff Merge branch 'even-fixier-config' into 'master'
Merge all composing variables, not just those in destination already

See merge request OpenMW/openmw!383
4 years ago
AnyOldName3 5869ac71e3 Merge all composing variables, not just those in destination already
This resolves a regression where the local openmw.cfg doesn't exist, so
we fall back to the global openmw.cfg, but because we've not loaded
anything from the local openmw.cfg, there are no variables with which to
merge.
4 years ago
psi29a 8f68f08aee Merge branch 'moonmoon' into 'master'
Change moon phase to an enum class

See merge request OpenMW/openmw!381
4 years ago
psi29a 67e7fbb798 Merge branch 'trade' into 'master'
Fix regression #5666

Closes #5666

See merge request OpenMW/openmw!382
4 years ago
Evil Eye 3bf5247c0b remove forward declaration 4 years ago
Alexei Dobrohotov 9763995892 Fix regression #5666 4 years ago
psi29a 74dfc09e2d Merge branch 'removeitem' into 'master'
Fix remove item regression

Closes #5663

See merge request OpenMW/openmw!380
4 years ago
Evil Eye 2c4cafa41a Change moon phase to an enum class 4 years ago
Evil Eye 0512a574e8 Fix remove item regression 4 years ago
David Cernat e100ed7b63 [Server] Add server functions for getting & setting dialogue choices
Fix typo in description for SetObjectSoul()
4 years ago
David Cernat 9dcb0f4c32 [General] Implement ObjectDialogueChoice packet 4 years ago
psi29a f6e4c7cb42 Merge branch 'regionsounds' into 'master'
Fix region sounds

See merge request OpenMW/openmw!370
4 years ago
psi29a 3ccb424faf Merge branch 'nifstuff' into 'master'
Try to fix macOS build

See merge request OpenMW/openmw!378
4 years ago
fredzio e8c0a7bec0 Visualie projectile hits 4 years ago
Frederic Chardon 574ccbf7bd Visualize hand to hand hits 4 years ago
fredzio 435b2e37f8 Allow to display collision points in the debug viewer 4 years ago
Alexei Dobrohotov 7e521788e9 Try to fix build 4 years ago
psi29a fa9278e25b Merge branch 'boost_min_ver' into 'master'
set minimal boost version; remove #ifdef boost version checks

See merge request OpenMW/openmw!376
4 years ago
psi29a ff6f0413f0 Merge branch 'nifstuff' into 'master'
Minor NIF fixes and cleanup

See merge request OpenMW/openmw!377
4 years ago
Bret Curtis 175e29af00
Merge pull request #3022 from akortunov/shaders
Allow to assign custom shaders to nodes
4 years ago
Alexei Dobrohotov 4fc5e22e9e NIF fixes and cleanup
Get rid of NodeIndexHolder
Use unsigned 32-bit type for NIF record index
Fix calculation of the number of UV sets
4 years ago
Bret Curtis 4032b754e4 set minimal boost version; remove #ifdef boost version checks 4 years ago
Alexei Dobrohotov a78aa6b22c Merge branch 'nipixeldata' into 'master'
Clean up palettized NiPixelData loading

See merge request OpenMW/openmw!374
4 years ago
psi29a b66ba7c718 Merge branch 'includes' into 'master'
Re-add missing includes removed in 5a824d0333

See merge request OpenMW/openmw!375
4 years ago
Andrei Kortunov 660df19ff7 Allow to assign custom shaders to nodes 4 years ago
unknown 71e78c66cd Re-add missing includes removed in 5a824d0333 4 years ago
unknown eae9eafb8c Merge branch 'master' of gitlab.com:OpenMW/openmw into regionsounds 4 years ago
Alexei Dobrohotov 71056c6014 Clean up palettized NiPixelData loading 4 years ago
unknown eebb320916 Wait for the previous sound to stop 4 years ago
psi29a 08fb9073c6 Merge branch 'cpp17_std_optional' into 'master'
use std::optional instead of boost::optional

See merge request OpenMW/openmw!373
4 years ago
Bret Curtis 0e0c091e15 add more optionals and casserts for windows 4 years ago
Bret Curtis 4a54d375cc add cassert for windows 4 years ago
Bret Curtis f6bead88a9 purge boost/optional.hpp headers 4 years ago
Bret Curtis 62b0781f7d use std::optional instead of boost::optional 4 years ago
psi29a 37ac5323f1 Merge branch 'documentation' into 'master'
Document object paging settings (task #5512)

See merge request OpenMW/openmw!371
4 years ago
Alexei Dobrohotov e7f9fefd2a Document object paging settings (task #5512) 4 years ago
psi29a 957a1425d1 Merge branch 'cleanup_1' into 'master'
Cleanup 1

See merge request OpenMW/openmw!365
4 years ago
unknown 1ce296aa7f Use fallback values for region sounds and fix probability 4 years ago
psi29a fb63f8058f Merge branch 'hash' into 'master'
Rewrite compressed BSA hash calculation again

See merge request OpenMW/openmw!368
4 years ago
Bret Curtis 259f7fcf12
Merge pull request #3020 from unelsson/strippluginindex_cs
Strip the plugin index when looking for deleted refs.
4 years ago
Alexei Dobrohotov 45c155b054 Rewrite compressed BSA hash calculation again 4 years ago
Nelsson Huotari b1ea9f6a5b Strip the plugin index from refid completely 4 years ago
AnyOldName3 f7dddb8857 Merge branch '3' of https://gitlab.com/bzzt/openmw into shadows-bin
This won't actually work.
4 years ago
psi29a 6534bc9b74 Merge branch 'config-fixes' into 'master'
Config fixes

See merge request OpenMW/openmw!367
4 years ago
AnyOldName3 f625da9328 Update CHANGELOG.md 4 years ago
AnyOldName3 538314b03a Make path settings have path type 4 years ago
AnyOldName3 f57851587d Fix edge case where FallbackMap has no comma 4 years ago
AnyOldName3 ce0966b9b7 Improve validate implementation 4 years ago
psi29a f592aca6d3 Merge branch 'bsatool' into 'master'
Add compressed BSA support to bsatool

See merge request OpenMW/openmw!366
4 years ago
AnyOldName3 350f6e61f7 Move FallbackMap validator implementation to source file 4 years ago
Alexei Dobrohotov 129bd51672 Add compressed BSA support to bsatool 4 years ago
AnyOldName3 8b28b6e55e Compose BSA, context and script blacklist lists
These would only take their value from the highest priority source, so
specifying `openmw --content anExtraEsp.esp` would override all the
content files in the user cfg file, and the user cfg file would override
any in the global/local one.
4 years ago
AnyOldName3 fca8634b74 Remove debugging lines 4 years ago
AnyOldName3 cf81f1bbb7 Make composing variables compose in the expected order 4 years ago
Bret Curtis 5aa053c53e components/compiler/streamerrorhandler.cpp needs sstream for MacOS 4 years ago
Bret Curtis e51ca542d4 components/config cleanup 4 years ago
Bret Curtis 5a824d0333 components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 4 years ago
Bret Curtis 5475e696c8 components/bullethelpers cleanup; removed warnings by using override 4 years ago
AnyOldName3 651a5a27f6 Fix inconsistent indentation
This has been irritating me for years.
4 years ago
Bret Curtis d826fbdadf components/bsa cleanup 4 years ago
AnyOldName3 6c311f4a3d Partially revert 3a912485
While it solved the bug it was supposed to, it caused a regression where
the user config could no longer override the global config.
4 years ago
Bret Curtis 43614e2204
Merge pull request #3021 from akortunov/warnfix
Do not use deprecated Qt functions
4 years ago
psi29a fa1765816f Merge branch 'somecpp17' into 'master'
C++17 cosmetics

See merge request OpenMW/openmw!357
4 years ago
Andrei Kortunov 46a1950b0e Do not use deprecated Qt functions 4 years ago
fredzio a19db73eca Fix bad rebase 4 years ago
psi29a 916c3bed98 Merge branch 'onclose' into 'master'
Don't reset temporarily hidden container window

Closes #5658

See merge request OpenMW/openmw!363
4 years ago
fredzio 1357bba0a0 Use some C++17 where it makes the code more readable
Also replace boost::optional
4 years ago
fredzio 4fc5b6f6f4 Sort headers 4 years ago
fredzio 212b293803 Use same parameter name in definition and declaration 4 years ago
AnyOldName3 420569c699 Merge branch 'chocolatey-log' into 'master'
Copy Chocolatey log so it gets picked up as an artefact

See merge request OpenMW/openmw!361
4 years ago
AnyOldName3 534fffb83d Chocolatey has one L 4 years ago
Alexei Dobrohotov f1b7cd5404 Don't reset temporarily hidden container window 4 years ago
psi29a 4ae504970f Merge branch 'blocking' into 'master'
Fix lower body blocking animation priority (bug #5656)

Closes #5656

See merge request OpenMW/openmw!359
4 years ago
psi29a 7f59751946 Merge branch 'standing' into 'master'
Fix standing actors logic

See merge request OpenMW/openmw!360
4 years ago
psi29a 0d21ab6bbe Merge branch 'require_cpp17' into 'master'
C++17; make it count

See merge request OpenMW/openmw!362
4 years ago
Bret Curtis 449e7ce86f C++17; make it count 4 years ago
AnyOldName3 7efd48e6fd Copy Chocolatey log so it gets picked up as an artefact 4 years ago
fredzio 2916a9462e Fix standing actors logic:
it is updated in the solver only if the actor is standing on
"something". The ground is not "something", so in case the actor goes
from standing on an object to the standing on the ground, this change was not taken
into account.
Clear the value before the simulation to solve this problem.
4 years ago
Alexei Dobrohotov 2972033a72 Merge branch 'thelevelling' into 'master'
Allow adding levelled lists using AddItem

Closes #2404

See merge request OpenMW/openmw!358
4 years ago
Alexei Dobrohotov 7da8479d25 Fix lower body blocking animation priority (bug #5656) 4 years ago
Evil Eye bdcd2bc802 Allow adding levelled lists with AddItem 4 years ago
Bret Curtis 7d16b6f26c
Merge pull request #2992 from akortunov/service_refusal
Add support for service-specific refusals
4 years ago
psi29a 226a611add Merge branch 'cpp_17' into 'master'
Bump std:: to C++17

See merge request OpenMW/openmw!329
4 years ago
Bret Curtis 82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 4 years ago
psi29a c62546fb12 make it count 4 years ago
psi29a c86094e4db Bump to C++17 4 years ago
psi29a 64913dea9d Merge branch 'macos_lz4' into 'master'
MacOS and LZ4

See merge request OpenMW/openmw!356
4 years ago
Bret Curtis 06689cfe2a bingo; cleanup 4 years ago
Bret Curtis 8b5aa4c001 try for link overwriting 4 years ago
Bret Curtis c3b464a0c8 brew reinstall lz4; purge /tmp/openmw-deps just in case 4 years ago
Bret Curtis 0719b75307 try to use brew version of lz4 4 years ago
Evil Eye f62905eb0a remove redundant argument 4 years ago
psi29a 09373a757d Merge branch 'radioactive' into 'master'
Container base record mutations

See merge request OpenMW/openmw!353

(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)

275908a0 mutate container base records
16fca11d add changelog entry
4 years ago
psi29a db126a2688 Merge branch 'old-liblz4-fix' into 'master'
Ensure compatibility with old liblz4

See merge request OpenMW/openmw!355
4 years ago
WW d39aef3f5a Changed `LZ4F_dctx*` to `LZ4F_decompressionContext_t` for better compatibility. 4 years ago
Andrei Kortunov 6c591c190b Add support for service-specific refusals (feature #5580) 4 years ago
psi29a 69b52cd702 Merge branch 'layers' into 'master'
Make messageboxes overlap tooltips (bug #5639)

See merge request OpenMW/openmw!341
4 years ago
psi29a 992c82f298 Merge branch 'bsa' into 'master'
Compressed BSA support revisions

See merge request OpenMW/openmw!350
4 years ago
psi29a 7b1cd8a72f use LZ4_1.9.2 instead of LZ4_1.9.2 4 years ago
psi29a 1278d3b784 make sure to use new path and trick caching 4 years ago
psi29a 21a6fed015 Merge branch 'detect-bullet' into 'master'
Use a much simpler and assert-free check for Bullet multithreading support

See merge request OpenMW/openmw!354
4 years ago
psi29a c0e3f1c7ce Update CI/before_script.msvc.sh 4 years ago
psi29a b3e27fae4c use updated msvc lz4 provided by anyoldname3 4 years ago
Alexei Dobrohotov de6d4ab44d Make messageboxes overlap tooltips (bug #5639) 4 years ago
Alexei Dobrohotov 1492ba4a53 Link against LZ4::LZ4 4 years ago
fredzio a036183248 Use a much simpler and assert-free check for Bullet multithreading support 4 years ago
Alexei Dobrohotov d6612eef20 Fix indentation 4 years ago
Alexei Dobrohotov 66d2b9c195 Add Skyrim SE BSA version support
Fix embedded file name loading
4 years ago
Bret Curtis 503bf7f78b added lz4 to our macos deps; let us see if that works 4 years ago
Bret Curtis edd6a329ee tell 7z to extract to specific directory 4 years ago
Bret Curtis e280a36701 correct filename of lz4 archive; fix indentation 4 years ago
Bret Curtis 7954dccb44 lz4 prep work; get linux and windows ready 4 years ago
Nelsson Huotari fb4250a2b7 Strip the plugin index when looking for deleted refs. 4 years ago
psi29a 66c884be65 Merge branch 'android_build_on_gitlab' into 'master'
Android build on gitlab

See merge request OpenMW/openmw!352
4 years ago
psi29a b222872446 Android build on gitlab 4 years ago
Bret Curtis 4e1ca82e47
Merge pull request #3019 from akortunov/warnfix
Fix override warning with MyGUI 3.4
4 years ago
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 4 years ago
Andrei Kortunov d7fadc933f Fix override warning with MyGUI 3.4 4 years ago
psi29a 4adc689c7a Merge branch 'summoncrash' into 'master'
Avoid summon spawn if actor isn't in a cell (bug #5644)

See merge request OpenMW/openmw!351
4 years ago
Alexei Dobrohotov f90e403bc1 Avoid summon spawn if actor isn't in a cell (bug #5644) 4 years ago
psi29a f513ee1f1d Merge branch 'configurable_turning_delay' into 'master'
Makes the delay of turning while run configurable (part of "smooth movement")

See merge request OpenMW/openmw!349
4 years ago
psi29a 9d350ec824 Merge branch 'head_bobbing' into 'master'
Add head bobbing in first person mode

Closes #5043

See merge request OpenMW/openmw!320
4 years ago
Alexei Dobrohotov 4966cd217e Merge branch 'fix_give_way' into 'master'
Use full speed in the "NPCs give way" maneuver.

See merge request OpenMW/openmw!348
4 years ago
Petr Mikheev 9ec6fce446 Makes the delay of turning while run configurable (part of "smooth movement"). 4 years ago
Petr Mikheev c72199155c Use full speed in the "NPCs give way" maneuver. 4 years ago
Bret Curtis 8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
4 years ago
AnyOldName3 bf45bd5802 Merge branch 'macos-runner-beta-fencing' into 'master'
Only use MacOS runners for this project

See merge request OpenMW/openmw!347
4 years ago
AnyOldName3 5e7e14c870 Only use MacOS runners for this project, not forks 4 years ago
AnyOldName3 df178ed97c Merge branch 'container-regressions' into 'master'
Fix container regressions

See merge request OpenMW/openmw!346

(cherry picked from commit b0aee6f83d4cddb0116284b197913f9687dd9cee)

95e7a22d fix container regressions
4 years ago
AnyOldName3 de7bafcbbd Merge branch 'falldamage' into 'master'
Restore fall damage

See merge request OpenMW/openmw!345
4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
fredzio 978af12c2d Restore fall damage 4 years ago
David Cernat a6e825bbeb [Client] Fix logging for Container packets with REQUEST action 4 years ago
David Cernat ea2ea4d382 [Server] Add script function for setting Container subactions 4 years ago
Chris Djali 6326bb7d2e
Merge pull request #3016 from OpenMW/async-msvc2017-fix-final
Fix MSVC 2017
4 years ago
Chris Djali 590635906b
Fix MSVC 2017
Resolves the regression introduced with Async Physics
4 years ago
David Cernat 68837aaf4a Add OpenMW commits up to 15 Oct 2020
# Conflicts:
#   .travis.yml
#   CI/before_script.linux.sh
#   CMakeLists.txt
#   apps/openmw/mwgui/containeritemmodel.cpp
#   apps/openmw/mwgui/tradewindow.cpp
#   apps/openmw/mwphysics/actor.cpp
#   apps/openmw/mwworld/actionteleport.cpp
#   apps/openmw/mwworld/containerstore.cpp
4 years ago
Bret Curtis e5392cabf1
Merge pull request #3013 from OpenMW/macos_target_fix
Resolve 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
4 years ago
Bret Curtis b024518c18 Resolve 'shared_timed_mutex' is unavailable: introduced in macOS 10.12 4 years ago
psi29a c16fa27407 Merge branch 'async-physics' into 'master'
Async physics

See merge request OpenMW/openmw!248
4 years ago
fredzio ae3306c019 Document async physics settings
Add an option to the launcher
Update changelog
4 years ago
fredzio 3c2504b442 Process movement queue in one or several background threads
Before movement calculation, the main thread prepare a
vector of ActorFrameData, which contains all data necessary to perform
the simulation, and feed it to the solver. At the same time it fetches
the result from the previous background simulation, which in turn is
used by the game mechanics.
Other functions of the physics system (weapon hit for instance)
interrupt the background simulation, with some exceptions described
below.

The number of threads is controlled by the numeric setting

[Physics]
async num threads

In case 'async num threads' > 1 and Bullet doesn't support multiple threads,
1 async thread will be used. 0 means synchronous solver.
Additional settings (will be silently switched off if async num threads = 0)

[Physics]
defer aabb update

Update AABBs of actors and objects in the background thread(s). It is not an especially
costly operation, but it needs exclusive access to the collision world, which blocks
other operations. Since AABB needs to be updated for collision detection, one can queue
them to defer update before start of the movement solver. Extensive tests on as much
as one installation (mine) show no drawback having that switched on.

[Physics]
lineofsight keep inactive cache

Control for how long (how many frames) the line of sight (LOS) request will be kept updated.
When a request for LOS is made for the first time, the background threads are stopped to
service it. From now on, the LOS will be refreshed preemptively as part of the background
routine until it is not required for lineofsight keep inactive cache frames. This mean
that subsequent request will not interrupt the background computation.
4 years ago
fredzio 91b3926a49 We need to update the collision world after each step.
Change order of traversal simulation step to make it rare enough to be parallelizable

Before:
for actor in actors:
    repeat numstep:
        solve(actor)
After:
repeat numstep:
    for actor in actors:
        solve(actor)

Introduce struct ActorFrameData to pack all data that is necessary for
the solver
4 years ago
fredzio d76cc5d0a9 Make the Object class manage its collision object and position. 4 years ago
fredzio 4ef36973fb Make the Actor class manage its collision object and position. 4 years ago
fredzio 82da2045a9 Non functionnal changes in preparation for async physics feature 4 years ago
Bret Curtis 425fa837d1
Merge pull request #3012 from akortunov/container_crash
Fix crash on saving
4 years ago
Bret Curtis e65fad2070
Merge pull request #3004 from akortunov/arrow_attach
Attach arrows to actor's hands
4 years ago
Andrei Kortunov c3d84b2c7c Ability to attach arrows to shooter's hands (feature #5642) 4 years ago
psi29a 5c43e015a7 Merge branch 'noobject' into 'master'
Unbreak build with cmake < 3.12

See merge request OpenMW/openmw!344
4 years ago
Andrei Kortunov 8e647aa72a Fix crash on saving 4 years ago
fredzio 4ea07639b8 Unbreak build with cmake < 3.12
This reverts commit 3cadc16f88.
4 years ago
Assumeru 72549651e0
Rework container resolution (#3006)
* Rework container resolution

* add optional argument to getCount

* remove now-redundant changes

* undo worldimp changes

* move save-fixing code to InventoryState

* replace Rng instances with Seeds
4 years ago
Bret Curtis c99be77a32
Merge pull request #3008 from akortunov/strings
Rework fixed strings handling
4 years ago
psi29a 82736f013d Merge branch 'objectlib' into 'master'
Convert components to an object library.

See merge request OpenMW/openmw!342
4 years ago
psi29a 9a912486f9 Merge branch 'deprecated-exception' into 'master'
Use C++11 exception specification

See merge request OpenMW/openmw!343
4 years ago
fredzio 3cadc16f88 Convert components to an OBJECT library. It saves space in the object
directory (about 1G on an optimized build on Windows and BSD).
Build should run somewhat fast as well.
4 years ago
Bret Curtis 11c938b176
Merge pull request #3011 from elsid/navmesh_fixes
Navmesh fixes
4 years ago
psi29a 1274e68e1d Merge branch 'fix_5630' into 'master'
Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat"

Closes #5630

See merge request OpenMW/openmw!339
4 years ago
psi29a ed0bf72119 Merge branch 'menu' into 'master'
Put the main menu below other windows (bug #5622)

See merge request OpenMW/openmw!312
4 years ago
Petr Mikheev 15078f5b3c Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat" 4 years ago
Alexei Dobrohotov b85d507f35 Merge branch 'absorption' into 'master'
Restore empty target check in spell absorption

See merge request OpenMW/openmw!338
4 years ago
Alexei Dobrohotov 1842f546c3 Restore empty target check in spell absorption 4 years ago
fredzio 460e69e92a Get rid of warning: dynamic exception specifications are deprecated 4 years ago
AnyOldName3 341bcb66f5 Merge branch 'macos_shared_runner' into 'master'
MacOS Shared Runners

See merge request OpenMW/openmw!325
4 years ago
Alexei Dobrohotov e930251d92 Merge branch 'godmode' into 'master'
Add many more godmode checks to harmful magic (bug #5633)

Closes #4264

See merge request OpenMW/openmw!336
4 years ago
AnyOldName3 5514c95b23 Merge branch 'debian-cache-bump' into 'master'
Bump Debian cache version numbers

See merge request OpenMW/openmw!337
4 years ago
AnyOldName3 c6eb0dacd3 Bump Debian cache version numbers
This should stop MR builds clobbering the increased size with their tiny
size.
4 years ago
Alexei Dobrohotov 0e8c5c5034 Merge branch 'avoid_collision_update' into 'master'
Update logic of "NPCs avoid collisions"

See merge request OpenMW/openmw!318
4 years ago
Alexei Dobrohotov b85875a354 Ignore Burden effect in god mode 4 years ago
Alexei Dobrohotov 39678c74bf Add many more godmode checks to harmful magic (bug #5633) 4 years ago
Alexei Dobrohotov f8293536e6 Merge branch 'regressions' into 'master'
Fix recent regressions

See merge request OpenMW/openmw!335
4 years ago
Alexei Dobrohotov 05cd005b30 Fix NiTriStripsData loading 4 years ago
Alexei Dobrohotov 0dcb8c6b69 Fix pick/probe uses decrement 4 years ago
AnyOldName3 ea669cc115 Merge branch 'fix-ccache' into 'master'
Increase CCache size for Debian where needed

See merge request OpenMW/openmw!334
4 years ago
AnyOldName3 ef41edba9b Install tools in before_install.osx.sh 4 years ago
AnyOldName3 1aa5e5cc52 Increase CCache size for Debian where needed 4 years ago
Alexei Dobrohotov f04be08327 Merge branch 'revert-bbcfcc88' into 'master'
Revert "RigGeometry: convert some pairs to structs"

See merge request OpenMW/openmw!333
4 years ago
Alexei Dobrohotov 9f08dc9968 Revert "Merge branch 'skinning' into 'master'"
This reverts merge request !327
4 years ago
AnyOldName3 3a39e1f8f8 config was from Windows CI 4 years ago
AnyOldName3 2f1b7c4d2f Rename DMG file 4 years ago
AnyOldName3 da49901dbc Merge branch 'castray' into 'master'
Fix RayCastingResult warning

See merge request OpenMW/openmw!331
4 years ago
Alexei Dobrohotov ec825b2510 Fix RayCastingResult warning 4 years ago
AnyOldName3 c26c43bb73 Merge branch 'cmake' into 'master'
fix cmake warning

See merge request OpenMW/openmw!330
4 years ago
tess 38e567a7e4 match opening and closing if args 4 years ago
tessa 02861fa8e3 fix cmake warning 4 years ago
elsid 7591d45008
Use memcpy to create navmesh key
Implementation with memcpy is ~13 times faster.
4 years ago
elsid f637dc38bd
Add cached flag to update navmesh status 4 years ago
elsid eb140ed15f
Write unknown status numeric value 4 years ago
elsid 7d73e73cad
Consider tile as not removed when it is not found 4 years ago
psi29a bbcfcc8823 Merge branch 'skinning' into 'master'
RigGeometry: convert some pairs to structs

See merge request OpenMW/openmw!327
4 years ago
psi29a c8b3ab68b6 Merge branch 'gitlab_ci_separate_debian_cache' into 'master'
Use separate caches for Debian builds

See merge request OpenMW/openmw!326
4 years ago
Alexei Dobrohotov 6be808e301 RigGeometry: convert some pairs to structs 4 years ago
Petr Mikheev be27b51279 Add head bobbing in first person mode 4 years ago
AnyOldName3 5515bc94b7 Keep logs as artifacts 4 years ago
elsid 63a6541d0e
Use separate caches for Debian builds
Different builds cache different states. Each time cache file is written it
erases the state created by a different type of build.
4 years ago
AnyOldName3 cfd9268a74 Install Qt if missing 4 years ago
AnyOldName3 a47d96ce0b Install CMake on MacOS if it's missing 4 years ago
psi29a c34fd220db Update .gitlab-ci.yml 4 years ago
psi29a ee22081ae1 Merge branch 'nifgobrrrr' into 'master'
More NIF stuff

See merge request OpenMW/openmw!324
4 years ago
psi29a bca698d951 Merge branch 'shader_line_numbering' into 'master'
Correctly resetting line numbering during shader processing.

See merge request OpenMW/openmw!317
4 years ago
Alexei Dobrohotov df1014303d Add more generic extra data NIF types 4 years ago
Alexei Dobrohotov 302d8eed27 Clean up Roll- and FlipController implementation 4 years ago
AnyOldName3 c37af3c555 Merge branch 'AnyOldName3-master-patch-89933' into 'master'
Remove incorrect spaces from filename

See merge request OpenMW/openmw!323
4 years ago
Alexei Dobrohotov 0d02a3392a Clean up 4 years ago
Alexei Dobrohotov e7c37f21b7 Add NiFloatInterpController abstraction 4 years ago
AnyOldName3 683cf8cad5 Remove incorrect spaces from filename 4 years ago
AnyOldName3 c9e3db40a1 Merge branch 'multi-config-build' into 'master'
Add support for multi configurations generators on unix

See merge request OpenMW/openmw!198
4 years ago
fredzio e2a603f6e8 Remove blank space 4 years ago
psi29a 90f51846dd Merge branch 'AnyOldName3-master-patch-49525' into 'master'
Correct screenshot paths in documentation

See merge request OpenMW/openmw!321
4 years ago
AnyOldName3 03b081137a Correct screenshot paths in documentation
These have been wrong since https://github.com/OpenMW/openmw/pull/2787
got merged
4 years ago
Andrei Kortunov 822764d0fa Rework fixed strings handling 4 years ago
psi29a 72ab340374 Merge branch 'nifdefinitions' into 'master'
Introduce some extended NIF definitions

See merge request OpenMW/openmw!319
4 years ago
Alexei Dobrohotov 29ccb09da5 Introduce some extended NIF definitions 4 years ago
Petr Mikheev 2835ea1e21 Update logic of "NPCs avoid collisions" 4 years ago
Alexei Dobrohotov 25b966d58d Merge branch 'master' into 'master'
Hostile Follower issue #5101

See merge request OpenMW/openmw!244
4 years ago
Charles Calhoun 14aacb81c5 Fix follower aggression when traveling. Summoning still has problems but less intrusive than current implementation. 4 years ago
Mads Buvik Sandvei d5450a7d88 Correctly resetting line numbering during shader processing. 4 years ago
psi29a 3040b3b2b6 Merge branch 'issue-5588' into 'master'
Prevent empty right page of journal having invisible topics (Fixes #5588)

Closes #5588

See merge request OpenMW/openmw!310
4 years ago
Kyle Shrader 845049a166 Prevent empty right page of journal having invisible topics (Fixes #5588) 4 years ago
psi29a 54b386fe93 Merge branch 'patch-1' into 'master'
Update install-game-files.rst

See merge request OpenMW/openmw!300
4 years ago
imkirkdouglacus 5215ce45d0 Update install-game-files.rst 4 years ago
psi29a 4b95cb8660 Merge branch '5624' into 'master'
Skip raycasting for zero-length rays

Closes #5624

See merge request OpenMW/openmw!316
4 years ago
AnyOldName3 9e78f3d936 Skip raycasting for zero-length rays
Rays with no length can't intersect anything. This also prevents an
assertion triggering with Bullet built in Debug mode.
4 years ago
psi29a 21fa55de8e Merge branch 'gitlab_tests' into 'master'
Run unit tests in gitlab CI for linux build

See merge request OpenMW/openmw!314
4 years ago
psi29a 2d24e87bcc Merge branch 'nifstuffagain' into 'master'
niffile.cpp cleanup

See merge request OpenMW/openmw!313
4 years ago
elsid 322298e02a
Build with clang in gitlab CI for linux 4 years ago
elsid af95474670
Run unit tests in gitlab CI for linux build 4 years ago
elsid 23fe60a067
Run unit tests in a separate build 4 years ago
psi29a 7cd5940f00 Merge branch 'psi29a-master-patch-58402' into 'master'
Update CI/before_script.msvc.sh

See merge request OpenMW/openmw!315
4 years ago
psi29a 1ddfb18cb3 Update CI/before_script.msvc.sh 4 years ago
Alexei Dobrohotov 4e22c2687f niffile.cpp cleanup 4 years ago
Alexei Dobrohotov 5ab29f26e9 Put the main menu below other windows (bug #5622) 4 years ago
David Cernat 0eedf8fd9f Add OpenMW commits up to 30 Sep 2020
# Conflicts:
#   apps/openmw/mwmechanics/aicombat.cpp
#   apps/openmw/mwmechanics/character.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   components/CMakeLists.txt
4 years ago
psi29a 4faaa86449 Merge branch 'cyclic_includes' into 'master'
More accurate detection of cyclic includes

See merge request OpenMW/openmw!281
4 years ago
psi29a aa4e6c448b Merge branch 'spellabsorption' into 'master'
Support enchantment absorption

See merge request OpenMW/openmw!307
4 years ago
psi29a 60447b27c4 Merge branch 'update_to_gl_deps_for_windows' into 'master'
make switch to using GL hosted windows deps

See merge request OpenMW/openmw!311
4 years ago
Bret Curtis c291bb169e fixed indentation and additional diffs 4 years ago
Bret Curtis 18899394c4 typo in path 4 years ago
Bret Curtis bf7e1bd32b make switch to using GL hosted windows deps 4 years ago
psi29a f1ab519fac Merge branch 'uses' into 'master'
Handle 0-use items like vanilla (bug #5611)

Closes #5611

See merge request OpenMW/openmw!306
4 years ago
psi29a d9dafbe45b Merge branch 'master' into 'uses'
# Conflicts:
#   CHANGELOG.md
4 years ago
psi29a 0438d9d5bb Merge branch 'enchanting' into 'master'
Reset enchant effects displayed range when they are constant (bug #5603)

See merge request OpenMW/openmw!309
4 years ago
psi29a 61b83697f5 Merge branch 'rotation' into 'master'
Add inverse order rotation support to SetAngle (feature #5579)

Closes #5579

See merge request OpenMW/openmw!305
4 years ago
psi29a ad1021721f Merge branch 'master' into 'rotation'
# Conflicts:
#   CHANGELOG.md
4 years ago
elsid 61cf505f41 Merge branch 'smooth_movement' into 'master'
Smooth movement

Closes #4894 and #5610

See merge request OpenMW/openmw!282
4 years ago
Alexei Dobrohotov f2af957647 Reset enchant effects displayed range when they are constant (bug #5603) 4 years ago
Alexei Dobrohotov 8084784828 Merge branch 'del'hruhn-fix' into 'master'
Actually set the uvSet value

Closes #5614

See merge request OpenMW/openmw!308
4 years ago
Alexei Dobrohotov e0a5c24afe Handle 0-use items like vanilla (bug #5611) 4 years ago
AnyOldName3 a338e8c561 Actually set the uvSet value
This got lost when uvSet was made into a local variable.
4 years ago
fredzio ae38b3d9b2 Put the install logic in one place for all platforms 4 years ago
AnyOldName3 be5fd6fd03 Exclude directories correctly
We don't need `/*` as we don't want the directory itself, not just its
contents. We also need to list possible other directories explicitly as
there's currently no way to skip directories without matches.

It would be much nicer if CMake was tracking the DLLs we needed for us.
4 years ago
AnyOldName3 73708a6f2a Install openmw-cs.cfg on single-config generators and from the right directory on multi-config 4 years ago
AnyOldName3 8dd820ba48 Exclude deps 4 years ago
AnyOldName3 d0ddf488db Install PDBs when appropriate 4 years ago
AnyOldName3 db0f7c607f Make Windows install target slightly less breakable 4 years ago
fredzio 87290cf6d1 Add support for multi configurations generators on unix
Since version 3.17 cmake supports the Ninja Multi-Config
No change for Xcode, VS and Ninja "single config"
4 years ago
Petr Mikheev a17fb14b8a Add "smooth movement" and "NPCs avoid collisions" settings to openmw-launcher and to the docs; update CHANGELOG.md. 4 years ago
Petr Mikheev ad51a4be2e Changes in head tracking and greetings for "smooth movement". 4 years ago
Petr Mikheev b838782557 Avoid collisions between actors. 4 years ago
Petr Mikheev 79a72e4b44 Slightly modify aicombat to make it more difficult to get around an enemy. The difference is visible only if turning is slow (i.e. if smooth movement enabled). 4 years ago
Petr Mikheev 6a75942907 Fix CharacterController::setAttackTypeBasedOnMovement 4 years ago
Petr Mikheev bd6b984022 Smoothing speed in CharacterController 4 years ago
Petr Mikheev 71ba94a89a Smooth turning; smooth stopping; combat headtracking 4 years ago
Alexei Dobrohotov f8389c6c37 Support enchantment absorption 4 years ago
Alexei Dobrohotov 387bda5e22 Add inverse order rotation support to SetAngle (feature #5579) 4 years ago
Alexei Dobrohotov acdf4cb5e3
Merge pull request #3007 from akortunov/warnfix
Fix unsugned/signed comparison warning
4 years ago
Andrei Kortunov 7d776609c8 Fix unsugned/signed comparison warning 4 years ago
AnyOldName3 bb2f89b497 Merge branch 'macos-gldebug-hotfix' into 'master'
Disable OpenGL Debug stuff when SDL doesn't provide the necessary definitions

See merge request OpenMW/openmw!304
4 years ago
AnyOldName3 390fb4f12e Disable OpenGL Debug stuff when SDL doesn't provide the necessary definitions 4 years ago
Bret Curtis dd7e964baf
Merge pull request #2999 from akortunov/spellfix
Apply effects during rest before fast-forwarding spells state
4 years ago
psi29a 86c6d9b1b5 Merge branch 'cherry-pick-b3db3875' into 'master'
Merge branch '4771-and-4631' into 'master'

Closes #4631 and #4471

See merge request OpenMW/openmw!303
4 years ago
psi29a 22c3588d0d Merge branch '4771-and-4631' into 'master'
Try lower MSAA level if the requested value isn't available

Closes #4471 and #4631

See merge request OpenMW/openmw!297

(cherry picked from commit b3db387512340a5e9a77427c2d7d9d88c2340056)

da0aef7a Retrieve SDL OpenGL attributes after context creation
a51e63b3 Try lower MSAA levels if OpenGL context doesn't have what we requested
c4e92a0a Update CHANGELOG.md
4 years ago
psi29a 87028e1640 Merge branch 'flipping-heck' into 'master'
Make NiFlipControllers only affect base texture

Closes #2069

See merge request OpenMW/openmw!301
4 years ago
psi29a b4ccd2658a Merge branch 'khr_debug' into 'master'
Khr debug

See merge request OpenMW/openmw!302
4 years ago
Bret Curtis 8f07b7e076
Merge pull request #3005 from Assumeru/dont-search-containers
Don't search containers
4 years ago
AnyOldName3 3f61ff3a44 Make OpenGL debugging optional 4 years ago
AnyOldName3 441c09578a Merge remote-tracking branch 'origin/khr_debug' into khr_debug 4 years ago
AnyOldName3 14740855b5 Merge branch '16-bit-tga-alpha' into 'master'
Discard the alpha channel of 16-bit TGAs, just like Morrowind

See merge request OpenMW/openmw!298
4 years ago
AnyOldName3 f8f72ce4c4 Add changelog entry 4 years ago
AnyOldName3 b2cb98d30e Fix NiFlipController
NiFlipControllers *always* affect the base texture, even if no base
texture is bound. When no base texture is bound, they default to UV set
zero and to having wrapped UV coordinates, instead of using the settings
for the disabled base texture.
4 years ago
Alexei Dobrohotov 8390ba0a0c Merge branch 'fix_5557' into 'master'
Fix #5557

Closes #5557

See merge request OpenMW/openmw!290
4 years ago
Evil Eye fe82cd9f92 Don't search containers 4 years ago
Petr Mikheev 874c754b68 Fix #5557 4 years ago
psi29a 165fa1c376 Merge branch 'multi-config-runtime-resources' into 'master'
Allow setting up multiple build configurations at once

See merge request OpenMW/openmw!296
4 years ago
AnyOldName3 086db32c13 Merge branch 'typo' into 'master'
fix typo in terrainstorage.hpp

See merge request OpenMW/openmw!299
4 years ago
tessa 58b5249e8b fix typo in terrainstorage.hpp 4 years ago
AnyOldName3 85b5fdee35 Discard the alpha channel of 16-bit TGAs, just like Morrowind 4 years ago
Bret Curtis 673f0f4f77
Merge pull request #3003 from akortunov/min_cost
Set a minimum 1gp cost for services
4 years ago
Andrei Kortunov 753ca91556 Set a minimum 1gp cost for services (regression #5600) 4 years ago
AnyOldName3 9e547e14d2 Allow setting up multiple build configurations at once
Also fix some bugs discovered in the process.

For multi-config generators, this basically just copies the DLLs for
each configuration, and for single-config, due to there being separate
build directories with separate extracted dependencies for each, it
defaults to just one, and will run the script several times if you
manually specify several.

Details include:
* Changing CONFIGURATION from a string to an array called
  CONFIGURATIONS. This gets iterated over in a bunch of places.
* Fixing a typo of 'cannot'
* Making the DLL lists arrays per-config, too.
* Some handling for the recursive stuff and a warning if configurations
  are set with a multi-config generator.
* Moving the configuration name sanitisation after they've been set.
* Myriad changes to Google Test:
  - Build it in a directory specific to the build tools - previously,
    having an MSVC 2017 and MSVC 2019 build on the same machine was
    impossible if unit tests were on, even though it's allowed otherwise
  - Use either Debug or Release Google Test as its finder isn't looking
    for RelWithDebInfo or capable of dealing with it if we try and use
    it anyway.
  - Always build Google Test with MSBuild as it's much less hassle due
    to CMake setting up the environment for us. Currently, MSVC always
    comes with something that can build solution files, no matter how
    you get it, so this shouldn't upset anyone.
  - Use CMake's --install mode so we can set the install prefix in the
    place that uses it.
  - Pass CMake both Debug and Release Google Test instead of risking a
    C/C++ library configuration mismatch causing linker and runtime
    errors - it'll pick a suitable one for each configuration.
  - Pass the library type explicitly as CMake can't cope without a
    Release library if you only gave it Debug, due to accessing a
    Release-specific variable unconditionally.
* Remove the -legacy flag from vswhere as it's only needed for MSVC
  2015, which we don't support any more.
* Fix the -version argument for vswhere as I'd massively cocked it up.
  I don't know how that happened as I did test it on a machine with
  multiple MSVC versions installed, which was the failure case, but it
  didn't fail then.
4 years ago
AnyOldName3 ffed6acc49 Merge branch 'patch-1' into 'master'
force static data variance for water geometry

See merge request OpenMW/openmw!294
4 years ago
AnyOldName3 02a4489278 Merge branch 'cmake-ipo' into 'master'
Use CMake's system for IPO/LTO

Closes #5265

See merge request OpenMW/openmw!293
4 years ago
Alexei Dobrohotov 99ab629a03
Merge pull request #2995 from akortunov/arrows
Improve ammo resetting
4 years ago
Mads Buvik Sandvei 2d021430b8 force static data variance for water geometry 4 years ago
Andrei Kortunov c9f0e4b62a
Merge pull request #3000 from akortunov/swish
Do not use swish sound for ranged weapons
4 years ago
Andrei Kortunov bf1c4c7af3
Merge pull request #3002 from akortunov/multiple_effects
Fix SummonKey comparison function
4 years ago
Andrei Kortunov 9f1fbd56a3 Fix SummonKey comparison function 4 years ago
AnyOldName3 f4db29a717 Kill BUILD_CONFIG
It was basically just CONFIGURATION but less confusing. CONFIGURATION
could just be less confusing.
4 years ago
AnyOldName3 643db61dfb Make warnings more informative. 4 years ago
AnyOldName3 1dcea961c6 Only enable LTO for release
This is how it was for the original implementation
4 years ago
Eli2 257a6b4629 Use cmake method to enable interprocedural optimizations 4 years ago
AnyOldName3 dc34380f62 Merge branch '5570-fix' into 'master'
Unpin CMake version now latest is fixed

Closes #5570

See merge request OpenMW/openmw!292
4 years ago
AnyOldName3 a251461045 Unpin CMake version now latest is fixed 4 years ago
Andrei Kortunov f9ca08a984 Do not use swish sound for ranged weapons 4 years ago
Andrei Kortunov 787ca06d55 Apply effects during rest before fast-forwarding spells state 4 years ago
Bret Curtis 53e581fe10
Merge pull request #2899 from akortunov/multiple_effects
Track magic effect index for summoning
4 years ago
Bret Curtis 009c18a97d
Merge pull request #2998 from akortunov/crashfix
Avoid crash when object paging encounters an empty shape
4 years ago
Andrei Kortunov 7a4efe3979 Avoid crash when object paging encounters an empty shape 4 years ago
AnyOldName3 f5f59c1149 Merge branch 'fix_5586' into 'master'
Fix #5586

Closes #5586

See merge request OpenMW/openmw!291
4 years ago
Petr Mikheev 7e3d19196d Fix #5586 4 years ago
Andrei Kortunov 54f678b172
Merge pull request #2997 from Assumeru/dude-wheres-my-var
Fix unused template argument
4 years ago
Evil Eye 131bd5c91d Fix unused template argument 4 years ago
David Cernat 80af0ce6a7 Add OpenMW commits up to 29 Aug 2020
# Conflicts:
#   CMakeLists.txt
#   apps/openmw/mwmechanics/character.cpp
4 years ago
Andrei Kortunov 70e3341954
Merge pull request #2996 from akortunov/master
Fix failed assertion
4 years ago
Andrei Kortunov 9189a42c4c Fix failed assertion 4 years ago
Andrei Kortunov 67eace1028 Use struct instead of tuple 4 years ago
Andrei Kortunov 924f634bda Support for multiple summons with same ID in the single spell 4 years ago
Andrei Kortunov 47af221f10 Reset ammo when switching view to avoid warnings spam 4 years ago
Andrei Kortunov 297898182b Reset attached arrow in the beginning of unequipping animation 4 years ago
psi29a b4ac1e1498 Merge branch 'dont-leak-bash-settings' into 'master'
Don't leak bash settings from activate_msvc.sh

See merge request OpenMW/openmw!288
4 years ago
Bret Curtis 7ee5526dbf
Merge pull request #2993 from akortunov/warnfix
Fix MSVC warnings
4 years ago
David Cernat f568220abc [Client] Initialize DedicatedPlayers in placeholder interior cell 4 years ago
David Cernat 9c7f5410a5 [Client] Add exception handling to CellController::isSameCell() 4 years ago
Bret Curtis 31bdf9f41d
Merge pull request #2994 from OpenMW/test
resolve sync issue between GH/GL
4 years ago
Petr Mikheev c495c21923 Merge branch 'movement_refactoring' into 'master'
Refactoring related to "smooth movement"

See merge request OpenMW/openmw!285

(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)

e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
4 years ago
psi29a 26c38ecb46 Merge branch 'cherry-pick-6eaf0a38' into 'master'
Merge branch 'movement_refactoring' into 'master'

See merge request OpenMW/openmw!287
4 years ago
psi29a f90a049702 Merge branch 'movement_refactoring' into 'master'
Refactoring related to "smooth movement"

See merge request OpenMW/openmw!285

(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)

e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
4 years ago
psi29a 51bec5948f Merge branch 'sdl-error-message-fix' into 'master'
SDL resolution list fixes in launcher graphics page

Closes #5558

See merge request OpenMW/openmw!286
4 years ago
AnyOldName3 70384d8a83 Restore previous bash settings on exit 4 years ago
AnyOldName3 b71f13965a Don't set pipefail 4 years ago
AnyOldName3 a495888d3d Get per-monitor resolution list while SDL is alive 4 years ago
AnyOldName3 5538fea1d1 Display standard resolutions on single-monitor machines 4 years ago
Andrei Kortunov f9e667dd8c Fix MSVC warnings 4 years ago
AnyOldName3 b60d5904e2 Correct SDL_GetNumVideoDisplays error message
It logged the wrong function
4 years ago
David Cernat 3c4d78e496 [Server] Send ActorAuthority packets to all clients 4 years ago
Bret Curtis 74ba6197ce
Merge pull request #2991 from akortunov/launcher
Use two columns when there is too many checkboxes in launcher's tab
4 years ago
elsid 80e23536cb Merge branch 'camera_refactoring' into 'master'
Camera refactoring

See merge request OpenMW/openmw!271
4 years ago
Andrei Kortunov 7c9497c4de Use two columns when there is too many checkboxes in launcher's tab 4 years ago
psi29a a740b77b3d Merge branch 'shadow-uniform-thread-safety' into 'master'
Shadow uniform thread safety

Closes #5026

See merge request OpenMW/openmw!284
4 years ago
AnyOldName3 9d083ae8de Merge branch 'small_fixes' into 'master'
move project/cmake to top; set OpenGL_GL_PREFERENCE to LEGACY since we use GL2...

See merge request OpenMW/openmw!266
4 years ago
Andrei Kortunov 8e566fa7ab
Merge pull request #2989 from Capostrophic/tabs
Make Advanced tab of the launcher look okay for everyone again
4 years ago
AnyOldName3 fd14dad789 const osg::ref_ptf reference should be faster than value as constructor and destructor are non-trivial
I played around in GodBolt and got into an argument to determine this. The difference will be immeasurably small, but my curiosity has been satisfied.
4 years ago
AnyOldName3 707204133d Double-buffer shadow uniforms that change each frame 4 years ago
AnyOldName3 ce98d7053b Double buffer view-dependent data stateset 4 years ago
AnyOldName3 98b2d5d921 Make shadow debug HUD thread-safe
* Double buffer the frustum uniforms.
* Don't mess with the debug geometry's StateSet.
* Change two-element vectors to arrays so the size is explicit.
4 years ago
David Cernat 89da1f39fb [Client] Implement stable cell resets 4 years ago
Alexei Dobrohotov 5c37b5bc4b
Merge pull request #2990 from akortunov/serialize
[Regression] Fix crash for ShowSceneGraph
4 years ago
Andrei Kortunov 215ddb9106 Do not print warnings for VisController 4 years ago
Andrei Kortunov 7f342374fc Fix crash when using 'showscenegraph 1' console command 4 years ago
David Cernat 741553dc00 [Client] Fix spacing for sound records in mwmp::Worldstate 4 years ago
AnyOldName3 b29d313bc2 Merge branch 'chocolatey-proxy' into 'master'
Add OpenMW Chocolatey proxy as source

See merge request OpenMW/openmw!283
4 years ago
David Cernat fc26e9bbc1 [Client] Remove urm's broken (by his own admission) cell reset attempt 4 years ago
David Cernat c6852f49ba [Client] Add another validity check to CellController::updateLocal() 4 years ago
David Cernat e4529af0a7 [Client] Make cell record overrides for current cell more stable 4 years ago
David Cernat 9a83108fe5 [Client] Add uninitializeCell() method to CellController 4 years ago
AnyOldName3 f7d28445f7 Add l to match typo in real URL 4 years ago
AnyOldName3 35d9ef355a Specify full repository URL 4 years ago
AnyOldName3 3497dcce76 Add OpenMW Chocolatey proxy as source 4 years ago
Capostrophic c436f29a1e Make Advanced tab of the launcher look okay for everyone again 4 years ago
Bret Curtis a9cf82c7d0
Merge pull request #2988 from Capostrophic/pursue
AIPursue: don't do a LOS check
4 years ago
Capostrophic a0ca7c4b43 AIPursue: don't do a LOS check
Properly resolve #4774
4 years ago
David Cernat c87a383bee [Client] Simplify MWWorld::Cells::clear() & make it work w/ exteriors 4 years ago
psi29a f73aa9f27a Merge branch 'launcher_update' into 'master'
Add more settings to openmw-launcher

See merge request OpenMW/openmw!272
4 years ago
Petr Mikheev 6a4fa8a8b5 Add more settings to openmw-launcher 4 years ago
Bret Curtis 05a19f4f93
Merge pull request #2984 from Capostrophic/optimizer
Avoid optimizing animated shapes once again (regression #5565)
4 years ago
Bret Curtis 30b8e6eda9
Merge pull request #2987 from Capostrophic/bezier
Add quadratic interpolation for scalars and vectors (part of #2379)
4 years ago
Bret Curtis 32e7b78cb9
Merge pull request #2985 from Assumeru/master
Fix regression #5572
4 years ago
Evil Eye fb28d27d08 don't discard purged effects 4 years ago
Chris Djali 5311956bc3
Merge pull request #2986 from Capostrophic/msvc
Fix AppVeyor warnings
4 years ago
Capostrophic aa131262ea Implement quadratic interpolation for scalars and vectors 4 years ago
Capostrophic 35de34c019 Don't clamp GeomMorpherController recovered weight value
Seems that Morrowind doesn't do it.
4 years ago
Capostrophic a211527b4b Fix AppVeyor warnings 4 years ago
David Cernat ce5df6d185 [CI] Fix .travis.yml 4 years ago
Petr Mikheev 0de6650add Add RayCastingInterface 4 years ago
David Cernat bcb7568ac6 [Client] Add cellStore validity check to CellController::updateLocal() 4 years ago
David Cernat 94dc6f422a [Client] Use temporary holding interior when changing current cell record 4 years ago
Mads Buvik Sandvei 0d6be9bd18 More accurate detection of cyclic includes 4 years ago
Petr Mikheev e9b2e9b474 Remove camera stuff from RenderingManager 4 years ago
Petr Mikheev 694e0b5906 Refactoring. Simplification of camera interface. 4 years ago
Petr Mikheev ed3426cf2f Move third person camera collision check from World::updatePlayer() to Camera::updatePosition() 4 years ago
AnyOldName3 5c7ecb865c Merge branch 'resize_breaks_window' into 'master'
Resize breaks the sdl window in some cases

See merge request OpenMW/openmw!263
4 years ago
Capostrophic 8c213cbfb1 Avoid optimizing animated shapes once again (regression #5565) 4 years ago
Mads Buvik Sandvei 045b4566dd Merge branch 'master' into 'resize_breaks_window' 4 years ago
Mads Buvik Sandvei 243638665b Update CHANGELOG.md 4 years ago
Alexei Dobrohotov eed8902380
Merge pull request #2982 from Assumeru/explain
Comments to explain the arcane workings of Morrowind
4 years ago
David Cernat 958be0b114 [Client] Add logging for invalid attempts at getting creature stats 4 years ago
Bret Curtis 2e05b5a4ee
Merge pull request #2983 from Assumeru/spell-regression
Fix #5566
4 years ago
psi29a 93d6d202fc Merge branch 'tune_autoswitch' into 'master'
Tune algorithm of "auto switch shoulder"

See merge request OpenMW/openmw!280
4 years ago
psi29a 0414170a2f Merge branch 'ninja-fix' into 'master'
Avoid using CMake 3.18.1 for Ninja builds to see if that fixes Windows_Ninja_CS_RelWithDebInfo

See merge request OpenMW/openmw!279
4 years ago
Petr Mikheev ca4330f753 Tune algorithm of "auto switch shoulder" 4 years ago
Evil Eye 144a7f330f Fix a regression that meant missing spells would prevent a save from being loaded 4 years ago
David Cernat baa9446cd1 Add OpenMW commits up to 4 Aug 2020 4 years ago
AnyOldName3 02167474cf Avoid using CMake 3.18.1 for Ninja builds to see if that fixes Windows_Ninja_CS_RelWithDebInfo 4 years ago
AnyOldName3 c72fda7ecc Merge branch 'secure-deps' into 'master'
Verify certificates when downloading dependencies

See merge request OpenMW/openmw!278
4 years ago
psi29a a753dc74b1 Merge branch 'restore-gamepad-zoom' into 'master'
Restore Gamepad Zooming

See merge request OpenMW/openmw!276
4 years ago
Perry Hugh 4bf24a955e Restore Gamepad Zooming 4 years ago
AnyOldName3 cbb5549964 Merge branch 'patch-1' into 'master'
addLineDirectivesAfterConditionalBlocks move check for npos to catch all npos

See merge request OpenMW/openmw!277
4 years ago
Mads Buvik Sandvei 2ed12a398d addLineDirectivesAfterConditionalBlocks move check for npos to catch all npos 4 years ago
descawed 58e0b34adc Verify certificates when downloading dependencies 4 years ago
Bret Curtis 1995e43b46
Merge pull request #2980 from Assumeru/heritage
Make scripts inherit variables from the base record
4 years ago
David Cernat 0e51816c09 Merge branch 'authors_project_leader_update' into 'master'
Update AUTHORS with project leader history & special mention for scrawl

See merge request OpenMW/openmw!270
4 years ago
unknown f5638fec1e add a changelog entry 4 years ago
Bret Curtis 1b3f5d4f0d
Merge pull request #2981 from akortunov/refactoring
Use more C++11 in the scripting system code
4 years ago
unknown 073a7f2b2d Comments to explain the arcane workings of Morrowind 4 years ago
Andrei Kortunov 9f349e8d91 Use more C++11 in the scripting system code 4 years ago
Andrei Kortunov cd4d3389a4
Merge pull request #2978 from Capostrophic/transform
Don't encapsulate NIF transformation changes
4 years ago
Capostrophic 3d31d21bc2 Don't encapsulate NIF transformation changes
Currently that causes issues
4 years ago
unknown b39f35d805 inherit variables 4 years ago
Bret Curtis 72b63ed140
Merge pull request #2954 from Assumeru/basespells
Mutate base records when adding/removing spells
4 years ago
psi29a 3cb69e8fa5 Merge branch 'clearinfoactor' into 'master'
Properly handle ClearInfoActor (#5548)

Closes #5548

See merge request OpenMW/openmw!274
4 years ago
Frederic Chardon 12ee42c6f3 Update mLastTopic before executing scripts. In case the script contains ClearInfoActor it erase not the correct topic.
Other correction not linked with the bug:
- reset mActorKnownTopicsFlag at the same time as mActorKnownTopics
- don't call updateTopics in addResponse, it is already handled by the response
callback
4 years ago
unknown e27858cfab these were supposed to be included 4 years ago
Evil Eye 6ad20ec9c7 Mutate base records when adding/removing spells 4 years ago
Bret Curtis ae1af0e103
Merge pull request #2972 from Assumeru/non-unique-additem
Mutate base record when calling add/remove item on non-unique actors
4 years ago
David Cernat 4560267298 [General] Track the client scripts that Object packets originate from 4 years ago
Bret Curtis e0655841e1
Merge pull request #2962 from Capostrophic/nifcleanup
More NIF-related cleanup
4 years ago
Bret Curtis d197e2887b
Merge pull request #2977 from Capostrophic/simplewater
Make a horrible simple water hack less horrible
4 years ago
Bret Curtis 82a45eb6ae
Merge pull request #2976 from Capostrophic/unconscious
Add option to always allow stealing from KO'd actors (feature #5545)
4 years ago
psi29a 9aff51ed75 Merge branch 'launcher_add_spacer' into 'master'
Add vertical spacers to files/ui/graphicspage.ui

See merge request OpenMW/openmw!269
4 years ago
Petr Mikheev 65c92b6488 Add alignment="Qt::AlignTop" to files/ui/graphicspage.ui 4 years ago
Capostrophic 03f0bd3df6 Make a horrible simple water hack less horrible 4 years ago
Bret Curtis a74f7bbcbe
Merge pull request #2975 from Capostrophic/pickpocket
Fix pickpocketing sneaking stance check
4 years ago
Bret Curtis b0c4336577 update DejaVuFontLicense entry 4 years ago
David Cernat 2cb16e778c [General] Use clearer method name for tracking InterpreterContext type 4 years ago
David Cernat 63480a0012 [Client] Use DetourNavigator for local actors, working around c1ebd9474b 4 years ago
Capostrophic 9c930e38fa Add option to always allow stealing from KO'd actors (feature #5545) 4 years ago
Bret Curtis aa094b568e
Merge pull request #2974 from Capostrophic/documentation
Update documentation
4 years ago
Bret Curtis 584fcd4716 Merge branch 'master' of github.com:OpenMW/openmw 4 years ago
Capostrophic cc6e4ad215 Fix pickpocketing sneaking stance check 4 years ago
Evil Eye 040a92c373 implement additem/removeitem for non-unique actors 4 years ago
David Cernat 57734c172b [Client] Retain AiPursue for guards ignoring player because of dialogue
In OpenMW, guards starting combat with the player cause other guards with an AiPursue package to also join the combat in MechanicsManager::startCombat(). Previously, however, TES3MP was discarding AiPursue packages for the guards who hadn't started the arrest dialogue with the player by returning the wrong boolean in AiPursue::execute(), leading to just one-on-one combat with the arresting guard.
4 years ago
Capostrophic c4eb50d17f Update documentation
Document distant fog
Make colored topic functionality documentation clearer
Update the status of screenshot format tweakability
4 years ago
Capostrophic 46825e8a4d Move NIF record index back to a separate user object
This makes sure it's never erroneously optimized out. NodeIndexHolders don't need to be cloned as their record index is never supposed to be changed.
4 years ago
Capostrophic f93655e803 Encapsulate NIF transform changes in NifOsg::MatrixTransform 4 years ago
Capostrophic ad87289d59 Fix NifOsg::MatrixTransform constructor inheritance 4 years ago
Capostrophic cc791af0f5 Serialization fixes
Make sure NifOsg::MatrixTransform serialization behaves as intended
Add a dummy serializer for NifOsg::UVController
4 years ago
Capostrophic 3b55d657e5 CopyRigVisitor: Log the number of parents in multiple parents error 4 years ago
Capostrophic a61267f57d Replace NodeUserData with a custom transform node 4 years ago
Capostrophic 4c9cefefdd Get rid of NifOsg::CollisionSwitch 4 years ago
psi29a 899966f0d3 Merge branch 'Launcher-CodePatch-Tab' into 'master'
Add a new tab in the launcher app to handle code patch options.  #5519

See merge request OpenMW/openmw!258
4 years ago
Bret Curtis 224923d6c8 update appdata license and dejavufont license file 4 years ago
David Cernat 71b00da289 Update AUTHORS with project leader history & special mention for scrawl 4 years ago
David Cernat ff10aa816b Add OpenMW commits up to 25 Jul 2020
# Conflicts:
#   .travis.yml
4 years ago
CedricMocquillon 1ff2256bc1 Update changelog 4 years ago
CedricMocquillon 1f4f10c723 Add a tab level in advanced settings 4 years ago
psi29a fc7266d4ee Merge branch 'Improve-cell-name-autocompleter-implementation' into 'master'
#5520 Improve cell name autocompleter implementation

See merge request OpenMW/openmw!267
4 years ago
Cédric Mocquillon 2e27de027e Add members in AdvancedPage class to avoid memory leak when the list of cells names is updated as we recreated a completer at each notification event 4 years ago
Bret Curtis 21ee1ed317
Merge pull request #2973 from akortunov/refactoring
Use more C++11 loops in game mechanics code
4 years ago
psi29a e4de306d5b Merge branch 'settings_vector' into 'master'
Support vectors in settings.cfg

See merge request OpenMW/openmw!268
4 years ago
Andrei Kortunov e6036e13b9 Use more C++11 loops in game mechanics code 4 years ago
Petr Mikheev 8cdc7031f5 Support vectors in settings.cfg 4 years ago
Nikolay Kasyanov 3be1cdef33
[macOS, CI] Use Xcode 11.6 (#2970)
* [macOS, CI] Use Xcode 11.6

* [macOS, CI] Enable OpenCs build and see how it goes

* [macOS, CI] Re-enable package build and check
4 years ago
Mads Buvik Sandvei 90c3089370 Update sdlvideowrapper.cpp 4 years ago
elsid 49b78ef463 Merge branch 'preview_mode2' into 'master'
Improved preview and vanity mode

See merge request OpenMW/openmw!261
4 years ago
Petr Mikheev 62c8ea373b Fix not completely correct camera transition when switching from 1st person to 3rd person if armed. 4 years ago
Petr Mikheev d78b227670 Fix inverted preview rotation when using controller 4 years ago
Petr Mikheev 2e6aa155a3 New settings 'preview if stand still' and 'deferred preview rotation'. 4 years ago
Petr Mikheev 9f850b6ffc Move deferred rotation logic from renderingmanager.cpp to camera.cpp 4 years ago
Petr Mikheev 63cab4052d Refactoring in mwrender::Camera. enum for normal/preview/vanity mode. 4 years ago
David Cernat 58d8367cb0 [Client] Handle input from server-sent custom messageboxes less hackily 4 years ago
Petr Mikheev 8ac7ffc32b Remove 'separate preview camera' and make the new behavior the default one.
Also minor refactoring in camera.cpp
4 years ago
David Cernat eb1641dd86 [Client] Fix crashes caused by current modals with invalid widgets 4 years ago
Petr Mikheev 4d206d2c67 Improved preview mode 4 years ago
elsid c3b581131d Merge branch 'third_person_fix' into 'master'
Minor fixes for 'view over shoulder'

See merge request OpenMW/openmw!265
4 years ago
psi29a f824965fca Merge branch 'camera_smooth_zoom_out' into 'master'
Camera can pull out after clearing obstruction instead of instant snapback.

See merge request OpenMW/openmw!264
4 years ago
Bret Curtis e40b309d83 move project/cmake to top; set OpenGL_GL_PREFERENCE to LEGACY since we use GL2 and GLNVD is for GL3 and up (https://github.com/openscenegraph/OpenSceneGraph/issues/639); set our RTD to point to stable and not master, stable follows our latest stable release 4 years ago
Petr Mikheev 8ac143c983 Camera can pull out after clearing obstruction instead of instant snapback. 4 years ago
Petr Mikheev 68148f5ec7 1. Skip smooth camera transition after changing cell; 2. Fix 'zoom out when move' for extremely high speed; 4 years ago
Bret Curtis a890c951bc
Merge pull request #2966 from elsid/sound_init
Refactor sound initialization
4 years ago
elsid 9240833bda
Init sound by a single object 4 years ago
Bret Curtis a83b32074f
Update CHANGELOG.md 4 years ago
Mads Buvik Sandvei 8323f7f68d Alternative fix 4 years ago
Bret Curtis 74c67218e4
Merge pull request #2968 from elsid/fix_flee_cliff_racers
Adjust actor rotation when flee by axis x (bug #5531)
4 years ago
AnyOldName3 7ea1eac115 Merge branch 'yet-another-windows-shared-runner-attempt' into 'master'
[Review pls] Try enabling Windows Shared Runners again.

See merge request OpenMW/openmw!249
4 years ago
Mads Buvik Sandvei 8aa57a745a Fix 4 years ago
Bret Curtis e98ae3262e
Merge pull request #2969 from akortunov/scripts
Resume failed scripts execution after game reload
4 years ago
Andrei Kortunov b05d071e69 Resume failed scripts execution after game reload (feature #5524) 4 years ago
AnyOldName3 cd4ab320d8 Don't bother trying to set a PowerShell array from YAML
Just set a string and split it in the script.
4 years ago
AnyOldName3 000b52fc05 Swap quotes around 4 years ago
elsid b7c1c52439
Adjust actor rotation when flee by axis x
Otherwise Cliff Racers can go underwater.
4 years ago
AnyOldName3 1720e2e1fd CI kick 4 years ago
AnyOldName3 a03fd03302 YAML wants lots of quotes 4 years ago
AnyOldName3 a43766bbc8 Try removing bashism reliance 4 years ago
AnyOldName3 5549ddab97 Split CS into separate jobs so build time is less tight.
Now we have twelve Windows jobs. Yay!
4 years ago
AnyOldName3 6a8e736bd2 Revert "Time commands"
This reverts commit c132646b97.
4 years ago
David Cernat d3f23220de [Client] Only require cellStore for ConsoleCommand packets with objects 4 years ago
elsid bcd526b706 Merge branch 'third_person_new' into 'master'
Further improvements of "view over shoulder"

See merge request OpenMW/openmw!237
4 years ago
AnyOldName3 c132646b97 Time commands 4 years ago
AnyOldName3 0d1fb31358 Revert "Revert "Build the CS again.""
Maybe the reduced cache makes it fit.

This reverts commit 20859bbc50.
4 years ago
AnyOldName3 7676a36b32 Time a build with the reduced cache 4 years ago
Bret Curtis a5da59e840
Merge pull request #2967 from Capostrophic/casesensitivity
Fix search filter unicode character case sensitivity
4 years ago
Petr Mikheev 383fa3d3ab Make 'zoom out when move' configurable. 4 years ago
Petr Mikheev 173c1fdabb Make transition in 'auto switch shoulder' smoother. 4 years ago
Petr Mikheev 51173ebcf5 Refactoring. Move all code related to 'view over shoulder' to a separate file. 4 years ago
Petr Mikheev 5bdf61a886 Slightly pulls camera away when the character moves 4 years ago
Petr Mikheev ef03f2c033 Auto switch shoulder 4 years ago
Petr Mikheev 5675d6ce81 Generalize calculation of focal point offset for 3rd person camera.
When player swim, the view slowly switches from "over shoulder" to "above head".
New functions to switch shoulder.
4 years ago
Capostrophic 65ac0c86b8 Fix search filter unicode character case sensitivity 4 years ago
AnyOldName3 5934a9d145 Actualy build the reduced cache.
It looks like cache is only invalidated if new files are added, not old ones removed.
4 years ago
AnyOldName3 6f3e87ce69 Cache less stuff to avoid duplicate entries.
This might make everything faster if we're network-bound.
4 years ago
AnyOldName3 20859bbc50 Revert "Build the CS again."
There wasn't enough time.

This reverts commit 22c5c7a96e.
4 years ago
Andrei Kortunov f12123a172
Merge pull request #2965 from Assumeru/startscript-regression
Fix a regression caused by #2648 (fixes #5513)
4 years ago
Evil Eye 271f7040a6 Fix a regression caused by #2648 (fixes #5513) 4 years ago
Andrei Kortunov 7f936e4cde
Merge pull request #2961 from akortunov/move
Do not use outdated references when moving objects to new cells
4 years ago
AnyOldName3 22c5c7a96e Build the CS again.
Maybe this will work now the cache isn't trash
4 years ago
AnyOldName3 ef451fa266 Revert "Runner now supports sensible globbing patterns" & "Maybe this will make globbing work"
Runner *actually* only supports sensible globbing patterns for cache,
not artifacts.

This reverts commits 24129e8a54 and 094f0d1772.
4 years ago
AnyOldName3 094f0d1772 Maybe this will make globbing work 4 years ago
Bret Curtis 3acb84f4d5
Merge pull request #2964 from elsid/osg_rendering_stats
Report OSG rendering stats to file
4 years ago
Roman Siromakha 0f6badc581
Merge pull request #2958 from akortunov/statswatcher
Corrections for StatsWatcher
4 years ago
David Cernat 39e429c9eb Add OpenMW commits up to 11 Jul 2020
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
4 years ago
AnyOldName3 24129e8a54 Runner now supports sensible globbing patterns 4 years ago
AnyOldName3 699ec9e06e separate caches for MSBuild and Ninja 4 years ago
Andrei Kortunov 78627d66bc
Merge pull request #2963 from elsid/fix_particle_tsan
Add bug #4764 to changelog
4 years ago
Andrei Kortunov da791590ac Update HUD icons during mechanics update again to avoid crashes 4 years ago
elsid db0ad8421f
Report OSG rendering stats 4 years ago
elsid bdf215d1a9
Add bug #4764 to changelog 4 years ago
Andrei Kortunov 58e3900ea0 Avoid redundant call 4 years ago
AnyOldName3 81aed34588 variables should be a hash of key value pairs 4 years ago
AnyOldName3 3862f0d10a Migrate variable names
Some of the built-ins were deprecated/removed
4 years ago
AnyOldName3 a9e6bf11c2 Configurations (via inheritance) 4 years ago
Bret Curtis 9124a18bb6
Merge pull request #2959 from elsid/fix_particle_tsan
Fix TSAN warnings for ripples emitter (bug #4764)
4 years ago
Andrei Kortunov db8f0ad6fd Do not use outdated references when moving objects to new cells (bug #5387) 4 years ago
elsid a4e3f32ec8
Fix TSAN warnings for ripples emitter
While main thread creates particles rendering thread draws them so
sychronization is required.
4 years ago
psi29a b372ac9119 Merge branch '#5493_better_handle_objects_across_cells' into 'master'
Resolve #5493 by better supporting objects that are placed across cells.

Closes #5493

See merge request OpenMW/openmw!260
4 years ago
AnyOldName3 c29a1c2567 ninja: error: unknown target 'openwm', did you mean 'openmw'? 4 years ago
AnyOldName3 1bb54a28bc Build fewer targets
Most importantly, skip the CS. This should bring the build time under an hour.
4 years ago
AnyOldName3 38f1eae575 Merge remote-tracking branch 'upstream/master' into yet-another-windows-shared-runner-attempt 4 years ago
Bret Curtis 4a17bf27a3 Set BULLET_ROOT via add_cmake_opts like we do the rest 4 years ago
psi29a 15c5cf42c0 Merge branch '#5517_ag_rotate_object_fix' into 'master'
Resolves #5517 by removing the object being rotated from the paging system.

Closes #5517

See merge request OpenMW/openmw!259
4 years ago
Bret Curtis f47d2bb8af make sure we use case-sensative BULLET_ prefix 4 years ago
psi29a 7300496a5f Delete FindFreetype.cmake; as it is provided by cmake as of 3.0.2 and we require 3.1.0. 4 years ago
psi29a 5c3496fb15 Delete FindBullet.cmake; we use cmake's version which has been available since 3.0.2 and we have a requirement of 3.1.0
https://cmake.org/cmake/help/v3.0/module/FindBullet.html
4 years ago
psi29a 721e659d37 Update CHANGELOG.md 4 years ago
psi29a 8f86617262 Merge branch 'master' into 'master'
Fixed passed indexes for object deletion #5384

See merge request OpenMW/openmw!196
4 years ago
psi29a c3a44212c7 Merge branch 'player_resurrection_spell_fix' into 'master'
Don't clear spells for a dead player, preventing resurrection problems

See merge request OpenMW/openmw!207
4 years ago
Andrei Kortunov 8517737ac0 Merge branch 'camera_dist_setting' into 'master'
New setting "third person camera distance"

See merge request OpenMW/openmw!241
4 years ago
David Cernat c56cd7c221 [General] Implement PlayerSpellsActive packet, part 1
Additions and removals of the local player's active spells can now be saved to and loaded from the server.
4 years ago
Bret Curtis fd61ebf6ab remove big white blob of space 4 years ago
Petr Mikheev 280862f58b New setting "third person camera distance" 4 years ago
bzzt lost a hitlab login 4ea018c594 Should resolve #5493 by better supporting objects that are placed across cells. 4 years ago
Bret Curtis bbba524a6c Resolves #5517 by removing the object being rotated from the paging system. 4 years ago
psi29a 46db69a349 Merge branch 'swimming' into 'master'
Swimming-related fixes

See merge request OpenMW/openmw!247

(cherry picked from commit 8be328ef80f29e9692e29d24beefa8ced16537a7)

738c71fd Extend the "turn to movement direction" mode for swimming up and down.
10d3e82b New setting "swim upward coef"
4 years ago
Andrei Kortunov e335dc8b8a
Merge pull request #2957 from elsid/sound_lookup_when_fade_out
Lookup sound when need to fade out
4 years ago
elsid 1c9ce03575
Lookup sound when need to fade out 4 years ago
Andrei Kortunov 700f70595f
Merge pull request #2956 from elsid/sound_reoder_conditions
Check distance to object before load sound
4 years ago
elsid 41434f26a6 Merge branch 'Fix-Trainers-Issue-5486' into 'master'
Trainers training skills based on base skill issue #5486

See merge request OpenMW/openmw!257
4 years ago
elsid 624baa6d89
Check distance to object before load sound 4 years ago
CedricMocquillon d76b81a4a4 Update changelog 4 years ago
CedricMocquillon e51191b5ca Update documentation 4 years ago
David Cernat 3a8831dc15 [Server] Add server functions for reading equipment change indexes 4 years ago
CedricMocquillon 096e25b29a Make the getSkillForTraining a member method of TrainingWindow class.
The implementation is based now on the member of the class
mTrainingSkillBasedOnBaseSkill instead of local static
4 years ago
Bret Curtis 49489b31f7
Merge pull request #2955 from elsid/sound_npc_animation
Use pointer to Sound to stop sounds started by NpcAnimation
4 years ago
CedricMocquillon 998bf5da34 Add new checkbox for the new setting 'trainers training skills based on base skill' 4 years ago
CedricMocquillon 1aa4f6bf96 The number of skills points a trainer can teach is based either on its base
values or on its modified ones depending on the new setting 'trainers training
 skills based on base skill' value
4 years ago
CedricMocquillon 281cef9769 The 3 skill selected by a trainer are based on its 3 best skills.
The skills are sorted either on their base value or on their modified one
depending on the new setting 'trainers training skills based on base skill'
4 years ago
elsid 3c460fb3e9
Use pointer to Sound to stop sounds started by NpcAnimation 4 years ago
Bret Curtis 0f855a83c0
Merge pull request #2945 from OpenMW/macos10.15
give MacOS 10.15 a spin
4 years ago
Bret Curtis 14d5b3eeaf try release again and turning on bit by bit for ccache to be used 4 years ago
Bret Curtis 67c2f0b26c
Merge pull request #2951 from elsid/sound_object_pool
Store SoundManager sounds and streams in object pool
4 years ago
psi29a f4d024b4f1 Merge branch 'ci-cache' into 'master'
Cache compilation using ccache

See merge request OpenMW/openmw!159
4 years ago
Icecream95 dc6fbd39d8
Cache compilation using ccache 4 years ago
David Cernat e85f506569 [CI] Assign execution permission to before_script_linux.sh 4 years ago
David Cernat 9f77c876f6 [General] Fix warnings related to double to int conversion in MasterData 4 years ago
David Cernat 5eb7eb8d88 Add OpenMW commits up to 4 Jul 2020
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/mwbase/windowmanager.hpp
#	apps/openmw/mwgui/charactercreation.cpp
#	apps/openmw/mwgui/windowmanagerimp.hpp
#	apps/openmw/mwmechanics/character.cpp
4 years ago
Bret Curtis 2ac4a2c6e3 do not make package for now 4 years ago
Bret Curtis 0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
Replace OpenThreads by std types
4 years ago
Bret Curtis db75398fba only build openmw for now 4 years ago
Bret Curtis 28d85e4030
Merge pull request #2926 from akortunov/warnfix
Use QMultiMap instead of QMap
4 years ago
Andrei Kortunov 57069f60aa
Merge pull request #2953 from akortunov/warnfix2
Mark some methds as overrides to avoid warnings
4 years ago
Andrei Kortunov 9ec61c14d2 Mark some methods as overrides to avoid warnings 4 years ago
Andrei Kortunov ce597ff908
Merge pull request #2952 from akortunov/master
Remove redundant virtual qualifier
4 years ago
Andrei Kortunov d1b5f17390 Remove redundant virtual qualifier 4 years ago
elsid 02f9b44f01
Use RAII for object ptr from pool 4 years ago
elsid 6ca29c6107
Use common type for pool of sounds and streams 4 years ago
Bret Curtis c7a612a891
Merge pull request #2949 from elsid/sound_water_action
Choose next action for water sound in a separate function
4 years ago
Bret Curtis 3ea576efdc do not build a few things; temporary disable checking package; get things compiling and cached first 4 years ago
elsid b424aac25e
Choose next action for water sound in a separate function 4 years ago
elsid 080b0d6319
Remove unused duration from updateWaterSound 4 years ago
Andrei Kortunov 349a11864f
Merge pull request #2950 from elsid/fit_stats
Make all stats fit into the window
4 years ago
elsid 56bc462007
Make all stats fit into the window 4 years ago
psi29a 08469af742 Merge branch '#5509_invisibility_fix_round_2' into 'master'
Should resolve the original cause of #5509

See merge request OpenMW/openmw!256
4 years ago
Bret Curtis 4dbc0a34ba
Merge pull request #2948 from elsid/rm_sound_local_static
Replace SoundManager local static variables by fields
4 years ago
Bret Curtis d3c24a6ea4 Should resolve the original cause of #5509 and prevent mesh from growing while switching back and for from 3rd and 1st person view 4 years ago
elsid 6ab1a1f907
Make last cell a field of SoundManager and initialize 4 years ago
elsid 3fa1e7ebaf
Make time passed SoundManager field 4 years ago
psi29a 978b9e9285 Merge branch 'patch-1' into 'master'
fix typos in launcher

See merge request OpenMW/openmw!255
4 years ago
Dillon 8f9de7289d fix typos 4 years ago
psi29a 90a0f11c1f Merge branch '#5509_invisibility_fix' into 'master'
Resolve #5509 where culling did not take invisiblity into accont

Closes #5509

See merge request OpenMW/openmw!254
4 years ago
Bret Curtis e9126fae54 Resolve #5509 where culling did not take invisiblity into accont 4 years ago
Bret Curtis 21d4c9fe84
Merge pull request #2947 from elsid/fix_sound_update
Clamp sound volume on settings update (fix #5507)
4 years ago
elsid a36a55bfb5
Clamp sound volume on settings update 4 years ago
Bret Curtis f639c62428
Merge pull request #2939 from elsid/more_stats
Add stats for all updates
4 years ago
Bret Curtis acf36344d4
Merge pull request #2946 from elsid/sound_update_water
Put logic to update water sound id and volume into a separate class
4 years ago
Bret Curtis 1e23d007dd Use Debug instead of Release to increase build time (passing -O0) 4 years ago
Roman Siromakha 859ab63679
Merge pull request #2889 from akortunov/statswatcher
Add a separate stats watcher for GUI
4 years ago
Bret Curtis a62e3a7b35 What happens when I remove the sysroot line? 4 years ago
Bret Curtis 3eeee4bc94 drop need to upgrade qt, 5.15 is by default installed; add CXX_FLAGS; retarget SYSROOT to 10.15 4 years ago
elsid 439891ef53
Put logic to update water sound id and volume into a separate class 4 years ago
Bret Curtis f53f049a64 give MacOS 10.15 a spin 4 years ago
Bret Curtis 3d7f8a573a
Merge pull request #2941 from elsid/lookup_stop_sound
Lookup sound when need to stop
4 years ago
Andrei Kortunov 27f1a3376c Add a separate stats watcher for GUI 4 years ago
Alexei Dobrohotov 85b4b84342 Merge branch 'particle-lifetime' into 'master'
Do not set particle lifetime to 0 (#5472)

See merge request OpenMW/openmw!233
4 years ago
Frederic Chardon f268bc13f1 Do not set particle lifetime to 0 (#5472) 4 years ago
Bret Curtis 26024e7d0d
Merge pull request #2944 from akortunov/input
Regression fixes for input system
4 years ago
Bret Curtis 5b7f37cf46
Merge pull request #2943 from elsid/sound_update_region
Put logic for the next region sound selection into a separate class
4 years ago
Andrei Kortunov 7fb78e801f Fix mouse release injection 4 years ago
Andrei Kortunov 5f0cc87a67 Do not discard remnants 4 years ago
elsid 0594b7d1a0
Put logic for the next region sound selection into a separate class 4 years ago
elsid eb68df1a37
Add stats for all updates 4 years ago
Andrei Kortunov 829c26e904
Merge pull request #2942 from akortunov/master
Fix crash in the stateset updater
4 years ago
Andrei Kortunov ef6fe8d52a Fix crash in the stateset updater (regression #5478) 4 years ago
Alexei Dobrohotov c53516a4b7
Merge pull request #2940 from akortunov/deadzone
Make joysticks dead zone configurable
4 years ago
elsid 02587ed1e9
Remove unused SoundManager::stopSound overload 4 years ago
elsid 0ff5e9bfb9
Lookup sound when need to stop
Instead of loading.
4 years ago
Andrei Kortunov 230e06dec7 Make joysticks dead zone configurable (bug #5502) 4 years ago
Andrei Kortunov d18f1f8956 Merge branch 'fix_speed' into 'master'
Fix incorrect speed for creatures

See merge request OpenMW/openmw!250
4 years ago
AnyOldName3 0d7b9c51fd Log misparsed stuff as it caused an unexpected CI failure 4 years ago
Petr Mikheev a455b99ed6 Fix incorrect speed for creatures, that is caused by https://gitlab.com/OpenMW/openmw/-/merge_requests/245/diffs?commit_id=eebbacd8b4ab22b3e824538df2d7faec0038c1a1 4 years ago
Roman Siromakha d5d5fab92e
Merge pull request #2938 from Assumeru/gtest
Update Windows CI script to Google Test 1.10.0
4 years ago
Evil Eye fcc761c13c Update Windows CI script to download a version of Google Test that can actually compile the tests 4 years ago
AnyOldName3 bf69f90f80 Revert "Make build succeed so cache is kept"
This reverts commit 53be725df2.

It was only needed for CI reasons.
4 years ago
AnyOldName3 53be725df2 Make build succeed so cache is kept 4 years ago
AnyOldName3 d6ab2f9659 Disallow failure 4 years ago
AnyOldName3 c7cf163667 Don't keep whole build directory. 4 years ago
AnyOldName3 decf59d20e Don't try and activate MSVC when using MSBuild 4 years ago
AnyOldName3 82882beee6 Fix missing line breaks 4 years ago
AnyOldName3 edd6df1857 Try enabling Windows Shared Runners again.
Hopefully this will work now https://gitlab.com/gitlab-org/ci-cd/custom-executor-drivers/autoscaler/-/merge_requests/99 is merged.
4 years ago
Bret Curtis 355996c2ff supress -> suppress 4 years ago
psi29a e83fb8c3fd Merge branch 'fix_turn_to_movement' into 'master'
Bugfix for "turn to movement direction"

Fix for #5457.

Users complain that movement is not smooth enough when the character turns from "straight right" to "straight right and a bit backward" movement.

This MR fixes it.

The problem was mostly caused by the logic that at first changes animation speed to match movement speed, and then adjusts the movement speed to match the animation. IMHO it is a doubtful logic because then the real movement speed may be not consistent with the result of getSpeed.

Also I've removed the setting "turn to movement direction speed coef" because:
1) It was added as a workaround for this "non smooth movement" problem. After the fix it is not needed.
2) Users mistakenly think that it is somehow related to movement speed for diagonal movement.

See merge request OpenMW/openmw!245
4 years ago
Petr Mikheev 63f828fea8 Bugfix for "turn to movement direction" 4 years ago
Alexei Dobrohotov c94d6336b5
Merge pull request #2936 from akortunov/refactoring
Use more C++11 in the physics code
4 years ago
Bret Curtis c4453322e5
Merge pull request #2931 from Capostrophic/intimidate
Increase disposition on marginal Intimidate wins (#5485)
4 years ago
Bret Curtis 927f835b7f
Merge pull request #2935 from akortunov/factionfix
Fix faction requirement calculations
4 years ago
Andrei Kortunov 4a5fce8ca5 Use more C++11 in the physics code 4 years ago
Andrei Kortunov d0fe15b095 Use meaningful names instead of mSkill1 and mSkill2 4 years ago
Andrei Kortunov fde0f20a6f Fix faction requirement calculations (bug #5499) 4 years ago
Andrei Kortunov 3dc3fe06e2
Merge pull request #2934 from akortunov/master
Fix MSVC warning about variable re-declaration
4 years ago
Andrei Kortunov 30b63270ce Fix MSVC warning about variable re-declaration 4 years ago
Bret Curtis edbc1898fb
Merge pull request #2933 from elsid/update_changelog
Add bug #5479 to changelog
4 years ago
elsid 30c928fc09
Add bug #5479 to changelog 4 years ago
elsid 40ad87bc4d
Replace OpenThreads by std types 4 years ago
Capostrophic b592fa826c Increase disposition on marginal Intimidate wins (#5485) 4 years ago
Bret Curtis 999325ab44
Merge pull request #2930 from Capostrophic/shieldlocation
Redistribute hits to carried left slot when possible (#5490)
4 years ago
Bret Curtis 585755a502
Merge branch 'master' into shieldlocation 4 years ago
Bret Curtis e0fb9c2390
Merge pull request #2929 from Capostrophic/barterprice
Don't offer a minimum price of 1 gold for zero value items/services (#5484)
4 years ago
Capostrophic 2b2f9a8714 Redistribute hits to carried left slot when possible (#5490) 4 years ago
Bret Curtis bb27fc5cb2
Merge pull request #2927 from elsid/work_queue
Use std types for WorkQueue
4 years ago
Capostrophic c7aea20657 Don't offer a price of 1 gold for zero value items (#5484) 4 years ago
psi29a 227ca123a6 Merge branch 'shoulder_vertical_offset' into 'master'
Make vertical offset of "view over shoulder" configurable

See merge request OpenMW/openmw!243
4 years ago
elsid 3251687a3d
Use std types for WorkQueue 4 years ago
Petr Mikheev 63137a3b5a Make vertical offset of "view over shoulder" configurable 4 years ago
Bret Curtis da65a3b8d4 Thanks to https://gitlab.com/OpenMW/openmw/-/merge_requests/209, OpenMW now has Object Paging that includes distant statics. 4 years ago
psi29a abc77075b9 Merge branch 'doc-formattopics' into 'master'
Follow up to MR 126 - make it more obvious for end users how to set colors

See merge request OpenMW/openmw!234
4 years ago
Andrei Kortunov 487bfed672 Use QMultiMap instead of QMap 4 years ago
psi29a 662725069e Merge branch 'qt-tidying' into 'master'
Make Qt work on my machine

See merge request OpenMW/openmw!240
4 years ago
AnyOldName3 35d920569c Tweak error message
As we have `set -e`, the error message would never be printed if we
genuinely failed to create the virtualenv, just if we succeeded and the
expected directories didn't exist.
4 years ago
AnyOldName3 657306c293 Make Qt work on my machine
Switches `eval stuff $STRIP` to `run_cmd` as it'll log errors on failure
and eval was breaking commands that ran just fine otherwise.

Don't download aqt wheel from pip and install it in two separate steps.

Upgrade aqt from 0.8 to 0.9.2 as there are bugs with 0.8 that stop Qt
5.15.0 from working for some people.

Fall back to Qt 5.14.2 for 64-bit on MSVC 2017 as the package list is
broken and that specific combination doesn't work right now.
4 years ago
Bret Curtis f8e3e57755
Merge pull request #2924 from akortunov/warnfix
Avoid more deprecated Qt stuff
4 years ago
Bret Curtis 4b212954fb
Merge pull request #2925 from OpenMW/psi29a-debug
change build type to debug for ci/cd
4 years ago
Bret Curtis ae49549f03
change build type to debug for ci/cd
it should set -O0 which should prioritise fast compilation for gcc
4 years ago
Andrei Kortunov 19e95afc42 Avoid reverse iteration on QHash 4 years ago
Bret Curtis 27285b9e85
Merge pull request #2923 from OpenMW/uncomplicate_things_in_travis
removed need for split compilation for static analysis, we've gone fr…
4 years ago
Andrei Kortunov 0bb9322a69 Use default constructor for ItemFlags 4 years ago
Bret Curtis ad25b22db7 removed need for split compilation for static analysis, we've gone from openmw taking 30 minutes to taking 3. Merging them also makes our before_script.linux.sh less complicated; removed redundant CMAKE flag; set build type to RelWithDebInfo as None has no meaning (even if it still builds). 4 years ago
Bret Curtis 8b02263341
Merge pull request #2919 from akortunov/warnfix
Avoid to use some deprecated Qt API
4 years ago
Bret Curtis 602f1166a1
Merge pull request #2922 from OpenMW/no_sudo_required
Removing deprecated sudo: required
4 years ago
psi29a b70bedacdb Merge branch 'debugger-working-directory-workaround' into 'master'
Use a generator expression to specify the debugger working directory

See merge request OpenMW/openmw!239
4 years ago
David Cernat 6d10906832 [Server] Fix crashes related to reading actor lists in unloaded cells 4 years ago
David Cernat fbc23a3b57 [Server] Fix warnings in server functions for class and gender 4 years ago
fredzio 6d4d53fc7c Add a setting to the launcher to enable/disable the dialogue topic
formatting stuff.
4 years ago
David Cernat b42c1498f9 [CI] Temporarily disable building of CS 4 years ago
AnyOldName3 2f8c5ef09d Use a generator expression to specify the debugger working directory 4 years ago
David Cernat 1fcef8fd62 [General] Use lower version requirement for Qt 5 4 years ago
Bret Curtis 16ca9e2fbd put back INSTALL platforms 4 years ago
David Cernat 3b2eb6f62c Add OpenMW commits up to 22 Jun 2020
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
4 years ago
psi29a 421ad91a08 Merge branch 'improved_third_person' into 'master'
Improved third person experience

Closes #5457 and #390

See merge request OpenMW/openmw!219
4 years ago
Bret Curtis 508b329bd3 Removeing deprecated sudo: required 4 years ago
Andrei Kortunov c8d5d421d9 Do not use deprecated mouse wheel movement angle 4 years ago
Andrei Kortunov 98bb73ffb7 Do not use deprecated QTextStream::endl 4 years ago
Andrei Kortunov 2b4274bca8 Use modern Qt flag declarations 4 years ago
Bret Curtis 573c630d34
Merge pull request #2921 from OpenMW/travis_focal
Get OpenMW ready for Focal update on GH
4 years ago
Bret Curtis ccedde3e0a Get OpenMW ready for Focal update on GH 4 years ago
Petr Mikheev e3bae58cb1 Update docs, AUTHORS.md, CHANGELOG.md 4 years ago
Petr Mikheev b4c699348f Improved strafe movement 4 years ago
Petr Mikheev d3bd67d747 Advanced third person camera. 4 years ago
psi29a 2fb7c27976 Resolved by !235 when dropping Qt4 in Task #5480 4 years ago
psi29a a1e6f062cd Merge branch 'drop_qt4' into 'master'
#5480: Drop Qt4 support and require Qt 5.12 or later.

See merge request OpenMW/openmw!235
4 years ago
Bret Curtis 8f9c3e28d9 Handle typo 4 years ago
Bret Curtis 8d3b1b90b1 do not assume gcc is available; added build-essential 4 years ago
Bret Curtis 6846f5a212 While we are at it, go full OSG 3.6 4 years ago
Bret Curtis a4c9a5cb00 Use docker image debian:bullseye as our target 4 years ago
Bret Curtis 61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 4 years ago
fredzio ae27ad6bcd Follow up to MR 126
Fill settings-default.cfg with default values as RGBA values are not intuitive for end users.
Add a boolean setting to enable the formatting (disabled by default).
4 years ago
Alexei Dobrohotov 0d70318304 Merge branch 'launcher-search-datafiles-tab' into 'master'
Add a search function to the "Datafiles" tab of the OpenMW launcher

See merge request OpenMW/openmw!191
4 years ago
Cédric Mocquillon 6e397e4008 Add a search function to the "Datafiles" tab of the OpenMW launcher 4 years ago
psi29a 981184109e Merge branch 'formattopics' into 'master'
Change color of keywords in the dialogue window (#2159)

See merge request OpenMW/openmw!126
4 years ago
psi29a 288911c2d9 Merge branch 'kill-msvc-2015' into 'master'
Kill MSVC 2015

See merge request OpenMW/openmw!230
4 years ago
Alexei Dobrohotov d529cf4a81 Merge branch '5463_op_normal_maps' into 'master'
#5463: Optimizer fix, problem was indeed related to tangents not being transformd properly.

See merge request OpenMW/openmw!229
4 years ago
psi29a f94ca28dbe #5463: Optimizer fix, problem was indeed related to tangents not being transformd properly. 4 years ago
Andrei Kortunov 142a9e772b Merge branch '5468_progress_caption_overlapping' into 'master'
Issue #5468: Apparently this was always a problem but OP made "nested loading"...

See merge request OpenMW/openmw!228
4 years ago
Andrei Kortunov 01b1b7866c
Merge pull request #2918 from akortunov/master
Fix ordering warning
4 years ago
Andrei Kortunov 1541c7e5eb Fix ordering warning 4 years ago
David Cernat 7caaec1aea [Server] Use clearer log messages for ID_GAME_PREINIT 4 years ago
Bret Curtis c3dc0e62e8 OP profiling regression fix; Billboards such as those from Westly's tree mod should work again. 4 years ago
AnyOldName3 36d0a55600 Add error message when vswhere doesn't find MSVC 4 years ago
AnyOldName3 a93ea93d9d Remove MSVC 2015 specific parts of CI script.
Also add error when MSVC 2015 is requested.
4 years ago
Bret Curtis 8d9b2eca7d
Merge pull request #2917 from akortunov/warnfix
Fix issues, reported by CoverityScan
4 years ago
Bret Curtis 9446cece62 Issue #5468: Apparently this was always a problem but OP made "nested loading" more visible. This should resolve nested loading correctly. 4 years ago
Andrei Kortunov 6357bc3dad Catch MyGUI exceptions in the FontLoader destructor 4 years ago
Andrei Kortunov 808c905e1f Initialize fields to avoid undefined behaviour 4 years ago
David Cernat 74ac59fed2 [Client] Prevent allied players from breaking each other's sneaking 4 years ago
Bret Curtis cf3a20b595
Merge pull request #2916 from akortunov/borders
Fix cell borders color
4 years ago
Andrei Kortunov 0e810c8d32 Fix cell borders color 4 years ago
Bret Curtis c944acf26b
Merge pull request #2913 from akortunov/warnfix
Get rid of ECLD and dependencies
4 years ago
Bret Curtis 51136a75f2
Merge pull request #2915 from akortunov/guifixes
Reset selected slot when closing savegame dialogue
4 years ago
Bret Curtis b18028b125
Merge pull request #2905 from elsid/ai_package_type
Store package type id as enum except ESM
4 years ago
psi29a 1724099d34 Merge branch 'mingw' into 'master'
Fix mingw Windows build

See merge request OpenMW/openmw!213
4 years ago
Andrei Kortunov d1a3cc98ff Get rid of ECLD and dependencies 4 years ago
Bret Curtis 1db58575c8
Fixed missed AiPackageTypeId::Wander 'fix' 4 years ago
Andrei Kortunov 3e396a904e Reset selected slot when close savegame dialogue to avoid accidental saving/loading 4 years ago
Andrei Kortunov 50d692a097
Merge pull request #2914 from akortunov/master
Fix typos in shaders
4 years ago
Andrei Kortunov 9bc0e9b4b7 Fix typos in shaders 4 years ago
psi29a 5110b5a0bf Merge branch 'near_far_mode_in_launcher' into 'master'
add ability to set the type of near far method to be used

See merge request OpenMW/openmw!190
4 years ago
psi29a 66b5cf9f1d Merge branch 'master' into 'near_far_mode_in_launcher'
# Conflicts:
#   files/settings-default.cfg
4 years ago
Alexei Dobrohotov 2d23dad2bc
Merge branch 'master' into ai_package_type 4 years ago
psi29a 6f8eefcb16 Switching object paging active grid default option to false for now until the light limit problem is resolved. 4 years ago
Bret Curtis b5a2e809cd
Merge pull request #2911 from unelsson/fixdaematerialseq
Use sequenced texture units with .dae/collada
4 years ago
Bret Curtis 66124272d7
Merge pull request #2912 from akortunov/warnfix
Fix Clang warnings about invalid overrides
4 years ago
psi29a 0b2c102a26 Merge branch 'AnyOldName3-master-patch-53610' into 'master'
Fix verbose mode for Windows prebuild script

See merge request OpenMW/openmw!226
4 years ago
AnyOldName3 7ef3a9d8ac Remove schoolboy error 4 years ago
Andrei Kortunov 805d826d5b Fix Clang warnings about invalid overrides 4 years ago
Nelsson Huotari 5bc44cf2ee Use sequenced texture units with .dae/collada 4 years ago
psi29a 9067894335 Merge branch 'set-e-kills-ret' into 'master'
Fix Windows prebuild script error messages

Closes #5459

See merge request OpenMW/openmw!223
4 years ago
psi29a efd1c7c8a5 Merge branch 'cherry-picked-build-improvements' into 'master'
Cherry picked build improvements

See merge request OpenMW/openmw!225
4 years ago
psi29a 0dc7715c35 Merge branch 'object_paging_retry' into 'master'
Object Paging

See merge request OpenMW/openmw!209
4 years ago
Bret Curtis ecc125cdba
Merge pull request #2910 from elsid/optimize_recast_mesh
Reduce navmesh size
4 years ago
elsid 00197e1cd9
Optimize recast mesh size by vertex deduplication 4 years ago
AnyOldName3 079be5d485 Remove annoying warning 4 years ago
Bret Curtis bf228746c9
Merge pull request #2909 from akortunov/shaders
Calculate viewNormal only when needed
4 years ago
AnyOldName3 761558f612 Remove test data
A dummy command was used to check the script would fail if a command was missing.
Not being a real command, it always made the script fail as a command was missing.
4 years ago
AnyOldName3 5bffa7453f Merge branch 'fix-msvc-buildtools' into 'master'
Fix the build script not detecting Visual Studio Build Tools installation

See merge request OpenMW/openmw!224
4 years ago
Andrei Kortunov f30cb9f8bc Calculate viewNormal only when needed 4 years ago
David Cernat 9f2408473f [Client] Update setting of time via WorldTime packets
The setting of time-related values was previously handled directly in OpenMW's World class. It is now handled in OpenMW's DateTimeManager class instead when the variable names passed to World's setGlobalInt() and setGlobalFloat() are time-related.
4 years ago
Bret Curtis 0d1b7fd3f0
Merge pull request #2908 from Capostrophic/uvsets
Remove 63 UV set limit
4 years ago
apommel 4b831f99da Allow vswhere to detect build tools installations 4 years ago
Capostrophic 6f94848dec Remove 63 UV set limit (now 65535) 4 years ago
Alexei Dobrohotov 9dff13a94c Merge branch 'AnyOldName3-master-patch-15901' into 'master'
Fix ifs for ACTIVATE_MSVC

Closes #5460

See merge request OpenMW/openmw!220
4 years ago
Alexei Dobrohotov 09537ed312 Merge branch 'master' into 'AnyOldName3-master-patch-15901'
# Conflicts:
#   CI/before_script.msvc.sh
4 years ago
Alexei Dobrohotov 8d80747929 Merge branch 'AnyOldName3-master-patch-84976' into 'master'
Add success message to Windows prebuild script

Closes #5458

See merge request OpenMW/openmw!221
4 years ago
Bret Curtis 3f489b3774
Merge pull request #2907 from elsid/navmesh_area_cost
Use actors stats to define navmesh area cost
4 years ago
AnyOldName3 a6493ce329 Don't exit prebuild script on nonzero exit code when we already check it
We have `set -e` enabled, so normally exit the script if a command fails.
We also had explicit exit code checks in a few places with user-friendly
error messages. These were never printed as the script exited before we
could check the exit code due to a bad exit code.
4 years ago
elsid b095ca6c86
Use actor speed to define area cost for pathfinding 4 years ago
elsid 374b85a00d
Add Class methods to get walk, run, swim speed 4 years ago
elsid 439588d10e
Remove unused mOffMeshConnectionIds 4 years ago
elsid a35497de0c
Remove redundant runSpeed as always equal to walkSpeed 4 years ago
AnyOldName3 0d2129ca13 Add success message to Windows prebuild script 4 years ago
AnyOldName3 13c4e4b2a9 Fix ifs for ACTIVATE_MSVC 4 years ago
bzzt lost a hitlab login 26ab176389 profiling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login daa2761c2d alphablending & billboardfix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 4e2efb3cdb avoid sqrt
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 66c9469a80 fix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 4238fbccdf view fix
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login b27b76e325 avoid pagerebuild when reloading a same save
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 6fa12a6eb8 preload tweak
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 89ec6cfea2 tooltips labels
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 65cd2c77aa static intersections
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 340d626589 static moving support
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login c7fda6d280 activegrid paging = 2xfps
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login b4af2ac672 avoid blocking on pagerebuild
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 17637c6575 pagerebuild on disable
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login c1ebd9474b stop navmesh updates when ai off
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login ffbed7ee38 loadingscreen
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login da92ad329b move renderbin
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 4dccabeb83 fix analyzation not taking instancecount in account + settings calibration
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login b7b31926a8 fix map glitch + cleanup
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 77b92aee9c fix shadowsglitch by bounds overflow
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 00e56ae862 batch debug colours
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 8a624e5a71 minsize based on mergedecision solves partial culling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 0b4226f3e2 ico effieciency
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 38c21163ea + meshsizecache for reduce i&o stalling
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 69514dfd46 ico redundency fix + stats counter
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login 1f891ca46d billboarding support for tree mods
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login cf439581e1 comply by elsid review
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt lost a hitlab login ce505a9bb3 crashfix + optimiziation
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt c0f128bcb3 disablesupprort
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
bzzt d684f1a78f terrainbased objectpaging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
4 years ago
Bret Curtis 87dba1fcfc
Merge pull request #2906 from elsid/navmesh_pathgrid
Add pathgrid to navmesh
4 years ago
elsid d863267d5c
Do not fallback to direct path without pathgrid
Assume this might happen only due buildPath call when navmesh can't
provide path.
4 years ago
elsid c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection 4 years ago
elsid 095a45c714
Remove unused PathgridGraph::mIsExterior 4 years ago
elsid 82893c30f4
Store package type id as enum except ESM 4 years ago
David Cernat e5b1843089 Add OpenMW commits up to 11 Jun 2020
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/activespells.cpp
#	apps/openmw/mwmechanics/aiactivate.cpp
#	apps/openmw/mwmechanics/aiactivate.hpp
#	apps/openmw/mwmechanics/creaturestats.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
4 years ago
Bret Curtis e6231f67e6
Merge pull request #2904 from Capostrophic/sound
Revert the changes for "bug" #4551
4 years ago
Capostrophic 4a2fd1e140 Revert the changes for "bug" #4551 4 years ago
Bret Curtis bfe3f13c90
Merge pull request #2903 from akortunov/refactoring
Use more C++11 in tools code
4 years ago
Andrei Kortunov 0d66369efb Use overrides, when needed 4 years ago
Andrei Kortunov aacb569acb Use more C++11 in tools code 4 years ago
Andrei Kortunov e2a4493fc0
Merge pull request #2902 from Capostrophic/shaders
Don't deliberately do redundant assignments in shaders
4 years ago
Capostrophic 91514aed5d Don't deliberately do redundant assignments 4 years ago
Chris Djali 720700e957
Merge pull request #2901 from Capostrophic/shaders
Minor shader fixes
4 years ago
David Cernat 36a2308acd Add OpenMW commits up to 30 May 2020
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwbase/windowmanager.hpp
#	apps/openmw/mwgui/windowmanagerimp.hpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwscript/interpretercontext.cpp
4 years ago
Capostrophic 1c50d25853 Minor shader fixes
Don't initialize uniform bool to false explicitly
Attempt not to calculate specular lighting if the material specular color is black
4 years ago
Roman Siromakha 048713d9b1
Merge pull request #2900 from akortunov/defs
Use FourCC to declare all ESM record names
4 years ago
Andrei Kortunov d997842f8d Use FourCC to declare all ESM record names 4 years ago
AnyOldName3 be22e80d33 Merge branch 'always-say-what-to-do' into 'master'
Print MSVC activation info in verbose mode, too.

See merge request OpenMW/openmw!212
4 years ago
Bret Curtis 6bc04507ef
Merge pull request #2715 from akortunov/cleanup
Remove custom data for disposed actors
4 years ago
Bret Curtis 946cf859db
Merge pull request #2892 from Capostrophic/automove
Don't save to or read automove state from saved games (#5452)
4 years ago
Bret Curtis cd97d0c61c
Merge branch 'master' into automove 4 years ago
Andrei Kortunov 3741355dca
Merge pull request #2898 from akortunov/master
Update active spells during rest
4 years ago
Andrei Kortunov 0c3b12c40f
Merge pull request #2893 from Capostrophic/projectile
Clean up magic bolts casted by actors that are gone (bug #5451)
4 years ago
Bret Curtis 857f4bd232
Merge pull request #2896 from akortunov/rendermanager
Add a FogManager
4 years ago
Bret Curtis d23bbe755c
Merge pull request #2897 from foobar13372/patch-1
Update CHANGELOG.md
4 years ago
Andrei Kortunov 3dd4023e8d Update active spells during rest 4 years ago
Roman Siromakha 27a113167c
Merge pull request #2890 from akortunov/position
Do not store object position, if it is the same as in CellRef
4 years ago
Alexei Dobrohotov d5d385fe9e
Merge pull request #2891 from elsid/ai_packages_options
Replace AiPackage virtual methods by options
4 years ago
Alexei Dobrohotov 3f0cf65335
Merge pull request #2895 from elsid/esm_objectstate_final
Add final for derived and overriden from ESM::ObjectsState
4 years ago
Andrei Kortunov 4afc332a0c Add a FogManager 4 years ago
foobar13372 5d17a4c66e
Update CHANGELOG.md
Correctly name change (was probably a copy paste error)
4 years ago
Andrei Kortunov 52d27dee5c
Merge pull request #2894 from Capostrophic/disable
Ignore bogus string arguments for Disable/Enable again
4 years ago
Andrei Kortunov 75e7a3e8b1 Do not store object position, if it is the same as in CellRef 4 years ago
David Cernat d86e744250 [Client] Fix typos in comments about marking InterpreterContext types 4 years ago
elsid 5209f5ff6d
Mark all derived classes from ESM::ObjectsState and overriden functions as final 4 years ago
David Cernat b527ca7e5d [Client] Fix initialization of ptrCellStore in object processors 4 years ago
David Cernat 62df188fd4 Add OpenMW commits up to 16 May 2020
# Conflicts:
#	CI/before_script.linux.sh
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwscript/globalscripts.cpp
#	apps/openmw/mwscript/interpretercontext.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/cellstore.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
#	components/interpreter/context.hpp
4 years ago
Capostrophic e02b66cdf4 Ignore bogus string arguments for Disable/Enable again 4 years ago
Capostrophic 456f0f9f44 Clean up magic bolts of actors that are gone (#5451) 4 years ago
Alexei Dobrohotov 05884e690f
Merge pull request #2880 from akortunov/rendermanager
Remove redundant variables from the RenderingManager
4 years ago
Capostrophic 1873da4c91 Don't save to or read automove state from saved games (#5452) 4 years ago
Alexei Dobrohotov 587b540c98 Merge branch 'fix-skill-lvlup-message' into 'master'
Make sure the skill level up message box displays the value correctly

See merge request OpenMW/openmw!217
4 years ago
Fanael Linithien 48758116d6 Make sure the skill level up message box displays the value correctly
Fixes regression introduced in 204d2acf25.
4 years ago
David Cernat 922f54e208 [Server] Add server functions for handling client script local variables
Remove outdated server functions for client scripts.
4 years ago
David Cernat 5e6218ad6d [General] Modernize handling of client script local variables in packets
Disable placeholder handling of client script member variables.
4 years ago
Andrei Kortunov 6de97e6bc2 Remove redundant variables from RenderingManager 4 years ago
elsid 5b34ef224b
Replace AiPackage virtual methods by options 4 years ago
Bret Curtis 3b1c717ab9
Merge pull request #2888 from elsid/ai_packages_const
Mark not changing AiPackages fields as const
4 years ago
Bret Curtis 204d2acf25
Merge pull request #2092 from akortunov/float_stats
Store attributes and skills values as floats
4 years ago
psi29a 629e33237e Merge branch 'AnyOldName3-master-patch-53347' into 'master'
Warn about fake stub Python

See merge request OpenMW/openmw!216
4 years ago
Bret Curtis 5d019c27ae
Merge pull request #2887 from akortunov/worldmanager
Introduce a separate class to control world date and time
4 years ago
Andrei Kortunov 81805b7263 Introduce a separate class to control world date and time 4 years ago
elsid da8ea9d8c7
Mark not changing AiPackages fields as const 4 years ago
Bret Curtis 8cd34dbe15
Merge pull request #2885 from elsid/fix_tests_build
Fix tests build with BULLET_USE_DOUBLES=ON
4 years ago
AnyOldName3 6e267e398e Fix copy-paste snafu 4 years ago
AnyOldName3 86c1d0f4be Warn about fake stub Python 4 years ago
elsid d35ccc39c6
Fix build tests with double precision bullet 4 years ago
Andrei Kortunov 5468fcb29f Store attributes and skills values as floats (bug #4021) 4 years ago
Bret Curtis 2eb9d4ad4e
Merge pull request #2878 from Assumeru/mutate-ai
Mutate base records when editing AI settings (#2798)
4 years ago
Bret Curtis dd7f5fcde7
Merge pull request #2884 from Capostrophic/deathmagic
Update spell effects during death animation (#5403)
4 years ago
Bret Curtis 109057e53f
Merge pull request #2544 from akortunov/corprus
Rework corprus implementation
4 years ago
Bret Curtis da4e0097a1
Merge pull request #2882 from akortunov/worldmanager
Refactor list of variables in the WorldManager
4 years ago
Andrei Kortunov 3dce225f28 Implement vanilla-style corprus handling (bug #3714, bug #4623) 4 years ago
Andrei Kortunov c0e62e9529 Refactor list of variables in the WorldManager 4 years ago
Evil Eye 4d7947d27c Mutate base records when editing AI settings (#2798) 4 years ago
Bret Curtis 998f4f73f4
Merge pull request #2886 from elsid/ai_package_unique_ptr
Store AIPackages as unique_ptr
4 years ago
elsid b67e18329e
Store AI packages as unique_ptr 4 years ago
elsid ce7c47ee12
Return cloned AiPackage as unique_ptr 4 years ago
Bret Curtis f5e2e53bcf
Merge pull request #2883 from Capostrophic/nilines
Handle NiLines (feature #5445)
4 years ago
Bret Curtis 18bb6dd223
Merge pull request #2859 from elsid/aipackage_single_clone
Single clone function definition for all AI packages
4 years ago
Capostrophic d72152183f Update spell effects during death animation (#5403) 4 years ago
Capostrophic 7aca18f92b Handle NiLines (feature #5445) 4 years ago
Bret Curtis d3b3b74945
Merge pull request #2871 from Capostrophic/tcl
Don't "disable" player's collision shape in TCL (#5435)
4 years ago
Bret Curtis 562d3654da
Merge pull request #2860 from Capostrophic/greeting
Make greeting-related actor data temporary (bug #5397)
4 years ago
Capostrophic 577786f110 Don't disable player's collision shape in TCL (#5435) 4 years ago
Capostrophic b0b4550f05 Pass Actor by reference, simplify GetTarget for greetings 4 years ago
Capostrophic efd5f13b2b Make greeting-related actor data temporary (bug #5397) 4 years ago
Bret Curtis 505a5e9ca6
Merge pull request #2873 from Capostrophic/nifcleanup
NIFLoader adjustments
4 years ago
Bret Curtis 9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
Extend OSG stats
4 years ago
Alexei Dobrohotov 6f2b0252fa
Merge pull request #2881 from akortunov/statemanager
Use C++11-style loops in the StateManager
4 years ago
Bret Curtis 6f2fdb990b
Merge pull request #2876 from Capostrophic/blending
Reenable weapon animation lower body anim blending in first person view (#5441)
4 years ago
Andrei Kortunov 48b3fe5733 Use C++11-style loops in the StateManager 4 years ago
Alexei Dobrohotov 7109378658
Merge pull request #2879 from akortunov/windowmanager
Move font loading to the FontLoader
4 years ago
Andrei Kortunov 396afe79f1 Move font loading to the FontLoader 4 years ago
Bret Curtis f36288569c
Merge pull request #2874 from akortunov/windowmanager
Cleanup WindowManager
4 years ago
Andrei Kortunov 1759276ac5
Merge pull request #2869 from Capostrophic/appliedonce
Use AppliedOnce flag in more effect duration calculations (#5425)
4 years ago
Alexei Dobrohotov afc537384d
Merge pull request #2875 from akortunov/input
Move cursor update to the MouseManager
4 years ago
Alexei Dobrohotov 0eb85ea1ff
Merge pull request #2877 from Assumeru/oops
Fix explicit startscript calls
4 years ago
Evil Eye a8231ae297 fix explicit startscript calls 4 years ago
Andrei Kortunov 2ff04b4e73 Move TextColours initialization to the TextColours itself 4 years ago
Andrei Kortunov dcfc4cc5dd Rename onFrame() to update() to make WindowManager consistent with other managers 4 years ago
Andrei Kortunov 000e44a18e Move data from WindowManager to CharacterCreation to simplify API 4 years ago
Andrei Kortunov b00d72b9e4 Move cursor update to the MouseManager 4 years ago
Capostrophic 95cd473352 Reenable weapon animation lower body animation blending in FPV (#5441)
Disabling it is a non-vanilla behavior that breaks things that aren't broken in vanilla
4 years ago
Roman Siromakha b3b8480d49
Merge pull request #2868 from Capostrophic/opcodes
Give new opcodes to old functions made custom
4 years ago
Capostrophic 74a74209ac Allow junk (data-less) NiParticleColorModifiers 4 years ago
Capostrophic 7a9403aeed Remove unnecessary casts 4 years ago
Capostrophic fc9a10ba48 Streamline node controller handling
Reduce code duplication
Allow non-animated nodes controlled by NiVisController to be optimized out
4 years ago
Alexei Dobrohotov 3a4fa06aa3
Merge pull request #2872 from akortunov/input
Fix mControlsDisabled flag usage
4 years ago
Andrei Kortunov e3df170a53 Fix mControlsDisabled flag usage 4 years ago
David Cernat 3e95034b57 [Server] Fix small typos in script functions 4 years ago
Capostrophic 89a2c69a61 Support particle node transformations 4 years ago
David Cernat 76538ab3cd [Client] Don't send ObjectSound packets for dedicated actor actions 4 years ago
David Cernat c99e20e3b4 [Client] Equip items silently for newly met dedicated players/actors 4 years ago
Andrei Kortunov a6351dd887 Merge branch 'windows-crosscompile-fix' into 'master'
Use all-lowercase names for windows API headers

See merge request OpenMW/openmw!214
4 years ago
Capostrophic 51c0806a31 Use AppliedOnce flag in more effect duration calculations (#5425) 4 years ago
Fanael Linithien e8ec62b298 Use all-lowercase names for windows API headers
This allows the code to successfully cross-compile from hosts with case
sensitive file names, like linux.
4 years ago
Bret Curtis aeb1776ee6
Merge pull request #2864 from Capostrophic/search
Improve GetDistance and object search warnings (bug #5427)
4 years ago
laikh d6e4fbe085 Fix mingw Windows build 4 years ago
Capostrophic e0ecbc08df Give new opcodes to old functions made custom 4 years ago
elsid 69df6098e5
Report frame number, number of actors and objects to stats 4 years ago
Capostrophic c9c9599ec5 Improve GetDistance and object search warnings (bug #5427)
Allow GetDistance to work with a non-existent object argument or with inventory items that belong to a container store that doesn't exist
4 years ago
Andrei Kortunov 2618974ad6
Merge pull request #2865 from Capostrophic/headtracking
Re-enable non-biped creature headtracking (bug #5424)
4 years ago
Capostrophic 904b245d30 Re-enable non-biped creature headtracking (bug #5424) 4 years ago
Alexei Dobrohotov a68a4338a0
Merge pull request #2841 from Assumeru/consistent-refs
Script reference consistency
4 years ago
Bret Curtis 357a845d00
Merge pull request #2862 from elsid/optimize_has_animation
Optimize MWRender::Animation::hasAnimation
4 years ago
Bret Curtis da2edbdc1e
Merge pull request #2863 from elsid/active_controllers_vector
Use vector for MWRender::Animation::mActiveControllers
4 years ago
elsid 9326111f4c
Use vector for Animation::mActiveControllers
Container is only used to add elements, iterate over all of them and
clear. Multimap adds overhead for all of these operations without any
benefits. Reduce Animation::resetActiveGroups CPU time usage by 50%.
4 years ago
elsid a59e25e093
Optimize MWRender::Animation::hasAnimation
Use a set to check for group start existence.
Reduce time taken from 2.6% to 0.08% and
MWMechanics::MechanicsManager::update from 7% to 5%
in relative CPU time usage for a scene with ~100 actors.
4 years ago
elsid 8e0934cbd8
Single AI package clone definition 4 years ago
elsid 103188b61d
Derive all AI package classes from template to support CRTP features 4 years ago
David Cernat ea57aaef34 [Client] Fix compilation error on Linux regarding Timestamp constructor 4 years ago
David Cernat 94b211dd4f [Client] Synchronize changes to gold pools from other services 4 years ago
Bret Curtis 61fbc1cd0b
Merge pull request #2861 from elsid/osg_stats
Env variable to write OSG stats into file
4 years ago
elsid d7a920a04b
Env variable to write OSG stats into file 4 years ago
AnyOldName3 08e5d93c9b Print MSVC activation info in verbose mode, too. 4 years ago
AnyOldName3 32ee826a89 Merge branch 'vscode-ignore' into 'master'
Ignore VS Code files

See merge request OpenMW/openmw!210
4 years ago
AnyOldName3 087d12589a Ignore VS Code files 4 years ago
David Cernat 411b6dcd8e Don't clear spells for a dead player, preventing resurrection problems 4 years ago
Bret Curtis 88a7ecc18d
Merge pull request #2528 from akortunov/effectstime
Use real time to update spell effects
4 years ago
Bret Curtis 730d0493db
Merge pull request #2856 from elsid/aisequence_cleanup
AiSequence cleanup
4 years ago
Bret Curtis 72507e57c6
Merge pull request #2857 from elsid/aipackage_cleanup
Remove redundant explicit dtor definition for AiPackage
4 years ago
Bret Curtis 02385269fa
Merge pull request #2858 from elsid/aipackage_overriden
Mark overriden AiPackage methods as final
4 years ago
elsid a4fbcb8a10
Remember package iterator to erase it from list without find call 4 years ago
Evil Eye 3875b837bc make MenuMode, Random, GetSecondsPassed regular functions 4 years ago
elsid d48eead038
Check type id of current package
If package is changed the following usage of it is not consistent.
4 years ago
elsid f566ab03ab
Mark overriden AiPackage methods as final 4 years ago
elsid 3b5ce71d71
Remove redundant explicit dtor definition for AiPackage 4 years ago
elsid ca93f8ee39
Compare initialized iterator
Comparsion of untilialized iterator is UB. Initialize with packages end.
4 years ago
elsid e3cce0949e
Replace condition that may lead to UB by assert
If mPackages is empty it means package is a pointer to a deleted object
at line . We can assume it couldn't happen because execute is always called
next for this object at line 289.
4 years ago
Bret Curtis 6b44b7f245
Merge pull request #2855 from elsid/fix_msvc
Fix msvc dir for Qt
4 years ago
elsid 2e09e96f5d
Fix msvc dir for Qt
Otherwise it fails with:
Qt 5.15.0... Exists. CI/before_script.msvc.sh: line 781: cd: MSVC2019_64_Ninja/deps/Qt/5.15.0/msvc2015_64: No such file or directory
4 years ago
Icecream95 f14db21745
Make disableShadowsForStateSet a no-op when shadows are disabled
Otherwise the GPU has to do useless shadow comparisons when shadows
are disabled.
4 years ago
Bret Curtis 8d01897942
Merge pull request #2854 from OpenMW/cherry-pick-e0b35232
Merge branch 'ninja' into 'master'
4 years ago
Bret Curtis 9fd8470741
Merge branch 'master' into cherry-pick-e0b35232 4 years ago
Alexander "Ananace" Olofsson 7b781d8890
Windows CI dependency upgrade (#2847)
* Windows CI: Use OSG 3.4-experimental for 0.46

* Update compiled Windows CI dependencies

Only built and pushed so far, still need to try making full OpenMW
builds with them as well.

* Update missed Bullet version number

* MyGUI uses RelWithDebInfo for Release builds now

* Update Windows CI dependencies, switch Qt install

* Fix aqt retrieval and setup

* Make aqt install output slightly nicer

* Bump to Qt 5.15 for VS2019 support

* Fix FFmpeg and Qt install parts

* Fix OSG plugin DLL copying

* Add CMake flag for double-precision bullet

* Roll back 2019 to Boost 1.71 for CI

* Move aqt into unpack step, to allow manual install
4 years ago
psi29a 38daa83ff6 Merge branch 'ninja' into 'master'
Enable Windows Ninja builds

See merge request OpenMW/openmw!202

(cherry picked from commit e0b352323226ff11e230f6489e826df332fa681a)

c1e673ce Unify path conversion functions
fdf0fdbb Fix NMake with MSVC 2019
bdd4a814 Activate MSVC during CMake setup for NMake
eae41050 Support sourcing
c0d28a0e Warn that MSVC environment will need to be activated
bd16ad62 Ninja
7d57e6e2 Support MSVC 2015
3679d329 Check MSVC activated correctly
ed4b73b8 Fix post-2015 Visual Studio
4ffa116a Print message when it's necessary instead of when it isn't
c6e09461 Add instructions for using VS' non-.sln support
d9bb6e63 Activate MSVC later
9ca26358 Create batch script to activate correct MSVC
61df647d Provide scripts to activate selected MSVC in existing shell without kerfuffle
4 years ago
Alexei Dobrohotov b168544445
Merge pull request #2852 from elsid/aiwander_cleanup
AiWander cleanup
4 years ago
Bret Curtis 59bda361f0
Merge pull request #2848 from akortunov/bullet
Fix Bullet flags usage
4 years ago
elsid d86669843e
Remove unseud pointTolerance argument 4 years ago
elsid 256c9917a4
Make AiWander::isPackageCompleted const 4 years ago
elsid 131f2557b1
Split functions to remove redundant clearPath argument 4 years ago
elsid b8513e0318
Remove unused arguments 4 years ago
Bret Curtis a4f29a8e37
Merge pull request #2851 from elsid/fix_aiwander_crash
Fix AiWander crash
4 years ago
David Cernat 3c51f1c23a [General] Include last gold restock time in ObjectMiscellaneous packets 4 years ago
elsid 489a92de95
Check for hidden path only for actors wandering manually
Actors who doesn't wander over pathgrid.
4 years ago
elsid e616188265
Do not allow wandering actor to have empty path 4 years ago
elsid 71350c6dff
Remove redundant variable 4 years ago
Andrei Kortunov b5833f3c59 Use real time to update spell effects instead of game timestamps (bug #5165) 4 years ago
Andrei Kortunov 3ebbe14a62 Avoid zero division 4 years ago
David Cernat 7833ae9a3f [Server] Add script functions for getting, setting & sending gold pools 4 years ago
David Cernat 23ff7b9610 [General] Synchronize gold pools for traders via ObjectMiscellaneous 4 years ago
Alexei Dobrohotov 8c4acc69c4
Merge pull request #2849 from Capostrophic/spellsuccess
Fix spell school calculation
4 years ago
Capostrophic 8265ebc484 Fix spell school calculation 4 years ago
Bret Curtis a04a41a429
Merge pull request #2843 from Capostrophic/nigeometry
Introduce NiGeometry abstraction
4 years ago
Bret Curtis 7da5558808
Merge pull request #2845 from akortunov/save_cleanup
Optimize characters data in savegame
4 years ago
Bret Curtis f9fca8675b
Merge pull request #2846 from Capostrophic/envmap
CopyRigVisitor fixes (bug #5415)
4 years ago
David Cernat 297a254210 [General] Rename unused ScriptMemberFloat packet to ObjectMiscellaneous 4 years ago
Andrei Kortunov add42830d9 Add a flag to use double-precision functions from Bullet 4 years ago
Andrei Kortunov e827d9c04f Disable physics profiler, if Bullet was compiled without profiling support 4 years ago
Capostrophic 78b1bbe130 Remove unnecessary null check 4 years ago
Bret Curtis c69c7d0b3b
Merge pull request #2049 from elsid/bullet_double_precision
Support bullet double precision
4 years ago
Capostrophic 72e5043eda CopyRigVisitor fixes
Make sure it copies all relevant drawable parent nodes (e.g. including the node with the environment map effect)
Make sure it doesn't copy nodes multiple times
4 years ago
Andrei Kortunov e6ca95174a Optimize characters data in savegame 4 years ago
Capostrophic b665fed8f2 Introduce NiGeometry abstraction 4 years ago
Bret Curtis 019c843589
Merge pull request #2842 from Capostrophic/nifroot
Handle non-node roots more gracefully (bug #5416)
4 years ago
Capostrophic 30558c2434 Try to resolve CI concerns 4 years ago
Capostrophic 915ffe2241 Handle non-node roots more gracefully (bug #5416) 4 years ago
Evil Eye f0e2ee45fa reuse ImplicitRef and ExplicitRef for enable, disable, getdisabled, startscript; move scriptrunning and stopscript 4 years ago
Bret Curtis 74bf8ef807
Merge pull request #2840 from elsid/revert_rm_platforms_install
Revert remove of platforms install
4 years ago
Bret Curtis bb30b44766
Merge pull request #2839 from Capostrophic/nipathcontroller
Add basic NiPathController support (movement only)
4 years ago
Bret Curtis ce3a723503
Merge pull request #2838 from Capostrophic/nifversion
Some more minor NIF stuff
4 years ago
elsid 66da72048a
Update bullet for windows up to 2.87 4 years ago
elsid 2d7c3bae61
Support bullet with double precision 4 years ago
elsid ef5a5ef43f
Print not matched values with full precision 4 years ago
elsid 14d0ca4cd3
Cast float to btScalar 4 years ago
elsid fa861f5d8e
Revert remove of platforms install 4 years ago
Capostrophic 30fc2e3e5e Add basic NiPathController support (movement only) 4 years ago
Capostrophic 5377e0491b Adjust NiPixelData loading 4 years ago
psi29a 05ffda9b47 Merge branch 'Changelog_PR' into 'master'
Update PR changelog file for 0.47.0

See merge request OpenMW/openmw!199
4 years ago
Andrei Kortunov a3aa4c0a1f
Merge pull request #2837 from Capostrophic/smallfeatureculling
Disable small feature culling for orthographic cameras
4 years ago
Capostrophic a08a9518c3 NIF version adjustments
Cut down on obscure version numbers
Call generateVersion without using a stream object
4 years ago
Atahualpa d469e5ef1a Update PR changelog file for 0.47.0 4 years ago
Capostrophic 110e3761bf Disable small feature culling for orthographic cameras 4 years ago
Andrei Kortunov 0e3ae38e49
Merge pull request #2836 from Capostrophic/shaders
Always pass the vertex color to the fragment shader
4 years ago
Capostrophic 58d78fb126 Always pass the vertex color to the fragment shader 4 years ago
Andrei Kortunov 93397e4f8f
Merge pull request #2835 from Capostrophic/logging
Address akortunov's save loading message complaints
4 years ago
Capostrophic 77bdd124ee Address akortunov's save loading message complaints
Add quotes to the character's name
Don't print the full path to save file
Use better terminology
4 years ago
Andrei Kortunov f1786f14c4
Merge pull request #2834 from akortunov/master
Fix merge conflicts
4 years ago
Andrei Kortunov d5806fd0ed Fix merge conflicts 4 years ago
Bret Curtis 42cba092b7
Merge pull request #2716 from akortunov/png
Store fog of war as a PNG image instead of TGA
4 years ago
Bret Curtis 2c743b6153
Merge pull request #2828 from Capostrophic/colormode
Improve color mode handling in shaders
4 years ago
Bret Curtis b7c33dbe0a
Merge pull request #2831 from Capostrophic/pursue
Allow guards to pursue an invisible player (bug #4774)
4 years ago
Bret Curtis 4b30bf5699
Merge pull request #2829 from Capostrophic/logging
Log some more things
4 years ago
Bret Curtis 62290182eb
Merge pull request #2648 from Assumeru/start-scripts
Allow targeting non-unique actors with StartScript. Fixes #2311
4 years ago
Bret Curtis 507adac8cd
Merge pull request #2783 from akortunov/input
Refactor InputManager
4 years ago
Bret Curtis e146f760d4
Merge pull request #2830 from elsid/fix_windows_install
Fix windows install target
4 years ago
Andrei Kortunov c0dc5eb4df
Merge pull request #2833 from Capostrophic/animscale
Cap movement animation playback speed
4 years ago
Capostrophic ece0db4f82 Cap movement animation playback speed 4 years ago
David Cernat 95e5e6d33d [Client] Prevent constant loss of key focus for chat window 4 years ago
David Cernat dc0ce09ab6 [Client] Replace unused method in GUIController with getChatEditState() 4 years ago
elsid 4e0c07de0f
Build install target in CI 4 years ago
unknown 3b4782959e Allow targeting non-unique actors with StartScript (bug #2311) 4 years ago
Andrei Kortunov 7a6ba8bf7a
Merge pull request #2832 from Capostrophic/warning
Fix warning
4 years ago
Capostrophic b91d0d889f Fix warning
/home/travis/build/OpenMW/openmw/components/nifosg/nifloader.cpp:615:42: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
                    if (hasVisController |= (ctrl->recType == Nif::RC_NiVisController))
                        ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/travis/build/OpenMW/openmw/components/nifosg/nifloader.cpp:615:42: note: place parentheses around the assignment to silence this warning
                    if (hasVisController |= (ctrl->recType == Nif::RC_NiVisController))
                                         ^
                        (                                                             )
4 years ago
Andrei Kortunov 41beca8125 Refactor actions order setup 4 years ago
Capostrophic a5d0d13e14 Allow guards to pursue an invisible player (bug #4774) 4 years ago
elsid e095f6b306
Remove install for not existing file 4 years ago
elsid 99cd99bc3b
Remove unused BUILD_MYGUI_PLUGIN option 4 years ago
Capostrophic aa5161f99e Log some more things 4 years ago
Capostrophic c0b322b264 Improve color mode handling in shaders 4 years ago
David Cernat 053a5a6258 Add OpenMW commits up to 9 May 2020
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/aiextensions.cpp
4 years ago
Andrei Kortunov 4a1e27ac21
Merge pull request #2824 from Capostrophic/cleanup
Cleanup
4 years ago
Andrei Kortunov 8e1f7b00d1
Merge pull request #2826 from Capostrophic/verifier
Verifier: Don't check race of non-skin body parts (bug #5400)
4 years ago
Andrei Kortunov 300b5b2620
Merge pull request #2827 from Capostrophic/dialogue
Only reset dialogue history of dialogue GUI mode is gone
4 years ago
Andrei Kortunov a6514e7740 Add missing include 4 years ago
Andrei Kortunov 73552f1d3c Move control switch reading/writing to relevant class 4 years ago
Andrei Kortunov b4e52a6bc8 Add missing include 4 years ago
Andrei Kortunov 0455f48d02 More formatting changes 4 years ago
Andrei Kortunov b575712cb1 Formatting changes 4 years ago
Andrei Kortunov 85f91a7de8 Remove some redundant code 4 years ago
Andrei Kortunov 3328775eff Unify cursor enabling 4 years ago
Andrei Kortunov b33c4c920c Move all OICS handling to the separate file 4 years ago
Andrei Kortunov 0eb24da2e7 Fix controls disabling 4 years ago
Andrei Kortunov 2f2b3173e3 Fix copy-paste error 4 years ago
Andrei Kortunov 8512133bb1 Move control switches to the separate file 4 years ago
Andrei Kortunov f990150c49 Move video wrapper to the WindowsManager 4 years ago
Andrei Kortunov 13b7c5b519 Rework actions update 4 years ago
Andrei Kortunov d3a9f893c8 Move keyboard-specific code to the separate file 4 years ago
Andrei Kortunov c368250e6a Rename misleading mInputManager variable 4 years ago
Andrei Kortunov e353647d15 Move gamepads handling to the separate file 4 years ago
Andrei Kortunov f9d6137a29 Do not store player reference in the InputManager 4 years ago
Andrei Kortunov ce40294124 Move input actions handling to the separate file 4 years ago
Andrei Kortunov fcac7d3ab7 Split mouse handling to the separate file 4 years ago
Andrei Kortunov 1560e71f4e Move SDL mappigs to the separate file 4 years ago
Andrei Kortunov 3c09d05615 Split actions enum to the separate file 4 years ago
Andrei Kortunov 15dc4d241d Split sensors handling so the separate file 4 years ago
Capostrophic 45e6a03937 Only reset dialogue history of dialogue GUI mode is gone 4 years ago
psi29a b72720f357 Merge branch 'shadow-transparency-rework' into 'master'
Only alpha-test shadows when necessary

See merge request OpenMW/openmw!170
4 years ago
Capostrophic 039c9a37eb Verifier: Don't check race of non-skin body parts (bug #5400)
Remove unnecessary flag field check
Remove magic numbers
4 years ago
Bret Curtis aaa8990006
Merge pull request #2799 from Capostrophic/simplewaterfog
Fix simple water with radial fog enabled
4 years ago
Alexei Dobrohotov ab69b65640
Merge pull request #2825 from Sisah2/android_fix
Fix parallax and specular for android
4 years ago
Sisah b19f53aab6 Fix parallax and specular for android 4 years ago
Capostrophic 1bf2ddac4d Cleanup
Move static variable declaration out of the loop
Remove redundant boolean argument from applyDrawableProperties()
Improve HeightCullCallback class formatting
4 years ago
Alexei Dobrohotov 12833d66af
Merge pull request #2822 from Assumeru/magic-ai-numbers
Remove magic numbers and casts
4 years ago
Giovanni Bodega 8a8b4986da Fixed passed indexes for object deletion #5384 4 years ago
Bret Curtis 1fbf5c5869
Merge pull request #2821 from Assumeru/template
Remove redundant templating
4 years ago
Evil Eye 19f12cb3fe remove magic numbers and casts 4 years ago
Evil Eye f9881b699c remove redundant templating 4 years ago
Bret Curtis b4aeb2711c
Merge pull request #2809 from Capostrophic/spellcasting
Refactor spellcasting header and implementation (task #5339)
4 years ago
Bret Curtis b8c467e2e0
Merge pull request #2787 from p4r4digm/screenshot-path
Added setting to change the directory screenshots are stored in
4 years ago
Bret Curtis 34181b9ae6
Merge pull request #2803 from elsid/disable_crash_catcher_env
Add env variable to disable crash catcher
4 years ago
Bret Curtis 0776de8f61
Merge pull request #2820 from elsid/shader_parser_tests
Shader parser tests
4 years ago
elsid 1f3dfaedcc
Add tests for ShaderManager 4 years ago
elsid ca649003ed
Use googletest 1.10.0
To get support for INSTANTIATE_TEST_SUITE_P macro
4 years ago
elsid edf002aa97
Rename argument shaderTemplate to templateName 4 years ago
psi29a b9cd8d23a4 Merge branch 'cs-crash-on-exit-fix' into 'master'
Stop the CS crashing on exit - Close graphics context while it still exists

See merge request OpenMW/openmw!182
4 years ago
fredzio 947f3cf13c Optionally change color of keywords in the dialogue window based on the
next answer:
- if the answer was already heard, apply "color topic exhaused" setting
- if the answer was never heard, and the current actor is specified in
the dialog, apply "color topic specific"
- otherwise, do nothing special
4 years ago
Bret Curtis f51476a3c5
Merge pull request #2816 from Capostrophic/switchlod
CollisionSwitch and Switch/LOD node fixes
4 years ago
Bret Curtis a23ab48251
Merge pull request #2708 from elsid/detournavigator_limit_update_frequency
Limit frequency for navmesh updates
4 years ago
Alexei Dobrohotov 7ba8176862
Merge pull request #2819 from elsid/fix_ub
Fix UB in NpcAnimation::mNpcType initialization
4 years ago
elsid b150d681a9
Update same navmesh tile with limited frequency 4 years ago
Roman Siromakha 8c0674490d
Merge pull request #2818 from Capostrophic/shield
Fix usage of uninitialized weapon type in equipmentChanged()
4 years ago
elsid 6d8debe009
Initialize variable without reading itself 4 years ago
Capostrophic 87ba0bb0e0 Fix usage of uninitialized weapon type in equipmentChanged() 4 years ago
Bret Curtis eeb13ad8a3
Merge pull request #2817 from elsid/fix_build
Fix build with boost 1.73
4 years ago
Bret Curtis 5f0f2f0f16 rename to better reflect what is going on per AnyOldName3 comment; added none option 4 years ago
elsid 10daadefbe
Add missing include 4 years ago
Bret Curtis aca223f6c8 fix unrelated rst issue; rename to bounds 4 years ago
Bret Curtis bf6daa7269
Merge pull request #2811 from Capostrophic/emitter
Allow particle emitters to be attached to an arbitrary node
4 years ago
Bret Curtis 1dc21919f6
Merge pull request #2815 from Capostrophic/tga
Use the new option to treat TGA files as TGA 1.0
4 years ago
Bret Curtis b7f7aabd8b
Merge pull request #2806 from elsid/detournavigator_tests
Add detournavigator test for multiple worker threads
4 years ago
Capostrophic 957d2a890f Ignore empty children of osg::LOD and osg::Switch like in OSG 4 years ago
Capostrophic 63fe02b1ba CollisionSwitch and Switch/LOD node fixes
Properly apply transformations to both switch and LOD nodes
Allow both NiSwitchNode and NiLODNode to be the root node
Properly add CollisionSwitch into the scene graph
4 years ago
Bret Curtis e4358d1489
Merge pull request #2782 from OpenMW/psi29a-patch-1
build bsa and esm tools
4 years ago
Bret Curtis 7345c89b54
Merge pull request #2813 from Capostrophic/collisionswitch
Fix collision switch node mask (again)
4 years ago
Bret Curtis d8c8bc33b7
Merge pull request #2814 from Capostrophic/autoequip
Revert an invalid attempt to autoequip shields instead of torches
4 years ago
Capostrophic 16f6c7b27f Use the new option to treat TGA files as TGA 1.0 4 years ago
psi29a bb5fe13e13 Make sure it is either one or the other with the default to bounding volumes. 4 years ago
Capostrophic 844838c46a Revert an invalid attempt to autoequip shields instead of torches 4 years ago
Alexei Dobrohotov 1bcf38c3d8
Merge pull request #2812 from elsid/fix_gcc_5_build
Workaround for GCC 5 bug
4 years ago
Bret Curtis 980525cba4 better said 4 years ago
Bret Curtis d38c3e971c remove extra line 4 years ago
Bret Curtis ae729a1ac7 add ability to set the type of near far method to be used in shadow calculation; default to bounding volumes; cleaned up code while there and re-ordered items 4 years ago
Capostrophic 89282d14aa Fix collision switch node mask (again) 4 years ago
elsid 899a6b5aa3
Workaround for GCC 5 bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61636
4 years ago
Capostrophic 6b874e397b Make particle system cloning map names more sensible 4 years ago
Capostrophic f516178ec9 Fix particle processor cloning
Extend emitter handling comment in NIF loader
4 years ago
Capostrophic c08f9e13af Allow emitters to be attached to nodes after particle systems 4 years ago
psi29a 476a74c2d3 Merge branch 'bzzt_5_tight_scene_bound' into 'master'
Allow use of OSG's Bounding Volumes

See merge request OpenMW/openmw!189
4 years ago
Alexei Dobrohotov 0329003af7 Merge branch 'opcode2' into 'master'
Remove 2-arguments opcodes

See merge request OpenMW/openmw!187
4 years ago
Bret Curtis 9bad3666ab
Merge pull request #2810 from Capostrophic/hasviscontroller
Fix hidden node with NiVisController optimization
4 years ago
Bret Curtis d77047e1cf
tab2space 4 years ago
Capostrophic 3b7fb9ec09 Use pipe-equal operator 4 years ago
AnyOldName3 a3b032bf2b Fix chameleon shadows 4 years ago
psi29a 9ab6657d8f Merge branch 'no_more_ttf_spam_in_stats' into 'master'
puts an end of error spam when OSG is compiled without Freetype support

See merge request OpenMW/openmw!188
4 years ago
Capostrophic 69cd53ef8a Fix reflect 4 years ago
Bret Curtis 31a75a962a Add 3 additional classes to be ignored who dumping "showscenegraph" debug output; less spammy 4 years ago
Bret Curtis ca0adc25bb add two additional classes we do not need to serialize; less pam during `showscenegraph` debug dump. 4 years ago
Capostrophic e7f91ff341 Simplify some inflict() logic 4 years ago
Bret Curtis 886b9813ad Something changed in OSG 3.6 that makes the command "showscenegraph" less useful; it writes out raw data of images to the debug output file openmw.ogst. This commit adds the hint and restores default behaviour found in OSG 3.4 4 years ago
Capostrophic 4c1c30db33 Address akortunov's concerns regarding spell refactoring
Separate linked effect handling into linked effects header
Separate spell absorption handling into spell absorption header
Make armor disintegration loop a range-based for loop
4 years ago
Bret Curtis 3ba77b933a "compute tight scene bounds" reset back to true until it is decided how best to handle this in settings 4 years ago
bzzt dc33eeadf1 tightscenebound is uncessary after water bbfix 4 years ago
Bret Curtis 1870b4b345 catch and set with no _found; leave empty as empty string 4 years ago
Capostrophic bbd15cccd5 Fix hidden node with NiVisController optimization 4 years ago
Bret Curtis 6d3f9ce307 puts an end of error spam when OSG is copmiled without Freetype support 4 years ago
elsid bd1ef4dd6d
Add detournavigator test for multiple worker threads 4 years ago
Alexei Dobrohotov d42cb4f16d
Merge pull request #2805 from elsid/detournavigator_update_callback
Use callback to handle changed tiles
4 years ago
Alexei Dobrohotov f5b42107d3
Merge pull request #2807 from elsid/detournavigator_thread_jobs_stats
Add number of thread jobs to update jobs stats
4 years ago
Capostrophic b1d857818d Clean up CastSpell 4 years ago
Capostrophic 8d22e075e6 Separate functions that don't belong to CastSpell class 4 years ago
Alexei Dobrohotov afa502cfba
Merge pull request #2800 from elsid/rm_unused
Remove unused code
4 years ago
Capostrophic db13984db0 Separate spell resistance 4 years ago
Capostrophic 5973285446 Move isSummoningEffect to summoning 4 years ago
Capostrophic 5535a7fb44 Move getSummonedCreature() to summoning 4 years ago
Roman Siromakha 4f75211e25
Merge pull request #2808 from Capostrophic/spellcleanup
Clean up spellcasting
4 years ago
Capostrophic a3cd3281fb Use an array instead of a map in spellSchoolToSkill() 4 years ago
fredzio 916a9641fc Delete support for 2-arguments opcodes - it was never used 4 years ago
Capostrophic 4838cf7362 Clean up spellcasting 4 years ago
elsid df6e85b619
Use callback to handle changed tiles
Instead of collecting changed tiles into a temporary vector.
4 years ago
elsid 7502db1570
Add number of thread jobs to update jobs stats 4 years ago
elsid 066f0a744f
Add env variable to enable/disable crash catcher 4 years ago
David Cernat a20f8e77dc Add OpenMW commits up to 25 Apr 2020
# Conflicts:
#	.travis.yml
#	apps/openmw/mwclass/container.cpp
#	apps/openmw/mwclass/door.cpp
4 years ago
Andrei Kortunov 528fc5870a
Merge pull request #2804 from elsid/fix_warnings
Fix warnings
4 years ago
elsid ffacc30597
Use std::array for a list of extensions
This list doesn't change and the size is known at compile time.
4 years ago
elsid 975e4f9908
Fix warning -Wrange-loop-construct
apps/openmw/mwgui/loadingscreen.cpp:81:36: warning: loop variable 'extension' of type 'const std::__cxx11::basic_string<char>' creates a copy from type 'const std::__cxx11::basic_string<char>' [-Wrange-loop-construct]
                    for(auto const extension: supported_extensions)
                                   ^
apps/openmw/mwgui/loadingscreen.cpp:81:25: note: use reference type 'const std::__cxx11::basic_string<char> &' to prevent copying
                    for(auto const extension: supported_extensions)
                        ^~~~~~~~~~~~~~~~~~~~~
                                   &
4 years ago
Alexei Dobrohotov cf812d4a0d
Merge pull request #2801 from elsid/update_recastnavigation
Update recastnavigation to 57610fa6ef31b39020231906f8c5d40eaa8294ae
4 years ago
elsid 847cd41b01
Update recastnavigation to 57610fa6ef31b39020231906f8c5d40eaa8294ae 4 years ago
elsid c59c8ae1f4
Remove unused macro 4 years ago
elsid ee60d4bcea
Remove unused ItemStack::stacks 4 years ago
Capostrophic 688e804548 Fix simple water with radial fog enabled 4 years ago
psi29a 3b9a51b8ac Merge branch 'bzzt_1_waterculling' into 'master'
waterculling

See merge request OpenMW/openmw!184
4 years ago
Bret Curtis 55afa444a9
Merge pull request #2797 from Capostrophic/changelog
Remove issue that hasn't been solved properly from the changelog
4 years ago
Bret Curtis e7795f2bf7
Merge pull request #2775 from Capostrophic/dooractivation
Only disarm traps with keys when the door/container is locked (bug #5370)
4 years ago
Bret Curtis ed970f4d17 Apply suggestion to components/terrain/terraingrid.hpp 4 years ago
Alexei Dobrohotov 10d323e32c
Merge pull request #2798 from elsid/log_shader_name
Log shader template name on parse error
4 years ago
elsid 7aaec5e989
Log shader template name on parse error 4 years ago
Bret Curtis 756ec7117b make mGrid (and friends) private again, create accessor method to return bool of mGrid.empty() 4 years ago
Capostrophic 89ff1974ee Remove issue that hasn't been solved properly 4 years ago
Bret Curtis 48713915cb re-use bzzts waterplane overlay for debug; makes it easier to test. To use this, set the env OPENMW_WATER_CULLING_DEBUG=1; You will see blue rectangles corresponding to water outlines. Once there are no more outlines, water is culled. You can further see this by pressing F3 3 times to check the the amount of quads. Before culling it should be around 1600, after culling it should drop to 0. 4 years ago
Bret Curtis 407fbe320e cleanup and use C++ version of FLT_MAX 4 years ago
bzzt ed20d869b4 waterculling for both terrain 4 years ago
Bret Curtis e791e65684
Merge pull request #2793 from Capostrophic/distancebias
Pick the correct aggressive actor in fight distance bias calculation
4 years ago
Bret Curtis a4d1068d1a Merge branch '13' into 'master'
terrainshadowclusterculling

See merge request OpenMW/openmw!141
4 years ago
David Cernat 65a669344b Merge branch 'magic_numbers' into 'master'
compromise on magic numbers making things easier to follow

See merge request OpenMW/openmw!181
4 years ago
David Cernat 728b92c4d8 Merge branch 'bzzt_6_fix_shadows_in_screenshot_with_octreeoclusion' into 'master'
fix shadows in save game screenshot

See merge request OpenMW/openmw!183
4 years ago
Bret Curtis c359406473 taking anyoldname3 review comments to heart; typo fixes plus rebase 4 years ago
AnyOldName3 ac256f05ff Close graphics context while it still exists 4 years ago
bzzt 1cd4b9ee68 fixes shadows on savegame screenshot 4 years ago
Bret Curtis 6316227594 hpp not cpp; review 4 years ago
Capostrophic 40766d746c Pick the correct aggressive actor in fight distance bias calculation 4 years ago
Bret Curtis 68549828b4 create static functions to set/get hidden node mask; compromise on magic numbers to make things easier to understand 4 years ago
Bret Curtis e1a5435531 Merge commit '8a8107e8' 4 years ago
Bret Curtis 9fa4136575 Merge branch 'gl_shared_windows_runners' into 'master'
[PoC] give shared windows runners a try

See merge request OpenMW/openmw!180
4 years ago
Bret Curtis 6f1767c374 just get the thing working and leave it up to someone with more win10 knowledge than myself :) 4 years ago
Andrei Kortunov 9dfa43866d
Merge pull request #2792 from Capostrophic/fatalerror
Fix outdated bug tracker links
4 years ago
Capostrophic 9106e3646c Fix outdated bug tracker links 4 years ago
Bret Curtis b38459e505 powershell hell 2 4 years ago
Bret Curtis 0021dabd8e powershell hell 4 years ago
Bret Curtis ade265ec6b give shared windows runners a try 4 years ago
AnyOldName3 53b9b41159 Rely on existing alpha test for non-blended shadow casting 4 years ago
Bret Curtis a205c924b6
Merge pull request #2791 from Capostrophic/animspeed
Consider the first person movement sneaking if it's actually sneaking
4 years ago
Capostrophic 6731843691 Consider the first person movement sneaking if it's actually sneaking 4 years ago
Alexei Dobrohotov 8fc56e4614
Merge pull request #2788 from Capostrophic/pickup
Make sure non-carriable light sources can't be picked up
4 years ago
Alexei Dobrohotov 96dce1a1c9
Merge pull request #2789 from Capostrophic/changelog
Fix changelog particle lighting entry
4 years ago
Capostrophic af335d7127 Fix changelog particle lighting entry 4 years ago
Chris Djali 71c46204ec
Merge pull request #2781 from mp3butcher/partsysfix
Particle System shading and lighting (fixing bug#3676 and #4949)
4 years ago
Julien Valentin 886fd5efc9 enable particle shading and force particle normal to (0.3,0.3,0.3)
and update changelog
4 years ago
Capostrophic dab09180ae Make sure non-carriable light sources can't be picked up 4 years ago
Bret Curtis 8a8107e837 as it says; revert vismask and uncomplicate openmw 4 years ago
AnyOldName3 02b8dffdd0 Merge branch 'floattest' into 'master'
Use approximate comparison for floating point in test

See merge request OpenMW/openmw!163
4 years ago
p4r4digm 0741fe5b80 removed path configuration and made screenshots just save in a folder 4 years ago
Bret Curtis 63bdc84f91 Merge branch 'remove_evil_const_cast' into 'master'
clean up code; purge const_cast

See merge request OpenMW/openmw!175
4 years ago
p4r4digm 2b54e6216b Added setting to change the directory screenshots are stored in 4 years ago
Bret Curtis 7ade0cb2c3
Merge pull request #2784 from Capostrophic/specular
Disable specular lighting for 4.0.0.2 and earlier files
4 years ago
Bret Curtis dcb3992cd3 Merge branch 'fix-partial-build' into 'master'
Fix build of standalone OpenMW

See merge request OpenMW/openmw!176
4 years ago
David Cernat f8c557fbc0 [General] Read and use weapon quantity in RecordDynamic packets 4 years ago
Alexey Sokolov ddab86d940 Use approximate comparison for floating point in test
This fixes test suite on my machine
4 years ago
fredzio 0630cc482c Compile helpviewer in components only when USE_QT is defined
It fixes build of OpenMW alone (wihtout launcher or OpenCS)
4 years ago
Bret Curtis 91c2dea2a7 use OSG 3.6.5 from our PPA 4 years ago
Bret Curtis 8c2f3ff007 clean up code; purge const_cast 4 years ago
Andrei Kortunov 7aca6d72e4
Merge pull request #2785 from Capostrophic/underwaterfog
Don't radialize underwater fog
4 years ago
Bret Curtis 4ae0bd1fae Merge branch 'helplink' into 'master'
Link to readthedocs documentation from OpenCS

See merge request OpenMW/openmw!171
4 years ago
Frederic Chardon 513ac8986d Add link to opencs documentation on readthedocs, available through
context menu.
The documentation opens in default browser.

There are 3 contexts:
- global: opens the OpenMW CS User Manual main page
- when a record is selected: opens the "Tables" page
- when the filter field is selected: opens the "Record Filters" page

There is also a link to the OpenCS tutorial in the help menu.
4 years ago
Alexei Dobrohotov b5ff32569b
Merge pull request #2768 from glassmancody/tabfix
Fix tab focus for pinned windows
4 years ago
Capostrophic bbf6b4e517 Don't radialize underwater fog 4 years ago
Alexei Dobrohotov 392192ffc5 Merge branch 'no-empty-primitivesets' into 'master'
Don't add empty PrimitiveSets (prevent undefined behaviour)

See merge request OpenMW/openmw!174
4 years ago
AnyOldName3 1cf2036386 Don't add empty PrimitiveSets (prevent undefined behaviour) 4 years ago
David Cernat 001d63b59b [Client] Keep extra item data when adding items to player via Take All 4 years ago
Bret Curtis 0d10293f24
everything is implied yes 4 years ago
Bret Curtis 9698c21b36
build bsa and esm tools 4 years ago
Capostrophic c3cc8ee1e1 Disable specular lighting for 4.0.0.2 and earlier files 4 years ago
Julien Valentin 6e2a651252 fix particle alpha 4 years ago
Alexei Dobrohotov 4167bdf319
Merge pull request #2780 from elsid/fix_changelog
Fix issue number in changelog
4 years ago
elsid ec7976522d
Fix issue number in changelog 4 years ago
Andrei Kortunov ec3b8be67b
Merge pull request #2777 from Capostrophic/journal
Make book layer have lower priority than the layer for other GUI windows
4 years ago
Capostrophic bbed9a70c5 Ignore traps of initially unlocked refs with assigned keys 4 years ago
Bret Curtis bcc211cb5b
Merge pull request #2776 from Capostrophic/esmtool
Revise esmtool cell reference output
4 years ago
Bret Curtis 26ce8bc3f6
Merge pull request #2778 from elsid/fix_tests_build
Specialize DetourNavigator::ObjectId ctor for pointers
4 years ago
Andrei Kortunov 0364e0abc2
Merge pull request #2779 from Capostrophic/dialogue
Reset dialogue history when the window can't track what closed it
4 years ago
Capostrophic fbcc8ef046 Reset dialogue history when the window can't track what closed it 4 years ago
David Cernat 509f03ca52 [General] Use flags instead of autoCalc for enchantment dynamic records
This brings the handling of dynamic records in multiplayer up-to-date with ad333e88fe
4 years ago
elsid 208a50340d
Specialize DetourNavigator::ObjectId ctor for pointers
To fix msvc error:
components\detournavigator\objectid.hpp(14,13): error C2440: 'reinterpret_cast': cannot convert from 'const T' to 'size_t'
          with
          [
              T=unsigned long
          ]
4 years ago
Capostrophic 36d82abafd Make book layer have lower priority than the layer for other GUI windows 4 years ago
Capostrophic 5dc8da5f67 Only disarm traps with keys when the door is locked (bug #5370) 4 years ago
Capostrophic 4e22f03ece Revise esmtool cell reference output 4 years ago
David Cernat 25a632c650 Add OpenMW commits up to 13 Apr 2020
# Conflicts:
#	CMakeLists.txt
#	README.md
#	apps/openmw/engine.cpp
#	apps/openmw/mwclass/creaturelevlist.cpp
#	apps/openmw/mwgui/quickkeysmenu.cpp
4 years ago
Andrei Kortunov 94c1672e73
Merge pull request #2770 from Capostrophic/autocalc
Handle enchantment autocalc flag as a flag (bug #5363)
4 years ago
Andrei Kortunov 8d4dde7b56
Merge branch 'master' into autocalc 4 years ago
Andrei Kortunov 5df6646b06
Merge pull request #2773 from Capostrophic/dialogue
Only clear dialogue history if the dialogue window is closed (bug #5358)
4 years ago
Andrei Kortunov 0bc40e1002
Merge branch 'master' into dialogue 4 years ago
Andrei Kortunov f75417e627
Merge pull request #2772 from Capostrophic/startscript
Make adding non-existent global script more forgiving (bug #5364)
4 years ago
Andrei Kortunov 844b6011bc
Merge branch 'master' into startscript 4 years ago
Andrei Kortunov a76927023d
Merge pull request #2771 from Capostrophic/soul
Show the soulgem soul in count dialog (feature #5362)
4 years ago
Andrei Kortunov cb6707624d
Merge branch 'master' into soul 4 years ago
Andrei Kortunov 7d6962b6be
Merge pull request #2769 from Capostrophic/quickkeys
Don't play equip sound for reactivated quick key items (bug #5367)
4 years ago
Andrei Kortunov 31cc1e0f66
Merge branch 'master' into quickkeys 4 years ago
Andrei Kortunov 4c8cc0e54f
Merge pull request #2774 from Capostrophic/levelledscale
Properly utilize creature levelled list's scale (bug #5369)
4 years ago
Andrei Kortunov 4892172a7d
Merge pull request #2767 from Capostrophic/unlock
Make sure it's a crime to unlock owned doors
4 years ago
Cody a34fe1d9b2 proper game mode detection 4 years ago
Capostrophic 07779d7fcf Properly utilize creature levelled list's scale (bug #5369) 4 years ago
Capostrophic 9dbdbbaea7 Only clear dialogue history if the dialogue window is closed (bug #5358) 4 years ago
Capostrophic 96a447ee3a Show the soulgem soul in count dialog (feature #5362) 4 years ago
Cody 8e741a0d0b fixed tab focus for pinned windows 4 years ago
Andrei Kortunov b42d097739 Merge branch 'doc_copyright' into 'master'
Update copyright year in the doc

See merge request OpenMW/openmw!172
4 years ago
Andrei Kortunov 3f61022f80 Merge branch 'unused_var' into 'master'
Remove unused field from QuadTreeBuilder

See merge request OpenMW/openmw!173
4 years ago
fredzio 6d0022096d Bump copyright year in documentation 4 years ago
Capostrophic f79e20379b Make sure it's a crime to unlock owned doors 4 years ago
Capostrophic de7ecddbb8 Don't play equip sound for reactivated quick key items (bug #5367) 4 years ago
Andrei Kortunov 74c121a69d
Merge pull request #2766 from Capostrophic/collisionswitch
Make extra sure groups with special behavior aren't optimized out
4 years ago
Capostrophic ad333e88fe Handle enchantment autocalc flag as a flag (bug #5363) 4 years ago
fredzio 39a55318b0 Remove unused variable 4 years ago
Capostrophic feeab8a335 Make adding non-existent global script more forgiving (bug #5364) 4 years ago
Andrei Kortunov 7ee935db47 Merge branch 'yet-more-gitignore' into 'master'
Add .vs to gitignore

See merge request OpenMW/openmw!169
4 years ago
Capostrophic e1d635cd71 Make extra sure groups with special behavior aren't optimized out 4 years ago
AnyOldName3 f1b2ab9d67 Add .vs to gitignore
Apparently Visual Studio puts stuff in a .vs directory now.
4 years ago
AnyOldName3 12044a607b Only alpha-test shadows when necessary
Previously we always discarded shadow map fragments if the alpha channel of the output would have been low, but there were some (modded) assets that have non-one alpha but have testing or blending disabled so end up opaque anyway. This lets the shadows of those objects match.
4 years ago
Alexei Dobrohotov f27e299025
Merge pull request #2764 from unelsson/fixtolandsize
Minor fix to OpenMW-CS tool outline
4 years ago
Nelsson Huotari 42c7ec8f1c Minor fix to calculation of mLandSizeFactor (-1) 4 years ago
Bret Curtis 613189d7d9 bump to 0.47 for new dev cycle 4 years ago
Andrei Kortunov d92af43696
Merge pull request #2763 from akortunov/warnfix
Fix int/float conversions in the CSVRender::BrushDraw
4 years ago
Andrei Kortunov 023c51ad0e Fix int/float conversions in the CSVRender::BrushDraw 4 years ago
Andrei Kortunov 9712925ba3
Merge pull request #2762 from akortunov/warnfix
Avoid a hack to initialize mIndex in the editor
4 years ago
Andrei Kortunov c7cedc4e5a Avoid a hack to initialize mIndex 4 years ago
Bret Curtis d3b898de88
Merge pull request #2749 from akortunov/sound_pause
Pause audio and video when the game is minimized
4 years ago
Bret Curtis 7fda65e7bb
Merge pull request #2692 from unelsson/opencsbrushdraw
Editor: Implement brush outlines
4 years ago
Andrei Kortunov e444766901 Use enums for blockers IDs instead of strings 4 years ago
Bret Curtis b243ee6f74
Merge pull request #2744 from OpenMW/debian_appstream
add launchable type
4 years ago
Bret Curtis 328c3617b7
Merge pull request #2752 from Assumeru/parsing-errors
Reset errorhandler context
4 years ago
Bret Curtis 03da834bb2
Merge pull request #2760 from akortunov/explode
Do not try to launch magic bolt when direction to target is empty
4 years ago
Andrei Kortunov 2254256db9 Pause both audio and video playback when the game is minimized (feature #4944) 4 years ago
Andrei Kortunov 3d6fd2818f Support for per-type sound blockers 4 years ago
Andrei Kortunov 7545256d1f Do not try to launch magic bolt when direction to target is empty (bug #5350) 4 years ago
Andrei Kortunov bb7c2ac630
Merge pull request #2759 from Capostrophic/lightsource
Don't use up light duration if the held light is hidden (bug #5352)
4 years ago
Capostrophic 1928bebe98 Don't use up light duration if the held light is hidden (bug #5352) 4 years ago
Andrei Kortunov 028760e108
Merge pull request #2758 from akortunov/warnfix
Fix some issues, found by CoverityScan
4 years ago
Andrei Kortunov 0ce953ff7d
Merge pull request #2757 from Capostrophic/land
Fix ESM::Land oversights
4 years ago
Capostrophic 5732b8e026 Use std::fill instead of loops to reset some arrays to defaults 4 years ago
Capostrophic 27d4fe9ee1 Fix ESM::Land oversights 4 years ago
Andrei Kortunov a68d9aed4c Fix issues, found by CoverityScan 4 years ago
Evil Eye 8c433d587c less complicated context override 4 years ago
Andrei Kortunov 02d7b13075
Merge pull request #2529 from akortunov/nodecopy
Copy transformations data when we clone node
4 years ago
Andrei Kortunov 26ac6839d4
Merge pull request #2755 from akortunov/guifixes
Do not disable a mouse cursor until it moved when you exit a GUI mode
4 years ago
Andrei Kortunov 3a1b2307ce
Merge pull request #2756 from elsid/write_hnt_arrays
Use template specialization for writeHNT to write raw arrays
4 years ago
elsid ef4a7089e4
Use template specialization for writeHNT to write raw arrays
To avoid passing explicit size argument where it's possible.
4 years ago
Roman Siromakha 3bd2c114a7
Merge pull request #2741 from akortunov/warnfix
Fix C5204 warnings by adding default virtual destructors
4 years ago
Andrei Kortunov e6a5a5d517
Merge pull request #2754 from hristoast/controllerdb2
Two more that I missed
4 years ago
Hristos N. Triantafillou da7032caff
Two more that I missed 4 years ago
Andrei Kortunov d222435774 Do not disable a mouse cursor until it moved every time when you exit a GUI mode 4 years ago
Andrei Kortunov 20d5cd6596
Merge pull request #2753 from hristoast/controllerdb
These files aren't in the repo anymore
4 years ago
Hristos N. Triantafillou e6a6411b95
These files aren't in the repo anymore 4 years ago
Evil Eye a16727d5e3 implement move constructor 4 years ago
Evil Eye 8958e29187 reset errorhandler context 4 years ago
Bret Curtis baf3c36a76
Merge pull request #2722 from akortunov/gyro
Rotate camera via gyroscope on mobile devices
4 years ago
Bret Curtis 2edf1cdf4d
rewording 4 years ago
David Cernat 40cdab4a06 [CI] Fix .travis.yml 4 years ago
David Cernat 7bc3298ed4 Add OpenMW commits up to 1 Apr 2020
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	apps/openmw/mwphysics/physicssystem.cpp
4 years ago
Andrei Kortunov e63325ebff Support for camera rotation via gyroscope on Android (feature #5311) 4 years ago
Nikolay Kasyanov c8596f782a [macOS, CI] Use prebuilt dependencies with SDL2 2.0.12 4 years ago
Bret Curtis 2a31382e20
Merge pull request #2748 from Capostrophic/physicssystem
mwphysics refactoring (task #5338)
4 years ago
Capostrophic 5e2e5b7aa9 Fix btCollisionObjectWrapper forward declaration 4 years ago
Andrei Kortunov dd42635f7c
Merge pull request #2750 from Capostrophic/keyframecontroller
Always create NiGeometry nodes as MatrixTransform
4 years ago
Capostrophic 80239235d3 Always create NiGeometry nodes as MatrixTransform 4 years ago
Capostrophic 4f08f6e09b Separate ClosestNotMeConvexResultCallback 4 years ago
Capostrophic 19010ec045 Separate MovementSolver 4 years ago
Capostrophic ca6cce0c7e Separate Stepper 4 years ago
Capostrophic 5d625c12dc Separate ContactTestResultCallback 4 years ago
Capostrophic c94cd775bf Separate ClosestNotMeRayResultCallback 4 years ago
Capostrophic ce588fb39c Separate DeepestNotMeContactTestResultCallback 4 years ago
Capostrophic 1629791885 Port wareya's actor tracer consistency fixes 4 years ago
Alexei Dobrohotov 4bb41a52bf
Merge pull request #2740 from Assumeru/empty-string
Ignore unterminated empty strings
4 years ago
Alexei Dobrohotov 2a94fa8639
Merge pull request #2746 from Assumeru/aitravel-reset
Remove "extra argument" warning from AiTravel
4 years ago
Bret Curtis 5df95b95f2
Merge branch 'master' into empty-string 4 years ago
Evil Eye 15a95add08 remove false positive 4 years ago
Evil Eye e07fa37fa3 ignore final whitespace/comments 4 years ago
Alexei Dobrohotov d6d8ed2137
Merge pull request #2745 from Capostrophic/fever
Fix some serious oversights caused by my fever
4 years ago
Capostrophic 69219c18a7 Make sure blank lines at the end of settings.cfg don't disappear 4 years ago
Capostrophic 99e89f23a6 Fix calculateNpcStatModifiers call for non-NPCs 4 years ago
Bret Curtis deac2abc0f add launchable type; rename files to be conform to freedesktop.org and debian standards 4 years ago
Andrei Kortunov 79e7155f50
Merge pull request #2743 from Capostrophic/formatting
Improve blank line handling in settings writer (bug #5326)
4 years ago
Capostrophic bec5746fdd Improve blank line handling in settings writer (bug #5326) 4 years ago
Nelsson Huotari 66fba7cc51 Remove unneeded constructors, only initialize in cpp, minor fixes 4 years ago
Andrei Kortunov 60161e639c
Merge pull request #2742 from Capostrophic/skills
Reset skills of dead actors (bug #5328)
4 years ago
Nelsson Huotari ec2ff2a9b0 Fix if oneliners 4 years ago
Capostrophic 04ebe5c4c9 Reset skills of dead actors (bug #5328) 4 years ago
Nelsson Huotari c8c7501d97 Add changelog 4 years ago
Nelsson Huotari 18cdd3bd7c rebase-related fixes 4 years ago
Nelsson Huotari da0add904b Fix and simplify brush outlines and coordinate calculations 4 years ago
Nelsson Huotari 8f625474fd Hotfix terraintexturemode circle brush radius calculations 4 years ago
Nelsson Huotari e14c390a9b Fix crash 4 years ago
Nelsson Huotari 731e5b57f5 Tool outline for terraintexturemode and square shape. Various fixes. 4 years ago
Nelsson Huotari 24c8b32d4c Implement brush outline for terrainshapemode 4 years ago
Andrei Kortunov fe75308fdb Disable warning C5204 which come from Boost library 4 years ago
Andrei Kortunov 2e7712a390 Fix C5204 warnings by adding default virtual destructors 4 years ago
Bret Curtis 4c5d2feee8
Merge pull request #2739 from Capostrophic/vampirism
Don't reset dead non-werewolf vampires' vampire NPC type (regression #5327)
4 years ago
Evil Eye fea7e68fe9 silence operator precedence warning 4 years ago
Evil Eye 8dc081a60d ignore unterminated empty strings 4 years ago
Capostrophic 3e3f5d66b2 Don't reset dead non-werewolf vampires' vampire NPC type 4 years ago
Bret Curtis 8779d261ba
Merge pull request #2735 from OpenMW/psi29a-Bionic-name
Xenial -> Bionic name change
4 years ago
Alexei Dobrohotov baff15362a
Merge pull request #2713 from unelsson/opencsdropobjects
Editor: Implement dropping objects with keypress in instancemode
4 years ago
Chris Djali 648256969d
Merge pull request #2737 from Capostrophic/property
Correct drawable property apply order (bug #5313)
4 years ago
Alexei Dobrohotov 8d02b619fd
Merge pull request #2728 from akortunov/swimfix
Trace down dead persistent actors underwater
4 years ago
Capostrophic 7319eda54e Correct drawable property apply order (bug #5313) 4 years ago
Andrei Kortunov d21314231b
Merge pull request #2736 from akortunov/master
Fix Qt download link for Windows
4 years ago
Andrei Kortunov d2acac0ebe Fix Qt download link for Windows 4 years ago
Bret Curtis 53da5b8c54
Xenial -> Bionic name change 4 years ago
Andrei Kortunov 9d254aefb3
Merge pull request #2731 from Capostrophic/gender
Fix Gender column filtering (bug #4601)
4 years ago
Bret Curtis 6410f57b42
Merge pull request #2733 from OpenMW/windows_sdl2012
give sdl2 2.0.12 for windows a try
4 years ago
Bret Curtis 444d667d22 give sdl2 2.0.12 for windows a try 4 years ago
Bret Curtis a7e77d74eb
Merge pull request #2732 from OpenMW/travis_ci_bionic
bump to bionic; gcc-9 and clang-10
4 years ago
Bret Curtis 3fc5c499fb another try for system clang 4 years ago
Bret Curtis 42640b7811 no need to re-map when using system default 4 years ago
Bret Curtis 0a96f4c847 get the default... 4 years ago
Bret Curtis f2f5b1104f try clang-6 since that is officially in repo 4 years ago
Bret Curtis 5091e2c371 bump to bionic; gcc-9 and clang-10 4 years ago
Capostrophic 18bfc6f2c5 Fix Gender column filtering (bug #4601) and correct filter descs 4 years ago
David Cernat 907c5fc6de Merge branch '0.7.1-summons-ordering' into 0.7.1 4 years ago
Andrei Kortunov ed06fc2aa8 Merge branch 'data_files_refresh' into 'master'
Implement a refresh button on data files page

See merge request OpenMW/openmw!166
4 years ago
James Moore a37bdfd492 Implement a refresh button on data files page 4 years ago
Andrei Kortunov d2a2c74e08 Trace down dead persistent actors underwater (regression #5317) 4 years ago
Andrei Kortunov f4ace20885
Merge pull request #2726 from Assumeru/robe
Make robes cover the chest slot
4 years ago
Andrei Kortunov 3d20df883e
Merge pull request #2727 from akortunov/guifixes
Make slider control in the wait window to be a more intuitive
4 years ago
Andrei Kortunov 6de1c0d0d3 Merge branch 'alchemyfilter' into 'master'
Filters for ingredients & effects in alchemy window

See merge request OpenMW/openmw!106
4 years ago
uramer ee84868b7d [Client] Fix double summoning magical effects 4 years ago
Andrei Kortunov 90508237b1 Make slider control in the wait window to be a more intuitive 4 years ago
fredzio e1b5dd97b8 Add a filter in the alchemy window.
A button allow to switch between ingredient name and magic effect.
Switching reset the filter.
The default filter can be set in the layout file.

The player can show only ingredients whose either name or effect
match the filter
Only effect that are known to the player (via alchemy skill) are
taken into account
4 years ago
uramer 3e7230e89d [Client] Assign summoned creatures' actorId correctly, skipping those already assigned 4 years ago
Evil Eye 4f4982545a make robes cover the chest slot 4 years ago
Nelsson Huotari 793ea8566f Fix typo 4 years ago
Nelsson Huotari 17cb3414d8 clean-up, improve formatting 4 years ago
Bret Curtis d8e1a6b286
Merge pull request #2725 from akortunov/factions
Do not write empty trade time
4 years ago
Andrei Kortunov e20d156904 Do not write empty trade time 4 years ago
Nelsson Huotari 75f6577f61 Remove unneeded include 4 years ago
Nelsson Huotari 41aa90bfa7 Add helper class for safer mask handling 4 years ago
Nelsson Huotari af434cffba fix numeric limits min() to lowest(), fix correct drop height 4 years ago
Nelsson Huotari 035d5205d9 Use collision boxes to calculate dropping height, variable naming 4 years ago
Nelsson Huotari b8e6257beb Add changelog 4 years ago
Nelsson Huotari 54738e1e32 Handle mask disabling better 4 years ago
Nelsson Huotari 711dc59f09 Implement four different functions for dropping 4 years ago
Nelsson Huotari f063eeb36e Drop objects with a keyboard shortcut 4 years ago
Bret Curtis 79517f3f42
Merge pull request #2724 from akortunov/factions
Cleanup ownership for items in containers
4 years ago
Alexei Dobrohotov e80fbf4786
Merge pull request #2721 from akortunov/radial_fog
Support for radial fog
4 years ago
Andrei Kortunov 02444add2a Support for radial fog (feature #4708) 4 years ago
Alexei Dobrohotov af4e0d59f8
Merge pull request #2723 from akortunov/casts
Do not use dynamic casts when using ObjectState
4 years ago
Andrei Kortunov ea30e27370 Cleanup ownership for items in containers 4 years ago
Andrei Kortunov dea2018d9f Do not use dynamic casts when using ObjectState 4 years ago
David Cernat 0acf6f0242 Merge branch '0.7.1-sound-records' into 0.7.1 4 years ago
uramer 094a73867a [General] Don't compress non-string values in sound record packets 4 years ago
Alexei Dobrohotov 1fadf259a9
Merge pull request #2619 from elsid/togglerecastmesh
Support recast mesh rendering
4 years ago
David Cernat 94f5b169e6 Merge branch '0.7.1-window-input' into 0.7.1 4 years ago
uramer f46f028754 [General] Sound custom records 4 years ago
uramer e0aaa7ee40 [Server] Remove duplicate includes 4 years ago
uramer 758ec17a6e [Server] Include handleInput.cpp correctly 4 years ago
uramer 09ea1ab585 [Server] SetObjectSound 4 years ago
elsid 5168f2059f
Compare revisions by equality to support overflow 4 years ago
elsid 7ae7cb181d
Support recast mesh rendering 4 years ago
David Cernat 43e7df6df8 Add OpenMW commits up to 11 Mar 2020 4 years ago
Andrei Kortunov f603daecdc
Merge pull request #2720 from Capostrophic/getitemcount
Accept an extra numerical argument in GetItemCount
4 years ago
Capostrophic c1f1e367fa Accept an extra numerical argument in GetItemCount 4 years ago
Roman Siromakha b1ed7a433e
Merge pull request #2718 from akortunov/storage
Keep an AiWanderStorage when cloning an actor
4 years ago
Alexei Dobrohotov 7e6a533a29
Merge pull request #2695 from elsid/aiwander_check_destination
Add more destination checks for AiWander without pathgrid
4 years ago
Bret Curtis 7096ecdcf2
Merge pull request #2719 from Capostrophic/capofixes
Fixes of my mistakes
4 years ago
Bret Curtis 3502b28045
Merge pull request #2714 from Capostrophic/bumpmapping
Add bump-mapping support (feature #5304)
4 years ago
Capostrophic d3244dc777 Don't save space in compressed BSA hash generation 4 years ago
Capostrophic aef6cd7006 Fix handling of empty strings in NIF string tables 4 years ago
Andrei Kortunov 9f27a0d095 Keep an AiWanderStorage when cloning an actor (bug #5267) 4 years ago
Chris Djali d9f147272c
Merge pull request #2717 from akortunov/map_texture
Don't unnecessarily copy global map texture during savegame loading
4 years ago
Andrei Kortunov 8e1e4d6757 Do not copy global map texture during savegame loading (bug #5308) 4 years ago
Andrei Kortunov ae65b0228a Do not write custom data for disposed actors 4 years ago
Andrei Kortunov 94df2114c1 Store fog of war as a PNG image instead of TGA (bug #5108) 4 years ago
Capostrophic 5770227e37 Avoid using auto-detected normal maps that are bump map namesakes 4 years ago
Capostrophic 624a9ac353 Force shaders for objects affected by new envmap option 4 years ago
Capostrophic 4455c978df Explain the global shader define default values in editor 4 years ago
Capostrophic 2b3ecff004 Remove broken fixed function pipeline support
Added by mistake
4 years ago
Capostrophic ed95a79199 Update changelog 4 years ago
Capostrophic 6999f1fd28 Add an option to apply lighting to environment maps 4 years ago
Capostrophic 29e6c6baae Update documentation 4 years ago
Capostrophic 19a7245251 Add bump mapping support 4 years ago
Bret Curtis bbca1f3d1d
Merge pull request #2712 from Capostrophic/search
Make search fields behave more consistently
4 years ago
uramer 2b71cbb8fc [Server] Handle backspace input if the current line is empty 4 years ago
uramer 59693abc74 [Server] Handle backspace in the server window 4 years ago
Capostrophic 54334932d9 Move user string assignment to layout files 4 years ago
uramer 4e6bcf02d2 [Server] Pass stdin to a Lua event, fix Ctrl+C on Windows 4 years ago
AnyOldName3 52fa20fb1c Merge branch 'fix-sky' into 'master'
Fix building mwrender/sky with OSG 3.6.5

See merge request OpenMW/openmw!162
4 years ago
uramer 3476bd7d04 [Client] Play sounds at fixed position if the object is in current cell 4 years ago
David Cernat 06a3604f9e Merge remote-tracking branch 'uramer/0.7.1-game-settings' into 0.7.1 4 years ago
David Cernat 27d35d73a2 [General] Implement OnObjectSound packet
Many interactions between players and objects now have their sounds sent to other players.
4 years ago
David Cernat 4b69d1cc51 [Client] Play sound for object placements where droppedByPlayer is true 4 years ago
uramer bb8182663f [General] Set any settings from the Game category with the GAME_SETTINGS packet 4 years ago
David Cernat 1a7060c5c5 [Server] Add server functions for handling the droppedByPlayer boolean 4 years ago
David Cernat 8b2bf941cd [Client] Only play trap disarm sounds when the server approves disarming 4 years ago
Bret Curtis 04f2b320b9
Merge pull request #2673 from Capostrophic/wizard
Make Wizard less shy (bug #4493)
4 years ago
Capostrophic 4b17d5da43 Make search fields behave more consistently 4 years ago
Andrei Kortunov 8442446080
Merge pull request #2711 from Capostrophic/failsafe
Revert infinite fall failsafe addition
4 years ago
Capostrophic d44dcc3242 Revert infinite fall failsafe addition 4 years ago
Alexei Dobrohotov 4928aaf3f1
Merge pull request #2710 from akortunov/collisionswitch
Take in account transformations of NiCollisionSwitch
4 years ago
David Cernat 9d3afc019a [Client] Add logging for items added to & removed from player by server
Additionally, adjust comment related to potion creation to mention sending of stored item removals.
4 years ago
Andrei Kortunov 8c177f0306 Take in account transformations of NiCollisionSwitch 4 years ago
David Cernat dae805dbc1 [Client] Avoid PlayerInventory packet spam when creating many potions 4 years ago
Alexei Dobrohotov 22b4629fc6
Merge pull request #2678 from unelsson/deleteinstanceshotkey
Editor: Delete instances via hotkey
4 years ago
Capostrophic 21c49ca1b0 Make Wizard less shy (bug #4493) 4 years ago
Alexei Dobrohotov 3f64d98305 Merge branch 'inventorysearch' into 'master'
Item search in inventory redux

See merge request OpenMW/openmw!158
4 years ago
Frederic Chardon 78d58a344d Item search in inventory (feature #4831) 4 years ago
Bret Curtis 68e734889a
Merge pull request #2709 from Capostrophic/torch
Switch torches to shields for hostile NPCs (bug #5300)
4 years ago
Capostrophic 1da4b31047 Switch torches to shields for hostile NPCs (bug #5300) 4 years ago
Andrei Kortunov a01c44bbdd
Merge pull request #2707 from Capostrophic/pcskipequip
Make PCSkipEquip and OnPCEquip behavior vanilla-like (bug #4141)
4 years ago
David Cernat 31c0f5c976 [Client] Use clearer boolean name for checks regarding inventory sending 4 years ago
David Cernat e78503d5f3 [General] Include potion quantity in RecordDynamic packets
Don't spam the server with one RecordDynamic packet per potion created when brewing multiple potions at once. Instead, send a single RecordDynamic packet with the potion quantity included in it.

Add serverside script functions for getting the potion quantity.
4 years ago
Andrei Kortunov b1acb9e467
Merge pull request #2706 from Capostrophic/modcurrentfatigue
Make ModCurrentFatigue knock down the actor when necessary (bug #4523)
4 years ago
David Cernat 678a308269 Merge remote-tracking branch 'Veenkar/0.7.1-credentials-hashing-fix' into 0.7.1 4 years ago
David Cernat cf453092ce Merge remote-tracking branch 'Veenkar/0.7.1-fix-533' into 0.7.1 4 years ago
Capostrophic cfa877b109 Make PCSkipEquip and OnPCEquip behavior vanilla-like (bug #4141) 4 years ago
Alexander Olofsson 776c0857fa
Always use ref_ptr for query geometry 4 years ago
Capostrophic f9f0299c27 Make ModCurrentFatigue KO the actor when necessary (bug #4523) 4 years ago
David Cernat 85fb1d1a0b Add OpenMW commits up to 19 Feb 2020
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
4 years ago
Bret Curtis fa7af1bae8
Merge pull request #2705 from Capostrophic/water
Fix water ripple cleanup (bug #5246)
4 years ago
Capostrophic 3787625e61 Fix water ripple cleanup (bug #5246) 4 years ago
Bret Curtis c907cd98c8
Merge pull request #2704 from akortunov/collisionswitch
Handle NiCollisionSwitch node
4 years ago
Nelsson Huotari 198a75b8e6 Delete selected instances with a hotkey 4 years ago
Alexei Dobrohotov e1f0504557
Merge pull request #2703 from akortunov/masks
Fix a regression in the NiVisController
4 years ago
Andrei Kortunov 77d6fe46ca Handle NiCollisionSwitch node 4 years ago
Andrei Kortunov 7b5ec76db4 Fix regression in the NiVisController 4 years ago
Alexei Dobrohotov 9b9769a123
Merge pull request #2702 from elsid/override
Add final modifier to fix warnings
4 years ago
elsid 650f429ff5
Add final modifier to fix warnings 4 years ago
David Cernat ab794f0068 [General] Add handling of longs to ClientScriptLocal
Use better wording in comments related to ClientScriptLocal and ClientScriptGlobal.
4 years ago
David Cernat 8db396d10a [General] Distinguish between shorts & longs in ClientScriptGlobal
Adjust ClientScriptLocal so it refers to its previously handled integers as shorts.
4 years ago
Bret Curtis a0902bb98e
Merge pull request #2700 from akortunov/masks
Move VisMask to components
4 years ago
Andrei Kortunov 84979fa8b7 Move VisMask to components 4 years ago
Michal Marchewka bf7041b067 [Server] Fix credentials generation. Used static variable as a workaround. 4 years ago
Michal Marchewka 44c13154ff [Client] Fix #533. LocalPlayer.cpp joins neccessary faction only. 4 years ago
David Cernat a4b10c75e1 [Client] Remove unneccessary addConsoleCommandObject() from ObjectList 4 years ago
David Cernat 643c979d31 [Client] Use getBaseObjectFromPtr() whenever possible in ObjectList 4 years ago
Alexander Olofsson 5de1e0fb0c
Use queryGeom for all query geometry accesses 4 years ago
Bret Curtis 92e6a21b53
Merge pull request #2701 from Capostrophic/fallthreshold
Make infinite fall failsafe logic more forgiving
4 years ago
Capostrophic 9db0bbf255 Make infinite failsafe logic more forgiving 4 years ago
David Cernat ffead444db [Server] Use consistent order for WorldstateFunctions 4 years ago
David Cernat 60ca72a70a [Client] Send packets with floats when their floors change
This helps prevent frame-by-frame packet spam from floats used as timers.

Additionally, clean up the comments regarding clientside variables.
4 years ago
Roman Siromakha 3ae1a208df
Merge pull request #2684 from Capostrophic/damagefatigue
Make uncapped Damage Fatigue optional (bug #5264)
4 years ago
Alexander Olofsson 7db58a893a
Ensure osg/Version is included 4 years ago
Alexander Olofsson 807f550386
Fix building mwrender/sky with OSG 3.6.5
OSG commit aff574b completely replaces the method of doing user-defined
query geometry, removing support for modifying the default geometry.
4 years ago
Bret Curtis 3bbd32fe98
Merge pull request #2667 from Capostrophic/infinitefall
Add an infinite fall failsafe (feature 1415)
4 years ago
David Cernat 2390e951bb [Client] Avoid packet spam by not giving locals values they already have 4 years ago
Andrei Kortunov 7d53c6274d
Merge pull request #2697 from Capostrophic/shield
Don't try to attach absent (empty path) shield models to NPCs
4 years ago
Alexei Dobrohotov 36f1b632ec
Merge pull request #2699 from elsid/get_items_owned_by_visitor
Avoid using temporary vector to get items owned by
4 years ago
elsid 1e4565a15c
Avoid using temporary vector to get items owned by 4 years ago
David Cernat 76f3805e16 [Server] Fix Windows build by not using sigaction on Windows 4 years ago
Capostrophic 61b60c8a94 Add an infinite fall failsafe (feature 1415) 4 years ago
David Cernat a13cef9913 Merge branch '0.7.0reset' of https://github.com/uramer/openmw into 0.7.1
# Conflicts:
#	apps/openmw-mp/Script/Functions/Worldstate.cpp
#	apps/openmw-mp/Script/Functions/Worldstate.hpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwmp/CellController.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
4 years ago
Andrei Kortunov 10fafabd7f
Merge pull request #2698 from Capostrophic/wander
Support movement deceleration for wander AI
4 years ago
Capostrophic 013953ec7f Support Wander movement deceleration 4 years ago
Capostrophic fcbd3b4324 Don't try to attach absent shield models to NPCs 4 years ago
Alexei Dobrohotov 54e7e0c718
Merge pull request #2696 from akortunov/intersector
Fix LineSegmentIntersector usage
4 years ago
elsid 9404b1dd72
Stop wandering when destination is hidden or occupied by other actor 4 years ago
elsid 4a0c056489
Do not wander to occupied area by other actor 4 years ago
elsid 85414e2353
Check for line of sight for wander destination 4 years ago
elsid 0c92a567af
Use distance to position since last normal state in obstacle checker 4 years ago
elsid 52945921a7
Print ptr by betacomment 4 years ago
Andrei Kortunov f4291ea948 Fix intersector usage (bug #5283) 4 years ago
David Cernat 71f0975bf2 [Documentation] Update readme and credits 4 years ago
David Cernat fb3514c8c3 Merge remote-tracking branch 'nalal/patch-1' into 0.7.1 4 years ago
David Cernat 491ccf21c5 Merge branch '0.7.1-build-fixes' into 0.7.1
# Conflicts:
#	components/CMakeLists.txt
4 years ago
David Cernat abd18745df [General] Include ScriptLocalFloat as part of ClientScriptLocal 4 years ago
Roman Siromakha 158f610b61
Merge pull request #2694 from Capostrophic/show
Make Show fallback to global variables when sensible (bug #5278)
4 years ago
Capostrophic 9b4be677f6 Make Show output format closer to vanilla 4 years ago
Capostrophic aadf13b123 Make Show fallback to global variables when sensible (bug #5278) 4 years ago
Capostrophic 122dffe4c1 Make uncapped Damage Fatigue optional (bug #5264)
Cap Absorb Fatigue
4 years ago
David Cernat b97fa7553c [Client] Remove variable redeclarations 4 years ago
AnyOldName3 3ce3f364ea Merge branch 'AnyOldName3-master-patch-00511' into 'master'
Add default font releaseGLObjects workaround for OSG <3.65

Closes #4704

See merge request OpenMW/openmw!160
4 years ago
David Cernat 4841c1ad4c [General] Rename ScriptLocalShort into ClientScriptLocal 4 years ago
Andrei Kortunov b8548b8f56
Merge pull request #2691 from elsid/navigator_status
Use status codes to handle navigator errors instead of exceptions
4 years ago
Andrei Kortunov 7371650f8e
Merge pull request #2688 from Capostrophic/shield
Make sure not to pick the ground shield model incorrectly for NPCs
4 years ago
Bret Curtis f71dac2876
Merge pull request #2690 from Capostrophic/interiorlighting
Avoid working with AMBI subrecord in tools unnecessarily (bug #5269)
4 years ago
Bret Curtis 7d77d44b34
Merge branch 'master' into interiorlighting 4 years ago
David Cernat dae76b91ee [CI] Assign execution permission to Linux .sh file again 4 years ago
David Cernat f0f76516d8 Add OpenMW commits up to 4 Feb 2020
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
4 years ago
elsid 349040ffb2
Use status codes to handle navigator errors instead of exceptions
For find path use case.
4 years ago
Roman Siromakha d5cee5aea9
Merge pull request #2687 from akortunov/wander
Re-work wandering outside of initial cell
4 years ago
Capostrophic 216a5d27c6 Avoid working with AMBI subrecord in tools unnecessarily (bug #5269) 4 years ago
Bret Curtis d07cec9a38
Merge pull request #2689 from Capostrophic/nifver4000
Some more minor NIF support fixes
4 years ago
Capostrophic 0479311c25 Correct declarations of utility methods 4 years ago
Capostrophic e363d5df21 Some more minor NIF support fixes 4 years ago
Capostrophic 4a78674583 Make sure not to pick the ground shield model incorrectly 4 years ago
Andrei Kortunov 1db51a9e08 Re-work wandering outside of initial cell (bug #5261, bug #5262) 4 years ago
Alexei Dobrohotov 9b21249a9e
Merge pull request #2685 from OpenMW/revert-2683-gravity
Revert "Don't apply 1.6 magic value to NiGravity decay factor (#5266)"
4 years ago
Alexei Dobrohotov 234fdfefb7
Revert "Don't apply 1.6 magic value to NiGravity decay factor (#5266)" 4 years ago
Andrei Kortunov 10129252c8
Merge pull request #2683 from Capostrophic/gravity
Don't apply 1.6 magic value to NiGravity decay factor (#5266)
4 years ago
AnyOldName3 73722eedf3 Add default font releaseGLObjects workaround for OSG <3.65
This resolves https://gitlab.com/OpenMW/openmw/issues/4704

I've not compiled this or anything and I'm going off my memory from
around ten or eleven months ago, so if this fails CI or causes more
problems, that's why. The most likely issue is that we'll need to make
the context current before releasing the program.
4 years ago
Capostrophic dcafe719a5 Don't apply 1.6 magic value to NiGravity decay factor (#5266) 4 years ago
Alexei Dobrohotov 2652b10b9c
Merge pull request #2681 from akortunov/hello
Do not interrupt greeting update when Hello = 0 or actor starts to swim
4 years ago
Andrei Kortunov edd81e297f
Merge pull request #2680 from elsid/fix_aiwander_disabled_navigator
Fallback to straight path when navmesh and pathgrind are not available
4 years ago
Andrei Kortunov 1522883fdd Do not interrupt greeting update when Hello = 0 or actor starts to swim (bug #5248) 4 years ago
elsid f7caeefddb
Fallback to straight path when navmesh and pathgrind are not available 4 years ago
Andrei Kortunov 92ea66bb21
Merge pull request #2679 from elsid/fix_aiwander_start
Fix start position for AiWander random point selection (bug #5262)
4 years ago
elsid 8e0b638145
Fix start position for AiWander random point selection 4 years ago
Bret Curtis 7dfbeff049
Merge pull request #2677 from unelsson/fixcsrotation
Editor: Convert radians to degrees when rotating objects
4 years ago
Bret Curtis 44a85795cf
Merge pull request #2669 from Capostrophic/wnam
Generate WNAM subrecord upon saving terrain instead of upon editing it
4 years ago
Bret Curtis 631f1733bf
Merge pull request #2675 from elsid/ccache
ccache fixes
4 years ago
Nelsson Huotari 032513ae18 Convert radians to degrees 4 years ago
elsid c690f2d43d
Disable coverage for travis CI 4 years ago
elsid 0147b0e398
Print ccache stats 4 years ago
elsid 3cdff837c8
Use default ccache settings 4 years ago
David Cernat 271dc3df87 [General] Rename unused ObjectCollision into ObjectSound 4 years ago
David Cernat fcebd9f4ae [General] Rename unused ActorInteraction into ActorSpellsActive 4 years ago
Andrei Kortunov e1e49832c7
Merge pull request #2670 from elsid/fix_aiwander_stuck
Fix AiWander stuck (bug #5237)
4 years ago
David Cernat a1142a8fb5 [General] Renamed unused PlayerActiveSkills into PlayerSpellsActive 4 years ago
David Cernat 038c5b8231 [Client] Rename ObjectList's addObject() into addBaseObject() 4 years ago
David Cernat 296c04af71 [Client] Combine ObjectList's getBaseObject() and getObjectFromPtr() 4 years ago
David Cernat 975797c09b [General] Implement ObjectRestock packet
Restocking object containers via trading now requires the server to send back an ObjectRestock packet before it can happen.

The unused packet ID ID_SCRIPT_GLOBAL_FLOAT has been replaced with ID_OBJECT_RESTOCK.
4 years ago
David Cernat 59a38164ea [Client] Add generic objects to ObjectList using addObjectGeneric() 4 years ago
David Cernat 989188c171 [Client] Remove ObjectList's confusing addObjectDelete() function 4 years ago
elsid 1e106013a0
Use navmesh to find wander destination outside pathgrid for ground based actors
Use dtNavMeshQuery::findRandomPointAroundCircle from recastnavigation
4 years ago
elsid e323e6e7e6
Consider moved distance in direction to destination for obstacle check
Assume actor is stuck when it's not able to move in the destination
direction with maximum speed. Approach to check moved distance from the
previous point doesn't work good for slow and big actors. When they face
obstacle they're trying to move along with oscillation so check is
passing but they don't get any closer to the destination.
4 years ago
Bret Curtis 3e4cedb7a8
Merge pull request #2668 from Capostrophic/target
Make GetTarget return 1 during actor greeting (bug #5255)
4 years ago
David Cernat 27b9357478 [Client] Send Container packets when buying or selling items at merchant 4 years ago
David Cernat a378b254f8 [Client] Include necessary headers in ContainerItemModel 4 years ago
David Cernat 8b14c007f3 [Client] Send ObjectDelete for purchased objects removed from world 4 years ago
Capostrophic a2c674bb2e Make GetTarget return 1 during actor greeting (bug #5255) 4 years ago
Koncord 02668cd45d
Add accidentally forgotten files to build 4 years ago
David Cernat f563b7c5ed
Merge pull request #541 from testman42/patch-4
It's current year
4 years ago
Testman 09cb990c28
It's current year
inb4 Current Year Fallacy
4 years ago
David Cernat 8e5859b466 [General] Add RESTOCK to enum of Container subactions 4 years ago
David Cernat 32b5529e18 [Client] Use check with clearer logic in ObjectList::editContainers() 4 years ago
David Cernat d2ba4a12d9 [Client] Simplify container sending with new addContainerItem() methods 4 years ago
David Cernat 51f0acbaf5 [Client] Improve logging for Container packets 4 years ago
David Cernat b0b51dc4d5 [Client] Don't print sending of console command packets 4 years ago
David Cernat 60b6f92fa3 Add OpenMW commits up to 13 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
4 years ago
Koncord 61ef177d48
Build debug, debugging and debuglog for all targets
The server will require SDL2
4 years ago
Koncord b9da843196
Add forgotten stdexcept include 4 years ago
Koncord 090f13b334
Fix CMake files to allow build server only 4 years ago
Andrei Kortunov 8bfca9830f
Merge pull request #2666 from Capostrophic/keybindings
Editor: Add a reset to defaults button to keybindings (feature #4068)
4 years ago
Alexei Dobrohotov be85159095
Merge pull request #2664 from akortunov/greeting
Rework greeting timeouts
4 years ago
Capostrophic 7659370992 Editor: Add a reset to defaults button to keybindings (feature #4068) 4 years ago
Andrei Kortunov a384104f73 Rework greeting timeouts (bug #5249) 4 years ago
capostrophic 89055f1c6c Generate WNAM upon saving terrain 4 years ago
Bret Curtis 95f9e4f4c9
Merge pull request #2649 from Capostrophic/nifstreamline
Yet more NIF adjustments
4 years ago
Andrei Kortunov 7d394dd97d
Merge pull request #2663 from akortunov/master
Add missing changelog entry
4 years ago
Andrei Kortunov a1c0a480ce Add missing changelog entry 4 years ago
Alexei Dobrohotov 2615913494
Merge pull request #2661 from akortunov/guifixes
Settings menu tweaks
4 years ago
Andrei Kortunov b298a4a281
Merge pull request #2662 from Capostrophic/shield
Use shield body part model for creatures (bug #5250)
4 years ago
capostrophic bbe5adb860 Use shield body part model for creatures (bug #5250) 4 years ago
Andrei Kortunov 4d4663e0ad Make 'Toggle HUD' hotkey configurable 4 years ago
Andrei Kortunov 2b8e976c6a Adjust settings menu 4 years ago
Andrei Kortunov 2bed25a5e8
Merge pull request #2659 from Capostrophic/aitravel
Handle out-of-range actors' travel packages (bug #5212)
4 years ago
capostrophic fc0f813dcb Add and use 'always active' AI package flag
Update documentation
4 years ago
Andrei Kortunov 70f6e1c81d
Merge pull request #2655 from Capostrophic/spellcasting
Fix reported spellcasting discrepancies
4 years ago
capostrophic 1251b32f0f Slightly reduce code duplication 4 years ago
capostrophic af2ea477d5 Don't use loops to detect absorb effects 4 years ago
capostrophic 42cc27194b Fix reported spellcasting discrepancies
Make ExplodeSpell behavior closer to Cast behavior (#5242)
Nullify on-self absorb spells in a different way (#5241)
Allow casting permanent spells through Cast/ExplodeSpell
4 years ago
Alexei Dobrohotov 7a4caaf5bf
Merge pull request #2660 from akortunov/boost
Additional de-boosting
4 years ago
Alexei Dobrohotov ff2739b8a3
Merge pull request #2651 from akortunov/encoding
Unify streams usage to support non-ASCII paths
4 years ago
Andrei Kortunov a250a405b4 An attempt to fix the MSVC2017 build 4 years ago
Andrei Kortunov 1cdd33b434 Implement additional stringops to avoid Boost functions 4 years ago
Andrei Kortunov cb1a8ec518 Do not link the Boost threads library 4 years ago
capostrophic 2d87d287ba Handle out-of-range actors' travel packages (#5212) 4 years ago
Andrei Kortunov 22a0549e73
Merge pull request #2656 from Capostrophic/sneak
Don't combine sneak idle with scripted/wander idles (bug #4284)
4 years ago
Alexei Dobrohotov 87f9b85e21
Merge pull request #2653 from akortunov/log
Improve BetaComment handling
4 years ago
Andrei Kortunov a42396254b Use ISO format to print datetime 4 years ago
Andrei Kortunov 23a5da37ef
Merge pull request #2658 from Capostrophic/shield
[Regression] Make creatures autoequip shields properly (bug #5243)
4 years ago
capostrophic 9b28420875 [Regression] Make creatures autoequip shields properly again 4 years ago
capostrophic 29c6a8975a Don't combine sneak idle with scripted/wander idles (bug #4284) 4 years ago
David Cernat e6c626f127 [General] Move handling of client globals to ClientScriptGlobal packet
ClientScriptGlobal is a new Worldstate packet that handles short, long and float values for global variables in clientside scripts.

Previously, short values were handled by the ScriptGlobalShort packet, while a partially implemented ScriptGlobalFloat packet also existed, but both of those packets were Object packets because they were added near the end of 2016 when only Player and Object packets existed (with the latter actually being called WorldEvent packets at the time). Both ScriptGlobalShort and ScriptGlobalFloat have now been removed.

The serverside script functions previously used to interact with ScriptGlobalShort have, however, been kept so they can be adjusted to work with local variables in clientside scripts instead in a future commit.
4 years ago
Andrei Kortunov af36b652aa Simplify datetime formatting 4 years ago
Andrei Kortunov 3278ca0b33
Merge pull request #2654 from Capostrophic/scvr
Avoid heap corruption while reading SCVR (bug #4680)
4 years ago
capostrophic 0467e8ee15 Avoid heap corruption while reading SCVR (bug #4680) 4 years ago
Andrei Kortunov b6899a821b Improve BetaComment handling (feature #4129) 4 years ago
Andrei Kortunov 3704acf857 Unify streams usage to support non-ASCII paths (bug #5239) 4 years ago
David Cernat c9b3ec1ca4 [Server] Use consistent ordering for kills & map worldstate functions 4 years ago
David Cernat a58f09fd6c Add OpenMW commits up to 2 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/enchanting.cpp
#	apps/openmw/mwworld/scene.cpp
4 years ago
capostrophic f234d53269 Don't use double negation 4 years ago
capostrophic 32caab663f Enumerate interpolation types properly 4 years ago
capostrophic c61f64ae86 Fix tests 4 years ago
capostrophic e654a52b70 More NIF adjustments
Constant interpolation support
4 years ago
Andrei Kortunov a5289035e2
Merge pull request #2650 from akortunov/encoding
Print error code when failed to open file on Windows
4 years ago
Andrei Kortunov 75fed1d236 Print error code when failed to open file on Windows 4 years ago
Alexei Dobrohotov 5a17d8e5a4
Merge pull request #2646 from akortunov/projectiles
Allow to enchant multiple projectiles at once
4 years ago
Andrei Kortunov 71e1d576cd Allow to enchant multiple projectiles at once (feature #3517) 4 years ago
Alexei Dobrohotov 119382ed13
Merge pull request #2647 from akortunov/warnfix2
Do not use the QStringList::fromSet, which is deprecated since Qt 5.14
4 years ago
Alexei Dobrohotov 133b99bf18
Merge pull request #2622 from akortunov/testcells
Implement TestCells and TestInteriorCells console commands
4 years ago
Andrei Kortunov d57253c5e2 Do not use the QStringList::fromSet, which is deprecated since Qt 5.14 4 years ago
Alexei Dobrohotov 2693598d82
Merge pull request #2642 from akortunov/warnfix2
Add safety checks for door state
4 years ago
Alexei Dobrohotov dfcc6d8b5a
Merge pull request #2640 from akortunov/save
Do not store gold-specific value for everything
4 years ago
Andrei Kortunov 24044b08e0 Do not store gold-specific value for everything 4 years ago
Andrei Kortunov 88a695f251 Add safety checks for door state 4 years ago
Andrei Kortunov 1f91c56472
Merge pull request #2645 from akortunov/master
Make R&D patch more noticable
4 years ago
Andrei Kortunov fd17a5acf4 Make R&D patch more noticable 4 years ago
Andrei Kortunov 24ce242941 Implement TestCells (feature #5219) 4 years ago
Andrei Kortunov 31c5c6d993
Merge pull request #2644 from akortunov/master
Initialize variables to avoid GCC warnings
4 years ago
Andrei Kortunov cd81f81fb6 Initialize variables to avoid GCC warnings 4 years ago
Andrei Kortunov c308498621
Merge pull request #2643 from akortunov/master
[Regression] Fix build on Qt4
4 years ago
Andrei Kortunov 089548cdc4 Fix build on Qt4 4 years ago
Andrei Kortunov 82308dacbb
Merge pull request #2641 from akortunov/cmake
Attempt to fix MacOS CI
4 years ago
Andrei Kortunov ed31b8c467 Attempt to fix MacOS CI 4 years ago
David Cernat ca9cd90a4d Add OpenMW commits up to 20 Dec 2019
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
4 years ago
Andrei Kortunov 30a18c2a66
Merge pull request #2625 from Capostrophic/sneaking
[Regression] Attempt to fix idle state reset again
4 years ago
Andrei Kortunov 2f133000e0
Merge pull request #2639 from akortunov/warnfix2
Make dtMeshTile POD
4 years ago
Andrei Kortunov e1958b671e Make dtMeshTile POD 4 years ago
Andrei Kortunov 545922f613
Merge pull request #2612 from akortunov/warnfix2
Fix most of deprecated API usage
4 years ago
Andrei Kortunov 78450312bf Fix the last warning about deprecated Qt functions 4 years ago
Andrei Kortunov 47a13f1ed2 Do not use deprecated Qt API in the launcher 4 years ago
Andrei Kortunov e44021b369 Fix most of deprecated API usage in the editor 4 years ago
David Cernat 32c7406eda [General] Implement OnObjectHit packet, part 3
Include damage, block states and knockdown states in ObjectHit packets about successful hits. Add serverside script functions for reading that information.
4 years ago
David Cernat c18aab5357 [General] Use default values of 0 for Attack floats in BaseStructs 4 years ago
David Cernat 868ad2b78f [General] Use default value of false for Attack booleans in BaseStructs 4 years ago
Andrei Kortunov cca69f54e7
Merge pull request #2638 from akortunov/master
Fix ESMTool build
4 years ago
Andrei Kortunov 5220177ebc Fix ESMTool build 4 years ago
Assumeru 737aa1e4e8 Remove FactionID editing from OpenCS (#2636)
* Remove FactionID editing

* remove useless comments

* rename FactionID to Unknown
4 years ago
Assumeru dfbe0021a5 Change rescaling to be more inline with vanilla (fixes #5214) (#2635)
* move rescaling to loadData

* clamp on save
4 years ago
Alexei Dobrohotov f3e8fbfded Merge branch 'range-safety' into 'master'
Make script literal lookup functions safer

See merge request OpenMW/openmw!113
4 years ago
Alexei Dobrohotov c3073f3225
Merge pull request #2634 from akortunov/textures
Make TextureProperty warnings more informative
4 years ago
Alexei Dobrohotov 9dc8fecdb3
Merge pull request #2633 from akortunov/equip
Improve equipment logic
4 years ago
Andrei Kortunov c41562fa27 Make TextureProperty warnings more informative 4 years ago
David Cernat 2249450b0e [Client] Fix inability for actors to talk to players caused by 4118b20608 4 years ago
David Cernat 9763f6f9c5 [Client] Fix infinite activation loops caused by 48aba76ce9 4 years ago
Andrei Kortunov d712d6b8ce
Merge pull request #2632 from Capostrophic/controllers
Avoid working with empty controller data (bug #5229)
4 years ago
Andrei Kortunov 97ee4bc349 Improve equipment logic (bug #5223) 4 years ago
Capostrophic 909c8ef0ea Avoid working with empty controller data (bug #5229) 4 years ago
David Cernat bc093c8596 [General] Implement OnObjectHit packet, part 2
ObjectHit is now also sent when local actors succeed or fail in hitting other actors with melee attacks, with the packet including the success state of their attack.

It is also sent when creatures hit a non-actor object.
4 years ago
David Cernat 96049befe9 [Client] Add and use getObjectFromPtr() method in ObjectList 4 years ago
Andrei Kortunov abe7d25844
Merge pull request #2631 from Capostrophic/falldamage
Disallow resting if the fall height hasn't been reset (bug #4802)
4 years ago
Capostrophic 483b37bb3f Disallow resting if the fall height hasn't been reset (bug #4802) 4 years ago
Alexei Dobrohotov 0a32850441
Merge pull request #2630 from akortunov/reputation
Cap reputation values
4 years ago
Andrei Kortunov 3d9c42e8ee Cap reputation values (bug #5226) 5 years ago
Alexei Dobrohotov 150a1e735f
Merge pull request #2629 from akortunov/shapes
Handle NiKeyframeController for NiTriShape
5 years ago
Andrei Kortunov 5b5c52d92e Handle NiKeyframeController for NiTriShape (feature #5224) 5 years ago
Andrei Kortunov 1e62115800
Merge pull request #2628 from Capostrophic/launcher
Launcher: improve first run and missing game data dialogues (bug #4009)
5 years ago
David Cernat e98e57c797 [General] Reorder enums alphabetically in RECORD_TYPE 5 years ago
David Cernat 2973cc4f4d [General] Implement OnObjectHit packet, part 1
ObjectHit is now sent when an NPC hits a non-actor object.
5 years ago
Capostrophic 0a96f065d7 Launcher: improve first run and missing game data dialogues (bug #4009) 5 years ago
David Cernat 0e0ac7a60f [Server] Add OnConsoleCommand event and associated script function 5 years ago
David Cernat eeb77f80d2 [Client] Send ConsoleCommand packets when console is used 5 years ago
David Cernat 18cd3d1ea1 [General] Compress strings used in Object packets 5 years ago
David Cernat 4b27f8986b [Client] Synchronize positions for actors during death animations
This needs some improvements, because:

1) Sometimes the cell authority sends the death animation too late and a different one gets played on the other clients
2) There is probably a simpler check that can be done for position changes during a death animation.
5 years ago
David Cernat 9b8818687d [General] Add mDeathAnimationFinished to mwmp::SimpleCreatureStats 5 years ago
David Cernat 7dd03798e7 [Client] Don't update already initialized but deleted LocalActors 5 years ago
David Cernat c253950dd7 [Client] Don't play dying words for NPCs loaded up as dead from server 5 years ago
David Cernat 2af811be40 [Client] Use proper log message when receiving ActorDeath packets 5 years ago
David Cernat 1950748dae [Client] Always use autoEquip on newly initialized LocalActors
Previously, it was possible for a Container packet to clear all equipment slots for an actor without the actor's authority then sending an equipment packet to correct that, due to packet loss or sudden disconnection, leading to actors not wearing any equipment as soon as they acquired a new authority.

This ensures that newly initialized LocalActors will now autoEquip.
5 years ago
David Cernat cd444f8707 [Client] Send actor equipment after Container packet causes autoEquip
Previously, a Container packet with a SET action for an actor would clear their entire InventoryStore, also clearing all of their equipment slots. The actor's authority would then autoEquip new equipment for the actor, but that new equipment would not actually get sent to the other players. As a result, they would see the actor fighting with hand-to-hand attacks, while also not actually wearing anything despite being rendered as wearing the same clothes and armor as before.

This commit makes the actor's authority resend the actor's equipment as soon as the Container packet has caused the autoEquip to happen.
5 years ago
Andrei Kortunov 675ba806bf
Merge pull request #2627 from Capostrophic/essimporter
Fix essimporter script header and inventory item conversion
5 years ago
Capostrophic 0bc13b47fa Fix essimporter script header and inventory item conversion 5 years ago
David Cernat f43ba7fba2 [Client] Don't initialize disabled or deleted actors as LocalActors 5 years ago
David Cernat 980edac942 [General] Rename PlayerTeam into PlayerAlly
Considering that you can be allies with someone without being allied to their allies, changing the name makes the system more intuitive.
5 years ago
Andrei Kortunov 43330f1dd1
Merge pull request #2626 from akortunov/master
Reset holstered shield before rebuilding an NPC animation
5 years ago
Andrei Kortunov d66b81d7f7 Reset holstered shield before rebuilding an NPC animation 5 years ago
David Cernat a383b7b612 [General] Include death animations in ActorDeath packets 5 years ago
David Cernat ecf00af548 [General] Implement WorldDestinationOverride packet, part 1
Destinations for doors with cell transitions are now overridden.
5 years ago
David Cernat 9cb9d4b7ca [General] Compress strings used in Worldstate packets 5 years ago
David Cernat 154a9ce5a6 [General] Fix declarations hiding class members, part 2 5 years ago
David Cernat 270867a397 [Client] Ensure mwmp::Main is initialized before GUIController cleanup
Previously, certain errors early in the program's execution – such as an attempt to use two different packet processors for the same packet ID – would not be displayed because of a crash when attempting to get an uninitialized mwmp::Main in the Engine's destructor.
5 years ago
Andrei Kortunov ed9f4d965f
Merge pull request #2624 from Capostrophic/cellname
Make sure empty cell name subrecords are saved (bug #5222)
5 years ago
David Cernat 5b4db83d61 [Client] Once again allow beds to be used even if waiting is disallowed
This had been broken by rest-related commits in OpenMW.
5 years ago
David Cernat c4950f1beb [Client] Implement PlayerTeam packet, part 2
When determining actors siding with someone, also check the team members of DedicatedPlayers, not just those of the LocalPlayer.

Don't set players as each other's hitAttemptActor if they are team members.

Don't run startCombat() for DedicatedPlayers who get attacked.
5 years ago
Capostrophic 86c8fe386b Fix idle state reset 5 years ago
Capostrophic 4b38bab0d9 Make sure empty cell name subrecords are saved (bug #5222) 5 years ago
David Cernat 3a52f7dcf5 [Client] Add isTeamMember() method to MechanicsHelper 5 years ago
David Cernat 68f524b822 [Client] Use more succinct methods for PlayerPtr in MechanicsHelper 5 years ago
David Cernat 21c8821d05 [General] Ignore carriage returns in resources/version file 5 years ago
David Cernat 3aaf64a984 [Client] Only send DoorState packets for logged in players
This prevents problems with content that uses scripted doors in the area players are spawned in before they log in.
5 years ago
David Cernat 5ca2c83b02 [Client] Fix additional resurrection problems caused by 6450d84473 5 years ago
Andrei Kortunov eec82f676a
Merge pull request #2602 from elsid/clang_tidy
Fix clang-tidy issues
5 years ago
David Cernat eeb3e4f938 [Client] Reset friendly hits when summoning a creature 5 years ago
David Cernat 9792a5256f [General] Use different compromise for summoning
Revert 9502d84a9cb99028f76f7fd2e05f9193ca66561 because the creature graveyard solves more problems than it causes. Only have the authority of a cell send deletion packets when a summon despawns.

Summoning is one of the least multiplayer-friendly systems in OpenMW and really needs to be redone serverside.
5 years ago
David Cernat 753e310dd4 [General] Implement PlayerTeam packet 5 years ago
David Cernat 385ef55848 [Client] Avoid crashes by only using inventory listeners in loaded cells
Previously, receiving a Container packet about an actor with a previously initialized listener who was currently located in an unloaded cell crashed the game.
5 years ago
Andrei Kortunov ab4b3677e3 Merge branch '16' into 'master'
perf regression fix

See merge request OpenMW/openmw!157
5 years ago
David Cernat a54bc364ba [Client] Fix code conflict with OpenMW in OpRemoveSpell correctly 5 years ago
David Cernat 9d6f3fdd09 Add OpenMW commits up to 1 Dec 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
5 years ago
David Cernat d9502d84a9 [Client] Disable clientside handling of summoned creature graveyards 5 years ago
David Cernat 138aef37fe [General] Remove unused variable movementAnim from BasePlayer 5 years ago
David Cernat 446c22723e [General] Set default values for some variables in BasePlayer 5 years ago
David Cernat 1283d5d487 [General] Synchronize TCL state for players
Additionally, only purge temporary levitation effect for DedicatedPlayers if one has been added.
5 years ago
Andrei Kortunov 721a7de8b6
Merge pull request #2621 from Capostrophic/getlos
Avoid using getPtr for object search in scripting (bug #5220)
5 years ago
David Cernat 7120f41cfa [Client] Add creatures to summoner's creature map when they are missing
Additionally, adjust logging related to summons.
5 years ago
David Cernat 985d1f17e0 [Client] Use correct magnitude for active effect created for summons 5 years ago
David Cernat 9a772d737f [Server] Add script functions relating to summons' effect & spell IDs 5 years ago
David Cernat d78bdefc01 [General] Include effect and spell ID for summons in ObjectSpawn packets 5 years ago
Capostrophic e7f6ab1ae2 Avoid using getPtr for object search in scripting (bug #5220) 5 years ago
David Cernat 610e0558c8 [Server] Use correct argument for SetObjectSummonDuration() 5 years ago
David Cernat 47b666c1f9 [Server] Add ObjectFunctions for setting summoner identity for spawns 5 years ago
Andrei Kortunov eacc185534
Merge pull request #2616 from Brouilles/master
Several languages for the launcher
5 years ago
Andrei Kortunov 058bbf4b0f
Merge pull request #2620 from elsid/fix_cage_door_rotation
Rotate door object using direct rotation order once
5 years ago
Brouilles 3889c0fa7b Add QTranslator support for launcher
Add French translation for launcher

Clean launcher main.cpp (appTranslator.load)

Remove french translation

Remove string translation file

Update AUTHORS.md
5 years ago
David Cernat c6542ffec4 [Server] Move ObjectFunctions for setting summoning to their own spot 5 years ago
Andrei Kortunov 974670a7c5
Merge pull request #2540 from elsid/fix_startup_fail_crash
Fix crash on destructed stream usage
5 years ago
David Cernat 5575242299 [Client] Don't allow players to attack while in persuasion dialogue 5 years ago
Andrei Kortunov ae80d8e490
Merge pull request #2618 from elsid/fix_rope_bridge
Fix objects culling for recast mesh tiles (bug #5216)
5 years ago
David Cernat 397cdf400b [Server] Reorder record types in RecordsDynamic script functions
They are now consistent with the ordering from 42b002e8db
5 years ago
David Cernat 42b002e8db [General] Reorder record types in RecordDynamic packet
The record types that cannot be created by players through gameplay are now sorted alphabetically after the record types that can be created by them.
5 years ago
David Cernat 64c94346b6 [Client] Always send attack starts by actors immediately
Previously, creatures with fast attack animations would have their attack updated right after being started, which happened so quickly that it prevented the attack start from actually being sent by the client.
5 years ago
Alexei Dobrohotov c01324fdb2
Merge pull request #2613 from akortunov/warnfix3
Fix GCC9 warnings about implicit declarations
5 years ago
elsid 3cfd5fca4e
Rotate door object using direct rotation order once
Instead of rotating using inverse and then applying the direct rotation.
To properly update object in navigator.
5 years ago
David Cernat ed7fe859dd [Client] Set attackingOrSpell state instantly after Attack/Cast packets
It is no longer necessary to wait for the Actors::update() loop to set dedicated players and actors to their new states.
5 years ago
elsid 6be103bc54
Increase recast scale factor and tile size
Increased recast scale fixes navmesh around (-28585, -29951, 483).
Increased tile size compensates decrease of total navmesh area.
5 years ago
elsid 7ec5a20c64
Filter recast mesh triangles by global bounding box
Except heightfields to reduce slow down.
5 years ago
Nikolay Kasyanov 9c8251d986
Merge pull request #2617 from nikolaykasyanov/fix-macos-packaging
Fix macOS packaging on CMake 3.15
5 years ago
David Cernat c702eab93c [Client] Fix declarations hiding class members 5 years ago
Nikolay Kasyanov 6ef94c20b3 Fix macOS packaging on CMake 3.15
It looks like component names have become case sensitive.
5 years ago
elsid 7729e396b2
Fix exceptions logging 5 years ago
David Cernat 56c3ef71ae [Client] Send ObjectDelete packets when picking up items once again
When fixing problems with ObjectActivate in 49fa35a516, I mistakenly made it so the picking up of items no longer also sent ObjectDelete packets. That is now fixed.
5 years ago
David Cernat 7acf6865b9 [Client] Don't clear spells for dying actors 5 years ago
David Cernat 23d410f473 [General] Implement body part records for RecordDynamic packet 5 years ago
David Cernat 0dae3074a6 [Client] Add missing comment related to spellcast animation 5 years ago
David Cernat b3747839c0 [General] Add hasRace to record overrides in RecordsDynamic packet 5 years ago
David Cernat ddb25a482d [Server] Remove unneeded assignments for playerController in processors 5 years ago
David Cernat 16662d772b [General] Synchronize death animations for players 5 years ago
Roman Siromakha eec5d80566
Merge pull request #2615 from akortunov/borders
Fix iterator usage when destroying cell borders
5 years ago
David Cernat 47443e19cb [General] Use compression for string values used in Attack packets 5 years ago
Andrei Kortunov 1b98fe4395 Fix GCC9 warnings about implicit declarations 5 years ago
David Cernat 140c1c9c12 [General] Use hard synchronization for melee attack animations
Previously, each client chose its own attack animations for DedicatedPlayers and DedicatedActors based on the direction they were walking in, which however led to desyncs for players with "Always Use Best Attack" enabled and for creatures which pick their attack animations randomly.
5 years ago
Andrei Kortunov 5daf602256 Fix iterator usage when destroying cell borders (bug #5218) 5 years ago
Roman Siromakha bfc6194d80
Merge pull request #2614 from akortunov/cmake
Fix Boost 1.70+ detection
5 years ago
David Cernat a385fcdd87 [Client] Fix crash caused by setting instant state for null localCast 5 years ago
David Cernat 5a46b40e1a [Client] Stop switching drawstates when receiving ActorAttack packets
Previously, some of the spammier ActorAttack packets were overriding spellcasting animations with weapon attack animations.
5 years ago
Andrei Kortunov 05a8702b6e Fix Boost 1.70+ detection 5 years ago
David Cernat ef944aa050 [Client] Remove unused redeclarations of localActors & dedicatedActors 5 years ago
David Cernat 06b4a4f97c [Client] Don't tie spellcasting for dedicated players/actors to anim end
When Koncord implemented spellcasting, he made it so only the act of initiating a spellcast was synchronized, leaving it to other clients to actually cast a spell for a dedicated player or actor once their spellcasting animation was over. This had led to a lot of desyncs and has always been inconsistent with the handling of attacks, so I've belatedly gone ahead and prevented the end of a spellcasting animation from having any effect for dedicated players and actors, making them cast a spell when an appropriate Cast packet is received from them instead.

Additionally, the logged messages in MechanicsHelper's handling of attacking and casting have been moved around slightly.
5 years ago
David Cernat 7815c8bdaf [Client] Queue sending of Cast packet from CastSpell::cast() 5 years ago
Andrei Kortunov 407a737fe4
Merge pull request #2611 from Capostrophic/effect
[Regression] Make sure instant FX abilities get detected when they're supposed to
5 years ago
David Cernat b74e3a7e2e [Client] Include spellIds in Cast packets again, fixing problem from 190c404b38 5 years ago
Bret Curtis 62b9f1a2f7
Merge pull request #2610 from akortunov/warnfix2
Fix some build warnings
5 years ago
Capostrophic 77f076ff11 Make sure instant FX abilities get detected when supposed 5 years ago
David Cernat bbf9f20053 [Client] Stop sending WorldKillCount packets or incrementing local kills
This means the server scripts are now required to send a WorldKillCount packet as a reply to ActorDeath packets sent by clients. This gives the server full control over which kills are counted, while also solving the previous problem of kills being counted only for actors that had finished their death animations.
5 years ago
David Cernat b352983348 [General] Include actor refIds in ActorDeath packets 5 years ago
Andrei Kortunov 70bae51ad2
Merge pull request #2608 from Capostrophic/samefaction
Make SameFaction work (bug #5213)
5 years ago
Capostrophic 0adc2df65f Make SameFaction work (bug #5213) 5 years ago
David Cernat 8da6a7fd9b [Server] Fix mixed-up bindings for Chat functions 5 years ago
Andrei Kortunov 2fa4aa9f3f
Merge pull request #2606 from Capostrophic/quickkeys
Make sure quick key 0 (tenth quick key) shortcut is not saved or loaded
5 years ago
Capostrophic eed92c824e Make sure hand-to-hand shortcut is not saved 5 years ago
bzzt d340224c95 shadowsbin for gl state reduction 5 years ago
bzzt 480302d634 terrainclusterculling 5 years ago
bzzt f09125fc93 perf regression fix 5 years ago
David Cernat 3c3015d0da [Browser] Remove unused buttons from the server browser for now 5 years ago
David Cernat 0c98c5d09e Add OpenMW commits up to 19 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aipursue.cpp
#	apps/openmw/mwmechanics/summoning.cpp
5 years ago
Bret Curtis 2cbb01627b
Merge pull request #2604 from akortunov/fading
Do not use screen fading during game loading if there is no current cell
5 years ago
Andrei Kortunov d0643d266a Do not use fallthrough in switches 5 years ago
Andrei Kortunov 040d2675c6 Fix the C4267 MSVC warning 5 years ago
Andrei Kortunov 73f43ba750 Do not use screen fading during game loading if there is no current cell (bug #5211) 5 years ago
Alexei Dobrohotov 980e0c4936
Merge pull request #2603 from akortunov/activate
Allow ActionOpen and ActionTalk only for player
5 years ago
Andrei Kortunov 4118b20608 Allow ActionOpen and ActionTalk only for player (bug #5210 5 years ago
Alexei Dobrohotov a6ffaaa434
Merge pull request #2598 from akortunov/coverity
Validate input bindings to avoid crashes in OICS
5 years ago
Alexei Dobrohotov 4208f10e81
Merge pull request #2600 from akortunov/master
Take in account caster's race height when launch magic bolt
5 years ago
elsid 8d358eeb7d
Avoid virtual call in ParticleSystem ctor 5 years ago
elsid f156c9522e
Avoid virtual call in SoundManager dtor 5 years ago
elsid 8083df4567
Avoid virtual call in Animation dtor 5 years ago
elsid b4794e8ca5
Avoid virtual call in OpenAL_Output dtor
/home/elsid/dev/openmw/apps/openmw/mwsound/openal_output.cpp:1492:5: warning: Call to virtual function during destruction [clang-analyzer-optin.cplusplus.VirtualCall]
    deinit();
    ^
/home/elsid/dev/openmw/apps/openmw/mwsound/openal_output.cpp:1492:5: note: This destructor of an object of type '~OpenAL_Output' has not returned when the virtual method was called
/home/elsid/dev/openmw/apps/openmw/mwsound/openal_output.cpp:1492:5: note: Call to virtual function during destruction
5 years ago
elsid b55f5ab648
Avoid virtual call in WindowManager ctor
/home/elsid/dev/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:244:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        loadUserFonts();
        ^
/home/elsid/dev/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:244:9: note: This constructor of an object of type 'WindowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:244:9: note: Call to virtual function during construction
5 years ago
elsid cf01df31be
Remove unused variable initialization
/home/elsid/dev/openmw/apps/openmw/mwrender/animation.cpp:518:28: warning: Value stored to 'material' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
            osg::Material* material = static_cast<osg::Material*>(stateset->getAttribute(osg::StateAttribute::MATERIAL));
                           ^
/home/elsid/dev/openmw/apps/openmw/mwrender/animation.cpp:518:28: note: Value stored to 'material' during its initialization is never read
5 years ago
elsid b07a6afa91
Avoid virtual call in GraphicsWindowSDL2 ctor
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
    if(valid())
       ^
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: note: This constructor of an object of type 'GraphicsWindowSDL2' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sdlutil/sdlgraphicswindow.cpp:23:8: note: Call to virtual function during construction
5 years ago
elsid 4cd2ff9a3d
Avoid virtual call in TerrainGrid dtor
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: warning: Call to virtual function during destruction [clang-analyzer-optin.cplusplus.VirtualCall]
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:12: note: Assuming the condition is true
    while (!mGrid.empty())
           ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:29:5: note: Loop condition is true.  Entering loop body
    while (!mGrid.empty())
    ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: This destructor of an object of type '~TerrainGrid' has not returned when the virtual method was called
        unloadCell(mGrid.begin()->first.first, mGrid.begin()->first.second);
        ^
/home/elsid/dev/openmw/components/terrain/terraingrid.cpp:31:9: note: Call to virtual function during destruction
5 years ago
elsid 2e1d8a5e55
Remove unused virtual modifiers in DebugHUD
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < 2; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is true.  Entering loop body
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3094:5: note: Loop condition is false. Execution continues on line 3102
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:21: note: Assuming 'i' is < 'numberOfShadowMapsPerLight'
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
                    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3126:5: note: Loop condition is true.  Entering loop body
    for (int i = 0; i < numberOfShadowMapsPerLight; ++i)
    ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: This constructor of an object of type 'DebugHUD' has not returned when the virtual method was called
        addAnotherShadowMap();
        ^
/home/elsid/dev/openmw/components/sceneutil/mwshadowtechnique.cpp:3127:9: note: Call to virtual function during construction
5 years ago
elsid bd149b909f
Remove unused virtual modifiers in ShadowManager
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        setupShadowSettings();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp💯9: note: Call to virtual function during construction
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: warning: Call to virtual function during construction [clang-analyzer-optin.cplusplus.VirtualCall]
        enableOutdoorMode();
        ^
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: This constructor of an object of type 'ShadowManager' has not returned when the virtual method was called
/home/elsid/dev/openmw/components/sceneutil/shadow.cpp:104:9: note: Call to virtual function during construction
5 years ago
Andrei Kortunov 6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
Open door when it is on the way to a next path point (bug #5073)
5 years ago
Chris Djali 5f04c12ac3
Merge pull request #2601 from akortunov/warnfix
Clamp number of shadow maps
5 years ago
Andrei Kortunov f09d20434c Clamp number of shadow maps 5 years ago
Andrei Kortunov d1e0fa575e Take in account caster's race height when launch magic bolt (bug #5209) 5 years ago
Andrei Kortunov 6554130f6f
Merge pull request #2594 from Capostrophic/summonsummon
Minor summoned creature cleanup fixes
5 years ago
Andrei Kortunov ec8aa20b3d
Merge pull request #2599 from akortunov/master
Add missing isNpc() check
5 years ago
Andrei Kortunov 8dbbe42f21 Add missing isNpc() check (bug #5206) 5 years ago
Alexei Dobrohotov ef138e9afc
Merge pull request #2592 from akortunov/switchnode
Use transformations of NiSwitchNode
5 years ago
Andrei Kortunov ad256e8343 Validate input bindings to avoid crashes 5 years ago
Bret Curtis 454b9f1964
Merge pull request #2597 from akortunov/coverity
CoverityScan fixes, part 2
5 years ago
Alexei Dobrohotov f332df8839
Fix terrain shadows checkbox loading 5 years ago
Andrei Kortunov df4344d253
Merge pull request #2595 from Capostrophic/defaults
Default visual settings tweaks
5 years ago
Andrei Kortunov b21dc17538 Attempt to shut up CoverityScan warnings about tainted values 5 years ago
Alexei Dobrohotov b5992b380e
Merge pull request #2586 from unelsson/allowselectionalledges
Allow selecting cell edges everywhere
5 years ago
Andrei Kortunov b210e99abc Avoid divizion by zero 5 years ago
Nelsson Huotari 120583f443 optimize isInCellSelection calls 5 years ago
Bret Curtis 1c810b06fb
Merge pull request #2596 from akortunov/coverity
Fix some issues, found by CoverityScan
5 years ago
Andrei Kortunov 3970baeb84 Fix possible usage of destroyed variable 5 years ago
Andrei Kortunov 34873b6065 Fix dead code 5 years ago
Andrei Kortunov 5561eb5415 Do not discard division reminder 5 years ago
Andrei Kortunov 238dcdbbd4 Fix copy-paste error 5 years ago
Andrei Kortunov 7074baa1c2 Clamp number of shadow maps, as described in docs 5 years ago
Andrei Kortunov 5c6ca82c45 Clamp fallback value from config 5 years ago
Andrei Kortunov 079c77ff22 Avoid zero division 5 years ago
Andrei Kortunov ca2a524a5f Avoid null pointer dereference 5 years ago
Andrei Kortunov af41e9acc1 Initialize variables to avoid undefined values 5 years ago
Andrei Kortunov 0d6f0a9b4d
Merge pull request #2593 from Capostrophic/speed
[Regression] Make sure movement not controlled by an animation has the valid velocity
5 years ago
Capostrophic 120b7dcd2f Clean up summoned creatures when corpses are disposed 5 years ago
David Cernat 1d8668305c [Client] Send PlayerSpellbook packet when contracting or curing disease 5 years ago
Capostrophic ae1f456b0a Default setting value tweaks 5 years ago
Capostrophic 1097c2cfc4 Minor summoned creature cleanup fixes 5 years ago
Capostrophic 9c78e8cc56 Make sure movement not controlled by animation has valid velocity
Fixes erroneously always normalized movement speed in first person
5 years ago
Alexei Dobrohotov a1ed0144e1
Merge pull request #2590 from akortunov/guifixes
UI textures scaling corrections
5 years ago
David Cernat 8f7a267129 [General] Add scale and bloodType to creature records in RecordDynamic 5 years ago
David Cernat afb9bd7eb5 [General] Implement script records for RecordDynamic packets 5 years ago
Andrei Kortunov 51cfd070c6 Use transformations of NiSwitchNode 5 years ago
Alexei Dobrohotov d3cd6403fe
Merge pull request #2591 from akortunov/sheathing
Do not show shields in the 1st-person view when shield sheathing is enabled
5 years ago
Andrei Kortunov 1835a39c57 Do not show shields in the 1st-person view when shield sheathing is enabled 5 years ago
Andrei Kortunov 6a625b1dac Scale magic items frames in the quick keys menu 5 years ago
Andrei Kortunov bfc07afa28 Restore normal size of quests buttons in journal 5 years ago
Andrei Kortunov bafc0d9e90 Added support for texture fragment usage to the ImageButton 5 years ago
David Cernat 383d6ecea6 [Server] Update log message related to server password 5 years ago
David Cernat 20d1e7654c [General] Create SystemPacket category and move Handshake packet to it 5 years ago
David Cernat 5762a36fc2 Add OpenMW commits up to 7 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aifollow.hpp
5 years ago
Andrei Kortunov f335044026
Merge pull request #2587 from Capostrophic/sheathing
Minor sheathing-related changes
5 years ago
Capostrophic 5a5bc0bef8 Uncheck sheathing checkboxes automatically when appropriate
Fix their order and bogus saveSettingBool calls
5 years ago
Alexei Dobrohotov ff44b2c66f
Merge pull request #2589 from akortunov/effects
Display magic effects according to research page
5 years ago
Andrei Kortunov 6eb8e0cf4d Display magic effects according to research page 5 years ago
Alexei Dobrohotov a8843fa5a8
Make sure MultiChar::data() constructs a valid string
mData may ultimately not be a valid C-string (e.g. if it contains 4 significant characters) so it may not necessarily be converted into a valid std::string
5 years ago
Capostrophic 5eab913a9c Make additional anim sources dependency more obvious 5 years ago
Andrei Kortunov 5ede09a6cd
Merge pull request #2588 from elsid/fix_warning
Fix warning -Woverloaded-virtual
5 years ago
elsid d42b5fd28e
Fix warning -Woverloaded-virtual
In file included from openmw/components/terrain/quadtreeworld.cpp:10:
openmw/components/terrain/quadtreenode.hpp:95:14: warning: 'Terrain::QuadTreeNode::traverse' hides overloaded virtual function [-Woverloaded-virtual]
        void traverse(ViewData* vd, const osg::Vec3f& viewPoint, LodCallback* lodCallback, float maxDist);
             ^
OpenSceneGraph/build/clang/release/include/osg/Group:43:22: note: hidden overloaded virtual function 'osg::Group::traverse' declared here: different number of parameters (1 vs 4)
        virtual void traverse(NodeVisitor& nv);
                     ^
1 warning generated.
5 years ago
Capostrophic 7885b8c75e Sheathing-related changes
Add weapon and shield sheathing and use additional anim sources checkboxes into the Advanced tab of the launcher
Remove outdated information from the documentation
5 years ago
Nelsson Huotari 45d43045eb Remove unused std::string 5 years ago
Nelsson Huotari aeb0ccff90 Allow selecting cell edges everywhere 5 years ago
Alexei Dobrohotov 2ee17f39fd
Merge pull request #2585 from unelsson/terrainselectionfixes
Terrain selection fixes
5 years ago
Nelsson Huotari 8f6dc78217 Get vertex height from data, if not available in visible cells. 5 years ago
Nelsson Huotari 9677203215 Don't allow vertex selection outside visible cells 5 years ago
Nelsson Huotari d186bcb46f Update selection during transient edit, clear to a single function. 5 years ago
Andrei Kortunov 678d2e6e7d
Merge pull request #2584 from Capostrophic/shadows
Resolving 0.46.0 release shadow-related blockers
5 years ago
Alexei Dobrohotov 5ae91465ee
Fix gamepad zoom value calculation 5 years ago
Capostrophic 31e330c9a5 Revise shadow setting tooltips and correct fade start minimum value 5 years ago
Capostrophic 208608cbd0 Fix a typo and a mistake 5 years ago
Capostrophic 9b204fe227 Move shadow settings into a new tab 5 years ago
Capostrophic 0e2380d471 Add the most basic shadow settings into the launcher 5 years ago
bzzt b6ed2f1718 Add optional shadow map max distance and fading 5 years ago
Alexei Dobrohotov b700c98e8f
Merge pull request #2581 from akortunov/deceleration
Implement actors movement deceleration (feature #4544)
5 years ago
Bret Curtis ec9a593fc3
Merge pull request #2578 from akortunov/mouse
Implement mouse wheel bindings (bug #2679)
5 years ago
Andrei Kortunov 61ab7f3c1e Implement actors movement deceleration (feature #4544) 5 years ago
Alexei Dobrohotov f944c5b175
Merge pull request #2582 from ananace/add-oars
Add OARS block for future packaging
5 years ago
Alexander Olofsson 165401465b
Add OARS block for future packaging 5 years ago
Michael Stopa e4bec88a68 Implement mouse wheel bindings (bug #2679) 5 years ago
Alexei Dobrohotov 9ab8d88753
Accept a bogus cell string argument for Position 5 years ago
Alexei Dobrohotov 7328db4d6b
Fix small typo in body part record verifier 5 years ago
Bret Curtis 92c3a68a14
Merge pull request #2575 from akortunov/encoding
Support UTF-8 in script parser
5 years ago
Bret Curtis 1aa4cc3388
Merge pull request #2579 from OpenMW/revert-2453-fog_compression
Revert "Store raw data about fog of war instead of RGBA images"
5 years ago
Bret Curtis 0ec4e51922
Revert "Store raw data about fog of war instead of RGBA images" 5 years ago
Bret Curtis 36614dba2a
Merge pull request #2453 from akortunov/fog_compression
Store raw data about fog of war instead of RGBA images
5 years ago
Andrei Kortunov 45ab6e1430 Implement UTF-8 support for script parser (bug #4598) 5 years ago
Andrei Kortunov fe2f4bcedc
Merge pull request #2577 from akortunov/master
Add missing changelog entries
5 years ago
Andrei Kortunov 7a783be396 Add missing changelog entries 5 years ago
Bret Curtis ccc8702a1e Merge branch 'make_gitlab_ci_great_again' into 'master'
try to cache everything

See merge request OpenMW/openmw!156
5 years ago
David Cernat 54301f5f89 Add OpenMW commits up to 29 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwworld/inventorystore.cpp
5 years ago
David Cernat bde9f7b817 Add OpenMW commits up to 20 Oct 2019
# Conflicts:
#	apps/openmw/mwgui/recharge.cpp
#	apps/openmw/mwrender/globalmap.cpp
#	apps/openmw/mwrender/globalmap.hpp
#	apps/openmw/mwworld/inventorystore.cpp
5 years ago
David Cernat 05b5a7b32d [Client] Trigger crimes when using take all on containers 5 years ago
Alexei Dobrohotov dc8e5f1d12
Accept redundant volume and pitch StopSound arguments
Exploited in Arktwend.
5 years ago
Bret Curtis 0ac7bdd2eb try to cache everything 5 years ago
Alexei Dobrohotov 7488f402d5
Merge pull request #2576 from akortunov/warnfix
Fix warnings about variable re-declaration
5 years ago
Alexei Dobrohotov 8bc2c1ac34
Make ForceGreeting ignore any extra argument 5 years ago
Andrei Kortunov d278e5d4af Fix warnings about variable re-declaration 5 years ago
Alexei Dobrohotov 8752523de3
Merge pull request #2573 from akortunov/encoding
Attempt to fix a regression - crash on ARM
5 years ago
Bret Curtis 9655da81a7
Merge pull request #2574 from Capostrophic/cellrefid
Avoid copying strings in SearchVisitor and readReferenceCollection (#5195)
5 years ago
Capostrophic c6e431d862 Avoid copying strings in SearchVisitor and readReferenceCollection 5 years ago
Andrei Kortunov b2e12f0a73 Attempt to fix a regression - crash on ARM 5 years ago
Andrei Kortunov 0fa0e9571b
Merge pull request #2572 from Capostrophic/prevent
Rework prevent merchant equipping setting again
5 years ago
Andrei Kortunov 177c742f97 Merge branch 'fix-ci' into 'master'
Fix gitlab CI builds

See merge request OpenMW/openmw!155
5 years ago
Icecream95 acbdd0391c Install Debian packages again in CI
The gcc docker image was updated to a newer version of Debian, so downloading packages from Ubuntu is no longer required.
5 years ago
Capostrophic ee4fa93bd4 Rework prevent merchant equipping setting again 5 years ago
Bret Curtis e65c7d8ccc
Merge pull request #2543 from Capostrophic/hashsign
Revert to 0.45.0 comments-in-the-middle settings parsing behavior
5 years ago
Alexei Dobrohotov b948101a73
Merge pull request #2571 from akortunov/animfix
Reset idle animation only when play movement animation
5 years ago
Andrei Kortunov 15cd305253 Reset idle animation only when play movement animation (bug #5196) 5 years ago
David Cernat adcac2675a [Client] Fix warnings related to destructors for processors 5 years ago
David Cernat b97322b4b1 [General] Modernize packet style for PlayerInventory 5 years ago
Alexei Dobrohotov 1f616c5613
Merge pull request #2569 from akortunov/holstered_shield
Ignore shields sheathing for creatures without sheathing bone
5 years ago
Andrei Kortunov b27089f7be
Merge pull request #2560 from Capostrophic/geteffect
Fix GetEffect result when running on dead actors
5 years ago
David Cernat cbe58b1c24 [General] Modernize packet style for PlayerFaction 5 years ago
Andrei Kortunov 7cd4fa4706 Ignore shields sheathing for creatures without sheathing bone 5 years ago
Capostrophic f7d2cdb782 Revert to 0.45.0 comments-in-the-middle settings behavior 5 years ago
David Cernat c9f3ee1819 [Client] Make PlayerResurrect use new resurrection handling from 6450d84473 5 years ago
Bret Curtis 9f039fac87
Merge pull request #2520 from unelsson/transientlandshapeedit
[Review phase] Editor: Transient land shape editing
5 years ago
Roman Siromakha 4e5aec5c30
Merge pull request #2539 from Capostrophic/scripting
Try to parse strings as number literals (bug #5097)
5 years ago
Koncord a74bf1baec [Client] Mark derived processor classes as final
(cherry picked from commit 7748e582a8)
5 years ago
David Cernat 0e94eb8b74 [General] Use regular ints for weather states for consistency w/ OpenMW 5 years ago
David Cernat 904f804ea2 [General] Modernize packet style for PlayerSpellbook 5 years ago
David Cernat be0690b024 [GitHub] Add funding links 5 years ago
Bret Curtis 2040ca5637
Merge pull request #2555 from akortunov/encoding
Encode ID's in all places to UTF-8
5 years ago
David Cernat 4f9e6b0e3e [General] Modernize packet style for PlayerCellState 5 years ago
Bret Curtis afb218fe29
Merge pull request #2564 from Capostrophic/enchant
Remove on-strike enchantment support for ranged weapon types (bug #5190)
5 years ago
David Cernat 96a71c1ced [General] Modernize packet style for PlayerBook 5 years ago
Bret Curtis 39fd12c065
Merge pull request #2568 from elsid/settings_parser_tests
Settings parser tests
5 years ago
David Cernat d66bca8605 [General] Modernize packet style for PlayerTopic 5 years ago
Nelsson Huotari c957f0544c Remove unneeded brackets 5 years ago
Nelsson Huotari fdc73b87ba Remove includes that aren't needed any more 5 years ago
Nelsson Huotari 9e5db10288 const ref float -> float 5 years ago
Nelsson Huotari ac5b356e8d Always initialize landShapeNew 5 years ago
Nelsson Huotari 6f9f59dd58 declare cellId and cellCoords in smallest possible scope 5 years ago
Nelsson Huotari fdcc7fa1d7 0 to nullptr 5 years ago
Nelsson Huotari a13edbdb42 Bump shape calculation to function 5 years ago
Nelsson Huotari 8d3e7f2815 fix normals at cell edges, better coding standards 5 years ago
Nelsson Huotari 0f6ddfe8e6 change include, cleanup 5 years ago
Nelsson Huotari 12349f4e48 cleanup 5 years ago
Nelsson Huotari c556885d71 remove unused Qt signal 5 years ago
Nelsson Huotari deb122ffdb Add optional post-processing (smooth/rough), add/fix tooltips. 5 years ago
Nelsson Huotari 2d34b63b0b Fix logic of land loading when no cell, land or landdata. Fix also draw. 5 years ago
Nelsson Huotari 71eff60d22 Do in-class init. if possible, mLayoutSliderSize -> layoutSliderSize 5 years ago
Nelsson Huotari a1348d94f9 add missing final specifiers 5 years ago
Nelsson Huotari 16ba32ffd5 assignments to member initialization list 5 years ago
Nelsson Huotari c2de645c8c override, virtual -> final, remove unused variables, public to private. 5 years ago
Nelsson Huotari 6a3070e680 Fix shape brush setting description 5 years ago
Nelsson Huotari 8a9ca0b3ec Generate new WNAM record based on new land heights, add comments 5 years ago
Nelsson Huotari 96be82a047 Remove terrain vertex selection and brush button when exiting editMode 5 years ago
Nelsson Huotari 8acfa2600f Terrain shape editing related fixes 5 years ago
Nelsson Huotari 5b9debc554 use enum for mbrushshape initialization 5 years ago
Nelsson Huotari 4f9ec24e41 use enum for brushshape at scenetoolshapebrush 5 years ago
Nelsson Huotari bae8636ec0 Fix brusshape enum values 5 years ago
Nelsson Huotari c031543420 use enum for brush shapes 5 years ago
Nelsson Huotari 388edfd8cc change manual memory management to std::unique_ptr 5 years ago
Nelsson Huotari da4abcd7c1 std::set to std::unique and erase. 5 years ago
Nelsson Huotari 6a44cae572 white iterator loop to C++11 range-based for loop. 5 years ago
Nelsson Huotari bccf36fdbc Convert normals calculations mostly to osg::Vec3f 5 years ago
Nelsson Huotari 45b0f034c3 Split complex if-logic into multiple reasonably named functions 5 years ago
Nelsson Huotari 0ce971c1bb Revert back to less aggressive component-level changes. 5 years ago
Nelsson Huotari 69083369f8 use std::fill instead of for 5 years ago
Nelsson Huotari 3599e804e1 Fix the default value of mBrushSize 5 years ago
Nelsson Huotari dc7dc93320 Remove unused functions, improve formatting, handle terrain edit click 5 years ago
Nelsson Huotari 1046d57190 Remove unneeded forward declarations. 5 years ago
Nelsson Huotari 55b3fd4418 Use float calculations for circle brush, keep tool options in memory. 5 years ago
Nelsson Huotari 62d50a1f47 Update changelog 5 years ago
Nelsson Huotari 23e7c71a5a Tighter corner checking, clean-up, landSize to ESM::Land::LAND_SIZE. 5 years ago
Nelsson Huotari 8f3c22ccc3 Remove TerrainShapeMode::fixEdges 5 years ago
Nelsson Huotari 1a3fc435b9 Fix alterHeight bugs, don't let broken land edit pass. 5 years ago
Nelsson Huotari ff18595a86 Reduce code duplification, add bool value to limiting 5 years ago
Nelsson Huotari 60c0a25004 Fix smooth tool and flatten tool. Default tool strength to 8. 5 years ago
Nelsson Huotari 54e13954e8 Improve land steepness limiting code 5 years ago
Nelsson Huotari c2428bc5fa Remove unneeded forward declaration 5 years ago
Nelsson Huotari 4a2d8aaf97 Handle mBrushSize 1. 5 years ago
Nelsson Huotari 16138fc896 Transient land shape editing 5 years ago
Bret Curtis 262d87846c
Merge pull request #2047 from akortunov/holstered_shield
Shields holstering support
5 years ago
Andrei Kortunov d3a3b2f1f6 Shields holstering support (feature #5193) 5 years ago
elsid 275f552fcf
Do not modify settings on save 5 years ago
elsid 862f50346c
Add tests for settings parser 5 years ago
elsid a7930073e8
Move settings parser declaration to separate header 5 years ago
Bret Curtis 36119ec2c4
Merge pull request #2562 from Capostrophic/weather
Weather-related fixes (incl. bug #4783)
5 years ago
Bret Curtis f666d796e9
Merge pull request #2547 from Capostrophic/nif2
More minor NIF improvements
5 years ago
Bret Curtis c9c7732fc4
Merge pull request #2567 from OpenMW/turn_on_msvc2019
add msvc2019 and ditch msvc2015
5 years ago
David Cernat 0206d1813c [General] Modernize packet style for PlayerQuickKeys 5 years ago
Bret Curtis 5a8bfac4df hard code Qt to version 5 years ago
Bret Curtis e7caf7a037 bump that qt 5 years ago
Bret Curtis 4c94fcd52b add msvc2019 and ditch msvc2015 5 years ago
Bret Curtis 675a79d0dc
Merge pull request #2557 from Naratzul/ci_vs2019_support
Add Visual Studio 2019 support
5 years ago
David Cernat 4f98d67ed4 [General] Modernize packet style for PlayerJournal 5 years ago
Alexei Dobrohotov 678970b01d
Merge pull request #2565 from elsid/update_recastnavigation
Update recastnavigation
5 years ago
Alexei Dobrohotov c331374076
Merge pull request #2566 from elsid/replace_foreach_by_for
Replace Qt foreach macro by for-loop
5 years ago
elsid 045ceeac11
Replace foreach macro by for-loop 5 years ago
elsid 07660b5605
Fix detournavigator tests 5 years ago
elsid acb939a81b
Update Recastnavigation to c40188c796f089f89a42e0b939d934178dbcfc5c 5 years ago
elsid 224144f2b8
Add ignored recastnavigation files to .gitigore 5 years ago
Alexei Dobrohotov 5d5ec1cf63
Merge pull request #2550 from elsid/fix_path_rebuild
Fix rebuild path for walking actors (Bug #5181)
5 years ago
Capostrophic fc7b4d73a8 Remove on-strike enchantment support for ranged weapon types (bug #5190) 5 years ago
Alexei Dobrohotov 85a5355e5c
Merge pull request #2563 from akortunov/ammofix
Fix OnStrike bows charges
5 years ago
Andrei Kortunov dd781b3da2 Fix OnStrike bows charges (regression #5191) 5 years ago
elsid e4d0af6a6d
Use z coordinate for path distance when diff by z is greater then actor height 5 years ago
Capostrophic 43b1b9dfa2 Weather-related fixes (incl. bug #4783)
Simplify some calculations
Fix Blizzard weather direction
Fix sky direction during storm
5 years ago
elsid 81832f8e17
Reuse distance functions 5 years ago
Alexei Dobrohotov cde80d6f28 Merge branch '14' into 'master'
fix #5176

Closes #5176

See merge request OpenMW/openmw!153
5 years ago
bzzt 1316816148 fix #5176 5 years ago
Alexei Dobrohotov dec64a7fba
Fix typos in invalid spell effect warnings, clarify them 5 years ago
David Cernat 1ab5916078 [Client] Reorder RecordHelper's overrideRecord() methods alphabetically 5 years ago
David Cernat 520cedb553 [Client] Use overrideRecord name for related functions in RecordHelper 5 years ago
David Cernat 2fc50d7280 [Client] Fix includes for RecordHelper 5 years ago
David Cernat aa06056d00 [Client] Add createRecord() function to RecordHelper 5 years ago
Capostrophic 7c4743fdd1 Convert recordptr typedefs to using directives 5 years ago
Capostrophic 8056107c6e More minor NIF improvements 5 years ago
David Cernat 13deaa88f2 [Client] Fix typo in code used for setting creature base inventories 5 years ago
David Cernat 835ae816a1 [Client] Use a template to combine RecordHelper's existence checks 5 years ago
David Cernat 17020fc13a [Client] Use a template to combine RecordHelper override functions 5 years ago
Alexei Dobrohotov e8037473ca
Merge pull request #2559 from akortunov/rain
Dehardcode rain settings
5 years ago
Andrei Kortunov 6e6d6d7bda Use forward declaration 5 years ago
Andrei Kortunov 606b73ee96 Use rain settings from openmw.cfg (bug #4262) 5 years ago
David Cernat d113f81237 [Client] Set correct worldspace for cell overrides in RecordHelper 5 years ago
Capostrophic bc5d54a161 Fix GetEffect result when running on dead actors 5 years ago
Alexei Dobrohotov 9c457c7fc0
Merge pull request #2558 from akortunov/equip
Rework 'prevent merchant equipping' feature
5 years ago
Andrei Kortunov 31e78ed41f Rework 'prevent merchant equipping' feature 5 years ago
naratzul 0220bcdef3 Add Visual Studio 2019 support 5 years ago
David Cernat 02bca3f52d [Client] Fix if check in ObjectList::setMemberShorts() 5 years ago
David Cernat 19418f4953 [Client] Don't ignore entire Actor packet if one actor can't be found 5 years ago
Andrei Kortunov 1a610d3f72
Merge pull request #2556 from Capostrophic/enchant
Make enchantments affect all actors with an inventory (bug #5186)
5 years ago
Capostrophic ce943b4f9e Make enchantments affect all actors with an inventory (bug #5186) 5 years ago
Andrei Kortunov 19e9ece291
Merge pull request #2551 from Capostrophic/onpcequip
Set OnPCEquip properly when a race can't equip an item (bug #5182)
5 years ago
Andrei Kortunov 67bef9a3a1
Merge pull request #2554 from Capostrophic/summon
Make sure summoned creatures are removed upon caster death (#5183)
5 years ago
Alexei Dobrohotov ccb557edf0
Merge pull request #2552 from akortunov/greeting
Split greetings from AiWander
5 years ago
Alexei Dobrohotov 63d191beb2
Merge pull request #2537 from akortunov/windspeed
Implement vanilla-style wind speed calculations
5 years ago
Alexei Dobrohotov cdbe58c33a
Merge branch 'master' into windspeed 5 years ago
Andrei Kortunov 2fc819cdae Encode ID's in all places to UTF-8 (bug #3977) 5 years ago
Capostrophic e9009f8d10 Make sure summoned creatures are removed upon caster death 5 years ago
Alexei Dobrohotov c891d8ce62
Merge pull request #2553 from unelsson/terraintexturemode_codeupdates
Editor: Code improvements for Terrain Texture mode (also fix for 4904)
5 years ago
Nelsson Huotari 9af8f30819 Add changelog 5 years ago
Nelsson Huotari 78f2a5181d Default brush size to 1 5 years ago
Nelsson Huotari fbb9800e89 Better terrain texture ID handling 5 years ago
Nelsson Huotari 301c05662b assignment to memb. init. list, publics to private, virtual -> final 5 years ago
Andrei Kortunov 69aceb5c1e Split greetings from AiWander (bug #4594) 5 years ago
David Cernat 4d40f05576 [GUI] Make TES3MP text input window resize itself automatically 5 years ago
Alexei Dobrohotov b7a1e6561b
Merge pull request #2080 from akortunov/recharge
Recharge items outside of player inventory
5 years ago
Alexei Dobrohotov 20b7024640
Merge pull request #2548 from akortunov/stack
Improve items ownership handling
5 years ago
David Cernat d163f1b6da [General] Turn WorldKillCount into a Worldstate packet
Rename the old WorldKillCount that was a Player packet into PlayerPlaceholder. Rename the unused CellCreate that was a Worldstate packet into WorldKillCount. On the server, move kill count-related script functions from QuestFunctions to WorldstateFunctions.
5 years ago
Capostrophic c718f89325 Set OnPCEquip properly when a race can't equip an item (bug #5182) 5 years ago
elsid bfe6005ed4
Increase default recast scale factor
To make 4 voxels fit into sStepSizeUp = 34:
"recast scale factor" = 4 * "cell size" / sStepSizeUp
5 years ago
elsid cbf8deeb31
Remove unused default settings 5 years ago
Andrei Kortunov c51aba0b13 Recharge items outside of player's inventory (bug #4077) 5 years ago
elsid d1d6ba3ed0
Fix rebuild path for walking actors
Ignore z coordinate for not swimming nor flying actors to calculate
distance from actor destination to last path point. If walking actor
destination point is floating above the ground then a point on navmesh
may be too far away when z coordinate is included. In this case path
will be rebuild on each AI_REACTION_TIME.
5 years ago
Andrei Kortunov f75f9cb337 Use localized faction name when using TFH 5 years ago
David Cernat 4a34666c59 Add OpenMW commits up to 7 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/aiactivate.cpp
5 years ago
Alexei Dobrohotov e37bcc26ac
Merge pull request #2549 from unelsson/wnamfix
OpenMW-CS: Fix minimap corruption
5 years ago
unelsson 3deebf0247
Merge branch 'master' into wnamfix 5 years ago
Nelsson Huotari 39e21c6184 changelog: Map corruption bugfix 5 years ago
Nelsson Huotari 2fdaacf23c remove for array, just std::swap 5 years ago
Nelsson Huotari e35ed960ee for -> std::copy 5 years ago
Nelsson Huotari 7f030fc3ee copy mWnam record in copy constructor and custom assignment operator 5 years ago
Andrei Kortunov f0b73e0a27 Do not store owners for items in container stores (bug #1933) 5 years ago
Andrei Kortunov 9a27714766
Merge pull request #2546 from Capostrophic/random
Cast Random result to float (bug #5175)
5 years ago
Capostrophic bde4a38181 Cast Random result to float (bug #5175) 5 years ago
AnyOldName3 4efdc88f1a Change shadow settings pluralisation so it matches the setting section name
It used to say *Shadow Settings* as they were the settings that controlled the shadow system, but that keeps confusing people and no other section titles use that convention, so they're now *Shadows Settings* as they're the settings that control shadows.
5 years ago
Andrei Kortunov 2b2f63c919
Merge pull request #2538 from Capostrophic/animation
Use random attack strength if there's no wind up animation (bug #5059)
5 years ago
Alexei Dobrohotov 6f99747fff
Merge pull request #2507 from elsid/door_stuck
Fix actors stuck in closing door (bug #5138)
5 years ago
Alexei Dobrohotov 2740a16079
Merge pull request #2542 from akortunov/stacks
Do not stack initially added scripted items
5 years ago
elsid 7fbc696d44
Change angle direction by rolling dice to avoid rotating door 5 years ago
elsid 6253d2a7ac
Undo door rotation once 5 years ago
Andrei Kortunov ca46da8b04 Do not stack initially added scripted items (bug #5136) 5 years ago
Andrei Kortunov 66dec14f8f
Merge pull request #2541 from elsid/rm_unused_field
Remove unused field QuadTreeBuilder::mLodFactor
5 years ago
elsid 751accad0f
Remove unused field QuadTreeBuilder::mLodFactor 5 years ago
David Cernat 031acffcbe [General] Implement cell records for RecordDynamic packets, part 1
New interior cells can be now be created that are either blank or based on existing interior cells.
5 years ago
David Cernat 18a7ac5940 [Client] Make it possible to override Cell records in ESMStore 5 years ago
David Cernat 0b85829e38 [Client] Make it possible to unload Cells & clear CellStores from World 5 years ago
elsid 29f262e514
Fix crash on destructed stream usage 5 years ago
Capostrophic 138a7ac434 Expression parser: Try to parse strings as number literals (bug #5097) 5 years ago
Alexei Dobrohotov e744090339
Merge pull request #2535 from akortunov/activate
Implement vanilla-style AiActivate
5 years ago
Capostrophic 4d381d0804 Use random attack strength if there's no wind up anim (bug #5059) 5 years ago
Andrei Kortunov e5564df8cb Implement vanilla-style wind speed calculations (bug #4449) 5 years ago
Andrei Kortunov 48aba76ce9 Implement vanilla-style AiActivate (bug #4456) 5 years ago
Andrei Kortunov 7b0cf868af
Merge pull request #2536 from Capostrophic/pickpocket
[Regression] Fix pickpocket crashes
5 years ago
Capostrophic 421a9d2e50 [Regression] Fix pickpocket crashes 5 years ago
David Cernat 339428872e [Client] Fix infinite loop in CellController
Previously, using CellController::getCellStore() to get an unloaded CellStore would make its references get loaded in the process, with the CellStore's loadRefs() then running updateMergedRefs(), which in turn – before getting as far as setting the CellStore's state to State_Loaded – would call CellController::hasLocalAuthority() on its accompanying ESM::Cell, which would then run CellController::isActiveWorldCell(), which would then run CellController::getCellStore() to get the CellStore again, which – still being marked as unloaded – would run the whole loop again... and again.
5 years ago
Alexei Dobrohotov 822b20ef46
Fix invalid strips-based collision shape transformation 5 years ago
David Cernat d4df2948dd [Client] Use clearer wording for comment in GUIController 5 years ago
David Cernat 219f0cb88e [Client] Fix typo in 56f084c9c0 by using correct function 5 years ago
Andrei Kortunov b360deaec3 Store raw data about fog of war instead of RGBA images (bug #5108) 5 years ago
Alexei Dobrohotov ac5491b5c2
Merge pull request #2534 from akortunov/toggleview
Improve resurrection handling
5 years ago
Andrei Kortunov eb1245664f
Merge pull request #2533 from Capostrophic/levelledlist
Fix chance none logic for nested levelled lists (bug #5169)
5 years ago
Andrei Kortunov 6450d84473 Improve resurrection handling 5 years ago
Andrei Kortunov 0ff8e83a39
Merge pull request #2532 from Assumeru/undefined
Fix undefined behaviour
5 years ago
Evil Eye 3d3ffdfcd8 override eraseStatic for dialogue 5 years ago
Alexei Dobrohotov 0a97dd8e84
[Regression] Fix horribly broken fallback loading 5 years ago
Capostrophic 7c9a9d7de0 Fix chance none logic for nested levelled lists (bug #5169) 5 years ago
David Cernat 6828d83a42 [Client] Always hash input for password dialogs
Additionally, clean up repetitive code in GUIController.
5 years ago
David Cernat 3903ac6526 [Server] Add script functions for getting SHA256 hashes & random strings 5 years ago
Alexei Dobrohotov 2d20905d93
Merge pull request #2531 from akortunov/guifixes
Check if related menus are allowed when using cycle hotkeys
5 years ago
Alexei Dobrohotov acc4811d12
Merge branch 'master' into guifixes 5 years ago
Alexei Dobrohotov 3c49bed393
Merge pull request #2530 from akortunov/toggleview
Force view change when using Force1stPerson and Force3rdPerson commands
5 years ago
okdshin c15b3377da [General] Add PicoSHA2 hash generator to extern 5 years ago
Andrei Kortunov 1f3f3dd1a5
Merge pull request #2526 from Capostrophic/config
openmw.cfg-related fixes (incl. bug 2976)
5 years ago
Andrei Kortunov e6b79d100a
Merge pull request #2503 from Capostrophic/keyword
Allow usage of more keywords as string arguments (bug #5087)
5 years ago
Andrei Kortunov 7cb6a9c1e9 Do not allow to use quick keys during chargen 5 years ago
Andrei Kortunov 1bddbbcfa0 Check if related menus are allowed when using cycle hotkeys (bug #5167) 5 years ago
Andrei Kortunov a4d196f33f Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168) 5 years ago
David Cernat 7caa6cd8fe [Client] Prevent ActorAI spam from actors starting combat in scripts 5 years ago
Andrei Kortunov e568ad30ea Copy transformations data when we clone node (bug #5163) 5 years ago
David Cernat ca21bc35c2 [Server] Add script functions that read & send ScriptGlobalShort packets 5 years ago
David Cernat 0d51eb5b23 [General] Use unsigned ints for refNums & mpNums in packets 5 years ago
David Cernat cc25612b8d Add OpenMW commits up to 18 Sep 2019
# Conflicts:
#	apps/openmw/mwclass/container.cpp
#	apps/openmw/mwclass/door.cpp
#	apps/openmw/mwmechanics/security.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/miscextensions.cpp
5 years ago
Alexei Dobrohotov 13a0b3bf5a
Merge pull request #2515 from Assumeru/organic-locks
Fix #5155
5 years ago
Alexei Dobrohotov fb87778493
Merge branch 'master' into organic-locks 5 years ago
Alexei Dobrohotov 6f2aaf156e
Merge pull request #2527 from akortunov/resurrect
Continue scripts execution after player's death
5 years ago
Andrei Kortunov 94a281370f Continue scripts execution after player's death (bug #5166) 5 years ago
Evil Eye 32de86d114 merge master 5 years ago
Evil Eye 7c8b82f45c move locking behaviour to cellref 5 years ago
Capostrophic 3a912485ca openmw.cfg-related fixes
Make sure the defaults exist in local openmw.cfg too
Make sure constant attenuation settings are defined now that they are implemented
Fix config file loading order once and for all (bug #2976)
5 years ago
Alexei Dobrohotov d3284c0331
Merge pull request #2525 from akortunov/factionowner
Improve faction items handling
5 years ago
Andrei Kortunov 85bb4a76f6 Improve faction items handling (bug #5164) 5 years ago
Andrei Kortunov 4a6d2cbaff Do not allow player to take items from evidence chests (bug #3609) 5 years ago
Andrei Kortunov 271d8e6d74
Merge pull request #2521 from Capostrophic/material
Support target color in NiMaterialColorController (bug #5159)
5 years ago
Capostrophic 83f61d1636 Support target color in NiMaterialColorController (bug #5159) 5 years ago
Andrei Kortunov dd6c21ad81
Merge pull request #2511 from Capostrophic/water
Water shader cleanup
5 years ago
Andrei Kortunov b205aae4e1
Merge pull request #2518 from Capostrophic/activation
Allow objects to use their ID instead of the name for tooltip/activation checks (bug #5158)
5 years ago
Andrei Kortunov 649a14dfae
Merge branch 'master' into activation 5 years ago
Andrei Kortunov a7cfe5853c
Merge pull request #2522 from Capostrophic/extradata
Refactor NIF extra data and particle modifier handling
5 years ago
Andrei Kortunov a54ba4c9a2
Merge pull request #2524 from Capostrophic/knockdown
Use Open action as fallback for companion activation (bug #5161)
5 years ago
Capostrophic 480000da07 Use Open action as fallback for companion activation (bug #5161) 5 years ago
elsid 209e33f5ce
Open door when it is on the way to a next path point 5 years ago
elsid 653a391084
Do not open doors when actor has no path
When actor is not going anywhere it doesn't require to go through doors
so there is no need to open them.
5 years ago
elsid d4b7b3e999
Check for AiPackage type before find nearby door 5 years ago
David Cernat 56f084c9c0 [Client] Fix packet spam for repetitive setting of the same global value 5 years ago
David Cernat ceb16bb6f8 [Client] Reimplement temporary fix from c65d6c1328
The real reason for the crash remains to be fixed.
5 years ago
David Cernat afa704ce95 [Server] Add OnScriptGlobalShort event 5 years ago
David Cernat e424bd9bc3 [General] Implement ClientScriptSettings packet, part 2
The packet can now set which client globals get packets sent about them when their values change on clients.
5 years ago
Capostrophic 790531671a Fix tests 5 years ago
Capostrophic 8baddefdbd Refactor extra data and particle modifier handling
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
5 years ago
Evil Eye 85d52ec183 oops 5 years ago
Alexei Dobrohotov 6128279dbf
Merge pull request #2517 from unelsson/terraintextureselection
[Final tests] Editor: Terrain texture selection
5 years ago
Andrei Kortunov 6c006c9c87
Merge pull request #2516 from Capostrophic/launcher
Launcher: Avoid Qt "opening user openmw.cfg twice" warning
5 years ago
Capostrophic 718dbd3f9a Use object ID as the substitution for their name (bug #5158) 5 years ago
Capostrophic 6b74630f6e Preparation work
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
5 years ago
Capostrophic 9788a776b9 Avoid Qt "opening user openmw.cfg twice" warning 5 years ago
Evil Eye a86a8ecc0e Allow locking/picking just about everything 5 years ago
Nelsson Huotari 4ccb951126 move check to outermost scope 5 years ago
Nelsson Huotari 0880923189 Consistency for variable and header argument names. 5 years ago
Nelsson Huotari 6dc3d8b44b More readable code 5 years ago
Nelsson Huotari 780055899d Don't add empty primitive sets to geometry. 5 years ago
Nelsson Huotari 3becacf6d1 Remove globals, const int& -> int, values to const ref. 5 years ago
Nelsson Huotari 1dcee833a1 Less verbose syntax 5 years ago
Nelsson Huotari 5a143fe99d Remove extra include 5 years ago
Nelsson Huotari 39ab449431 Only allow selection of cells in view 5 years ago
Nelsson Huotari dc8de6c6e6 Make less copies 5 years ago
Nelsson Huotari 001ca68cc7 Remove empty lines 5 years ago
Nelsson Huotari 46ee639892 pass by const ref and other fixes 5 years ago
Nelsson Huotari 20ab7df19f Fixes, cleanup. 5 years ago
Nelsson Huotari 1a08944a8b Remove unused code, clarifications, optimizations 5 years ago
Nelsson Huotari d6722c7492 Terrain texture selection, support for vertex selection 5 years ago
Evil Eye 56b6a7ada4 Fix #5155 5 years ago
David Cernat 3acfbad55d [General] Implement ClientScriptSettings packet, part 1
For starters, the new packet can set which client scripts have all of their variables synchronized between players. The previous hardcoded list of IDs for synchronized scripts has been removed.
5 years ago
David Cernat 25e27ccb95 [General] Use placeholder packet ID for unused CellCreate packet 5 years ago
capostrophic 8f2ed884a5 Allow usage of more keywords as string arguments (bug #5087) 5 years ago
Alexei Dobrohotov 2e05e0e829
Merge pull request #2514 from akortunov/guifixes
Generate sCrimeMessageReport only once per frame
5 years ago
Andrei Kortunov d58f93f388 Use sayDone() only for scripting backward compatibility 5 years ago
David Cernat ca67587b89 Add OpenMW commits up to 5 Sep 2019
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
Andrei Kortunov c9deb1b325 Generate sCrimeMessageReport only once per frame (bug #5012) 5 years ago
Andrei Kortunov 58be8dc976
Merge pull request #2513 from Capostrophic/crime
Make sure failed pick/trap attempts are a crime (bug #5149)
5 years ago
Capostrophic c89c14bb68 Rename objectOpened() to make its role more clear 5 years ago
Capostrophic 8317dc0709 Make sure failed pick/trap attempts are a crime (bug #5149) 5 years ago
Alexei Dobrohotov 9ce556832e Merge branch 'CancelDoorShutSoundWhenDoorBlocked' into 'master'
Bug #4270: Cancel door sound if collision is detected and the sound is playing

See merge request OpenMW/openmw!147
5 years ago
James Stephens bafbc0a055 Cancel door sound if collision is detected and the sound is playing 5 years ago
Alexei Dobrohotov 2daecc633e
Revert Vampirism behavior upon death to 0.45.0-like state
Until we figure out the better way to handle vampire stuff tangled together with post-death animation magic effect reset.
5 years ago
David Cernat 190c404b38 [Client] Calculate spell success in more appropriate place
Previously, creatures with fast spellcasting animations would cast their spells before their success had actually been calculated, causing them to fail.
5 years ago
Andrei Kortunov 0caf192212 Merge branch 'ShowSpellMagickaCostInSpellBuyingWindow' into 'master'
Adds requested feature #5147: Show spell magicka cost in spell buying window

See merge request OpenMW/openmw!144
5 years ago
James Stephens 7d3f6e1cd9 Altered process so that cost only appears on spell purchase window.
Added myself to authors
5 years ago
Andrei Kortunov 08614f6a87 Merge branch 'AlchemyQuestionMarkNotCentered' into 'master'
Fixes the offset question mark in the alchemy tooltip when the effect is not known

See merge request OpenMW/openmw!143
5 years ago
James Stephens b33429001c Fixes the offset question mark in the alchemy tooltip when the effect is not known 5 years ago
Andrei Kortunov 626e943c43 Merge branch 'FocusLostESCSaveConfirmationDialog' into 'master'
Fixes bug #4650: Focus is lost after pressing ESC in confirmation dialog inside savegame dialog

See merge request OpenMW/openmw!145
5 years ago
James Stephens 1cd1bfca74 Fixes bug #4650 5 years ago
David Cernat 95967ea289 [General] Rename unused ObjectReset packet into ObjectHit 5 years ago
Capostrophic cf0c71c651 Water shader cleanup 5 years ago
Alexei Dobrohotov a8f5fe3eff
Merge pull request #2508 from akortunov/counter
Handle death event manually if needed before disposing a corpse
5 years ago
David Cernat 6dccdfe0c1 [Client] Load up TES3MP's settings in the same map as OpenMW's settings
This allows the "font size" property to be read when the chat window is created.
5 years ago
David Cernat 9b1fbcc6f9 [General] Use correct packet ID in PacketActorCast 5 years ago
Roman Siromakha 3b47e9039c
Merge pull request #2509 from OpenMW/revert-2494-ai_open_door
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)"
5 years ago
Roman Siromakha 41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)" 5 years ago
Roman Siromakha ea04fcbd09
Merge pull request #2494 from elsid/ai_open_door
[WIP] Open door when it is on the way to a next path point (fix bug #5073)
5 years ago
elsid b4ec444057
Open door when it is on the way to a next path point 5 years ago
elsid 97cd9d434a
Do not open doors when actor has no path
When actor is not going anywhere it doesn't require to go through doors
so there is no need to open them.
5 years ago
elsid 389f5dfb9b
Check for AiPackage type before find nearby door 5 years ago
elsid cb0a609d59
Merge branch 'master' into HEAD 5 years ago
elsid 69b4fe8545
Revert "Open door when it is on the way to a next path point"
This reverts commit c32872fb16.
5 years ago
Andrei Kortunov b6044d231a Handle death event manually before disposing a corpse if a death animation was not finished yet (feature #5146) 5 years ago
David Cernat 3a1e3cf0f5 [Client] Prevent chat key from switching to chat window while in console 5 years ago
David Cernat a9f1481e5c [Client] Revert changes to key focus setting as per 56539fee4f 5 years ago
David Cernat 63f55ce762 [GUI] Fix chat window layout after 1ce370e7fa made it stop working 5 years ago
David Cernat a52d32602d [Client] Fix code style in PlayerList 5 years ago
Andrei Kortunov 84b3aaedaa
Merge pull request #2506 from akortunov/refactor
Rename getWeaponPart() function
5 years ago
Andrei Kortunov c059bf04cc Rename getWeaponPart() function 5 years ago
Alexei Dobrohotov ceff1defb4
Merge pull request #2504 from elsid/door_state_enum
Add enum type for door state
5 years ago
Alexei Dobrohotov 06c792e434
Merge pull request #2505 from Capostrophic/crashfix
Avoid using getPtr() on empty geometry data
5 years ago
Capostrophic c0438a0c6b Avoid using getPtr on empty geometry data 5 years ago
David Cernat 3e1c96a49c [Client] Fix crash by not trying to enable markers for invalid players 5 years ago
David Cernat 78a9a428a6 [Client] Remove unnecessary mwmp::Main::pressedKey() function
Additionally, add comment around where it was originally used.
5 years ago
David Cernat e0f623fb87 [Client] Move check for preventing auto equipping to correct spot 5 years ago
David Cernat e15428e139 [General] Remove "created by" stamps added by IntelliJ 5 years ago
elsid 16170131b7
Add enum type for door state 5 years ago
David Cernat 9350e1d484 [General] Split up Attack packets into Attack and Cast ones
Create an entirely new PlayerCast packet for that purpose, but rename the already existing but unused ActorInteraction into ActorCast.
5 years ago
Alexei Dobrohotov 64fde2d7c2
Fix crash when NiGeometry lacks NiGeometryData 5 years ago
Alexei Dobrohotov 43a58e181f
Merge pull request #2455 from Capostrophic/input
Revert questionable input manager decisions
5 years ago
David Cernat 353e7d530a Add OpenMW commits up to 18 Aug 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat ed05125f6a Add OpenMW commits up to 2 Aug 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
5 years ago
David Cernat b57c0bcafe Add OpenMW commits up to 6 June 2019
# Conflicts:
#	apps/openmw/mwgui/hud.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 5181c601c0 Add OpenMW commits up to 2 May 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/statsextensions.cpp
5 years ago
David Cernat f671c0bddc Add OpenMW commits up to 1 Apr 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/engine.cpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/trainingwindow.cpp
#	apps/openmw/mwgui/travelwindow.cpp
#	apps/openmw/mwgui/waitdialog.cpp
5 years ago
David Cernat de16b8118c [CI] Fix execution permission for before_script_linux.sh 5 years ago
David Cernat 8729c3c5e3 Add OpenMW commits up to 9 Mar 2019
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	README.md
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwscript/animationextensions.cpp
#	apps/openmw/mwscript/guiextensions.cpp
#	apps/openmw/mwscript/miscextensions.cpp
#	apps/openmw/mwscript/soundextensions.cpp
5 years ago
David Cernat 95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
5 years ago
David Cernat 6205ff6b04 Add OpenMW commits up to 30 Jan 2019
# Conflicts:
#	apps/openmw/mwworld/worldimp.cpp
5 years ago
David Cernat d439edce70 [CI] Fix oversight in before_script_linux.sh 5 years ago
David Cernat 6fdef4fd0a Add OpenMW commits up to 1 Jan 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 68886e7539 Add OpenMW commits up to 2 Dec 2018
# Conflicts:
#	.travis.yml
#	README.md
5 years ago
David Cernat 1b9842c175 [CI] Fix oversights in .travis.yml and before_script_linux.sh 5 years ago
David Cernat cbba81df03 Add OpenMW commits up to 14 Nov 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/inventorystore.cpp
5 years ago
David Cernat 3efffe92e3 Add OpenMW commits up to 5 Nov 2018
# Conflicts:
#	CI/before_install.linux.sh
#	CMakeLists.txt
#	apps/openmw/mwmechanics/aifollow.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/CMakeLists.txt
5 years ago
David Cernat 7de1a3d016 [CI] Assign execution permissions to Linux .sh files 5 years ago
David Cernat 7edfca06cf [CI] Fix issues in before_install.linux.sh 5 years ago
David Cernat fba07194cf Add OpenMW commits up to 29 Oct 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/aicombat.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 056591b957 Add OpenMW commits up to 14 Sep 2018
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 889bcec7f8 Add OpenMW commits up to 1 Sep 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/difficultyscaling.cpp
#	apps/openmw/mwscript/transformationextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
5 years ago
David Cernat 84cab59057 Add OpenMW commits up to 19 Aug 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/main.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/containerextensions.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/misc/debugging.hpp
5 years ago
David Cernat 0339958e21 [General] Rename Log class into TimedLog 5 years ago
Alexei Dobrohotov cec9e25902
Fix changelog 5 years ago
Andrei Kortunov bd18655d23
Merge pull request #2439 from Capostrophic/jumping
Fix jumping mechanics framerate dependency (bug #4991)
5 years ago
Andrei Kortunov b58c632c20
Merge pull request #2502 from akortunov/master
Optimize custom bones search visitor
5 years ago
Andrei Kortunov fe71ce9cb2 Optimize custom bones search visitor 5 years ago
Andrei Kortunov ed8828d3bc
Merge pull request #2457 from Capostrophic/sneak
Sneaking consistency fixes (bug #5103)
5 years ago
Andrei Kortunov 661d11c83e
Merge pull request #2465 from Capostrophic/duration
Human-readable light source duration (feature #5091)
5 years ago
Andrei Kortunov d0bc06b849
Merge pull request #2438 from Capostrophic/camera
Rewrite messed up playerlooking switch handling (bug #5078)
5 years ago
Andrei Kortunov f5d4642529
Merge pull request #2501 from Capostrophic/colorcode
Escape number signs in object names for tooltips
5 years ago
capostrophic e5331aab28 Escape number signs in object names for tooltips 5 years ago
Alexei Dobrohotov ee5b81470c
Merge pull request #2500 from elsid/horker_evade_stuck
Use 3d coordinates to detect stuck (bug #5127)
5 years ago
elsid ad05de44ae
Use 3d coordinates to detect stuck
To able water and flying creatures move to player going up or down.
5 years ago
elsid 7b94183d83
Revert "Take in account actor half extents for obstacle check"
This reverts commit 5434e92437.
5 years ago
Andrei Kortunov f7917964a0
Merge pull request #2484 from Capostrophic/fallbackanim
Allow SwimRunForward state WalkForward fallback (bug #5126)
5 years ago
Andrei Kortunov ca724d45a1
Merge pull request #2498 from akortunov/master
[Regression] inject bones for NPC's with custom animation models
5 years ago
Andrei Kortunov 6156ab45de [Regression] inject bones for NPC's with custom animation models 5 years ago
Alexei Dobrohotov 1eac6f67db
Merge pull request #2496 from Capostrophic/reverb
Change the default reverb preset to improve underwater FX transition
5 years ago
Andrei Kortunov ac2cd544dc
Merge pull request #2497 from akortunov/master
[Regression] restore ammo inventory sounds
5 years ago
Andrei Kortunov 0afb142b8e [Regression] restore ammo inventory sounds 5 years ago
capostrophic 99710e8f55 Allow SwimRunForward state WalkForward fallback (bug #5126) 5 years ago
Alexei Dobrohotov 38042bb49f
Merge pull request #2492 from akortunov/lock
Use a common doors rotation code in the "lock" command handler
5 years ago
Andrei Kortunov f713daf7df
Merge pull request #2491 from Capostrophic/nipalette
Implement NiPalette support (feature #4882)
5 years ago
Andrei Kortunov 786a6c6d42 Use a common doors rotation code in the "lock" command handler 5 years ago
capostrophic 9c7474f88c Implement NiPalette support (feature #4882) 5 years ago
capostrophic f779529cab Change the default reverb preset to improve underwater FX transition 5 years ago
Chris Djali 043231737d
Merge pull request #2495 from Capostrophic/clamp
Fix non-tiling textures clamp mode (bug #5137)
5 years ago
capostrophic efa463af8f Fix non-tiling textures clamp mode (bug #5137) 5 years ago
David Cernat ab93b5ddc5 [General] Use PlayerItemUse packets when using items through quick keys 5 years ago
elsid c32872fb16
Open door when it is on the way to a next path point 5 years ago
Andrei Kortunov 3a88620a43
Merge pull request #2493 from elsid/navigator_update_rotated_objects
Update rotated world objects in navigator
5 years ago
elsid 4d86bf3bf2
Update rotated world objects in navigator 5 years ago
David Cernat ae5200cbb2 [General] Implement light records for RecordDynamic packets 5 years ago
Alexei Dobrohotov 17991164e4
Merge pull request #2489 from ArgonianAccount/class-quiz
Class quiz fixes
5 years ago
David Cernat 6160293e86 [Client] Don't clear placeholder summons in CastSpell::inflict() 5 years ago
Andrei Kortunov deeccb2783
Merge pull request #2461 from Capostrophic/geteffect
Use up-to-date magic effects for GetEffect (bug #3894)
5 years ago
Andrei Kortunov d4a8023e1a
Merge pull request #2485 from Capostrophic/lighting
Add support for QuadraticMethod/LinearMethod setup (bug #4965, continuation)
5 years ago
Andrei Kortunov fe0791d34b
Merge pull request #2486 from Capostrophic/flicker
Rewrite flickering/pulsing to work like vanilla (bug #4952)
5 years ago
capostrophic 62fd2d47a5 Rewrite flickering/pulsing to work more like vanilla (bug #4952) 5 years ago
ArgonianAccount 53facf7baa Class quiz fixes 5 years ago
Alexei Dobrohotov e10bbea7c0
Revert 3.4-breaking 8b1ed6c 5 years ago
Alexei Dobrohotov 5640a305e2
Merge pull request #2487 from akortunov/arrows
Corrections for extended weapon animations feature
5 years ago
Andrei Kortunov 6019f6507d Corrections for extended weapon animations feature 5 years ago
Alexei Dobrohotov b7d841deb2
Merge pull request #2488 from mp3butcher/patch-13
fix Sunglare bug with osg 3.6
5 years ago
Julien Valentin 8b1ed6c357
fix Sunglare bug with osg 3.6 5 years ago
Alexei Dobrohotov 3668473d6d
Fix comment 5 years ago
Alexei Dobrohotov eaedf34975
Fix ventriloquism 5 years ago
capostrophic c0d5cbdc8b Add support for QuadraticMethod/LinearMethod setup (bug #4965) 5 years ago
Andrei Kortunov 75fc57d1d3
Merge pull request #2483 from akortunov/master
Revert "Do not use a separate GlowUpdater for every arrow in quiver"
5 years ago
Andrei Kortunov 1f7d2f8da0 Revert "Do not use a separate GlowUpdater for every arrow in quiver"
This reverts commit b7c214b1bc.
5 years ago
Andrei Kortunov b09f0f8c2d
Merge pull request #2458 from Capostrophic/jump
Don't "jump" with 0 vertical velocity in all cases (bug #5106)
5 years ago
Alexei Dobrohotov 307e9ba666
Merge pull request #2413 from akortunov/weapon
Refactor weapon types behaviour
5 years ago
capostrophic 26f59e47db Improve readability 5 years ago
Andrei Kortunov 9355881abc
Merge pull request #2481 from Capostrophic/nitristrips
Handle NiTriStrips (feature #5121)
5 years ago
Andrei Kortunov 196f8451b2
Merge pull request #2456 from Capostrophic/spells
Make sure getSpellSuccessChance() checks mana when necessary (bug #5112)
5 years ago
capostrophic a9c4b18d38 Make sure cast chance checks mana when necessary (bug #5112) 5 years ago
Andrei Kortunov 134631ad72
Merge pull request #2463 from Capostrophic/crit
Vanilla-friendly ranged crits (bug #5067)
5 years ago
Andrei Kortunov fcd6e915d4 Fallback for long animation groups 5 years ago
Andrei Kortunov 123ca175c8 Fallback for short weapon groups 5 years ago
Andrei Kortunov afaff8231d Use the Weapon Bone as fallback 5 years ago
Andrei Kortunov f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
5 years ago
Alexei Dobrohotov 25dc06db73
Merge pull request #2482 from akortunov/arrows
Update weapon state when we cancel attack animation
5 years ago
Andrei Kortunov 07cf93f4db Update weapon state when we cancel attack animation (bug #5124) 5 years ago
capostrophic 9e93c9ecd2 Fix multiple-strip NiTriStrips loading 5 years ago
capostrophic fa910299d0 Update changelog 5 years ago
capostrophic 93f73fe87b Fix comparison 5 years ago
capostrophic 7fc3153f62 Reduce code duplication further 5 years ago
capostrophic 91efdf18a9 Reduce Bullet part code duplication 5 years ago
capostrophic ed154f0e2c Fix typo and replace failsave with an assert 5 years ago
capostrophic 7cc70ffb50 Reduce skinned shape code duplication 5 years ago
capostrophic bd6c455fd4 Reduce code duplication for non-skinned shapes 5 years ago
capostrophic b4f54651f8 Make sure strips have valid size 5 years ago
capostrophic 6599a28ecf Generate collision shape based on NiTriStrips 5 years ago
capostrophic adb06913f7 Add basic NiTriStrips rendering (no physics yet) 5 years ago
capostrophic 8efbdeaa57 Load NiTriStrips/NiTriStripsData (don't do anything yet) 5 years ago
Alexei Dobrohotov e524771b40
Merge pull request #2478 from Capostrophic/path
[Regression] Make sure local path includes trailing slash
5 years ago
capostrophic 7b6af4a893 Make sure local path includes trailing slash
Launcher assumes it does
5 years ago
David Cernat 1d09763bad [Client] Allow blanking out the enchantment IDs of records using a base 5 years ago
Andrei Kortunov e03e4495e6
Merge pull request #2472 from Capostrophic/recastdemo
Purge unnecessary recast stuff
5 years ago
Alexei Dobrohotov ed364a1e29
Merge pull request #2476 from akortunov/arrows
Use magic glow for enchanted arrows
5 years ago
Alexei Dobrohotov b156be0209
Merge pull request #2477 from Assumeru/script-respawn
Add script for respawned creatures and NPCs with refcount 0 fixes #5123
5 years ago
unknown ff41302c69 Add changelog entry 5 years ago
Andrei Kortunov b7c214b1bc Do not use a separate GlowUpdater for every arrow in quiver 5 years ago
Andrei Kortunov 8557346fbd Use glow for enchanted arrows (feature #5122) 5 years ago
unknown 2a53f6bc3e Merge branch 'master' of https://github.com/OpenMW/openmw into script-respawn 5 years ago
David Cernat 14af0be657 [General] Include AI alarm & flee for creatures/NPCs in RecordDynamic 5 years ago
David Cernat ef432d1419 [General] Include AI services for creatures/NPCs in RecordDynamic 5 years ago
Andrei Kortunov 1eed511b4e Use enchanted glow for pulled arrows 5 years ago
Andrei Kortunov 4c92f0c4e1 Move getEnchantmentColor() from Animation to Class 5 years ago
unknown 6baa5da6c9 Fix scripts not executing on respawn 5 years ago
Andrei Kortunov 06ba80e19b
Merge pull request #2469 from Capostrophic/instant
Apply instant effects of permanent spells in AddSpell immediately (bug #5055)
5 years ago
capostrophic cac05ef826 Sneaking consistency fixes (bug #5103)
Correct pickpocketing behavior when not actually sneaking
Fix first person swimming animation regression when sneaking stance is on
Move typical sneaking use case checks into mechanics manager
Correct awareness checks
5 years ago
Andrei Kortunov ad8b10c8db
Merge pull request #2464 from Capostrophic/enchant
Ignore on-strike enchanted projectile charge (#5104)
5 years ago
Andrei Kortunov b7024c751f
Merge pull request #2471 from Capostrophic/undefined
Prevent front() and operator[] from causing undefined behavior (bug #5118)
5 years ago
capostrophic 1f3740225b Purge unnecessary recast stuff 5 years ago
David Cernat 18e2a14645 [General] Implement tool-related records for RecordDynamic packets 5 years ago
capostrophic 6928adcee1 Prevent front() and operator[] from causing undefined behavior 5 years ago
Alexei Dobrohotov 4d4a21ff09
Merge pull request #2460 from Capostrophic/swim
Don't force-trace down swimming actors (bug #5089)
5 years ago
Alexei Dobrohotov b3fe85fb6d
Merge pull request #2324 from elsid/aiwander_navmesh
Use navmesh for AiWander
5 years ago
Alexei Dobrohotov 793016f163 Merge branch 'controller-bindings' into 'master'
Allow user controller bindings

See merge request OpenMW/openmw!135
5 years ago
Alex Rice e7ae7a8ca6 Allow user controller bindings 5 years ago
elsid 6c46d929c2
Build path to first pathgrid node by navmesh 5 years ago
elsid f684c90932
Make angular velocity depending on actor speed
To avoid moving in circles for actors with high speed.
5 years ago
David Cernat 4100d93dea [General] Implement ingredient records for RecordDynamic packets 5 years ago
capostrophic 82ac99ec56 Apply instant FX in AddSpell immediately (bug #5055) 5 years ago
capostrophic f8c07ca9dc Don't "jump" with 0 vertical velocity in all cases (bug #5106) 5 years ago
capostrophic e9c71a3808 Ignore on-strike enchanted projectile charge (#5104) 5 years ago
Alexei Dobrohotov 56c9c72bc7
Merge pull request #2459 from Capostrophic/fight
Don't clamp semi-final actor fight rating to 0 (bug #5105)
5 years ago
capostrophic ff133bd740 Don't clamp final actor fight rating to 0 (bug #5105)
Fix werewolf aggro distance
5 years ago
Alexei Dobrohotov 3d5d5d8b44
Merge pull request #2454 from Capostrophic/modregion
Ignore an extra number argument in ModRegion (bug #5110)
5 years ago
David Cernat 300cef0073 [Server] Allow setting of container record flags in SetRecordFlags() 5 years ago
capostrophic 168e5050bb Ignore an extra number argument in ModRegion (bug #5110) 5 years ago
Alexei Dobrohotov 3f2b63122d
Merge pull request #2467 from Capostrophic/stream
[Regression] Editor: Avoid locale-related settings parsing issues
5 years ago
Alexei Dobrohotov 3a0f893f53
Merge pull request #2468 from elsid/aitravel_fastforward_fix
Reset path after AiTravel is fast forwarded (bug #5037)
5 years ago
elsid 4ad04a28f9
Reset path after AiTravel is fast forwarded
Otherwise actor will keep going to the first path point that may be
unreachable.
5 years ago
David Cernat 0189d19d14 [Server] Clear new types of records in ClearRecords() 5 years ago
Alexei Dobrohotov 1fdc5151ca Merge branch '5055fix' into 'master'
Fix Non-swimming enemies entering water if player is water walking (bug #5099)

See merge request OpenMW/openmw!136
5 years ago
Artem Nykolenko 610e87cb24 Fix Non-swimming enemies entering water if player is water walking (bug #5099) 5 years ago
Andrei Kortunov 264a769827
Merge pull request #2466 from Capostrophic/doll
[Regression] Avoid confusing inventory doll with player in non-uniform scaling
5 years ago
capostrophic 5341ca4e22 [Regression] Avoid locale-related conversion issues in editor 5 years ago
David Cernat 247d2fad30 [General] Implement activator & static records for RecordDynamic packets 5 years ago
capostrophic 2affb8ed63 Human-readable light source duration (feature #5091) 5 years ago
Alexei Dobrohotov 1a2f51ef6f
Merge pull request #2415 from Assumeru/unix-console
Unix console hotkeys
5 years ago
capostrophic dcbe76d888 [Regression] Avoid confusing inventory doll with player 5 years ago
capostrophic e2496af5c5 Vanilla-friendly ranged crits (bug #5067) 5 years ago
capostrophic e7ec27e45d Use up-to-date magic effects for GetEffect (bug #3894) 5 years ago
capostrophic 6fe429c4e8 Don't force-trace down swimming actors (bug #5089) 5 years ago
capostrophic 15bf05215e Revert questionable input manager decisions
Remove Options Menu shortcut
Revert to more pleasant 0.45.0 Escape behavior
Re-enable keyboard GUI arrow conversion feature
Remove gamepad button release handling
5 years ago
Capostrophic 4e54ed86b3 Fix jumping mechanics framerate dependency (bug #4991) 5 years ago
Capostrophic 0b074f2211 Rewrite messed up playerlooking switch handling (bug #5078) 5 years ago
Alexei Dobrohotov cad4ba0423 Merge branch 'unity_fix' into 'master'
Fix build with `OPENMW_UNITY_BUILD` enabled

See merge request OpenMW/openmw!132
5 years ago
Grigory 28e54c25ee Add -DMYGUI_DONT_REPLACE_NULLPTR 5 years ago
AnyOldName3 d460e407ab Merge branch 'framelimit' into 'master'
Default framelimit

See merge request OpenMW/openmw!54
5 years ago
wang ryu d4ec446141 default framelimit 5 years ago
David Cernat e9336e53fc [General] Implement container and door records for RecordDynamic packets 5 years ago
David Cernat 4183373f53 [General] Update credits 5 years ago
Alexei Dobrohotov facbb2e0db
[Regression] Make sure unloaded objects can be opened 5 years ago
David Cernat ef68a72ba6 [General] Set hasCellData to true for PacketConsoleCommand 5 years ago
Chris Djali 576285573b
Merge pull request #2404 from Capostrophic/framerate
Make framerate limit configurable in the launcher
5 years ago
Andrei Kortunov 69277b52d0
Merge pull request #2451 from Capostrophic/sounds
Fix combat sound inconsistencies (bugs #5092, #5093)
5 years ago
Andrei Kortunov 914b28c35a Merge branch 'master' into 'master'
Issue#4276: Character window resizing

See merge request OpenMW/openmw!128
5 years ago
David Cernat 1b1ce1b27a [General] Change version to 0.7.1 5 years ago
Artem Nykolenko d996b565a5 Improve character window resizing (bug #4276) 5 years ago
Alexei Dobrohotov 6cad48b1ad
Update changelog 5 years ago
Alexei Dobrohotov 29ebfe709e
Play 'Hand To Hand Hit' only for fatigue damage (bug #5093) 5 years ago
Alexei Dobrohotov 65ee420ab9
Only play on-strike failure sound on the player (bug #5092) 5 years ago
Evil Eye fb9b4a79c1 Update changelog 5 years ago
Alexei Dobrohotov 366906ac51
Fix paralyzed actors' death animations 5 years ago
Andrei Kortunov 98847333c1
Merge pull request #2443 from 8-j/patch-1
Extended.rst: Fix inexistent animation key: `open` -> `start`
5 years ago
8-j 44a01303ed
Extended.rst: Fix inexistent animation key: `open` -> `start` 5 years ago
Alexei Dobrohotov fe52bee41d Merge branch 'master' into 'master'
Fixes Albemic typo in OpenMW-CS

See merge request OpenMW/openmw!133
5 years ago
Alexei Dobrohotov 010cd4987d Merge branch 'fixbuild' into 'master'
Use pathconf() to determine the maximum path length

See merge request OpenMW/openmw!134
5 years ago
fredzio ca7ac30f6d Use the POSIX pathconf(2) to determine the maximum path length.
It fixes build on BSD platforms where PATH_MAX is defined in
<sys/syslimits.h> vs <linux/limits.h> on Linux.
5 years ago
nalal 7316c8aafd
Added functionality for TES3MP server to catch system signals
This should permit the TES3MP server to catch when a "SIGTERM"(Standard program stop) or "SIGINT"(Ctrl+C) is sent to the process and allow that to initiate the standard shutdown procedure by halting the networking loop peacefully.
5 years ago
Axel Vestin c0f66ac70c Fixes Albemic typo in OpenMW-CS 5 years ago
Andrei Kortunov 240f76e822
Merge pull request #2440 from jlaumon/sound_crash_fix
Fixed crash with sound disabled (bug #4600)
5 years ago
jeremy 940625b138
Update CHANGELOG.md 5 years ago
jeremy 962462c1c5 Removed unnecessary calls to stopSound3D
playSound3D (the one taking a ptr) already stops the sound if it's playing.
5 years ago
jeremy c8c06ceee9 Fixed SoundManager::stopSound when output is not initialized (bug #4600 probably) 5 years ago
Alexei Dobrohotov e4c596adf8
Fix CI builds (attempt №2)
Gosh darn dem tabs
5 years ago
Alexei Dobrohotov e4e513c5dc
Fix CI builds
Apparently the only tab characters are in this file.
5 years ago
Evil Eye cb4664b31b Remove arrow key behaviour as it's in MyGUI now 5 years ago
Evil Eye 405c556ce9 Merge branch 'master' of https://github.com/OpenMW/openmw into unix-console 5 years ago
Alexei Dobrohotov 648dc7db26 Merge branch 'issue-4202' into 'master'
Issue #4202: Open .omwaddon files without needing to open openmw-cs first.

See merge request OpenMW/openmw!86
5 years ago
Nat Meo bcc5142b32 Issue #4202: Open .omwaddon files without needing to open openmw-cs first. 5 years ago
Alexei Dobrohotov 8a463b30d6
Update changelog 5 years ago
Alexei Dobrohotov 1b712f4359 Merge branch '5046-GamepadCursorSpeed' into 'master'
Adding option for cursor speed when using gamepad

Closes #5046

See merge request OpenMW/openmw!130
5 years ago
Justin Ivany 643f259cbf Adding option for cursor speed when using gamepad 5 years ago
Alexei Dobrohotov 31b3fcc07e Merge branch 'utopium-issue-5005' into 'master'
Issue #5005: Editor : Instance window via Scene window

See merge request OpenMW/openmw!112
5 years ago
Nat Meo af1e5e01b4 Issue #5005: Instance window via Scene window 5 years ago
Alexei Dobrohotov 4b9a5a289d Merge branch '5082-Scroll-with-controller' into 'master'
Fix scrolling with controller on gui

Closes #5082

See merge request OpenMW/openmw!131
5 years ago
Justin Ivany 49f2615d2b Fix scrolling with controller on gui 5 years ago
AnyOldName3 bb72ed9744 Merge branch '9' into 'master'
IMPORTANT!! racingcrashfix #4766

See merge request OpenMW/openmw!119
5 years ago
Alexei Dobrohotov 4d5debafdf Merge branch 'seekable-membuf' into 'master'
Make in-memory buffers seekable to fix fog of war

See merge request OpenMW/openmw!129
5 years ago
AnyOldName3 8a6a8086da Make in-memory buffers seekable to fix fog of war 5 years ago
Alexei Dobrohotov 9dfee1dfe2
Fix invisibility/chameleon alpha (thanks Hrnchamd) 5 years ago
Alexei Dobrohotov 19dc01232c
Fix CenterOnCell target rotation 5 years ago
Andrei Kortunov 0bbb3788fe
Merge pull request #2437 from Capostrophic/hello
Disallow paralyzed actors to greet the player (bug #5074)
5 years ago
Capostrophic b8afe14206 Disallow paralyzed actors to greet the player (bug #5074) 5 years ago
Andrei Kortunov 633b8e26ad
Merge pull request #2436 from Capostrophic/enchanting
Correct cast style behavior when there's no item picked (bug #5075)
5 years ago
Andrei Kortunov 6e7cc4c335
Merge pull request #2435 from Capostrophic/combat
Disallow actors to start combat with themselves (bug #3550)
5 years ago
Capostrophic cbb22f0f63 Correct cast style behavior when there's no object (bug #5075) 5 years ago
Capostrophic 453068cc7d Disallow actors to start combat with themselves (bug #3550)
Allow creatures to play initial attack dialogue
Don't add combat package to dead actors
5 years ago
Alexei Dobrohotov 1de0d1712a
Merge pull request #2422 from Capostrophic/shadow
Make sure "Tri Shadow"-named shapes aren't visible (bug #5063)
5 years ago
Alexei Dobrohotov 3cbe4ab85d
Fix idlestorm blend mask (bugs #4240, #5071) 5 years ago
Capostrophic dfb852cbb0 Improve Boost apologia 5 years ago
Capostrophic 9502e9f3f7 Disable FPS limit spinbox by default and set the maximum to 1000
Make window border and framerate limit labels consistent with other labels
5 years ago
Capostrophic b87b29eeb0 Make framerate limit configurable in the launcher 5 years ago
Capostrophic 49c691d00a Make settings manager locale-independent again 5 years ago
Capostrophic e06178bf0f Make sure shadow shapes aren't visible (bug #5063) 5 years ago
Alexei Dobrohotov 42f094fa7a
Merge pull request #2432 from Assumeru/master
Fix #4665
5 years ago
unknown d9439389e6 fix #4665 5 years ago
Andrei Kortunov b9a1e4d796
Merge pull request #2425 from Capostrophic/esm
Signedness fixes
5 years ago
Andrei Kortunov 9e3d1a0e4e
Merge pull request #2431 from Capostrophic/shield
Make unarmed creature attacks affect shield condition again (bug #5069)
5 years ago
Capostrophic df89c6b6ce Make unarmed creature attacks affect shield condition again (bug #5069) 5 years ago
Alexei Dobrohotov f984f61055
Ignore any fourth AITravel argument for now 5 years ago
Capostrophic 3aa65273c5 Signedness fixes 5 years ago
Alexei Dobrohotov 256050376c
Merge pull request #2424 from Assumeru/master
Fix builds against MyGUI master
5 years ago
Evil Eye 698c90b3ee fix builds against MyGUI master 5 years ago
Alexei Dobrohotov 8d1cad8462 Merge branch 'master' into 'master'
Fixes issue with magic visual effects (bug #5060)

See merge request OpenMW/openmw!125
5 years ago
Alexander Perepechko 19b0b056e5 Remove spell FX and VFX after playing the death animation (bug #5060) 5 years ago
Andrei Kortunov b66c437700
Merge pull request #2419 from Capostrophic/lod
Optimizer: Only merge pure osg::Groups
5 years ago
Andrei Kortunov 4fcbc1c96b
Merge pull request #2391 from Capostrophic/contentselector
Content selector: don't add file namesakes (bug #2395)
5 years ago
Andrei Kortunov dcf03f6785
Merge pull request #2416 from Capostrophic/cast
Make Player->Cast select the spell instead (bug #5056)
5 years ago
Andrei Kortunov a62b6910ba
Merge pull request #2411 from Capostrophic/fader
Make sure fade operations properly end (bug #4639)
5 years ago
Andrei Kortunov 217e32a6e1
Merge pull request #2420 from akortunov/master
Add a changelog entry about cell transitions
5 years ago
Andrei Kortunov 347b1e58a1 Add a changelog entry about cell transitions 5 years ago
Alexei Dobrohotov bc79213a66
Merge pull request #2418 from Capostrophic/focus
Partially revert "Get rid of redundant setKeyFocusWidget() method"
5 years ago
Capostrophic 6622e36226 Only merge pure osg::Groups in the optimizer 5 years ago
Andrei Kortunov 747b5fbc98
Merge pull request #2417 from Capostrophic/switchnode
Use NiSwitchNode initial index field
5 years ago
Capostrophic 56539fee4f Partially revert "Get rid of redundant setKeyFocusWidget() method" 5 years ago
Capostrophic 7c8360d0f3 Use NiSwitchNode initial index field 5 years ago
Capostrophic 295ee11063 Make Player->Cast select the spell instead (bug #5056) 5 years ago
Alexei Dobrohotov ef2a7160fa
Fix automovement toggling on "joystick used" flag 5 years ago
Evil Eye 67fb19c2b9 fix deletion when not at end of line and implement ^LEFT and ^RIGHT 5 years ago
Evil Eye 4aca8240e5 implement ^W and ^U in the console 5 years ago
Capostrophic 596dbbe70b Make sure fade operations properly end (bug #4639) 5 years ago
Alexei Dobrohotov ce92b364e6
Merge pull request #2403 from akortunov/crashinfo
Improve info message about missing GDB
5 years ago
Alexei Dobrohotov bc0e214cd9
Merge pull request #2325 from akortunov/optimize_terrain
Optimize the Distant Terrain memory consumption
5 years ago
Alexei Dobrohotov 61db93e7da
Merge pull request #2407 from akortunov/scrollbars
Add separate textures for scrollbars
5 years ago
Andrei Kortunov cb4436cd6e
Merge pull request #2412 from Capostrophic/zaxis
Use 2D distance for fight rating of vertically moving actors (bug #4961)
5 years ago
Capostrophic 25e52f7dfe Use 2D distance for fight rating of vertically moving actors (bug #4961) 5 years ago
bzzt a730365ea1 Creanup Distant Terrain code
- Cull terrain in the stock osg::CullVisitor
- Do not compile composite maps for shadow camera
- Do not abuse userdata for composite maps
5 years ago
bzzt e4ba6ecf15 Do not store a LOD callback in the every QuadTreeNode 5 years ago
bzzt a61c0aaee1 Do not load height data to the qued tree since we do not need it now 5 years ago
bzzt ebcf8ca062 Do not store a ViewDataMap in the every QuadTreeNode 5 years ago
bzzt cb6d27fb12 Use the custom LineSegmentIntersector for QuadTree to simplify traversal
code
5 years ago
bzzt ce4e8be9ac Move traverse methods to the QuadTreeNode 5 years ago
Andrei Kortunov a02f730a77
Merge pull request #2406 from Capostrophic/invalid
Erase effects with invalid indices from spells (bug #5050)
5 years ago
Andrei Kortunov 08716ed330
Merge pull request #2409 from Capostrophic/input
Correct always run behavior when both a gamepad and a keyboard are used
5 years ago
Andrei Kortunov 995516110e
Merge pull request #2410 from Capostrophic/repairedonme
"Handle" RepairedOnMe scripting function (feature #4255)
5 years ago
Capostrophic b7afb213ae "Handle" RepairedOnMe scripting function (feature #4255) 5 years ago
Alexei Dobrohotov f0640cbb21
Merge pull request #2296 from akortunov/blend
Optimize blendmap generation
5 years ago
Capostrophic 70635ed1e2 Correct always run behavior when both a gamepad and a keyboard are used 5 years ago
Capostrophic d98a90194b Erase effects with invalid indices from spells (bug #5050) 5 years ago
Andrei Kortunov 2436652181
Merge pull request #2405 from Capostrophic/idlestorm
Improve face shielding behavior in general case (bug #4240)
5 years ago
Andrei Kortunov 34fe896f4e
Merge pull request #2400 from Capostrophic/colorcode
Escape number signs in cell/region names (bug #5047)
5 years ago
Alexei Dobrohotov 14787b5864
Merge pull request #2408 from akortunov/docs
Update fonts documentation
5 years ago
Andrei Kortunov 1f42418660 Update fonts documentation 5 years ago
Alexei Dobrohotov 8ebecb7584 Merge branch '7' into 'master'
fixes pitch black ripples in shadow

See merge request OpenMW/openmw!123
5 years ago
Andrei Kortunov ae935a8084 Add separate textures for scrollbars (feature #5051) 5 years ago
bzzt 528cda8032 Prevent layers duplication when a terrain chunk crosses plugin borders 5 years ago
Andrei Kortunov 1da012f6ee Optimize blendmap generation 5 years ago
Alexei Dobrohotov 5965aa991b
Improve grammar in a warning 5 years ago
Capostrophic 0fcb75fb21 Achieve CHIM and get rid of the loop 5 years ago
Capostrophic 5cd781b3eb Experimental folder handling rewrite 5 years ago
Capostrophic 2fbed21f83 Avoid a memory leak 5 years ago
Capostrophic e14ada8f36 Make file name comparison case-insensitive 5 years ago
Capostrophic ebe5448816 Content selector: drop duplicates of the added file (bug #2395) 5 years ago
Andrei Kortunov f1db97fbbd Improve info message about missing GDB (bug #4341) 5 years ago
Alexei Dobrohotov 58f8d1ac04
Merge pull request #2402 from akortunov/console
Make console to do not hide other GUI windows
5 years ago
Capostrophic e7208bb80e Improve face shielding behavior in general case (bug #4240) 5 years ago
bzzt ffe8bbd2dd racingcrashfix #4766 5 years ago
bzzt 403171e083 fixes pitch black ripples in shadow 5 years ago
Andrei Kortunov 1ce370e7fa Make console to do not hide other GUI windows (bug #1515) 5 years ago
Alexei Dobrohotov ff7a04c336
Fix paths article link in local openmw.cfg too 5 years ago
Alexei Dobrohotov 883dc2136d
Fix openmw.cfg Paths article link 5 years ago
Alexei Dobrohotov 44a07efc27
Fix trapped soul object verifier warning 5 years ago
Capostrophic 9a19af5b33 Escape number signs in cell/region names (bug #5047) 5 years ago
Andrei Kortunov 4d292425b3
Merge pull request #2398 from Capostrophic/saydone
Make SayDone return 1 on the frame speech is started (bug #4879)
5 years ago
Andrei Kortunov f9143decc9
Merge pull request #2397 from Capostrophic/gamepad
Analogue movement fixes
5 years ago
Capostrophic e095d51999 More queue handling adjustments 5 years ago
Capostrophic c975dab7c3 Update say sound queue explicitly once per frame 5 years ago
Capostrophic 4c2b694b29 Make SayDone return 1 on the frame speech is started (bug #4879) 5 years ago
Alexei Dobrohotov e0fb411fc8 Merge branch '2' into 'master'
stop making new reflacttetures at intext change

See merge request OpenMW/openmw!116
5 years ago
bzzt 6c310c64d2 stop making new reflacttetures at intext change 5 years ago
Alexei Dobrohotov 97873f9964
Merge pull request #2372 from akortunov/sync
Fix some thread sync issues
5 years ago
Capostrophic f271ac255d Avoid conflicts between gamepad movement and always run setting 5 years ago
Capostrophic 40c1db32bd Apply analogue speed mult to fatigue loss 5 years ago
Andrei Kortunov 454bae2c43 Make PacketQueue fields atomic to avoid data races (e.g. with ParseThread) 5 years ago
Andrei Kortunov fae5843347 Setup the ICO settings only once instead of every loading (bug #5025) 5 years ago
Andrei Kortunov ab03b9ac1c Do not sort the Land store every savegame load - it is static anyway (bug #4844) 5 years ago
Andrei Kortunov 57176ff8d4 Unload viewer and stop background jobs before resources unloading 5 years ago
Andrei Kortunov 7c53b99d31 Avoid possible data race during access to the static local variable 5 years ago
Phillip Andrews dee72e9430 Make script literal lookup functions safer
Assert isn't really the right way to range check these, since in theory we could have a malformed compiled script.  This should make it safer with zero performance overhead.
5 years ago
Alexei Dobrohotov 7c46102f0c
Merge pull request #2389 from akortunov/fmt
Introduce a custom format() function
5 years ago
Alexei Dobrohotov 54ee08cb75
Merge pull request #2396 from akortunov/master
Remove BOM from CPP files
5 years ago
Andrei Kortunov 6832a2fa9a Remove BOM from CPP files (allows to build OpenMW with LCC on Elbrus) 5 years ago
Andrei Kortunov e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 5 years ago
Alexei Dobrohotov 0ee73d89f0
Correct selling prices of creature merchants 5 years ago
Alexei Dobrohotov c66ddea429
Merge pull request #2392 from akortunov/guifixes
Get ride of some redundant GUI stuff
5 years ago
Andrei Kortunov 70ef87c093
Merge pull request #2393 from akortunov/master
Fix libpng warning about incorrect profile
5 years ago
Andrei Kortunov dbd0d83a6b Fix libpng warning about incorrect profile 5 years ago
Andrei Kortunov add3b9dcea
Merge pull request #2390 from Capostrophic/launcher
Launcher: Clone content list button (feature #4784)
5 years ago
Andrei Kortunov faf940546b Get rid of redundant setKeyFocusWidget() method 5 years ago
Andrei Kortunov 675be20a0f Get rid of redundant ControllerRepeatClick class 5 years ago
Andrei Kortunov ac8fa54e6e Get rid of redundant MWScroll class 5 years ago
Alexei Dobrohotov 2c956398c1
Actually fix bug 4938 5 years ago
Andrei Kortunov 01ce8b580d
Merge pull request #2383 from Capostrophic/enchantchance
Make enchanting make more sense (bug #5038)
5 years ago
Capostrophic 3f73766304 Make enchanting make more sense (bug #5038) 5 years ago
Capostrophic 686049679c Launcher: Clone content list button (feature #4784) 5 years ago
Andrei Kortunov 7023e86d19
Merge pull request #2388 from Capostrophic/animation
Hardcode the correct first person sneaking anim speed (bug #4787)
5 years ago
Andrei Kortunov 316c79fecd
Merge pull request #2387 from Capostrophic/spells
Don't break GetSpellEffects execution if the spell doesn't exist
5 years ago
Andrei Kortunov 6bf5960b96
Merge pull request #2386 from Capostrophic/waiting
Exit waiting at the correct time when the player is in air
5 years ago
Capostrophic 1de984364a Hardcode the correct first person sneaking anim speed (bug #4787) 5 years ago
Alexei Dobrohotov 3d3e9f373c
Merge pull request #2384 from akortunov/ranks
Fix RaiseRank/LowerRank script functions
5 years ago
Capostrophic 5f7343ad7f Don't break GetSpellEffects execution if the spell doesn't exist 5 years ago
Andrei Kortunov f775f7977b Fix RaiseRank/LowerRank script functions (feature #4316) 5 years ago
Capostrophic 272df29a12 Exit waiting at the correct time when the player is in air 5 years ago
Andrei Kortunov 5266520e20
Merge pull request #2378 from Capostrophic/enchanting
Enchanting window stays open after a failed attempt (feature #5034)
5 years ago
Capostrophic 485ed903c4 Enchanting window stays open after a failed attempt (feature #5034) 5 years ago
Andrei Kortunov 5ccf7da17a
Merge pull request #2385 from akortunov/master
Revert MR !103 and !105
5 years ago
Andrei Kortunov a79955352f Revert MR !103 and !105 since they cause issues with dialogue window 5 years ago
Alexei Dobrohotov fd204fd490
Merge pull request #2382 from Ghostbird/Ghostbird-author
De-pseudonymise myself on the authors list
5 years ago
Andrei Kortunov 55767eaf7e
Merge pull request #2380 from Capostrophic/faction
Allow scripted faction leaving using PCLowerRank (feature #5036)
5 years ago
Gijsbert ter Horst dc8ce4c708
De-pseudonymise myself on the authors list
I'm the author of commit 01283f5 and #151. At that time I was just about to start a new job, and unsure how open-source contributions would be viewed by my boss. Therefore I made the pull request (but stupidly enough not the commit) under a pseudonymous account, which has since been deleted.
In the end my worries were baseless, and I would like to be listed with my full name on the authors list.
5 years ago
Andrei Kortunov 50c87bacea
Merge pull request #2381 from akortunov/warnfix
Fix an exception during reload when container windows is active
5 years ago
Andrei Kortunov 27737d4258 Fix an exception during reload when container windows is active.
It is a regression in the animated containers feature.
5 years ago
Alexei Dobrohotov bb0c989f87
Clear expelled status when leaving faction 5 years ago
Alexei Dobrohotov d37cb871d6
Fix last-minute typo 5 years ago
Capostrophic 555e43855d Allow scripted faction leaving using PCLowerRank (feature #5036) 5 years ago
Alexei Dobrohotov 8920b34b75
Merge pull request #2379 from akortunov/shaders
Fix a regression with variable declarations in water shader
5 years ago
Andrei Kortunov 1c545c8f6d Fix a regression with variable declarations in water shader 5 years ago
Andrei Kortunov 004da85533
Merge pull request #2377 from Capostrophic/armor
Armor mitigation tweaks (feature #5033)
5 years ago
Capostrophic 144b1b9b06 Magic armor mitigation for creatures (feature #5033) 5 years ago
Capostrophic c67eb6d9db Drop bogus accounting for armor rating from weapon priority 5 years ago
Alexei Dobrohotov 4a5e2d1d4e
Merge pull request #2281 from akortunov/shaders
Minor water shader fixes
5 years ago
Andrei Kortunov 4af9315672
Merge pull request #2376 from Capostrophic/getweapontype
GetWeaponType returns -2 for picks and -3 for probes (feature #5031)
5 years ago
Capostrophic 62482657fc GetWeaponType returns -2 for picks and -3 for probes (feature #5031) 5 years ago
Alexei Dobrohotov 0cea76c684
Merge pull request #2375 from akortunov/warnfix
Do not copy pointers during iteration
5 years ago
Andrei Kortunov ef4042703d
Merge pull request #2373 from Capostrophic/barter
Make offered price caps barter-specific (bug #5028)
5 years ago
Andrei Kortunov 9ba6f5f36c Do not copy pointers during iteration 5 years ago
Alexei Dobrohotov 1444ef6f43
Merge pull request #2298 from akortunov/optimize
Do not allocate eight dummy LightStateAttribute's for every stateset
5 years ago
Alexei Dobrohotov 216f908a07
Merge pull request #2286 from akortunov/map
Do not re-render maps for all active cells during cell transitions
5 years ago
Alexei Dobrohotov 41a50d8ff7 Merge branch 'fix-paths.rst' into 'master'
Correct Windows paths in paths.rst to work for all valid configurations

See merge request OpenMW/openmw!107
5 years ago
Andrei Kortunov 44430d9a6f
Merge pull request #2374 from akortunov/docs
Correct documentation about animated containers
5 years ago
Andrei Kortunov 31546ef996 Correct documentation about animated containers 5 years ago
Alexei Dobrohotov fa4bd406a3 Merge branch 'dialogue-ptr-fix' into 'master'
Fix MR !103 breaking of dialogue with actors with no greetings

See merge request OpenMW/openmw!105
5 years ago
Phillip A c4d5203e14 Fix MR !103 breaking of dialogue with actors with no greetings 5 years ago
AnyOldName3 74a93702df Correct Windows paths in paths.rst to work for all valid configurations 5 years ago
Capostrophic 9d191055bf Make offered price caps barter-specific (bug #5028) 5 years ago
Bret Curtis e0af6532ec
Merge pull request #2371 from Capostrophic/sneak
Don't toggle sneaking when controls are disabled
5 years ago
Alexei Dobrohotov 5a37cb6f73 Merge branch 'ingredients_magnitude' into 'master'
Do not show magnitude for ingredients

See merge request OpenMW/openmw!104
5 years ago
Frederic Chardon 6619150b23 Do not show magnitude for ingredients 5 years ago
Alexei Dobrohotov 310e19d47f Merge branch 'ptr-fix' into 'master'
Make sure pointers are set before GUI windows are brought up

See merge request OpenMW/openmw!103
5 years ago
Phillip Andrews a481d2dc1a Make sure pointers are set before GUI windows are brought up
This most noticiably fixes an issue when resting in a bed while levitating.
5 years ago
Alexei Dobrohotov 1d12d778ea
Merge pull request #2370 from akortunov/herbalism
Container search tweaks
5 years ago
Capostrophic 4787e6b9a7 Don't toggle sneaking while controls are disabled 5 years ago
Andrei Kortunov 7214f24f5c Ignore containers, when we search for owner 5 years ago
Andrei Kortunov abe1009e98 Do not resolve container's content during search 5 years ago
Andrei Kortunov f49ca98c8c
Merge pull request #2369 from Capostrophic/magiceffect
Support negative effect magnitude in spell/ingredient/potion tooltips (bug #5018)
5 years ago
Capostrophic cb9d16cf5f Support negative effect magnitude in spell/ingredient/potion tooltips 5 years ago
Andrei Kortunov 30ea2a2063
Merge pull request #2368 from Capostrophic/teleport
Avoid using null pointer for player's cell in moveObjectImp
5 years ago
Capostrophic 458c0bba41 Avoid using null pointer for player's cell in moveObjectImp 5 years ago
Andrei Kortunov af8a865bab
Merge pull request #2367 from akortunov/docs
Add a documentation for extended settings
5 years ago
Andrei Kortunov d1e6d1c6d8 Add a documentation for extended settings 5 years ago
Andrei Kortunov 8754db2898
Merge pull request #2366 from Capostrophic/birthsign
Fix spell deletion for characters without a birthsign
5 years ago
Capostrophic 3add9765c3 Fix spell deletion for character without a birthsign 5 years ago
Alexei Dobrohotov 15142a608d
Merge pull request #2344 from xyzz/delete-spell
Add a button to delete spells from spellwindow
5 years ago
Alexei Dobrohotov acae586765
Merge pull request #2365 from akortunov/guifixes
Refactor Settings::Manager::apply()
5 years ago
Andrei Kortunov 4f42fe5595 Refactor Settings::Manager::apply() 5 years ago
Alexei Dobrohotov e4ef7e8d3f
Merge pull request #2355 from akortunov/transparency
Use the StateSetUpdater to modify alpha for Animation objects
5 years ago
Alexei Dobrohotov 1bfe0e43af
Merge pull request #2360 from akortunov/guifixes
Do not track resolution settings changes in the InputManager
5 years ago
Alexei Dobrohotov 632e7b973b
Merge pull request #2349 from akortunov/pinning
Allow to maximize windows via Shift + Double Click
5 years ago
Alexei Dobrohotov a737935748
Merge pull request #2363 from akortunov/herbalism
Additional herbalism-related tweaks
5 years ago
Andrei Kortunov c91d1e7394 Ignore containers without resolved content for Detect spells 5 years ago
Andrei Kortunov 29cfd2c583 Do not respawn container if player did not touch it 5 years ago
Andrei Kortunov c01153569d Add missing Organic flag check for herbalism 5 years ago
Alexei Dobrohotov 4f74d09179
Handle GetAngle axis more gracefully too 5 years ago
Alexei Dobrohotov 6aef52931f
Merge pull request #2166 from akortunov/distant_slider
Rework the viewing distance slider
5 years ago
Alexei Dobrohotov 74112976b2
Merge pull request #2085 from akortunov/herbalism
Native graphics herbalism support
5 years ago
Alexei Dobrohotov 12fef2237d
Merge pull request #2362 from akortunov/launcher-icon
Replace the openmw-plugin.png icon for launcher
5 years ago
Andrei Kortunov 16026ec940 Replace the openmw-plugin.png icon for launcher 5 years ago
Andrei Kortunov 4513c5516c Increase the viewing distance cap in the slider when the Distant Terrain is enabled 5 years ago
Andrei Kortunov 5876a417c3 Use the StateSetUpdater to modify alpha for Animation objects (bug #5001) 5 years ago
Andrei Kortunov ed859c41be
Merge pull request #2353 from Capostrophic/drop
Make Drop behavior closer to vanilla (bug #4999)
5 years ago
Andrei Kortunov 7ce07e9202
Merge pull request #2345 from Capostrophic/scripting
More argument usage corrections
5 years ago
Alexei Dobrohotov f194a95522
Merge pull request #2361 from xyzz/android-paths
Clean up androidpath
5 years ago
Ilya Zhuravlev 2e1ac51203 Clean up androidpath 5 years ago
Andrei Kortunov 861d41f4a4 Native graphics herbalism support (feature #5010) 5 years ago
Capostrophic 3c18079c14 Handle invalid instruction axis more gracefully 5 years ago
Capostrophic 95751ba671 Ignore extra numerical arguments for ForceGreeting, Position(Cell), PlaceItem(Cell) 5 years ago
Capostrophic 05727f2bcd Ignore string arguments for AITravel, GetDynamic, LowerRank, RaiseRank 5 years ago
Andrei Kortunov 0cd8d4b842 Do not track resolution settings changes in the InputManager (bug #4902) 5 years ago
Bret Curtis 05ee769518
Merge pull request #2357 from Capostrophic/overflow
Editor: Don't accept overflowing input in NPC fields
5 years ago
Bret Curtis f7af193059
Merge pull request #2358 from xyzz/fix-resolution
engine: fix window creation when SDL returns different-sized window
5 years ago
Bret Curtis 4f7d7fc000
Merge pull request #2359 from Capostrophic/shaders
Shader adjustments
5 years ago
Andrei Kortunov c5ac580e74 Allow to maximize windows via Shift + Double Click (feature #3999) 5 years ago
Capostrophic e49232074b Shader adjustments
Clamp directional per-vertex diffuse lighting
Simplify vectors
5 years ago
Ilya Zhuravlev 1d02c1ef37 engine: fix window creation when SDL returns different-sized window 5 years ago
Capostrophic 548d336933 Editor: Don't accept overflowing input in NPC fields 5 years ago
Capostrophic b42f981200 Make Drop and soulgem instruction behavior closer to vanilla (bug #4999) 5 years ago
Alexei Dobrohotov c3cebbfaf6
Merge pull request #2356 from akortunov/animfix
Do not use the xbase_anim.kf as a fallback for werewolves
5 years ago
Andrei Kortunov c3fdccac1f Do not use the xbase_anim.kf as a fallback for werewolves (bug #5004) 5 years ago
Andrei Kortunov 0bec84342c
Merge pull request #2346 from Capostrophic/shaders
Make sure forcePPL and clamp are defined in the editor
5 years ago
Capostrophic 05d94d35f9 Make disabled shadow defines map static 5 years ago
Capostrophic 9f9b7cb0ae Init shadow defines in the editor too for a good measure 5 years ago
Capostrophic 158f4e23cb Make sure forcePPL and clamp are defined in the editor 5 years ago
Andrei Kortunov 8d489793a9
Merge pull request #2354 from xyzz/android-cpp
Switch android_main to cpp
5 years ago
Ilya Zhuravlev 16d2db8492 android: remove unused file 5 years ago
Ilya Zhuravlev 7865ffa1a7 android: Switch to C++ 5 years ago
Alexei Dobrohotov 70421819b2
Update changelog 5 years ago
Alexei Dobrohotov 05d3208133
Merge pull request #2352 from akortunov/animfix
Improve reset of idle animations
5 years ago
Andrei Kortunov c610a58cf0 Improve reset of idle animations (bug #4847) 5 years ago
Alexei Dobrohotov aa54beec38
Merge pull request #2351 from akortunov/aifix
AI: use a consistent check if a target is hidden
5 years ago
Andrei Kortunov 1832f1759d AI: use a consistent check if a target is hidden (bug #4920) 5 years ago
Alexei Dobrohotov cf85f00045
Merge pull request #2350 from akortunov/guifixes
Make progress bars close to vanilla
5 years ago
Andrei Kortunov 6e7bdfe329 Make progress bar close to vanilla 5 years ago
Alexei Dobrohotov b77bd9cf9b Merge branch 'issue-4971' into 'master'
Bug #4971: OpenMW-CS: Make rotations display as degrees instead of radians

See merge request OpenMW/openmw!100
5 years ago
Nat Meo a3b7a12fe7 Bug #4971: OpenMW-CS: Make rotations display as degrees instead of radians 5 years ago
Andrei Kortunov c36a22653f
Merge pull request #2348 from Capostrophic/music
Increase music crossfade time to 1 second
5 years ago
Capostrophic 6e98cd8eaa Increase music crossfade time to 1 second 5 years ago
Alexei Dobrohotov 5e405ca679
Merge pull request #2347 from akortunov/pinning
Make pinnable windows hiding persistent
5 years ago
Andrei Kortunov 8e48493264 Make pinnable windows hiding persistent (feature #4994) 5 years ago
Ilya Zhuravlev e057ea171f spell window: don't manually recalculate edit box width every update 5 years ago
Ilya Zhuravlev e1ce15efb5 spellwindow: do onWindowResize in ctor after dimensions are set 5 years ago
Ilya Zhuravlev 26ac7412a0 Spell window: dynamically resize the edit box, change delete button caption 5 years ago
Ilya Zhuravlev 2d94fa20d2 spell window layout: make longer to fit russian translation 5 years ago
Ilya Zhuravlev 2ee0b1287b spellmodel: add a break to getSelectedIndex 5 years ago
Ilya Zhuravlev 04de2fcc54 spell window: Use sDeleteSpell instead of hardcoding string caption 5 years ago
Ilya Zhuravlev 6c96b5653b Add a button to delete spells from spellwindow 5 years ago
Andrei Kortunov 7941fd6780 Merge branch 'patch-2' into 'master'
Add support for OpenGLES 3.2

See merge request OpenMW/openmw!93
5 years ago
Andrei Kortunov 28252bb359 Merge branch 'hashRefID' into 'master'
Remove string copy in CellStore::search

See merge request OpenMW/openmw!77
5 years ago
Andrei Kortunov 610628eb25
Merge pull request #2329 from Capostrophic/options
Some options shuffling
5 years ago
Capostrophic 8abe92fe41 Don't recover normalise speed setting every frame 5 years ago
Capostrophic 5e9bd743a5 Document some gameplay settings 5 years ago
Capostrophic 34ea9ea813 Add an option to restore MCP-like movement behavior 5 years ago
Capostrophic c7ac06b960 Always account for every follower travelling 5 years ago
Bret Curtis a0ef6fee54
Merge pull request #2342 from akortunov/affinity
[Testing needed] Do not use the CPU affinity of OSG viewer
5 years ago
Andrei Kortunov 95d6a99c7f Do not use the CPU affinity of OSG viewer (bug #4785) 5 years ago
Bret Curtis e0edecf1f2
Merge pull request #2341 from Capostrophic/scripting
Allow using functions in non-conditional expressions (bug #3725)
5 years ago
Bret Curtis b43eb56b7c
Merge pull request #2336 from akortunov/logging
Use the logging system for compiler errors
5 years ago
Andrei Kortunov df94bfbf29
Merge pull request #2343 from Capostrophic/vfx
Tweak object VFX scaling (bug #4989)
5 years ago
Andrei Kortunov bd2188a0f8 Use the logging system for compiler errors 5 years ago
Bret Curtis 2cc359a205
Merge pull request #2339 from akortunov/mygui
Increase required MyGUI version to 3.2.2
5 years ago
Capostrophic f2638b58c1 Tweak object VFX scaling (bug #4989) 5 years ago
Alexei Dobrohotov 85076d6bfd
Merge pull request #2340 from akortunov/hitfix
Fix arguments order for raytracing in the getHitContact()
5 years ago
Capostrophic 3d64a46df2 Allow using functions in non-conditional expressions (bug #3725) 5 years ago
Andrei Kortunov 9059971a69 Increase required MyGUI version to 3.2.2 5 years ago
Andrei Kortunov 6a01e4cd8a Fix arguments order for raytracing in the getHitContact() (bug #4990) 5 years ago
Alexei Dobrohotov 53d704fec8
Merge pull request #2335 from akortunov/guifixes
Allow to shrink tooltip width to its actual text width
5 years ago
Alexei Dobrohotov 5637b726c7
Merge pull request #2338 from akortunov/changelog
Add missing changelog entries
5 years ago
Andrei Kortunov 3bea5691ae Add missing changelog entries 5 years ago
Andrei Kortunov 626a05f825
Merge pull request #2128 from Capostrophic/blood
Support all eight possible blood types (feature #4958)
5 years ago
Alexei Dobrohotov 3e61ef32e7
Merge pull request #2332 from akortunov/particles
Apply looping particles when adding spell to existing actor
5 years ago
Andrei Kortunov 7e0bf40dbe Allow to shrink tooltip width to its actual text width (bug #3812) 5 years ago
Alexei Dobrohotov 0fac28563c
Merge pull request #2334 from akortunov/guifixes
Update background texture if a new one is empty (regression #4986)
5 years ago
Bret Curtis 3aa792204c
Merge pull request #2331 from Capostrophic/arguments
Stray argument usage corrections
5 years ago
Andrei Kortunov 09686d684e Update background texture if a new one is empty (regression #4986) 5 years ago
Andrei Kortunov 5508e67aad Apply looping particles when adding spell to existing actor (bug #4918) 5 years ago
Capostrophic 6cbec4a688 Stray argument usage corrections 5 years ago
Andrei Kortunov 8cb4898ae7
Merge pull request #2330 from Capostrophic/spells
Only collect every unique magic bolt sound once (bug #4964)
5 years ago
Alexei Dobrohotov fb3cbf9348 Merge branch 'issue4748-changelog' into 'master'
Clarifying changelog regarding #4748

See merge request OpenMW/openmw!96
5 years ago
Michael Stopa 670b0d2365 Made some clarifications in the changelog regarding [Bug#4748](https://bugs.openmw.org/issues/#4748) 5 years ago
Capostrophic f0433704b4 Only collect every unique magic bolt sound once (bug #4964) 5 years ago
Alexei Dobrohotov ef985ab422 Merge branch 'cherry-pick-98f52fa8' into 'master'
Issue 4805 MR attempt #2

See merge request OpenMW/openmw!95
5 years ago
Alexei Dobrohotov 89a0b2d2d4 Merge branch 'issue-4805' into 'master'
Bug #4805: NPC movement speed calculations do not take race Weight into account

See merge request OpenMW/openmw!89

(cherry picked from commit 98f52fa8ad8d8746786c529373db81f8602135df)

61682570 Bug #4805: NPC movement speed calculations do not take race Weight into account
0c8308bc Revert "Bug #4805: NPC movement speed calculations do not take race Weight into account"
4b43e91f Change to only affect movement speed and not animation speed
a66ae118 Use adjustScale() to adjust movement calculation instead of using race weight
6295eadc Make sure height is also factored into movement speed
fde0ca8b Remove height from movement calculation and factor in cell reference scale
5 years ago
Alexei Dobrohotov 571094a3ca
Merge pull request #2328 from akortunov/aifix
Use friendly hits only for player's followers
5 years ago
Andrei Kortunov e534153d00 Use friendly hits only for player's followers (bug #4984) 5 years ago
terrabyte25 b29476de58
Add support for OpenGLES 3.2 5 years ago
Capostrophic 7814bd1b76 Support eight possible blood types (feature #4958) 5 years ago
Alexei Dobrohotov 4d633fd3e6
Merge pull request #2293 from Capostrophic/fieldofview
Make the default vertical FOV in line with vanilla (bug #4933)
5 years ago
Capostrophic fcf679de49 Make the default vertical FOV in line with vanilla (bug #4933) 5 years ago
Alexei Dobrohotov e8b327a3e2
Merge pull request #2327 from akortunov/aifix
Improve handling for actors outside of actors processing range
5 years ago
Andrei Kortunov 6b49ce965b Do not update drowning state for actors outside of AI distance (bug #4980) 5 years ago
Andrei Kortunov 4da21942af Do not use the actors processing range to determine a maximum range of AiTravel (bug #4979) 5 years ago
Andrei Kortunov d1152880c2
Merge pull request #2326 from Capostrophic/regression
Fix zero division in enchantment magnitude calculation
5 years ago
Capostrophic 2c473d84ee Fix zero division in enchantment magnitude calculation 5 years ago
Andrei Kortunov 88f44c613b
Merge pull request #2323 from elsid/rm_unused_field
Remove unused field
5 years ago
elsid 4500f01efd
Remove unused field 5 years ago
Alexei Dobrohotov 5b8fc5a151
Merge pull request #2314 from OpenMW/stdc++14
bump from C++11 to C++14
5 years ago
Andrei Kortunov ab7ff4eaf9
Merge pull request #2322 from Capostrophic/rain
Fix frozen rain when water refractions are disabled
5 years ago
Capostrophic 0333cd2dd4 Fix frozen rain when water refractions are disabled 5 years ago
Alexei Dobrohotov 01d725d2d1 Merge branch 'patch-1' into 'master'
Make sure the player cannot use quickkeys while disableplayerfighting or disableplayermagic is active

See merge request OpenMW/openmw!92
5 years ago
terabyte25 27292ef4a3 Disable quick keys when fighting and spellcasting are disabled (bug #4962) 5 years ago
Bret Curtis f4e113e7c1
Merge pull request #2277 from akortunov/terrain
Camera-related fixes
5 years ago
Bret Curtis 4fa529e093
Merge pull request #2320 from akortunov/cursorfix
[Regression] Fix disappearing cursor in the self-enchanting menu
5 years ago
Bret Curtis 785a667517
Merge pull request #2302 from akortunov/guifixes
Scalable UI textures
5 years ago
Andrei Kortunov f165d22cde Fix a regression with disappearing cursor in the self-enchanting menu 5 years ago
Andrei Kortunov 9b716a2f8d
Merge pull request #2311 from Capostrophic/random
Use dice rolls instead of chance for spell magnitude (bug #4945)
5 years ago
Bret Curtis f0cc973b29
Merge pull request #2315 from Capostrophic/lighting
Revise light source configuration (bug #4965)
5 years ago
Bret Curtis 10643a10f2
Merge branch 'master' into lighting 5 years ago
Andrei Kortunov 04bee2b2fb
Merge pull request #2317 from Capostrophic/sound
Only play miss sound for player attacks (bug #4969)
5 years ago
Alexei Dobrohotov d3e6921946
Merge pull request #2318 from elsid/navmesh_lock_tile
Avoid work duplication for multiple thread async navmesh updater
5 years ago
elsid c683dc8565
Lock navmesh tile by thread while processing
To avoid duplicated work on a same tile by different threads.
If tile is locked by another thread, then post job into this thread queue.
5 years ago
Capostrophic 85e99182ce Revise light source configuration (bug #4965)
Set up attenuation less awkwardly
Use global attenuation settings for magic light source
Use constant attenuation settings
5 years ago
Capostrophic 424716977b Only play miss sound for player attacks (bug #4969) 5 years ago
Bret Curtis 2ab7f903d7 make use of std::make_unique to test that MSVC2015 can handle that 5 years ago
Andrei Kortunov 31ddb0a482 Allow to calculate UI skin size based on texture resolution (feature #4968) 5 years ago
Bret Curtis 573e6e5d51
Merge pull request #2313 from Capostrophic/nifver
NIF version-related minor fixes
5 years ago
Bret Curtis df9a8cf957 bump from 11 to 14 5 years ago
Capostrophic b08fed6d83 Fix NIF printVersion and allow 4.0.0.0 file loading 5 years ago
Alexei Dobrohotov 7158f09b87
Merge pull request #2312 from terabyte25/patch-1
Add magic animation option to advanced page
5 years ago
terrabyte25 61c3847a12 Add magic animation option to advanced page 5 years ago
Bret Curtis bf64b3ec87
Merge pull request #2307 from akortunov/loadfix
Reset old record, if its ID does not match with ID of new record
5 years ago
Andrei Kortunov 413207f9af Reset old record, if its ID does not match with ID of new record (bug #4932) 5 years ago
Capostrophic d4c1bd81b6 Use dice rolls instead of chance for spell magnitude (bug #4945) 5 years ago
Alexei Dobrohotov 89776e2002
Merge pull request #2006 from akortunov/recastlogging
Unify logging system for RecastNavigation
5 years ago
Andrei Kortunov 14b756a692 Use a generic logging system for RecastNavigation 5 years ago
Alexei Dobrohotov e9f6c11cc9
Merge pull request #2309 from akortunov/enchant_animations
Add an option to use casting animations for magic items
5 years ago
Alexei Dobrohotov c57958bf4e
Merge pull request #2310 from akortunov/enchant
Correct the Enchant skill progress
5 years ago
Andrei Kortunov 0079a6bf05 Correct the Enchant skill progress (bug #4963) 5 years ago
Bret Curtis ca6f1bdd13
Merge pull request #2288 from Capostrophic/magiceffect
Validate spell effect argument (bug #4927)
5 years ago
Andrei Kortunov 35facc5cde Add an option to use casting animations for magic items (feature #4962) 5 years ago
Bret Curtis 7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
5 years ago
bzzt 391f6faffb Remove unused defaultViewer / defaultViewPoint 5 years ago
bzzt e908790584 Inherit the view point from main camera for water RTT cameras 5 years ago
Andrei Kortunov 489e5c6cce Store preloaded terrain view in the main thread 5 years ago
bzzt 63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
5 years ago
uramer c89efd251c [General] Implement CellReset packet, stage 2 5 years ago
Bret Curtis b8bddc64bb
Merge pull request #2306 from unelsson/cellcoordinates_updates
Add various coordinate conversion functions
5 years ago
Bret Curtis 8f80441e13
Merge pull request #2308 from nikolaykasyanov/fix-macos-upload-check
Fix macOS nightly preupload check
5 years ago
Nikolay Kasyanov c89876538d Fix macOS nightly preupload check
Previously, it was always ls'ing home directory.
5 years ago
Nelsson Huotari 4c4fb0d955 Add include 5 years ago
Nelsson Huotari 69f900349c Remove unnecessary include 5 years ago
Bret Curtis 5508153d52 Merge branch 'ChangeLog' into 'master'
Suggestion for PR changelog file

See merge request OpenMW/openmw!90
5 years ago
Atahualpa 65cf0c20d2 Suggestion for PR changelog file to be maintained in parallel to the actual changelog. Uses the first draft of the 0.46.0 changelog as a basis. 5 years ago
Bret Curtis 7cc31b11fb
Merge pull request #2305 from Capostrophic/controller
Update SDL controller mappings from upstream
5 years ago
Nelsson Huotari ee4a8d2166 Add various coordinate conversion functions 5 years ago
Capostrophic a1ec2aec26 Update SDL controller mappings from upstream 5 years ago
Bret Curtis 2efdb71a87
Merge pull request #2304 from Capostrophic/voiceover
Use loudness data for 2D voiceover (bug #4947)
5 years ago
Bret Curtis 1766a252dc
Merge branch 'master' into voiceover 5 years ago
Bret Curtis 4f6658bcb5
Merge pull request #2303 from Capostrophic/levitation
Fix certain levitation state inconsistencies (bug #4948)
5 years ago
Capostrophic af80eddc0e Use loudness data for 2D voiceover (bug #4947) 5 years ago
Capostrophic 1424399118 Disable any footstep sounds when flying (bug #4948) 5 years ago
Capostrophic 7202f45771 Only allow resting in air when a bed is used 5 years ago
Capostrophic be125aa996 Add spell effect argument validation (bug #4927) 5 years ago
Bret Curtis aacc275e9c
Merge pull request #2299 from Capostrophic/position
Replicate vanilla Position/SetPos behavior more closely (bug #3109)
5 years ago
Bret Curtis d4dcc08df7
Merge pull request #2301 from Capostrophic/attack
Only set hand-to-hand attack type randomly if "always use best attack" is on (bug #4942)
5 years ago
Capostrophic 80a65e81dd Only set attack type randomly if "best attack" is on (bug #4942) 5 years ago
Bret Curtis a5504f8cc1
Merge pull request #2297 from Capostrophic/esm
Make sure the record hasn't ended in getHString hack (bug #4938)
5 years ago
Nikolay Kasyanov 9fae10b318
Merge pull request #2295 from OpenMW/no-analyze-on-macos-ci
Fix macOS CI build timeouts
5 years ago
Nikolay Kasyanov d305e1933a Get ccache path from Homebrew
Also, don't use legacy syntax to get Qt path.
5 years ago
Nikolay Kasyanov 95ae9c4ac8 Don't downgrade CMake 5 years ago
Nikolay Kasyanov 46b4aa4c4f Bump Xcode version while I'm at it 5 years ago
Nikolay Kasyanov a11c391231 Enable ccache for macOS CI 5 years ago
Capostrophic 3a0e374dc6 Replicate vanilla Position/SetPos behavior more closely (bug #3109) 5 years ago
bzzt 1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 5 years ago
Capostrophic 4b6fc5f720 Make sure the record hasn't ended in getHString hack (bug #4938) 5 years ago
bzzt ed4ce4609b Do not re-render maps for all active cells during cell transitions 5 years ago
Andrei Kortunov 368d1f9d25
Merge pull request #2191 from akortunov/viewer
Do not store Viewer reference in the ViewData
5 years ago
Andrei Kortunov cae456a4aa
Merge pull request #2294 from Capostrophic/arguments
Ignore extra arguments to PlayLoopSound3D too
5 years ago
Andrei Kortunov 6de75f60bc
Merge pull request #2291 from Capostrophic/parser
Improve compiler messages
5 years ago
Capostrophic 7ef7555c19 Ignore extra arguments to PlayLoopSound3D too 5 years ago
Bret Curtis d5051bd43e
Merge pull request #2164 from akortunov/dialoguefix
Allow localization to use implicit keywords
5 years ago
Bret Curtis 2c57abc245
Merge branch 'master' into dialoguefix 5 years ago
Andrei Kortunov a302ec9c65 Make fallback map static to simplify constructors 5 years ago
Bret Curtis 8c6c3561ff
Merge pull request #2290 from nikolaykasyanov/macos-cmake-version
Relax CMake version requirements on macOS
5 years ago
Capostrophic 17dce28705 Improve compiler messages 5 years ago
Nikolay Kasyanov 6363cc8839 Relax CMake version requirements on macOS 5 years ago
bzzt c8d2107b80 Do not store Viewer reference in the ViewData 5 years ago
Bret Curtis 886c77bced
Merge pull request #2145 from akortunov/rest
Update jail state once instead of for every single hour
5 years ago
Bret Curtis f8c3db0b89
Merge pull request #2287 from alexkokkinos/docs-paths-update
Update paths.rst - Windows paths, shell friendly paths
5 years ago
Chris Djali 1860d720bc
Merge pull request #2263 from akortunov/actor_culling
Do not recreate shaders to update transparency
5 years ago
Alex Kokkinos 6c0837259c Update paths.rst - Windows paths, shell friendly paths
- Adds path expansion based paths for Windows for easier copying and pasting
- Escapes Application Support in Mac to make the paths terminal and Finder Go menu friendly
- Places paths in tables
5 years ago
Bret Curtis d727a2f25c
Merge pull request #2285 from Capostrophic/mainmenu
Avoid menu button textures vertical cutoff
5 years ago
Bret Curtis 1e9eac568f
Merge pull request #2249 from akortunov/cache
Implement generic caching system
5 years ago
Capostrophic 93f78aad60 Avoid menu button texture vertical cutoff 5 years ago
Bret Curtis 0a1af526d4
Merge pull request #2280 from akortunov/optimize
Reduce default composite map distance to decrease GPU loading
5 years ago
Bret Curtis 354f904a24
Merge pull request #2279 from akortunov/map
Optimize map window update
5 years ago
Bret Curtis 6cbf1288ff
Merge pull request #1929 from Capostrophic/elseif
Ignore the rest of the line after else operator (bug #3006)
5 years ago
Capostrophic cbce1a1b7c Ignore the rest of the line after else (bug #3006) 5 years ago
Bret Curtis 8f8bba66d9
Merge pull request #2178 from Capostrophic/declaration
Ignore extra text after a local variable declaration (bug #4867)
5 years ago
Bret Curtis eefbda0ddf
Merge pull request #2283 from Capostrophic/input
Disallow binding some reserved keys (bug #3282)
5 years ago
uramer 6cb4d5ec35 [General] Implement CellReset packet, stage 1 5 years ago
Capostrophic 6dbd875f75 Disallow binding some reserved keys (bug #3282) 5 years ago
bzzt 1143985bc7 Do not update map texture if it did not change 5 years ago
bzzt 4708db258e Minor water shader cleanup - avoid redundant calculations 5 years ago
bzzt d707eaac36 Use ICO for water shader 5 years ago
Andrei Kortunov bbb1fdd92f Reduce default composite map distance to decrease GPU loading 5 years ago
bzzt 231e629e66 Store map widgets and textures in one vector instead of 4 different ones 5 years ago
Bret Curtis 115f12823a
Merge pull request #2278 from Capostrophic/blendmap
Remove unused and unfinished blendmap packing feature
5 years ago
Capostrophic 786f3e5fc3 Remove unused and unfinished blendmap packing feature 5 years ago
bzzt c2176945bd Do not use the delayed map cells update 5 years ago
Bret Curtis bbbdefce5f
Merge pull request #2275 from elsid/fix_map_iteration
Use auto for map value_type in range-based for loops
5 years ago
Bret Curtis 92bed66e5f
Merge pull request #2276 from elsid/aiwander
Improve AiWander pathfinding for locations without pathgrid
5 years ago
elsid 5434e92437
Take in account actor half extents for obstacle check 5 years ago
elsid 1e8bf3846e
Remove unused argument 5 years ago
elsid 287433efa8
Stop walking for water and flying creatures after single stuck 5 years ago
elsid a65f60e1f1
Build path only by navmesh for wandering near spawn 5 years ago
elsid ff67a9e233
Build straight path for wandering flying and water creatures 5 years ago
elsid ebdff5d96e
Check for height map when cast ray for AiWander path 5 years ago
elsid e033b0c565
Avoid build path through the ground for flying wandering creatures 5 years ago
elsid e82d65a2c7
Use if-continue to skip build path 5 years ago
elsid fa7b304e78
Use auto for map value_type in range-based for loops
To avoid implicit call of copy constructor for
pair<const K, V> to pair<K, V> conversion.
5 years ago
Capostrophic af47ec7756 Skip extra text after variable declaration (bug #4867) 5 years ago
Bret Curtis 5e12073b47
Merge pull request #2272 from akortunov/optimize_terrain
Do not block loading while compiling composite maps
5 years ago
Bret Curtis 0c11f903ab
Merge pull request #2274 from akortunov/terrain
Enable light sources directly to avoid virtual calls
5 years ago
Andrei Kortunov b466bfee40 Enable light sources directly to avoid virtual calls 5 years ago
Andrei Kortunov 0e1f5f68b6 Do not allow different threads to compile the same composite map 5 years ago
Andrei Kortunov cad45e96ac Remove redundant mCompile set - we do not use data from it anyway 5 years ago
Chris Djali e14682e353
Merge pull request #2273 from AnyOldName3/conformant-comparator
Use irreflexive, asymmetric comparator as required by the spec.
5 years ago
AnyOldName3 32da9a8ab1 Use irreflexive, asymmetric comparator as required by the spec. 5 years ago
Bret Curtis a38c5cd240
Merge pull request #2271 from Capostrophic/animation
Minor NpcAnimation cleanup
5 years ago
bzzt c2986b3bd7 Do not block the loading thread while compiling composite maps in the
draw thread
5 years ago
Capostrophic 695cd5bb49 Minor NpcAnimation cleanup 5 years ago
Bret Curtis 7ccfec4d21
Merge pull request #2270 from akortunov/animfix
Fixes for werewolf animations
5 years ago
Andrei Kortunov be12d241da Reset current attack during force update (bug #4922) 5 years ago
Andrei Kortunov e171d34192 Init NPC type properly in the NpcAnimation 5 years ago
Bret Curtis cc43315fad
Merge pull request #2269 from elsid/fix_warnings
Add override to fix warnings
5 years ago
elsid ccb325c663
Add override to fix warnings 5 years ago
Bret Curtis fa8e7b8037
Merge pull request #2246 from Capostrophic/osgqt
Merge upstream osgQt changes
5 years ago
Bret Curtis 26feedfcae
Merge pull request #2268 from akortunov/scanfix
Fix some issues from the Coverity Scan report
5 years ago
Bret Curtis 19dcbf2b3d
Merge pull request #2266 from Capostrophic/vsync
Vsync tweaks
5 years ago
Andrei Kortunov 7501f18d21 Avoid the 'structurally dead code' warning 5 years ago
Andrei Kortunov b2fca46206 Fix a couple of minor issues in shadows 5 years ago
Andrei Kortunov 7995a92672 Initialize missing variables 5 years ago
Andrei Kortunov fd5e9cf271 Catch possible boost::bad_any_cast exception 5 years ago
Bret Curtis 0c95ffab8f
Merge pull request #2265 from Capostrophic/material
Fix shader specular lighting (again)
5 years ago
Capostrophic 9b65f0dbca Vsync tweaks
Try to use adaptive vsync if available
Don't use vsync if unavailable
5 years ago
Capostrophic 02242ce66b Fix shader specular lighting (again) 5 years ago
Bret Curtis b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
Delete composite map layers in the background thread
5 years ago
bzzt aa5a071aef Delete composite map layers in the background thread 5 years ago
Bret Curtis e2ed90e67b
Merge pull request #2262 from akortunov/guifixes
[Regression] Fix missing \n characters on the active effects tooltips
5 years ago
Bret Curtis d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
Optimize terrain
5 years ago
Bret Curtis 4e3de9b00c
Merge pull request #2206 from Capostrophic/title
Loop title screen music (bug #4896)
5 years ago
Bret Curtis 45221418bd
Merge pull request #2260 from elsid/fix_clean_unused_navmeshes
Fix clean unused navmeshes
5 years ago
Bret Curtis b80e55fd3e
Merge pull request #2261 from elsid/navigator_stats
Navigator stats
5 years ago
bzzt 5ec28e09c9 Do not recreate shaders to update transparency 5 years ago
Andrei Kortunov c6cb91ce61 Limit maximum FOV value 5 years ago
Andrei Kortunov 540709fdae Add a changelog entry for terrain optimization 5 years ago
bzzt 6029ed4ecc Reject empty quad tree nodes at the cell level without land data 5 years ago
bzzt 36fa51b6ad Fix bounding box calculation for terrain shapes 5 years ago
Andrei Kortunov 80e0fbdd88 Fix missing \n characters on the active effects tooltips 5 years ago
elsid 4624f31788
Report navigator stats 5 years ago
elsid 8adc83f6e2
Fix clean unused navmeshes
weak_ptr doesn't have constructor for shared_ptr&& type, so ptr wasn't
moved, just copied.
5 years ago
Capostrophic abae35e88b Loop title screen music (bug #4896) 5 years ago
elsid 2c78d530a2
Use static vector to store stat names 5 years ago
Bret Curtis ab69ad65ed
Merge pull request #2234 from Capostrophic/terrain
Some more improvements from bzzt's branch
5 years ago
Bret Curtis 8cf41be45d
Merge pull request #2257 from Capostrophic/slider
Correct look and behavior of some setting sliders
5 years ago
Bret Curtis bafc67dcdb
Merge pull request #2259 from Capostrophic/optimizer
Update optimizer with upstream improvements
5 years ago
Capostrophic de572226e4 Update optimizer with upstream improvements 5 years ago
bzzt b42ad0f610 Inline certain terrain storage functions 5 years ago
bzzt e131e6699c Match vertex colors data type to source 5 years ago
Capostrophic 168e758921 Correct look and behavior of some setting sliders 5 years ago
Capostrophic 5f86933dc6 Merge upstream osgQt changes 5 years ago
AnyOldName3 0ab0e6ef93 Merge branch 'AnyOldName3-spec-power' into 'master'
Actually use specular shininess parameter instead of hardcoded value.

See merge request OpenMW/openmw!85
5 years ago
Bret Curtis 433893e733
Merge pull request #2256 from unelsson/instance_viewcell
Editor: Implement exterior cell view from Instances table
5 years ago
Bret Curtis adb96bf569
Merge pull request #2255 from elsid/fix_esm_ub
Use std::vector::data method to avoid reference binding to null pointer
5 years ago
Nelsson Huotari 2b674cedaa Implement view cell from r-type hint 5 years ago
elsid c91deaf7af
Use std::vector::data method to avoid reference binding to null pointer 5 years ago
AnyOldName3 a92690d433 Update CHANGELOG.md 5 years ago
Bret Curtis cc9a6bfcdd
Merge pull request #2254 from Capostrophic/version
Print SDL version at startup
5 years ago
AnyOldName3 5b2691e744 Actually use specular shininess parameter instead of hardcoded value. 5 years ago
Capostrophic dd03d3b231 Print SDL version at startup 5 years ago
Bret Curtis 7bbf0b5249
Merge pull request #2253 from elsid/fix_navmesh_tiles_cache_ub
Do not pass nullptr to std::memcmp
5 years ago
elsid dd0b45ede6
Do not pass nullptr to std::memcmp 5 years ago
Bret Curtis 7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
5 years ago
bzzt 4ab93aeffe Do not allocate empty callbacks in the RigGeometry 5 years ago
Bret Curtis 2488e45615
Merge pull request #2251 from akortunov/guifixes
Place QWindow include under Qt version check
5 years ago
Andrei Kortunov 2ed05a5195 Implement generic caching system 5 years ago
Andrei Kortunov 46fee678a7 Place QWindow include under Qt version check 5 years ago
Bret Curtis f62c1c59b4
Merge pull request #2241 from Capostrophic/console
Use selected object local variables in the console (feature #3893)
5 years ago
Bret Curtis d794547e63
Merge pull request #2250 from akortunov/guifixes
Do not swap buffers for non-exposed windows
5 years ago
Andrei Kortunov 4aa21b9088 Do not swap buffers for non-exposed windows (bug #4911) 5 years ago
Bret Curtis ddcdbccd84
Merge pull request #2248 from elsid/rm_navmesh_explicit_display_list
Don't set display list usage for navmesh
5 years ago
elsid 8e09468f45
Don't set display list usage for navmesh 5 years ago
Bret Curtis 7b1a62fc1d
Merge pull request #2247 from akortunov/loadtex
Allow to override texture records in the game
5 years ago
Andrei Kortunov 943279abbb Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736) 5 years ago
Bret Curtis 7efdddd53c
Merge pull request #2242 from elsid/make_shared
Use std::make_shared
5 years ago
Bret Curtis cb1a5f3679
Merge pull request #2245 from elsid/navigator_refactor
Refactor navigator related code
5 years ago
Bret Curtis 7b793b8809
Merge pull request #2244 from elsid/navmesh_cache_item_refactor
Make NavMeshCacheItem consistent
5 years ago
Bret Curtis c89734974c
Merge pull request #2243 from elsid/navmesh_tile_cache_optimization
Navmesh tile cache optimization
5 years ago
elsid 68948bc847
Avoid key allocation to find tile in cache 5 years ago
elsid 4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
5 years ago
elsid 849f2078c1
Swap outside critical section 5 years ago
elsid 8d2af94b75
Use default objects for NavigatorStub methods result 5 years ago
elsid ece111d05a
Check for jobs using predicate 5 years ago
elsid c05fc9e054
Add missing cleanup 5 years ago
elsid ce9aebcba1
Clear all changed tiles after post 5 years ago
elsid 518e34b403
Remove useless variables 5 years ago
elsid 9d61c49478
Store key by reference in tiles map 5 years ago
elsid 614d5243c3
Make NavMeshCacheItem consistent
Move all logic related to this type into its methods.
5 years ago
Bret Curtis 8dab6e0f6c
Merge pull request #2240 from elsid/fix_navigator_deadlock
Fix navigator deadlock (bug #4777)
5 years ago
elsid b3c5d64ff3
Use std::make_shared 5 years ago
Capostrophic dd952c3ddb Fix extra space in "no script" showvars output 5 years ago
Capostrophic 578beb6305 Use selected object local variables in console (feature #3893) 5 years ago
elsid f6a1d3cecf
Store weak pointers to navmesh in jobs queue
To avoid useless processing for removed navmeshes.
5 years ago
elsid ccc709a316
Store guarded navmesh cache item in shared_ptr
Remove useless SharedGuarded type.
5 years ago
elsid 0479ebf5ae
Remove unused actors and navmeshes on update
When there is only one actor (player) on a scene and it moving to other
cell first it will be removed from navigator then added. Remove cause
navmesh removing for its half extents. After it is added navmesh for
same half extents is created and added. While this all happens there are
still jobs for old navmesh are processing. Old navmesh still exists
because it is stored by shared pointer. So jobs take tiles from cache
and place them into old navmesh. After that other jobs take same tiles
from cache (half extents and coordinates are equal) and place them into
other navmesh. dtNavMesh changes tile data on add and remove. Adding tile
to two dtNavMesh corrupts tile in both nameshes.
5 years ago
Bret Curtis 1078708da0
Merge pull request #2235 from akortunov/aifix
[0.45 regression] Fix AI regressions
5 years ago
Bret Curtis bf144fb356
Merge pull request #2238 from Capostrophic/freetype
Include osgdb_freetype in builds with statically linked OSG
5 years ago
Bret Curtis a4b647db3e
Merge pull request #2236 from Capostrophic/audio
Fix EAGAIN error leading to packets getting lost (bugs #4906, #4909)
5 years ago
Bret Curtis ee03d69d49
Merge pull request #2239 from akortunov/warnfix
[Regression] Fix missing null check
5 years ago
Andrei Kortunov 08202f8185 Fix missing null check 5 years ago
Capostrophic 7a07984e2c Include osgdb_freetype in builds with statically linked OSG 5 years ago
Bret Curtis 4a597d94d3
Merge pull request #2233 from elsid/include_osg_system
Mark OpenSceneGraph include directories as system
5 years ago
Chris Djali c328c4a010
Merge pull request #2231 from akortunov/warnfix
Get rid of C-style limits in the shadows code
5 years ago
Capostrophic d1967562a3 Fix the last audio packet getting lost 5 years ago
Andrei Kortunov 2a08b85998 Combat AI: normalize hit chance in the weapon priority calculation 5 years ago
Andrei Kortunov 5f0c8a4783 Combat AI: decrease priority multiplier for enchantments (bug #3830) 5 years ago
Bret Curtis 947bf880df
Merge pull request #2232 from elsid/fix_div_by_zero
Do not scale duration when timescale is zero
5 years ago
Bret Curtis 9b190eceab
Merge pull request #2230 from akortunov/preloading
Minor preloading improvements
5 years ago
elsid a979d24bf3
Mark OpenSceneGraph include directories as system
To avoid warnings spam when use custom build.
5 years ago
elsid d3bdf912a4
Do not scale duration when timescale is zero 5 years ago
Bret Curtis 573e64e9c9
Merge pull request #2184 from elsid/fix_startup_script
[Testing needed] Always run startup script once at engine start (bug #4877)
5 years ago
Andrei Kortunov bacaa1f789 Get rid of C-style limits in the shadows code 5 years ago
Bret Curtis 048cfdfac6
Merge pull request #2228 from Capostrophic/mainmenu
Fix main menu toggling again
5 years ago
Andrei Kortunov 12f9184d00 Allow to interrupt terrain preloading 5 years ago
Andrei Kortunov b214c54b3a Calculate bounding volumes when preloading model instance 5 years ago
Bret Curtis c20e69ef24
Merge pull request #2227 from elsid/fix_twitchy_massive_creatures
Fix twitchy movement for massive creatures (bug #4907)
5 years ago
Bret Curtis e3bde5ec91
Merge pull request #2226 from akortunov/projectilefix
Use relative animation time only for bows and crossbows
5 years ago
Bret Curtis c2a7aa2932
Merge pull request #2225 from elsid/retry_async_navmesh_update_job
Support explicit limit of navmesh tiles for scene
5 years ago
Capostrophic ca83b9ee90 Refactor main menu and settings toggling again 5 years ago
elsid ea80a81538
Drop path points while tolerance allows 5 years ago
elsid b9f21ec81a
Use custom steps size to make smooth path depending on half extents 5 years ago
elsid 8fd6b37e34
Make path point tolerance depending on actor half extents 5 years ago
bzzt e0cf460ba3 Do not load terrain beyond the viewing distance 5 years ago
Andrei Kortunov a6fd077537 Render nearby default cells if the Distant Terrain is disabled 5 years ago
Andrei Kortunov 46e1ed660c Revert "Render default land texture for Wilderness cells with distant terrain"
This reverts commit 888c2d9a33.
5 years ago
Andrei Kortunov 4c21776b94 Use relative animation time only for bows and crossbows (bug #3778) 5 years ago
elsid f2e47d640d
Add option to limit max number of navmesh tiles 5 years ago
elsid ff47df4f2c
Repost navmesh update jobs when failed because of out of memory
DT_OUT_OF_MEMORY error is returned when limit of tiles is reached.
5 years ago
Bret Curtis 1e4bbe8997
Merge pull request #2223 from Capostrophic/animation
Fix raki creatures in Skyrim: Home of the Nords (bug #4810)
5 years ago
Bret Curtis 95e5fd0699
Merge pull request #2215 from akortunov/menufix
Partially revert recent changes in the menu handling
5 years ago
elsid 82e2739bae
Notify workers when only at least one job is posted 5 years ago
elsid b9b8ed177c
Store priority values as named fields 5 years ago
elsid 0c16fef285
Add navmesh update status builder 5 years ago
elsid 14c9190f49
Move tile replacement into separate function 5 years ago
elsid b6243e7d1f
Fix name styleguide 5 years ago
Andrei Kortunov de41c98022 Refactor menu toggling 5 years ago
Bret Curtis 551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
5 years ago
Bret Curtis 0764271999
Merge pull request #2224 from elsid/fix_odr_violation
Fix ODR violation for VDSMCameraCullCallback
5 years ago
Bret Curtis a381a1aff4
Merge pull request #2222 from akortunov/warnfix
Attempt to fix Clang warnings about hidden virtual methods
5 years ago
elsid 47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
5 years ago
AnyOldName3 d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 5 years ago
Capostrophic b05531818c Fix raki creatures in Skyrim: Home of the Nords (bug #4810)
Make bip01 have higher priority than 'root node' node when determining the movement accumulation root
5 years ago
Bret Curtis c55141d18d
Merge pull request #2217 from Capostrophic/shader
Move forcePPL and clamp to global shader defines (task #4869)
5 years ago
Bret Curtis df6112aa35
Merge pull request #2221 from akortunov/iter
Use C++11-style loops in the game world instead of iterators
5 years ago
Andrei Kortunov 72db11b56c Fix Clang warnings about hidden virtual methods 5 years ago
Bret Curtis 8c1a73ff11
Merge pull request #2220 from elsid/ccache
Use ccache for linux CI build
5 years ago
Bret Curtis 218ccf4a67
Merge pull request #2216 from elsid/fix_ci
Fix windows CI scripts
5 years ago
Perry Hugh b8b7568ce5 Correct odd toggling menu behavior. 5 years ago
Bret Curtis 088de40365
Merge pull request #2218 from akortunov/warnfix
Fix MSVC warning about variable re-declaration
5 years ago
Bret Curtis a5d7efc009
Merge pull request #2207 from CyberShadow/gettooltipinfo-var
[Trivial] Reuse a previously-saved value
5 years ago
Bret Curtis ca4c238c98
Merge pull request #2219 from akortunov/authors
Update AUTHORS.md
5 years ago
Andrei Kortunov 19092afa94 Add bzzt to the AUTHORS.md 5 years ago
Bret Curtis 9adb557833
Merge pull request #2211 from Capostrophic/messages
Small script verifier tweaks
5 years ago
Andrei Kortunov d23a0ce2ae Use C++11-style loops in the game world instead of iterators 5 years ago
elsid 26dfa287f9
Use ccache for linux CI build 5 years ago
Andrei Kortunov 771a45174b Update AUTHORS.md 5 years ago
Andrei Kortunov dcec9df345 Fix MSVC warning about variable re-declaration 5 years ago
elsid 7d2c741d1d
Fix compare with empty value 5 years ago
elsid e99f783c65
Remove white spaces and trailing spaces 5 years ago
elsid be57da3b1a
Fix version of cached archives for appveyor 5 years ago
Bret Curtis 8bd7effae1
Merge pull request #2212 from elsid/navigator_log_spam
Do not build path by navigator for pure water and flying creatures
5 years ago
Bret Curtis 41d1521f1d
Merge pull request #2213 from elsid/min_path_point_tolerance
Use min point tolerance to prevent face wrong direction (bug #4814)
5 years ago
Bret Curtis 7e5c7064af
Merge pull request #2214 from CyberShadow/pull-20190305-225227
DRY skill widget updates in stats window
5 years ago
Vladimir Panteleev 9d5fc7954f
DRY skill widget updates in stats window
The skill widgets were configured in two places: initial creation, and
updates. The former was redundant, and duplicated the functionality of
the latter.

To fix this redundancy, replace the duplicate code with a call to
setValue.
5 years ago
Capostrophic 0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 5 years ago
elsid cf1e1d9f4b
Use min point tolerance to prevent face wrong direction (bug #4814)
When next path point is too close to actor and it has speed 0,
it can face direction not pointing to path target.
5 years ago
elsid eb45f99880
Remove unused code 5 years ago
elsid 5405efd3b5
Do not build path by navigator for pure water and flying creatures
They don't need to move by surfaces and to open/close doors.
5 years ago
Capostrophic 44da71fdb3 Restructure script verifier message 5 years ago
Capostrophic 59f7df187d Add explicit variant of Journal 5 years ago
Bret Curtis cb29dc7b85
Merge pull request #2209 from akortunov/effectfix
[Regression] Fix magic glow update for sheathing weapons
5 years ago
Bret Curtis bd5782a069
Merge pull request #2210 from elsid/fix_navigator_update_2
Fix pathfinding when scene is changed by scripts (bug #4763) (2nd try)
5 years ago
Andrei Kortunov bcf086d72d Fix magic glow update for sheathing weapons 5 years ago
fredzio 93ffdc915d SearchVisitor copy a new std::string everytime CellsStore::search is
called. Use a reference instead
5 years ago
elsid 84fbb486d3
Fix switch from invalid navmesh number to valid 5 years ago
elsid 80051db8f8
Update rotated objects in navigator 5 years ago
elsid 8c08c3c7d6
Update moved objects in navigator 5 years ago
elsid 27d7452267
Update scaled objects in navigator 5 years ago
elsid 2e063d59ce
Update scaled agent half extents in navigator (bug #4763) 5 years ago
elsid 43b39e8418
Use not scaled player half extents as default to find path 5 years ago
elsid 1218e4e15d
Use player half extents only to find path in exterior cells 5 years ago
Vladimir Panteleev 12bbecacfd
Reuse a previously-saved value 5 years ago
Bret Curtis 14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
5 years ago
Bret Curtis 84ce9814fd
Merge pull request #2203 from elsid/update_recastnavigation
Update recastnavigation
5 years ago
Bret Curtis 26fb0e7a0f
Merge pull request #2204 from elsid/fix_navigator_update
Fix pathfinding when scene is changed by scripts (bug #4763)
5 years ago
Bret Curtis 42b2391303
Merge pull request #2205 from akortunov/guifixes
Fix localized 'Invert Y axis' label cutoff
5 years ago
Andrei Kortunov 5505582a97 Fix localized 'Invert Y axis' label cutoff 5 years ago
elsid b51a54e976
Update rotated objects in navigator 5 years ago
elsid f394ace4d5
Update moved objects in navigator 5 years ago
elsid 133d7447f3
Update scaled objects in navigator 5 years ago
elsid 1f41d5721d
Update scaled agent half extents in navigator (bug #4763) 5 years ago
elsid c066ee9dc5
Use not scaled player half extents as default to find path 5 years ago
elsid a4f300f810
Use player half extents only to find path in exterior cells 5 years ago
elsid 895899b25b
Fix tests 5 years ago
elsid dbf6780dde
Update Recastnavigation to 3a619d773deb7e3a15ee215217c825995fe71312 5 years ago
elsid 2b3bc4fe61
Add detailed output for osg::Vec3f in tests 5 years ago
Bret Curtis a98a1cfe3e Merge branch 'gamepad-to-keyboard-navigation' into 'master'
Gamepad To Keyboard Navigation

See merge request OpenMW/openmw!78
5 years ago
Perry Hugh 37f5ab2104 Gamepad controls now sent to keyboard input, excluding joystick. Added right thumbstick button to toggle mouse emulation. 5 years ago
Bret Curtis aa513bba29
Merge pull request #2202 from Capostrophic/icon
Fix enchanted item icon update
5 years ago
Bret Curtis 6c522a0875 Merge branch 'analogue-movement' into 'master'
Analogue Joystick Movement

Closes #3025

See merge request OpenMW/openmw!74
5 years ago
Perry Hugh 313611b79d Analogue Joystick Movement 5 years ago
Capostrophic 2f38e4fbb3 Fix enchanted item icon update 5 years ago
Bret Curtis 79fca2e7c6
Merge pull request #2095 from akortunov/reflections
Add more settings to water reflections
5 years ago
Bret Curtis f6127a30c0
Merge pull request #2199 from akortunov/guifixes
Use C++11-style loops in the GUI instead of iterators
5 years ago
Bret Curtis e7bf89d3d5
Merge pull request #2200 from akortunov/warnfix
Replace boost GCD by the homebrew implementation
5 years ago
Bret Curtis b8a6532831 Merge branch 'gamepad-minor-corrections' into 'master'
Gamepad Minor Corrections

Closes #2617

See merge request OpenMW/openmw!75
5 years ago
Perry Hugh 7b6f41c5c3 Correct gamepad default bindings to exactly match vanilla XBOX, create fair interplay between toggling main menu and options menu, allow toggling menus at any time. 5 years ago
Andrei Kortunov bf5f68a4d8 Replace boost GCD to the homebrew implementation 5 years ago
Andrei Kortunov 9398117ea7 Allow to do not reflect terrain 5 years ago
Andrei Kortunov 00ab552184 Add more settings to water reflections in exteriors (feature #4859) 5 years ago
Bret Curtis 14d342558b
Merge pull request #2198 from elsid/navigator_doc
Fixes for navigator documenation
5 years ago
Bret Curtis cd70354f34
Merge pull request #2190 from akortunov/terrain
Make Distant Terrain configurable
5 years ago
Andrei Kortunov 8df8bd3f37 Use C++11-style loops in the GUI instead of iterators 5 years ago
elsid 298af7f6a6
Fix links 5 years ago
elsid 909d25320e
Remove duplicated option 5 years ago
Bret Curtis 3b8b0b5dd7
Merge pull request #2197 from akortunov/quadtree
Optimize terrain QuadTree build
5 years ago
Andrei Kortunov 56fea4b062 Add setting to control composite geometry size 5 years ago
bzzt 9d44e18af6 Allow to configure terrain vertex LOD 5 years ago
bzzt 03f23b235a Optimize terrain QuadTree build 5 years ago
bzzt fd94d7f7ff Make Distant Terrain more configurable (feature #4890) 5 years ago
Bret Curtis 7ea6a70596
Merge pull request #2194 from elsid/navigator_doc
Navigator settings documentation
5 years ago
elsid f3c9b34a1a
Add Navigator settings documentation 5 years ago
Bret Curtis cf20682d0c Merge branch 'gamepad-sneak-shortcut' into 'master'
Gamepad - Toggle Sneak Shortcut

See merge request OpenMW/openmw!73
5 years ago
Bret Curtis 1307d5c93b Merge branch 'linux_unity' into 'master'
Fix build with `OPENMW_UNITY_BUILD`=ON

See merge request OpenMW/openmw!70
5 years ago
Grigory Latyshev 3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
5 years ago
Bret Curtis fe23acdd14 Merge branch 'misc_stringutils_tolower' into 'master'
Simplify Misc::StringUtils::toLower

See merge request OpenMW/openmw!71
5 years ago
Bret Curtis d7c3109688 Merge branch 'fix-settings-doc-label' into 'master'
Make documentation label work

See merge request OpenMW/openmw!72
5 years ago
Bret Curtis 62524f4b40
Merge pull request #2193 from akortunov/warnfix
Fix Boost version check in the launcher
5 years ago
Andrei Kortunov a14c832f4f Fix Boost version check in the launcher 5 years ago
David Cernat 12cef51122
Merge pull request #2192 from Capostrophic/bzzt
Port minor fixes from bzzt's branch
5 years ago
AnyOldName3 6de1deeb2d Include gldebug attribution and licence 5 years ago
AnyOldName3 e147f6fed9 Finsih gldebug move completely this time 5 years ago
AnyOldName3 ac18983f37 Finish gldebug location move 5 years ago
AnyOldName3 d42c976852 Add detailed OpenGL debug messages 5 years ago
AnyOldName3 aaa3eedf99 Move gldebug from components/misc to components/debug 5 years ago
AnyOldName3 3d917fcbad Add basic OpenGL debug callback 5 years ago
bzzt 567ad293fd Don't discard object cache with uninitialized timestamp
This can happen during terrain loading
5 years ago
AnyOldName3 5e95e12027 Switch from a manual label to using the automatic title-based one 5 years ago
bzzt b2000b7642 Fix quad tree node child bounding box dimensions 5 years ago
bzzt 172cb74763 Delete composite map layers on demand 5 years ago
bzzt 4f387fdf1c Prune empty quad tree nodes 5 years ago
bzzt aecbc2f01c Fix crash when incremental compile operation is not used 5 years ago
AnyOldName3 8efde41a1e Add a line break to make label work 5 years ago
Perry Hugh 3ac5481ab4
Enable toggling sneak via gamepad. 5 years ago
Grigory af7b6a09a8 Simplify Misc::StringUtils::toLower 5 years ago
elsid 619a111a11
Run startup script once at engine start when game is running (bug #4877) 5 years ago
Bret Curtis 3ce261ddd4 Merge branch 'xbox-bindings' into 'master'
xbox-bindings

See merge request OpenMW/openmw!69
5 years ago
Perry Hugh c6fb94d6cb xbox-bindings 5 years ago
bzzt bcbee08a1b Fix creature model instance preloading 5 years ago
Bret Curtis 96808f3a16
Merge pull request #2189 from Capostrophic/global
Ignore global variable stray explicit reference calls
5 years ago
bzzt 8c649f05e6 Don't reallocate light list vector unnecessarily 5 years ago
bzzt a567111400 Use emplace instead of find-assign 5 years ago
bzzt 5bce3cbc68 Don't use MWRender namespace in common terrain components 5 years ago
bzzt 5ffb40e8ba Don't preload terrain when loading an interior save 5 years ago
Bret Curtis 735bcf17c2 Merge branch 'boost-gcd-deprecation' into 'master'
Fix boost deprecation warning

See merge request OpenMW/openmw!66
5 years ago
AnyOldName3 cd4303da23 Add preprocessor check to determine which common_factor header to use. 5 years ago
Capostrophic e940325b78 Update changelog 5 years ago
Capostrophic 9bc360267b Ignore stray explicit references for names in expressions 5 years ago
Capostrophic cc855e065a Ignore stray references for variables in Set instruction 5 years ago
Bret Curtis 4fd613fa15
Merge pull request #2187 from elsid/random_seed_option
Option to set specific random seed for random number generator
5 years ago
elsid 33f6fb258d
Option to set specific random seed for random number generator 5 years ago
Bret Curtis f6da025f02
Merge pull request #2188 from Capostrophic/memory
Always include <memory> for smart pointers in MWGui
5 years ago
Capostrophic 216e1ab16f Always include <memory> for smart pointers in MWGui 5 years ago
Bret Curtis dc1c2358b9
Merge pull request #2089 from akortunov/qthelp
Editor: Add basic info window
5 years ago
Bret Curtis 3316938dfc
Merge pull request #2182 from Capostrophic/format
Replace Boost format and replace_all where possible
5 years ago
Bret Curtis 56d5fc788c
Merge pull request #2163 from Capostrophic/hello
AI data handling minor revisions
5 years ago
Capostrophic e70cc10305 Some more de-boosting 5 years ago
Capostrophic 8ecd0b82a4 Replace Boost format and replace_all where possible 5 years ago
Bret Curtis d4564a9be7
Merge pull request #2180 from akortunov/includes
Remove redundant includes
5 years ago
Bret Curtis 8cf2523a8d
Merge pull request #2176 from akortunov/rollcontroller
Add support for NiRollController
5 years ago
Bret Curtis 44920352ce
Merge pull request #2181 from Capostrophic/boost
Get rid of Boost.Array
5 years ago
AnyOldName3 da018199d2 Merge branch 'normal-offset-distance-documentation' into 'master'
Add missing documentation for shadow normal offset distance setting.

See merge request OpenMW/openmw!68
5 years ago
Capostrophic 594ea39f5d Revise AI data handling
Make Hello 16-bit unsigned as it's intended to be
Get rid of redundant mHasAI boolean
Always save AI data subrecord
Adjust creature and NPC default rating values to Morrowind defaults
5 years ago
AnyOldName3 b5c92fbb0e Add missing documentation for shadow normal offset distance setting. 5 years ago
AnyOldName3 acbc885ae6 Merge branch 'add-osgdb-freetype' into 'master'
Package FreeType plugin for OSG in Windows builds (for #4872)

Closes #4872

See merge request OpenMW/openmw!67
5 years ago
Bret Curtis 4a69d96483 Merge branch 'esm_name_template_fix' into 'master'
Make sure that proper operator function of ESM:FIXED_STRING is used for char[N] argument

See merge request OpenMW/openmw!63
5 years ago
Bret Curtis 3a1a24151a Merge branch 'fix_undefined_behavior_storetest' into 'master'
Fix #4835 - undefined behavior - uninitialized mCtx

Closes #4835

See merge request OpenMW/openmw!64
5 years ago
Adam Fandrejewski 75c204cdd8 Fix #4835 - undefined behavior - uninitialized mCtx 5 years ago
Bret Curtis 8e3b10b5b4 Merge branch 'detour_navigator_unit_test_fix' into 'master'
Fix DetourNavigatorNavMeshTilesCacheTest on Windows

See merge request OpenMW/openmw!65
5 years ago
Bret Curtis f8b34bf7f1 Merge branch 'preview_levelled_item' into 'master'
Fixes #4703 Disable preview for item leveled list

Closes #4703

See merge request OpenMW/openmw!57
5 years ago
Bret Curtis df2de8a661
Merge pull request #2068 from Capostrophic/normalweapons
Make normal weapon resistance behavior closer to vanilla (bug #4384)
5 years ago
Andrei Kortunov f5eacfcf63 Support for temporary stunted magicka effects 5 years ago
Andrei Kortunov fcdb0c16bf Update jail state once instead of for every single hour 5 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 5 years ago
Capostrophic 58788de7c4 Get rid of Boost.Array 5 years ago
Alexander Olofsson f8118272f4
Package FreeType plugin for OSG in Windows
Fixes #4872
5 years ago
Capostrophic 4138e29ca4 Add option to restore the previous ammo behavior 5 years ago
Bret Curtis ba491a8af0
Merge pull request #2069 from Capostrophic/skeleton
Use the skeleton from the NPC's set model (bug #4747)
5 years ago
Bret Curtis cc214cf6b0
Merge pull request #2082 from Capostrophic/teleporting
Make magic teleportation attempts detectable even when teleportation is disabled (bug #3765)
5 years ago
Bret Curtis c815a2cb42
Merge pull request #2107 from Capostrophic/idledialogue
Move idle dialogue playback from AiWander (bug #4594)
5 years ago
Bret Curtis 4d09c8bb50
Merge pull request #2126 from Capostrophic/sneaking
Account for running/sneaking stances while in air (bug #4797)
5 years ago
Bret Curtis d2b93fc702
Merge pull request #2146 from Capostrophic/quest
Make quest status update handling closer to vanilla (bug #4815)
5 years ago
Bret Curtis 942f7f776d
Merge pull request #2168 from Capostrophic/gamepad
Option to disable controller (feature #3980)
5 years ago
Bret Curtis 212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
5 years ago
Bret Curtis 55fc04e462
Merge pull request #2175 from Capostrophic/includes
Include cleanup
5 years ago
Bret Curtis 09d57c5154
Merge pull request #2177 from akortunov/alpha
Handle initial actor's transparency
5 years ago
Bret Curtis bc52c0bd98
Merge pull request #2179 from elsid/fix_navmesh_update_for_not_changed
Fix navmesh update for not changed objects
5 years ago
elsid 2342a31add
Add more tests for TileCachedRecastMeshManager 5 years ago
elsid 73734fc04d
Fix update navmesh for not changed objects
When update method is called for not changed object befor this change
all object tiles were considered as not object tiles and were removed.
Also this marked those tiles as changed. This lead to alternation
between remove and add each tile update method was called. Problem was
detected by using Animated Containers mod.
5 years ago
Capostrophic b738cc0383 Make normal weapon resistance behavior closer to vanilla (bug #4384)
Check both the ranged weapon and the projectile before modifying the damage
Don't attempt to apply NPC-specific werewolf damage mult to damage to creatures
5 years ago
Capostrophic 64d5cd17d6 Move werewolf silver damage mult applying into a new function 5 years ago
Capostrophic 808b8ce8db Refactor normal weapon resistance 5 years ago
Capostrophic 7a7e390099 Make unsuccessful magic teleportation attempts detectable (bug #3765) 5 years ago
Andrei Kortunov 629a6be477 Handle initial actor's transparency (bug #4860) 5 years ago
Andrei Kortunov 097c649885 Use enumerable instead of magic number 5 years ago
Andrei Kortunov 60f112d11c Add support for NiRollController (feature #4675) 5 years ago
Chris Djali cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
5 years ago
Bret Curtis 7566370981
Merge pull request #2160 from Capostrophic/topicindex
Fix hiding three-column (Cyrillic) topic index
5 years ago
Bret Curtis bc71db947a
Merge pull request #2174 from Capostrophic/jumping
[0.45.0 regression] Correct jumping velocity
5 years ago
AnyOldName3 0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 5 years ago
Capostrophic c03ed4cd50 Include cleanup 5 years ago
Bret Curtis 7a9ff9f7b3
Merge pull request #2161 from akortunov/switchnode
Do not create a redundant parent node for LOD and Switch nodes
5 years ago
Bret Curtis fdb84dddc8
Merge pull request #2059 from Capostrophic/stacks
Don't stack scripted items (bug #2969)
5 years ago
Bret Curtis 09262e0336
Merge pull request #2170 from elsid/disable_navigator_option
Add option to disable DetourNavigator component (feature #4833)
5 years ago
Capostrophic c20030d8c9 Correct jumping velocity 5 years ago
Andrei Kortunov ff9afda18d Avoid to keep reference to the local 'encoder' variable outside the Engine::go() 5 years ago
Andrei Kortunov 9de0c9045a Fix API usage errors 5 years ago
Andrei Kortunov 229bd8505e Init missing variables 5 years ago
Andrei Kortunov dc6ef15571 Simplify loop in the addSkills() 5 years ago
Andrei Kortunov 80c62a4fe1 Fix endsWith() call 5 years ago
Andrei Kortunov ad9412a117 Remove some redundant checks 5 years ago
Andrei Kortunov 18a59df050 Throw exceptions by value instead of reference 5 years ago
Bret Curtis 1ac2a69094
Merge pull request #2171 from elsid/fix_recast_mesh_tile_cache
Fix update navmesh
5 years ago
elsid da6df818ff
Fix update navmesh
Every updated object should produce a set of changed tiles where it is
placed. Before this change only current object tiles were updated. If
object was moved to another set of tiles then navmesh were not changed
in new tiles.

TileCachedRecastMeshManager::updateObject should add all new tiles if object
was moved and remove all no more used tiles. Both new and old tiles should be
marked as changed.

Also add tests to show desired result for add, update, remove.
5 years ago
elsid 9626b6ec42
Add option to disable DetourNavigator component to find paths 5 years ago
elsid 34c594f01e
Add default initializators for settings fields 5 years ago
elsid 16675fd254
Return empty path when navmesh is not found for agent 5 years ago
elsid 1d3668cd22
Add Navigator interface 5 years ago
elsid d63881e054
Make Navigator::findPath independent from class fields 5 years ago
elsid a0ed981a7c
Fix operator ++ for OutputTransformIterator 5 years ago
elsid c68e64a2a7
Make navigator from settings manager setting in separate function 5 years ago
Capostrophic 39dcbacf44 Option to disable controller (feature #3980) 5 years ago
AnyOldName3 c68ccbc6b6 Use new common_factor header in the launcher, too 5 years ago
AnyOldName3 89d4d3be08 Fix boost deprecation warning 5 years ago
Azdul 2412017685 Fix DetourNavigatorNavMeshTilesCacheTest on Windows 5 years ago
AnyOldName3 f3fc888ab9 Merge branch 'osgshadow-test-vdsm-mesa-optimised-shader-2' into osgshadow-test-vdsm 5 years ago
Andrei Kortunov b7adbe79b9 Allow localization to use implicit keywords (bug #4841) 5 years ago
Andrei Kortunov 058e289162 Do not create a redundant parent node for LOD and Switch nodes (bug #4837) 5 years ago
Capostrophic e9c6c11418 Fix hiding three-tab (Cyrillic) topic index 5 years ago
Capostrophic 0535de6ca0 Make quest status update handling closer to vanilla (bug #4815)
Don't update quest status if we're simply updating the quest index
Update quest status if a new entry is added regardless of its index
5 years ago
Bret Curtis 57cc2ec2b2 use ubuntu for mygui as well 5 years ago
Bret Curtis fb219cc660 updated mygui links for gitlab 5 years ago
Bret Curtis 41168ba98b use ubuntu version, good enough 5 years ago
Bret Curtis cb0a34e280 bump libbullet version for gitlab 5 years ago
Bret Curtis 4a9abf1c1b
Merge pull request #2159 from Capostrophic/lighting
[0.45.0 regression] Fix upside-down night-time lighting
5 years ago
AnyOldName3 b1a5a72665 Restore previous night time directional light path 5 years ago
Capostrophic 796b87fde7 Fix upside-down night-time lighting 5 years ago
Bret Curtis 8f75292d04 use ubuntu for mygui as well 5 years ago
Bret Curtis a5c44a3186 updated mygui links for gitlab 5 years ago
Bret Curtis a31841dbe9 use ubuntu version, good enough 5 years ago
Bret Curtis 635747d39c bump libbullet version for gitlab 5 years ago
Bret Curtis 9e8bc29e3b
Merge pull request #2105 from Capostrophic/colorpicker
[0.45.0 regression] Editor: Fix color picker oddities
5 years ago
AnyOldName3 9b92943d1a Don't rely exclusively on a shadow map when out of its depth range 5 years ago
Capostrophic e47f1ef3e3 Fix some color picker regressions
Don't assign invalid color returned when the color picker is closed by Cancel as the new color
Restore "picking finished" signal to make value saving work again
5 years ago
Bret Curtis ffa3596fe4
Merge pull request #2152 from akortunov/headfix
[0.45 regression] Editor: hide hairs when helmet is used
5 years ago
Bret Curtis d40f11bcb6
Merge pull request #2124 from Capostrophic/animation
[0.45.0 regressions] Revert poor animation decisions
5 years ago
Bret Curtis a573efd30a
Merge pull request #2112 from Capostrophic/collision
[0.45.0 regression] Don't re-enable collision body for dead actors
5 years ago
Bret Curtis af10e329f9
Merge pull request #2157 from akortunov/aifix
[0.45 regression] Init target for AI packages from old saves
5 years ago
Bret Curtis a206f57f75
Merge pull request #2156 from Capostrophic/itemtaken
Fix redundant searchPtr call
5 years ago
Bret Curtis 50e379ad18
Merge pull request #2158 from akortunov/vfx
[Regression] Remove looping particles from dead actors
5 years ago
Bret Curtis 6fbe5bfc97
Merge pull request #2155 from OpenMW/fix-macos-ci
Fix macOS CI
5 years ago
Andrei Kortunov 6eb77e215b Remove looping particles from dead actors 5 years ago
Andrei Kortunov 573b3f4f1d Init target for AI packages from old saves 5 years ago
Capostrophic 650cd47255 Fix redundant searchPtr call 5 years ago
Nikolay Kasyanov cdbd3a9c09
Fix macOS CI
It looks like Homebrew has deprecated some syntax making CMake formula invalid, now a for of the formula is used.
5 years ago
Capostrophic a584aa25ab Don't re-enable collision object for dead actors 5 years ago
Bret Curtis bc1fbd5400
Merge pull request #2088 from akortunov/faction_table
Editor: Implement faction ranks table
5 years ago
Bret Curtis f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
5 years ago
Bret Curtis 038a4c46c2
Merge pull request #2154 from akortunov/animfix
Do not check if additional animation sources are supported for every animation object
5 years ago
Bret Curtis 538a2b97e7
Merge pull request #2125 from akortunov/skinning
Share RigGeometry node data
5 years ago
Andrei Kortunov 60c9806d62 Share RigGeometry node data 5 years ago
Azdul 7940317e42 Make sure that proper operator function is used for char[N] argument 5 years ago
Andrei Kortunov 57d8df1a05 Do not check if additional animation sources are supported for every animation object 5 years ago
Andrei Kortunov 9e4a339ad3 Daytime node switch support (feature #4836) 5 years ago
AnyOldName3 15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 5 years ago
AnyOldName3 cfe921fb82 Remove uneeded includes. 5 years ago
AnyOldName3 2761a38562 Prettify shadow define map setup. 5 years ago
AnyOldName3 abe9ba736e Add line breaks to make settings more readable. 5 years ago
AnyOldName3 57e10e26b2 Make variable name less confusing 5 years ago
AnyOldName3 a24b8ec3d2 Fix enable/disable mixup. 5 years ago
AnyOldName3 556c9a3382 Add normal-offset shadow mapping to remove shadow acne (flicker) 5 years ago
Bret Curtis 9f716b9ed8
Merge pull request #2151 from Capostrophic/normalmaps
Account for inverted tangents on normal-mapped objects (bug #3733)
5 years ago
Bret Curtis a12f7702ad
Merge pull request #2149 from akortunov/doc
Update fonts setup guide
5 years ago
Bret Curtis 4f938492e5
Merge pull request #2150 from akortunov/vfx
Update magic effects VFX immediately after effects update
5 years ago
Andrei Kortunov 11c17ad9d5 Hide hairs when replace the Head bodypart by item's one in the editor 5 years ago
Capostrophic 731f91759e Account for inverted tangents on normal-mapped objects (bug #3733) 5 years ago
Andrei Kortunov dc3a17f1f6 Update magic effects VFX immediately after effects update (bug #4828) 5 years ago
Bret Curtis 650ac65510
Merge pull request #2142 from Capostrophic/soundgen
Add creature-with-the-same-model soundgen fallback (bug #4813)
5 years ago
Capostrophic 5c889f7359 Add creature-with-the-same-model soundgen fallback (bug #4813)
Creatures will use sounds of the first creature that has the same model in the record store when possible.
5 years ago
Andrei Kortunov bfafac28f5 Update fonts setup guide 5 years ago
Bret Curtis e748abde7d
Merge pull request #2147 from akortunov/uvcontroller
Apply UVControllers only for given UV Set
5 years ago
Bret Curtis 4f0847b63e
Merge pull request #2148 from akortunov/switchnode
Improve switchable nodes handling
5 years ago
Andrei Kortunov 03b71d3c30 Improve switchable nodes handling by optimizer 5 years ago
Andrei Kortunov 87598f9419 Fill Switch and LOD nodes names 5 years ago
Capostrophic b33016d89f Allow creatures to play Attack voiceover 5 years ago
Capostrophic cec55119ca Move idle dialogue playback from AiWander (bug #4594) 5 years ago
Andrei Kortunov b2126c2b6b Apply UVControllers only for given UV Set (bug #4827) 5 years ago
Bret Curtis f405b1e247
Merge pull request #2143 from akortunov/optimize
Optimize HUD update
5 years ago
Bret Curtis f68194c11d
Merge pull request #2144 from Capostrophic/absorption
Don't apply effects when spell absorption is successful (bug #4820)
5 years ago
Andrei Kortunov 8580a58ba0 Optimize HUD update (do not do unnecessary work) 5 years ago
Capostrophic 67450a7046 Don't apply effects when spell absorption is successful (bug #4820) 5 years ago
AnyOldName3 8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 5 years ago
AnyOldName3 d82c85913a Don't bother multiplying a matrix by its inverse and applying that to the light direction.
Hopefully this will improve numerical stability and reduce shadow flicker a little.
5 years ago
AnyOldName3 4438ab4493 Use CullVisitor traversal mask for light manager. 5 years ago
Capostrophic 6660f2f8e6 Use the skeleton from the NPC's set model (bug #4747) 5 years ago
AnyOldName3 9d84853903 Fix nodemask snafu 5 years ago
Bret Curtis c5176321ee Merge branch 'gmst_typo' into 'master'
Gmst typo in MWMechanics::NpcStats::increaseSkill

See merge request OpenMW/openmw!59
5 years ago
Frederic Chardon 7ad93c1d3e Gmst typo in MWMechanics::NpcStats::increaseSkill 5 years ago
Bret Curtis 8ddb45eb22
Merge pull request #2141 from akortunov/switchnode
Support NiSwitchNode
5 years ago
Andrei Kortunov 2c38e337ae Support NiSwitchNode (feature #4812) 5 years ago
Bret Curtis 592d29f7db Merge branch 'windows_test_azdul' into 'master'
Windows test azdul

See merge request OpenMW/openmw!60
5 years ago
Azdul 32013d35f2 Formatting of CMakeLists made consistent with other CMakeLists files. 5 years ago
Azdul 6d8215ecb6 Google Test / Google Mock / OpenMW unit tests on Windows 5 years ago
Capostrophic f9a711d2fd Revert poor animation decisions
Start force-updated in-air animation from loop start
Make movement animations have higher priority than jump animations
Make jumping animations have higher priority than turning animations
Don't reset idle during landing animation
Don't play default landing sound if the character is not on ground
5 years ago
Bret Curtis a8e65bf5eb
Merge pull request #2139 from Capostrophic/bsaoptpurge
Replace BSAOpt compressed BSA hash calculation with a custom function
5 years ago
Capostrophic c9df63ffd1 Replace BSAOpt hash calculation with a custom function 5 years ago
Bret Curtis c2fd4c1f46
Merge pull request #2138 from Capostrophic/bsa
Fix compressed BSA loading on non-Windows systems
5 years ago
Bret Curtis 309855107b Merge branch 'ensure-unique-refnum' into 'master'
Ensure Unique Instance Refnum after clone, add, or move

Closes #4748

See merge request OpenMW/openmw!49
5 years ago
Stomy 71be4cdd20 Ensure Unique Instance Refnum after clone, add, or move 5 years ago
Capostrophic be5faadff8 Fix compressed BSA loading on non-Windows systems 5 years ago
Bret Curtis b4a78a7e68
add libboost-iostreams-dev 5 years ago
Bret Curtis e1d7a8415d Merge branch 'bugfix/file-list-emptying-error' into 'master'
Fix error when create new OpenCS addon

Closes #4757

See merge request OpenMW/openmw!50
5 years ago
Bret Curtis c5a67c2079
Merge pull request #2137 from elsid/navmesh_render
Avoid useless read of navmeshes from navigator
5 years ago
Bret Curtis 9cfc97a37a Merge branch 'tes4_bsa' into 'master'
Read BSA files in TES4 / TES5 formats

See merge request OpenMW/openmw!56
5 years ago
Bret Curtis 6fd4d016eb
Merge pull request #2132 from akortunov/particlefix
Fix an exception when try to load a particle node with empty sizes array
5 years ago
Bret Curtis 75c5b9de00
Merge pull request #2136 from akortunov/warnfix
Fix "-Wstring-plus-int" warnings
5 years ago
elsid 13e94ab194
Get navmesh to update osg node only if rendering is enabled 5 years ago
elsid 3572edab72
Update navmesh in a separate method 5 years ago
Nikolay Kasyanov 17cf2d5826
Merge pull request #2135 from OpenMW/update-macos-dependencies
[macOS, CI] Update dependencies

They now include boost iostreams for TES 4/5 BSA support.
See https://gitlab.com/OpenMW/openmw/merge_requests/56.
5 years ago
Andrei Kortunov 1e8b7f0f83 Fix -Wstring-plus-int warnings 5 years ago
Nikolay Kasyanov 4a266b3277
[macOS, CI] Update dependencies
They now include boost iostreams for TES 4/5 BSA support.
See https://gitlab.com/OpenMW/openmw/merge_requests/56.
5 years ago
Bret Curtis c0a036ed1f
Merge pull request #2133 from OpenMW/macos-deploy
[macOS] Update deploy script to use ssh/scp
5 years ago
Azdul 7880e6f761 CompressedBSAFile::FileRecord::isCompressed implementation simplified.
Double space in CompressedBSAFile::FileRecord::getSizeWithoutCompressionFlag removed.
5 years ago
Azdul a8c1c4315c Missing header on Linux 5 years ago
Azdul 6aa6b2dc89 Removed TES4 from file names. Correct Git file history / attribution. 5 years ago
Azdul a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 5 years ago
Azdul 42ea609d1d Remove files with incorrect Git history / attribution 5 years ago
Justin Ivany 33c7e4e948 Don't remove whitespace... 5 years ago
Justin Ivany 8d036a79eb Fixes #4703 Disable preview for item levelled list 5 years ago
Bret Curtis fe69e5507d Merge branch 'fix_crashcatcher' into 'master'
Fix crashcatcher

Closes #4788

See merge request OpenMW/openmw!53
5 years ago
Frederic Chardon a78d98df27 Fix crashcatcher 5 years ago
Bret Curtis c94531de28 Merge branch 'master' into 'master'
Use case-insensitive compare when searching for game data by the wizard.

See merge request OpenMW/openmw!55
5 years ago
Adam.Fandrejewski 777a50cb64 Replaced C++ 14 make_unique with C++ 11 compliant code 5 years ago
Azdul 0c3a3ea241 Strange issue with Linux compilation (<memory> header) 5 years ago
Azdul 4c499983ca Fixed warnings reported by GCC 5 years ago
Azdul d55cc4d3ea Linux requires <memory> header 5 years ago
Azdul caa0487c6a Replace raw pointer in BsaArchive with unique_ptr 5 years ago
Azdul e502819246 Proper conversion from shared_ptr<bsa::MemoryinputStream> to shared_ptr<std::istream> 5 years ago
Azdul b9a7514278 Memory leak fixed. Proper file names in headers. 5 years ago
Azdul c6fd979c42 Spaces instead of tabs in CMakeLists.txt 5 years ago
Nikolay Kasyanov 9cce6ecfe3 [macOS] Update deploy script to use ssh/scp 5 years ago
Azdul 96d19e07ca Fix Linux build 5 years ago
Azdul 33470cb5a2 Win32 specific library 5 years ago
Azdul b30d2bab57 Zlib only for Win32 5 years ago
Azdul d73165a80c Missing boost library 5 years ago
Azdul 4e27fdefdb Missing boost Linux library 5 years ago
Azdul 25650e65bf Read any BSA file - detection based on version in BSA header 5 years ago
Andrei Kortunov 39c4a7833c Fix out of range exception when try to load a particle node with empty sizes array (bug #4804) 5 years ago
Bret Curtis ed5df29b42
Merge pull request #2131 from Capostrophic/begin
Allow stray special characters before Begin statement (bug #4803)
5 years ago
Capostrophic 166d757a19 Allow stray special characters before a begin statement 5 years ago
Artur Rojek f6e1aaae1a Use case-insensitive compare when searching for game data by the wizard.
Until now, the wizard was only comparing against an exact file name
match while searching for game data, eg. "data*.cab".
This patch makes it possible to locate game data regardless of case
sensitivity, eg. "Data*.cab".
5 years ago
Capostrophic 05d5d7d57b Account for stances when the player is in air (bug #4797)
Make GetPCRunning and GetPCSneaking return 1 if the player is in air while the stance is toggled
Make sneaking skill usage possible if sneaking stance is toggled while in air
5 years ago
Bret Curtis c01672a364
Merge pull request #2129 from Capostrophic/pipefall
Update moved object collisions even if the new cell is the same (bug #4800)
5 years ago
Capostrophic 8bb270c2bb Update moved object collisions even if the cell is the same (bug #4800) 5 years ago
Bret Curtis b78cc4c7d8 Update .gitlab-ci.yml 5 years ago
Bret Curtis 8834ee95be
Merge pull request #2120 from Capostrophic/macros
Get rid of some remaining instances of C numeric limits
5 years ago
Bret Curtis 590b393c8e
Merge pull request #2123 from akortunov/skinning
Optimize skinning, part 2
5 years ago
Bret Curtis db74eb4466
Merge pull request #2094 from Capostrophic/editor
Cherry-pick cc9cii's minor editor improvements
5 years ago
Bret Curtis 9c795195d0
Merge pull request #2109 from Capostrophic/loops
Simplify some world loops
5 years ago
Bret Curtis 4617dea154
Merge pull request #2119 from akortunov/stringstream
Get rid of unnecessary string streams
5 years ago
Bret Curtis 519a6b3682
Merge pull request #2039 from akortunov/coverity
Handle last Coverity Scan issues left
5 years ago
Andrei Kortunov 8e6fd348d1 RigGeometry optimization: optimize geometry optimization 5 years ago
Capostrophic a71cfca580 Get rid of some remaining instances of C limit macros 5 years ago
Andrei Kortunov 254f01b89d RigGeometry optimization: vector iteration is more cheap than map iteration 5 years ago
Andrei Kortunov 71227ffc04 Handle possible invalid iterator issue during settings parsing 5 years ago
Andrei Kortunov 3e20f36953 Handle invalid string length for hinting 5 years ago
Capostrophic 776c6c2fe6 Fix MSVC warning 5 years ago
Andrei Kortunov 0937f02598 Get rid of unnecessary string streams 5 years ago
Bret Curtis 88edc1a120
Merge pull request #2100 from akortunov/birthfix
Do not restore birthsign abilities upon game load
5 years ago
Andrei Kortunov b17702bf1f Do not restore birthsign abilities upon game load (bug #4329) 5 years ago
Bret Curtis 65a6b10995
Merge pull request #2066 from akortunov/guifixes
Do not read font size just for every single widget
5 years ago
Bret Curtis a228efa6ed
Merge pull request #2116 from tackeart/patch-1
Guide on quickly removing texture effect blocks from nif
5 years ago
Bret Curtis de24682e2f
Merge pull request #2115 from Capostrophic/slowfall
Don't reset player jumping flag unnecessarily (bug #4775)
5 years ago
Capostrophic a1af1ff487 Fix extra semicolon, redundant getStore calls and random creature spawn loop 5 years ago
Bret Curtis 9d1c0d2b22
Merge pull request #2114 from Capostrophic/cleanup
Remove some redundant code
5 years ago
Capostrophic 403db9afe3 Don't reset player jumping flag unnecessarily (bug #4775) 5 years ago
Bret Curtis 573af17cf9
Merge pull request #2097 from akortunov/camerafix
Do not scale player's model in the 1st-person view depending on race
5 years ago
Bret Curtis 93e566a08e
Merge pull request #2117 from Capostrophic/aidata
Make Interiors of Illusion puzzle of Sotha Sil Expanded work (bug #4778)
5 years ago
Bret Curtis 3e6af9a38b
Merge pull request #2118 from akortunov/profiler
Split physics update from world update in the profiler
5 years ago
Andrei Kortunov ab0841cc3d Split physics update from world update in the profiler 5 years ago
Andrei Kortunov 02a43d0b32 Do not scale player's model in the 1st-person view depending on race (bug #4383) 5 years ago
Capostrophic 92d7f21926 Don't interrupt compilation when spell/effect functions are used for non-actors 5 years ago
tackeart 7b22d4a25d Instructions on removing tex effect blocks quickly
also includes grammar improvement (as suggested by Capostrophic)
5 years ago
Capostrophic d1e0a10136 Make sure AI data is initialized when loading actor records 5 years ago
Capostrophic 624db99bf2 Remove some redundant code 5 years ago
Bret Curtis 91ec1d1c2c
Merge pull request #2113 from Capostrophic/fallback
Clean up fallback record creation again
5 years ago
Capostrophic 27eb64c7f0 Clean up fallback record creation again 5 years ago
David Cernat 150ac71d97
Merge pull request #2111 from Capostrophic/fallback
[Regression] Fix constant raining
5 years ago
Capostrophic ee2560edc3 Fix constant raining 5 years ago
Bret Curtis 363274ccdf
Merge pull request #2110 from Capostrophic/docs
Update Fonts documentation
5 years ago
Capostrophic 0ab5314755 Make scripted items not stack (bug #2969) 5 years ago
Capostrophic a9619dbe03 Update Fonts documentation 5 years ago
Capostrophic 8a266803eb Simplify some world loops 5 years ago
Bret Curtis 5e541c1ae1
Merge pull request #2106 from Capostrophic/fallback
Revert to lexical cast for string-to-float conversion
5 years ago
Capostrophic e412e1b41c Revert to lexical_cast<float>, catch out-of-range exceptions 5 years ago
Bret Curtis 932691d199
Merge pull request #2091 from Capostrophic/fallheight
Avoid falling height reset if on-ground state wasn't actually updated (bug #4411)
5 years ago
Bret Curtis 02c8e328bd
Merge pull request #2104 from Capostrophic/fallback
Improve fallback numerical value handling (bug #4768)
5 years ago
Capostrophic 467724d5e8 Improve fallback numerical value handling (bug #4768) 5 years ago
Bret Curtis d80d056140
Merge pull request #2098 from xyzz/fix-loading-screen-uaf
loadingscreen: Fix UaF in loading screen.
5 years ago
Bret Curtis 91b962c095
Merge pull request #2099 from xyzz/replace-volatile-atomic
Replace volatile bools with std::atomic<bool>
5 years ago
Bret Curtis 0fb056d317
Merge pull request #2103 from Capostrophic/markers
Clean up fallback record creation
5 years ago
Capostrophic 7155e787b4 Clean up fallback record creation 5 years ago
Bret Curtis 807e0311b9
Merge pull request #2102 from nikolaykasyanov/macos-cmake-check
[macOS] Fail CMake when trying to use CMake 3.13 for macOS packaging
5 years ago
Nikolay Kasyanov 2306d904c7 [macOS] Fail CMake when trying to use CMake 3.13 for macOS packaging 5 years ago
Bret Curtis f18f2d39e5
Merge pull request #2096 from xyzz/android-relative-mouse
android: Add a method so that we can send relative mouse movements from java.
5 years ago
Nikolay Kasyanov 956934911a [macOS, CI] Use CMake 3.12.4
See https://gitlab.com/OpenMW/openmw/issues/4767 for details.
5 years ago
Ilya Zhuravlev 1bdec2399f Make sure CopyFramebufferToTextureCallback is only called once and not every frame 5 years ago
Ilya Zhuravlev 07e9ce84b3 Replace volatile bools with std::atomic<bool> 5 years ago
Ilya Zhuravlev 8e7c01b561 loadingscreen: Fix UaF in loading screen.
When the CopyFramebufferToTextureCallback callback is called, in its operator() it resets setInitialDrawCallback by providing a NULL pointer.
However, this causes the callback to get deleted. In turn, the "this" pointer is invalidated.
When execution returns to DrawCallback::run, it accesses a _nestedCallback member of deleted "this" which is UB.
5 years ago
Ilya Zhuravlev 98b2c04404 android: Add a method so that we can send relative mouse movements from java. 5 years ago
Bret Curtis a037e4c954
Merge pull request #2090 from xyzz/nulls-in-c
android_main.c: Replace nullptr back to NULL since there are no nullptr in C
5 years ago
Capostrophic 793c2a19d2 Cherry-pick cc9cii's editor improvements 5 years ago
Capostrophic 0bbcc0e787 Avoid falling height reset if onGround state didn't change (bug #4411) 5 years ago
Ilya Zhuravlev 09585b7208 android_main.c: Replace nullptr back to NULL since there are no nullptr in C 5 years ago
Bret Curtis 8e113a32b2
Merge pull request #2081 from nikolaykasyanov/unneed-macos-files
Remove unnecessary Recastnavigation headers & static libs from macOS package
5 years ago
Andrei Kortunov 8687a49c19 Editor: Added basic info window 5 years ago
Andrei Kortunov b4f3ce2a0a Editor: Implement faction ranks table (feature #4209) 5 years ago
Bret Curtis d4e56b73ae
Merge pull request #2086 from Capostrophic/aidata
Editor: avoid overflows in certain fields (bug #2987)
5 years ago
Bret Curtis d3ed3c2b0d
Merge pull request #2087 from nikolaykasyanov/update-macos-deps
Update macOS dependencies, use Xcode 10.1
5 years ago
Nikolay Kasyanov e0161bb2bf Update macOS dependencies, use Xcode 10.1 5 years ago
Nikolay Kasyanov c3a2a2d73f Do not package Recastnavigation headers and static libs 5 years ago
Nikolay Kasyanov f98a454ec1 Add a script to verify macOS package contents 5 years ago
Capostrophic 2681435857 Editor: handle AI settings, regional sound and levelled list "none" chances as shorts (bug #2987) 5 years ago
AnyOldName3 199e6ed82d Revert "Use forward declaration to reduce build times."
This reverts commit 305b9826df.
5 years ago
AnyOldName3 305b9826df Use forward declaration to reduce build times. 5 years ago
Alexander Kolodeev 7c3ef213ce Fix error when create new OpenCS addon 5 years ago
AnyOldName3 7b108ae9a2 Disable depth sorting for translucent objects in the shadow maps 5 years ago
Chris Djali 0f9f7f0b59
Merge pull request #2083 from AnyOldName3/fix-vao-rig-bug
Fix animation bug with VAOs
5 years ago
AnyOldName3 e2515f6db7 Merge branch 'master' into osgshadow-test-vdsm 5 years ago
AnyOldName3 53188f61fc Fix animation bug with VAOs 5 years ago
Chris Djali 066b74eb43
Merge pull request #2078 from AnyOldName3/cmake-13.1-osg-lib-fix
Adapt to CMake 3.13's new meaning of OSGDB_LIBRARY
5 years ago
AnyOldName3 a58a8db030 Uncomment commented lines 5 years ago
Bret Curtis 922f696aaf bump bullet version for gitlab-ci 5 years ago
Bret Curtis 44a408635a wrap git command in gitfound 5 years ago
Bret Curtis 6d7aacab5e
Merge pull request #2053 from akortunov/animatedContainers
Native animated containers support
5 years ago
Bret Curtis d2c88f0983
Merge pull request #2071 from Capostrophic/sneaking
Don't interrupt sneak and swim idles in attack ready state in first person view (bug #4750)
5 years ago
Bret Curtis 76d380e852 if unable to run git at this moment, use empty string 5 years ago
Bret Curtis 81fdecc48c
Merge pull request #2073 from OpenMW/appdata_template_and_fixes
various fixes
6 years ago
AnyOldName3 dcbca4b90b Use if(EXISTS ${OSGDB_LIB} AND NOT IS_DIRECTORY ${OSGDB_LIB}) 6 years ago
Bret Curtis 6ef974f4eb
Merge pull request #2079 from OpenMW/revert-2054-master
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO"
6 years ago
Andrei Kortunov a53333c3d5 Native animated containers support (feature #4730) 6 years ago
Bret Curtis fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO" 6 years ago
Bret Curtis 708a4f85ce
Merge pull request #2077 from terabyte25/patch-14
Sanity check for text input in toggleWalking
6 years ago
AnyOldName3 9067731a96 Adapt to CMake 3.13's new meaning of OSGDB_LIBRARY (i.e. that it can now be a list) while allowing for the possibility that the found libraries may be in different directories when debug and optimised versions exist. 6 years ago
terrabyte25 c31fa3074e
Sanity check for text input in toggleWalking 6 years ago
Bret Curtis 97aa6f58e3
Merge pull request #2064 from sthalik/pr/win32-debug-parent-console
enable win32 debug console when launching from console
6 years ago
Bret Curtis f4c863a730
Update graphicspage.cpp 6 years ago
Bret Curtis 83e346e1e6
add new bugtracker 6 years ago
Bret Curtis b8b1a52216 add commit date; revert boost as we are not breaking anything yet 6 years ago
Stanislaw Halik c5c160870d fix accidental header namespace inclusion 6 years ago
Stanislaw Halik f6c8842457 move to debugging.[ch]pp 6 years ago
Stanislaw Halik 74955555b9 remove verbose comments and example 6 years ago
Bret Curtis 6596c400f3 indentation 6 years ago
Bret Curtis fc10adb608 makes openmw.appdata.xml a template that accepts @OPENMW_VERSION@ so we do not have to update it all the time; fix deprecated warning for boost header; un-ignore openmw.appdata.xml 6 years ago
Bret Curtis 401ccedb36
Merge pull request #2072 from elsid/navmesh_tiles_cache_item_fix
Navmesh tiles cache item fix (bug #4751)
6 years ago
AnyOldName3 b6b1b39804 Make the terrain paging system use the view point rather than the eye point to determine which nodes to use so that it can be inherited by RTT cameras. 6 years ago
elsid da431135fa
Use pointer to check is NavMeshTilesCache::Value initialized 6 years ago
elsid aab7f2e8b9
Don't check for equality in move assignment
Assume it is undefined behavior to move-assing value to itself.
6 years ago
Capostrophic 6083e5ed4b Don't interrupt sneak and swim idles in first person view (bug #4750) 6 years ago
AnyOldName3 2d5da1a6fa Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal. 6 years ago
Stanislaw Halik 56d79bd4e0 fix typo 6 years ago
Andrei Kortunov e073e0d8c9 Do not read font size just for every single widget 6 years ago
Stanislaw Halik 44e60b708b fix missing _WIN32 guard 6 years ago
Stanislaw Halik 64e960aa22 enable win32 debug console when launching from console 6 years ago
AnyOldName3 0d5876f4bb
Merge pull request #2063 from AnyOldName3/nmake
Add NMake support to the Windows prebuild script.
6 years ago
AnyOldName3 2a2d9f0006 Fix if statements 6 years ago
AnyOldName3 14fcb9158f Add NMake support to the Windows prebuild script. 6 years ago
Bret Curtis 79eab6c55f
Merge pull request #2062 from sthalik/pr/fix-msvc-build
fix missing include
6 years ago
Stanislaw Halik 59d96d808e fix missing include 6 years ago
Marc Zinnschlag d791dcfbf3 Merged pull request #2051 6 years ago
Bret Curtis 5700394c18
Merge pull request #2057 from Capostrophic/colors
Display Ambient, Sunlight and Fog field values as colors (bug #4745)
6 years ago
Bret Curtis 32624cb3ed
Merge branch 'master' into colors 6 years ago
Bret Curtis b296c4a3bb
Merge pull request #2058 from Capostrophic/collision
Don't consider non-solid actors truly levitating (bug #4746)
6 years ago
Capostrophic 7b33838b33 Don't consider non-solid actors truly levitating (bug #4746) 6 years ago
Bret Curtis 35ea8ecb0b
Merge pull request #2056 from Capostrophic/esmtool
esmtool cleanup
6 years ago
Capostrophic 7cae0017ac Display Ambient, Sunlight and Fog field values as colors (bug #4745) 6 years ago
Bret Curtis 45d7c005ad
Merge pull request #2055 from Capostrophic/regression
[Regression] Fix incorrect event argument which messed with hidden light pointers
6 years ago
Capostrophic 5c8c079718 Fix incorrect event argument which messed with hidden light pointers 6 years ago
AnyOldName3 244bd289cb Change default colour mode (as apparently it actually gets used sometimes) 6 years ago
Bret Curtis 393bd982c0
Merge pull request #2054 from mp3butcher/master
fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO
6 years ago
mp3butcher 7a85e10d2f fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO 6 years ago
Capostrophic 832870dc79 esmtool cleanup 6 years ago
Bret Curtis c2c86fc4a5
Merge pull request #2052 from mp3butcher/master
fix moc achieving to reach unparsable boost code
6 years ago
Bret Curtis 807cab568e
Merge pull request #2050 from Capostrophic/markers
[Regression] Revert unnecessary case changes for fallback records
6 years ago
Bret Curtis b1ca6c6e95
Merge pull request #2045 from akortunov/animfix
[Testing needed] Fix regressions in the animation system
6 years ago
mp3butcher 9de6c630f2 fix moc achieving to reach unparsable boost code 6 years ago
Capostrophic 7b5932a49d Add Invert X Axis option (feature #3610) 6 years ago
Capostrophic c59513c30c Revert unnecessary case changes for fallback records 6 years ago
AnyOldName3 0a409c0ab8 Make shadow map front-face culling configurable 6 years ago
AnyOldName3 dd207d9e54 Make the shadow polygon offset parameters configurable 6 years ago
AnyOldName3 49487355a5 Merge branch 'osgshadow-test-vdsm' of https://github.com/AnyOldName3/openmw into osgshadow-test-vdsm 6 years ago
AnyOldName3 642002b302 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 aa11832949 Resolve bugs with depth-clamped shadow maps 6 years ago
Bret Curtis 10a049b087
Merge pull request #2046 from akortunov/holstered_weapons
Fix visible sheaths for invisible actors
6 years ago
Andrei Kortunov 880ec3ce7b Fix visible sheaths for invisible actors 6 years ago
Andrei Kortunov 671f2811d5 Fix regressions in the animation system (bug #4729) 6 years ago
AnyOldName3 7ad4882f0c Fix debug hud frustum outline disappearence 6 years ago
AnyOldName3 061fa57335 Switch to better-performing data types for debug hud geometry 6 years ago
Bret Curtis 4098a7be1d
Merge pull request #2038 from OpenMW/travis-xenial
give Xenial a try
6 years ago
AnyOldName3 632b0d8979 Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows. 6 years ago
AnyOldName3 660e423e99 Correct debug hud frustum colour 6 years ago
Bret Curtis cfed825cec
Merge pull request #2043 from akortunov/rafix
Improve ResetActors command
6 years ago
Andrei Kortunov e8b3ae8706 Improve ResetActors command (bug #4723) 6 years ago
Bret Curtis c1473d5375
Merge pull request #2041 from akortunov/guifixes
Fix shield displaying on inventory avatar (bug #4720)
6 years ago
Andrei Kortunov 7438e20ee1 Fix shield displaying on inventory avatar (bug #4720) 6 years ago
Bret Curtis a354879477
Merge pull request #2040 from akortunov/refactoring
Requested refactoring
6 years ago
Bret Curtis 53c98bd8e1 added TODO and updated notification email for coverity 6 years ago
Andrei Kortunov 68c170f065 Refactor tools to do not use boost exceptions and exit() command 6 years ago
Andrei Kortunov 059a8fd32a Refactor dynamic casts in the editor 6 years ago
Bret Curtis a21792657a
Merge pull request #2034 from akortunov/guifixes
Improve GUI cleanup
6 years ago
Bret Curtis fc15fa0a89 we now have gcc-5 _and_ gcc-8, along with QT5 and use system tinyxml 6 years ago
Bret Curtis 68f62c974a give Xenial a try 6 years ago
Bret Curtis caad388c26 bump our versions to 0.46, keep this commit in mind when trying to automate this into one place 6 years ago
Bret Curtis 815909d3cf fix typo 6 years ago
Bret Curtis b284432e79 Merge branch 'master' into coverity_scan 6 years ago
Bret Curtis d6859d0300
Merge pull request #2037 from akortunov/coverity
Fix warnings in the OpenMW-CS and NIFTest
6 years ago
Bret Curtis 475d8f9915 disable openmw-cs as well, only build the rest due to time constraints 6 years ago
Andrei Kortunov 5ac81cfbff Throw exceptions with some info int the editor if dynamic_cast failed 6 years ago
Andrei Kortunov f20d1b1b72 Catch exception in the NIFTest 6 years ago
Bret Curtis 25e4156940 enable niftest by default, coverity branch covers everything but openmw now due to timeouts; we run coverity manually for openmw for now; re-order options to be readable and logical sequence 6 years ago
Bret Curtis 419e7ea5a2
Merge pull request #2035 from akortunov/coverity
Fix many Coverity Scan warnings
6 years ago
Bret Curtis 8a66dec865
Merge pull request #2031 from akortunov/warnfix
Fix some Clang 7 warnings
6 years ago
Bret Curtis e6bb5bb88c
Merge pull request #2036 from ananace/update-oal
Update OpenAL-soft to 1.19.1
6 years ago
Andrei Kortunov 4ee15ddcb9 Fix many Coverity Scan warnings 6 years ago
Alexander Olofsson f8f66b83b6 Update OpenAL-soft to 1.19.1 6 years ago
Bret Curtis 7b7138fc0a try gcc5 as last resort 6 years ago
Andrei Kortunov 5e071e3eb0 Add a missing check if mPtr is empty (bug #4715) 6 years ago
Andrei Kortunov 71f1a53090 Improve tooltips cleanup (bug #4714) 6 years ago
Bret Curtis 6c5e40ef7a try with gcc-6 6 years ago
Bret Curtis beb22758a6 try gcc-7 instead 6 years ago
Bret Curtis 8b4e7bc73c all on one line 6 years ago
Bret Curtis e677474319 try and set this globally 6 years ago
Bret Curtis 8ad9d26c2c try using conditionals 6 years ago
Bret Curtis f8ba0acd1f give this a try 6 years ago
Bret Curtis 9a6736cddf Merge branch 'master' into coverity_scan 6 years ago
Bret Curtis 194232abde
Merge pull request #2029 from akortunov/actorfix
[Regression] Handle case in the editor when actor's bodypart was not found
6 years ago
Bret Curtis 0f29a73fc9
Merge pull request #2025 from Capostrophic/actorloops
Use C++11 for close actor-iterating loops and avoid some redundant operations
6 years ago
Bret Curtis 741a6b2e6f
Merge pull request #2032 from sthalik/pr/fix-win32-manifest-copypasta
fix win32 app manifest copy-paste error
6 years ago
Stanislaw Halik caefe8cda0 fix win32 app manifest copy-paste error 6 years ago
Andrei Kortunov d2613e35a2 Fix some Clang 7 warnings 6 years ago
Andrei Kortunov 0065bccf24 Handle case in the editor when actor's bodypart was not found 6 years ago
Bret Curtis 3fe7106668 Merge branch 'master' into HEAD 6 years ago
Bret Curtis 461ba74d6d
Merge pull request #2017 from sthalik/pr/allow-build-under-cygwin-msys2-etc
fix build with CI dependencies on all Cygwin derivatives
6 years ago
Andrei Kortunov e5b8491b58 Make Clang analyzer to take assertions in account, even for release builds 6 years ago
AnyOldName3 5f509f6da3
Merge pull request #2018 from sthalik/pr/fix-hidpi-resolution
fix resolution on HiDPI (non-100% resolution scaling) displays under Windows
6 years ago
AnyOldName3 02a8c6a7ce
Merge branch 'master' into pr/fix-hidpi-resolution 6 years ago
Bret Curtis 376599533b
Merge pull request #2000 from Capostrophic/prisonmarker
Add prison marker record fallback definition (bug #4701)
6 years ago
Bret Curtis 228f6b572f
Merge branch 'master' into prisonmarker 6 years ago
Bret Curtis f6243fae83
Merge pull request #1615 from akortunov/holstered_weapons
Weapon sheathing
6 years ago
Bret Curtis 9ae077c033
use c++11 std::align from <memory> (#2026)
* use c++11 std::align from <memory>

* for Ubuntu, use gcc5 instead of 4.8

* use travis to set gcc to 5

eval

and sudo

* use eval in .travis.yml

* use gcc-8

* replace precise with trusty llvm toolchain, because we have been using trusty for awhile now

* push things to matrix, so we can support multiple releases if we want

* we should not be allowing for failures, we are ready to start trusting clang and its analyzer

* scan-build was pushed to another package

* use gcc-8 still but wrap in scan-build

* travis.yml cleanup, have output of scripts go to stdout, make search for substring a regex

use double []

fix missing ,

use bash to use regex

black spaces matter

* set human readable names for our various builds, split out our static analysis between openmw and openmw-cs

* test if not set, then set otherwise ignore

* use quotes

* do not eval it, set it in travis env

* no more &&

* what does clang7 have to say?

* use sourceline for now

* use clang-7 instead of clang-7.0

* yes, llvm-toolchain-trusty-7 not llvm-toolchain-trusty-7.0

* for static analysis, openmw is compiled and checked on its own while openmw-cs is build with all the rest. this might change in the future.

and actually do it the other way around
6 years ago
Capostrophic 6d48d9329e Avoid making string copies instead of references 6 years ago
Bret Curtis 3751bc2c11
Merge pull request #2030 from akortunov/warnfix
Fix some compiler warnings
6 years ago
Bret Curtis 4d3a52781d
Merge pull request #2020 from sthalik/pr/fix-rain-delay
fix rain delay when exiting water
6 years ago
Andrei Kortunov ad36834671 Fix some compiler warnings 6 years ago
Stanislaw Halik 8fd71fe4ad fix rain delay when exiting water
When the particle system updates its internal state noting that it's
been culled, it stops emitting any further particles. Prevent it from
having that knowledge.

v2: Fix off-by-one-frame error following review by @AnyOldName3
6 years ago
Bret Curtis 6c47725260
Merge pull request #2027 from Capostrophic/grammar
Tweak the default chargen and level up messages
6 years ago
Capostrophic 4cb4f82431 Don't use bitwise AND 6 years ago
Capostrophic fcb2cde1dd Tweak the default chargen and level up messages 6 years ago
Capostrophic 39f8637e95 Simplify some actor loops and avoid some redundant calculations 6 years ago
Bret Curtis 33535eb1bd
Merge pull request #2024 from OpenMW/update_recast
fix msvc warnings with recast
6 years ago
Capostrophic 4efe1bc892 Add prison marker record fallback definition (bug #4701) 6 years ago
Stanislaw Halik 5e3e01cac0 fix resolution on HiDPI displays under Windows
The same Windows functionality as scaling user interface elements,
confuses fullscreen games unless they set a particular of metadata to
indicate that they perform the scaling by themselves.

What happened was treating 2160p as 1440p despite the former being
chosen. The same occured with other game title prior to introducing the
metadata bits.

Fortunately with CMake there's no need to invoke the mt.exe "manifest
tool" manually.

Note that the setting of "per-monitor DPI aware" still leaves openmw
confused, hence the choice of global-DPI-aware.
6 years ago
Bret Curtis 63a2487630 bump /extern/recastnavigation to commit 3087e805b02d5eb8fff7851234fa2b3f71290eba; fixes clang warning about missing delete: https://github.com/recastnavigation/recastnavigation/issues/359 6 years ago
Andrei Kortunov 92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 6 years ago
Bret Curtis c114e1278e
Merge pull request #1978 from akortunov/ffmpeg3
Migrate to FFMPEG3
6 years ago
Bret Curtis a8d944e756
Merge pull request #2023 from elsid/navmesh_cache_limit
Navmesh cache limit
6 years ago
Bret Curtis 28913758ce
Merge pull request #2021 from elsid/recast_global_allocator
Recast global allocator
6 years ago
elsid 6e78fbb538
Double key size for item cache size 6 years ago
elsid 696bb9adc8
Add missing decrease for free navmesh data size 6 years ago
elsid d2c2bdadb5
Add align implementation 6 years ago
elsid b477775e16
Use callback to iterate over chunks 6 years ago
elsid db5638bf6d
Add global recast allocator to allocate temp buffers on stack 6 years ago
Bret Curtis d3633bbada
Merge pull request #2019 from akortunov/warnfix
Attempt to fix MSVC2015 C4503 warnings
6 years ago
Andrei Kortunov a387c6b910 Fix MSVC2015 C4503 warning 6 years ago
Stanislaw Halik b099981c91 fix CI msvc build outside git bash
It was only by accident that git bash worked for CI basing on the
"real_pwd()" expression. Replace the dubious replacement pattern with
"cygpath", which is present on git bash, Cygwin, and msys2 alike. In
particular git bash uses msys2 internally.

I was able to confirm a working build under msys2 with a wrapper for
MSVC invocation via the Ninja generator.
6 years ago
Andrei Kortunov f88d5e808c Rewrite media decoder to use FFMpeg 3.2+ API (task #4686) 6 years ago
AnyOldName3 0bafa4399b Use distant shadow maps when the current fragment is outside the depth range of the near ones. 6 years ago
Bret Curtis 261bbded00
Merge pull request #2016 from elsid/navmesh_update_change_type
Use new change type for update object
6 years ago
AnyOldName3 ad9dab8593
Switch alpha test from < to <= to fix weird shadows on actors with 50% chameleon 6 years ago
Bret Curtis 97af3f3b60
Merge pull request #2015 from elsid/fix_navmesh_cache_size_limit
Fix navmesh cache size limit
6 years ago
elsid 41319eb2bf
Use new change type for update object
To perform jobs for updated animated objects and doors with lowest
priority.
6 years ago
elsid b77684a135
Add TODOs 6 years ago
elsid 2ba026e2b2
Limit navmesh cache size by data size + key size 6 years ago
Bret Curtis 851c2f55cd
Merge pull request #2014 from akortunov/actorpaths
Improve toggleactorspaths console command
6 years ago
Andrei Kortunov 829faf7b2c Improve toggleactorspaths console command 6 years ago
AnyOldName3 b178e1868a Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 3c25e7b93d
Merge pull request #2010 from AnyOldName3/windows-debug-build-fix
Include missing Windows header before calling Windows-specific functions and switch CMake compile definitions to the new style.
6 years ago
AnyOldName3 719c9f0766 Remove compile definition which inadvertently broke other compile definitons 6 years ago
AnyOldName3 e2ddb39591 Remove incorrect comment 6 years ago
AnyOldName3 a5afae71e6 Remove unwanted compile definition. 6 years ago
Bret Curtis 4814e35802
Merge pull request #2012 from Capostrophic/pathfinding
AI packages cleanup
6 years ago
Capostrophic 1de9674c81 AI package cleanup 6 years ago
Bret Curtis 782aa3e584
Merge pull request #2011 from elsid/fix_misc_guarded_msvc2015_crash
Use explicit default ctors call
6 years ago
elsid 264ea99af6 Use explicit default ctors call
Special change for MSVC2015.
6 years ago
AnyOldName3 a6d3210a9c Include missing Windows header before calling Windows-specific functions 6 years ago
Bret Curtis 5f5773f7df
Merge pull request #2009 from elsid/pathfinder_update_tolerance
Use default tolerance to drop last point from path
6 years ago
Bret Curtis 9c3b4b6324
Merge pull request #2008 from Capostrophic/pathfinding
Fix isWithinMaxRange function in AiTravel [0.45.0 regression]
6 years ago
elsid c52db75545 Use default tolerance to drop last point from path
Fixes AiEscort. Before actor tried to reach target with 0 tolerance.
Back to logic like it was before 4fe764c3a5 and bbd82a743 commits.
6 years ago
Capostrophic a4eff1c871 Fix isWithinMaxRange function 6 years ago
AnyOldName3 540e93e983
Merge pull request #2007 from OpenMW/remove-findrecastnavigation.cmake
Remove FindRecastNavigation.cmake
6 years ago
AnyOldName3 8acbdf70b7
Remove FindRecastNavigation.cmake 6 years ago
AnyOldName3 d0c254bc7e Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
Bret Curtis c1a3eec456 Merge branch 'elsid-extern_recastnavigation' into 'master'
Elsid extern recastnavigation

See merge request OpenMW/openmw!45
6 years ago
elsid 70b5160bf1 Add files with recastnavigation current commit hash and url to clone 6 years ago
elsid 4c82470933 Do not build recastnavigation tests 6 years ago
elsid bc59a3c455 Build recastnavigation static libraries 6 years ago
elsid 792a0585c0 Add recastnavigation as subdirectory 6 years ago
Bret Curtis af3c605b0c
Merge pull request #2004 from AnyOldName3/vsboostfix
Ensure different Boost versions get different names
6 years ago
AnyOldName3 afd700dab9 Ensure different Boost versions get different names 6 years ago
AnyOldName3 0208cb8616
Merge pull request #2001 from AnyOldName3/enable-osg-logging
Allow OSG objects to be sent to the debug log.
6 years ago
AnyOldName3 6bbc1cb308
Remove outdated include 6 years ago
AnyOldName3 93843d024c Remove another duplicate operator<< 6 years ago
AnyOldName3 4489f23005 Remove recastnavigation conflicts 6 years ago
Bret Curtis 341c6d571d
Merge pull request #2002 from akortunov/warningfix
Fix Clang warnings
6 years ago
Andrei Kortunov a615076c61 Add default return value 6 years ago
Andrei Kortunov f1eb702851 Mark virtual methods in the mechanicsmanagerimp.hpp as overrides 6 years ago
AnyOldName3 3785ba6aa0 Merge upstream/master 6 years ago
AnyOldName3 eb44de3e6b Disable shadows properly for water reflection/refraction RTT targets, eliminating remaining OpenGL errors. 6 years ago
AnyOldName3 90986df81c Allow OSG objects to be sent to the debug log. 6 years ago
Bret Curtis 3c8bb9cf73 Merge branch 'changelog' into 'master'
Update CHANGELOG.md

See merge request OpenMW/openmw!44
6 years ago
Bret Curtis d1eb7a52a0 Update CHANGELOG.md 6 years ago
Bret Curtis d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
Use recastnavigation for pathfinding (#2229)
6 years ago
AnyOldName3 1ca7ea23d1 Add extra uniforms to the disabled shadows StateSet so that the shadow texture samplers are bound ot the dummy shadow maps correctly. 6 years ago
Marc Zinnschlag 854d85cb47 Merged merge request !42 6 years ago
Bret Curtis cbbe69f3f2 additional cleanups for non-essential fallbacks 6 years ago
Bret Curtis 3c53fe16e9
Merge pull request #1986 from akortunov/rootfix
[Regression] Handle RootCollisionNode exactly as in original engine
6 years ago
Bret Curtis 9b83a2345b remove unnecessary fallbacks 6 years ago
Bret Curtis e65f254f7f
Merge pull request #1999 from akortunov/resurrect
[Regression] Make sure we reset current weapon animation when resurrect actor
6 years ago
Bret Curtis 82e8829112 Merge branch 'update-gitlab-deps' into 'master'
Update to new packages

See merge request OpenMW/openmw!43
6 years ago
Andrei Kortunov f98fc8d7b4 Make sure we reset current weapon animation when resurrect actor (addition to bug #2626) 6 years ago
Bret Curtis 23d273b1d7 Follow the redirects 6 years ago
Bret Curtis cc1fd8c92e Use https://http.kali.org/pool/main/m/mygui/ instead since debian doesn't keep old packages. 6 years ago
Bret Curtis e45c0c8f59 Update to new packages 6 years ago
Bret Curtis 988914725a wip 1
wip2

add more Level_UP and QA text

the rest of the questions
6 years ago
Marc Zinnschlag a5efe0d596 Merged pull request #1998 6 years ago
Capostrophic 434b1fd0e3 Use Shift-C and Shift-V keybindings for View and Preview (feature #2845) 6 years ago
Bret Curtis 7f2baa9373
Merge pull request #1995 from Capostrophic/icons
Add icons for record context menu actions (feature #4506)
6 years ago
Bret Curtis 6f8a15afb0
Merge pull request #1996 from Capostrophic/cleanup
Clean up redundant getClass() calls in classes
6 years ago
Bret Curtis 580119d9b0
Merge pull request #1997 from Capostrophic/thrown
Use the real thrown weapon damage in tooltips and AI (feature #4697)
6 years ago
Capostrophic 8757b3edd1 Add icons for Edit and Touch actions (kudos to akortunov) 6 years ago
Capostrophic 89b8eb029f Add icons for record context menu actions 6 years ago
Capostrophic 77b0ff7a75 Use real thrown weapon damage in tooltips and weapon rating (feature #4697) 6 years ago
elsid 49d81241db Merge branch 'master' into pathfinder_detour 6 years ago
Capostrophic 4b1d287eda Clean up redundant getClass calls in classes 6 years ago
elsid 50b6ae3e10 Fix calculation for shape local AABB 6 years ago
elsid af2f4e8424 Allow to use zero cache size 6 years ago
Bret Curtis fc82e680b4
Merge pull request #1989 from alecnunn/documentation-cleanup
Formatted documentation and corrected spelling errors.
6 years ago
Bret Curtis e7892361f6
Merge pull request #1994 from akortunov/actor_culling
Minor tweaks for actors processing range setting
6 years ago
Bret Curtis 3cd59d4a89
Merge pull request #1993 from akortunov/loadingbar
Center progress bar when there are active messageboxes
6 years ago
elsid abc51a8a17 Add settings option to set max number of polygons per navmesh tile 6 years ago
Andrei Kortunov 06d226a1b7 Minor tweaks for actors processing range setting 6 years ago
Andrei Kortunov 6e05853478 Center progress bar when there are active messageboxes (bug #4691) 6 years ago
Marc Zinnschlag 9dd0d641bc Merged pull request #1931 6 years ago
Marc Zinnschlag 2e9fa769bc Merged pull request #1992 6 years ago
Bret Curtis af0b5947ab
Merge pull request #1991 from akortunov/changelog
Add missing changelog entries
6 years ago
Alec Nunn 8337423e6c Fixed up grammar in the game settings documentation. 6 years ago
Capostrophic d27d48eb22 Fix revert record icon 6 years ago
Andrei Kortunov 7a7b47b0ba Add missing changelog entries 6 years ago
Bret Curtis 9f4892ce92
Merge pull request #1990 from Capostrophic/absorption
Avoid making expensive visitEffectSources calls if no spell absorption effect is active
6 years ago
Bret Curtis 5b26c231b8
Merge pull request #1988 from Capostrophic/light
Adjust magic light source linear attenuation (bug #3890)
6 years ago
Capostrophic abdf40e0d5 Avoid making expensive visitEffectSources calls if no spell absorption effect is active 6 years ago
Capostrophic b6f23cd366 Make constants usage more obvious 6 years ago
Alec Nunn 89f4ad1835 Worked with formatting the documentation source to conform to standards desired. Also corrected numerous spelling errors and inconsistencies. 6 years ago
Capostrophic 4873d33642 Adjust magic light source linear attenuation (bug #3890) 6 years ago
Bret Curtis 354447cc45
Merge pull request #1987 from nikolaykasyanov/macos-ci-downgrade-mygui
Use dependencies with downgraded MyGUI, fixing #4665
6 years ago
Nikolay Kasyanov f62ca24356 [macOS, CI] Use dependencies with downgraded MyGUI, fixing #4665 6 years ago
Andrei Kortunov d2f3196ee8 Fix testcase for RootCollisionNode with MRK data 6 years ago
Andrei Kortunov 61da6b6ecf Print warning if the RootCollisionNode is attached to non-root node (bug #4311) 6 years ago
Marc Zinnschlag 3ead33814f Merge remote-tracking branch 'upstream/master' 6 years ago
Marc Zinnschlag 032278929b Merged pull request #1985 6 years ago
Bret Curtis a8d38726e8
Merge pull request #1984 from akortunov/absorption
Make spell absorption multiplicative
6 years ago
Capostrophic 19ce1abcdf Fix selected weapon HUD durability percentage 6 years ago
Andrei Kortunov 6d91fe69b2 Revert "Handle RootCollisionNode, attached to non-root node (bug #4311)"
This reverts commit ec9a1b0d05.
6 years ago
Andrei Kortunov bf9e8c4556 Make spell absorption multiplicative (bug #4684) 6 years ago
Andrei Kortunov e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
6 years ago
Bret Curtis 0fad2449f3
Merge pull request #1982 from Capostrophic/condition
Avoid item condition and charge zero divisions
6 years ago
Capostrophic c3e8d536cd Implement getNormalizedEnchantmentCharge() method and use it 6 years ago
Capostrophic 54bd7b2dcf Implement getItemNormalizedHealth() method and use it 6 years ago
Marc Zinnschlag 2c8bbde7ef Merged pull request #1979 6 years ago
Marc Zinnschlag 4d88d6dd58 Merged pull request #1980 6 years ago
Bret Curtis 375354ab6b
Merge pull request #1974 from akortunov/coverity
Fix some issues found by Coverity Scan
6 years ago
AnyOldName3 1e2bf9c447 Merge remote-tracking branch 'refs/remotes/upstream/master' 6 years ago
Capostrophic 67de61e1fb Avoid item condition and charge zero divisions 6 years ago
Bret Curtis ecc671bfb9
Merge pull request #1981 from Capostrophic/fixme
[Regression] Fix fixme behavior in interiors
6 years ago
Capostrophic 4ce35c6ad5 Fix fixme behavior in interiors 6 years ago
AnyOldName3 e22ab64ebf Fix typo in lighting.glsl 6 years ago
Andrei Kortunov 61e6e359c4 Allow creatures to use the autogenerated collision box (feature #2787) 6 years ago
Capostrophic 9809eef18e Utilize the default soundgen entries when necessary (bug #4689) 6 years ago
Andrei Kortunov 229d1bb425 Backport loop from tinyxml 2.6 to avoid CVE 6 years ago
Andrei Kortunov 41e90bd56c Unify random generator usage 6 years ago
Andrei Kortunov 46bf45a6e2 Remove redundant code 6 years ago
Marc Zinnschlag 85f9b0d004 Merge branch 'master' into coverity_scan 6 years ago
AnyOldName3 b0907f8929 Add todos in case they're left until after the shadow PR is merged 6 years ago
AnyOldName3 a41ce42208 Move setting of colorMode to ShaderRequirements in case they're reused 6 years ago
Bret Curtis 6c4116cc8b
Merge pull request #1972 from akortunov/equipfix
Force actor to the 'weapon equipped' state if the weapon disappeared in the middle of attack
6 years ago
Bret Curtis a5fc4db2d7
Merge pull request #1973 from akortunov/soundfix
Catch exceptions inside the loadVoice()
6 years ago
Andrei Kortunov 8fa0ffcfe4 Catch exceptions inside the loadVoice() (bug #4685) 6 years ago
Andrei Kortunov d7d9050d4a Force actor to the 'weapon equipped' state if the weapon disappeared in the middle of attack (bug #4646) 6 years ago
AnyOldName3 85b97d19d3 Add alpha threshold for shadow casting. 6 years ago
AnyOldName3 474770eca8 Switch shadow map rendering to a specialised, simplified shader. 6 years ago
Bret Curtis e406c5ff81
Merge pull request #1946 from akortunov/backupfix
Combat AI: check for obstacle before back up
6 years ago
Bret Curtis e99edfd954
Merge pull request #1971 from akortunov/meshfallback
Try to use collisions from basic actor model if an animated one has no collisions
6 years ago
Andrei Kortunov 13bd81f896 Try to use collisions from basic actor model if an animated one has no collisions (feature #4682) 6 years ago
AnyOldName3 ce15369bbd Convert colorMode shader define to a uniform 6 years ago
elsid 03d4ce5e49
Log find path exception with level verbose, add more info to message 6 years ago
elsid dc2eb2e16b
Do not write to global log async navmesh updater exceptions 6 years ago
Bret Curtis 358a702869 Merge branch 'master' into 'master'
Unified settings list and cfg file names. Added brief tutorial.

See merge request OpenMW/openmw!41
6 years ago
Bret Curtis 8cb407cfdf
Merge pull request #1969 from Capostrophic/soundgen
Support soundgen calls for activators (feature #4285)
6 years ago
Bret Curtis f561ab547a
Merge pull request #1970 from Capostrophic/landing
Re-enable handling soundgen land for creatures
6 years ago
Capostrophic bf3f82b9d4 Cleanup 6 years ago
Capostrophic 6ef7be3fd3 Re-enable using soundgen land for creatures 6 years ago
Capostrophic 19fd404b7b Support soundgen calls for activators (feature #4285) 6 years ago
Bret Curtis 53ccce1867
Merge pull request #1966 from akortunov/logfix
Allow apps without logging system to display log messages
6 years ago
Andrei Kortunov ca07e3a364 Check for obstacle before back up (bug #4656) 6 years ago
Andrei Kortunov b5df385111 Allow apps without logging system to display log messages 6 years ago
elsid e57504ae7c
Lower log level 6 years ago
elsid 0f6a64ad54
Split makeNavMeshTileData 6 years ago
elsid fb655cb04f
Remove macroses to check recastnavigation functions result 6 years ago
elsid ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
6 years ago
elsid 69b5834c64
Add doc for Navigator 6 years ago
elsid ae7285e960
Use ScopeGuarded instead of raw mutex 6 years ago
elsid cf4066751c
Add classes to encapsulate value guarded by mutex 6 years ago
elsid 1a27489904
Add special type for object id 6 years ago
elsid 7c80bb9411
Support multiple threads for async nav mesh updater 6 years ago
elsid 7c5bedc35a
Reset shorcutting if actor can't move by z-axis on reaction time
If actor was shortcutting because it was swimming, then when it started
walking it still be shortcutting, but there will be no new path, because
shortcut path builds only for actor able moving by z-axis and pathfinder
path only for not shortcutting actor.
6 years ago
elsid 92b34e8bb4
Check whether can actor move along z-axis in separate function 6 years ago
elsid bbd82a743a
Use different tolerance for path point and destination 6 years ago
elsid ab090108cb
Assign world to local variable once per function 6 years ago
elsid 27a74725f1
Use osg::Vec3f 6 years ago
elsid ff478aba6d
Use actor half extent for interior cells 6 years ago
elsid 346e9e3141
Add off mesh connections for doors without teleport 6 years ago
elsid f8dbd5902f
Update doors objects in navigator 6 years ago
elsid 661da42bd2
Build path by navigator 6 years ago
elsid d02beae5a8
Find path for actors according to their abilities to swim and walk 6 years ago
elsid dc09674362
Add command and settings option to enable actors paths render 6 years ago
elsid c95cea414c
Support water for NavMesh 6 years ago
elsid 72f211ef28
Add enums for area type and flags 6 years ago
elsid fa23b590a4
Add unwalkable areas to NavMesh 6 years ago
elsid c771986c56
Prioritise NavMesh jobs first to remove and last to add
When player move fast enough, tiles update for specific area square
couldn't catch player move. Tiles to be removed are left in the queue
with lower priority then tiles to be added which are nearest to player.
This can lead to overflow for amount of tiles. So we try to do remove
first. But we detect change type approximately using mixed change type,
because even if we do it precise, change type could change while job
is in queue.
6 years ago
elsid b33a291a67
Log thread id 6 years ago
elsid f6a60790f8
Create collision shape for all avoided nodes 6 years ago
elsid e24d4d7052
Explicitly use RC_NULL_AREA constant to mark unwalkable areas 6 years ago
elsid 330e596c64
Remove useless parameter 6 years ago
elsid c3298d13a6
Add log sinks (stdout and file) 6 years ago
elsid 84949bedb1
Remove and add tile in single critical section 6 years ago
elsid 144e1a063b
Support animated objects 6 years ago
elsid 4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile 6 years ago
elsid d2fd9abd51
Split RecastMesh into tiles 6 years ago
elsid dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render 6 years ago
elsid f268ec5d34
Measure total time for NavMesh build from first pop 6 years ago
elsid c26773bd29
Log update NavMesh status 6 years ago
elsid 6f3028b8f9
Update navigator when unload cell or add/remove object to scene 6 years ago
elsid 937e8e1803
Allow to create empty RecastMesh 6 years ago
elsid dd5f4498f6
Increment NavMesh revision on remove or add tile 6 years ago
elsid faaf50446d
Option to initially enable NavMesh render 6 years ago
elsid 02ce4a7e50
Log to detournavigator log cell load and unload 6 years ago
elsid ed3a255f65
Do not use NavMesh to find changed tiles 6 years ago
elsid d1e71f9322
Support btBoxShape for RecastMesh 6 years ago
elsid 70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
6 years ago
elsid 1caa18bb4f
Use one recast mesh for all jobs 6 years ago
elsid 794cfc4aa3
Write detournavigator log to file 6 years ago
elsid dd5e6a61a3
Support btCompoundShape for RecastMesh 6 years ago
elsid 373adc6ec4
Option to enable/disable file names revisions 6 years ago
elsid f8909218ee
Store recast mesh bounds 6 years ago
elsid d1d034a1ec
Update NavMesh one by one tile in order from nearest to player 6 years ago
elsid 41caca24ee
Options to enable/disable write recast mesh and nav mesh into file 6 years ago
elsid 6d233ae868
Option in settings to enable/disable detour navigator debug log 6 years ago
elsid 0c8db84962
Load cells in order from nearest to player to furthest 6 years ago
elsid 430ba9d7a5
Build NavMesh tile data only for changed tiles 6 years ago
elsid 0c8a7295e6
Use only player's half extents 6 years ago
elsid fafba8ea0c
Use recastnavigation to find path 6 years ago
elsid 3d97e96f55
Add dependency to recastnavigation 6 years ago
elsid 4f2bfa1e9d
Add operators for osg types 6 years ago
elsid c01be7b07f
Add operators for bullet types 6 years ago
elsid e707202f88
Use local constant 6 years ago
elsid ed89126828
Fix warning implicit conversion changes singedness 6 years ago
elsid c866fdff86
Move physics object, heightfield, ptrholder into separate files 6 years ago
elsid 4fe764c3a5
Update and check for complete Pathfinder path by different methods 6 years ago
elsid b6dd2119a6
Make Pathfinder constructor inline 6 years ago
elsid 92f52287bf
Make PathFinder::ClearPath inline 6 years ago
elsid 3655f19373
Set PathFinder::mCell to nullptr when clear path 6 years ago
elsid 85bbf9d034
Clear path without check for empty 6 years ago
elsid ca3d0594b3
Do not store pointer to Pathgrid in PathFinder 6 years ago
elsid 3565d92e11
Make PathFinder::getPathCell inline 6 years ago
elsid 2ad3543088
Fix constant style 6 years ago
elsid f9c651bdf3
Add const 6 years ago
elsid 2c464bd682
Evade obstacles after set rotation 6 years ago
elsid eb10add0c4
Remove unused parameters 6 years ago
elsid 66e5a4d591
Remove useless variable 6 years ago
elsid 1a95b7a154
Remove duplicate zTurn call 6 years ago
elsid d0bc1b75e8
Remove unused parameters 6 years ago
elsid 63b3a70ca8
Remove useless else 6 years ago
elsid c9f3064cbd
Update ObstacleCheck once per frame 6 years ago
elsid ad027d13fa
Remove unused 6 years ago
elsid 6d89241178
Check is path completed by osg::Vec3f position 6 years ago
elsid 2c6daa74a9
Simplify PathFinder::checkPathCompleted 6 years ago
elsid 6411c1955d
Fix indent 6 years ago
elsid d3667945c5
Remove unused functions 6 years ago
elsid 31340a212a
Fix functions name style 6 years ago
elsid 2f424f6be2
Store aStarSearch result to deque 6 years ago
elsid 9b3756f8bc
Store path points in deque 6 years ago
elsid 925d909fea
Use rbegin 6 years ago
elsid fbaa525c6f
Fix warning 6 years ago
elsid 4d868bec92
Use osg::Vec3f to store path nodes in Pathfinder 6 years ago
elsid 33dfe284bd
Mark local variables const which one does not change 6 years ago
elsid 0cfdf0c7b6
Remove unused virtual 6 years ago
Marc Zinnschlag 60241431ab Merged pull request #1965 6 years ago
Marc Zinnschlag b30e309532 Merged pull request #1967 6 years ago
Marc Zinnschlag 26f867d7c5 Merged pull request #1968 6 years ago
rhtucker 292f4fcafe Unified settings list and cfg file names. Added brief tutorial. 6 years ago
Andrei Kortunov dad0b78901 Avoid overflow when handling output characters (bug #4676) 6 years ago
jvoisin ca8744af56 Fix crash in the ESM reader, when SCVR has no variable names
Fixes bug [#4678](https://gitlab.com/OpenMW/openmw/issues/4678)
The `loadSCVR` method assumes that the list of variable
names won't be empty, which it might.
Instead of crashing, we show a warning and ignore the record.
6 years ago
Bret Curtis 602a314669
Merge pull request #1964 from akortunov/readfix
Fix crash in the ESM reader, when list is empty
6 years ago
Andrei Kortunov f9271fd7f0 Fix crash in the ESM reader, when list is empty (bug #4677) 6 years ago
AnyOldName3 0124be5713 Merge upstream/master 6 years ago
Capostrophic 47b1b0ac39 Re-fix water reflections while making a no-GUI screenshot 6 years ago
Bret Curtis c45ec9171b
Merge pull request #1963 from Capostrophic/journal
Disallow to open the journal while settings window is open (bug #4674)
6 years ago
Capostrophic 4ec727c50b Disallow to open the journal while settings window is open (bug #4674) 6 years ago
Marc Zinnschlag 2d87d1d9d2 Merged pull request #1959 6 years ago
Marc Zinnschlag d466785aa7 Merged pull request #1958 6 years ago
Marc Zinnschlag 38a3632be7 Merged pull request #1960 6 years ago
Bret Curtis e2dbb115f0
Merge pull request #1961 from akortunov/crossbowfix
Improve pitch factor handling for crossbow animations
6 years ago
Andrei Kortunov 5617bb3f0c Improve pitch factor handling for crossbow animations (bug #4672) 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
Capostrophic 09aecb955c getSkill usage cleanup (bug #4671) 6 years ago
Capostrophic cae2e84ab4 Trace the player down after enabling collision with TCL (bug #4669) 6 years ago
Bret Curtis 6540ef68a7
Merge pull request #1957 from Capostrophic/appveyor
Fix AppVeyor build
6 years ago
Bret Curtis 5b4a8237fb
Merge pull request #1956 from Capostrophic/lightcolor
Editor: display light source color as a color (bug #4668)
6 years ago
Capostrophic e627f49df4 Fix AppVeyor build 6 years ago
Capostrophic 768c532b8f Editor: display light source color as a color (bug #4668) 6 years ago
Marc Zinnschlag 71f80db886 Merged pull request #1954 6 years ago
cc9cii 6d38b5ae48
Merge pull request #17 from cc9cii/TES4-ESM
TES4 ESM
6 years ago
cc9cii c68ea9159e README update. 6 years ago
cc9cii 1b0bac040a OpenCS Integration.
Read the ESM/ESP records but do nothing with them for the moment.
6 years ago
cc9cii 6ec6b9bc2a OpenMW Integration.
Read the ESM/ESP records but do nothing with them for the moment.
6 years ago
cc9cii 5ad440cb45 TES4/TES5 ESM/ESP file reader.
To support the possibility of a standalone implementation of TES4, the ESM/ESP code is placed in the 'extern' folder.

Much more work needs to be done.
6 years ago
Bret Curtis 585313a71f
Merge pull request #1953 from Capostrophic/animation
Fix first person swimming animations
6 years ago
cc9cii 15d5cdf3cf Allow TES4 ESM/ESP to co-exist with TES3 ESM/ESP.
This change aims to allow TES4/TE5 content to OpenMW.  i.e. a standalone TES4 would be implemented quite differently.  That said, the key changes are:

* Use pointers rather than references for ESM readers so that they can be switched to another variant on the fly.
* Content file dependencies to be checked within each group (only 3 groups for now, TES3/TES4/TES5)
6 years ago
cc9cii 1b56074b53
Merge pull request #16 from cc9cii/TES4-BSA
TES4 BSA
6 years ago
cc9cii 5b65b2171a README update. 6 years ago
cc9cii 3982573035 BSA enhancements.
* Implement hash based lookup for TES3 BSA files.
* Added TES4/TES5 BSA support.
* Implemented a hack (non-portable code) in an attempt to reduce startup time under Windows because  Boost::filesystem seems to take forever on GetFileAttributeW.  This implementation uses FindFirstFile/FindNextFile/FindClose instead.
6 years ago
Capostrophic 03788edd63 Fix redundant drag call in instance dragging (bug #4593) 6 years ago
Capostrophic 34e45efac3 Fix first person swimming animations 6 years ago
cc9cii 4cd4cf8479 Resolved conflicts and build fixes. 6 years ago
scrawl f456174af8 Rename to lowerCaseInPlace
(cherry picked from commit 07b064f616)

# Conflicts:
#	apps/opencs/model/world/commanddispatcher.cpp
#	apps/opencs/model/world/regionmap.cpp
#	apps/opencs/model/world/scriptcontext.cpp
#	apps/openmw/mwrender/animation.cpp
#	apps/openmw/mwscript/statsextensions.cpp
#	apps/openmw/mwworld/store.cpp
#	components/misc/stringops.hpp
6 years ago
scrawl 98ea184dda 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.

(cherry picked from commit 4687c4baad)

# Conflicts:
#	apps/openmw/mwworld/store.cpp
#	apps/openmw/mwworld/store.hpp
6 years ago
scrawl b4cdb965dc Move rng to components
(cherry picked from commit 8c810e3620)

# Conflicts:
#	apps/openmw/engine.cpp
#	apps/openmw/mwclass/npc.cpp
#	components/misc/rng.cpp
#	components/sceneutil/lightcontroller.cpp
#	libs/openengine/CMakeLists.txt
6 years ago
dteviot 4b0aeb4066 consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.

(cherry picked from commit 3f28634d1f)

# Conflicts:
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/pickpocketitemmodel.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	components/CMakeLists.txt
#	libs/openengine/misc/rng.cpp
6 years ago
Marc Zinnschlag 503352e840 Merged pull request #1951 6 years ago
Marc Zinnschlag b410d87aae Merged pull request #1952 6 years ago
Andrei Kortunov 07ccc5abdb Remove non-looping effects after rest 6 years ago
Andrei Kortunov 3896a2eba6 Do not use a PartHolder for spell effect node 6 years ago
Andrei Kortunov 632045e145 Improve the 'part has no parents' warning 6 years ago
Andrei Kortunov 4dc424036f Cleanup magic effects, when create a new ActorAnimation 6 years ago
Capostrophic 674e33170b Fix quick key system regressions (bug #4662) 6 years ago
Bret Curtis c19905d0a8
Merge pull request #1949 from akortunov/revert
Revert fix for skinning transformations
6 years ago
Andrei Kortunov 87394f2ebb Revert "Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437)"
This reverts commit 09427d3f5e since the
fix is not entirely correct.
6 years ago
Marc Zinnschlag 38758a9555 Merged pull request #1944 6 years ago
Marc Zinnschlag 6a9618f0f5 Merged pull request #1948 6 years ago
Marc Zinnschlag c702672eb3 Merged pull request #1947 6 years ago
Capostrophic f20f49daa6 Content selector: allow to copy paths to clipboard (feature #2847) 6 years ago
elsid 2073218fc6
Use specific googletest version 6 years ago
Andrei Kortunov 43c7438e8e Move WeakCache to components/misc 6 years ago
Marc Zinnschlag 33044add97 Merged pull request #1938 6 years ago
Marc Zinnschlag 3dc15d39e3 Merged pull request #1936 6 years ago
Capostrophic 2e98cad895 Fade out sun glare and specularity completely at night start, not sunset start 6 years ago
Andrei Kortunov 35abf7367c Implement wearing priority for editor 6 years ago
Andrei Kortunov ac848b0902 Use male bodyparts as fallback for females in the editor 6 years ago
Kyle Cooley 7eb1b14b21 Periodically prune empty elements in weak cache 6 years ago
Kyle Cooley 0096951f25 cleanup 6 years ago
Kyle Cooley 676fc48855 Re-add logic for empty model 6 years ago
Kyle Cooley f43b70d77b Centralize actor data, simplify logic 6 years ago
Kyle Cooley c1ec926f43 Workaround inconsistencies with record status changes 6 years ago
Kyle Cooley 1518d630ca Fix issue with body part events not propogating to actors 6 years ago
Kyle Cooley 031502b2ab Reorganize ActorAdapter data, use weak cache for sharing 6 years ago
Kyle Cooley 2a9ebac572 Simplify update logic, update when race parts are changed. 6 years ago
Kyle Cooley 1276e0fa9b Handle changes to race record when rendering actors 6 years ago
Kyle Cooley b2115b60e6 Fix qt4 build 6 years ago
Kyle Cooley 6bece13a32 Use new Log class for error message 6 years ago
Kyle Cooley 97ac0a92dd Move data handling out of rendering code, equip armor/clothes 6 years ago
Kyle Cooley 6b42f37918 Handle creatures too 6 years ago
Kyle Cooley e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 6 years ago
Kyle Cooley 8444ee9981 Start rendering npc's 6 years ago
Marc Zinnschlag 5fa9b32e76 Merged pull request #1937 6 years ago
Marc Zinnschlag 43880ca47b Merged pull request #1919 6 years ago
Marc Zinnschlag 8b30f15df7 Merged pull request #1942 6 years ago
Marc Zinnschlag c566514c9d Merged pull request #1940 6 years ago
Marc Zinnschlag 784b046746 Merged pull request #1943 6 years ago
Andrei Kortunov ee4ca87352 Traverse child nodes of cell node in the editor (bug #4654) 6 years ago
Capostrophic ba2fd8b795 Rename reflected absorb spells setting and add it to Advanced tab 6 years ago
Andrei Kortunov 8af021d729 Restore dynamic stats for actors in inactive cells (bug #1875) 6 years ago
Andrei Kortunov 0176ee389e Handle length of UTF-8 strings properly in plugin metadata (bug #4653) 6 years ago
Andrei Kortunov bce8de5fe9 Respect selected encoding in the content selector (bug #4467) 6 years ago
Capostrophic d2cad229f8 Ugly hack: don't reset player idle and movement animations in first person view 6 years ago
Marc Zinnschlag 0e06a25f21 Merged pull request #1935 6 years ago
Capostrophic 77fb4d6dd2 Make sure the idle animations are reset while jumping 6 years ago
Capostrophic 56ef11b023 Reset sneak and swim idle animations when moving 6 years ago
Capostrophic 713330351b Experimental animation regression fixes
Don't unnecessarily start movement and jump animations from loop start
Don't play movement animation until jumping animation finishes
6 years ago
Sergey Fukanchik 657d95a0be Paperwork for the pull request #1935 6 years ago
Sergey Fukanchik b2a52a5b6c Change 'after function'-style doxygen comment to normal. 6 years ago
Marc Zinnschlag 6ce6108eb4 Merged pull request #1932 6 years ago
Marc Zinnschlag 84a2752db9 Merged pull request #1933 6 years ago
Marc Zinnschlag 34b0344166 Merged pull request #1934 6 years ago
Bret Curtis 621ef69f58
Merge pull request #1939 from Capostrophic/optional
Discard count arguments for AddSoulGem and RemoveSpell (bug #3762)
6 years ago
Capostrophic 92259c6cca Discard count arguments for AddSoulGem and RemoveSpell (bug #3762) 6 years ago
Sergey Fukanchik f00f35ba86 Add const to canRest() 6 years ago
Sergey Fukanchik f2e11e6def Fix MSVC C4596 illegal qualified name 6 years ago
Capostrophic 52da65b776 Fix issues with sun specularity (bug #4527) 6 years ago
Sergey Fukanchik 44bcd9b25f Fix tab characters 6 years ago
Sergey Fukanchik c50ee22772 Wrap up World::canRest() implementation by moving enemiesNearby() from InputManager::rest() to World::canRest(). 6 years ago
Andrei Kortunov cd60d4fdf0 Store character controller in the variable make code less bulk 6 years ago
Andrei Kortunov 2ac2d01432 Optimize drowning state update 6 years ago
Andrei Kortunov 90d35aaa8f Handle current health level during levelup (bug #4649) 6 years ago
Andrei Kortunov b3fd173e00 Check if current weapon has health at all in HUD (bug #4648) 6 years ago
Andrei Kortunov 1634284739 Cache player's position outside of loops 6 years ago
Andrei Kortunov b9346798c6 Optimize combat music update 6 years ago
Andrei Kortunov fb484c6fde Optimize AI loop a bit 6 years ago
Marc Zinnschlag 7be9f2ca45 Merged pull request #1891 6 years ago
Andrei Kortunov 01b3f92f7e Make coc and fixme console commands close to vanilla (bug #4292, bug #4217) 6 years ago
Andrei Kortunov bdd9eba2b8 Use C++ limits instead of C ones 6 years ago
Andrei Kortunov 276b7830a9 Mass potion creation (feature #4642) 6 years ago
Marc Zinnschlag 3761aaadfd Merged pull request #1928 6 years ago
Marc Zinnschlag 82d37dda20 Merged pull request #1927 6 years ago
Marc Zinnschlag 29bc5cbecf Merged pull request #1925 6 years ago
Andrei Kortunov 6f4f6a155f Combat AI: take ranged weapon speed in account 6 years ago
Andrei Kortunov 62f6f174cf Show attack speed of ranged weapons 6 years ago
Andrei Kortunov 989de05f80 Do not show duration for infinite light sources as -1 6 years ago
Andrei Kortunov 6d0e6ab012 Use book font by default in the text formatter 6 years ago
Andrei Kortunov dda02bd696 Do not use book fonts for dialogue window 6 years ago
Andrei Kortunov 70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 6 years ago
Bret Curtis 07be9ae8ac
Merge pull request #1926 from akortunov/warnfix
Fix MSVC warning about possibly uninitialized movestate variable
6 years ago
Andrei Kortunov 9c8fc0557a Fix MSVC warning about possibly uninitialized movestate variable 6 years ago
Marc Zinnschlag 06b2a23e74 Merged pull request #1768 6 years ago
Marc Zinnschlag d76367918a Merged pull request #1907 6 years ago
Marc Zinnschlag c6b62308cd Merged pull request #1921 6 years ago
Marc Zinnschlag 29f6ee30a6 Merged pull request #1922 6 years ago
Marc Zinnschlag 107165d36d Merged pull request #1923 6 years ago
Marc Zinnschlag deb779af35 Merged pull request #1924 6 years ago
Andrei Kortunov 2961f0d810 Allow to use the %Name for creatures (bug #4644) 6 years ago
Capostrophic 2f054cc7a8 Update changelog 6 years ago
Capostrophic 95aa05e41b Tweaks to script parser messages and pathgrid warnings 6 years ago
Andrei Kortunov 09427d3f5e Take in account transformations of NiTriShape and NiSkinData in skinning (bug #4437) 6 years ago
Andrei Kortunov ae1c054635 Make GetPCJumping return true only when jumping (bug #4641) 6 years ago
Capostrophic 5909297809 Make underwater SFX always apply based on camera position (bug #4532) 6 years ago
Bret Curtis 29ea72ed6c
Merge pull request #1920 from Capostrophic/notation
Actually fix General (%g) number formatting (bug #4463)
6 years ago
Capostrophic 5a86554f97 Cleanup 6 years ago
Capostrophic c025427575 Implement enchantment record effect list verification (feature #1617) 6 years ago
Capostrophic d6560d3f20 Make several messages more strict and clean up topic info verifier 6 years ago
Capostrophic 5d1c1f25f7 Remove now redundant NPC fields checks 6 years ago
Capostrophic 015cd6064f Implement basic enchantment record verifier (feature #1617) 6 years ago
Capostrophic dabdb0bfaf Get rid of deprecated Messages::push_back() 6 years ago
Capostrophic 47b9008743 Renovate reference record verifier 6 years ago
Capostrophic 0bdb7ea92f Cleanup 6 years ago
Capostrophic 34ffaa2fe2 Make finishing touches to object record verifiers 6 years ago
Capostrophic d1b2fc11ef Use messages::add in object record verifiers
Add NPC head and hair body part existence checks and expand creature record verifier, update playable class checks in class record verifier
6 years ago
Capostrophic 85dc1e4ef2 Revert unnecessary universalid changes in Journal record verifier 6 years ago
Capostrophic e1ae7a9b0e Avoid duplicate duplicate pathgrid point warnings 6 years ago
Capostrophic 1e5330d9da Use Messages::add in skill record verifier 6 years ago
Capostrophic 35281d7c38 Use Messages::add in race, soundgen, spell and start script record verifiers 6 years ago
Capostrophic b2b9bd94f0 Fix bolt object type 6 years ago
Capostrophic 8dcb58d745 Use Messages::add in Faction, Sound, Bodypart and Class record verifiers 6 years ago
Capostrophic d433929194 Use Messages::add in birthsign record verifier 6 years ago
Capostrophic 6b226eef8f Use Messages::add in magic effect record verifier 6 years ago
Capostrophic 5b8880c6fa Update cell reference record verifier messages 6 years ago
Capostrophic dc847dce09 Add item icon checks to object record verifier 6 years ago
Capostrophic 34077a6987 Purge unnecessary namespaces 6 years ago
Capostrophic d90940011f Add model checks to object record verifier 6 years ago
Capostrophic 38ea7928f5 Add sound file checks to sound record verifier 6 years ago
Capostrophic 1f717def35 Update journal, start script and spell verifiers messages 6 years ago
Capostrophic a6d3cd9190 Update topic info verifier messages 6 years ago
Capostrophic 14ef145b3b Update region and pathgrid record verifier messages 6 years ago
Capostrophic a9ce155a7b Update faction and body part record verifier messages 6 years ago
Capostrophic 7535daa94d Update class and race record verifier messages 6 years ago
Capostrophic fd1a3ad88d Update object and script record verifier messages 6 years ago
Capostrophic cf7a8c5775 Update soundgen record verifier messages 6 years ago
Capostrophic 5249492a31 Update skill record verifier messages 6 years ago
Capostrophic 51fdb94e34 Add texture check to birthsign verifier 6 years ago
Capostrophic d3aa5840ec Refactor magic effect record verifying 6 years ago
Capostrophic 363516049d Actually fix General number formatting 6 years ago
Bret Curtis 6035636e29
Merge pull request #1915 from akortunov/enterfix
Disable repeating for Accept GUI action
6 years ago
Marc Zinnschlag a0f7282966 Merged pull request #1820 6 years ago
Marc Zinnschlag ea053d9f47 Merged pull request #1881 6 years ago
Andrei Kortunov 6066f02010 Do not use universal IDs for menu items 6 years ago
Marc Zinnschlag 252ed9bd4b Merged pull request #1914 6 years ago
Andrei Kortunov 275d10e1f7 Add missing icons for UniversalId tables and use them in the editor menu (feature #912) 6 years ago
Capostrophic 664c630ac0 Don't make sTo strings static references 6 years ago
Andrei Kortunov e300a16b24 Use field for columns count instead of out integer 6 years ago
Andrei Kortunov 7a986f38da Support for user-defined TrueType fonts 6 years ago
Andrei Kortunov c9c0230d2a Scale journal fonts separately from common ones 6 years ago
Andrei Kortunov f89393fd62 Validate 'ttf resolution' option value 6 years ago
Andrei Kortunov 8da099713e Minor layout fixes to fit different font size 6 years ago
Andrei Kortunov adbaeb7cca Improve GUI scaling (bug #3288) 6 years ago
Marc Zinnschlag 6100e34051 Merged pull request #1912 6 years ago
Marc Zinnschlag 2ba15c86f8 Merged pull request #1913 6 years ago
Marc Zinnschlag 3fd40e4a4e Merged pull request #1916 6 years ago
Marc Zinnschlag 50775dd411 Merged pull request #1917 6 years ago
Andrei Kortunov 0136f0552b Do not update mIdleState directly 6 years ago
Andrei Kortunov 929d78d6a3 Randomize attacks for non-bipedal creatures with Weapon flag 6 years ago
Andrei Kortunov 0440c11ccd Fix swim crossbow animations 6 years ago
Bret Curtis 6bb8d8a728
Merge pull request #1918 from akortunov/formattingfix
Fix integer result formatting of scripting functions
6 years ago
Andrei Kortunov f0919f51e9 Fix integer result formatting of scripting functions 6 years ago
Andrei Kortunov 9918212a1e Set focus to Close button when opening the container window (bug #4333) 6 years ago
Andrei Kortunov c2c24a76a4 Handle MyGUI exceptions inside destructors 6 years ago
Andrei Kortunov aca6625af4 Avoid possible memory leak by using the unique_ptr 6 years ago
Andrei Kortunov a262e4b342 Print warning, if can not close or remove temporary file 6 years ago
Andrei Kortunov d5bcc49079 Initialize missing struct fields 6 years ago
Andrei Kortunov e5a81b1f99 Fix some issues, found by Coverity Scan 6 years ago
Andrei Kortunov dcc1a122f7 Use drag and drop for ActionTake when InventoryWindow is active (bug #4543) 6 years ago
Andrei Kortunov 269ef7a559 Disable repeating for ENTER key in GUI 6 years ago
Andrei Kortunov 33a66b778f Disable repeating for Accept action in keyboard navigation (bug #4260) 6 years ago
Capostrophic 702868255a Use sTo GMST in spellmaking menu (feature #4636) 6 years ago
Bret Curtis 947f20ddb9
Merge pull request #1911 from Assumeru/spellmaking
Implements vanilla's off-by-one error, fixing #4611
6 years ago
Capostrophic 6ab42919cf Make sure the actor is actually crouching/running before tweaking movement speed 6 years ago
Evil Eye d39c4729d2 add changelog entry 6 years ago
Marc Zinnschlag 1900cf822b Merge branch 'master' into coverity_scan 6 years ago
Evil Eye 6705e5aae4 forget about the setting till #2887 is implemented at least 6 years ago
Evil Eye bbcdfd4078 Implements vanilla's off-by-one error, fixing #4611 6 years ago
Bret Curtis 778dfa0350
Merge pull request #1910 from Capostrophic/aigmst
Utilize all AI GMSTs for priority rating (feature #4632)
6 years ago
Capostrophic 9408876b58 Utilize AI GMSTs for priority rating (feature #4632)
Fix on-target effect rating calculation
6 years ago
Bret Curtis 387b3e9e87
Merge pull request #1909 from akortunov/warnfix
Fix all MSVC warnings left
6 years ago
Andrei Kortunov 6529883527 Fix MSVC warning C4389 6 years ago
Bret Curtis 86809af2cd
Merge pull request #1908 from akortunov/warnfix
Fix some warnings
6 years ago
Andrei Kortunov 5693ceca74 Remove redundant declaration 6 years ago
Marc Zinnschlag 7e419dc34e Merged pull request #1904 6 years ago
Andrei Kortunov d3defd83fc Disable C4643 MSVC warning, caused by boost 6 years ago
Andrei Kortunov aed7c1b2bb Fix a couple of Clang warnings 6 years ago
Bret Curtis cf5c5b146d
Merge pull request #1906 from Capostrophic/loadnpc
Make several NPC fields have unsigned char type (bug #4628)
6 years ago
Capostrophic 65ff346b61 Make NPC record reputation, disposition and faction rank have unsigned char type 6 years ago
Bret Curtis 322d6ab328
Merge pull request #1905 from akortunov/flipcrash
Fix division by zero in the FlipController
6 years ago
Andrei Kortunov 7e2bda459b Check if there are textures in FlipController to avoid division by zero (bug #4614) 6 years ago
Capostrophic d758b573e2 Fix erroneous assumption that ranged weaponry has speed
Restrict speed mult to melee weaponry
6 years ago
Capostrophic ceb6121b33 Better checks for enemy incapacitation 6 years ago
Capostrophic 2965373ed6 Avoid potential zero division 6 years ago
Capostrophic 58bd35c70d Update changelog 6 years ago
Capostrophic e66be02e2e Account for enemy armor rating in weapon rating 6 years ago
Capostrophic fa3e45fa7d Slight cleanup 6 years ago
Capostrophic 533b72eff6 Cache weapon type strings 6 years ago
Capostrophic 00c847db19 Make AI Blind, Sound and Silence effect rating more logical 6 years ago
Capostrophic 374e98d665 Make rateWeapon more sensible and account for weapon speed 6 years ago
Marc Zinnschlag 78a84042ad Merged pull request #1901 6 years ago
Marc Zinnschlag 3b01355f27 Merged pull request #1895 6 years ago
Marc Zinnschlag f2981a81c9 Merged pull request #1900 6 years ago
Marc Zinnschlag ef72024e2c Merged pull request #1902 6 years ago
Marc Zinnschlag a980a4555a Merged pull request #1903 6 years ago
Capostrophic b673cdf70e Grant Enchant experience even if recharging fails (bug #4622) 6 years ago
Capostrophic 7ef6fa9f61 Remove deprecated GMST get* functions 6 years ago
Andrei Kortunov 5d54214acb Optimize combat action iteration 6 years ago
Andrei Kortunov 2cac8b59b1 Use square distance to target 6 years ago
Andrei Kortunov 4c0ef4ddb6 Do not initialize magic schools map every time we access it 6 years ago
Andrei Kortunov b0ac0b0b22 Do not initialize map every call 6 years ago
Capostrophic 23834b5ed8 Don't apply falling damage twice (bug #4608) 6 years ago
Capostrophic b8ba9092cb Purge effects from all permanent spells with the same ID 6 years ago
Capostrophic ed1f8f7be7 Remove effects from all active spells with the same ID 6 years ago
Capostrophic 6c47f95677 Make RemoveSpellEffects affect permanent spells (bug #3920)
Also make it remove the effects but not the spells themselves
6 years ago
Marc Zinnschlag c280a71b33 Merged pull request #1897 6 years ago
Marc Zinnschlag 57922a272c Merged pull request #1899 6 years ago
Marc Zinnschlag 6fc6fef72e Merged pull request #1892 6 years ago
Marc Zinnschlag f05e494f6f Merged pull request #1894 6 years ago
Marc Zinnschlag 21d414187f Merged pull request #1896 6 years ago
Marc Zinnschlag 24ce8cce72 Merged pull request #1898 6 years ago
Marc Zinnschlag e4e18d6642 Merged pull request #1869 6 years ago
Capostrophic 7f459f0610 Knockdown and godmode fixes
Make sure an incapacitated player is not able to jump
Cleanup of redundant player and godmode checks in creature class
Make sure the player is not knocked down while in godmode
6 years ago
Capostrophic 079b60c1ea Don't allow actors to use sneaking while flying (bug #4618) 6 years ago
Andrei Kortunov 0ddd0e4edc Fix light flicker amplitude calculation 6 years ago
Andrei Kortunov c677f7ca27 Rework pulsing light sources (bug #4615) 6 years ago
Capostrophic 2564fcc37e Apply sneaking offset to camera while the character is in air (bug #4617) 6 years ago
Marc Zinnschlag 232ea4f793 Merged pull request #1887 6 years ago
Marc Zinnschlag 76013c4178 Merged pull request #1890 6 years ago
Andrei Kortunov 8fa6c6f726 Update pinned windows in-game (bug #4560) 6 years ago
Andrei Kortunov d448b802ef Add a small threshold for player turning animations 6 years ago
Andrei Kortunov 60698e6f8a Optimize new magic effects update system 6 years ago
Sophie Kirschner a1e076a37e Merge branch 'master' into pineapple/fix-video-incomplete-type-2
Resolve merge issues related to CHANGELOG.md

* master:
  Optimize skinning (task #4605)
  Update changelog
  Update some comments
  Set the OpenAL source offset after setting the buffer
  Make Move and MoveWorld console commands move actors standing on moving object (bug #2274)
  Adding Changelog entry
  Allow messageboxes arguments to have newline characters (bug #3836)
  Check for impact immediately when launch a projectile (bug #3059)
  Fix gold count calculation in pickupObject (bug #4604)
  Correct special case soundgen comparisons
  Move "land" check earlier
  Fixes #3681
  Play landing sound manually and ignore land soundgen textkeys (bug #2256)
  Make some more optimizations to actor processing loops
  Fix freeze in getActorsSidingWith
  Addiong missing "to" word
  Adding common problems that were previous on the site FAQ
  Treat <> and << operators as < and  >< and >> as > in scripts
  stage1: priorities for event music and other minor improvements to the music system

# Conflicts:
#	CHANGELOG.md
6 years ago
Sophie Kirschner 9e253f6a46 Add issue #4613 to changelog 6 years ago
Sophie Kirschner dc68b2ff26 Add Sophie Kirschner (me) to AUTHORS.md 6 years ago
Sophie Kirschner c412f99963 Remove commented lines in UnrefWorkItem::doWork 6 years ago
Marc Zinnschlag 327f36b081 Merged pull request #1876 6 years ago
Marc Zinnschlag fe38b806e7 Merged pull request #1882 6 years ago
Marc Zinnschlag c1f38afca0 Merged pull request #1886 6 years ago
Andrei Kortunov ff241fb787 Optimize skinning (task #4605) 6 years ago
Andrei Kortunov c6dcfd1fce Do not apply scale twice for animated collision nodes (bug #4607) 6 years ago
Sophie Kirschner dd01c4d224 Fix: 'sizeof' to an incomplete type 'Video::VideoPlayer'
Alternate solution to same problem reported in https://github.com/OpenMW/openmw/pull/1888
6 years ago
Chris Robinson 77bdd0ea66 Update changelog 6 years ago
Chris Robinson c2b3ca9638 Update some comments
It wasn't actually a bug in OSX like the comment said, but intended behavior.
6 years ago
Chris Robinson 4e3ae85c11 Set the OpenAL source offset after setting the buffer
This is to work around a bug in the Rapture3D driver.
6 years ago
Marc Zinnschlag c2c595407c Merged pull request #1883 6 years ago
Marc Zinnschlag f25a9a6fb3 Merged pull request #1885 6 years ago
Marc Zinnschlag e203159d70 Merged pull request #1889 6 years ago
Marc Zinnschlag 9816643bef Merged merge request !39 6 years ago
Andrei Kortunov de08c1cb1b Make Move and MoveWorld console commands move actors standing on moving object (bug #2274) 6 years ago
Thunderforge 67055b18c4 Adding Changelog entry 6 years ago
Sophie Kirschner 4dd9386c4f Fix error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
Fixes compile error encountered on OSX 10.9 with g++

sophie:build pineapple$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

The compilation error:

[ 24%] Building CXX object apps/openmw/CMakeFiles/openmw.dir/mwrender/renderingmanager.cpp.o
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.cpp:1:
In file included from /Users/pineapple/git/openmw/apps/openmw/mwrender/renderingmanager.hpp:4:
/Users/pineapple/git/openmw/openmw-deps/include/osg/ref_ptr:35:36: error: member access into incomplete type 'SceneUtil::UnrefWorkItem'
        ~ref_ptr() { if (_ptr) _ptr->unref();  _ptr = 0; }
                                   ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:14:11: note: in instantiation of member function
      'osg::ref_ptr<SceneUtil::UnrefWorkItem>::~ref_ptr' requested here
    class UnrefQueue : public osg::Referenced
          ^
/Users/pineapple/git/openmw/./components/sceneutil/unrefqueue.hpp:10:11: note: forward declaration of 'SceneUtil::UnrefWorkItem'
    class UnrefWorkItem;
6 years ago
Andrei Kortunov a560a9e00d Allow messageboxes arguments to have newline characters (bug #3836) 6 years ago
Andrei Kortunov 3d4f5536d2 Check for impact immediately when launch a projectile (bug #3059) 6 years ago
AnyOldName3 db707a31ec Add clipping planes when allow shadow map overlap is enabled 6 years ago
Bret Curtis 78d9787212
Merge pull request #1880 from Capostrophic/landing
Play landing sound manually and ignore land soundgen textkeys (bug #2256)
6 years ago
Capostrophic 3f76f1d3ed Fix gold count calculation in pickupObject (bug #4604) 6 years ago
Capostrophic f74ebb64af Correct special case soundgen comparisons 6 years ago
Capostrophic ae0a6a22b3 Move "land" check earlier 6 years ago
Marc Zinnschlag a7242d9e7a Merged pull request #1879 6 years ago
Marc Zinnschlag 344eae269b Merged pull request #1877 6 years ago
Marc Zinnschlag 918ecfdebc Merged merge request !29 6 years ago
Marc Zinnschlag 6cf34abb9e Merged merge request !38 6 years ago
Thunderforge 5a2e9868c1 Fixes #3681
This changes the way that the popup works to use [`QtColorDialog::getColor()`](http://doc.qt.io/archives/qt-4.8/qcolordialog.html#getColor) instead of the problematic open() function. Also makes the button change to create the modal dialog when pushed, rather than being a checkbox of sorts
6 years ago
Capostrophic 2b45fd84ea Play landing sound manually and ignore land soundgen textkeys (bug #2256) 6 years ago
Capostrophic 910065f38f Make some more optimizations to actor processing loops 6 years ago
Capostrophic b77d733c3e Fix freeze in getActorsSidingWith 6 years ago
AnyOldName3 25e92481f4 Merge remote-tracking branch 'refs/remotes/upstream/master' 6 years ago
AnyOldName3 15e820825f Fix another convex hull clipping issue and restore z-clipping 6 years ago
Thunderforge 9b10fe0edb Addiong missing "to" word 6 years ago
Bret Curtis b748bb11ae
Merge pull request #1878 from Capostrophic/hitchance
Use the correct skill for creature AI weapon hit chance rating
6 years ago
Capostrophic 74229490e4 Use the correct skill for creature AI weapon hit chance rating 6 years ago
Thunderforge e1afa1c2c3 Adding common problems that were previous on the site FAQ
The [OpenMW FAQ](https://openmw.org/faq/) currently has two problems on it: a black screen and pink textures due to ST3C issues. Given that these are less common now, and that we have a dedicated space for "common problems" anyway, I figure that we should just move this to these questions to there.
6 years ago
Capostrophic a06c9c767d Treat <> and << operators as < and >< and >> as > in scripts
(bug #4597)
6 years ago
Bret Curtis 7f3769d5fc
Merge pull request #1874 from akortunov/combat_anims
Fix some issues with attack animations
6 years ago
Bret Curtis 3c827da702
Merge branch 'master' into combat_anims 6 years ago
Bret Curtis 3b2781bf89
Merge pull request #1720 from akortunov/playvfx
Rework spell VFX management
6 years ago
Marc Zinnschlag dc9aedca7d Merged merge request !33 6 years ago
Marc Zinnschlag 91be35124c Merged merge request !35 6 years ago
Marc Zinnschlag 20c53594de Merged merge request !36 6 years ago
Marc Zinnschlag 9475df7880 Merged merge request !37 6 years ago
AnyOldName3 3ce96997d1 Remove sneaky tabs. 6 years ago
James Carty 4489838ea3 Fix incorrect function call 6 years ago
James Carty 513e99148e Fix function with no return value 6 years ago
AnyOldName3 80082308f0 Merge upstream (shadermanager log system revamp) 6 years ago
AnyOldName3 dd501f4132 Make ConvexHull::clip more resilient against large values. 6 years ago
James Carty 99b465eede Update authors 6 years ago
James Carty 331016c782 Update Authors 6 years ago
Diego Crespo 76932ebfc5 Updated AUTHORS.md 6 years ago
Andrei Kortunov d7ca087f59 AiCast: fix aiming 6 years ago
Andrei Kortunov 31f8bea1dd Rework spell effects management 6 years ago
Andrei Kortunov 8516aee6e0 Implement getHalfExtents() for non-actor objects 6 years ago
David Walley a492978fe6 Update AUTHORS.md - add Loriel (Documentation) 6 years ago
Marc Zinnschlag 088463ebe6 Merged pull request #1868 6 years ago
Marc Zinnschlag ebdb991225 Merged pull request #1875 6 years ago
Marc Zinnschlag 3489951410 Merged pull request #1866 6 years ago
Capostrophic ce78a34010
Use container ID in Equip command warning 6 years ago
Capostrophic 372697489b Fix Equip command infinite loop (bug #3072) 6 years ago
AnyOldName3 987306feb9 Fix ConvexHull::extendTowardsNegativeZ 6 years ago
James Carty 43f1c9163c Fix issue in which murder wouldn't be reported after paying fine 6 years ago
Andrei Kortunov 16edac8c47 Fix incorrect 'preparing' word spelling 6 years ago
Andrei Kortunov a73d42e711 Do not stop idle animation in spellcasting stance 6 years ago
Andrei Kortunov b7a448cf42 Update idle animations after reset of mIdleState (bug #4531) 6 years ago
Andrei Kortunov 66a8402cdf Add missing changelog entries 6 years ago
Andrei Kortunov 3a6c480d41 Do not reset idle animations when turning 6 years ago
Andrei Kortunov 15fa47827b AiCombat: Avoid jittering when aiming in melee 6 years ago
Andrei Kortunov e444b9581c Do not play min attack -> max attack animation when attack strength is 0 (bug #4591) 6 years ago
Andrei Kortunov 8a48258b1b Fix attack after shoot 6 years ago
Bret Curtis dcd381049c
Merge pull request #1872 from akortunov/extended_logging
Use new logging system
6 years ago
James Carty 4b0a6074e7 Add comment 6 years ago
James Carty 6889432030 Move code to seperate functions for reusability 6 years ago
Bret Curtis fa1f3ec51b
Merge pull request #1873 from Capostrophic/advanced
Remove an outdated checkbox from the advanced page of the launcher
6 years ago
Capostrophic 37f9d45182 Remove an outdated checkbox from the advanced page 6 years ago
Bret Curtis 758d9ca122 Merge branch 'desynced' into 'master'
Desynced

See merge request OpenMW/openmw!34
6 years ago
Diego Crespo 5d392d3ef5 fixed some spelling mistakes in .rst files 6 years ago
Bret Curtis 4cb9b52b81 fix rebase issue 6 years ago
AnyOldName3 1098bd2467 Optimise lighting.glsl for Mesa users. 6 years ago
Andrei Kortunov 5a4d0cec3a Use new logging system for game itself 6 years ago
Marc Zinnschlag ffb103f7c5 updated credits file 6 years ago
Yohaulticetl 4ff6f64ecd Added entry to the changelog. 6 years ago
Yohaulticetl 640b32da56 Fixed merge conflicts 6 years ago
Yohaulticetl d6f607e823 Fixed wrong starting index 6 years ago
Yohaulticetl 7e9ce99062 Made the werewolf check optional 6 years ago
Yohaulticetl 18e51e0e98 Added check for werewolves 6 years ago
Yohaulticetl d19cbdb652 Factored strength into hand-to-hand combat 6 years ago
Andrei Kortunov c7a5548475 Use new logging system for editor 6 years ago
Andrei Kortunov 1452684d9e Use new logging system for components 6 years ago
Capostrophic 52f70642d0
Update changelog 6 years ago
Capostrophic 22162dcbda
Replace std::find with std::set::find where applicable 6 years ago
Capostrophic 53599290c3 Make search for followers in getEnemiesNearby recursive 6 years ago
Capostrophic 75bd6e1d28 Make search for allies in actorAttacked recursive 6 years ago
Capostrophic 7029ed0e8d Refactor follower and enemy actor processing
Make another exception for wander packages when finding allies (bug #4304)
6 years ago
Bret Curtis c0e50b2c02
Merge pull request #1865 from elsid/material_race_condition
Fix race condition (bug #4584)
6 years ago
Bret Curtis d25147a930
Merge pull request #1863 from Capostrophic/aiming
Use the correct spell projectile speed GMST in AI aiming (bug #3948)
6 years ago
Bret Curtis 6a32a4aed0
Merge pull request #1810 from akortunov/weaponfix
Use fallbacks for missing weapon animations
6 years ago
Bret Curtis f7715db25f
Merge pull request #1871 from akortunov/extended_logging
[Regression] Move cerr initialization out of 'try' block
6 years ago
Andrei Kortunov 9a5b016293 Move crashcatcher initialization to components 6 years ago
Andrei Kortunov 5e172ed831 Move cerr initialization out of 'try' block 6 years ago
James Carty 1c49698053 Implement 'g' flag 6 years ago
Bret Curtis d7989ac778
Merge pull request #1063 from Allofich/drain
Drain and Fortify fixes
6 years ago
Allofich 94d941cabc Update changelog 6 years ago
Allofich fd89fa415a Do modifiers for dynamic stats before attributes
(Fixes #4231)
6 years ago
Allofich 2cc1b52baf Drain and fortify fixes for dynamicStats
(Fixes #3049)
6 years ago
Bret Curtis 61b34124e2
Merge pull request #1847 from akortunov/extended_logging
Improve console logging
6 years ago
Bret Curtis f7bc862476
Merge pull request #1867 from akortunov/spelldetection
Add zero-duration spells effects to effect list (bug #3533)
6 years ago
Andrei Kortunov 4003fa1296 Keep jailing state for one frame after leaving jail (bug #3788) 6 years ago
Andrei Kortunov 9dfd775bf2 Implement GetPCTraveling console command 6 years ago
James Carty 579f35511a Add support for scietific notation flag for MessageBox 6 years ago
Andrei Kortunov 8de3383612 Add zero-duration spells effects to effect list (bug #3533) 6 years ago
Andrei Kortunov 307e0103dc Use fallbacks for missing weapon animations (bug #4470) 6 years ago
Andrei Kortunov 7d6e3673e0 Implement advanced logging system (feature #4581) 6 years ago
elsid c2b8c7086a
Fix race condition
Values are accessed from main thread and cell preloader threads.
6 years ago
Bret Curtis 52d4e25314
Merge pull request #1851 from akortunov/launcherfix
Init SDL2 before Qt4 to avoid crash on Linux
6 years ago
Bret Curtis 953e3a4eba
Merge pull request #1864 from elsid/nifbullet_tests
Add unit tests for BulletNifLoader
6 years ago
elsid 2de38142e2
Replace raw pointers by unique_ptr 6 years ago
elsid f2a63bcf35
Add unit tests for BulletNifLoader 6 years ago
elsid 6afc1dc3a0
Support build with coverage for components and test suite 6 years ago
elsid ef631a0961
Add dependency for GMock 6 years ago
Capostrophic 3527f3800e Use the correct spell projectile speed GMST in AI aiming 6 years ago
AnyOldName3 3b3721897d Make indoor shadows disableable. 6 years ago
AnyOldName3 1e0f982741 Add missing documentation 6 years ago
AnyOldName3 1e48114492 Use JDGBOLT's indoor 'sun' direction. 6 years ago
AnyOldName3 a2b54714d4 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 6286f5a1d4 Ensure RigGeometry child geometries have sensible bounds without actually computing them. 6 years ago
AnyOldName3 586ac2d12d Revert "Prevent accidental culling of first person meshes"
This reverts commit c38bf6757a.
6 years ago
Andrei Kortunov 2b90504558 Init SDL2 before Qt4 to avoid crash on Linux (bug #4529) 6 years ago
AnyOldName3 8f4125134f Merge remote-tracking branch 'refs/remotes/upstream/master' 6 years ago
AnyOldName3 c38bf6757a Prevent accidental culling of first person meshes 6 years ago
Marc Zinnschlag 1d7241f128 Merge remote-tracking branch 'upstream/coverity_scan' into coverity_scan
Conflicts:
	.travis.yml
6 years ago
AnyOldName3 cc23a968d1 Merge upstream/master 6 years ago
AnyOldName3 71778e2552 Disable convex hull clipping based on render leaf traverser results in the z direction. 6 years ago
AnyOldName3 02ab3b466a Use simplified convex hull clipping maths from the other function doing hte same thing 6 years ago
Marc Zinnschlag b1dfb0bc29 stage1: priorities for event music and other minor improvements to the music system 6 years ago
AnyOldName3 85aba2e1da Add toggleable shadow debug overlay. 6 years ago
AnyOldName3 9df59720e4 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 a7e53df278 Move common shadow code to shared shadow shader headers 6 years ago
AnyOldName3 933ed77ef6 Fix water shader alignment issues noticed while removing tabs. 6 years ago
AnyOldName3 b25b356081 Sort out shader indentation 6 years ago
AnyOldName3 f8e4f3fca5 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 553094669b Merge upstream/master (& fix merge conflicts) 6 years ago
AnyOldName3 ed68db5ef9 Fix issue where the camera frustum cropping wouldn't consider where casters might cast shadows, just where they actually were. 6 years ago
AnyOldName3 f5b144ef77 Improve bounds calculation for shadow casters outside of the viewing frustum 6 years ago
AnyOldName3 50fdd0be99 Resolve computed near plane issues with extremely high viewing distances. 6 years ago
AnyOldName3 759e6fb804 Merge remote-tracking branch 'refs/remotes/upstream/master' 6 years ago
AnyOldName3 3dddd97a91 Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps 6 years ago
AnyOldName3 9ff31cc80d Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 aa9eec485f Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps 6 years ago
AnyOldName3 9093ab59f6 Restore water object refractions and reflections. 6 years ago
AnyOldName3 86ce33f437 Update documentation 6 years ago
AnyOldName3 feac7bd88e Use 3 shadow maps by default as 1 sucks. 6 years ago
AnyOldName3 2c30bc1b4f Accidentally fix the one remaing case where shadows look awful while refactoring some stuff. 6 years ago
AnyOldName3 9f0a49c303 Disable CSM when disabled in the settings. 6 years ago
AnyOldName3 84284a60a7 Make CSM shader changes controllable by the setting. 6 years ago
AnyOldName3 5d05aadb37 Begin to let settings toggle between CSM and PSSM 6 years ago
AnyOldName3 7255c266ba Merge branch 'osgshadow-test-vdsm' into osgshadow-test-dicking-around-with-cascading-shadow-maps 6 years ago
AnyOldName3 fc1aee10f4 Remove function declaration that somehow snuck in. 6 years ago
AnyOldName3 aa68af4f8b Make shaders pick the correct shadow cascade level and blend near cascade edges. 6 years ago
AnyOldName3 1b30d47d7f Add a hacky temporary version of cascading shadow maps 6 years ago
AnyOldName3 44b2cf2b7f Merge upstream. 6 years ago
AnyOldName3 166e7df778 Improve debug HUD frustum 6 years ago
AnyOldName3 4547151863 Add the view frustum to the debug HUD (in the most annoying way possible) 6 years ago
AnyOldName3 6d29375d5e Turning on shadows will now force shaders on 6 years ago
AnyOldName3 e46bf28e5f Add object shadows setting 6 years ago
AnyOldName3 d4b37ad6b1 Apply Scrawl's fix for the local map 6 years ago
AnyOldName3 e885612bd7 Make a dynamic cast static 6 years ago
AnyOldName3 b553b58de5 Fix another compiler warning 6 years ago
AnyOldName3 3bed2a7b01 Fix some copiler warnings (hopefully) 6 years ago
AnyOldName3 d6a7aec971 Make RenderingManager::configureAmbient do what it was intended to. 6 years ago
AnyOldName3 4acd9228ee fix RST error 6 years ago
AnyOldName3 94c7cf414f Update documentation to clarify the effects of using shadows without shaders. 6 years ago
AnyOldName3 cfad38b869 Make masks consecutive and ordered. 6 years ago
AnyOldName3 6f582f5411 Make indoor shadows do something meaningful. 6 years ago
AnyOldName3 fc41902798 Replace a dynamic cast with string comarison 6 years ago
AnyOldName3 bc4b4c66e4 (Hopefully) add include which G++ requires even though VC++ doesn't. 6 years ago
AnyOldName3 451d0de463 Remove dependency on osgAnimation that somehow snuck in 6 years ago
AnyOldName3 3fe8dc6309 Remove leftover import 6 years ago
AnyOldName3 d1a2955fa1 Merge upstream 6 years ago
AnyOldName3 66a114d6ec Fix a couple of warnings 6 years ago
AnyOldName3 f9cf1ac94b Separate indoor and outdoor shadow casting masks. 6 years ago
AnyOldName3 35eb71052e Tidy up the shadow manager 6 years ago
AnyOldName3 882b63cba9 Make split point control parameters configurable with the new shadow technique. 6 years ago
AnyOldName3 e233dae1cd Hook up the new shadow technique 6 years ago
AnyOldName3 97b607fc66 Make whitespace match upstream OSG 6 years ago
AnyOldName3 99db93510c Undo minor cockup where the same file appeared twice 6 years ago
AnyOldName3 639a4f5e8c Remove TODO left in by accident. Also, become 100 commits ahead of upstream. 6 years ago
AnyOldName3 478367bef3 Ensure the debug HUD won't crash if settings are changed at runtime. 6 years ago
AnyOldName3 7b52091a82 Make the debug hud enableable 6 years ago
AnyOldName3 5d719e9d5f Add the debug HUD to the new shadow technique 6 years ago
AnyOldName3 76f23c28b1 Make shadows disableable. 6 years ago
AnyOldName3 0f1e770c53 Transfer changes to cull to new shadow technique 6 years ago
AnyOldName3 4c31b38f77 Move CLSB changes to new shadow technique 6 years ago
AnyOldName3 06b2ce6646 Fix alignment issues caused by renaming classes 6 years ago
AnyOldName3 02d0ee3485 Rename old shadow class to shadow manager 6 years ago
AnyOldName3 ce02c83089 Copy debug shader source into new shadow technique 6 years ago
AnyOldName3 7bd4c5e4b3 Change class name 6 years ago
AnyOldName3 c815366044 Move to the correct namespace part 2 6 years ago
AnyOldName3 11e59d3c11 Move to the correct namespace. 6 years ago
AnyOldName3 324b398d29 Add a notice clarifying the source of the shadow technique files. 6 years ago
AnyOldName3 7467248555 Undo a modification from the upstream shadow technique which breaks compatibiltiy with OSG 3.4 6 years ago
AnyOldName3 273914aba8 Add osgShadow ViewDependentShadowMaps as they can be found in OSG's GitHub Repository 6 years ago
AnyOldName3 9ec59783ba Add basic support for distant terrain CLSB
(cherry picked from commit 0f9dc3e65b72e6fff762f7a0933bae6f861e5fd4)
6 years ago
AnyOldName3 cb6767b4fc Move the declaration of ComputeLightSpaceBounds to the header so that it can be accessed from other compilation units.
(cherry picked from commit 8ac4fb208897a18da4934dd6f2fe84560b44ba9d)
6 years ago
AnyOldName3 6251e0519e Use CLSB results to reduce maximum shadow map distance when sensible. 6 years ago
AnyOldName3 0cb9903c88 Tweak headings in settings documentation 6 years ago
AnyOldName3 9f20aaccfb Add some more advanced settings to control shadows. 6 years ago
AnyOldName3 c3d7c7de21 Prevent first-person meshes disappearing. 6 years ago
AnyOldName3 6ec893b618 Merge remote-tracking branch 'refs/remotes/upstream/master' 6 years ago
AnyOldName3 112ade2a3f Ensure TerrainDrawables affect the computed near/far planes. 6 years ago
AnyOldName3 bf9a1ded63 Mark a function as override 6 years ago
AnyOldName3 d63fa5c0b5 Add rst documentation for the shadow settings. 6 years ago
AnyOldName3 8d4b32166c Remove outdated comments 6 years ago
AnyOldName3 c3e0398d1c Add settings 6 years ago
AnyOldName3 f56a117bde Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 c192c851db Make disabling shadows disable their performance impact, too. 6 years ago
AnyOldName3 4de3a361fb Make shadow maps only cover regions where shadow receivers might be. 6 years ago
AnyOldName3 b08938485f Make suspending viewer threads the responsibility of the caller, not the shader manager. 7 years ago
AnyOldName3 229cc9696f Make updating global shader defines update shaders. 7 years ago
AnyOldName3 8957c92a36 Switch to a more industry-standard shadow map splitting scheme 7 years ago
AnyOldName3 78eb18e55f Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 7cce2d6f87 Implement a more sensible shadow map cascading system 7 years ago
AnyOldName3 617473c7da Force near plane out further for LiSpSM projection 7 years ago
AnyOldName3 0e481a457e Merge remote-tracking branch 'refs/remotes/upstream/master' 7 years ago
AnyOldName3 974e4d5299 Add check for null shaders when releasing OpenGL objects 7 years ago
AnyOldName3 4612597877 Switch to insert_or_assign semantics when adding shadow defines to the global shader defines. 7 years ago
AnyOldName3 98cd9fc144 Add preliminary support for global shader defines. 7 years ago
AnyOldName3 7a9df977c7 Add some prerequisits for making shadows disableable 7 years ago
AnyOldName3 166ba22072 Prevent line count changes within conditional blocks (because of conditional includes or @foreach expansion) ruining line numbering. 7 years ago
AnyOldName3 0f6f097cf2 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 3d18ddc8e4 Take into account previous #line directives when expanding @foreach shader macros 7 years ago
AnyOldName3 590531595b Create @foreach shader preprocessor macro in preparation for moving shadow setup out of shadermanager.cpp 7 years ago
AnyOldName3 548c42b5fd Disable over-zealous shadows in the character preview. 7 years ago
AnyOldName3 64d5d0fd66 Prevent the local map from being considered to be shadowed. 7 years ago
AnyOldName3 6e0b61d084 Add missing libraries to components target 7 years ago
AnyOldName3 e201e359a9 Move Shadow to Components 7 years ago
AnyOldName3 1a30a917af Merge upstream/master 7 years ago
AnyOldName3 2e7951c83f Remove unused mask 7 years ago
AnyOldName3 aa31cbba4f Attempt (and fail) to make the local map show without unwanted shadow 7 years ago
AnyOldName3 c3616ca78b Merge branch 'osgshadow-test-vdsm-sky-method-two' into osgshadow-test-vdsm 7 years ago
AnyOldName3 25432146f7 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 3403205231 Use three shadow maps per light 7 years ago
AnyOldName3 715f29165b Dynamically adjust shaders to have the required number of shadow maps. 7 years ago
AnyOldName3 3106159721 Turn off all shadow texture units for the sky now it is possible for there to be more than one 7 years ago
AnyOldName3 09b02c307a Merge from base branch 7 years ago
AnyOldName3 56fa33af66 Enable parallel split shadow maps 7 years ago
AnyOldName3 7a03ad6558 Switch to a tidier way of disabling the correct texture unit 7 years ago
AnyOldName3 26fe47b9a2 Merge branch 'osgshadow-test-vdsm' into osgshadow-test-vdsm-sky-method-two 7 years ago
AnyOldName3 3f63ebce77 Theoretically, at least, fix everything (except hte sky issue which is resolved in another branch) 7 years ago
AnyOldName3 d0587a3ad5 Clean up the debug hud now it's working. 7 years ago
AnyOldName3 b0c0c88201 Merge branch 'osgshadow-test-vdsm' into osgshadow-test-vdsm-sky-method-two 7 years ago
AnyOldName3 2bfd45fb40
Merge pull request #2 from scrawl/shadows
Enable shadows for terrain & restore cull mask
7 years ago
AnyOldName3 ce0e937e8d Attempt to force the sky to not accept the default shadow shader or shadow texture. 7 years ago
scrawl ceaf0ee409 Enable shadow casting for terrain
Add a check to TerrainDrawable to make sure shadows are only drawn once, not once per blending pass
7 years ago
scrawl 8141ee47d5 Fix shader compile error 7 years ago
scrawl d0866d1b3c Revert change to node mask that appears to not serve any purpose 7 years ago
AnyOldName3 1d4b8656d1 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 e15d461921 Add (potentially physically-flawed) shadow support to the water shader 7 years ago
AnyOldName3 ab669a434e Update the shadow frustrum bounds properly 7 years ago
AnyOldName3 ef8a7d1cb9 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 cf54b4a130 Prevent debug HUD geometry from being culled erroneously. 7 years ago
AnyOldName3 1c6e23f660 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 e24b76fb5e Merge branch 'master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 2a90dff388 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
scrawl b3a2604592 Disable tools build to try and stay under the time limit 7 years ago
AnyOldName3 737563875a Remove superfluous - sign and switch to other debug shader 7 years ago
AnyOldName3 147455626e Merge OpenMW/master 7 years ago
AnyOldName3 ef7102899a Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 7 years ago
AnyOldName3 be50ed7387 Use a test image guaranteed to exist. 7 years ago
AnyOldName3 26a7b48d69 Attempt to make a VDSM work, and also to set up a debug HUD, but without success. 7 years ago
AnyOldName3 20607bdcd9 Actually add shadow DLL under Windows automatically for real this time 7 years ago
AnyOldName3 c2cd338086 Add shadow DLL under Windows automatically 7 years ago
AnyOldName3 e0ce284272 Fix the same shader preprocessor variable issue for the third time now 7 years ago
AnyOldName3 2b78fb436d Fix issue with shader preprocessor variables 7 years ago
AnyOldName3 b94bbe00cb Merge remote-tracking branch 'upstream/master' into osgshadow-test 7 years ago
AnyOldName3 0568c93b39 Add specific shadow source files to MWRender 7 years ago
AnyOldName3 ba1e2cab2f Merge remote-tracking branch 'upstream/master' into osgshadow-test 7 years ago
AnyOldName3 ebd3dcf2b3 Remove unnecessary preprocessor variable in shaders 7 years ago
AnyOldName3 e33bec97be Tidy up the mess I made of lighting.glsl a bit by removing two single-line functions that are only ever called in one location. 7 years ago
AnyOldName3 26ecf2088b Make shadows play nicely with per-vertex lighting 7 years ago
AnyOldName3 c67b3267fb Stop shadowing ambient lighting from the light casting a shadow when using per-pixel lighting. 7 years ago
AnyOldName3 f50063402d Adjust shaders to support shadows 7 years ago
AnyOldName3 99f6a1b8e1 Switch to LispSM 7 years ago
AnyOldName3 76e8a0b768 Add changes I missed in a merge. 7 years ago
AnyOldName3 a5397e5f2d Merge master 7 years ago
AnyOldName3 e2623d21ab Merge remote-tracking branch 'upstream/master' into osgshadow-test 7 years ago
scrawl 532b26bf3c osgShadow experiment 7 years ago
cc9cii c9b07b5f72 Merge pull request #15 from cc9cii/bug-fixes
Bug fixes
9 years ago
cc9cii c2ea682f0e Set editor limits on hard-coded string lengths (Bug #3066)
- See https://forum.openmw.org/viewtopic.php?f=2&t=3233 and https://bugs.openmw.org/issues/3066
9 years ago
cc9cii 258d98cddc Update README.md regarding the cc9cii fork. 9 years ago
cc9cii 60d5ea7ab6 Fix bug where new addons could not be created since commit ff072441fd. 9 years ago
cc9cii 40bacc04c5 Merge pull request #14 from cc9cii/minor-enhancements
Minor enhancements and performance improvements
9 years ago
cc9cii 90b76801f6 Reduce the call to tolower() for each character when the string is already in lower case.
- only a minor performance gain according to the MSVC profiler
9 years ago
cc9cii abe6904a94 Minor performance gains on loading cell references.
- Use integers where possible
- Unfortunately many functions are simply duplicated for now, but over time the deprecated ones will be removed
9 years ago
cc9cii 003b0d48be Move resource names listing code out of CSMWorld::Resources ctor in order to avoid multiple scan of the same resources.
- The resources are still scanned twice, once when the archive/directory is added and another time when the names are listed.
9 years ago
cc9cii 06f9922822 Performance improvements for loading Info records.
- The order of info records with the same topic are maintained in Collection::mRecords
- The index lookup data structure are not ordered.  The topic string is hashed.  The infos for the topic are simply placed in a vector.
- The index values for appending or inserting a record takes prev/next values (if exist)
- FIXME: prev/next values are not adjusted for adding or removing records
- FIXME: undo after reordering does not reset the modified flag
9 years ago
cc9cii edf4e6ff95 Fix crash when repeatedly performing delete/undo due to empty moved record.
- introduced in commit 23e7e3c165
9 years ago
cc9cii 226f7b6928 Suppress additional MSVC warnings after Update 1 9 years ago
cc9cii 76e9a03596 More efficient implementation of an earlier fix so that id is searched only once
- see commit 306bfcbdf2
9 years ago
cc9cii 477e0ee912 Convert std::to_string() calls to snprintf() for cell references.
- Profiling indicates snprintf() is more efficient when using MSVC (not tested with linux)
9 years ago
cc9cii f6d6138f46 Minor formatting change. 9 years ago
cc9cii de5ce7059e Use load message system for moved ref target cell error logging. 9 years ago
cc9cii 47b5fa9dae Convert some of ostringstream << operations to std::to_sting() calls.
- At least with MSVC the latter is more efficient.
- There are many more, but leave them until they show up during profiling (so far only loading was profiled, and mainly cell references)
9 years ago
cc9cii 86945d1912 Convert the CellRef record index lookup maps to use integer keys rather than strings.
- Morrowind load over 300,000 references, so even small inefficiencies add up to longer loading times.
- std::map is used, but should try others, std::unordered_map or even std::vector
9 years ago
cc9cii 0de223c637 Fix bug (#3067) where content file number was being ignored while searching for already loaded cell references.
- Introduced by commits 49884f54f7 and 896ab44d1e.
- Also see https://github.com/OpenMW/openmw/pull/557
9 years ago
cc9cii 306bfcbdf2 Fix exception when deleting a record while dialogue subview for that record is open. 9 years ago
cc9cii 68e16b6cee Convert RefNum index map to use find(). 9 years ago
cc9cii a967418a5a Fix Preview and Unpaged World subviews not rendering. Not sure if this is related to a later version of Ogre being used. 9 years ago
cc9cii ff072441fd Change the loader's top progress bar to show total number of records processed rather than the number of files. 9 years ago
cc9cii 65df15a89d Suppress MSVC 2015 warnings about hidden/deleted base class move constructors and move assignment operators. 9 years ago
cc9cii 19af94b73e Reduce copying further by adding move constructors and move assignment operators to CellRef structs. 9 years ago
cc9cii 23e7e3c165 Use std::unique_ptr to store records in collections, RefidCollection and RefIdData.
- std::move support required (C++11)
- MSVC 2013 or later should be fine
9 years ago
cc9cii 257126ed69 Call push_back() if inserting to the end of the vector. It seems MSVC may be generating different code compared to insert(). 9 years ago
cc9cii 77394fce99 Fix table being sorted twice (at least it appeared that way according to the sample profiler)
- Quoting Qt-4.8: "Note: . Setting the property to true with setSortingEnabled() immediately triggers a call to sortByColumn() with the current sort section and order."
9 years ago
cc9cii f029682057 Merge branch 'cc9cii' into minor-enhancements
Conflicts:
	apps/opencs/model/doc/savingstages.cpp
	apps/opencs/model/world/refidcollection.cpp
9 years ago
cc9cii 91bf42874f Merge pull request #13 from cc9cii/master-cherry-pick-4
Merge master (cherry pick 4)
9 years ago
scrawl 3c02703876 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.

(cherry picked from commit 35fa1f5865)
9 years ago
scrawl a1939ae05f StringUtils: use the locale-unaware tolower function
There is no change in behaviour since we were using the C locale.

The locale-aware tolower is much slower than the locale-unaware one. At least on Linux/GCC it calls dynamic_cast's, and is overall slower by an order of magnitude.

(cherry picked from commit 27e669296e)
9 years ago
Marc Zinnschlag ec00bd2c98 make initial size of script error panel configurable (Fixes #2996)
(cherry picked from commit 99500f4021)
9 years ago
Marc Zinnschlag 8c4d414635 remember script error panel height per scriptsubview
(cherry picked from commit f5c61ee616)
9 years ago
Marc Zinnschlag 8da783d877 do not adjust error panel height if panal was already open
(cherry picked from commit 26640d17eb)
9 years ago
Marc Zinnschlag 2c5f0bf6c5 hide script error list when there are no errors (Fixes #2867)
(cherry picked from commit 1093a53cf9)
9 years ago
Marc Zinnschlag 0366a05649 Removed validator for filenames in OpenMW-CS (Fixes #2918)
(cherry picked from commit b74b274ac0)
9 years ago
Marc Zinnschlag 30b28bfd07 adjusted startup warning message for recent improvements regarding loading/saving
(cherry picked from commit e0e9e7f8c2)
9 years ago
scrawl 0eca29eb62 Ignore Creature INDX subrecords
Found in some .ess files, not sure what they mean.

(cherry picked from commit 0bdfd1b0d7)
9 years ago
scrawl ebf9ffd1da Fix double writing of Dialogue NAME in OpenCS
(cherry picked from commit af4923577b)
9 years ago
scrawl d3caeaf898 Remove unused SOUND_INPUT_INCLUDES cmake variable.
(cherry picked from commit 0220e82259)

Conflicts:
	apps/openmw/CMakeLists.txt
9 years ago
Alexander "Ace" Olofsson 940e982d65 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?
(cherry picked from commit d2a4175804)
9 years ago
cc9cii 1334091613 Resolve merge issues. 9 years ago
scrawl 33c0db1d9a Adjust tests to work with esm_rewrite branch.
(cherry picked from commit aae1aa3708)
9 years ago
scrawl 0d9ffe8119 Tests: add record overwrite test
(cherry picked from commit f91aae2350)
9 years ago
scrawl d3ada38f01 Tests: add record deletion test
(cherry picked from commit 1e817a976f)
9 years ago
scrawl c3031da20e Tests: add content_diagnostics_test (requires some data files)
(cherry picked from commit 771193bae8)
9 years ago
scrawl c221be76dc Tests: add dialogue_merging_test (requires some data files)
(cherry picked from commit 38c155c579)
9 years ago
scrawl f9e12d6fbd Delete empty test
(cherry picked from commit d0d8c2eded)
9 years ago
scrawl 25bb8a59ef esmtool fix
(cherry picked from commit 9116c701d5)

Conflicts:
	apps/esmtool/record.cpp
9 years ago
scrawl 41ee50c2b7 Move common subrecord definitions (NAME, DELE) to defs.hpp
(cherry picked from commit fc8e40889d)
9 years ago
Stanislav Bas d789d9369c Make saving of deleted ESM records more consistent
(cherry picked from commit f9b0b7ede5)
9 years ago
Stanislav Bas 3821bffbfa Fix missing break in switch statement
(cherry picked from commit 9a8ca81907)
9 years ago
Stanislav Bas 2abdeef2e0 Remove unused includes
(cherry picked from commit daaff1284e)

Conflicts:
	apps/openmw/mwworld/store.cpp
	components/esm/util.hpp
9 years ago
Stanislav Bas 38e99c9cd4 Load methods (for ESM records) accept a deleted flag in ESSImporter
(cherry picked from commit 0c6ab6cc94)
9 years ago
Stanislav Bas 0c4dd48394 Load methods (for ESM records) accept a deleted flag in ESMTool
(cherry picked from commit 8243fb2479)

Conflicts:
	apps/esmtool/record.cpp
9 years ago
Stanislav Bas f4587e48f3 Load methods (for ESM records) accept a deleted flag in OpenCS
(cherry picked from commit 13bb6be238)

Conflicts:
	apps/opencs/model/doc/savingstages.cpp
	apps/opencs/model/world/land.cpp
	apps/opencs/model/world/land.hpp
	apps/opencs/model/world/landtexture.cpp
9 years ago
Stanislav Bas 0c002dd6de Load/read methods (for ESM records) accept a deleted flag in OpenMW
(cherry picked from commit 67c8f95c4e)

Conflicts:
	apps/openmw/mwworld/store.cpp
9 years ago
Stanislav Bas 82363bf318 Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records
(cherry picked from commit 4a16eba716)

Conflicts:
	components/esm/loadland.cpp
	components/esm/loadland.hpp
9 years ago
Stanislav Bas 7013ba751c Fix build errors & warnings
(cherry picked from commit 1e8182220a)
9 years ago
Stanislav Bas d12f784e7e Remove <cstdint> include file from loaddial.cpp
(cherry picked from commit f5745749a6)
9 years ago
Stanislav Bas a3d48fd482 Rework ESS importer code. Remove explicit NAME handling for ESM records
(cherry picked from commit 6b21da7f8e)
9 years ago
Stanislav Bas 459fe3da52 Rework EsmTool code. Remove explicit NAME handling
(cherry picked from commit ede4bfcf52)

Conflicts:
	apps/esmtool/record.cpp
9 years ago
Stanislav Bas 0277a4e8c4 Implement saving of deleted records
(cherry picked from commit 8e6a7be6f5)

Conflicts:
	apps/opencs/model/doc/savingstages.cpp
9 years ago
Stanislav Bas a120bb2b54 Delete infos of deleted dialogue when loading a content file
(cherry picked from commit e04e32bcff)
9 years ago
Stanislav Bas 9a803739ff Add a separate method to check whether a record is deleted or not for IdCollection
(cherry picked from commit a4d3e59e5c)
9 years ago
Stanislav Bas 696f7a942b Some refactoring. Remove unused code
(cherry picked from commit 5fd48efd28)

Conflicts:
	apps/openmw/mwworld/store.cpp
9 years ago
Stanislav Bas b5c958c62a More ESM records have DELE handling.
Changed records: Race, Land, Pathgrid, StartScript, DebugProfile, Filter

(cherry picked from commit e65ff723ce)

Conflicts:
	components/esm/loadland.cpp
	components/esm/loadland.hpp
9 years ago
Stanislav Bas 8b7b3d2a4e Refine DELE handling in ESM records. Add position-independent DELE search
(cherry picked from commit ad353e6dd0)
9 years ago
Stanislav Bas 4e199697cc Handle deleted records in RefCollection
(cherry picked from commit 3ba73f5fd9)
9 years ago
Stanislav Bas 3686c1e32d Move DELE handling to CellRef record
(cherry picked from commit e8a9567be3)
9 years ago
Stanislav Bas 9503104129 Return a correct index for a loaded record that was deleted
(cherry picked from commit a1389b87ba)
9 years ago
Stanislav Bas 0979d88b0c Rework RefIdData code. Update the index map when a new record is loaded
(cherry picked from commit 5e623a2a1d)
9 years ago
Stanislav Bas 82e1b0563c Add NAME handling to DebugProfile and Filter records
(cherry picked from commit b55a4999ca)
9 years ago
Stanislav Bas bd695feded Remove INAM handling from InfoCollection
(cherry picked from commit 71e5fc7f04)
9 years ago
Stanislav Bas 72152d84ed Move ID loading into a separate method for Dialogue and DialInfo records
(cherry picked from commit c8c79dc1ef)

Conflicts:
	apps/openmw/mwworld/store.cpp
9 years ago
Stanislav Bas d518d70212 Remove NAME and DELE handling from IdCollection
(cherry picked from commit 74a055f3cc)
9 years ago
Stanislav Bas 639e6e1c56 Remove DELE and NAME handling from RefIdCollection and RefIdData
(cherry picked from commit 42f9136141)
9 years ago
Stanislav Bas 377d606fc3 Load/read methods in MWWorld::Store return a pair (record ID, deleted flag)
(cherry picked from commit c266315a35)

Conflicts:
	apps/openmw/mwworld/store.cpp
	apps/openmw/mwworld/store.hpp
9 years ago
Stanislav Bas 2448aa05cb Add removing of deleted Infos to Dialogue::clearDeletedInfos()
(cherry picked from commit adec0cb61d)
9 years ago
Stanislav Bas 25a8cda9ac Some fixes for ESM Dialogues and Infos
(cherry picked from commit e0983c815c)
9 years ago
Stanislav Bas 80074f90bf Set Deleted flag to false when initializing ESM records
(cherry picked from commit 7ecb54a776)
9 years ago
Stanislav Bas 19acd1fada Letter case fix for MWWorld::Globals
(cherry picked from commit 20723581a1)
9 years ago
Stanislav Bas a46ea70d65 Convert IDs of loaded records to lower case in MWWorld::Store
(cherry picked from commit 00bf87b561)
9 years ago
Stanislav Bas f8b0cfc637 Remove NAME handling from MWWorld::Globals
(cherry picked from commit 897a52cdda)
9 years ago
Stanislav Bas 2564eb9841 Remove NAME handling from MWWorld::ESMStore
(cherry picked from commit 9301bc148e)
9 years ago
Stanislav Bas e0d5208d26 Remove explicit record ID in load/read methods of MWWorld::Store
(cherry picked from commit 89e44c8f1f)
9 years ago
Stanislav Bas c4fd4be3ea Add NAME handling to GameSetting record
(cherry picked from commit b2f3ccb080)
9 years ago
Stanislav Bas 711d787939 Add NAME and DELE handling to Global record
(cherry picked from commit 09a3358017)
9 years ago
Stanislav Bas 1aa1336dcf Remove redundant code
(cherry picked from commit 30b42bf4c0)
9 years ago
Stanislav Bas 4f1601fe0d Add NAME handling to Race record
(cherry picked from commit 8c3654af11)
9 years ago
Stanislav Bas 7dc0c9138f Add NAME and DELE handling to Cell record
(cherry picked from commit b667338a8f)
9 years ago
Stanislav Bas 8c77cafc35 Add DELE handling to Info record
(cherry picked from commit 847614c26f)
9 years ago
Stanislav Bas d89de1ba30 Add NAME and DELE handling to Dialogue record
(cherry picked from commit 0b537186e5)
9 years ago
Stanislav Bas 93736e9a81 Change DELE sub-record value to 0 (4 bytes)
(cherry picked from commit 19ac4e942a)
9 years ago
Stanislav Bas 1b21d1b5f7 Add NAME and DELE handling to Script record
(cherry picked from commit d2c15647a3)
9 years ago
Stanislav Bas 44c36a00f8 Add NAME and DELE handling to ESM records.
Changed records are those where DELE is inserted at the beginning of a
record (before NAME).
The record has all required sub-records in this case.

(cherry picked from commit 9ac20a3355)
9 years ago
Stanislav Bas e9a8eac6af Add NAME and DELE handling to ESM records.
Changed records are those where DELE is located after NAME sub-record.
And DELE is the last sub-record.

(cherry picked from commit 926c825d0c)

Conflicts:
	components/esm/loadstat.cpp
	components/esm/loadstat.hpp
	components/esm/util.hpp
9 years ago
Marc Zinnschlag 70cb6f0238 fixed an interference with script warning mode and error downgrading (Fixes #2990)
(cherry picked from commit b61b732207)
9 years ago
scrawl 368dd9bd8d Compiler: remove unused mNameStartingWithDigit
(cherry picked from commit f7d0d06134)
9 years ago
cc9cii 19eed6f4c4 Fix warning C4458 (declaration of 'data' hides class member) 9 years ago
cc9cii 4290751010 Fix warning C4457 (declaration hides function parameter) 9 years ago
cc9cii d70064efe4 Fix warning C4456 (declaration hides previous local declaration) 9 years ago
cc9cii cc984497d7 Fix warning C4838 (conversion from 'double' to 'const float' requires a narrowing conversion) 9 years ago
cc9cii f68e423c33 Add missing Ogre headers. 9 years ago
cc9cii a38881e4cf Further clean up of moving out NpcAutoCalc from Data. 9 years ago
cc9cii 04c5c0d82a Move NPC autocal code out to a separate class. 9 years ago
cc9cii c7c0023ed2 Merge pull request #12 from cc9cii/Feature-1278
Feature #1278 - part 1
9 years ago
cc9cii 9716b671f1 Merge branch 'cc9cii' into Feature-1278
Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/world/nestedcoladapterimp.cpp
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/worldspacewidget.cpp
9 years ago
cc9cii f7598a67f4 Merge branch 'pathgrid-edit' into Feature-1278
Conflicts:
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
9 years ago
cc9cii 5b1373f3fd Merge pull request #11 from cc9cii/jump-to-modified
Feature #2554
9 years ago
cc9cii 007c733578 Resolve merge issues and add back user preference setting for auto selecting a modified record.
(cherry picked from commit 321b1b5106a47500bffd4c78a66d3d6f44a06f5b)

Conflicts:
	apps/opencs/model/settings/usersettings.cpp
9 years ago
cc9cii fb3015c9b8 Merge branch 'cc9cii' into jump-to-modified
Conflicts:
	apps/opencs/view/world/table.cpp
	apps/opencs/view/world/table.hpp
	apps/opencs/view/world/tablesubview.cpp
9 years ago
cc9cii 9f4ecc2f8e Merge pull request #10 from cc9cii/master-cherry-pick-3
Merge master (cherry pick 3)
9 years ago
cc9cii 12a8692cdb Fix include file issue.
(cherry picked from commit 7f477e2fae)
9 years ago
cc9cii 6d38d97470 Fix some sub-tables becoming uneditable since commit 80869d
(cherry picked from commit 4af469511d)

Conflicts:
	apps/opencs/model/world/refidadapterimp.hpp
9 years ago
cc9cii a19a1dabe2 Add a check for scale value of 0. Should resolve bug #2880.
(cherry picked from commit 819fecd08e)
9 years ago
cc9cii 26195dc5fe Rename a variable to make it less confusing.
(cherry picked from commit 7c007d9c6d)
9 years ago
cc9cii 894f3a9418 Fix saving when only topic info was modified (topic itself unchanged)
(cherry picked from commit 78c735adc6)
9 years ago
cc9cii 245357c9b2 Move TableEditModes enum inside a class scope.
(cherry picked from commit 107ccd84d4)

Conflicts:
	apps/opencs/model/world/refidadapterimp.cpp
9 years ago
cc9cii 0ec4af4210 Re-add mistakenly removed line and fix a silly typo.
(cherry picked from commit 77471d1592)
9 years ago
cc9cii f08680ebcd Disable context menu for fixed size sub-tables. Should resolve bug #2932.
(cherry picked from commit 80869d9bae)

Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
	apps/opencs/view/world/nestedtable.cpp
	apps/opencs/view/world/nestedtable.hpp
9 years ago
cc9cii b595f2641c Fix issue where mandatory effects field was allowed to be empty (and vice versa)
(cherry picked from commit 972193c7eb)
9 years ago
cc9cii bb1a959c88 Fix skills and attributes being possible to add to irrelevant effects. Should resolve bug #2980.
(cherry picked from commit 1a64b40725)
9 years ago
cc9cii 30de5c1c59 Fix editing ingredient effects sub-table. Should resolve bug #2978.
(cherry picked from commit 9f0e059a15)
9 years ago
artemutin@yandex.ru 91c4afe78c Fixed filter reapplication on Description column change and on State
column change.

Moved column index search to widget constructor, rewrite slot with
respect to multiple columns data change.

(cherry picked from commit eae36f8005)
9 years ago
artemutin@yandex.ru 437cabf778 If table dont use any filter, filter update now dont cause a reapply of empty filter
(cherry picked from commit 33e12a99fa)
9 years ago
artemutin@yandex.ru f44d7e97b0 Stream error handling, and other minor changes.
(cherry picked from commit 4ca7b26609)
9 years ago
artemutin@yandex.ru ba9190ed5e Implemented line and col calculations in scriptsubview
(cherry picked from commit e7a3f059aa)
9 years ago
Marc Zinnschlag aa31704d5d deal with script execution from within a script (Fixes #2964)
(cherry picked from commit 8eb6d337d5)
9 years ago
cc9cii 71077fda6a Disable toolbar context menu. Should resolve bug #2953.
(cherry picked from commit 64821b0785)
9 years ago
cc9cii b3daa7d956 Fix AiWander sub-table editing. Should resolve bugs #2888 and #2930.
(cherry picked from commit 3bbcf6a916)

Conflicts:
	apps/opencs/model/world/columns.cpp
	apps/opencs/model/world/columns.hpp
9 years ago
cc9cii 9cc046ce4e Further rationalise the use of ColumnIds
- Address Zini's review comments as per https://github.com/OpenMW/openmw/pull/755

(cherry picked from commit 998348e606)
9 years ago
Marc Zinnschlag 8fffbb3f9b updated credits file
(cherry picked from commit 64902bf221)
9 years ago
artemutin@yandex.ru c34d8c2a0d Add StartScriptCreator to a factory manager.
(cherry picked from commit ecce3a1975)

Conflicts:
	apps/opencs/view/world/subviews.cpp
9 years ago
artemutin@yandex.ru 7f46bc155a add getIdValidatorResult method to GenericCreator, for use in subclass
StartScriptCreator

(cherry picked from commit 903cd3322b)
9 years ago
artemutin@yandex.ru b0018aa791 Fix namespace, add file to CMakeLists.txt
(cherry picked from commit e672880f64)
9 years ago
artemutin@yandex.ru cb6198a843 Added StartScriptCreator class with redefined getErrors method.
(cherry picked from commit 3f27c85630)
9 years ago
Marc Zinnschlag 4677560859 adjusted a workaround for names starting with digits that interfered with some numerical expressions written without spaces
(cherry picked from commit 435e52306a)
9 years ago
Marc Zinnschlag c5235ea794 removed a redundant else and made unary + work also in the console
(cherry picked from commit ae54f34f25)
9 years ago
Emmanuel Anne 890405bdb1 scripts: recognize '+' also as a unary operator
it fixes the armor sorter in "Blades safe house.esp"

(cherry picked from commit dace7ab706)
9 years ago
Marc Zinnschlag 69e6328507 fixed local variable caching issue in automatic error checking (Fixes #2927)
(cherry picked from commit 7bef97bf33)
9 years ago
Marc Zinnschlag 14708e181c more cleanup
(cherry picked from commit 659b87b25f)

Conflicts:
	apps/opencs/view/doc/view.hpp
9 years ago
Marc Zinnschlag 6f294d0d25 removed some left-over signal slot stuff that shouldn't have been there in the first place
(cherry picked from commit b3b4fb3efb)
9 years ago
Marc Zinnschlag 46c6092e99 updated credits file
(cherry picked from commit 56163dcb2a)
9 years ago
scrawl 9179782002 Add travis-ci script to detect tab characters in the code
(cherry picked from commit ab97a90c76)
9 years ago
scrawl fcb9068c19 Fix tab indentations in apps/ and components/
(cherry picked from commit a47617c21f)

Conflicts:
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwmechanics/aicombat.cpp
	apps/openmw/mwphysics/physicssystem.cpp
9 years ago
Marc Zinnschlag a2294117cd replaced context-sensitive implementation of allowing digits at the beginning of names with a more general implementation (Fixes #1730)
(cherry picked from commit 4d94f38f4b)
9 years ago
cc9cii ae1439f223 Fix typo.
(cherry picked from commit 1365b8edd1)
9 years ago
cc9cii 148ccb79e8 Set default creature scale to 1. Partially resolves bug #2880. (no creature verifier yet)
(cherry picked from commit 192f01e3ac)
9 years ago
cc9cii 2f76a1510e Remove AI flag from the UI and instead auto-detect whether to save AIDT records. Should resolve bug #2879.
(cherry picked from commit 45aee1b508)

Conflicts:
	apps/opencs/model/world/refidadapterimp.hpp
9 years ago
cc9cii f7eb502493 Add missing fields for editing creatures.
- Should resolve resolve bugs #2878 (level), #2901 (gold) and #2889 (health).
- Moved Soul, Combat, Magic and Stealth editing to dialogue only (to be consistent with editing NPCs)

(cherry picked from commit 5a5e1a3b22)

Conflicts:
	apps/opencs/model/world/columns.cpp
	apps/opencs/model/world/columns.hpp
9 years ago
cc9cii 41f2ffdebb Rationalise the use of ColumnIds
(cherry picked from commit c4a900ca2c)

Conflicts:
	apps/opencs/model/world/refidcollection.cpp
9 years ago
cc9cii 496cdcb51b Ensure ColumnId names are unique. Filter parser calls Columns::getId() which implies that these should be unique.
(cherry picked from commit 258b2ba29a)
9 years ago
scrawl 7c347a5908 CONTRIBUTING.md: clarify "if applicable"
(cherry picked from commit 5fde914959)
9 years ago
scrawl c40e68cc5b Add CONTRIBUTING.md
(cherry picked from commit 6c6fc662ef)
9 years ago
scrawl c0f21bfb77 Add some comments to ESM::Land
(cherry picked from commit 5252dbcf1f)

Conflicts:
	components/esm/loadland.hpp
9 years ago
Sebastian Wick 03ee1ec8cb adjust FindMyGUI.cmake to correctly handle REQUIRED and QUIETLY
(cherry picked from commit b68f64ed97)
9 years ago
Marc Zinnschlag 5031d1fbcb disable on-demand loading of land data (for now, maybe)
(cherry picked from commit 5be176ee85)
9 years ago
Marc Zinnschlag 453c3ee760 fixed an indexing error
(cherry picked from commit 23fde87816)
9 years ago
Marc Zinnschlag 4aa6d7d1d1 various minor fixes
(cherry picked from commit 584a7a66b9)
9 years ago
Marc Zinnschlag dcf1f1515a handle missing land texture records properly during merge
(cherry picked from commit 09ec60fe2a)
9 years ago
Marc Zinnschlag 1784701b47 fixed a texture indexing bug (only affects the editor)
(cherry picked from commit 73f6efddcc)
9 years ago
Marc Zinnschlag 25952369ae merge land tables
(cherry picked from commit a8dc1c1198)
9 years ago
Marc Zinnschlag ce34daa64b removed indirection in OpenMW-CS land record
(cherry picked from commit 85f6bb892b)

Conflicts:
	apps/opencs/view/render/cell.cpp
9 years ago
Marc Zinnschlag c4b34a077e refactored loading of land data
(cherry picked from commit 69b9eadb52)

Conflicts:
	apps/openmw/mwworld/scene.cpp
	components/esmterrain/storage.cpp
9 years ago
cc9cii 4f24c6a7c8 more const-ness fixes 9 years ago
Marc Zinnschlag 44020df65f made return type of ESMTerrain::Storage::getLand const
(cherry picked from commit febf611c82)
9 years ago
Marc Zinnschlag 8cb1f4ffe9 additional safety check for land texture listing merge stage
(cherry picked from commit 69045d7ec9)
9 years ago
Marc Zinnschlag 35c4af9476 added copy constructor and assignment operator for Land record struct
(cherry picked from commit b0641934d4)
9 years ago
Marc Zinnschlag a2d4957d2a merge land texture tables
(cherry picked from commit 890bbb6b11)
9 years ago
Marc Zinnschlag e5038cbece fixed merge stage order; added proper initialisation
(cherry picked from commit b7983d08ba)
9 years ago
Marc Zinnschlag 73ab89bf70 merge references tables
(cherry picked from commit a97a632aa7)
9 years ago
Marc Zinnschlag 62daecadf5 fixed record state issues after merge
(cherry picked from commit 845cafd61c)
9 years ago
Marc Zinnschlag 9230c62884 merge referenceables table
(cherry picked from commit f95950e8d8)
9 years ago
Marc Zinnschlag 81188a3456 silenced a warning
(cherry picked from commit 9cf793c0b5)

Conflicts:
	apps/opencs/model/doc/document.cpp
9 years ago
Marc Zinnschlag 72aa998261 simplifying merge stage
(cherry picked from commit 40753aa9a3)
9 years ago
Marc Zinnschlag e33314ad81 made merge operation more fluent
(cherry picked from commit 16dda281ce)
9 years ago
Marc Zinnschlag 98cac624a9 added info tables and pathgrid table to merge operation
(cherry picked from commit 103073150e)
9 years ago
Marc Zinnschlag 024a5405e0 flag newly merged documents as dirty (triggering an 'are you sure' dialogue when closing without saving first)
(cherry picked from commit c92898a5bc)

Conflicts:
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/doc/document.hpp
9 years ago
Marc Zinnschlag 973c65bc82 merge id collections
(cherry picked from commit 3902513e65)
9 years ago
Marc Zinnschlag 55dfe48ef7 copy meta data from game file when merging
(cherry picked from commit 47dd9505a9)

Conflicts:
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/world/data.cpp
9 years ago
Marc Zinnschlag 3eef192e4d create merged document and open a view for it (document is still empty at this point)
(cherry picked from commit 1b663f01af)

Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/doc/documentmanager.cpp
9 years ago
Marc Zinnschlag 0b8e04d6a8 forgot to connect merge operation signals
(cherry picked from commit d8655f2ff8)
9 years ago
Marc Zinnschlag 9423603e94 inheriting Merge from QWidget instead of QDialog, because QDialog is bloody useless for non-modal dialogues (which makes the class completely useless, since modal dialogues are the spawn of Satan)
(cherry picked from commit e2377396a7)
9 years ago
Marc Zinnschlag e4381c3ec8 added merge operation (doesn't do anything yet)
(cherry picked from commit 904ad94952)

Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/tools/tools.cpp
9 years ago
Marc Zinnschlag c2ed475950 disable merge menu item when a merge is already in progress
(cherry picked from commit 708cacdec4)
9 years ago
Marc Zinnschlag a5a0990d3c improved adjuster widget problem reporting
(cherry picked from commit 4fd3097c1c)
9 years ago
Marc Zinnschlag ef1e01639e added UI for merge tool (merge tool itself is still missing)
(cherry picked from commit b83f9445a9)

Conflicts:
	apps/opencs/editor.cpp
	apps/opencs/editor.hpp
9 years ago
Marc Zinnschlag 6fb658daa4 replaced State_Compiling (not requried anymore) with State_Merging
(cherry picked from commit 6a9218ee07)
9 years ago
scrawl 52dfc0e9c7 Use the correct format specifier for ess-imported savegames
(cherry picked from commit 2065e0fa2d)
9 years ago
scrawl 65bd5d8492 Refuse loading save games of unknown format
(cherry picked from commit 20d03c7e39)
9 years ago
scrawl 05fd4e123e Use the format field instead of version field
(cherry picked from commit a081d402c5)
9 years ago
scrawl b9ba1067bf Savegame loading optimization
(cherry picked from commit 4637750601)
9 years ago
scrawl 843afc5e24 Increment save file version and mark it as used, will be used in next commit
(cherry picked from commit 4eaaa5e855)
9 years ago
cc9cii 904f9871cc Merge pull request #9 from cc9cii/master-cherry-pick-2
Master cherry pick 2
9 years ago
Stanislav Bas ca14d6a8a8 Add missing includes to columnimp.hpp 9 years ago
Stanislav Bas 859ba93739 Inform about State change (not a whole row) when modifying a table value 9 years ago
Stanislav Bas b53a77389b Show race only when mesh type is Skin (in BodyParts table) 9 years ago
Stanislav Bas 3a41fe5024 Convert AiWanderRepeat to bool in ActorAiRefIdAdapter::getNestedData() 9 years ago
Stanislav Bas 68013bd324 Columns with Display_Boolean use Combobox editor even for non-boolean values 9 years ago
Stanislav Bas 8c07d7f252 Remove enum names for AiWanderRepeat column 9 years ago
Stanislav Bas 214f3e5b9b ModifyCommand uses a proper name of a modified nested value 9 years ago
Stanislav Bas 29536751f5 Sort tables by ID in the ascending order initially 9 years ago
scrawl 402f1ff5d8 Fix the ESM::LandTexture NAME being discarded on loading 9 years ago
scrawl d1601feb39 Adjust OpenCS saving stages order to stop vanilla MW complaining about missing records 9 years ago
scrawl f8f66bffb0 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
9 years ago
scrawl dae2588c88 Editor: fix a typo in ESM::Light flag mappings 9 years ago
scrawl 1d2f4c8cfe Editor: remove creature flag of unknown purpose from the UI 9 years ago
scrawl 34561379bc Editor: fix magic effect magnitudes incorrectly labelled as Min/Max Range
Conflicts:
	apps/opencs/model/world/columns.hpp
9 years ago
cc9cii 2f372a79b9 Remove additional instance of Display_YesNo (in cc9cii branch but not in master) 9 years ago
taras.kudryavtsev 0f2ea57648 #2730 and #2725
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
Stanislav Bas f0982c87ba Remove check for an empty Particle from Magic effects verifier 9 years ago
Stanislav Bas 11f5a928db Don't allow empty value of School field in Magic Effects table 9 years ago
Stanislav Bas ef02bc657f Add magic effect verifier 9 years ago
Arthur Moore a7befc1f0a Removed now unneeded script 9 years ago
Arthur Moore 28bc0cca6c Cleaned up niftest's output
A bad file inside of a bsa archive now looks like:
<game dir>/Data Files/TR_Data.bsa/meshes/tr/x/tr_act_ind_mark_alm.nif
9 years ago
Arthur Moore 8b48fe1cad niftest now scans BSA files in directories for nif errors
The program is explicit so the user knows exactly where the bad file is.
9 years ago
Arthur Moore 16d163bd3e Updated niftest's help message 9 years ago
Arthur Moore 8cecfe4e17 Have niftest handle directories as well
Note:  BSA files within the directory must be passed manually.
9 years ago
Arthur Moore 7dc81c664a Added a help message to niftest
Now using the boost argument parser.
9 years ago
Marc Zinnschlag c3a31d13b1 make non-editable fields in dialogue sub view selectable (Fixes #2818) 9 years ago
Marc Zinnschlag c157fef2e0 allow use of IDs as function arguments, even if the ID matches a keyword (Fixes #2830) 9 years ago
Alexandre Moine e9e057de2e Rewrite of the description 9 years ago
Alexandre Moine ce27f0c3f5 Add appdata file for openmw and install it 9 years ago
Stanislav Bas bc48ed94bc Correct comparison of enum values in IdTableProxyModel 9 years ago
Stanislav Bas c0d714adb6 Activate editing of nested table cells by a double click
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
Stanislav Bas 7a927eec79 Close EditWidget when a proper row removed 9 years ago
Stanislav Bas bba3d6bec5 Restore Modified status of a record when adding/removing nested rows 9 years ago
Stanislav Bas 4366bdb4a8 Inform about Modified status change when modifying a value of a model 9 years ago
Stanislav Bas ec98a1220f Proper index for Modified column in ModifyCommand 9 years ago
cc9cii 2242920b85 Fix compiling with MSVC 2013 (typo mistake with the include file). 9 years ago
cc9cii bb250a236b Fix compilation when using 1.9 Ogre branch (i.e. the previous change on this file was in fact not related to MSVC 2015, but rather the use of the Ogre default branch). 9 years ago
cc9cii b920e1bde7 Support MSVC 2015. Tested(*) with updated dependencies:
- Microsoft Visual Studio Community 2015 Version 14.0.23107.0 D14REL
- Qt 5.5, commit 1d3966833b5f27fb262f2d3727557ef2c8947828
- SDL2 default branch, Changeset: 9834 (d3fa6d0d3793)
- Ogre default branch, Changeset: 8048 (19479be2c7c5)
- Boost 1.59, commit 9a02cf8eb34eb31f0858c223ce95319f103addfa
- OpenAL commit 8fa4f276f89985be44007ce166109837cbfd5763

(*) only tested compilation and startup of the each app
9 years ago
cc9cii 8acc2f31ff Merge pull request #8 from cc9cii/minor-enhancements
Minor enhancements
9 years ago
cc9cii da85b3a4ee Update to keeping config comments (Feature #2535)
-An attempt to fix Coverity-Scan warning (see: https://github.com/OpenMW/openmw/pull/618#discussion_r33641670)
- Unable to test until a PR can be submitted.
9 years ago
cc9cii 5538f822f4 Initial support for Land and LandTexture tables. Updates Features #936 and #933. 9 years ago
cc9cii 870bb491af Fix for issue #6 (https://github.com/cc9cii/openmw/issues/6) where dialogue subview for editing an NPC fails with an "invalid ID" exception.
* NPC autocalc code was looking for non-existent values of race and class, this is now validated first.
* Also took the opportunity to grey out the spells table when auto-calculated. The template specialisation is a bit ugly, though.
9 years ago
cc9cii 5bef43ac14 Remove duplicated config scanning (see: https://forum.openmw.org/viewtopic.php?f=7&t=2922&p=32940#p32940)
* Requires boost::filesystem::canonical() from v1.48
* reduces startup time
* Fixes asset files being listed multiple times in tables
9 years ago
cc9cii 7247da5a77 Fix loading openmw-template.omwgame with debug builds (see: https://forum.openmw.org/viewtopic.php?f=7&p=34026#p34026). Script::load() was failing with debug assertion fail (vector subscript out of range) 9 years ago
cc9cii 2e6a8e1b18 Merge pull request #7 from cc9cii/master-cherry-pick
Merge master (cherry pick)
9 years ago
cc9cii 7e7c028530 Fix formatting issues after cherry-picking commit ab0b5932f7 9 years ago
Marc Zinnschlag 26d617d88b allow keywords in quotes (Fixes #2794) 9 years ago
Arthur Moore f4776112c6 (Re) Wrote a tool to test NIF files in BSAs and on the filesystem.
Just give it a set of files, one file per argument, and it will make sure openmw can read them.
9 years ago
Stanislav Bas 9a936046f6 Add edit locking to ExtendedCommandConfigurator 9 years ago
Stanislav Bas 6033e67b4a Close the extended configurator when all respective records were removed outside 9 years ago
Stanislav Bas 34d8e5dba5 Rewording of the user setting for extended configuration 9 years ago
Stanislav Bas be1cf2fc80 ExtendedCommandConfigurator: layout changes 9 years ago
Stanislav Bas 194888e035 TableBottomBox: Creator/Configurator can be closed via Escape 9 years ago
Stanislav Bas 214a448ecf Fix build error 9 years ago
Stanislav Bas 977f317eb9 ExtendedCommandConfigurator: the perform button is now the default for the widget 9 years ago
Stanislav Bas 09d867c9bf ExtendedCommandConfigurator: the perform button takes the name of the command that is executed 9 years ago
Stanislav Bas 8eb677befb The configuration panel gets a focus when opening 9 years ago
Stanislav Bas bf3891e16f ExtendedCommandConfigurator: disable the perform button when all tables are unchecked 9 years ago
Stanislav Bas 24eb9bddfb TableBottomBox adjusts its size according to the current widget size 9 years ago
Stanislav Bas 6c51e13917 Rework widget layout of ExtendedCommandConfigurator 9 years ago
Stanislav Bas 94725f32d9 Add the ability to configure extended commands for tables 9 years ago
Stanislav Bas 832e910b6f Add the user setting for enabling the configuration of extended commands 9 years ago
Stanislav Bas 297373f436 Add the configuration widget to the bottom box
Conflicts:
	apps/opencs/view/world/tablebottombox.cpp
9 years ago
Stanislav Bas b667500ae2 Add the configuration widget for extended commands
Conflicts:
	apps/opencs/CMakeLists.txt
9 years ago
Stanislav Bas 3280aade39 Don't inform about a nested row addition in proxy models for top-level tables 9 years ago
Stanislav Bas 6a82ce0d50 Rework Table to use rowAdded() signal of a proxy model
Conflicts:
	apps/opencs/view/world/table.cpp
	apps/opencs/view/world/table.hpp
9 years ago
Stanislav Bas 9461baa2ea Inform about a row addition after re-sorting in InfoTableProxyModel 9 years ago
Stanislav Bas f24b293c13 Create a custom signal to inform about a row addition in IdTableProxyModel 9 years ago
scrawl 6c8862e542 Fix a typo 9 years ago
Stanislav Bas 77d5476d46 Proper index creation for nested data 9 years ago
Stanislav Bas 1041c3babb IdTableProxyModel refreshes the filter when the source model data or rows changed 9 years ago
Stanislav Bas ca67e4ea3a Proper sorting of columns with enum values 9 years ago
Rohit Nirmal d037844d6e Fix building OpenCS with Qt 5. 9 years ago
Marc Zinnschlag 73837e2e10 updated credits file 9 years ago
Koncord 386f545c67 Fix definition conflict 9 years ago
Marc Zinnschlag 1d722fcdbc incorrect sBribe GMSTs for new omwgame files (Fixes #2785) 9 years ago
Marc Zinnschlag 833844f5a4 do not allow editing of deleted scripts 9 years ago
Marc Zinnschlag 25bb2983e2 make compilation delay configurable via a user setting 9 years ago
Marc Zinnschlag 7f89d3688f put script compilation in script subview behind a timer 9 years ago
Marc Zinnschlag 9abc57d988 do not try to jump to source location for errors that do not have a source location 9 years ago
Marc Zinnschlag 527ab1aff7 consider column when jumping to error in source text 9 years ago
Marc Zinnschlag 757f7d895a jump to line in source text when clicking on an error in error table 9 years ago
Marc Zinnschlag 6576ac34f6 made error table read only 9 years ago
Marc Zinnschlag e86b8c96f5 improved error table layout 9 years ago
Marc Zinnschlag 446ac998d8 consider script warning settings for script subview 9 years ago
Marc Zinnschlag 092204bd82 refactored mapping from message severity enum to string 9 years ago
Marc Zinnschlag 3ea445cc67 improved error reporting 9 years ago
Marc Zinnschlag c5eec822ae display script errors in script subview 9 years ago
Marc Zinnschlag ecbdd7d753 hooked up script subview buttons to bottom box (enables add and clone) 9 years ago
Marc Zinnschlag 2064a3979b fixed deleted button sensitivity state 9 years ago
Marc Zinnschlag a658efe557 improving consistency of subview layouts 9 years ago
Marc Zinnschlag 286f1c8c5c replaced the script subview status bar with a bottom box (including a status bar)
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
Marc Zinnschlag ab0b5932f7 added user settings option to toggle toolbars in single-record subviews
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
Marc Zinnschlag 05ed8ada11 renaming a few user settings categories 9 years ago
Marc Zinnschlag ee85bbc0e6 added button bar to script subview 9 years ago
scrawl 0671987d10 Fix config file priority in the launcher to match OpenMW 9 years ago
MiroslavR 5dc87e5008 Fix calculation of selected blocks in ScriptEdit 9 years ago
Stanislav Bas fb395e4dc9 Count of nested columns can be retrieved for a collection with no records 9 years ago
Stanislav Bas 27c9eaeffc Add Edit 'ID' action for nested fields 9 years ago
Stanislav Bas bcd0f0f4e4 TableEditIdAction: prevent creation of a UniversalId with Type_None 9 years ago
Stanislav Bas 09a95f276f Add Edit 'ID' action for nested tables
Conflicts:
	apps/opencs/view/world/nestedtable.cpp
9 years ago
Stanislav Bas 561c3bd553 Rework Table (view) code to use a TableEditIdAction 9 years ago
Stanislav Bas 110306f6b0 Create a separate class for Edit 'ID' action to use in tables' context menus 9 years ago
Stanislav Bas ba68201593 IdContextMenu: don't add Edit action if it's already in the context menu 9 years ago
Stanislav Bas bdb063a691 Prevent the Edit 'ID' action for the current ID of the dialogue subview 9 years ago
Stanislav Bas d777c7a68a IdContextMenu: if the ID field is empty show the standard context menu (if available) 9 years ago
Stanislav Bas 814f2d3376 Edit 'ID' action is available in dialogue sub-views (for LineEdits and Labels) 9 years ago
Stanislav Bas efed2556be Create a context menu handler for dialogue editors with ID information 9 years ago
Marc Zinnschlag 2cd62e19d8 implemented sorting in report views (Fixes #2540) 9 years ago
Stanislav Bas 8bf1b66ca2 Add the RecordType column to the MetaData table 9 years ago
Stanislav Bas bec19fde97 Not accepted drag event must be ignored 9 years ago
Stanislav Bas d7ce441b70 Deleted records can be cloned 9 years ago
Stanislav Bas 0809a738b8 Add the proper getErrors() method to CellCreator.
Fix the impossibility of the Exterior Cell creation.
9 years ago
Stanislav Bas 9ef3dced90 Close the creator when the original record is removed (in clone mode) 9 years ago
Stanislav Bas 3a6f708405 Cell type can be changed when cloning a cell 9 years ago
Stanislav Bas 1c9d36a368 Creating/cloning Cell sets the proper Interior flag 9 years ago
Stanislav Bas 0420f21462 Add the ability to add nested values to the Create command 9 years ago
Stanislav Bas 5602992b86 Add the ability to search a nested column index
Conflicts:
	apps/opencs/model/world/idtree.cpp
	apps/opencs/model/world/idtree.hpp
9 years ago
cc9cii 740c8bc6f1 Merge branch 'master' into cc9cii
Conflicts:
	apps/opencs/model/settings/usersettings.cpp
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
cc9cii 448a13b6b2 Merge pull request #4 from cc9cii/npc-autocalc
npc autocalc
9 years ago
cc9cii 2076acec10 Merge branch 'master' into cc9cii 9 years ago
cc9cii e4c6ac22ea Merge branch 'cc9cii' into npc-autocalc 9 years ago
cc9cii 6542ff111d Fix merge issues. 9 years ago
cc9cii 2612a91f8d Merge branch 'master' into autocalc
Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/world/columns.cpp
	apps/opencs/model/world/columns.hpp
	apps/opencs/model/world/data.hpp
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
cc9cii 3e29bb8a86 Fix undo for NPC autocalc changes. Fix the lack of refresh after race powers subtable. 9 years ago
cc9cii 78457a8234 Simplify npc data update and fix data copy when autocal flag changed. 9 years ago
cc9cii 8c39f2b376 Fix dereferencing a null pointer. 9 years ago
cc9cii 273ff1cccb Address review comments. 9 years ago
cc9cii 67b6c86a59 Fix initialisation order - properly this time. 9 years ago
cc9cii 705253e456 Fix initialisation order. 9 years ago
cc9cii 58923591cb Remove extra qualification. 9 years ago
cc9cii b1f07ba4fb Resolve merge issues and change the getSpells() interface. 9 years ago
cc9cii 66877cbfe7 Merge branch 'master' into autocalc
Conflicts:
	apps/opencs/view/world/nestedtable.cpp
	apps/opencs/view/world/util.cpp
9 years ago
cc9cii 7af43a1155 Address review feedback. 9 years ago
cc9cii e5e4a04f8b Remove more c++11 dependencies. 9 years ago
cc9cii 0cf9832017 Add missing files for autocalc. Remove c++11 dependency. 9 years ago
cc9cii 91b9ad399f Include <cmath> for fmod() and floor() 9 years ago
cc9cii 18ec0d3e65 Add missing files for autocalc. 9 years ago
cc9cii 8af12788a4 Merge branch 'master' into autocalc
Conflicts:
	apps/opencs/view/world/util.cpp
9 years ago
cc9cii 6b00d4ad91 Move NPC autocalc to a separate component so that it can be shared between OpenMW and OpenCS.
- Vanilla behaviour mimic'd where possible, except copying over autocalc spells to the npc's spell list when the status changes
9 years ago
cc9cii 3b27e643b8 Merge branch 'master' into cc9cii
Conflicts:
	apps/opencs/view/doc/view.hpp
9 years ago
cc9cii ccf840da2b Merge branch 'master' into autocalc
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
9 years ago
cc9cii ad04046243 Mimic vanilla CS behaviour with NPC stats auto calculations. Should resolve Bug #2663.
- Currently does not auto-update when race, class or skills tables change.
9 years ago
cc9cii 610e659121 Fix physics model not being moved since commit ec80884. 9 years ago
cc9cii f989bfcd42 Merge branch 'master' into cc9cii
Conflicts:
	apps/opencs/model/settings/usersettings.cpp
	apps/opencs/view/doc/view.cpp
	apps/opencs/view/world/table.cpp
	apps/opencs/view/world/table.hpp
9 years ago
cc9cii 92ab61f72f Merge branch 'master' into pathgrid-edit 9 years ago
cc9cii a02448f0ba Merge branch 'master' into pathgrid-edit
Conflicts:
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
9 years ago
cc9cii 193873b829 Feature #1278: Editor: Mouse picking in worldspace widget
- With the move to OSG (see: https://forum.openmw.org/viewtopic.php?f=7&t=2755&p=31850#p31839) all the work done so far will soon be removed from the master branch.
- The pathgrid editing and integration to the model, as well as other improvements made, are unlikely to be accepted to the master.
- These will be maintained here until they can be ported to OSG.  It is easier to port when there is a working code base, anyway.
9 years ago
cc9cii 16bf9716a3 Scroll the selected row to the middle of the viewport. 9 years ago
cc9cii 4152086890 Get the correct index for the type of the record being cloned. 9 years ago
cc9cii 445f828014 Refresh filter only if one exists. Fixes Qt warning message "QSortFilterProxyModel: inconsistent changes reported by source model" when a record is deleted. 9 years ago
cc9cii 85a20be321 Add a per table subview options section and a checkbox option to scroll the table to the modified record (from another subview).
- Always start disabled, needs to be manually set per table
- There is no user preference setting, the options are active during the editing session only
9 years ago
cc9cii 76feca6974 Merge branch 'master' into jump-to-modified 9 years ago
cc9cii 4b57f6c821 Modifying an object instance (e.g. 3D edit) triggers the instances table to scroll to the corresponding record. Should resolve Feature #2554. 9 years ago
cc9cii 89323d1529 Merge pull request #3 from cc9cii/global-filter-shortcut
Global filter shortcuts
9 years ago
cc9cii 60f963382b Feature #2532. Global filter shortcuts for project::added and project::modified.
- Add a startup warning message if global filters are being used.
- Add tooltip messages for the checkbox shortcuts.
9 years ago
cc9cii 3514dac9bc Merge branch 'master' into cc9cii 9 years ago
cc9cii 65a88aaedb Feature #2532. Global filter shortcuts for project::added and project::modified.
- Initial global filter shortcuts are set in the user preferences setting.  These are applied when a table is first opened.
- Subsequent changes are done per table view via tickboxes next to the record filter box.
9 years ago
cc9cii c8d3968107 Merge pull request #2 from cc9cii/save-window-state
Feature #2533.
9 years ago
cc9cii 680e46441d Feature #2533. Similar but less complete implementation PR was not accepted (see https://github.com/OpenMW/openmw/pull/276#issuecomment-57612802).
- User preferences setting to save the window state (position, geometry, etc) at the time of exit.
- User preferences setting to workaround some X window managers not keeping pre-maximised state.
- Uses opencs.ini to store window states between sessions.
9 years ago
cc9cii 3102a17522 Changes made to DialogueSubview pathgrid tables are now reflected on PagedWorldspaceWidget. 9 years ago
cc9cii b46086912c Merge remote-tracking branch 'remotes/upstream/master' into pathgrid-edit 9 years ago
cc9cii e7bd298739 Undo now working via signals. 9 years ago
cc9cii 1a31aecc2f Undo rendering works, but not using signals yet. 9 years ago
cc9cii 27a73a25e3 Saving to document via UndoStack implemented. 9 years ago
cc9cii 0e3e3cbae2 Merge branch 'master' into pathgrid-edit 9 years ago
cc9cii 68dbf929a2 Add updated pathgrid marker nif file and fix merge issues. 9 years ago
cc9cii 03578129c7 Merge branch 'master' into pathgrid-edit
Conflicts:
	apps/opencs/view/render/cell.cpp
9 years ago
cc9cii 6d5899361e Merge branch 'master' into pathgrid-edit 9 years ago
cc9cii 7f7c3d57bd Merge branch 'master' into pathgrid-edit
Conflicts:
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/cell.hpp
9 years ago
cc9cii 4c3c674223 Resolve merge issues. 10 years ago
cc9cii 84f0ddd51c Merge branch 'master' into pathgrid-edit
Conflicts:
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
	apps/opencs/view/render/object.cpp
	apps/opencs/view/render/object.hpp
	apps/opencs/view/render/pagedworldspacewidget.cpp
	apps/opencs/view/render/unpagedworldspacewidget.cpp
	apps/opencs/view/render/worldspacewidget.cpp
10 years ago
cc9cii 6e334064d3 Merge branch 'master' into pathgrid-edit 10 years ago
cc9cii 9703fd95ac Merge branch 'master' into pathgrid-edit
Conflicts:
	apps/opencs/view/render/pagedworldspacewidget.cpp
10 years ago
cc9cii 0a66877cf1 Remove no longer needed code. 10 years ago
cc9cii ba1a42ec05 Don't delete physics object if it was never created. 10 years ago
cc9cii 0e0ad97a91 Pathgrid edge resource management for editing multiple cells or multiple documents. 10 years ago
cc9cii e430dcfd8a Check the resource group's existence before destroying it. 10 years ago
cc9cii 12511778d1 Remove duplicate parameter. 10 years ago
cc9cii 8c6890c682 Move element filtering back out of castRay(). 10 years ago
cc9cii d65adc4376 Reduce code duplication. 10 years ago
cc9cii 3eb556ff8a Enhanced snap functionality for pathgrid points. 10 years ago
cc9cii 407edc770c Added a simplistic snap to closest object or terrain. 10 years ago
cc9cii 1504119da7 Increase the sensitivity of the wheel movement. 10 years ago
cc9cii 48ecea7103 Simplistic drop-to-ground functionality for pathgrid points. 10 years ago
cc9cii 2412d127b0 Fix saving pathgrid positions when adding or moving. 10 years ago
cc9cii d7804974e8 Better mouse cursor tracking for the third axis. 10 years ago
cc9cii 1f73fae6ef Allow adding or dragging pathgrid points over objects as well as terrain. 10 years ago
cc9cii 89eb30054b Fix deleting physic objects. 10 years ago
cc9cii 9f16b86bd8 Fix installing pathgrid_pt.nif 10 years ago
cc9cii f5ba74cd10 Suppress warnings. 10 years ago
cc9cii 895739d6bb Visibility mask working correctly. 10 years ago
cc9cii a5a76cadca Adding, deleting and moving pathgrid points work. However still not saving to the document. 10 years ago
cc9cii 2c09b9ba21 Fix scene node being erased in the object reference map. 10 years ago
cc9cii f2ff2f2988 Render pathgrid points and edges. Can move the points but the edges are not updated. Visibility mask does not work properly because pathgrid points are considered as objects by the physics engine. 10 years ago

@ -0,0 +1,2 @@
patreon: davidcernat
custom: https://www.paypal.me/DavidCernat

5
.gitignore vendored

@ -5,7 +5,7 @@ CMakeCache.txt
cmake_install.cmake
Makefile
makefile
build*
build*/
prebuilt
##windows build process
@ -31,6 +31,8 @@ files/windows/*.aps
cmake-build-*
## qt-creator
CMakeLists.txt.user*
.vs
.vscode
## resources
data
@ -82,5 +84,4 @@ moc_*.cxx
*ui_playpage.h
*.[ao]
*.so
openmw.appdata.xml
venv/

@ -1,69 +1,414 @@
# Note: We set `needs` on each job to control the job DAG.
# See https://docs.gitlab.com/ee/ci/yaml/#needs
stages:
- build
Debian:
.Debian_Image:
tags:
- docker
- linux
image: gcc
image: debian:bullseye
.Debian:
extends: .Debian_Image
cache:
key: apt-cache
paths:
- apt-cache/
before_script:
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
- apt-get update -yq
- apt-get -o dir::cache::archives="$APT_CACHE_DIR" install -y cmake libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev libsdl2-dev libqt4-dev libopenal-dev libopenscenegraph-3.4-dev libunshield-dev libtinyxml-dev
# - apt-get install -y libmygui-dev libbullet-dev # to be updated to latest below because stretch is too old
- curl http://ftp.us.debian.org/debian/pool/main/b/bullet/libbullet-dev_2.87+dfsg-2_amd64.deb -o libbullet-dev_2.87+dfsg-2_amd64.deb
- curl http://ftp.us.debian.org/debian/pool/main/b/bullet/libbullet2.87_2.87+dfsg-2_amd64.deb -o libbullet2.87_2.87+dfsg-2_amd64.deb
- curl http://ftp.us.debian.org/debian/pool/main/m/mygui/libmygui.openglplatform0debian1v5_3.2.2+dfsg-1_amd64.deb -o libmygui.openglplatform0debian1v5_3.2.2+dfsg-1_amd64.deb
- curl http://ftp.us.debian.org/debian/pool/main/m/mygui/libmyguiengine3debian1v5_3.2.2+dfsg-1_amd64.deb -o libmyguiengine3debian1v5_3.2.2+dfsg-1_amd64.deb
- curl http://ftp.us.debian.org/debian/pool/main/m/mygui/libmygui-dev_3.2.2+dfsg-1_amd64.deb -o libmygui-dev_3.2.2+dfsg-1_amd64.deb
- dpkg --ignore-depends=libmygui.ogreplatform0debian1v5 -i *.deb
- ccache/
stage: build
script:
- cores_to_use=$((`nproc`-2)); if (( $cores_to_use < 1 )); then cores_to_use=1; fi
- mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=MinSizeRel ../
- make -j$cores_to_use
- DESTDIR=artifacts make install
script:
- export CCACHE_BASEDIR="`pwd`"
- export CCACHE_DIR="`pwd`/ccache" && mkdir -pv "$CCACHE_DIR"
- ccache -z -M "${CCACHE_SIZE}"
- CI/before_script.linux.sh
- cd build
- cmake --build . -- -j $(nproc)
- cmake --install .
- if [[ "${BUILD_TESTS_ONLY}" ]]; then ./openmw_test_suite; fi
- if [[ "${BUILD_TESTS_ONLY}" ]]; then ./openmw_detournavigator_navmeshtilescache_benchmark; fi
- ccache -s
artifacts:
paths:
- build/artifacts/
MacOS:
- build/install/
Coverity:
extends: .Debian_Image
stage: build
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule"'
before_script:
- CI/install_debian_deps.sh gcc openmw-deps openmw-deps-dynamic coverity
- curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64 --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN
- tar xfz /tmp/cov-analysis-linux64.tgz
script:
- CI/before_script.linux.sh
# Add more than just `openmw` once we can build everything under 3h
- cov-analysis-linux64-*/bin/cov-build --dir cov-int cmake --build build -- -j $(nproc) openmw
after_script:
- tar cfz cov-int.tar.gz cov-int
- curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
--form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
--form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID"
variables:
CC: gcc
CXX: g++
timeout: 8h
Debian_GCC:
extends: .Debian
cache:
key: Debian_GCC.v2
before_script:
- CI/install_debian_deps.sh gcc openmw-deps openmw-deps-dynamic
variables:
CC: gcc
CXX: g++
CCACHE_SIZE: 3G
# When CCache doesn't exist (e.g. first build on a fork), build takes more than 1h, which is the default for forks.
timeout: 2h
Debian_GCC_tests:
extends: Debian_GCC
cache:
key: Debian_GCC_tests.v2
variables:
CCACHE_SIZE: 1G
BUILD_TESTS_ONLY: 1
Debian_GCC_Static_Deps:
extends: Debian_GCC
cache:
key: Debian_GCC_Static_Deps
paths:
- apt-cache/
- ccache/
- build/extern/fetched/
before_script:
- CI/install_debian_deps.sh gcc openmw-deps openmw-deps-static
variables:
CI_OPENMW_USE_STATIC_DEPS: 1
Debian_GCC_Static_Deps_tests:
extends: Debian_GCC_Static_Deps
cache:
key: Debian_GCC_Static_Deps_tests
variables:
CCACHE_SIZE: 1G
BUILD_TESTS_ONLY: 1
Debian_Clang:
extends: .Debian
before_script:
- CI/install_debian_deps.sh clang openmw-deps openmw-deps-dynamic
cache:
key: Debian_Clang.v2
variables:
CC: clang
CXX: clang++
CCACHE_SIZE: 2G
# When CCache doesn't exist (e.g. first build on a fork), build takes more than 1h, which is the default for forks.
timeout: 2h
Debian_Clang_tests:
extends: Debian_Clang
cache:
key: Debian_Clang_tests.v2
variables:
CCACHE_SIZE: 1G
BUILD_TESTS_ONLY: 1
.MacOS:
image: macos-11-xcode-12
tags:
- macos
- xcode
except:
- branches # because our CI VMs are not public, MRs can't use them and timeout
- shared-macos-amd64
stage: build
allow_failure: true
only:
variables:
- $CI_PROJECT_ID == "7107382"
cache:
paths:
- ccache/
script:
- rm -fr build/* # remove anything in the build directory
- rm -fr build # remove the build directory
- CI/before_install.osx.sh
- export CCACHE_BASEDIR="$(pwd)"
- export CCACHE_DIR="$(pwd)/ccache"
- mkdir -pv "${CCACHE_DIR}"
- ccache -z -M "${CCACHE_SIZE}"
- CI/before_script.osx.sh
- cd build; make -j2 package
- cd build; make -j $(sysctl -n hw.logicalcpu) package
- for dmg in *.dmg; do mv "$dmg" "${dmg%.dmg}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}.dmg"; done
- ccache -s
artifacts:
paths:
- build/OpenMW-*.dmg
- "build/**/*.log"
macOS11_Xcode12:
extends: .MacOS
image: macos-11-xcode-12
allow_failure: true
cache:
key: macOS11_Xcode12.v1
variables:
CCACHE_SIZE: 3G
macOS10.15_Xcode11:
extends: .MacOS
image: macos-10.15-xcode-11
cache:
key: macOS10.15_Xcode11.v1
variables:
CCACHE_SIZE: 3G
variables: &engine-targets
targets: "openmw,openmw-essimporter,openmw-iniimporter,openmw-launcher,openmw-wizard"
package: "Engine"
variables: &cs-targets
targets: "openmw-cs,bsatool,esmtool,niftest"
package: "CS"
variables: &tests-targets
targets: "openmw_test_suite,openmw_detournavigator_navmeshtilescache_benchmark"
package: "Tests"
.Windows_Ninja_Base:
tags:
- windows
before_script:
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
- choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolatey/" --priority=1
- choco install git --force --params "/GitAndUnixToolsOnPath" -y
- choco install 7zip -y
- choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
- choco install vswhere -y
- choco install ninja -y
- choco install python -y
- refreshenv
stage: build
script:
- $time = (Get-Date -Format "HH:mm:ss")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -N -b -t
- cd MSVC2019_64_Ninja
- .\ActivateMSVC.ps1
- cmake --build . --config $config --target ($targets.Split(','))
- cd $config
- echo "CI_COMMIT_REF_NAME ${CI_COMMIT_REF_NAME}`nCI_JOB_ID ${CI_JOB_ID}`nCI_COMMIT_SHA ${CI_COMMIT_SHA}" | Out-File -Encoding UTF8 CI-ID.txt
- |
if (Get-ChildItem -Recurse *.pdb) {
7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb' CI-ID.txt
Get-ChildItem -Recurse *.pdb | Remove-Item
}
- 7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}.zip '*'
- if ($executables) { foreach ($exe in $executables.Split(',')) { & .\$exe } }
after_script:
- Copy-Item C:\ProgramData\chocolatey\logs\chocolatey.log
cache:
key: ninja-v2
paths:
- deps
- MSVC2019_64_Ninja/deps/Qt
artifacts:
when: always
paths:
- "*.zip"
- "*.log"
- MSVC2019_64_Ninja/*.log
- MSVC2019_64_Ninja/*/*.log
- MSVC2019_64_Ninja/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*/*/*.log
- MSVC2019_64_Ninja/*/*/*/*/*/*/*/*.log
Windows:
Windows_Ninja_Engine_Release:
extends:
- .Windows_Ninja_Base
variables:
<<: *engine-targets
config: "Release"
Windows_Ninja_Engine_Debug:
extends:
- .Windows_Ninja_Base
variables:
<<: *engine-targets
config: "Debug"
Windows_Ninja_Engine_RelWithDebInfo:
extends:
- .Windows_Ninja_Base
variables:
<<: *engine-targets
config: "RelWithDebInfo"
Windows_Ninja_CS_Release:
extends:
- .Windows_Ninja_Base
variables:
<<: *cs-targets
config: "Release"
Windows_Ninja_CS_Debug:
extends:
- .Windows_Ninja_Base
variables:
<<: *cs-targets
config: "Debug"
Windows_Ninja_CS_RelWithDebInfo:
extends:
- .Windows_Ninja_Base
variables:
<<: *cs-targets
config: "RelWithDebInfo"
Windows_Ninja_Tests_RelWithDebInfo:
extends: .Windows_Ninja_Base
stage: build
variables:
<<: *tests-targets
config: "RelWithDebInfo"
# Gitlab can't successfully execute following binaries due to unknown reason
# executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"
.Windows_MSBuild_Base:
tags:
- win10
- msvc2017
except:
- branches # because our CI VMs are not public, MRs can't use them and timeout
- windows
before_script:
- Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
- choco source add -n=openmw-proxy -s="https://repo.openmw.org/repository/Chocolatey/" --priority=1
- choco install git --force --params "/GitAndUnixToolsOnPath" -y
- choco install 7zip -y
- choco install cmake.install --installargs 'ADD_CMAKE_TO_PATH=System' -y
- choco install vswhere -y
- choco install python -y
- refreshenv
stage: build
allow_failure: true
script:
# - env # turn on for debugging
- sh %CI_PROJECT_DIR%/CI/before_script.msvc.sh -c Release -p x64 -v 2017 -V
- SET msBuildLocation="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\msbuild.exe"
- call %msBuildLocation% MSVC2017_64\OpenMW.sln /t:Build /p:Configuration=Release /m:%NUMBER_OF_PROCESSORS%
- 7z a OpenMW_MSVC2017_64_%CI_BUILD_REF_NAME%_%CI_BUILD_ID%.zip %CI_PROJECT_DIR%\MSVC2017_64\Release\
- $time = (Get-Date -Format "HH:mm:ss")
- echo ${time}
- echo "started by ${GITLAB_USER_NAME}"
- sh CI/before_script.msvc.sh -c $config -p Win64 -v 2019 -k -V -b -t
- cd MSVC2019_64
- cmake --build . --config $config --target ($targets.Split(','))
- cd $config
- echo "CI_COMMIT_REF_NAME ${CI_COMMIT_REF_NAME}`nCI_JOB_ID ${CI_JOB_ID}`nCI_COMMIT_SHA ${CI_COMMIT_SHA}" | Out-File -Encoding UTF8 CI-ID.txt
- |
if (Get-ChildItem -Recurse *.pdb) {
7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}_${CI_JOB_ID}_symbols.zip '*.pdb' CI-ID.txt
Get-ChildItem -Recurse *.pdb | Remove-Item
}
- 7z a -tzip ..\..\OpenMW_MSVC2019_64_${package}_${config}_${CI_COMMIT_REF_NAME}.zip '*'
- if ($executables) { foreach ($exe in $executables.Split(',')) { & .\$exe } }
after_script:
- Copy-Item C:\ProgramData\chocolatey\logs\chocolatey.log
cache:
key: msbuild-v2
paths:
- deps
- MSVC2019_64/deps/Qt
artifacts:
when: always
paths:
- "*.zip"
- "*.log"
- MSVC2019_64/*.log
- MSVC2019_64/*/*.log
- MSVC2019_64/*/*/*.log
- MSVC2019_64/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*/*/*.log
- MSVC2019_64/*/*/*/*/*/*/*/*.log
Windows_MSBuild_Engine_Release:
extends:
- .Windows_MSBuild_Base
variables:
<<: *engine-targets
config: "Release"
Windows_MSBuild_Engine_Debug:
extends:
- .Windows_MSBuild_Base
variables:
<<: *engine-targets
config: "Debug"
Windows_MSBuild_Engine_RelWithDebInfo:
extends:
- .Windows_MSBuild_Base
variables:
<<: *engine-targets
config: "RelWithDebInfo"
Windows_MSBuild_CS_Release:
extends:
- .Windows_MSBuild_Base
variables:
<<: *cs-targets
config: "Release"
Windows_MSBuild_CS_Debug:
extends:
- .Windows_MSBuild_Base
variables:
<<: *cs-targets
config: "Debug"
Windows_MSBuild_CS_RelWithDebInfo:
extends:
- .Windows_MSBuild_Base
variables:
<<: *cs-targets
config: "RelWithDebInfo"
Windows_MSBuild_Tests_RelWithDebInfo:
extends: .Windows_MSBuild_Base
stage: build
variables:
<<: *tests-targets
config: "RelWithDebInfo"
# Gitlab can't successfully execute following binaries due to unknown reason
# executables: "openmw_test_suite.exe,openmw_detournavigator_navmeshtilescache_benchmark.exe"
Debian_AndroidNDK_arm64-v8a:
tags:
- linux
image: debian:bullseye
variables:
CCACHE_SIZE: 3G
cache:
key: Debian_AndroidNDK_arm64-v8a.v3
paths:
- apt-cache/
- ccache/
- build/extern/fetched/
before_script:
- export APT_CACHE_DIR=`pwd`/apt-cache && mkdir -pv $APT_CACHE_DIR
- echo "deb http://deb.debian.org/debian unstable main contrib" > /etc/apt/sources.list
- echo "google-android-ndk-installer google-android-installers/mirror select https://dl.google.com" | debconf-set-selections
- apt-get update -yq
- apt-get -q -o dir::cache::archives="$APT_CACHE_DIR" install -y cmake ccache curl unzip git build-essential google-android-ndk-installer
stage: build
script:
- export CCACHE_BASEDIR="`pwd`"
- export CCACHE_DIR="`pwd`/ccache" && mkdir -pv "$CCACHE_DIR"
- ccache -z -M "${CCACHE_SIZE}"
- CI/before_install.android.sh
- CI/before_script.android.sh
- cd build
- cmake --build . -- -j $(nproc)
- cmake --install .
- ccache -s
artifacts:
paths:
- build/install/
# When CCache doesn't exist (e.g. first build on a fork), build takes more than 1h, which is the default for forks.
timeout: 1h30m

@ -0,0 +1,10 @@
version: 2
sphinx:
configuration: docs/source/conf.py
python:
version: 3.8
install:
- requirements: docs/requirements.txt

@ -1,10 +1,4 @@
os:
- linux
# - osx
osx_image: xcode9.4
language: cpp
sudo: required
dist: xenial
branches:
only:
- master
@ -15,69 +9,83 @@ env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: 1QK0yVyoOB+gf2I7XzvhXu9w/5lq4stBXIwJbVCTjz4Q4XVHCosURaW1MAgKzMrPnbFEwjyn5uQ8BwsvvfkuN1AZD0YXITgc7gyI+J1wQ/p/ljxRxglakU6WEgsTs2J5z9UmGac4YTXg+quK7YP3rv+zuGim2I2rhzImejyzp0Ym3kRCnNcy+SGBsiRaevRJMe00Ch8zGAbEhduQGeSoS6W0rcu02DNlQKiq5NktWsXR+TWWWVfIeIlQR/lbPsCd0pdxMaMv2QCY0rVbwrYxWJwr/Qe45dAdWp+8/C3PbXpeMSGxlLa33nJNX4Lf/djxbjm8KWk6edaXPajrjR/0iwcpwq0jg2Jt6XfEdnJt35F1gpXlc04sxStjG45uloOKCFYT0wdhIO1Lq+hDP54wypQl+JInd5qC001O7pwhVxO36EgKWqo8HD+BqGDBwsNj2engy9Qcp3wO6G0rLBPB3CrZsk9wrHVv5cSiQSLMhId3Xviu3ZI2qEDA+kgTvxrKrsnMj4bILVCyG5Ka2Mj22wIDW9e8oIab9oTdujax3DTN1GkD6QuOAGzwDsNwGASsgfoeZ+FUhgM75RlBWGMilgkmnF7EJ0oAXLEpjtABnEr2d4qHv+y08kOuTDBLB9ExzCIj024dYYYNLZrqPKx0ncHuCMG2QNj2aJAJEZtj1rQ=
- secure: "1QK0yVyoOB+gf2I7XzvhXu9w/5lq4stBXIwJbVCTjz4Q4XVHCosURaW1MAgKzMrPnbFEwjyn5uQ8BwsvvfkuN1AZD0YXITgc7gyI+J1wQ/p/ljxRxglakU6WEgsTs2J5z9UmGac4YTXg+quK7YP3rv+zuGim2I2rhzImejyzp0Ym3kRCnNcy+SGBsiRaevRJMe00Ch8zGAbEhduQGeSoS6W0rcu02DNlQKiq5NktWsXR+TWWWVfIeIlQR/lbPsCd0pdxMaMv2QCY0rVbwrYxWJwr/Qe45dAdWp+8/C3PbXpeMSGxlLa33nJNX4Lf/djxbjm8KWk6edaXPajrjR/0iwcpwq0jg2Jt6XfEdnJt35F1gpXlc04sxStjG45uloOKCFYT0wdhIO1Lq+hDP54wypQl+JInd5qC001O7pwhVxO36EgKWqo8HD+BqGDBwsNj2engy9Qcp3wO6G0rLBPB3CrZsk9wrHVv5cSiQSLMhId3Xviu3ZI2qEDA+kgTvxrKrsnMj4bILVCyG5Ka2Mj22wIDW9e8oIab9oTdujax3DTN1GkD6QuOAGzwDsNwGASsgfoeZ+FUhgM75RlBWGMilgkmnF7EJ0oAXLEpjtABnEr2d4qHv+y08kOuTDBLB9ExzCIj024dYYYNLZrqPKx0ncHuCMG2QNj2aJAJEZtj1rQ="
cache: ccache
addons:
apt:
sources:
- sourceline: 'ppa:openmw/openmw'
- sourceline: 'ppa:rakhimov/boost'
- ubuntu-toolchain-r-test
packages: [
# Dev
cmake, clang-6.0, libunshield-dev, libtinyxml-dev,
g++-8,
# Tests
libgtest-dev, google-mock,
cmake, clang-tools-7, gcc-8, g++-8, ccache,
# Boost
libboost-filesystem1.61-dev, libboost-program-options1.61-dev, libboost-system1.61-dev,
libboost-filesystem-dev, libboost-iostreams-dev, libboost-program-options-dev, libboost-system-dev,
# FFmpeg
libavcodec-dev, libavformat-dev, libavutil-dev, libswscale-dev,
# Audio & Video
libsdl2-dev, qtbase5-dev, libopenal-dev,
libavcodec-dev, libavformat-dev, libavutil-dev, libswresample-dev, libswscale-dev,
# Audio, Video and Misc. deps
libsdl2-dev, libqt5opengl5-dev, libopenal-dev, libunshield-dev, libtinyxml-dev, liblz4-dev,
# The other ones from OpenMW ppa
libbullet-dev, libswresample-dev, libopenscenegraph-3.4-dev, libmygui-dev,
libbullet-dev, libopenscenegraph-3.4-dev, libmygui-dev,
# tes3mp stuff
libboost1.61-dev, libqt5opengl5-dev, libluajit-5.1-dev
libboost-dev, libqt5opengl5-dev, libluajit-5.1-dev
]
coverity_scan:
project:
name: "TES3MP/openmw-tes3mp"
description: "<Your project description here>"
notification_email: koncord@tes3mp.com
build_command_prepend: "cmake . -DBUILD_UNITTESTS=FALSE -DBUILD_OPENCS=FALSE -DBUILD_BSATOOL=FALSE -DBUILD_ESMTOOL=FALSE -DBUILD_MWINIIMPORTER=FALSE -DBUILD_LAUNCHER=FALSE"
build_command: "make -j3"
branch_pattern: coverity_scan
notification_email: koncord@tes3mp.com
build_command_prepend: "cov-configure --comptype gcc --compiler gcc-8 --template; cmake . -DBUILD_UNITTESTS=FALSE -DBUILD_OPENCS=FALSE -DBUILD_BSATOOL=FALSE -DBUILD_ESMTOOL=FALSE -DBUILD_MWINIIMPORTER=FALSE -DBUILD_LAUNCHER=FALSE"
build_command: "make VERBOSE=1 -j3"
matrix:
include:
- os: linux
env:
- ANALYZE="scan-build-6.0 --use-cc clang-6.0 --use-c++ clang++-6.0 "
- MATRIX_CC="CC=clang-6.0 && CXX=clang++-6.0"
- ANALYZE="scan-build-7 --use-cc clang-7 --use-c++ clang++-7 "
- MATRIX_CC="CC=clang-7 && CXX=clang++-7"
compiler: clang
sudo: required
dist: bionic
- os: linux
env:
- MATRIX_CC="CC=gcc-8 && CXX=g++-8"
sudo: required
dist: bionic
- os: linux
env:
- MATRIX_CC="CC=clang-6.0 && CXX=clang++-6.0"
- MATRIX_CC="CC=clang-7 && CXX=clang++-7"
sudo: required
dist: bionic
allow_failures:
- env:
- MATRIX_CC="CC=clang-6.0 && CXX=clang++-6.0"
- MATRIX_CC="CC=clang-7 && CXX=clang++-7"
- env:
- ANALYZE="scan-build-6.0 --use-cc clang-6.0 --use-c++ clang++-6.0 "
- MATRIX_CC="CC=clang-6.0 && CXX=clang++-6.0"
- ANALYZE="scan-build-7 --use-cc clang-7 --use-c++ clang++-7 "
- MATRIX_CC="CC=clang-7 && CXX=clang++-7"
before_install:
- ./CI/before_install.${TRAVIS_OS_NAME}.sh
before_script: ./CI/before_script.${TRAVIS_OS_NAME}.sh
- ./CI/before_install.${TRAVIS_OS_NAME}.sh
before_script:
- ccache -z
- ./CI/before_script.${TRAVIS_OS_NAME}.sh
script:
- cd ./build
- if [ "$COVERITY_SCAN_BRANCH" != 1 ]; then ${ANALYZE}make -j3; fi
- if [ "$COVERITY_SCAN_BRANCH" != 1 ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then make package; fi
- if [ "$COVERITY_SCAN_BRANCH" != 1 ] && [ "${TRAVIS_OS_NAME}" = "linux" ]; then ./openmw_test_suite; fi
- if [ "$COVERITY_SCAN_BRANCH" != 1 ] && [ "${TRAVIS_OS_NAME}" = "linux" ]; then cd .. && ./CI/check_tabs.sh; fi
- ${ANALYZE} make -j3; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then make package; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then ../CI/check_package.osx.sh; fi
- if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${BUILD_TESTS_ONLY}" ]; then ./openmw_test_suite; fi
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then cd .. && ./CI/check_tabs.sh; fi
- cd "${TRAVIS_BUILD_DIR}"
- ccache -s
#deploy:
# provider: script
# script: ./CI/deploy.osx.sh
# skip_cleanup: true
# on:
# branch: master
# condition: "$TRAVIS_EVENT_TYPE = cron && $TRAVIS_OS_NAME = osx"
# repo: TES3MP/openmw-tes3mp
#notifications:
# email:
# recipients:

@ -4,13 +4,16 @@ Contributors
The OpenMW project was started in 2008 by Nicolay Korslund.
In the course of years many people have contributed to the project.
If you feel your name is missing from this list, please notify a developer.
If you feel your name is missing from this list, please add it to `AUTHORS.md`.
Programmers
-----------
Marc Zinnschlag (Zini) - Lead Programmer/Project Manager
Bret Curtis (psi29a) - Project leader 2019-present
Marc Zinnschlag (Zini) - Project leader 2010-2018
Nicolay Korslund - Project leader 2008-2010
scrawl - Top contributor
Adam Hogan (aurix)
Aesylwinn
@ -21,32 +24,40 @@ Programmers
Alex McKibben
alexanderkjall
Alexander Nadeau (wareya)
Alexander Olofsson (Ace)
Alexander Olofsson (Ananace)
Alex Rice
Alex S (docwest)
Allofich
Andrei Kortunov (akortunov)
AnyOldName3
Aussiemon
Austin Salgat (Salgat)
Ardekantur
Armin Preiml
Artem Kotsynyak (greye)
Artem Nykolenko (anikm21)
artemutin
Arthur Moore (EmperorArthur)
Assumeru
athile
Aussiemon
Austin Salgat (Salgat)
Ben Shealy (bentsherman)
Bret Curtis (psi29a)
Berulacks
Britt Mathis (galdor557)
Capostrophic
Carl Maxwell
cc9cii
Cédric Mocquillon
Chris Boyce (slothlife)
Chris Robinson (KittyCat)
Cody Glassman (Wazabear)
Coleman Smith (olcoal)
Cory F. Cohen (cfcohen)
Cris Mihalache (Mirceam)
crussell187
DanielVukelich
darkf
David Cernat (davidcernat)
Declan Millar (declan-millar)
devnexen
Dieho
Dmitry Shkurskiy (endorph)
@ -54,10 +65,11 @@ Programmers
Douglas Mencken (dougmencken)
dreamer-dead
David Teviotdale (dteviot)
Diggory Hardy
Dmitry Marakasov (AMDmi3)
Edmondo Tommasina (edmondo)
Eduard Cot (trombonecot)
Eli2
elsid
Emanuel Guével (potatoesmaster)
eroen
escondida
@ -66,16 +78,28 @@ Programmers
Fil Krynicki (filkry)
Finbar Crago(finbar-crago)
Florian Weber (Florianjw)
Frédéric Chardon (fr3dz10)
Gaëtan Dezeiraud (Brouilles)
Gašper Sedej
Gijsbert ter Horst (Ghostbird)
Gohan1989
gugus/gus
Hallfaer Tuilinn
guidoj
Haoda Wang (h313)
hristoast
Internecine
Jacob Essex (Yacoby)
Jackerty
Jacob Essex (Yacoby)
Jacob Turnbull (Tankinfrank)
Jake Westrip (16bitint)
James Carty (MrTopCat)
James Moore (moore.work)
James Stephens (james-h-stephens)
Jan-Peter Nilsson (peppe)
Jan Borsodi (am0s)
Jason Hooks (jhooks)
jeaye
jefetienne
Jeffrey Haines (Jyby)
Jengerer
Jiří Kuneš (kunesj)
@ -84,6 +108,7 @@ Programmers
John Blomberg (fstp)
Jordan Ayers
Jordan Milne
Josua Grawitter
Jules Blok (Armada651)
julianko
Julien Voisin (jvoisin/ap0)
@ -95,11 +120,11 @@ Programmers
lazydev
Leon Krieg (lkrieg)
Leon Saunders (emoose)
Łukasz Gołębiewski (lukago)
logzero
lohikaarme
Lordrea
Łukasz Gołębiewski (lukago)
Lukasz Gromanowski (lgro)
Manuel Edelmann (vorenon)
Marc Bouvier (CramitDeFrog)
Marcin Hulist (Gohan)
Mark Siewert (mark76)
@ -108,10 +133,13 @@ Programmers
Martin Otto (MAtahualpa)
Mateusz Kołaczek (PL_kolek)
Mateusz Malisz (malice)
Max Henzerling (SaintMercury)
megaton
Michael Hogan (Xethik)
Michael Mc Donnell
Michael Papageorgiou (werdanith)
Michael Stopa (Stomy)
Michał Ściubidło (mike-sc)
Michał Bień (Glorf)
Michał Moroz (dragonee)
Miloslav Číž (drummyfish)
@ -120,18 +148,25 @@ Programmers
Mitchell Schwitzer (schwitzerm)
naclander
Narmo
Nat Meo (Utopium)
Nathan Jeffords (blunted2night)
NeveHanter
Nialsy
Nick Crawford (nighthawk469)
Nikolay Kasyanov (corristo)
nobrakal
Nolan Poe (nopoe)
Oleg Chkan (mrcheko)
Paul Cercueil (pcercuei)
Paul McElroy (Greendogo)
pchan3
Perry Hugh
Petr Mikheev (ptmikheev)
Phillip Andrews (PhillipAnd)
Pi03k
Pieter van der Kloet (pvdk)
pkubik
PLkolek
PlutonicOverkill
Radu-Marius Popovici (rpopovici)
Rafael Moura (dhustkoder)
@ -145,33 +180,49 @@ Programmers
Roman Proskuryakov (kpp)
Roman Siromakha (elsid)
Sandy Carter (bwrsandman)
Scott Howard
scrawl
Scott Howard (maqifrnswa)
Sebastian Wick (swick)
Sergey Shambir
Sergey Fukanchik
Sergey Shambir (sergey-shambir)
sergoz
ShadowRadiance
Siimacore
Simon Meulenbeek (simonmb)
sir_herrbatka
smbas
Sophie Kirschner (pineapplemachine)
spycrab
Stefan Galowicz (bogglez)
Stanislav Bobrov (Jiub)
Stanislaw Halik (sthalik)
Star-Demon
stil-t
svaante
Sylvain Thesnieres (Garvek)
t6
terrorfisch
Tess (tescoShoppah)
thegriglat
Thomas Luppi (Digmaster)
tlmullis
tri4ng1e
unelsson
Will Herrmann (Thunderforge)
Thoronador
Tom Mason (wheybags)
Torben Leif Carrington (TorbenC)
unelsson
uramer
viadanna
Vincent Heuken
Vladimir Panteleev (CyberShadow)
Wang Ryu (bzzt)
Will Herrmann (Thunderforge)
vocollapse
xyzz
Yohaulticetl
Yuri Krupenin
zelurker
Noah Gooder
Andrew Appuhamy (andrew-app)
Documentation
-------------
@ -181,13 +232,17 @@ Documentation
Bodillium
Bret Curtis (psi29a)
Cramal
David Walley (Loriel)
Diego Crespo
Joakim Berg (lysol90)
Ryan Tucker (Ravenwing)
sir_herrbatka
Packagers
---------
Alexander Olofsson (Ace) - Windows
Alexander Olofsson (Ananace) - Windows and Flatpak
Alexey Sokolov (DarthGandalf) - Gentoo Linux
Bret Curtis (psi29a) - Debian and Ubuntu Linux
Edmondo Tommasina (edmondo) - Gentoo Linux
Julian Ospald (hasufell) - Gentoo Linux
@ -201,13 +256,19 @@ Public Relations and Translations
Artem Kotsynyak (greye) - Russian News Writer
Dawid Lakomy (Vedyimyn) - Polish News Writer
ElderTroll - Release Manager
Jim Clauwaert (Zedd) - Public Outreach
juanmnzsk8 - Spanish News Writer
Julien Voisin (jvoisin/ap0) - French News Writer
Kingpix - Italian News Writer
Lukasz Gromanowski (lgro) - English News Writer
Martin Otto (Atahualpa) - Podcaster, Public Outreach, German Translator
Mickey Lyle (raevol) - Release Manager
Nekochan - English News Writer
penguinroad - Indonesian News Writer
Pithorn - Chinese News Writer
sir_herrbatka - Polish News Writer
spyboot - German Translator
Tom Koenderink (Okulo) - English News Writer
Website
@ -237,34 +298,6 @@ Artwork
Mickey Lyle (raevol) - Wordpress Theme
Tom Koenderink (Okulo), SirHerrbatka, crysthala, Shnatsel, Lamoot - OpenMW Editor Icons
Inactive Contributors
---------------------
Ardekantur
Armin Preiml
Berulacks
Carl Maxwell
Diggory Hardy
Dmitry Marakasov (AMDmi3)
ElderTroll
guidoj
Jan-Peter Nilsson (peppe)
Jan Borsodi
Josua Grawitter
juanmnzsk8
Kingpix
Lordrea
Michal Sciubidlo
Nicolay Korslund
Nekochan
pchan3
penguinroad
sergoz
spyboot
Star-Demon
Thoronador
Yuri Krupenin
Additional Credits
------------------
In this section we would like to thank people not part of OpenMW for their work.
@ -279,4 +312,4 @@ Thanks to Kevin Ryan,
for creating the icon used for the Data Files tab of the OpenMW Launcher.
Thanks to DejaVu team,
for their DejaVuLGCSansMono fontface, see DejaVu Font License.txt for their license terms.
for their DejaVuLGCSansMono fontface, see DejaVuFontLicense.txt for their license terms.

@ -1,10 +1,482 @@
0.47.0
------
Bug #1662: Qt4 and Windows binaries crash if there's a non-ASCII character in a file path/config path
Bug #1901: Actors colliding behaviour is different from vanilla
Bug #1952: Incorrect particle lighting
Bug #2069: Fireflies in Fireflies invade Morrowind look wrong
Bug #2311: Targeted scripts are not properly supported on non-unique RefIDs
Bug #2473: Unable to overstock merchants
Bug #2976: [reopened]: Issues combining settings from the command line and both config files
Bug #3137: Walking into a wall prevents jumping
Bug #3372: Projectiles and magic bolts go through moving targets
Bug #3676: NiParticleColorModifier isn't applied properly
Bug #3714: Savegame fails to load due to conflict between SpellState and MagicEffects
Bug #3789: Crash in visitEffectSources while in battle
Bug #3862: Random container contents behave differently than vanilla
Bug #3929: Leveled list merchant containers respawn on barter
Bug #4021: Attributes and skills are not stored as floats
Bug #4039: Multiple followers should have the same following distance
Bug #4055: Local scripts don't inherit variables from their base record
Bug #4083: Door animation freezes when colliding with actors
Bug #4247: Cannot walk up stairs in Ebonheart docks
Bug #4357: OpenMW-CS: TopicInfos index sorting and rearranging isn't fully functional
Bug #4363: OpenMW-CS: Defect in Clone Function for Dialogue Info records
Bug #4447: Actor collision capsule shape allows looking through some walls
Bug #4465: Collision shape overlapping causes twitching
Bug #4476: Abot Gondoliers: player hangs in air during scenic travel
Bug #4568: Too many actors in one spot can push other actors out of bounds
Bug #4623: Corprus implementation is incorrect
Bug #4631: Setting MSAA level too high doesn't fall back to highest supported level
Bug #4764: Data race in osg ParticleSystem
Bug #4765: Data race in ChunkManager -> Array::setBinding
Bug #4774: Guards are ignorant of an invisible player that tries to attack them
Bug #5026: Data races with rain intensity uniform set by sky and used by water
Bug #5101: Hostile followers travel with the player
Bug #5108: Savegame bloating due to inefficient fog textures format
Bug #5165: Active spells should use real time intead of timestamps
Bug #5300: NPCs don't switch from torch to shield when starting combat
Bug #5358: ForceGreeting always resets the dialogue window completely
Bug #5363: Enchantment autocalc not always 0/1
Bug #5364: Script fails/stops if trying to startscript an unknown script
Bug #5367: Selecting a spell on an enchanted item per hotkey always plays the equip sound
Bug #5369: Spawnpoint in the Grazelands doesn't produce oversized creatures
Bug #5370: Opening an unlocked but trapped door uses the key
Bug #5384: OpenMW-CS: Deleting an instance requires reload of scene window to show in editor
Bug #5387: Move/MoveWorld don't update the object's cell properly
Bug #5391: Races Redone 1.2 bodies don't show on the inventory
Bug #5397: NPC greeting does not reset if you leave + reenter area
Bug #5400: OpenMW-CS: Verifier checks race of non-skin bodyparts
Bug #5403: Enchantment effect doesn't show on an enemy during death animation
Bug #5415: Environment maps in ebony cuirass and HiRez Armors Indoril cuirass don't work
Bug #5416: Junk non-node records before the root node are not handled gracefully
Bug #5422: The player loses all spells when resurrected
Bug #5423: Guar follows actors too closely
Bug #5424: Creatures do not headtrack player
Bug #5425: Poison effect only appears for one frame
Bug #5427: GetDistance unknown ID error is misleading
Bug #5431: Physics performance degradation after a specific number of actors on a scene
Bug #5435: Enemies can't hurt the player when collision is off
Bug #5441: Enemies can't push a player character when in critical strike stance
Bug #5451: Magic projectiles don't disappear with the caster
Bug #5452: Autowalk is being included in savegames
Bug #5469: Local map is reset when re-entering certain cells
Bug #5472: Mistify mod causes CTD in 0.46 on Mac
Bug #5473: OpenMW-CS: Cell border lines don't update properly on terrain change
Bug #5479: NPCs who should be walking around town are standing around without walking
Bug #5484: Zero value items shouldn't be able to be bought or sold for 1 gold
Bug #5485: Intimidate doesn't increase disposition on marginal wins
Bug #5490: Hits to carried left slot aren't redistributed if there's no shield equipped
Bug #5499: Faction advance is available when requirements not met
Bug #5502: Dead zone for analogue stick movement is too small
Bug #5507: Sound volume is not clamped on ingame settings update
Bug #5525: Case-insensitive search in the inventory window does not work with non-ASCII characters
Bug #5531: Actors flee using current rotation by axis x
Bug #5539: Window resize breaks when going from a lower resolution to full screen resolution
Bug #5548: Certain exhausted topics can be highlighted again even though there's no new dialogue
Bug #5557: Diagonal movement is noticeably slower with analogue stick
Bug #5588: Randomly clicking on the journal's right-side page when it's empty shows random topics
Bug #5603: Setting constant effect cast style doesn't correct effects view
Bug #5604: Only one valid NIF root node is loaded from a single file
Bug #5611: Usable items with "0 Uses" should be used only once
Bug #5619: Input events are queued during save loading
Bug #5622: Can't properly interact with the console when in pause menu
Bug #5627: Bookart not shown if it isn't followed by <BR> statement
Bug #5633: Damage Spells in effect before god mode is enabled continue to hurt the player character and can kill them
Bug #5639: Tooltips cover Messageboxes
Bug #5644: Summon effects running on the player during game initialization cause crashes
Bug #5656: Sneaking characters block hits while standing
Bug #5661: Region sounds don't play at the right interval
Bug #5675: OpenMW-CS: FRMR subrecords are saved with the wrong MastIdx
Bug #5680: Bull Netches incorrectly aim over the player character's head and always miss
Bug #5681: Player character can clip or pass through bridges instead of colliding against them
Bug #5687: Bound items covering the same inventory slot expiring at the same time freezes the game
Bug #5688: Water shader broken indoors with enable indoor shadows = false
Bug #5695: ExplodeSpell for actors doesn't target the ground
Bug #5703: OpenMW-CS menu system crashing on XFCE
Bug #5706: AI sequences stop looping after the saved game is reloaded
Bug #5713: OpenMW-CS: Collada models are corrupted in Qt-based scene view
Bug #5731: OpenMW-CS: skirts are invisible on characters
Bug #5739: Saving and loading the save a second or two before hitting the ground doesn't count fall damage
Bug #5758: Paralyzed actors behavior is inconsistent with vanilla
Bug #5762: Movement solver is insufficiently robust
Bug #5800: Equipping a CE enchanted ring deselects an already equipped and selected enchanted ring from the spell menu
Bug #5807: Video decoding crash on ARM
Bug #5821: NPCs from mods getting removed if mod order was changed
Bug #5835: OpenMW doesn't accept negative values for NPC's hello, alarm, fight, and flee
Bug #5836: OpenMW dialogue/greeting/voice filter doesn't accept negative Ai values for NPC's hello, alarm, fight, and flee
Bug #5838: Local map and other menus become blank in some locations while playing Wizards' Islands mod.
Bug #5840: GetSoundPlaying "Health Damage" doesn't play when NPC hits target with shield effect ( vanilla engine behavior )
Bug #5841: Can't Cast Zero Cost Spells When Magicka is < 0
Bug #5869: Guards can initiate arrest dialogue behind locked doors
Bug #5871: The console appears if you type the Russian letter "Ё" in the name of the enchantment
Bug #5877: Effects appearing with empty icon
Bug #5899: Visible modal windows and dropdowns crashing game on exit
Bug #5902: NiZBufferProperty is unable to disable the depth test
Bug #5906: Sunglare doesn't work with Mesa drivers and AMD GPUs
Bug #5912: ImprovedBound mod doesn't work
Bug #5914: BM: The Swimmer can't reach destination
Bug #5923: Clicking on empty spaces between journal entries might show random topics
Bug #5934: AddItem command doesn't accept negative values
Bug #5975: NIF controllers from sheath meshes are used
Bug #5991: Activate should always be allowed for inventory items
Bug #5995: NiUVController doesn't calculate the UV offset properly
Bug #6007: Crash when ending cutscene is playing
Bug #6016: Greeting interrupts Fargoth's sneak-walk
Bug #6022: OpenMW-CS: Terrain selection is not updated when undoing/redoing terrain changes
Bug #6023: OpenMW-CS: Clicking on a reference in "Terrain land editing" mode discards corresponding select/edit action
Bug #6028: Particle system controller values are incorrectly used
Bug #6035: OpenMW-CS: Circle brush in "Terrain land editing" mode sometimes includes vertices outside its radius
Bug #6036: OpenMW-CS: Terrain selection at the border of cells omits certain corner vertices
Bug #6043: Actor can have torch missing when torch animation is played
Bug #6047: Mouse bindings can be triggered during save loading
Bug #6136: Game freezes when NPCs try to open doors that are about to be closed
Bug #6294: Game crashes with empty pathgrid
Feature #390: 3rd person look "over the shoulder"
Feature #832: OpenMW-CS: Handle deleted references
Feature #1536: Show more information about level on menu
Feature #2159: "Graying out" exhausted dialogue topics
Feature #2386: Distant Statics in the form of Object Paging
Feature #2404: Levelled List can not be placed into a container
Feature #2686: Timestamps in openmw.log
Feature #2798: Mutable ESM records
Feature #3171: OpenMW-CS: Instance drag selection
Feature #3983: Wizard: Add link to buy Morrowind
Feature #4201: Projectile-projectile collision
Feature #4486: Handle crashes on Windows
Feature #4894: Consider actors as obstacles for pathfinding
Feature #4899: Alpha-To-Coverage Anti-Aliasing for alpha testing
Feature #4917: Do not trigger NavMesh update when RecastMesh update should not change NavMesh
Feature #4977: Use the "default icon.tga" when an item's icon is not found
Feature #5043: Head Bobbing
Feature #5199: OpenMW-CS: Improve scene view colors
Feature #5297: Add a search function to the "Datafiles" tab of the OpenMW launcher
Feature #5362: Show the soul gems' trapped soul in count dialog
Feature #5445: Handle NiLines
Feature #5456: Basic collada animation support
Feature #5457: Realistic diagonal movement
Feature #5486: Fixes trainers to choose their training skills based on their base skill points
Feature #5500: Prepare enough navmesh tiles before scene loading ends
Feature #5511: Add in game option to toggle HRTF support in OpenMW
Feature #5519: Code Patch tab in launcher
Feature #5524: Resume failed script execution after reload
Feature #5545: Option to allow stealing from an unconscious NPC during combat
Feature #5551: Do not reboot PC after OpenMW installation on Windows
Feature #5563: Run physics update in background thread
Feature #5579: MCP SetAngle enhancement
Feature #5580: Service refusal filtering
Feature #5610: Actors movement should be smoother
Feature #5642: Ability to attach arrows to actor skeleton instead of bow mesh
Feature #5649: Skyrim SE compressed BSA format support
Feature #5672: Make stretch menu background configuration more accessible
Feature #5692: Improve spell/magic item search to factor in magic effect names
Feature #5730: Add graphic herbalism option to the launcher and documents
Feature #5771: ori command should report where a mesh is loaded from and whether the x version is used.
Feature #5813: Instanced groundcover support
Feature #5814: Bsatool should be able to create BSA archives, not only to extract it
Feature #5828: Support more than 8 lights
Feature #5910: Fall back to delta time when physics can't keep up
Feature #5980: Support Bullet with double precision instead of one with single precision
Feature #6024: OpenMW-CS: Selecting terrain in "Terrain land editing" should support "Add to selection" and "Remove from selection" modes
Feature #6033: Include pathgrid to navigation mesh
Feature #6034: Find path based on area cost depending on NPC stats
Task #5480: Drop Qt4 support
Task #5520: Improve cell name autocompleter implementation
0.46.0
------
Bug #1515: Opening console masks dialogue, inventory menu
Bug #1933: Actors can have few stocks of the same item
Bug #2395: Duplicated plugins in the launcher when multiple data directories provide the same plugin
Bug #2679: Unable to map mouse wheel under control settings
Bug #2969: Scripted items can stack
Bug #2976: [reopened in 0.47] Data lines in global openmw.cfg take priority over user openmw.cfg
Bug #2987: Editor: some chance and AI data fields can overflow
Bug #3006: 'else if' operator breaks script compilation
Bug #3109: SetPos/Position handles actors differently
Bug #3282: Unintended behaviour when assigning F3 and Windows keys
Bug #3550: Companion from mod attacks the air after combat has ended
Bug #3609: Items from evidence chest are not considered to be stolen if player is allowed to use the chest
Bug #3623: Display scaling breaks mouse recognition
Bug #3725: Using script function in a non-conditional expression breaks script compilation
Bug #3733: Normal maps are inverted on mirrored UVs
Bug #3765: DisableTeleporting makes Mark/Recall/Intervention effects undetectable
Bug #3778: [Mod] Improved Thrown Weapon Projectiles - weapons have wrong transformation during throw animation
Bug #3812: Wrong multiline tooltips width when word-wrapping is enabled
Bug #3894: Hostile spell effects not detected/present on first frame of OnPCHitMe
Bug #3977: Non-ASCII characters in object ID's are not supported
Bug #4009: Launcher does not show data files on the first run after installing
Bug #4077: Enchanted items are not recharged if they are not in the player's inventory
Bug #4141: PCSkipEquip isn't set to 1 when reading books/scrolls
Bug #4240: Ash storm origin coordinates and hand shielding animation behavior are incorrect
Bug #4262: Rain settings are hardcoded
Bug #4270: Closing doors while they are obstructed desyncs closing sfx
Bug #4276: Resizing character window differs from vanilla
Bug #4284: ForceSneak behaviour is inconsistent if the target has AiWander package
Bug #4329: Removed birthsign abilities are restored after reloading the save
Bug #4341: Error message about missing GDB is too vague
Bug #4383: Bow model obscures crosshair when arrow is drawn
Bug #4384: Resist Normal Weapons only checks ammunition for ranged weapons
Bug #4411: Reloading a saved game while falling prevents damage in some cases
Bug #4449: Value returned by GetWindSpeed is incorrect
Bug #4456: AiActivate should not be cancelled after target activation
Bug #4493: If the setup doesn't find what it is expecting, it fails silently and displays the requester again instead of letting the user know what wasn't found.
Bug #4523: "player->ModCurrentFatigue -0.001" in global script does not cause the running player to fall
Bug #4540: Rain delay when exiting water
Bug #4594: Actors without AI packages don't use Hello dialogue
Bug #4598: Script parser does not support non-ASCII characters
Bug #4600: Crash when no sound output is available or --no-sound is used.
Bug #4601: Filtering referenceables by gender is broken
Bug #4639: Black screen after completing first mages guild mission + training
Bug #4650: Focus is lost after pressing ESC in confirmation dialog inside savegame dialog
Bug #4680: Heap corruption on faulty esp
Bug #4701: PrisonMarker record is not hardcoded like other markers
Bug #4703: Editor: it's possible to preview levelled list records
Bug #4705: Editor: unable to open exterior cell views from Instances table
Bug #4714: Crash upon game load in the repair menu while the "Your repair failed!" message is active
Bug #4715: "Cannot get class of an empty object" exception after pressing ESC in the dialogue mode
Bug #4720: Inventory avatar has shield with two-handed weapon during [un]equipping animation
Bug #4723: ResetActors command works incorrectly
Bug #4736: LandTexture records overrides do not work
Bug #4745: Editor: Interior cell lighting field values are not displayed as colors
Bug #4746: Non-solid player can't run or sneak
Bug #4747: Bones are not read from X.NIF file for NPC animation
Bug #4748: Editor: Cloned, moved, added instances re-use RefNum indices
Bug #4750: Sneaking doesn't work in first person view if the player is in attack ready state
Bug #4756: Animation issues with VAOs
Bug #4757: Content selector: files can be cleared when there aren't any files to clear
Bug #4768: Fallback numerical value recovery chokes on invalid arguments
Bug #4775: Slowfall effect resets player jumping flag
Bug #4778: Interiors of Illusion puzzle in Sotha Sil Expanded mod is broken
Bug #4783: Blizzard behavior is incorrect
Bug #4787: Sneaking makes 1st person walking/bobbing animation super-slow
Bug #4797: Player sneaking and running stances are not accounted for when in air
Bug #4800: Standing collisions are not updated immediately when an object is teleported without a cell change
Bug #4802: You can rest before taking falling damage from landing from a jump
Bug #4803: Stray special characters before begin statement break script compilation
Bug #4804: Particle system with the "Has Sizes = false" causes an exception
Bug #4805: NPC movement speed calculations do not take race Weight into account
Bug #4810: Raki creature broken in OpenMW
Bug #4813: Creatures with known file but no "Sound Gen Creature" assigned use default sounds
Bug #4815: "Finished" journal entry with lower index doesn't close journal, SetJournalIndex closes journal
Bug #4820: Spell absorption is broken
Bug #4823: Jail progress bar works incorrectly
Bug #4826: Uninitialized memory in unit test
Bug #4827: NiUVController is handled incorrectly
Bug #4828: Potion looping effects VFX are not shown for NPCs
Bug #4837: CTD when a mesh with NiLODNode root node with particles is loaded
Bug #4841: Russian localization ignores implicit keywords
Bug #4844: Data race in savegame loading / GlobalMap render
Bug #4847: Idle animation reset oddities
Bug #4851: No shadows since switch to OSG
Bug #4860: Actors outside of processing range visible for one frame after spawning
Bug #4867: Arbitrary text after local variable declarations breaks script compilation
Bug #4876: AI ratings handling inconsistencies
Bug #4877: Startup script executes only on a new game start
Bug #4879: SayDone returns 0 on the frame Say is called
Bug #4888: Global variable stray explicit reference calls break script compilation
Bug #4896: Title screen music doesn't loop
Bug #4902: Using scrollbars in settings causes resolution to change
Bug #4904: Editor: Texture painting with duplicate of a base-version texture
Bug #4911: Editor: QOpenGLContext::swapBuffers() warning with Qt5
Bug #4916: Specular power (shininess) material parameter is ignored when shaders are used.
Bug #4918: Abilities don't play looping VFX when they're initially applied
Bug #4920: Combat AI uses incorrect invisibility check
Bug #4922: Werewolves can not attack if the transformation happens during attack
Bug #4927: Spell effect having both a skill and an attribute assigned is a fatal error
Bug #4932: Invalid records matching when loading save with edited plugin
Bug #4933: Field of View not equal with Morrowind
Bug #4938: Strings from subrecords with actually empty headers can't be empty
Bug #4942: Hand-to-Hand attack type is chosen randomly when "always use best attack" is turned off
Bug #4945: Poor random magic magnitude distribution
Bug #4947: Player character doesn't use lip animation
Bug #4948: Footstep sounds while levitating on ground level
Bug #4952: Torches held by NPCs flicker too quickly
Bug #4961: Flying creature combat engagement takes z-axis into account
Bug #4963: Enchant skill progress is incorrect
Bug #4964: Multiple effect spell projectile sounds play louder than vanilla
Bug #4965: Global light attenuation settings setup is lacking
Bug #4969: "Miss" sound plays for any actor
Bug #4972: Player is able to use quickkeys while disableplayerfighting is active
Bug #4979: AiTravel maximum range depends on "actors processing range" setting
Bug #4980: Drowning mechanics is applied for actors indifferently from distance to player
Bug #4984: "Friendly hits" feature should be used only for player's followers
Bug #4989: Object dimension-dependent VFX scaling behavior is inconsistent
Bug #4990: Dead bodies prevent you from hitting
Bug #4991: Jumping occasionally takes too much fatigue
Bug #4999: Drop instruction behaves differently from vanilla
Bug #5001: Possible data race in the Animation::setAlpha()
Bug #5004: Werewolves shield their eyes during storm
Bug #5012: "Take all" on owned container generates a messagebox per item
Bug #5018: Spell tooltips don't support purely negative magnitudes
Bug #5025: Data race in the ICO::setMaximumNumOfObjectsToCompilePerFrame()
Bug #5028: Offered price caps are not trading-specific
Bug #5038: Enchanting success chance calculations are blatantly wrong
Bug #5047: # in cell names sets color
Bug #5050: Invalid spell effects are not handled gracefully
Bug #5055: Mark, Recall, Intervention magic effect abilities have no effect when added and removed in the same frame
Bug #5056: Calling Cast function on player doesn't equip the spell but casts it
Bug #5059: Modded animation with combined attack keys always does max damage and can double damage
Bug #5060: Magic effect visuals stop when death animation begins instead of when it ends
Bug #5063: Shape named "Tri Shadow" in creature mesh is visible if it isn't hidden
Bug #5067: Ranged attacks on unaware opponents ("critical hits") differ from the vanilla engine
Bug #5069: Blocking creatures' attacks doesn't degrade shields
Bug #5073: NPCs open doors in front of them even if they don't have to
Bug #5074: Paralyzed actors greet the player
Bug #5075: Enchanting cast style can be changed if there's no object
Bug #5078: DisablePlayerLooking is broken
Bug #5081: OpenMW-CS: Apparatus type "Alembic" is erroneously named "Albemic"
Bug #5082: Scrolling with controller in GUI mode is broken
Bug #5087: Some valid script names can't be used as string arguments
Bug #5089: Swimming/Underwater creatures only swim around ground level
Bug #5092: NPCs with enchanted weapons play sound when out of charges
Bug #5093: Hand to hand sound plays on knocked out enemies
Bug #5097: String arguments can't be parsed as number literals in scripts
Bug #5099: Non-swimming enemies will enter water if player is water walking
Bug #5103: Sneaking state behavior is still inconsistent
Bug #5104: Black Dart's enchantment doesn't trigger at low Enchant levels
Bug #5106: Still can jump even when encumbered
Bug #5110: ModRegion with a redundant numerical argument breaks script execution
Bug #5112: Insufficient magicka for current spell not reflected on HUD icon
Bug #5113: Unknown alchemy question mark not centered
Bug #5123: Script won't run on respawn
Bug #5124: Arrow remains attached to actor if pulling animation was cancelled
Bug #5126: Swimming creatures without RunForward animations are motionless during combat
Bug #5134: Doors rotation by "Lock" console command is inconsistent
Bug #5136: LegionUniform script: can not access local variables
Bug #5137: Textures with Clamp Mode set to Clamp instead of Wrap are too dark outside the boundaries
Bug #5138: Actors stuck in half closed door
Bug #5149: Failing lock pick attempts isn't always a crime
Bug #5155: Lock/unlock behavior differs from vanilla
Bug #5158: Objects without a name don't fallback to their ID
Bug #5159: NiMaterialColorController can only control the diffuse color
Bug #5161: Creature companions can't be activated when they are knocked down
Bug #5163: UserData is not copied during node cloning
Bug #5164: Faction owned items handling is incorrect
Bug #5166: Scripts still should be executed after player's death
Bug #5167: Player can select and cast spells before magic menu is enabled
Bug #5168: Force1stPerson and Force3rdPerson commands are not really force view change
Bug #5169: Nested levelled items/creatures have significantly higher chance not to spawn
Bug #5175: Random script function returns an integer value
Bug #5177: Editor: Unexplored map tiles get corrupted after a file with terrain is saved
Bug #5182: OnPCEquip doesn't trigger on skipped beast race attempts to equip something not equippable by beasts
Bug #5186: Equipped item enchantments don't affect creatures
Bug #5190: On-strike enchantments can be applied to and used with non-projectile ranged weapons
Bug #5196: Dwarven ghosts do not use idle animations
Bug #5206: A "class does not have NPC stats" error when player's follower kills an enemy with damage spell
Bug #5209: Spellcasting ignores race height
Bug #5210: AiActivate allows actors to open dialogue and inventory windows
Bug #5211: Screen fades in if the first loaded save is in interior cell
Bug #5212: AiTravel does not work for actors outside of AI processing range
Bug #5213: SameFaction script function is broken
Bug #5218: Crash when disabling ToggleBorders
Bug #5220: GetLOS crashes when actor isn't loaded
Bug #5222: Empty cell name subrecords are not saved
Bug #5223: Bow replacement during attack animation removes attached arrow
Bug #5226: Reputation should be capped
Bug #5229: Crash if mesh controller node has no data node
Bug #5239: OpenMW-CS does not support non-ASCII characters in path names
Bug #5241: On-self absorb spells cannot be detected
Bug #5242: ExplodeSpell behavior differs from Cast behavior
Bug #5246: Water ripples persist after cell change
Bug #5249: Wandering NPCs start walking too soon after they hello
Bug #5250: Creatures display shield ground mesh instead of shield body part
Bug #5255: "GetTarget, player" doesn't return 1 during NPC hello
Bug #5261: Creatures can sometimes become stuck playing idles and never wander again
Bug #5264: "Damage Fatigue" Magic Effect Can Bring Fatigue below 0
Bug #5269: Editor: Cell lighting in resaved cleaned content files is corrupted
Bug #5278: Console command Show doesn't fall back to global variable after local var not found
Bug #5308: World map copying makes save loading much slower
Bug #5313: Node properties of identical type are not applied in the correct order
Bug #5326: Formatting issues in the settings.cfg
Bug #5328: Skills aren't properly reset for dead actors
Bug #5345: Dopey Necromancy does not work due to a missing quote
Bug #5350: An attempt to launch magic bolt causes "AL error invalid value" error
Bug #5352: Light source items' duration is decremented while they aren't visible
Feature #1724: Handle AvoidNode
Feature #2229: Improve pathfinding AI
Feature #3025: Analogue gamepad movement controls
Feature #3442: Default values for fallbacks from ini file
Feature #3517: Multiple projectiles enchantment
Feature #3610: Option to invert X axis
Feature #3871: Editor: Terrain Selection
Feature #3893: Implicit target for "set" function in console
Feature #3980: In-game option to disable controller
Feature #3999: Shift + Double Click should maximize/restore menu size
Feature #4001: Toggle sneak controller shortcut
Feature #4068: OpenMW-CS: Add a button to reset key bindings to defaults
Feature #4129: Beta Comment to File
Feature #4202: Open .omwaddon files without needing to open openmw-cs first
Feature #4209: Editor: Faction rank sub-table
Feature #4255: Handle broken RepairedOnMe script function
Feature #4316: Implement RaiseRank/LowerRank functions properly
Feature #4360: Improve default controller bindings
Feature #4544: Actors movement deceleration
Feature #4673: Weapon sheathing
Feature #4675: Support for NiRollController
Feature #4708: Radial fog support
Feature #4730: Native animated containers support
Feature #4784: Launcher: Duplicate Content Lists
Feature #4812: Support NiSwitchNode
Feature #4831: Item search in the player's inventory
Feature #4836: Daytime node switch
Feature #4840: Editor: Transient terrain change support
Feature #4859: Make water reflections more configurable
Feature #4882: Support for NiPalette node
Feature #4887: Add openmw command option to set initial random seed
Feature #4890: Make Distant Terrain configurable
Feature #4944: Pause audio when OpenMW is minimized
Feature #4958: Support eight blood types
Feature #4962: Add casting animations for magic items
Feature #4968: Scalable UI widget skins
Feature #4971: OpenMW-CS: Make rotations display as degrees instead of radians
Feature #4994: Persistent pinnable windows hiding
Feature #5000: Compressed BSA format support
Feature #5005: Editor: Instance window via Scene window
Feature #5010: Native graphics herbalism support
Feature #5031: Make GetWeaponType function return different values for tools
Feature #5033: Magic armor mitigation for creatures
Feature #5034: Make enchanting window stay open after a failed attempt
Feature #5036: Allow scripted faction leaving
Feature #5046: Gamepad thumbstick cursor speed
Feature #5051: Provide a separate textures for scrollbars
Feature #5091: Human-readable light source duration
Feature #5094: Unix like console hotkeys
Feature #5098: Allow user controller bindings
Feature #5114: Refresh launcher mod list
Feature #5121: Handle NiTriStrips and NiTriStripsData
Feature #5122: Use magic glow for enchanted arrows
Feature #5131: Custom skeleton bones
Feature #5132: Unique animations for different weapon types
Feature #5146: Safe Dispose corpse
Feature #5147: Show spell magicka cost in spell buying window
Feature #5170: Editor: Land shape editing, land selection
Feature #5172: Editor: Delete instances/references with keypress in scene window
Feature #5193: Shields sheathing
Feature #5201: Editor: Show tool outline in scene view, when using editmodes
Feature #5219: Impelement TestCells console command
Feature #5224: Handle NiKeyframeController for NiTriShape
Feature #5274: Editor: Keyboard shortcut to drop objects to ground/obstacle in scene view
Feature #5304: Morrowind-style bump-mapping
Feature #5311: Support for gyroscopic input (e.g. Android)
Feature #5314: Ingredient filter in the alchemy window
Task #4686: Upgrade media decoder to a more current FFmpeg API
Task #4695: Optimize Distant Terrain memory consumption
Task #4789: Optimize cell transitions
Task #4721: Add NMake support to the Windows prebuild script
0.45.0
------
Bug #1875: Actors in inactive cells don't heal from resting
Bug #1990: Sunrise/sunset not set correct
Bug #2131: Lustidrike's spell misses the player every time
Bug #2222: Fatigue's effect on selling price is backwards
Bug #2256: Landing sound not playing when jumping immediately after landing
Bug #2274: Thin platform clips through player character instead of lifting
Bug #2326: After a bound item expires the last equipped item of that type is not automatically re-equipped
Bug #2446: Restore Attribute/Skill should allow restoring drained attributes
Bug #2455: Creatures attacks degrade armor
Bug #2562: Forcing AI to activate a teleport door sometimes causes a crash
Bug #2626: Resurrecting the player does not resume the game
@ -14,14 +486,27 @@
Bug #2862: [macOS] Can't quit launcher using Command-Q or OpenMW->Quit
Bug #2872: Tab completion in console doesn't work with explicit reference
Bug #2971: Compiler did not reject lines with naked expressions beginning with x.y
Bug #3049: Drain and Fortify effects are not properly applied on health, magicka and fatigue
Bug #3059: Unable to hit with marksman weapons when too close to an enemy
Bug #3072: Fatal error on AddItem <item> that has a script containing Equip <item>
Bug #3219: NPC and creature initial position tracing down limit is too small
Bug #3249: Fixed revert function not updating views properly
Bug #3288: TrueType fonts are handled incorrectly
Bug #3374: Touch spells not hitting kwama foragers
Bug #3486: [Mod] NPC Commands does not work
Bug #3533: GetSpellEffects should detect effects with zero duration
Bug #3591: Angled hit distance too low
Bug #3629: DB assassin attack never triggers creature spawning
Bug #3681: OpenMW-CS: Clicking Scripts in Preferences spawns many color pickers
Bug #3762: AddSoulGem and RemoveSpell redundant count arguments break script execution
Bug #3788: GetPCInJail and GetPCTraveling do not work as in vanilla
Bug #3836: Script fails to compile when command argument contains "\n"
Bug #3876: Landscape texture painting is misaligned
Bug #3890: Magic light source attenuation is inaccurate
Bug #3897: Have Goodbye give all choices the effects of Goodbye
Bug #3911: [macOS] Typing in the "Content List name" dialog box produces double characters
Bug #3920: RemoveSpellEffects doesn't remove constant effects
Bug #3948: AiCombat moving target aiming uses incorrect speed for magic projectiles
Bug #3950: FLATTEN_STATIC_TRANSFORMS optimization breaks animated collision shapes
Bug #3993: Terrain texture blending map is not upscaled
Bug #3997: Almalexia doesn't pace
@ -30,21 +515,28 @@
Bug #4110: Fixed undo / redo menu text losing the assigned shortcuts
Bug #4125: OpenMW logo cropped on bugtracker
Bug #4215: OpenMW shows book text after last EOL tag
Bug #4217: Fixme implementation differs from Morrowind's
Bug #4221: Characters get stuck in V-shaped terrain
Bug #4230: AiTravel package issues break some Tribunal quests
Bug #4231: Infected rats from the "Crimson Plague" quest rendered unconscious by change in Drain Fatigue functionality
Bug #4251: Stationary NPCs do not return to their position after combat
Bug #4260: Keyboard navigation makes persuasion exploitable
Bug #4271: Scamp flickers when attacking
Bug #4274: Pre-0.43 death animations are not forward-compatible with 0.43+
Bug #4286: Scripted animations can be interrupted
Bug #4291: Non-persistent actors that started the game as dead do not play death animations
Bug #4292: CenterOnCell implementation differs from vanilla
Bug #4293: Faction members are not aware of faction ownerships in barter
Bug #4304: "Follow" not working as a second AI package
Bug #4307: World cleanup should remove dead bodies only if death animation is finished
Bug #4311: OpenMW does not handle RootCollisionNode correctly
Bug #4327: Missing animations during spell/weapon stance switching
Bug #4333: Keyboard navigation in containers is not intuitive
Bug #4358: Running animation is interrupted when magic mode is toggled
Bug #4368: Settings window ok button doesn't have key focus by default
Bug #4378: On-self absorb spells restore stats
Bug #4393: NPCs walk back to where they were after using ResetActors
Bug #4416: Handle exception if we try to play non-music file
Bug #4416: Non-music files crash the game when they are tried to be played
Bug #4419: MRK NiStringExtraData is handled incorrectly
Bug #4426: RotateWorld behavior is incorrect
Bug #4429: [Windows] Error on build INSTALL.vcxproj project (debug) with cmake 3.7.2
@ -60,8 +552,11 @@
Bug #4459: NotCell dialogue condition doesn't support partial matches
Bug #4460: Script function "Equip" doesn't bypass beast restrictions
Bug #4461: "Open" spell from non-player caster isn't a crime
Bug #4463: %g format doesn't return more digits
Bug #4464: OpenMW keeps AiState cached storages even after we cancel AI packages
Bug #4467: Content selector: cyrillic characters are decoded incorrectly in plugin descriptions
Bug #4469: Abot Silt Striders Model turn 90 degrees on horizontal
Bug #4470: Non-bipedal creatures with Weapon & Shield flag have inconsistent behaviour
Bug #4474: No fallback when getVampireHead fails
Bug #4475: Scripted animations should not cause movement
Bug #4479: "Game" category on Advanced page is getting too long
@ -75,19 +570,64 @@
Bug #4503: Cast and ExplodeSpell commands increase alteration skill
Bug #4510: Division by zero in MWMechanics::CreatureStats::setAttribute
Bug #4519: Knockdown does not discard movement in the 1st-person mode
Bug #4527: Sun renders on water shader in some situations where it shouldn't
Bug #4531: Movement does not reset idle animations
Bug #4532: Underwater sfx isn't tied to 3rd person camera
Bug #4539: Paper Doll is affected by GUI scaling
Bug #4543: Picking cursed items through inventory (menumode) makes it disappear
Bug #4545: Creatures flee from werewolves
Bug #4551: Replace 0 sound range with default range separately
Bug #4553: Forcegreeting on non-actor opens a dialogue window which cannot be closed
Bug #4557: Topics with reserved names are handled differently from vanilla
Bug #4558: Mesh optimizer: check for reserved node name is case-sensitive
Bug #4560: OpenMW does not update pinned windows properly
Bug #4563: Fast travel price logic checks destination cell instead of service actor cell
Bug #4565: Underwater view distance should be limited
Bug #4573: Player uses headtracking in the 1st-person mode
Bug #4574: Player turning animations are twitchy
Bug #4575: Weird result of attack animation blending with movement animations
Bug #4576: Reset of idle animations when attack can not be started
Bug #4591: Attack strength should be 0 if player did not hold the attack button
Bug #4593: Editor: Instance dragging is broken
Bug #4597: <> operator causes a compile error
Bug #4604: Picking up gold from the ground only makes 1 grabbed
Bug #4607: Scaling for animated collision shapes is applied twice
Bug #4608: Falling damage is applied twice
Bug #4611: Instant magic effects have 0 duration in custom spell cost calculations unlike vanilla
Bug #4614: Crash due to division by zero when FlipController has no textures
Bug #4615: Flicker effects for light sources are handled incorrectly
Bug #4617: First person sneaking offset is not applied while the character is in air
Bug #4618: Sneaking is possible while the character is flying
Bug #4622: Recharging enchanted items with Soul Gems does not award experience if it fails
Bug #4628: NPC record reputation, disposition and faction rank should have unsigned char type
Bug #4633: Sneaking stance affects speed even if the actor is not able to crouch
Bug #4641: GetPCJumping is handled incorrectly
Bug #4644: %Name should be available for all actors, not just for NPCs
Bug #4646: Weapon force-equipment messes up ongoing attack animations
Bug #4648: Hud thinks that throwing weapons have condition
Bug #4649: Levelup fully restores health
Bug #4653: Length of non-ASCII strings is handled incorrectly in ESM reader
Bug #4654: Editor: UpdateVisitor does not initialize skeletons for animated objects
Bug #4656: Combat AI: back up behaviour is incorrect
Bug #4668: Editor: Light source color is displayed as an integer
Bug #4669: ToggleCollision should trace the player down after collision being enabled
Bug #4671: knownEffect functions should use modified Alchemy skill
Bug #4672: Pitch factor is handled incorrectly for crossbow animations
Bug #4674: Journal can be opened when settings window is open
Bug #4677: Crash in ESM reader when NPC record has DNAM record without DODT one
Bug #4678: Crash in ESP parser when SCVR has no variable names
Bug #4684: Spell Absorption is additive
Bug #4685: Missing sound causes an exception inside Say command
Bug #4689: Default creature soundgen entries are not used
Bug #4691: Loading bar for cell should be moved up when text is still active at bottom of screen
Feature #912: Editor: Add missing icons to UniversalId tables
Feature #1221: Editor: Creature/NPC rendering
Feature #1617: Editor: Enchantment effect record verifier
Feature #1645: Casting effects from objects
Feature #2606: Editor: Implemented (optional) case sensitive global search
Feature #2787: Use the autogenerated collision box, if the creature mesh has no predefined one
Feature #2845: Editor: add record view and preview default keybindings
Feature #2847: Content selector: allow to copy the path to a file by using the context menu
Feature #3083: Play animation when NPC is casting spell via script
Feature #3103: Provide option for disposition to get increased by successful trade
Feature #3276: Editor: Search - Show number of (remaining) search results and indicate a search without any results
@ -96,6 +636,7 @@
Feature #4012: Editor: Write a log file if OpenCS crashes
Feature #4222: 360° screenshots
Feature #4256: Implement ToggleBorders (TB) console command
Feature #4285: Support soundgen calls for activators
Feature #4324: Add CFBundleIdentifier in Info.plist to allow for macOS function key shortcuts
Feature #4345: Add equivalents for the command line commands to Launcher
Feature #4404: Editor: All EnumDelegate fields should have their items sorted alphabetically
@ -107,8 +648,26 @@
Feature #4548: Weapon priority: use the actual chance to hit the target instead of weapon skill
Feature #4549: Weapon priority: use the actual damage in weapon rating calculations
Feature #4550: Weapon priority: make ranged weapon bonus more sensible
Feature #4579: Add option for applying Strength into hand to hand damage
Feature #4581: Use proper logging system
Feature #4624: Spell priority: don't cast hit chance-affecting spells if the enemy is not in respective stance at the moment
Feature #4625: Weapon priority: use weighted mean for melee damage rating
Feature #4626: Weapon priority: account for weapon speed
Feature #4632: AI priority: utilize vanilla AI GMSTs for priority rating
Feature #4636: Use sTo GMST in spellmaking menu
Feature #4642: Batching potion creation
Feature #4647: Cull actors outside of AI processing range
Feature #4682: Use the collision box from basic creature mesh if the X one have no collisions
Feature #4697: Use the real thrown weapon damage in tooltips and AI
Task #2490: Don't open command prompt window on Release-mode builds automatically
Task #4545: Enable is_pod string test
Task #4605: Optimize skinning
Task #4606: Support Rapture3D's OpenAL driver
Task #4613: Incomplete type errors when compiling with g++ on OSX 10.9
Task #4621: Optimize combat AI
Task #4643: Revise editor record verifying functionality
Task #4645: Use constants instead of widely used magic numbers
Task #4652: Move call to enemiesNearby() from InputManager::rest() to World::canRest()
0.44.0
------

@ -0,0 +1,53 @@
*** PLEASE PUT YOUR ISSUE DESCRIPTION FOR DUMMIES HERE FOR REVIEW ***
- I'm just a placeholder description (#1337)
- I'm also just a placeholder description, but I'm a more recent one (#42)
***
0.47.0
------
The OpenMW team is proud to announce the release of version 0.47.0! Grab it from our Downloads Page for all operating systems. ***short summary: XXX ***
Check out the release video (***add link***) and the OpenMW-CS release video (***add link***) by the ***add flattering adjective*** Atahualpa, and see below for the full list of changes.
Known Issues:
- To use generic Linux binaries, Qt4 and libpng12 must be installed on your system
- On macOS, launching OpenMW from OpenMW-CS requires OpenMW.app and OpenMW-CS.app to be siblings
New Features:
- Dialogue to split item stacks now displays the name of the trapped soul for stacks of soul gems (#5362)
- Basics of Collada animations are now supported via osgAnimation plugin (#5456)
New Editor Features:
- Instance selection modes are now implemented (centred cube, corner-dragged cube, sphere) with four user-configurable actions (select only, add to selection, remove from selection, invert selection) (#3171)
Bug Fixes:
- NiParticleColorModifier in NIF files is now properly handled which solves issues regarding particle effects, e.g., smoke and fire (#1952, #3676)
- Targetting non-unique actors in scripts is now supported (#2311)
- Guards no longer ignore attacks of invisible players but rather initiate dialogue and flee if the player resists being arrested (#4774)
- Changing the dialogue window without closing it no longer clears the dialogue history in order to allow, e.g., emulation of three-way dialogue via ForceGreeting (#5358)
- Scripts which try to start a non-existent global script now skip that step and continue execution instead of breaking (#5364)
- Selecting already equipped spells or magic items via hotkey no longer triggers the equip sound to play (#5367)
- 'Scale' argument in levelled creature lists is now taken into account when spawning creatures from such lists (#5369)
- Morrowind legacy madness: Using a key on a trapped door/container now only disarms the trap if the door/container is locked (#5370)
Editor Bug Fixes:
- Deleted and moved objects within a cell are now saved properly (#832)
- Disabled record sorting in Topic and Journal Info tables, implemented drag-move for records (#4357)
- Topic and Journal Info records can now be cloned with a different parent Topic/Journal Id (#4363)
- Verifier no longer checks for alleged 'race' entries in clothing body parts (#5400)
- Cell borders are now properly redrawn when undoing/redoing terrain changes (#5473)
- Loading mods now keeps the master index (#5675)
- Flicker and crashing on XFCE4 fixed (#5703)
- Collada models render properly in the Editor (#5713)
- Terrain-selection grid is now properly updated when undoing/redoing terrain changes (#6022)
- Tool outline and select/edit actions in "Terrain land editing" mode now ignore references (#6023)
- Primary-select and secondary-select actions in "Terrain land editing" mode now behave like in "Instance editing" mode (#6024)
- Using the circle brush to select terrain in the "Terrain land editing" mode no longer selects vertices outside the circle (#6035)
- Vertices at the NW and SE corners of a cell can now also be selected in "Terrain land editing" mode if the adjacent cells aren't loaded yet (#6036)
Miscellaneous:
- Prevent save-game bloating by using an appropriate fog texture format (#5108)
- Ensure that 'Enchantment autocalc" flag is treated as flag in OpenMW-CS and in our esm tools (#5363)

@ -0,0 +1,28 @@
& "${env:COMSPEC}" /c ActivateMSVC.bat "&&" set | ForEach-Object {
if ($_.Contains("=")) {
$name, $value = $_ -split '=', 2
Set-Content env:\"$name" $value
}
}
$MissingTools = $false
$tools = "cl", "link", "rc", "mt"
$descriptions = "MSVC Compiler", "MSVC Linker", "MS Windows Resource Compiler", "MS Windows Manifest Tool"
for ($i = 0; $i -lt $tools.Length; $i++) {
$present = $true
try {
Get-Command $tools[$i] *>&1 | Out-Null
$present = $present -and $?
} catch {
$present = $false
}
if (!$present) {
Write-Warning "$($tools[$i]) ($($descriptions[$i])) missing."
$MissingTools = $true
}
}
if ($MissingTools) {
Write-Error "Some build tools were unavailable after activating MSVC in the shell. It's likely that your Visual Studio $MSVC_DISPLAY_YEAR installation needs repairing."
exit 1
}

@ -0,0 +1,52 @@
#!/bin/bash
oldSettings=$-
set -eu
function restoreOldSettings {
if [[ $oldSettings != *e* ]]; then
set +e
fi
if [[ $oldSettings != *u* ]]; then
set +u
fi
}
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
echo "Error: Script not sourced."
echo "You must source this script for it to work, i.e. "
echo "source ./activate_msvc.sh"
echo "or"
echo ". ./activate_msvc.sh"
restoreOldSettings
exit 1
fi
command -v unixPathAsWindows >/dev/null 2>&1 || function unixPathAsWindows {
if command -v cygpath >/dev/null 2>&1; then
cygpath -w $1
else
echo "$1" | sed "s,^/\([^/]\)/,\\1:/," | sed "s,/,\\\\,g"
fi
}
# capture CMD environment in a shell with MSVC activated
cmd //c "$(unixPathAsWindows "$(dirname "${BASH_SOURCE[0]}")")\ActivateMSVC.bat" "&&" "bash" "-c" "declare -px > declared_env.sh"
source ./declared_env.sh
rm declared_env.sh
MISSINGTOOLS=0
command -v cl >/dev/null 2>&1 || { echo "Error: cl (MSVC Compiler) missing."; MISSINGTOOLS=1; }
command -v link >/dev/null 2>&1 || { echo "Error: link (MSVC Linker) missing."; MISSINGTOOLS=1; }
command -v rc >/dev/null 2>&1 || { echo "Error: rc (MS Windows Resource Compiler) missing."; MISSINGTOOLS=1; }
command -v mt >/dev/null 2>&1 || { echo "Error: mt (MS Windows Manifest Tool) missing."; MISSINGTOOLS=1; }
if [ $MISSINGTOOLS -ne 0 ]; then
echo "Some build tools were unavailable after activating MSVC in the shell. It's likely that your Visual Studio $MSVC_DISPLAY_YEAR installation needs repairing."
restoreOldSettings
return 1
fi
restoreOldSettings

@ -0,0 +1,4 @@
#!/bin/sh -ex
curl -fSL -R -J https://gitlab.com/OpenMW/openmw-deps/-/raw/main/android/openmw-android-deps-20201129.zip -o ~/openmw-android-deps.zip
unzip -o ~/openmw-android-deps -d /usr/lib/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr > /dev/null

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/sh -ex
echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
# Set up compilers
@ -6,17 +6,8 @@ if [ ! -z "${MATRIX_CC}" ]; then
eval "${MATRIX_CC}"
fi
# build libgtest & libgtest_main
sudo mkdir /usr/src/gtest/build
cd /usr/src/gtest/build
sudo cmake .. -DBUILD_SHARED_LIBS=1
sudo make -j4
sudo ln -s /usr/src/gtest/build/libgtest.so /usr/lib/libgtest.so
sudo ln -s /usr/src/gtest/build/libgtest_main.so /usr/lib/libgtest_main.so
cd ~/
git clone https://github.com/TES3MP/CrabNet
cd CrabNet
cmake . -DCRABNET_ENABLE_DLL=OFF -DCRABNET_ENABLE_SAMPLES=OFF -DCMAKE_BUILD_TYPE=Release
make -j3

@ -1,10 +1,22 @@
#!/bin/sh
#!/bin/sh -ex
brew update
# workaround python issue on travis
[ -z "${TRAVIS}" ] && HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --ignore-dependencies python@3.8 || true
[ -z "${TRAVIS}" ] && HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --ignore-dependencies python@3.9 || true
[ -z "${TRAVIS}" ] && HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --ignore-dependencies qt@6 || true
brew outdated cmake || brew upgrade cmake
brew outdated pkgconfig || brew upgrade pkgconfig
brew install qt
# Some of these tools can come from places other than brew, so check before installing
command -v ccache >/dev/null 2>&1 || brew install ccache
command -v cmake >/dev/null 2>&1 || brew install cmake
command -v qmake >/dev/null 2>&1 || brew install qt@5
export PATH="/usr/local/opt/qt@5/bin:$PATH" # needed to use qmake in none default path as qt now points to qt6
curl -fSL -R -J https://downloads.openmw.org/osx/dependencies/openmw-deps-100d2e0.zip -o ~/openmw-deps.zip
ccache --version
cmake --version
qmake --version
curl -fSL -R -J https://gitlab.com/OpenMW/openmw-deps/-/raw/main/macos/openmw-deps-20210617.zip -o ~/openmw-deps.zip
unzip -o ~/openmw-deps.zip -d /private/tmp/openmw-deps > /dev/null
# additional libraries
[ -z "${TRAVIS}" ] && HOMEBREW_NO_AUTO_UPDATE=1 brew install fontconfig

@ -0,0 +1,27 @@
#!/bin/sh -ex
# hack to work around: FFmpeg version is too old, 3.2 is required
sed -i s/"NOT FFVER_OK"/"FALSE"/ CMakeLists.txt
mkdir -p build
cd build
cmake \
-DCMAKE_TOOLCHAIN_FILE=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-21 \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_INSTALL_PREFIX=install \
-DBUILD_BSATOOL=0 \
-DBUILD_NIFTEST=0 \
-DBUILD_ESMTOOL=0 \
-DBUILD_LAUNCHER=0 \
-DBUILD_MWINIIMPORTER=0 \
-DBUILD_ESSIMPORTER=0 \
-DBUILD_OPENCS=0 \
-DBUILD_WIZARD=0 \
-DOPENMW_USE_SYSTEM_MYGUI=OFF \
-DOPENMW_USE_SYSTEM_OSG=OFF \
-DOPENMW_USE_SYSTEM_BULLET=OFF \
..

@ -1,7 +1,42 @@
#!/bin/sh
#!/bin/bash
set -xeo pipefail
free -m
mkdir build
BUILD_UNITTESTS=OFF
BUILD_BENCHMARKS=OFF
if [[ "${BUILD_TESTS_ONLY}" ]]; then
export GOOGLETEST_DIR="${PWD}/googletest/build/install"
env GENERATOR='Unix Makefiles' CONFIGURATION=Release CI/build_googletest.sh
BUILD_UNITTESTS=ON
BUILD_BENCHMARKS=ON
fi
declare -a CMAKE_CONF_OPTS=(
-DCMAKE_C_COMPILER="${CC:-/usr/bin/cc}"
-DCMAKE_CXX_COMPILER="${CXX:-/usr/bin/c++}"
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_INSTALL_PREFIX=install
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DBUILD_SHARED_LIBS=OFF
-DUSE_SYSTEM_TINYXML=ON
-DCMAKE_INSTALL_PREFIX=install
-DRakNet_LIBRARY_RELEASE=~/CrabNet/lib/libRakNetLibStatic.a
-DRakNet_LIBRARY_DEBUG=~/CrabNet/lib/libRakNetLibStatic.a
)
if [[ $CI_OPENMW_USE_STATIC_DEPS ]]; then
CMAKE_CONF_OPTS+=(
-DOPENMW_USE_SYSTEM_MYGUI=OFF
-DOPENMW_USE_SYSTEM_OSG=OFF
-DOPENMW_USE_SYSTEM_BULLET=OFF
)
fi
mkdir -p build
cd build
# Set up compilers
@ -11,29 +46,26 @@ fi
export RAKNET_ROOT=~/CrabNet
export CODE_COVERAGE=0
if [ ! -z "${ANALYZE}" ]; then
CODE_COVERAGE=1
if [[ "${BUILD_TESTS_ONLY}" ]]; then
${ANALYZE} cmake \
"${CMAKE_CONF_OPTS[@]}" \
-DBUILD_OPENMW=OFF \
-DBUILD_OPENMW_MP=OFF \
-DBUILD_BSATOOL=OFF \
-DBUILD_ESMTOOL=OFF \
-DBUILD_LAUNCHER=OFF \
-DBUILD_BROWSER=OFF \
-DBUILD_MWINIIMPORTER=OFF \
-DBUILD_ESSIMPORTER=OFF \
-DBUILD_OPENCS=OFF \
-DBUILD_WIZARD=OFF \
-DBUILD_UNITTESTS=${BUILD_UNITTESTS} \
-DBUILD_BENCHMARKS=${BUILD_BENCHMARKS} \
-DGTEST_ROOT="${GOOGLETEST_DIR}" \
-DGMOCK_ROOT="${GOOGLETEST_DIR}" \
..
else
${ANALYZE} cmake \
"${CMAKE_CONF_OPTS[@]}" \
..
fi
${ANALYZE}cmake .. \
-DDESIRED_QT_VERSION=5 \
-DBUILD_OPENMW_MP=ON \
-DBUILD_BROWSER=ON \
-DBUILD_MASTER=ON \
-DBUILD_WITH_CODE_COVERAGE=${CODE_COVERAGE} \
-DBUILD_BSATOOL=OFF \
-DBUILD_ESMTOOL=OFF \
-DBUILD_ESSIMPORTER=OFF \
-DBUILD_LAUNCHER=OFF \
-DBUILD_MWINIIMPORTER=OFF \
-DBUILD_MYGUI_PLUGIN=OFF \
-DBUILD_OPENCS=OFF \
-DBUILD_WIZARD=OFF \
-DBUILD_UNITTESTS=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBINDIR=/usr/games \
-DCMAKE_BUILD_TYPE="None" \
-DUSE_SYSTEM_TINYXML=TRUE \
-DRakNet_LIBRARY_RELEASE=~/CrabNet/lib/libRakNetLibStatic.a \
-DRakNet_LIBRARY_DEBUG=~/CrabNet/lib/libRakNetLibStatic.a

File diff suppressed because it is too large Load Diff

@ -1,21 +1,29 @@
#!/bin/sh
#!/bin/sh -e
export CXX=clang++
export CC=clang
DEPENDENCIES_ROOT="/private/tmp/openmw-deps/openmw-deps"
QT_PATH=`brew --prefix qt`
QT_PATH=$(brew --prefix qt@5)
CCACHE_EXECUTABLE=$(brew --prefix ccache)/bin/ccache
mkdir build
cd build
cmake \
-D CMAKE_PREFIX_PATH="$DEPENDENCIES_ROOT;$QT_PATH" \
-D CMAKE_OSX_DEPLOYMENT_TARGET="10.9" \
-D CMAKE_OSX_SYSROOT="macosx10.13" \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_C_COMPILER_LAUNCHER="$CCACHE_EXECUTABLE" \
-D CMAKE_CXX_COMPILER_LAUNCHER="$CCACHE_EXECUTABLE" \
-D CMAKE_CXX_FLAGS="-stdlib=libc++" \
-D CMAKE_C_FLAGS_RELEASE="-g -O0" \
-D CMAKE_CXX_FLAGS_RELEASE="-g -O0" \
-D CMAKE_OSX_DEPLOYMENT_TARGET="10.14" \
-D CMAKE_BUILD_TYPE=RELEASE \
-D OPENMW_OSX_DEPLOYMENT=TRUE \
-D DESIRED_QT_VERSION=5 \
-D BUILD_ESMTOOL=FALSE \
-D BUILD_MYGUI_PLUGIN=FALSE \
-D BUILD_OPENMW=TRUE \
-D BUILD_OPENCS=TRUE \
-D BUILD_ESMTOOL=TRUE \
-D BUILD_BSATOOL=TRUE \
-D BUILD_ESSIMPORTER=TRUE \
-D BUILD_NIFTEST=TRUE \
-G"Unix Makefiles" \
..

@ -0,0 +1,17 @@
#!/bin/sh -ex
git clone -b release-1.10.0 https://github.com/google/googletest.git
cd googletest
mkdir build
cd build
cmake \
-D CMAKE_C_COMPILER="${CC}" \
-D CMAKE_CXX_COMPILER="${CXX}" \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_BUILD_TYPE="${CONFIGURATION}" \
-D CMAKE_INSTALL_PREFIX="${GOOGLETEST_DIR}" \
-G "${GENERATOR}" \
..
cmake --build . --config "${CONFIGURATION}" -- -j $(nproc)
cmake --install . --config "${CONFIGURATION}"

@ -0,0 +1,15 @@
#!/usr/bin/env bash
hdiutil attach ./*.dmg -mountpoint "${TRAVIS_BUILD_DIR}/openmw-package" > /dev/null || echo "hdutil has failed"
EXPECTED_PACKAGE_FILES=('Applications' 'OpenMW-CS.app' 'OpenMW.app')
PACKAGE_FILES=$(ls "${TRAVIS_BUILD_DIR}/openmw-package" | LC_ALL=C sort)
DIFF=$(diff <(printf "%s\n" "${EXPECTED_PACKAGE_FILES[@]}") <(printf "%s\n" "${PACKAGE_FILES[@]}"))
DIFF_STATUS=$?
if [[ $DIFF_STATUS -ne 0 ]]; then
echo "The package should only contain an Applications symlink and two applications, see the following diff for details." >&2
echo "$DIFF" >&2
exit 1
fi

@ -1,11 +1,26 @@
#!/bin/sh
cd build
# This script expect the following environment variables to be set:
# - OSX_DEPLOY_KEY: private SSH key, must be encoded like this before adding it to Travis secrets: https://github.com/travis-ci/travis-ci/issues/7715#issuecomment-433301692
# - OSX_DEPLOY_HOST: string specifying SSH of the following format: ssh-user@ssh-host
# - OSX_DEPLOY_PORT: SSH port, it can't be a part of the host string because scp doesn't accept hosts with ports
# - OSX_DEPLOY_HOST_FINGERPRINT: fingerprint of the host, can be obtained by using ssh-keygen -F [host]:port & putting it in double quotes when adding to Travis secrets
DATE=`date +'%d%m%Y'`
SHORT_COMMIT=`git rev-parse --short ${TRAVIS_COMMIT}`
SSH_KEY_PATH="$HOME/.ssh/openmw_deploy"
REMOTE_PATH="\$HOME/nightly"
echo "$OSX_DEPLOY_KEY" > "$SSH_KEY_PATH"
chmod 600 "$SSH_KEY_PATH"
echo "$OSX_DEPLOY_HOST_FINGERPRINT" >> "$HOME/.ssh/known_hosts"
cd build || exit 1
DATE=$(date +'%d%m%Y')
SHORT_COMMIT=$(git rev-parse --short "${TRAVIS_COMMIT}")
TARGET_FILENAME="OpenMW-${DATE}-${SHORT_COMMIT}.dmg"
if ! curl --ssl -u $OSX_FTP_USER:$OSX_FTP_PASSWORD "${OSX_FTP_URL}" --silent | grep $SHORT_COMMIT > /dev/null; then
curl --ssl --ftp-create-dirs -T *.dmg -u $OSX_FTP_USER:$OSX_FTP_PASSWORD "${OSX_FTP_URL}${TARGET_FILENAME}"
if ! ssh -p "$OSX_DEPLOY_PORT" -i "$SSH_KEY_PATH" "$OSX_DEPLOY_HOST" "ls \"$REMOTE_PATH\"" | grep "$SHORT_COMMIT" > /dev/null; then
scp -P "$OSX_DEPLOY_PORT" -i "$SSH_KEY_PATH" ./*.dmg "$OSX_DEPLOY_HOST:$REMOTE_PATH/$TARGET_FILENAME"
else
echo "An existing nightly build for commit ${SHORT_COMMIT} has been found, skipping upload."
fi

@ -0,0 +1,67 @@
#!/bin/bash
set -euo pipefail
print_help() {
echo "usage: $0 [group]..."
echo
echo " available groups: "${!GROUPED_DEPS[@]}""
}
declare -rA GROUPED_DEPS=(
[gcc]="binutils gcc g++ libc-dev"
[clang]="binutils clang"
# Common dependencies for building OpenMW.
[openmw-deps]="
make cmake ccache git pkg-config
libboost-filesystem-dev libboost-program-options-dev
libboost-system-dev libboost-iostreams-dev
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev
libsdl2-dev libqt5opengl5-dev libopenal-dev libunshield-dev libtinyxml-dev
libbullet-dev liblz4-dev libpng-dev libjpeg-dev
ca-certificates
"
# TODO: add librecastnavigation-dev when debian is ready
# These dependencies can alternatively be built and linked statically.
[openmw-deps-dynamic]="libmygui-dev libopenscenegraph-dev"
[coverity]="curl"
# Pre-requisites for building MyGUI and OSG for static linking.
#
# * MyGUI and OSG: libsdl2-dev liblz4-dev libfreetype6-dev
# * OSG: libgl-dev
#
# Plugins:
# * DAE: libcollada-dom-dev libboost-system-dev libboost-filesystem-dev
# * JPEG: libjpeg-dev
# * PNG: libpng-dev
[openmw-deps-static]="
make cmake
ccache curl unzip libcollada-dom-dev libfreetype6-dev libjpeg-dev libpng-dev
libsdl2-dev libboost-system-dev libboost-filesystem-dev libgl-dev
"
)
if [[ $# -eq 0 ]]; then
>&2 print_help
exit 1
fi
deps=()
for group in "$@"; do
if [[ ! -v GROUPED_DEPS[$group] ]]; then
>&2 echo "error: unknown group ${group}"
exit 1
fi
deps+=(${GROUPED_DEPS[$group]})
done
export APT_CACHE_DIR="${PWD}/apt-cache"
set -x
mkdir -pv "$APT_CACHE_DIR"
apt-get update -yq
apt-get -q -o dir::cache::archives="$APT_CACHE_DIR" install -y --no-install-recommends "${deps[@]}"

File diff suppressed because it is too large Load Diff

@ -21,7 +21,7 @@ Pull Request Guidelines
To facilitate the review process, your pull request description should include the following, if applicable:
* A link back to the bug report or forum discussion that prompted the change. Note: when linking bugs, use the syntax ```[Bug #xyz](https://bugs.openmw.org/issues/#xyz)``` to create a clickable link. Writing only 'Bug #xyz' will unfortunately create a link to the Github pull request with that number instead.
* A link back to the bug report or forum discussion that prompted the change. Note: when linking bugs, use the syntax ```[Bug #xyz](https://gitlab.com/OpenMW/openmw/issues/#xyz)``` to create a clickable link. Writing only 'Bug #xyz' will unfortunately create a link to the Github pull request with that number instead.
* Summary of the changes made
* Reasoning / motivation behind the change
* What testing you have carried out to verify the change

@ -620,55 +620,62 @@ copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/philosophy/why-not-lgpl.html>.
ADDITIONAL TERMS APPLICABLE TO THE TES3MP GPL Source Code.
The following additional terms ("Additional Terms") supplement and modify
the GNU General Public License, Version 3 ("GPL") applicable to the TES3MP
GPL Source Code ("TES3MP Source Code"). In addition to the terms and conditions
of the GPL, the TES3MP Source Code is subject to the further restrictions below.
1. Replacement of Section 15. Section 15 of the GPL shall be deleted in its
entirety and replaced with the following:
"15. Disclaimer of Warranty.
THE PROGRAM IS PROVIDED WITHOUT ANY WARRANTIES, WHETHER EXPRESSED OR IMPLIED,
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, TITLE AND MERCHANTABILITY. THE PROGRAM IS BEING
DELIVERED OR MADE AVAILABLE "AS IS", "WITH ALL FAULTS" AND WITHOUT WARRANTY OR
REPRESENTATION. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST
OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION."
2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its
entirety and replaced with the following:
"16. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES SHALL ANY COPYRIGHT HOLDER OR ITS AFFILIATES, OR ANY
OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE
LIABLE TO YOU, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, FOR ANY
DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, DIRECT, INDIRECT, SPECIAL,
INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING FROM, OUT OF OR IN
CONNECTION WITH THE USE OR INABILITY TO USE THE PROGRAM OR OTHER DEALINGS WITH
THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), WHETHER OR NOT ANY COPYRIGHT
HOLDER OR SUCH OTHER PARTY RECEIVES NOTICE OF ANY SUCH DAMAGES AND WHETHER
OR NOT SUCH DAMAGES COULD HAVE BEEN FORESEEN."
3. LEGAL NOTICES; NO TRADEMARK LICENSE; ORIGIN. You must reproduce faithfully
all trademark, copyright and other proprietary and legal notices on any copies
of the Program or any other required author attributions. This license does
not grant you rights to use any copyright holder or any other party's name,
logo, or trademarks. Neither the name of the copyright holder or its
affiliates, or any other party who modifies and/or conveys the Program may be
used to endorse or promote products derived from this software without
specific prior written permission. The origin of the Program must not be
misrepresented; you must not claim that you wrote the original Program.
Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original Program.
4. INDEMNIFICATION. IF YOU CONVEY A COVERED WORK AND AGREE WITH ANY RECIPIENT
OF THAT COVERED WORK THAT YOU WILL ASSUME ANY LIABILITY FOR THAT COVERED WORK,
YOU HEREBY AGREE TO INDEMNIFY, DEFEND AND HOLD HARMLESS THE OTHER LICENSORS
AND AUTHORS OF THAT COVERED WORK FOR ANY DAMAEGS, DEMANDS, CLAIMS, LOSSES,
CAUSES OF ACTION, LAWSUITS, JUDGMENTS EXPENSES (INCLUDING WITHOUT LIMITATION
REASONABLE ATTORNEYS' FEES AND EXPENSES) OR ANY OTHER LIABLITY ARISING FROM,
RELATED TO OR IN CONNECTION WITH YOUR ASSUMPTIONS OF LIABILITY.

@ -2,27 +2,25 @@ TES3MP
======
Copyright (c) 2008-2015, OpenMW Team
Copyright (c) 2016-2019, Stanislav Zhukov & David Cernat
[![Build Status](https://travis-ci.org/TES3MP/openmw-tes3mp.svg?branch=0.7.0)](https://travis-ci.org/TES3MP/openmw-tes3mp)
Copyright (c) 2016-2022, David Cernat & Stanislav Zhukov
TES3MP is a project adding multiplayer functionality to [OpenMW](https://github.com/OpenMW/openmw), an open-source game engine that supports playing "The Elder Scrolls III: Morrowind" by Bethesda Softworks.
* TES3MP version: 0.7.0-alpha
* OpenMW version: 0.44.0
* License: GPLv3 (see [LICENSE](https://github.com/TES3MP/openmw-tes3mp/blob/master/LICENSE) for more information)
* TES3MP version: 0.8.1
* OpenMW version: 0.47.0
* License: GPLv3 with additional allowed terms (see [LICENSE](https://github.com/TES3MP/TES3MP/blob/master/LICENSE) for more information)
Font Licenses:
* DejaVuLGCSansMono.ttf: custom (see [files/mygui/DejaVu Font License.txt](https://github.com/TES3MP/openmw-tes3mp/blob/master/files/mygui/DejaVu%20Font%20License.txt) for more information)
* DejaVuLGCSansMono.ttf: custom (see [files/mygui/DejaVuFontLicense.txt](https://github.com/TES3MP/TES3MP/blob/master/files/mygui/DejaVuFontLicense.txt) for more information)
Project status
--------------
[Version changelog](https://github.com/TES3MP/openmw-tes3mp/blob/master/tes3mp-changelog.md)
[Version changelog](https://github.com/TES3MP/TES3MP/blob/master/tes3mp-changelog.md)
As of version 0.7.0, TES3MP is fully playable, providing very extensive player, NPC, world and quest synchronization, as well as state saving and loading, all of which are highly customizable via [serverside Lua scripts](https://github.com/TES3MP/CoreScripts).
As of version 0.8.0, TES3MP is fully playable, providing very extensive player, NPC, world and quest synchronization, as well as state saving and loading, all of which are highly customizable via [serverside Lua scripts](https://github.com/TES3MP/CoreScripts).
Remaining gameplay problems mostly relate to AI and the synchronization of clientside script variables.
Remaining gameplay problems mostly relate to AI and the fact that clientside script variables need to be placed on a synchronization whitelist to avoid packet spam.
Donations
---------------
@ -36,14 +34,14 @@ Helping us with documentation, bug hunting and video showcases is always greatly
For code contributions, it's best to start out with modestly sized fixes and features and work your way up. There are so many different possible implementations of more major features many of which would cause undesirable code or vision conflicts with OpenMW that those should be talked over in advance with the existing developers before effort is spent on them.
Feel free to contact the [team members](https://github.com/TES3MP/openmw-tes3mp/blob/master/tes3mp-credits.md) for any questions you might have.
Feel free to contact the [team members](https://github.com/TES3MP/TES3MP/blob/master/tes3mp-credits.md) for any questions you might have.
Getting started
---------------
* [Quickstart guide](https://github.com/TES3MP/openmw-tes3mp/wiki/Quickstart-guide)
* [Quickstart guide](https://github.com/TES3MP/TES3MP/wiki/Quickstart-guide)
* [Steam group](https://steamcommunity.com/groups/mwmulti) and its [detailed FAQ](https://steamcommunity.com/groups/mwmulti/discussions/1/353916184342480541/)
* [TES3MP section on OpenMW forums](https://forum.openmw.org/viewforum.php?f=45)
* [Discord server](https://discord.gg/ECJk293)
* [Subreddit](https://www.reddit.com/r/tes3mp)
* [Known issues and bug reports](https://github.com/TES3MP/openmw-tes3mp/issues)
* [Known issues and bug reports](https://github.com/TES3MP/TES3MP/issues)

@ -0,0 +1,27 @@
cmake_minimum_required(VERSION 3.11)
set(BENCHMARK_ENABLE_TESTING OFF)
set(BENCHMARK_ENABLE_INSTALL OFF)
set(BENCHMARK_ENABLE_GTEST_TESTS OFF)
set(SAVED_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "-Wsuggest-override" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE "-Wundef" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
include(FetchContent)
FetchContent_Declare(benchmark
URL https://github.com/google/benchmark/archive/refs/tags/v1.5.2.zip
URL_HASH MD5=49395b757a7c4656d70f1328d93efd00
SOURCE_DIR fetched/benchmark
)
FetchContent_MakeAvailableExcludeFromAll(benchmark)
set(CMAKE_CXX_FLAGS "${SAVED_CMAKE_CXX_FLAGS}")
openmw_add_executable(openmw_detournavigator_navmeshtilescache_benchmark detournavigator/navmeshtilescache.cpp)
target_compile_features(openmw_detournavigator_navmeshtilescache_benchmark PRIVATE cxx_std_17)
target_link_libraries(openmw_detournavigator_navmeshtilescache_benchmark benchmark::benchmark components)
if (UNIX AND NOT APPLE)
target_link_libraries(openmw_detournavigator_navmeshtilescache_benchmark ${CMAKE_THREAD_LIBS_INIT})
endif()

@ -0,0 +1,214 @@
#include <benchmark/benchmark.h>
#include <components/detournavigator/navmeshtilescache.hpp>
#include <algorithm>
#include <random>
#include <iostream>
namespace
{
using namespace DetourNavigator;
struct Key
{
osg::Vec3f mAgentHalfExtents;
TilePosition mTilePosition;
RecastMesh mRecastMesh;
std::vector<OffMeshConnection> mOffMeshConnections;
};
struct Item
{
Key mKey;
NavMeshData mValue;
};
template <typename Random>
TilePosition generateTilePosition(int max, Random& random)
{
std::uniform_int_distribution<int> distribution(0, max);
return TilePosition(distribution(random), distribution(random));
}
template <typename Random>
osg::Vec3f generateAgentHalfExtents(float min, float max, Random& random)
{
std::uniform_int_distribution<int> distribution(min, max);
return osg::Vec3f(distribution(random), distribution(random), distribution(random));
}
template <typename OutputIterator, typename Random>
void generateVertices(OutputIterator out, std::size_t number, Random& random)
{
std::uniform_real_distribution<float> distribution(0.0, 1.0);
std::generate_n(out, 3 * (number - number % 3), [&] { return distribution(random); });
}
template <typename OutputIterator, typename Random>
void generateIndices(OutputIterator out, int max, std::size_t number, Random& random)
{
std::uniform_int_distribution<int> distribution(0, max);
std::generate_n(out, number - number % 3, [&] { return distribution(random); });
}
AreaType toAreaType(int index)
{
switch (index)
{
case 0: return AreaType_null;
case 1: return AreaType_water;
case 2: return AreaType_door;
case 3: return AreaType_pathgrid;
case 4: return AreaType_ground;
}
return AreaType_null;
}
template <typename Random>
AreaType generateAreaType(Random& random)
{
std::uniform_int_distribution<int> distribution(0, 4);
return toAreaType(distribution(random));;
}
template <typename OutputIterator, typename Random>
void generateAreaTypes(OutputIterator out, std::size_t triangles, Random& random)
{
std::generate_n(out, triangles, [&] { return generateAreaType(random); });
}
template <typename OutputIterator, typename Random>
void generateWater(OutputIterator out, std::size_t count, Random& random)
{
std::uniform_real_distribution<btScalar> distribution(0.0, 1.0);
std::generate_n(out, count, [&] {
const btVector3 shift(distribution(random), distribution(random), distribution(random));
return RecastMesh::Water {1, btTransform(btMatrix3x3::getIdentity(), shift)};
});
}
template <typename OutputIterator, typename Random>
void generateOffMeshConnection(OutputIterator out, std::size_t count, Random& random)
{
std::uniform_real_distribution<btScalar> distribution(0.0, 1.0);
std::generate_n(out, count, [&] {
const osg::Vec3f start(distribution(random), distribution(random), distribution(random));
const osg::Vec3f end(distribution(random), distribution(random), distribution(random));
return OffMeshConnection {start, end, generateAreaType(random)};
});
}
template <class Random>
Key generateKey(std::size_t triangles, Random& random)
{
const osg::Vec3f agentHalfExtents = generateAgentHalfExtents(0.5, 1.5, random);
const TilePosition tilePosition = generateTilePosition(10000, random);
const std::size_t generation = std::uniform_int_distribution<std::size_t>(0, 100)(random);
const std::size_t revision = std::uniform_int_distribution<std::size_t>(0, 10000)(random);
std::vector<float> vertices;
generateVertices(std::back_inserter(vertices), triangles * 1.98, random);
std::vector<int> indices;
generateIndices(std::back_inserter(indices), static_cast<int>(vertices.size() / 3) - 1, vertices.size() * 1.53, random);
std::vector<AreaType> areaTypes;
generateAreaTypes(std::back_inserter(areaTypes), indices.size() / 3, random);
std::vector<RecastMesh::Water> water;
generateWater(std::back_inserter(water), 2, random);
RecastMesh recastMesh(generation, revision, std::move(indices), std::move(vertices),
std::move(areaTypes), std::move(water));
std::vector<OffMeshConnection> offMeshConnections;
generateOffMeshConnection(std::back_inserter(offMeshConnections), 300, random);
return Key {agentHalfExtents, tilePosition, std::move(recastMesh), std::move(offMeshConnections)};
}
constexpr std::size_t trianglesPerTile = 310;
template <typename OutputIterator, typename Random>
void generateKeys(OutputIterator out, std::size_t count, Random& random)
{
std::generate_n(out, count, [&] { return generateKey(trianglesPerTile, random); });
}
template <typename OutputIterator, typename Random>
void fillCache(OutputIterator out, Random& random, NavMeshTilesCache& cache)
{
std::size_t size = cache.getStats().mNavMeshCacheSize;
while (true)
{
Key key = generateKey(trianglesPerTile, random);
cache.set(key.mAgentHalfExtents, key.mTilePosition, key.mRecastMesh, key.mOffMeshConnections, NavMeshData());
*out++ = std::move(key);
const std::size_t newSize = cache.getStats().mNavMeshCacheSize;
if (size >= newSize)
break;
size = newSize;
}
}
template <std::size_t maxCacheSize, int hitPercentage>
void getFromFilledCache(benchmark::State& state)
{
NavMeshTilesCache cache(maxCacheSize);
std::minstd_rand random;
std::vector<Key> keys;
fillCache(std::back_inserter(keys), random, cache);
generateKeys(std::back_inserter(keys), keys.size() * (100 - hitPercentage) / 100, random);
std::size_t n = 0;
while (state.KeepRunning())
{
const auto& key = keys[n++ % keys.size()];
const auto result = cache.get(key.mAgentHalfExtents, key.mTilePosition, key.mRecastMesh, key.mOffMeshConnections);
benchmark::DoNotOptimize(result);
}
}
constexpr auto getFromFilledCache_1m_100hit = getFromFilledCache<1 * 1024 * 1024, 100>;
constexpr auto getFromFilledCache_4m_100hit = getFromFilledCache<4 * 1024 * 1024, 100>;
constexpr auto getFromFilledCache_16m_100hit = getFromFilledCache<16 * 1024 * 1024, 100>;
constexpr auto getFromFilledCache_64m_100hit = getFromFilledCache<64 * 1024 * 1024, 100>;
constexpr auto getFromFilledCache_1m_70hit = getFromFilledCache<1 * 1024 * 1024, 70>;
constexpr auto getFromFilledCache_4m_70hit = getFromFilledCache<4 * 1024 * 1024, 70>;
constexpr auto getFromFilledCache_16m_70hit = getFromFilledCache<16 * 1024 * 1024, 70>;
constexpr auto getFromFilledCache_64m_70hit = getFromFilledCache<64 * 1024 * 1024, 70>;
template <std::size_t maxCacheSize>
void setToBoundedNonEmptyCache(benchmark::State& state)
{
NavMeshTilesCache cache(maxCacheSize);
std::minstd_rand random;
std::vector<Key> keys;
fillCache(std::back_inserter(keys), random, cache);
generateKeys(std::back_inserter(keys), keys.size() * 2, random);
std::reverse(keys.begin(), keys.end());
std::size_t n = 0;
while (state.KeepRunning())
{
const auto& key = keys[n++ % keys.size()];
const auto result = cache.set(key.mAgentHalfExtents, key.mTilePosition, key.mRecastMesh, key.mOffMeshConnections, NavMeshData());
benchmark::DoNotOptimize(result);
}
}
constexpr auto setToBoundedNonEmptyCache_1m = setToBoundedNonEmptyCache<1 * 1024 * 1024>;
constexpr auto setToBoundedNonEmptyCache_4m = setToBoundedNonEmptyCache<4 * 1024 * 1024>;
constexpr auto setToBoundedNonEmptyCache_16m = setToBoundedNonEmptyCache<16 * 1024 * 1024>;
constexpr auto setToBoundedNonEmptyCache_64m = setToBoundedNonEmptyCache<64 * 1024 * 1024>;
} // namespace
BENCHMARK(getFromFilledCache_1m_100hit);
BENCHMARK(getFromFilledCache_4m_100hit);
BENCHMARK(getFromFilledCache_16m_100hit);
BENCHMARK(getFromFilledCache_64m_100hit);
BENCHMARK(getFromFilledCache_1m_70hit);
BENCHMARK(getFromFilledCache_4m_70hit);
BENCHMARK(getFromFilledCache_16m_70hit);
BENCHMARK(getFromFilledCache_64m_70hit);
BENCHMARK(setToBoundedNonEmptyCache_1m);
BENCHMARK(setToBoundedNonEmptyCache_4m);
BENCHMARK(setToBoundedNonEmptyCache_16m);
BENCHMARK(setToBoundedNonEmptyCache_64m);
BENCHMARK_MAIN();

@ -1,7 +1,3 @@
//
// Created by koncord on 06.01.17.
//
#include "MainWindow.hpp"
#include "QueryHelper.hpp"
#include "PingHelper.hpp"

@ -1,7 +1,3 @@
//
// Created by koncord on 06.01.17.
//
#ifndef NEWLAUNCHER_MAIN_HPP
#define NEWLAUNCHER_MAIN_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 30.01.17.
//
#include "MySortFilterProxyModel.hpp"
#include "ServerModel.hpp"

@ -1,7 +1,3 @@
//
// Created by koncord on 30.01.17.
//
#ifndef OPENMW_MYSORTFILTERPROXYMODEL_HPP
#define OPENMW_MYSORTFILTERPROXYMODEL_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 03.05.17.
//
#include "PingHelper.hpp"
#include "ServerModel.hpp"
#include <QDebug>

@ -1,7 +1,3 @@
//
// Created by koncord on 03.05.17.
//
#ifndef OPENMW_PINGHELPER_HPP
#define OPENMW_PINGHELPER_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 02.05.17.
//
#include "PingUpdater.hpp"
#include "netutils/Utils.hpp"
#include <QDebug>

@ -1,7 +1,3 @@
//
// Created by koncord on 02.05.17.
//
#ifndef OPENMW_PINGUPDATER_HPP
#define OPENMW_PINGUPDATER_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 27.05.17.
//
#include "netutils/QueryClient.hpp"
#include "netutils/Utils.hpp"
#include "QueryHelper.hpp"

@ -1,8 +1,3 @@
//
// Created by koncord on 27.05.17.
//
#ifndef OPENMW_QUERYHELPER_HPP
#define OPENMW_QUERYHELPER_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 07.01.17.
//
#include <apps/browser/netutils/QueryClient.hpp>
#include "qdebug.h"

@ -1,7 +1,3 @@
//
// Created by koncord on 07.01.17.
//
#ifndef NEWLAUNCHER_SERVERINFODIALOG_HPP
#define NEWLAUNCHER_SERVERINFODIALOG_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 07.05.17.
//
#ifndef OPENMW_TYPES_HPP
#define OPENMW_TYPES_HPP

@ -13,9 +13,9 @@ std::string loadSettings (Settings::Manager & settings)
// prefer local
if (boost::filesystem::exists(localdefault))
settings.loadDefault(localdefault);
settings.loadDefault(localdefault, false);
else if (boost::filesystem::exists(globaldefault))
settings.loadDefault(globaldefault);
settings.loadDefault(globaldefault, false);
else
throw std::runtime_error ("No default settings file found! Make sure the file \"tes3mp-client-default.cfg\" was properly installed.");

@ -1,7 +1,3 @@
//
// Created by koncord on 07.01.17.
//
#include <RakPeer.h>
#include <HTTPConnection2.h>
#include <TCPInterface.h>

@ -1,7 +1,3 @@
//
// Created by koncord on 07.01.17.
//
#ifndef NEWLAUNCHER_HTTPNETWORK_HPP
#define NEWLAUNCHER_HTTPNETWORK_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 24.04.17.
//
#include "QueryClient.hpp"
#include <RakSleep.h>
#include <components/openmw-mp/NetworkMessages.hpp>

@ -1,7 +1,3 @@
//
// Created by koncord on 24.04.17.
//
#ifndef OPENMW_QUERYCLIENT_HPP
#define OPENMW_QUERYCLIENT_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 07.01.17.
//
#include <RakPeer.h>
#include <MessageIdentifiers.h>
#include <RakSleep.h>

@ -1,7 +1,3 @@
//
// Created by koncord on 07.01.17.
//
#ifndef NEWLAUNCHER_PING_HPP
#define NEWLAUNCHER_PING_HPP

@ -6,7 +6,8 @@
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <components/bsa/bsa_file.hpp>
#include <components/bsa/compressedbsafile.hpp>
#include <components/misc/stringops.hpp>
#define BSATOOL_VERSION 1.1
@ -19,22 +20,13 @@ struct Arguments
std::string mode;
std::string filename;
std::string extractfile;
std::string addfile;
std::string outdir;
bool longformat;
bool fullpath;
};
void replaceAll(std::string& str, const std::string& needle, const std::string& substitute)
{
size_t pos = str.find(needle);
while(pos != std::string::npos)
{
str.replace(pos, needle.size(), substitute);
pos = str.find(needle);
}
}
bool parseOptions (int argc, char** argv, Arguments &info)
{
bpo::options_description desc("Inspect and extract files from Bethesda BSA archives\n\n"
@ -45,6 +37,10 @@ bool parseOptions (int argc, char** argv, Arguments &info)
" Extract a file from the input archive.\n\n"
" bsatool extractall archivefile [output_directory]\n"
" Extract all files from the input archive.\n\n"
" bsatool add [-a] archivefile file_to_add\n"
" Add a file to the input archive.\n\n"
" bsatool create [-c] archivefile\n"
" Create an archive.\n\n"
"Allowed options");
desc.add_options()
@ -104,7 +100,7 @@ bool parseOptions (int argc, char** argv, Arguments &info)
}
info.mode = variables["mode"].as<std::string>();
if (!(info.mode == "list" || info.mode == "extract" || info.mode == "extractall"))
if (!(info.mode == "list" || info.mode == "extract" || info.mode == "extractall" || info.mode == "add" || info.mode == "create"))
{
std::cout << std::endl << "ERROR: invalid mode \"" << info.mode << "\"\n\n"
<< desc << std::endl;
@ -135,6 +131,17 @@ bool parseOptions (int argc, char** argv, Arguments &info)
if (variables["input-file"].as< std::vector<std::string> >().size() > 2)
info.outdir = variables["input-file"].as< std::vector<std::string> >()[2];
}
else if (info.mode == "add")
{
if (variables["input-file"].as< std::vector<std::string> >().size() < 1)
{
std::cout << "\nERROR: file to add unspecified\n\n"
<< desc << std::endl;
return false;
}
if (variables["input-file"].as< std::vector<std::string> >().size() > 1)
info.addfile = variables["input-file"].as< std::vector<std::string> >()[1];
}
else if (variables["input-file"].as< std::vector<std::string> >().size() > 1)
info.outdir = variables["input-file"].as< std::vector<std::string> >()[1];
@ -144,9 +151,10 @@ bool parseOptions (int argc, char** argv, Arguments &info)
return true;
}
int list(Bsa::BSAFile& bsa, Arguments& info);
int extract(Bsa::BSAFile& bsa, Arguments& info);
int extractAll(Bsa::BSAFile& bsa, Arguments& info);
int list(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info);
int extract(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info);
int extractAll(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info);
int add(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info);
int main(int argc, char** argv)
{
@ -157,8 +165,22 @@ int main(int argc, char** argv)
return 1;
// Open file
Bsa::BSAFile bsa;
bsa.open(info.filename);
std::unique_ptr<Bsa::BSAFile> bsa;
Bsa::BsaVersion bsaVersion = Bsa::CompressedBSAFile::detectVersion(info.filename);
if (bsaVersion == Bsa::BSAVER_COMPRESSED)
bsa = std::make_unique<Bsa::CompressedBSAFile>(Bsa::CompressedBSAFile());
else
bsa = std::make_unique<Bsa::BSAFile>(Bsa::BSAFile());
if (info.mode == "create")
{
bsa->open(info.filename);
return 0;
}
bsa->open(info.filename);
if (info.mode == "list")
return list(bsa, info);
@ -166,6 +188,8 @@ int main(int argc, char** argv)
return extract(bsa, info);
else if (info.mode == "extractall")
return extractAll(bsa, info);
else if (info.mode == "add")
return add(bsa, info);
else
{
std::cout << "Unsupported mode. That is not supposed to happen." << std::endl;
@ -179,37 +203,37 @@ int main(int argc, char** argv)
}
}
int list(Bsa::BSAFile& bsa, Arguments& info)
int list(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
{
// List all files
const Bsa::BSAFile::FileList &files = bsa.getList();
for(unsigned int i=0; i<files.size(); i++)
const Bsa::BSAFile::FileList &files = bsa->getList();
for (const auto& file : files)
{
if(info.longformat)
{
// Long format
std::ios::fmtflags f(std::cout.flags());
std::cout << std::setw(50) << std::left << files[i].name;
std::cout << std::setw(8) << std::left << std::dec << files[i].fileSize;
std::cout << "@ 0x" << std::hex << files[i].offset << std::endl;
std::cout << std::setw(50) << std::left << file.name();
std::cout << std::setw(8) << std::left << std::dec << file.fileSize;
std::cout << "@ 0x" << std::hex << file.offset << std::endl;
std::cout.flags(f);
}
else
std::cout << files[i].name << std::endl;
std::cout << file.name() << std::endl;
}
return 0;
}
int extract(Bsa::BSAFile& bsa, Arguments& info)
int extract(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
{
std::string archivePath = info.extractfile;
replaceAll(archivePath, "/", "\\");
Misc::StringUtils::replaceAll(archivePath, "/", "\\");
std::string extractPath = info.extractfile;
replaceAll(extractPath, "\\", "/");
Misc::StringUtils::replaceAll(extractPath, "\\", "/");
if (!bsa.exists(archivePath.c_str()))
if (!bsa->exists(archivePath.c_str()))
{
std::cout << "ERROR: file '" << archivePath << "' not found\n";
std::cout << "In archive: " << info.filename << std::endl;
@ -237,7 +261,7 @@ int extract(Bsa::BSAFile& bsa, Arguments& info)
}
// Get a stream for the file to extract
Files::IStreamPtr stream = bsa.getFile(archivePath.c_str());
Files::IStreamPtr stream = bsa->getFile(archivePath.c_str());
bfs::ofstream out(target, std::ios::binary);
@ -250,17 +274,12 @@ int extract(Bsa::BSAFile& bsa, Arguments& info)
return 0;
}
int extractAll(Bsa::BSAFile& bsa, Arguments& info)
int extractAll(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
{
// Get the list of files present in the archive
Bsa::BSAFile::FileList list = bsa.getList();
// Iter on the list
for(Bsa::BSAFile::FileList::iterator it = list.begin(); it != list.end(); ++it) {
const char* archivePath = it->name;
std::string extractPath (archivePath);
replaceAll(extractPath, "\\", "/");
for (const auto &file : bsa->getList())
{
std::string extractPath(file.name());
Misc::StringUtils::replaceAll(extractPath, "\\", "/");
// Get the target path (the path the file will be extracted to)
bfs::path target (info.outdir);
@ -278,7 +297,7 @@ int extractAll(Bsa::BSAFile& bsa, Arguments& info)
// Get a stream for the file to extract
// (inefficient because getFile iter on the list again)
Files::IStreamPtr data = bsa.getFile(archivePath);
Files::IStreamPtr data = bsa->getFile(file.name());
bfs::ofstream out(target, std::ios::binary);
// Write the file to disk
@ -289,3 +308,11 @@ int extractAll(Bsa::BSAFile& bsa, Arguments& info)
return 0;
}
int add(std::unique_ptr<Bsa::BSAFile>& bsa, Arguments& info)
{
boost::filesystem::fstream stream(info.addfile, std::ios_base::binary | std::ios_base::out | std::ios_base::in);
bsa->addFile(info.addfile, stream);
return 0;
}

@ -2,6 +2,7 @@
#include <vector>
#include <deque>
#include <list>
#include <unordered_set>
#include <map>
#include <set>
#include <fstream>
@ -87,7 +88,7 @@ bool parseOptions (int argc, char** argv, Arguments &info)
("plain,p", "Print contents of dialogs, books and scripts. "
"(skipped by default)"
"Only affects dump mode.")
("quiet,q", "Supress all record information. Useful for speed tests.")
("quiet,q", "Suppress all record information. Useful for speed tests.")
("loadcells,C", "Browse through contents of all cells.")
( "encoding,e", bpo::value<std::string>(&(info.encoding))->
@ -123,14 +124,9 @@ bool parseOptions (int argc, char** argv, Arguments &info)
bpo::store(valid_opts, variables);
}
catch(boost::program_options::unknown_option & x)
catch(std::exception &e)
{
std::cerr << "ERROR: " << x.what() << std::endl;
return false;
}
catch(boost::program_options::invalid_command_line_syntax & x)
{
std::cerr << "ERROR: " << x.what() << std::endl;
std::cout << "ERROR parsing arguments: " << e.what() << std::endl;
return false;
}
@ -263,18 +259,37 @@ void loadCell(ESM::Cell &cell, ESM::ESMReader &esm, Arguments& info)
if(quiet) continue;
std::cout << " Refnum: " << ref.mRefNum.mIndex << std::endl;
std::cout << " ID: '" << ref.mRefID << "'\n";
std::cout << " Owner: '" << ref.mOwner << "'\n";
std::cout << " Global: '" << ref.mGlobalVariable << "'" << std::endl;
std::cout << " Faction: '" << ref.mFaction << "'" << std::endl;
std::cout << " Faction rank: '" << ref.mFactionRank << "'" << std::endl;
std::cout << " Enchantment charge: '" << ref.mEnchantmentCharge << "'\n";
std::cout << " Uses/health: '" << ref.mChargeInt << "'\n";
std::cout << " Gold value: '" << ref.mGoldValue << "'\n";
std::cout << " Blocked: '" << static_cast<int>(ref.mReferenceBlocked) << "'" << std::endl;
std::cout << " ID: " << ref.mRefID << std::endl;
std::cout << " Position: (" << ref.mPos.pos[0] << ", " << ref.mPos.pos[1] << ", " << ref.mPos.pos[2] << ")" << std::endl;
if (ref.mScale != 1.f)
std::cout << " Scale: " << ref.mScale << std::endl;
if (!ref.mOwner.empty())
std::cout << " Owner: " << ref.mOwner << std::endl;
if (!ref.mGlobalVariable.empty())
std::cout << " Global: " << ref.mGlobalVariable << std::endl;
if (!ref.mFaction.empty())
std::cout << " Faction: " << ref.mFaction << std::endl;
if (!ref.mFaction.empty() || ref.mFactionRank != -2)
std::cout << " Faction rank: " << ref.mFactionRank << std::endl;
std::cout << " Enchantment charge: " << ref.mEnchantmentCharge << std::endl;
std::cout << " Uses/health: " << ref.mChargeInt << std::endl;
std::cout << " Gold value: " << ref.mGoldValue << std::endl;
std::cout << " Blocked: " << static_cast<int>(ref.mReferenceBlocked) << std::endl;
std::cout << " Deleted: " << deleted << std::endl;
if (!ref.mKey.empty())
std::cout << " Key: '" << ref.mKey << "'" << std::endl;
std::cout << " Key: " << ref.mKey << std::endl;
std::cout << " Lock level: " << ref.mLockLevel << std::endl;
if (!ref.mTrap.empty())
std::cout << " Trap: " << ref.mTrap << std::endl;
if (!ref.mSoul.empty())
std::cout << " Soul: " << ref.mSoul << std::endl;
if (ref.mTeleport)
{
std::cout << " Destination position: (" << ref.mDoorDest.pos[0] << ", "
<< ref.mDoorDest.pos[1] << ", " << ref.mDoorDest.pos[2] << ")" << std::endl;
if (!ref.mDestCell.empty())
std::cout << " Destination cell: " << ref.mDestCell << std::endl;
}
}
}
@ -308,7 +323,7 @@ int load(Arguments& info)
std::string filename = info.filename;
std::cout << "Loading file: " << filename << std::endl;
std::list<int> skipped;
std::unordered_set<uint32_t> skipped;
try {
@ -338,29 +353,29 @@ int load(Arguments& info)
std::cout << "Author: " << esm.getAuthor() << std::endl
<< "Description: " << esm.getDesc() << std::endl
<< "File format version: " << esm.getFVer() << std::endl;
std::vector<ESM::Header::MasterData> m = esm.getGameFiles();
if (!m.empty())
std::vector<ESM::Header::MasterData> masterData = esm.getGameFiles();
if (!masterData.empty())
{
std::cout << "Masters:" << std::endl;
for(unsigned int i=0;i<m.size();i++)
std::cout << " " << m[i].name << ", " << m[i].size << " bytes" << std::endl;
for(const auto& master : masterData)
std::cout << " " << master.name << ", " << master.size << " bytes" << std::endl;
}
}
// Loop through all records
while(esm.hasMoreRecs())
{
ESM::NAME n = esm.getRecName();
const ESM::NAME n = esm.getRecName();
uint32_t flags;
esm.getRecHeader(flags);
EsmTool::RecordBase *record = EsmTool::RecordBase::create(n);
if (record == 0)
if (record == nullptr)
{
if (std::find(skipped.begin(), skipped.end(), n.intval) == skipped.end())
if (skipped.count(n.intval) == 0)
{
std::cout << "Skipping " << n.toString() << " records." << std::endl;
skipped.push_back(n.intval);
skipped.emplace(n.intval);
}
esm.skipRecord();
@ -411,13 +426,10 @@ int load(Arguments& info)
} catch(std::exception &e) {
std::cout << "\nERROR:\n\n " << e.what() << std::endl;
typedef std::deque<EsmTool::RecordBase *> RecStore;
RecStore &store = info.data.mRecords;
for (RecStore::iterator it = store.begin(); it != store.end(); ++it)
{
delete *it;
}
store.clear();
for (const EsmTool::RecordBase* record : info.data.mRecords)
delete record;
info.data.mRecords.clear();
return 1;
}
@ -449,15 +461,12 @@ int clone(Arguments& info)
std::cout << "Loaded " << recordCount << " records:" << std::endl << std::endl;
int i = 0;
typedef std::map<int, int> Stats;
Stats &stats = info.data.mRecordStats;
for (Stats::iterator it = stats.begin(); it != stats.end(); ++it)
for (std::pair<int, int> stat : info.data.mRecordStats)
{
ESM::NAME name;
name.intval = it->first;
int amount = it->second;
name.intval = stat.first;
int amount = stat.second;
std::cout << std::setw(digitCount) << amount << " " << name.toString() << " ";
if (++i % 3 == 0)
std::cout << std::endl;
}
@ -475,18 +484,18 @@ int clone(Arguments& info)
esm.setVersion(info.data.version);
esm.setRecordCount (recordCount);
for (std::vector<ESM::Header::MasterData>::iterator it = info.data.masters.begin(); it != info.data.masters.end(); ++it)
esm.addMaster(it->name, it->size);
for (const ESM::Header::MasterData &master : info.data.masters)
esm.addMaster(master.name, master.size);
std::fstream save(info.outname.c_str(), std::fstream::out | std::fstream::binary);
esm.save(save);
int saved = 0;
typedef std::deque<EsmTool::RecordBase *> Records;
Records &records = info.data.mRecords;
for (Records::iterator it = records.begin(); it != records.end() && i > 0; ++it)
for (EsmTool::RecordBase* record : info.data.mRecords)
{
EsmTool::RecordBase *record = *it;
if (i <= 0)
break;
const ESM::NAME& typeName = record->getType();
esm.startRecord(typeName.toString(), record->getFlags());
@ -494,20 +503,17 @@ int clone(Arguments& info)
record->save(esm);
if (typeName.intval == ESM::REC_CELL) {
ESM::Cell *ptr = &record->cast<ESM::Cell>()->get();
if (!info.data.mCellRefs[ptr].empty()) {
typedef std::deque<std::pair<ESM::CellRef, bool> > RefList;
RefList &refs = info.data.mCellRefs[ptr];
for (RefList::iterator refIt = refs.begin(); refIt != refs.end(); ++refIt)
{
refIt->first.save(esm, refIt->second);
}
if (!info.data.mCellRefs[ptr].empty())
{
for (std::pair<ESM::CellRef, bool> &ref : info.data.mCellRefs[ptr])
ref.first.save(esm, ref.second);
}
}
esm.endRecord(typeName.toString());
saved++;
int perc = (int)((saved / (float)recordCount)*100);
int perc = recordCount == 0 ? 100 : (int)((saved / (float)recordCount)*100);
if (perc % 10 == 0)
{
std::cerr << "\r" << perc << "%";
@ -533,8 +539,8 @@ int comp(Arguments& info)
Arguments fileOne;
Arguments fileTwo;
fileOne.raw_given = 0;
fileTwo.raw_given = 0;
fileOne.raw_given = false;
fileTwo.raw_given = false;
fileOne.mode = "clone";
fileTwo.mode = "clone";
@ -563,8 +569,5 @@ int comp(Arguments& info)
return 1;
}
return 0;
}

@ -4,6 +4,7 @@
#include <components/esm/loadcell.hpp>
#include <components/esm/loadcont.hpp>
#include <components/esm/loadcrea.hpp>
#include <components/esm/loadench.hpp>
#include <components/esm/loadlevlist.hpp>
#include <components/esm/loadligh.hpp>
#include <components/esm/loadmgef.hpp>
@ -12,7 +13,7 @@
#include <components/esm/loadspel.hpp>
#include <components/esm/loadweap.hpp>
#include <boost/format.hpp>
#include <components/misc/stringops.hpp>
std::string bodyPartLabel(int idx)
{
@ -651,7 +652,7 @@ std::string ruleFunction(int idx)
std::string bodyPartFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::BodyPart::BPF_Female) properties += "Female ";
if (flags & ESM::BodyPart::BPF_NotPlayable) properties += "NotPlayable ";
@ -659,13 +660,13 @@ std::string bodyPartFlags(int flags)
(ESM::BodyPart::BPF_Female|
ESM::BodyPart::BPF_NotPlayable));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string cellFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::Cell::HasWater) properties += "HasWater ";
if (flags & ESM::Cell::Interior) properties += "Interior ";
@ -680,13 +681,13 @@ std::string cellFlags(int flags)
ESM::Cell::QuasiEx|
0x00000040));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string containerFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::Container::Unknown) properties += "Unknown ";
if (flags & ESM::Container::Organic) properties += "Organic ";
@ -696,43 +697,49 @@ std::string containerFlags(int flags)
ESM::Container::Organic|
ESM::Container::Respawn));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string creatureFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::Creature::None) properties += "All ";
if (flags & ESM::Creature::Base) properties += "Base ";
if (flags & ESM::Creature::Walks) properties += "Walks ";
if (flags & ESM::Creature::Swims) properties += "Swims ";
if (flags & ESM::Creature::Flies) properties += "Flies ";
if (flags & ESM::Creature::Bipedal) properties += "Bipedal ";
if (flags & ESM::Creature::Respawn) properties += "Respawn ";
if (flags & ESM::Creature::Weapon) properties += "Weapon ";
if (flags & ESM::Creature::Skeleton) properties += "Skeleton ";
if (flags & ESM::Creature::Metal) properties += "Metal ";
if (flags & ESM::Creature::Essential) properties += "Essential ";
int unused = (0xFFFFFFFF ^
(ESM::Creature::None|
(ESM::Creature::Base|
ESM::Creature::Walks|
ESM::Creature::Swims|
ESM::Creature::Flies|
ESM::Creature::Bipedal|
ESM::Creature::Respawn|
ESM::Creature::Weapon|
ESM::Creature::Skeleton|
ESM::Creature::Metal|
ESM::Creature::Essential));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%02X)", flags);
return properties;
}
std::string enchantmentFlags(int flags)
{
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::Enchantment::Autocalc) properties += "Autocalc ";
if (flags & (0xFFFFFFFF ^ ESM::Enchantment::Autocalc)) properties += "Invalid ";
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string landFlags(int flags)
{
std::string properties = "";
std::string properties;
// The ESM component says that this first four bits are used, but
// only the first three bits are used as far as I can tell.
// There's also no enumeration of the bit in the ESM component.
@ -741,13 +748,13 @@ std::string landFlags(int flags)
if (flags & 0x00000004) properties += "Unknown3 ";
if (flags & 0x00000002) properties += "Unknown2 ";
if (flags & 0xFFFFFFF8) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string itemListFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::ItemLevList::AllLevels) properties += "AllLevels ";
if (flags & ESM::ItemLevList::Each) properties += "Each ";
@ -755,24 +762,24 @@ std::string itemListFlags(int flags)
(ESM::ItemLevList::AllLevels|
ESM::ItemLevList::Each));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string creatureListFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::CreatureLevList::AllLevels) properties += "AllLevels ";
int unused = (0xFFFFFFFF ^ ESM::CreatureLevList::AllLevels);
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string lightFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::Light::Dynamic) properties += "Dynamic ";
if (flags & ESM::Light::Fire) properties += "Fire ";
@ -794,13 +801,13 @@ std::string lightFlags(int flags)
ESM::Light::Negative|
ESM::Light::OffDefault));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string magicEffectFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::MagicEffect::TargetAttribute) properties += "TargetAttribute ";
if (flags & ESM::MagicEffect::TargetSkill) properties += "TargetSkill ";
@ -811,8 +818,10 @@ std::string magicEffectFlags(int flags)
if (flags & ESM::MagicEffect::CastSelf) properties += "CastSelf ";
if (flags & ESM::MagicEffect::CastTouch) properties += "CastTouch ";
if (flags & ESM::MagicEffect::CastTarget) properties += "CastTarget ";
if (flags & ESM::MagicEffect::UncappedDamage) properties += "UncappedDamage ";
if (flags & ESM::MagicEffect::AppliedOnce) properties += "AppliedOnce ";
if (flags & ESM::MagicEffect::Stealth) properties += "Stealth ";
if (flags & ESM::MagicEffect::NonRecastable) properties += "NonRecastable ";
if (flags & ESM::MagicEffect::IllegalDaedra) properties += "IllegalDaedra ";
if (flags & ESM::MagicEffect::Unreflectable) properties += "Unreflectable ";
if (flags & ESM::MagicEffect::CasterLinked) properties += "CasterLinked ";
if (flags & ESM::MagicEffect::AllowSpellmaking) properties += "AllowSpellmaking ";
@ -820,47 +829,35 @@ std::string magicEffectFlags(int flags)
if (flags & ESM::MagicEffect::NegativeLight) properties += "NegativeLight ";
if (flags & 0xFFFC0000) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string npcFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
// Mythicmods and the ESM component differ. Mythicmods says
// 0x8=None and 0x10=AutoCalc, while our code previously defined
// 0x8 as AutoCalc. The former seems to be correct. All Bethesda
// records have bit 0x8 set. Previously, suspiciously large portion
// of females had autocalc turned off.
if (flags & 0x00000008) properties += "Unknown ";
if (flags & ESM::NPC::Base) properties += "Base ";
if (flags & ESM::NPC::Autocalc) properties += "Autocalc ";
if (flags & ESM::NPC::Female) properties += "Female ";
if (flags & ESM::NPC::Respawn) properties += "Respawn ";
if (flags & ESM::NPC::Essential) properties += "Essential ";
// These two flags do not appear on any NPCs and may have been
// confused with the flags for creatures.
if (flags & ESM::NPC::Skeleton) properties += "Skeleton ";
if (flags & ESM::NPC::Metal) properties += "Metal ";
// Whether corpses persist is a bit that is unaccounted for,
// however the only unknown bit occurs on ALL records, and
// relatively few NPCs have this bit set.
int unused = (0xFFFFFFFF ^
(0x00000008|
// however relatively few NPCs have this bit set.
int unused = (0xFF ^
(ESM::NPC::Base|
ESM::NPC::Autocalc|
ESM::NPC::Female|
ESM::NPC::Respawn|
ESM::NPC::Essential|
ESM::NPC::Skeleton|
ESM::NPC::Metal));
ESM::NPC::Essential));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%02X)", flags);
return properties;
}
std::string raceFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
// All races have the playable flag set in Bethesda files.
if (flags & ESM::Race::Playable) properties += "Playable ";
@ -869,13 +866,13 @@ std::string raceFlags(int flags)
(ESM::Race::Playable|
ESM::Race::Beast));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string spellFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
if (flags & ESM::Spell::F_Autocalc) properties += "Autocalc ";
if (flags & ESM::Spell::F_PCStart) properties += "PCStart ";
@ -885,13 +882,13 @@ std::string spellFlags(int flags)
ESM::Spell::F_PCStart|
ESM::Spell::F_Always));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}
std::string weaponFlags(int flags)
{
std::string properties = "";
std::string properties;
if (flags == 0) properties += "[None] ";
// The interpretation of the flags are still unclear to me.
// Apparently you can't be Silver without being Magical? Many of
@ -902,6 +899,6 @@ std::string weaponFlags(int flags)
(ESM::Weapon::Magical|
ESM::Weapon::Silver));
if (flags & unused) properties += "Invalid ";
properties += str(boost::format("(0x%08X)") % flags);
properties += Misc::StringUtils::format("(0x%08X)", flags);
return properties;
}

@ -49,6 +49,7 @@ std::string bodyPartFlags(int flags);
std::string cellFlags(int flags);
std::string containerFlags(int flags);
std::string creatureFlags(int flags);
std::string enchantmentFlags(int flags);
std::string landFlags(int flags);
std::string creatureListFlags(int flags);
std::string itemListFlags(int flags);

@ -4,15 +4,15 @@
#include <iostream>
#include <sstream>
#include <boost/format.hpp>
#include <components/misc/stringops.hpp>
namespace
{
void printAIPackage(ESM::AIPackage p)
void printAIPackage(const ESM::AIPackage& p)
{
std::cout << " AI Type: " << aiTypeLabel(p.mType)
<< " (" << boost::format("0x%08X") % p.mType << ")" << std::endl;
<< " (" << Misc::StringUtils::format("0x%08X", p.mType) << ")" << std::endl;
if (p.mType == ESM::AI_Wander)
{
std::cout << " Distance: " << p.mWander.mDistance << std::endl;
@ -46,14 +46,14 @@ void printAIPackage(ESM::AIPackage p)
std::cout << " Activate Unknown: " << p.mActivate.mUnk << std::endl;
}
else {
std::cout << " BadPackage: " << boost::format("0x%08x") % p.mType << std::endl;
std::cout << " BadPackage: " << Misc::StringUtils::format("0x%08X", p.mType) << std::endl;
}
if (p.mCellName != "")
if (!p.mCellName.empty())
std::cout << " Cell Name: " << p.mCellName << std::endl;
}
std::string ruleString(ESM::DialInfo::SelectStruct ss)
std::string ruleString(const ESM::DialInfo::SelectStruct& ss)
{
std::string rule = ss.mSelectRule;
@ -64,7 +64,7 @@ std::string ruleString(ESM::DialInfo::SelectStruct ss)
char indicator = rule[2];
std::string type_str = "INVALID";
std::string func_str = str(boost::format("INVALID=%s") % rule.substr(1,3));
std::string func_str = Misc::StringUtils::format("INVALID=%s", rule.substr(1,3));
int func;
std::istringstream iss(rule.substr(2,2));
iss >> func;
@ -104,7 +104,7 @@ std::string ruleString(ESM::DialInfo::SelectStruct ss)
// for all types not qual to one. If this wasn't true, go back to
// the error message.
if (type != '1' && rule[3] != 'X')
func_str = str(boost::format("INVALID=%s") % rule.substr(1,3));
func_str = Misc::StringUtils::format("INVALID=%s", rule.substr(1,3));
char oper = rule[4];
std::string oper_str = "??";
@ -122,51 +122,48 @@ std::string ruleString(ESM::DialInfo::SelectStruct ss)
std::ostringstream stream;
stream << ss.mValue;
std::string result = str(boost::format("%-12s %-32s %2s %s")
% type_str % func_str % oper_str % stream.str());
std::string result = Misc::StringUtils::format("%-12s %-32s %2s %s", type_str, func_str, oper_str, stream.str());
return result;
}
void printEffectList(ESM::EffectList effects)
void printEffectList(const ESM::EffectList& effects)
{
int i = 0;
std::vector<ESM::ENAMstruct>::iterator eit;
for (eit = effects.mList.begin(); eit != effects.mList.end(); ++eit)
{
std::cout << " Effect[" << i << "]: " << magicEffectLabel(eit->mEffectID)
<< " (" << eit->mEffectID << ")" << std::endl;
if (eit->mSkill != -1)
std::cout << " Skill: " << skillLabel(eit->mSkill)
<< " (" << (int)eit->mSkill << ")" << std::endl;
if (eit->mAttribute != -1)
std::cout << " Attribute: " << attributeLabel(eit->mAttribute)
<< " (" << (int)eit->mAttribute << ")" << std::endl;
std::cout << " Range: " << rangeTypeLabel(eit->mRange)
<< " (" << eit->mRange << ")" << std::endl;
for (const ESM::ENAMstruct& effect : effects.mList)
{
std::cout << " Effect[" << i << "]: " << magicEffectLabel(effect.mEffectID)
<< " (" << effect.mEffectID << ")" << std::endl;
if (effect.mSkill != -1)
std::cout << " Skill: " << skillLabel(effect.mSkill)
<< " (" << (int)effect.mSkill << ")" << std::endl;
if (effect.mAttribute != -1)
std::cout << " Attribute: " << attributeLabel(effect.mAttribute)
<< " (" << (int)effect.mAttribute << ")" << std::endl;
std::cout << " Range: " << rangeTypeLabel(effect.mRange)
<< " (" << effect.mRange << ")" << std::endl;
// Area is always zero if range type is "Self"
if (eit->mRange != ESM::RT_Self)
std::cout << " Area: " << eit->mArea << std::endl;
std::cout << " Duration: " << eit->mDuration << std::endl;
std::cout << " Magnitude: " << eit->mMagnMin << "-" << eit->mMagnMax << std::endl;
if (effect.mRange != ESM::RT_Self)
std::cout << " Area: " << effect.mArea << std::endl;
std::cout << " Duration: " << effect.mDuration << std::endl;
std::cout << " Magnitude: " << effect.mMagnMin << "-" << effect.mMagnMax << std::endl;
i++;
}
}
void printTransport(const std::vector<ESM::Transport::Dest>& transport)
{
std::vector<ESM::Transport::Dest>::const_iterator dit;
for (dit = transport.begin(); dit != transport.end(); ++dit)
for (const ESM::Transport::Dest& dest : transport)
{
std::cout << " Destination Position: "
<< boost::format("%12.3f") % dit->mPos.pos[0] << ","
<< boost::format("%12.3f") % dit->mPos.pos[1] << ","
<< boost::format("%12.3f") % dit->mPos.pos[2] << ")" << std::endl;
<< Misc::StringUtils::format("%12.3f", dest.mPos.pos[0]) << ","
<< Misc::StringUtils::format("%12.3f", dest.mPos.pos[1]) << ","
<< Misc::StringUtils::format("%12.3f", dest.mPos.pos[2]) << ")" << std::endl;
std::cout << " Destination Rotation: "
<< boost::format("%9.6f") % dit->mPos.rot[0] << ","
<< boost::format("%9.6f") % dit->mPos.rot[1] << ","
<< boost::format("%9.6f") % dit->mPos.rot[2] << ")" << std::endl;
if (dit->mCellName != "")
std::cout << " Destination Cell: " << dit->mCellName << std::endl;
<< Misc::StringUtils::format("%9.6f", dest.mPos.rot[0]) << ","
<< Misc::StringUtils::format("%9.6f", dest.mPos.rot[1]) << ","
<< Misc::StringUtils::format("%9.6f", dest.mPos.rot[2]) << ")" << std::endl;
if (!dest.mCellName.empty())
std::cout << " Destination Cell: " << dest.mCellName << std::endl;
}
}
@ -175,9 +172,9 @@ void printTransport(const std::vector<ESM::Transport::Dest>& transport)
namespace EsmTool {
RecordBase *
RecordBase::create(ESM::NAME type)
RecordBase::create(const ESM::NAME type)
{
RecordBase *record = 0;
RecordBase *record = nullptr;
switch (type.intval) {
case ESM::REC_ACTI:
@ -391,7 +388,7 @@ RecordBase::create(ESM::NAME type)
break;
}
default:
record = 0;
record = nullptr;
}
if (record) {
record->mType = type;
@ -414,7 +411,7 @@ void Record<ESM::Potion>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -429,9 +426,9 @@ void Record<ESM::Armor>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
if (mData.mEnchant != "")
if (!mData.mEnchant.empty())
std::cout << " Enchantment: " << mData.mEnchant << std::endl;
std::cout << " Type: " << armorTypeLabel(mData.mData.mType)
<< " (" << mData.mData.mType << ")" << std::endl;
@ -440,15 +437,15 @@ void Record<ESM::Armor>::print()
std::cout << " Health: " << mData.mData.mHealth << std::endl;
std::cout << " Armor: " << mData.mData.mArmor << std::endl;
std::cout << " Enchantment Points: " << mData.mData.mEnchant << std::endl;
std::vector<ESM::PartReference>::iterator pit;
for (pit = mData.mParts.mParts.begin(); pit != mData.mParts.mParts.end(); ++pit)
for (const ESM::PartReference &part : mData.mParts.mParts)
{
std::cout << " Body Part: " << bodyPartLabel(pit->mPart)
<< " (" << (int)(pit->mPart) << ")" << std::endl;
std::cout << " Male Name: " << pit->mMale << std::endl;
if (pit->mFemale != "")
std::cout << " Female Name: " << pit->mFemale << std::endl;
std::cout << " Body Part: " << bodyPartLabel(part.mPart)
<< " (" << (int)(part.mPart) << ")" << std::endl;
std::cout << " Male Name: " << part.mMale << std::endl;
if (!part.mFemale.empty())
std::cout << " Female Name: " << part.mFemale << std::endl;
}
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -487,9 +484,9 @@ void Record<ESM::Book>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
if (mData.mEnchant != "")
if (!mData.mEnchant.empty())
std::cout << " Enchantment: " << mData.mEnchant << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -516,9 +513,8 @@ void Record<ESM::BirthSign>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Texture: " << mData.mTexture << std::endl;
std::cout << " Description: " << mData.mDescription << std::endl;
std::vector<std::string>::iterator pit;
for (pit = mData.mPowers.mList.begin(); pit != mData.mPowers.mList.end(); ++pit)
std::cout << " Power: " << *pit << std::endl;
for (const std::string &power : mData.mPowers.mList)
std::cout << " Power: " << power << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -526,9 +522,9 @@ template<>
void Record<ESM::Cell>::print()
{
// None of the cells have names...
if (mData.mName != "")
if (!mData.mName.empty())
std::cout << " Name: " << mData.mName << std::endl;
if (mData.mRegion != "")
if (!mData.mRegion.empty())
std::cout << " Region: " << mData.mRegion << std::endl;
std::cout << " Flags: " << cellFlags(mData.mData.mFlags) << std::endl;
@ -538,14 +534,22 @@ void Record<ESM::Cell>::print()
if (mData.mData.mFlags & ESM::Cell::Interior &&
!(mData.mData.mFlags & ESM::Cell::QuasiEx))
{
std::cout << " Ambient Light Color: " << mData.mAmbi.mAmbient << std::endl;
std::cout << " Sunlight Color: " << mData.mAmbi.mSunlight << std::endl;
std::cout << " Fog Color: " << mData.mAmbi.mFog << std::endl;
std::cout << " Fog Density: " << mData.mAmbi.mFogDensity << std::endl;
if (mData.hasAmbient())
{
// TODO: see if we can change the integer representation to something more sensible
std::cout << " Ambient Light Color: " << mData.mAmbi.mAmbient << std::endl;
std::cout << " Sunlight Color: " << mData.mAmbi.mSunlight << std::endl;
std::cout << " Fog Color: " << mData.mAmbi.mFog << std::endl;
std::cout << " Fog Density: " << mData.mAmbi.mFogDensity << std::endl;
}
else
{
std::cout << " No Ambient Information" << std::endl;
}
std::cout << " Water Level: " << mData.mWater << std::endl;
}
else
std::cout << " Map Color: " << boost::format("0x%08X") % mData.mMapColor << std::endl;
std::cout << " Map Color: " << Misc::StringUtils::format("0x%08X", mData.mMapColor) << std::endl;
std::cout << " Water Level Int: " << mData.mWaterInt << std::endl;
std::cout << " RefId counter: " << mData.mRefNumCounter << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
@ -580,23 +584,22 @@ void Record<ESM::Clothing>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
if (mData.mEnchant != "")
if (!mData.mEnchant.empty())
std::cout << " Enchantment: " << mData.mEnchant << std::endl;
std::cout << " Type: " << clothingTypeLabel(mData.mData.mType)
<< " (" << mData.mData.mType << ")" << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
std::cout << " Enchantment Points: " << mData.mData.mEnchant << std::endl;
std::vector<ESM::PartReference>::iterator pit;
for (pit = mData.mParts.mParts.begin(); pit != mData.mParts.mParts.end(); ++pit)
for (const ESM::PartReference &part : mData.mParts.mParts)
{
std::cout << " Body Part: " << bodyPartLabel(pit->mPart)
<< " (" << (int)(pit->mPart) << ")" << std::endl;
std::cout << " Male Name: " << pit->mMale << std::endl;
if (pit->mFemale != "")
std::cout << " Female Name: " << pit->mFemale << std::endl;
std::cout << " Body Part: " << bodyPartLabel(part.mPart)
<< " (" << (int)(part.mPart) << ")" << std::endl;
std::cout << " Male Name: " << part.mMale << std::endl;
if (!part.mFemale.empty())
std::cout << " Female Name: " << part.mFemale << std::endl;
}
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -606,14 +609,13 @@ void Record<ESM::Container>::print()
{
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Flags: " << containerFlags(mData.mFlags) << std::endl;
std::cout << " Weight: " << mData.mWeight << std::endl;
std::vector<ESM::ContItem>::iterator cit;
for (cit = mData.mInventory.mList.begin(); cit != mData.mInventory.mList.end(); ++cit)
std::cout << " Inventory: Count: " << boost::format("%4d") % cit->mCount
<< " Item: " << cit->mItem.toString() << std::endl;
for (const ESM::ContItem &item : mData.mInventory.mList)
std::cout << " Inventory: Count: " << Misc::StringUtils::format("%4d", item.mCount)
<< " Item: " << item.mItem << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -623,7 +625,8 @@ void Record<ESM::Creature>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Flags: " << creatureFlags(mData.mFlags) << std::endl;
std::cout << " Flags: " << creatureFlags((int)mData.mFlags) << std::endl;
std::cout << " Blood Type: " << mData.mBloodType+1 << std::endl;
std::cout << " Original: " << mData.mOriginal << std::endl;
std::cout << " Scale: " << mData.mScale << std::endl;
@ -656,18 +659,16 @@ void Record<ESM::Creature>::print()
<< "-" << mData.mData.mAttack[5] << std::endl;
std::cout << " Gold: " << mData.mData.mGold << std::endl;
std::vector<ESM::ContItem>::iterator cit;
for (cit = mData.mInventory.mList.begin(); cit != mData.mInventory.mList.end(); ++cit)
std::cout << " Inventory: Count: " << boost::format("%4d") % cit->mCount
<< " Item: " << cit->mItem.toString() << std::endl;
for (const ESM::ContItem &item : mData.mInventory.mList)
std::cout << " Inventory: Count: " << Misc::StringUtils::format("%4d", item.mCount)
<< " Item: " << item.mItem << std::endl;
std::vector<std::string>::iterator sit;
for (sit = mData.mSpells.mList.begin(); sit != mData.mSpells.mList.end(); ++sit)
std::cout << " Spell: " << *sit << std::endl;
for (const std::string &spell : mData.mSpells.mList)
std::cout << " Spell: " << spell << std::endl;
printTransport(mData.getTransport());
std::cout << " Artifical Intelligence: " << mData.mHasAI << std::endl;
std::cout << " Artificial Intelligence: " << std::endl;
std::cout << " AI Hello:" << (int)mData.mAiData.mHello << std::endl;
std::cout << " AI Fight:" << (int)mData.mAiData.mFight << std::endl;
std::cout << " AI Flee:" << (int)mData.mAiData.mFlee << std::endl;
@ -675,12 +676,10 @@ void Record<ESM::Creature>::print()
std::cout << " AI U1:" << (int)mData.mAiData.mU1 << std::endl;
std::cout << " AI U2:" << (int)mData.mAiData.mU2 << std::endl;
std::cout << " AI U3:" << (int)mData.mAiData.mU3 << std::endl;
std::cout << " AI U4:" << (int)mData.mAiData.mU4 << std::endl;
std::cout << " AI Services:" << boost::format("0x%08X") % mData.mAiData.mServices << std::endl;
std::cout << " AI Services:" << Misc::StringUtils::format("0x%08X", mData.mAiData.mServices) << std::endl;
std::vector<ESM::AIPackage>::iterator pit;
for (pit = mData.mAiPackage.mList.begin(); pit != mData.mAiPackage.mList.end(); ++pit)
printAIPackage(*pit);
for (const ESM::AIPackage &package : mData.mAiPackage.mList)
printAIPackage(package);
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -693,9 +692,8 @@ void Record<ESM::Dialogue>::print()
// Sadly, there are no DialInfos, because the loader dumps as it
// loads, rather than loading and then dumping. :-( Anyone mind if
// I change this?
ESM::Dialogue::InfoContainer::iterator iit;
for (iit = mData.mInfo.begin(); iit != mData.mInfo.end(); ++iit)
std::cout << "INFO!" << iit->mId << std::endl;
for (const ESM::DialInfo &info : mData.mInfo)
std::cout << "INFO!" << info.mId << std::endl;
}
template<>
@ -716,7 +714,7 @@ void Record<ESM::Enchantment>::print()
<< " (" << mData.mData.mType << ")" << std::endl;
std::cout << " Cost: " << mData.mData.mCost << std::endl;
std::cout << " Charge: " << mData.mData.mCharge << std::endl;
std::cout << " AutoCalc: " << mData.mData.mAutocalc << std::endl;
std::cout << " Flags: " << enchantmentFlags(mData.mData.mFlags) << std::endl;
printEffectList(mData.mEffects);
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -730,12 +728,11 @@ void Record<ESM::Faction>::print()
<< " (" << mData.mData.mAttribute[0] << ")" << std::endl;
std::cout << " Attribute2: " << attributeLabel(mData.mData.mAttribute[1])
<< " (" << mData.mData.mAttribute[1] << ")" << std::endl;
for (int i = 0; i < 7; i++)
if (mData.mData.mSkills[i] != -1)
std::cout << " Skill: " << skillLabel(mData.mData.mSkills[i])
<< " (" << mData.mData.mSkills[i] << ")" << std::endl;
for (int skill : mData.mData.mSkills)
if (skill != -1)
std::cout << " Skill: " << skillLabel(skill) << " (" << skill << ")" << std::endl;
for (int i = 0; i != 10; i++)
if (mData.mRanks[i] != "")
if (!mData.mRanks[i].empty())
{
std::cout << " Rank: " << mData.mRanks[i] << std::endl;
std::cout << " Attribute1 Requirement: "
@ -743,15 +740,14 @@ void Record<ESM::Faction>::print()
std::cout << " Attribute2 Requirement: "
<< mData.mData.mRankData[i].mAttribute2 << std::endl;
std::cout << " One Skill at Level: "
<< mData.mData.mRankData[i].mSkill1 << std::endl;
<< mData.mData.mRankData[i].mPrimarySkill << std::endl;
std::cout << " Two Skills at Level: "
<< mData.mData.mRankData[i].mSkill2 << std::endl;
<< mData.mData.mRankData[i].mFavouredSkill << std::endl;
std::cout << " Faction Reaction: "
<< mData.mData.mRankData[i].mFactReaction << std::endl;
}
std::map<std::string, int>::iterator rit;
for (rit = mData.mReactions.begin(); rit != mData.mReactions.end(); ++rit)
std::cout << " Reaction: " << rit->second << " = " << rit->first << std::endl;
for (const auto &reaction : mData.mReactions)
std::cout << " Reaction: " << reaction.second << " = " << reaction.first << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -772,34 +768,34 @@ template<>
void Record<ESM::DialInfo>::print()
{
std::cout << " Id: " << mData.mId << std::endl;
if (mData.mPrev != "")
if (!mData.mPrev.empty())
std::cout << " Previous ID: " << mData.mPrev << std::endl;
if (mData.mNext != "")
if (!mData.mNext.empty())
std::cout << " Next ID: " << mData.mNext << std::endl;
std::cout << " Text: " << mData.mResponse << std::endl;
if (mData.mActor != "")
if (!mData.mActor.empty())
std::cout << " Actor: " << mData.mActor << std::endl;
if (mData.mRace != "")
if (!mData.mRace.empty())
std::cout << " Race: " << mData.mRace << std::endl;
if (mData.mClass != "")
if (!mData.mClass.empty())
std::cout << " Class: " << mData.mClass << std::endl;
std::cout << " Factionless: " << mData.mFactionLess << std::endl;
if (mData.mFaction != "")
if (!mData.mFaction.empty())
std::cout << " NPC Faction: " << mData.mFaction << std::endl;
if (mData.mData.mRank != -1)
std::cout << " NPC Rank: " << (int)mData.mData.mRank << std::endl;
if (mData.mPcFaction != "")
if (!mData.mPcFaction.empty())
std::cout << " PC Faction: " << mData.mPcFaction << std::endl;
// CHANGE? non-standard capitalization mPCrank -> mPCRank (mPcRank?)
if (mData.mData.mPCrank != -1)
std::cout << " PC Rank: " << (int)mData.mData.mPCrank << std::endl;
if (mData.mCell != "")
if (!mData.mCell.empty())
std::cout << " Cell: " << mData.mCell << std::endl;
if (mData.mData.mDisposition > 0)
std::cout << " Disposition/Journal index: " << mData.mData.mDisposition << std::endl;
if (mData.mData.mGender != ESM::DialInfo::NA)
std::cout << " Gender: " << mData.mData.mGender << std::endl;
if (mData.mSound != "")
if (!mData.mSound.empty())
std::cout << " Sound File: " << mData.mSound << std::endl;
@ -808,11 +804,10 @@ void Record<ESM::DialInfo>::print()
std::cout << " Unknown1: " << mData.mData.mUnknown1 << std::endl;
std::cout << " Unknown2: " << (int)mData.mData.mUnknown2 << std::endl;
std::vector<ESM::DialInfo::SelectStruct>::iterator sit;
for (sit = mData.mSelects.begin(); sit != mData.mSelects.end(); ++sit)
std::cout << " Select Rule: " << ruleString(*sit) << std::endl;
for (const ESM::DialInfo::SelectStruct &rule : mData.mSelects)
std::cout << " Select Rule: " << ruleString(rule) << std::endl;
if (mData.mResultScript != "")
if (!mData.mResultScript.empty())
{
if (mPrintPlain)
{
@ -835,7 +830,7 @@ void Record<ESM::Ingredient>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -877,10 +872,9 @@ void Record<ESM::CreatureLevList>::print()
std::cout << " Chance for None: " << (int)mData.mChanceNone << std::endl;
std::cout << " Flags: " << creatureListFlags(mData.mFlags) << std::endl;
std::cout << " Number of items: " << mData.mList.size() << std::endl;
std::vector<ESM::LevelledListBase::LevelItem>::iterator iit;
for (iit = mData.mList.begin(); iit != mData.mList.end(); ++iit)
std::cout << " Creature: Level: " << iit->mLevel
<< " Creature: " << iit->mId << std::endl;
for (const ESM::LevelledListBase::LevelItem &item : mData.mList)
std::cout << " Creature: Level: " << item.mLevel
<< " Creature: " << item.mId << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -890,23 +884,22 @@ void Record<ESM::ItemLevList>::print()
std::cout << " Chance for None: " << (int)mData.mChanceNone << std::endl;
std::cout << " Flags: " << itemListFlags(mData.mFlags) << std::endl;
std::cout << " Number of items: " << mData.mList.size() << std::endl;
std::vector<ESM::LevelledListBase::LevelItem>::iterator iit;
for (iit = mData.mList.begin(); iit != mData.mList.end(); ++iit)
std::cout << " Inventory: Level: " << iit->mLevel
<< " Item: " << iit->mId << std::endl;
for (const ESM::LevelledListBase::LevelItem &item : mData.mList)
std::cout << " Inventory: Level: " << item.mLevel
<< " Item: " << item.mId << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
template<>
void Record<ESM::Light>::print()
{
if (mData.mName != "")
if (!mData.mName.empty())
std::cout << " Name: " << mData.mName << std::endl;
if (mData.mModel != "")
if (!mData.mModel.empty())
std::cout << " Model: " << mData.mModel << std::endl;
if (mData.mIcon != "")
if (!mData.mIcon.empty())
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Flags: " << lightFlags(mData.mData.mFlags) << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
@ -924,7 +917,7 @@ void Record<ESM::Lockpick>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -939,7 +932,7 @@ void Record<ESM::Probe>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -954,7 +947,7 @@ void Record<ESM::Repair>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -981,21 +974,21 @@ void Record<ESM::MagicEffect>::print()
std::cout << " Icon: " << mData.mIcon << std::endl;
std::cout << " Flags: " << magicEffectFlags(mData.mData.mFlags) << std::endl;
std::cout << " Particle Texture: " << mData.mParticle << std::endl;
if (mData.mCasting != "")
if (!mData.mCasting.empty())
std::cout << " Casting Static: " << mData.mCasting << std::endl;
if (mData.mCastSound != "")
if (!mData.mCastSound.empty())
std::cout << " Casting Sound: " << mData.mCastSound << std::endl;
if (mData.mBolt != "")
if (!mData.mBolt.empty())
std::cout << " Bolt Static: " << mData.mBolt << std::endl;
if (mData.mBoltSound != "")
if (!mData.mBoltSound.empty())
std::cout << " Bolt Sound: " << mData.mBoltSound << std::endl;
if (mData.mHit != "")
if (!mData.mHit.empty())
std::cout << " Hit Static: " << mData.mHit << std::endl;
if (mData.mHitSound != "")
if (!mData.mHitSound.empty())
std::cout << " Hit Sound: " << mData.mHitSound << std::endl;
if (mData.mArea != "")
if (!mData.mArea.empty())
std::cout << " Area Static: " << mData.mArea << std::endl;
if (mData.mAreaSound != "")
if (!mData.mAreaSound.empty())
std::cout << " Area Sound: " << mData.mAreaSound << std::endl;
std::cout << " School: " << schoolLabel(mData.mData.mSchool)
<< " (" << mData.mData.mSchool << ")" << std::endl;
@ -1015,7 +1008,7 @@ void Record<ESM::Miscellaneous>::print()
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
std::cout << " Weight: " << mData.mData.mWeight << std::endl;
std::cout << " Value: " << mData.mData.mValue << std::endl;
@ -1032,11 +1025,13 @@ void Record<ESM::NPC>::print()
std::cout << " Head Model: " << mData.mHead << std::endl;
std::cout << " Race: " << mData.mRace << std::endl;
std::cout << " Class: " << mData.mClass << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
if (mData.mFaction != "")
if (!mData.mFaction.empty())
std::cout << " Faction: " << mData.mFaction << std::endl;
std::cout << " Flags: " << npcFlags(mData.mFlags) << std::endl;
std::cout << " Flags: " << npcFlags((int)mData.mFlags) << std::endl;
if (mData.mBloodType != 0)
std::cout << " Blood Type: " << mData.mBloodType+1 << std::endl;
if (mData.mNpdtType == ESM::NPC::NPC_WITH_AUTOCALCULATED_STATS)
{
@ -1044,14 +1039,6 @@ void Record<ESM::NPC>::print()
std::cout << " Reputation: " << (int)mData.mNpdt.mReputation << std::endl;
std::cout << " Disposition: " << (int)mData.mNpdt.mDisposition << std::endl;
std::cout << " Rank: " << (int)mData.mNpdt.mRank << std::endl;
//Why do we want to print these fields? They are padding in the struct and contain
// nothing of real value. Now we don't deal with NPDTstruct12 in runtime either...
//std::cout << " Unknown1: "
// << (unsigned int)((unsigned char)mData.mNpdt12.mUnknown1) << std::endl;
//std::cout << " Unknown2: "
// << (unsigned int)((unsigned char)mData.mNpdt12.mUnknown2) << std::endl;
//std::cout << " Unknown3: "
// << (unsigned int)((unsigned char)mData.mNpdt12.mUnknown3) << std::endl;
std::cout << " Gold: " << mData.mNpdt.mGold << std::endl;
}
else {
@ -1059,7 +1046,6 @@ void Record<ESM::NPC>::print()
std::cout << " Reputation: " << (int)mData.mNpdt.mReputation << std::endl;
std::cout << " Disposition: " << (int)mData.mNpdt.mDisposition << std::endl;
std::cout << " Rank: " << (int)mData.mNpdt.mRank << std::endl;
std::cout << " FactionID: " << (int)mData.mNpdt.mFactionID << std::endl;
std::cout << " Attributes:" << std::endl;
std::cout << " Strength: " << (int)mData.mNpdt.mStrength << std::endl;
@ -1079,22 +1065,19 @@ void Record<ESM::NPC>::print()
std::cout << " Health: " << mData.mNpdt.mHealth << std::endl;
std::cout << " Magicka: " << mData.mNpdt.mMana << std::endl;
std::cout << " Fatigue: " << mData.mNpdt.mFatigue << std::endl;
std::cout << " Unknown: " << (int)mData.mNpdt.mUnknown << std::endl;
std::cout << " Gold: " << mData.mNpdt.mGold << std::endl;
}
std::vector<ESM::ContItem>::iterator cit;
for (cit = mData.mInventory.mList.begin(); cit != mData.mInventory.mList.end(); ++cit)
std::cout << " Inventory: Count: " << boost::format("%4d") % cit->mCount
<< " Item: " << cit->mItem.toString() << std::endl;
for (const ESM::ContItem &item : mData.mInventory.mList)
std::cout << " Inventory: Count: " << Misc::StringUtils::format("%4d", item.mCount)
<< " Item: " << item.mItem << std::endl;
std::vector<std::string>::iterator sit;
for (sit = mData.mSpells.mList.begin(); sit != mData.mSpells.mList.end(); ++sit)
std::cout << " Spell: " << *sit << std::endl;
for (const std::string &spell : mData.mSpells.mList)
std::cout << " Spell: " << spell << std::endl;
printTransport(mData.getTransport());
std::cout << " Artifical Intelligence: " << mData.mHasAI << std::endl;
std::cout << " Artificial Intelligence: " << std::endl;
std::cout << " AI Hello:" << (int)mData.mAiData.mHello << std::endl;
std::cout << " AI Fight:" << (int)mData.mAiData.mFight << std::endl;
std::cout << " AI Flee:" << (int)mData.mAiData.mFlee << std::endl;
@ -1102,12 +1085,10 @@ void Record<ESM::NPC>::print()
std::cout << " AI U1:" << (int)mData.mAiData.mU1 << std::endl;
std::cout << " AI U2:" << (int)mData.mAiData.mU2 << std::endl;
std::cout << " AI U3:" << (int)mData.mAiData.mU3 << std::endl;
std::cout << " AI U4:" << (int)mData.mAiData.mU4 << std::endl;
std::cout << " AI Services:" << boost::format("0x%08X") % mData.mAiData.mServices << std::endl;
std::cout << " AI Services:" << Misc::StringUtils::format("0x%08X", mData.mAiData.mServices) << std::endl;
std::vector<ESM::AIPackage>::iterator pit;
for (pit = mData.mAiPackage.mList.begin(); pit != mData.mAiPackage.mList.end(); ++pit)
printAIPackage(*pit);
for (const ESM::AIPackage &package : mData.mAiPackage.mList)
printAIPackage(package);
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -1124,23 +1105,22 @@ void Record<ESM::Pathgrid>::print()
std::cout << " Edge Count: " << mData.mEdges.size() << std::endl;
int i = 0;
ESM::Pathgrid::PointList::iterator pit;
for (pit = mData.mPoints.begin(); pit != mData.mPoints.end(); ++pit)
for (const ESM::Pathgrid::Point &point : mData.mPoints)
{
std::cout << " Point[" << i << "]:" << std::endl;
std::cout << " Coordinates: (" << pit->mX << ","
<< pit->mY << "," << pit->mZ << ")" << std::endl;
std::cout << " Auto-Generated: " << (int)pit->mAutogenerated << std::endl;
std::cout << " Connections: " << (int)pit->mConnectionNum << std::endl;
std::cout << " Unknown: " << pit->mUnknown << std::endl;
std::cout << " Coordinates: (" << point.mX << ","
<< point.mY << "," << point.mZ << ")" << std::endl;
std::cout << " Auto-Generated: " << (int)point.mAutogenerated << std::endl;
std::cout << " Connections: " << (int)point.mConnectionNum << std::endl;
std::cout << " Unknown: " << point.mUnknown << std::endl;
i++;
}
i = 0;
ESM::Pathgrid::EdgeList::iterator eit;
for (eit = mData.mEdges.begin(); eit != mData.mEdges.end(); ++eit)
for (const ESM::Pathgrid::Edge &edge : mData.mEdges)
{
std::cout << " Edge[" << i << "]: " << eit->mV0 << " -> " << eit->mV1 << std::endl;
if (eit->mV0 >= mData.mData.mS2 || eit->mV1 >= mData.mData.mS2)
std::cout << " Edge[" << i << "]: " << edge.mV0 << " -> " << edge.mV1 << std::endl;
if (edge.mV0 >= mData.mData.mS2 || edge.mV1 >= mData.mData.mS2)
std::cout << " BAD POINT IN EDGE!" << std::endl;
i++;
}
@ -1183,9 +1163,8 @@ void Record<ESM::Race>::print()
<< " (" << mData.mData.mBonus[i].mSkill << ") = "
<< mData.mData.mBonus[i].mBonus << std::endl;
std::vector<std::string>::iterator sit;
for (sit = mData.mPowers.mList.begin(); sit != mData.mPowers.mList.end(); ++sit)
std::cout << " Power: " << *sit << std::endl;
for (const std::string &power : mData.mPowers.mList)
std::cout << " Power: " << power << std::endl;
std::cout << " Deleted: " << mIsDeleted << std::endl;
}
@ -1207,11 +1186,10 @@ void Record<ESM::Region>::print()
std::cout << " UnknownA: " << (int)mData.mData.mA << std::endl;
std::cout << " UnknownB: " << (int)mData.mData.mB << std::endl;
std::cout << " Map Color: " << mData.mMapColor << std::endl;
if (mData.mSleepList != "")
if (!mData.mSleepList.empty())
std::cout << " Sleep List: " << mData.mSleepList << std::endl;
std::vector<ESM::Region::SoundRef>::iterator sit;
for (sit = mData.mSoundList.begin(); sit != mData.mSoundList.end(); ++sit)
std::cout << " Sound: " << (int)sit->mChance << " = " << sit->mSound.toString() << std::endl;
for (const ESM::Region::SoundRef &soundref : mData.mSoundList)
std::cout << " Sound: " << (int)soundref.mChance << " = " << soundref.mSound << std::endl;
}
template<>
@ -1225,15 +1203,12 @@ void Record<ESM::Script>::print()
std::cout << " Script Data Size: " << mData.mData.mScriptDataSize << std::endl;
std::cout << " Table Size: " << mData.mData.mStringTableSize << std::endl;
std::vector<std::string>::iterator vit;
for (vit = mData.mVarNames.begin(); vit != mData.mVarNames.end(); ++vit)
std::cout << " Variable: " << *vit << std::endl;
for (const std::string &variable : mData.mVarNames)
std::cout << " Variable: " << variable << std::endl;
std::cout << " ByteCode: ";
std::vector<unsigned char>::iterator cit;
for (cit = mData.mScriptData.begin(); cit != mData.mScriptData.end(); ++cit)
std::cout << boost::format("%02X") % (int)(*cit);
for (const unsigned char &byte : mData.mScriptData)
std::cout << Misc::StringUtils::format("%02X", (int)(byte));
std::cout << std::endl;
if (mPrintPlain)
@ -1268,7 +1243,8 @@ void Record<ESM::Skill>::print()
template<>
void Record<ESM::SoundGenerator>::print()
{
std::cout << " Creature: " << mData.mCreature << std::endl;
if (!mData.mCreature.empty())
std::cout << " Creature: " << mData.mCreature << std::endl;
std::cout << " Sound: " << mData.mSound << std::endl;
std::cout << " Type: " << soundTypeLabel(mData.mType)
<< " (" << mData.mType << ")" << std::endl;
@ -1316,15 +1292,15 @@ template<>
void Record<ESM::Weapon>::print()
{
// No names on VFX bolts
if (mData.mName != "")
if (!mData.mName.empty())
std::cout << " Name: " << mData.mName << std::endl;
std::cout << " Model: " << mData.mModel << std::endl;
// No icons on VFX bolts or magic bolts
if (mData.mIcon != "")
if (!mData.mIcon.empty())
std::cout << " Icon: " << mData.mIcon << std::endl;
if (mData.mScript != "")
if (!mData.mScript.empty())
std::cout << " Script: " << mData.mScript << std::endl;
if (mData.mEnchant != "")
if (!mData.mEnchant.empty())
std::cout << " Enchantment: " << mData.mEnchant << std::endl;
std::cout << " Type: " << weaponTypeLabel(mData.mData.mType)
<< " (" << mData.mData.mType << ")" << std::endl;
@ -1356,25 +1332,25 @@ std::string Record<ESM::Cell>::getId() const
template<>
std::string Record<ESM::Land>::getId() const
{
return ""; // No ID for Land record
return std::string(); // No ID for Land record
}
template<>
std::string Record<ESM::MagicEffect>::getId() const
{
return ""; // No ID for MagicEffect record
return std::string(); // No ID for MagicEffect record
}
template<>
std::string Record<ESM::Pathgrid>::getId() const
{
return ""; // No ID for Pathgrid record
return std::string(); // No ID for Pathgrid record
}
template<>
std::string Record<ESM::Skill>::getId() const
{
return ""; // No ID for Skill record
return std::string(); // No ID for Skill record
}
} // end namespace

@ -74,7 +74,7 @@ namespace EsmTool
: mIsDeleted(false)
{}
std::string getId() const {
std::string getId() const override {
return mData.mId;
}
@ -82,15 +82,15 @@ namespace EsmTool
return mData;
}
void save(ESM::ESMWriter &esm) {
void save(ESM::ESMWriter &esm) override {
mData.save(esm, mIsDeleted);
}
void load(ESM::ESMReader &esm) {
void load(ESM::ESMReader &esm) override {
mData.load(esm, mIsDeleted);
}
void print();
void print() override;
};
template<> std::string Record<ESM::Cell>::getId() const;

@ -8,6 +8,8 @@
#include <components/esm/creaturestate.hpp>
#include <components/esm/containerstate.hpp>
#include <components/misc/constants.hpp>
#include "convertcrec.hpp"
#include "convertcntc.hpp"
#include "convertscri.hpp"
@ -50,9 +52,7 @@ namespace
// a dynamically created record e.g. player-enchanted weapon
std::string index = indexedRefId.substr(indexedRefId.size()-8);
if(index.find_first_not_of("0123456789ABCDEF") == std::string::npos )
return true;
return false;
return index.find_first_not_of("0123456789ABCDEF") == std::string::npos;
}
void splitIndexedRefId(const std::string& indexedRefId, int& refIndex, std::string& refId)
@ -137,12 +137,12 @@ namespace ESSImport
image2->allocateImage(width, height, 1, GL_RGBA, GL_UNSIGNED_BYTE);
memcpy(image2->data(), &data[0], data.size());
for (std::set<std::pair<int, int> >::const_iterator it = mContext->mExploredCells.begin(); it != mContext->mExploredCells.end(); ++it)
for (const auto & exploredCell : mContext->mExploredCells)
{
if (it->first > mContext->mGlobalMapState.mBounds.mMaxX
|| it->first < mContext->mGlobalMapState.mBounds.mMinX
|| it->second > mContext->mGlobalMapState.mBounds.mMaxY
|| it->second < mContext->mGlobalMapState.mBounds.mMinY)
if (exploredCell.first > mContext->mGlobalMapState.mBounds.mMaxX
|| exploredCell.first < mContext->mGlobalMapState.mBounds.mMinX
|| exploredCell.second > mContext->mGlobalMapState.mBounds.mMaxY
|| exploredCell.second < mContext->mGlobalMapState.mBounds.mMinY)
{
// out of bounds, I think this could happen, since the original engine had a fixed-size map
continue;
@ -150,12 +150,12 @@ namespace ESSImport
int imageLeftSrc = mGlobalMapImage->s()/2;
int imageTopSrc = mGlobalMapImage->t()/2;
imageLeftSrc += it->first * cellSize;
imageTopSrc -= it->second * cellSize;
imageLeftSrc += exploredCell.first * cellSize;
imageTopSrc -= exploredCell.second * cellSize;
int imageLeftDst = width/2;
int imageTopDst = height/2;
imageLeftDst += it->first * cellSize;
imageTopDst -= it->second * cellSize;
imageLeftDst += exploredCell.first * cellSize;
imageTopDst -= exploredCell.second * cellSize;
for (int x=0; x<cellSize; ++x)
for (int y=0; y<cellSize; ++y)
{
@ -288,12 +288,12 @@ namespace ESSImport
notepos[1] += 31.f;
notepos[0] += 0.5;
notepos[1] += 0.5;
notepos[0] = 8192 * notepos[0] / 32.f;
notepos[1] = 8192 * notepos[1] / 32.f;
notepos[0] = Constants::CellSizeInUnits * notepos[0] / 32.f;
notepos[1] = Constants::CellSizeInUnits * notepos[1] / 32.f;
if (cell.isExterior())
{
notepos[0] += 8192 * cell.mData.mX;
notepos[1] += 8192 * cell.mData.mY;
notepos[0] += Constants::CellSizeInUnits * cell.mData.mX;
notepos[1] += Constants::CellSizeInUnits * cell.mData.mY;
}
// TODO: what encoding is this in?
std::string note = esm.getHNString("MPNT");
@ -327,9 +327,8 @@ namespace ESSImport
csta.mWaterLevel = esmcell.mWater;
csta.save(esm);
for (std::vector<CellRef>::const_iterator refIt = cell.mRefs.begin(); refIt != cell.mRefs.end(); ++refIt)
for (const auto & cellref : cell.mRefs)
{
const CellRef& cellref = *refIt;
ESM::CellRef out (cellref);
// TODO: use mContext->mCreatures/mNpcs
@ -435,16 +434,16 @@ namespace ESSImport
void ConvertCell::write(ESM::ESMWriter &esm)
{
for (std::map<std::string, Cell>::const_iterator it = mIntCells.begin(); it != mIntCells.end(); ++it)
writeCell(it->second, esm);
for (const auto & cell : mIntCells)
writeCell(cell.second, esm);
for (std::map<std::pair<int, int>, Cell>::const_iterator it = mExtCells.begin(); it != mExtCells.end(); ++it)
writeCell(it->second, esm);
for (const auto & cell : mExtCells)
writeCell(cell.second, esm);
for (std::vector<ESM::CustomMarker>::const_iterator it = mMarkers.begin(); it != mMarkers.end(); ++it)
for (const auto & marker : mMarkers)
{
esm.startRecord(ESM::REC_MARK);
it->save(esm);
marker.save(esm);
esm.endRecord(ESM::REC_MARK);
}
}

@ -79,9 +79,9 @@ template <typename T>
class DefaultConverter : public Converter
{
public:
virtual int getStage() { return 0; }
int getStage() override { return 0; }
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
T record;
bool isDeleted = false;
@ -90,7 +90,7 @@ public:
mRecords[record.mId] = record;
}
virtual void write(ESM::ESMWriter& esm)
void write(ESM::ESMWriter& esm) override
{
for (typename std::map<std::string, T>::const_iterator it = mRecords.begin(); it != mRecords.end(); ++it)
{
@ -107,7 +107,7 @@ protected:
class ConvertNPC : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
ESM::NPC npc;
bool isDeleted = false;
@ -127,8 +127,8 @@ public:
ESM::SpellState::SpellParams empty;
// FIXME: player start spells and birthsign spells aren't listed here,
// need to fix openmw to account for this
for (std::vector<std::string>::const_iterator it = npc.mSpells.mList.begin(); it != npc.mSpells.mList.end(); ++it)
mContext->mPlayer.mObject.mCreatureStats.mSpells.mSpells[*it] = empty;
for (const auto & spell : npc.mSpells.mList)
mContext->mPlayer.mObject.mCreatureStats.mSpells.mSpells[spell] = empty;
// Clear the list now that we've written it, this prevents issues cropping up with
// ensureCustomData() in OpenMW tripping over no longer existing spells, where an error would be fatal.
@ -144,7 +144,7 @@ public:
class ConvertCREA : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
// See comment in ConvertNPC
ESM::Creature creature;
@ -162,7 +162,7 @@ public:
class ConvertGlobal : public DefaultConverter<ESM::Global>
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
ESM::Global global;
bool isDeleted = false;
@ -183,7 +183,7 @@ public:
class ConvertClass : public DefaultConverter<ESM::Class>
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
ESM::Class class_;
bool isDeleted = false;
@ -199,7 +199,7 @@ public:
class ConvertBook : public DefaultConverter<ESM::Book>
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
ESM::Book book;
bool isDeleted = false;
@ -215,7 +215,7 @@ public:
class ConvertNPCC : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
std::string id = esm.getHNString("NAME");
NPCC npcc;
@ -235,7 +235,7 @@ public:
class ConvertREFR : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
REFR refr;
refr.load(esm);
@ -261,7 +261,7 @@ public:
}
}
}
virtual void write(ESM::ESMWriter& esm)
void write(ESM::ESMWriter& esm) override
{
esm.startRecord(ESM::REC_ASPL);
esm.writeHNString("ID__", mSelectedSpell);
@ -280,14 +280,14 @@ public:
mLevitationEnabled(true)
{}
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
PCDT pcdt;
pcdt.load(esm);
convertPCDT(pcdt, mContext->mPlayer, mContext->mDialogueState.mKnownTopics, mFirstPersonCam, mTeleportingEnabled, mLevitationEnabled, mContext->mControlsState);
}
virtual void write(ESM::ESMWriter &esm)
void write(ESM::ESMWriter &esm) override
{
esm.startRecord(ESM::REC_ENAB);
esm.writeHNT("TELE", mTeleportingEnabled);
@ -306,7 +306,7 @@ private:
class ConvertCNTC : public Converter
{
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
std::string id = esm.getHNString("NAME");
CNTC cntc;
@ -318,7 +318,7 @@ class ConvertCNTC : public Converter
class ConvertCREC : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
std::string id = esm.getHNString("NAME");
CREC crec;
@ -330,8 +330,8 @@ public:
class ConvertFMAP : public Converter
{
public:
virtual void read(ESM::ESMReader &esm);
virtual void write(ESM::ESMWriter &esm);
void read(ESM::ESMReader &esm) override;
void write(ESM::ESMWriter &esm) override;
private:
osg::ref_ptr<osg::Image> mGlobalMapImage;
@ -340,8 +340,8 @@ private:
class ConvertCell : public Converter
{
public:
virtual void read(ESM::ESMReader& esm);
virtual void write(ESM::ESMWriter& esm);
void read(ESM::ESMReader& esm) override;
void write(ESM::ESMWriter& esm) override;
private:
struct Cell
@ -362,7 +362,7 @@ private:
class ConvertKLST : public Converter
{
public:
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
KLST klst;
klst.load(esm);
@ -371,7 +371,7 @@ public:
mContext->mPlayer.mObject.mNpcStats.mWerewolfKills = klst.mWerewolfKills;
}
virtual void write(ESM::ESMWriter &esm)
void write(ESM::ESMWriter &esm) override
{
esm.startRecord(ESM::REC_DCOU);
for (std::map<std::string, int>::const_iterator it = mKillCounter.begin(); it != mKillCounter.end(); ++it)
@ -389,7 +389,7 @@ private:
class ConvertFACT : public Converter
{
public:
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
ESM::Faction faction;
bool isDeleted = false;
@ -409,7 +409,7 @@ public:
class ConvertSTLN : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
std::string itemid = esm.getHNString("NAME");
Misc::StringUtils::lowerCaseInPlace(itemid);
@ -428,15 +428,15 @@ public:
}
}
}
virtual void write(ESM::ESMWriter &esm)
void write(ESM::ESMWriter &esm) override
{
ESM::StolenItems items;
for (std::map<std::string, std::set<Owner> >::const_iterator it = mStolenItems.begin(); it != mStolenItems.end(); ++it)
{
std::map<std::pair<std::string, bool>, int> owners;
for (std::set<Owner>::const_iterator ownerIt = it->second.begin(); ownerIt != it->second.end(); ++ownerIt)
for (const auto & ownerIt : it->second)
{
owners.insert(std::make_pair(std::make_pair(ownerIt->first, ownerIt->second)
owners.insert(std::make_pair(std::make_pair(ownerIt.first, ownerIt.second)
// Since OpenMW doesn't suffer from the owner contamination bug,
// it needs a count argument. But for legacy savegames, we don't know
// this count, so must assume all items of that ID are stolen,
@ -467,7 +467,7 @@ private:
class ConvertINFO : public Converter
{
public:
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
INFO info;
info.load(esm);
@ -477,7 +477,7 @@ public:
class ConvertDIAL : public Converter
{
public:
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
std::string id = esm.getHNString("NAME");
DIAL dial;
@ -485,7 +485,7 @@ public:
if (dial.mIndex > 0)
mDials[id] = dial;
}
virtual void write(ESM::ESMWriter &esm)
void write(ESM::ESMWriter &esm) override
{
for (std::map<std::string, DIAL>::const_iterator it = mDials.begin(); it != mDials.end(); ++it)
{
@ -505,7 +505,7 @@ private:
class ConvertQUES : public Converter
{
public:
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
std::string id = esm.getHNString("NAME");
QUES quest;
@ -516,7 +516,7 @@ public:
class ConvertJOUR : public Converter
{
public:
virtual void read(ESM::ESMReader& esm)
void read(ESM::ESMReader& esm) override
{
JOUR journal;
journal.load(esm);
@ -526,9 +526,12 @@ public:
class ConvertGAME : public Converter
{
public:
ConvertGAME() : mHasGame(false) {}
ConvertGAME()
: mHasGame(false)
{
}
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
mGame.load(esm);
mHasGame = true;
@ -548,7 +551,7 @@ public:
}
}
virtual void write(ESM::ESMWriter &esm)
void write(ESM::ESMWriter &esm) override
{
if (!mHasGame)
return;
@ -575,7 +578,7 @@ private:
class ConvertSCPT : public Converter
{
public:
virtual void read(ESM::ESMReader &esm)
void read(ESM::ESMReader &esm) override
{
SCPT script;
script.load(esm);
@ -583,12 +586,12 @@ public:
convertSCPT(script, out);
mScripts.push_back(out);
}
virtual void write(ESM::ESMWriter &esm)
void write(ESM::ESMWriter &esm) override
{
for (std::vector<ESM::GlobalScript>::const_iterator it = mScripts.begin(); it != mScripts.end(); ++it)
for (const auto & script : mScripts)
{
esm.startRecord(ESM::REC_GSCR);
it->save(esm);
script.save(esm);
esm.endRecord(ESM::REC_GSCR);
}
}
@ -600,9 +603,9 @@ private:
class ConvertPROJ : public Converter
{
public:
virtual int getStage() override { return 2; }
virtual void read(ESM::ESMReader& esm) override;
virtual void write(ESM::ESMWriter& esm) override;
int getStage() override { return 2; }
void read(ESM::ESMReader& esm) override;
void write(ESM::ESMWriter& esm) override;
private:
void convertBaseState(ESM::BaseProjectileState& base, const PROJ::PNAM& pnam);
PROJ mProj;
@ -611,8 +614,8 @@ private:
class ConvertSPLM : public Converter
{
public:
virtual void read(ESM::ESMReader& esm) override;
virtual void write(ESM::ESMWriter& esm) override;
void read(ESM::ESMReader& esm) override;
void write(ESM::ESMWriter& esm) override;
private:
SPLM mSPLM;
};

@ -9,21 +9,20 @@ namespace ESSImport
void convertInventory(const Inventory &inventory, ESM::InventoryState &state)
{
int index = 0;
for (std::vector<Inventory::InventoryItem>::const_iterator it = inventory.mItems.begin();
it != inventory.mItems.end(); ++it)
for (const auto & item : inventory.mItems)
{
ESM::ObjectState objstate;
objstate.blank();
objstate.mRef = *it;
objstate.mRef.mRefID = Misc::StringUtils::lowerCase(it->mId);
objstate.mCount = std::abs(it->mCount); // restocking items have negative count in the savefile
objstate.mRef = item;
objstate.mRef.mRefID = Misc::StringUtils::lowerCase(item.mId);
objstate.mCount = std::abs(item.mCount); // restocking items have negative count in the savefile
// openmw handles them differently, so no need to set any flags
state.mItems.push_back(objstate);
if (it->mRelativeEquipmentSlot != -1)
if (item.mRelativeEquipmentSlot != -1)
// Note we should really write the absolute slot here, which we do not know about
// Not a big deal, OpenMW will auto-correct to a valid slot, the only problem is when
// an item could be equipped in two different slots (e.g. equipped two rings)
state.mEquipmentSlots[index] = it->mRelativeEquipmentSlot;
state.mEquipmentSlots[index] = item.mRelativeEquipmentSlot;
++index;
}
}

@ -1,5 +1,6 @@
#include "convertplayer.hpp"
#include <components/misc/constants.hpp>
#include <components/misc/stringops.hpp>
namespace ESSImport
@ -9,13 +10,13 @@ namespace ESSImport
{
out.mBirthsign = pcdt.mBirthsign;
out.mObject.mNpcStats.mBounty = pcdt.mBounty;
for (std::vector<PCDT::FNAM>::const_iterator it = pcdt.mFactions.begin(); it != pcdt.mFactions.end(); ++it)
for (const auto & essFaction : pcdt.mFactions)
{
ESM::NpcStats::Faction faction;
faction.mExpelled = (it->mFlags & 0x2) != 0;
faction.mRank = it->mRank;
faction.mReputation = it->mReputation;
out.mObject.mNpcStats.mFactions[Misc::StringUtils::lowerCase(it->mFactionName.toString())] = faction;
faction.mExpelled = (essFaction.mFlags & 0x2) != 0;
faction.mRank = essFaction.mRank;
faction.mReputation = essFaction.mReputation;
out.mObject.mNpcStats.mFactions[Misc::StringUtils::lowerCase(essFaction.mFactionName.toString())] = faction;
}
for (int i=0; i<3; ++i)
out.mObject.mNpcStats.mSpecIncreases[i] = pcdt.mPNAM.mSpecIncreases[i];
@ -34,10 +35,9 @@ namespace ESSImport
teleportingEnabled = !(pcdt.mPNAM.mPlayerFlags & PCDT::PlayerFlags_TeleportingDisabled);
levitationEnabled = !(pcdt.mPNAM.mPlayerFlags & PCDT::PlayerFlags_LevitationDisabled);
for (std::vector<std::string>::const_iterator it = pcdt.mKnownDialogueTopics.begin();
it != pcdt.mKnownDialogueTopics.end(); ++it)
for (const auto & knownDialogueTopic : pcdt.mKnownDialogueTopics)
{
outDialogueTopics.push_back(Misc::StringUtils::lowerCase(*it));
outDialogueTopics.push_back(Misc::StringUtils::lowerCase(knownDialogueTopic));
}
controls.mViewSwitchDisabled = pcdt.mPNAM.mPlayerFlags & PCDT::PlayerFlags_ViewSwitchDisabled;
@ -78,9 +78,8 @@ namespace ESSImport
if (pcdt.mHasENAM)
{
const int cellSize = 8192;
out.mLastKnownExteriorPosition[0] = (pcdt.mENAM.mCellX + 0.5f) * cellSize;
out.mLastKnownExteriorPosition[1] = (pcdt.mENAM.mCellY + 0.5f) * cellSize;
out.mLastKnownExteriorPosition[0] = (pcdt.mENAM.mCellX + 0.5f) * Constants::CellSizeInUnits;
out.mLastKnownExteriorPosition[1] = (pcdt.mENAM.mCellY + 0.5f) * Constants::CellSizeInUnits;
out.mLastKnownExteriorPosition[2] = 0.0f;
}
}

@ -11,6 +11,7 @@ namespace ESSImport
{
out.mId = Misc::StringUtils::lowerCase(scpt.mSCHD.mName.toString());
out.mRunning = scpt.mRunning;
out.mTargetRef.unset(); // TODO: convert target reference of global script
convertSCRI(scpt.mSCRI, out.mLocals);
}

@ -1,18 +1,16 @@
#include "convertscri.hpp"
#include <iostream>
namespace
{
template <typename T, ESM::VarType VariantType>
void storeVariables(const std::vector<T>& variables, ESM::Locals& locals, const std::string& scriptname)
{
for (typename std::vector<T>::const_iterator it = variables.begin(); it != variables.end(); ++it)
for (const auto& variable : variables)
{
ESM::Variant val(*it);
ESM::Variant val(variable);
val.setType(VariantType);
locals.mVariables.push_back(std::make_pair(std::string(), val));
locals.mVariables.emplace_back(std::string(), val);
}
}

@ -86,7 +86,9 @@ namespace ESSImport
bool mHasANIS;
ANIS mANIS; // scripted animation state
void load(ESM::ESMReader& esm);
virtual void load(ESM::ESMReader& esm);
virtual ~ActorData() = default;
};
}

@ -25,7 +25,9 @@ namespace ESSImport
bool mDeleted;
void load(ESM::ESMReader& esm);
void load(ESM::ESMReader& esm) override;
virtual ~CellRef() = default;
};
}

@ -2,6 +2,7 @@
#include <iomanip>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <osgDB/ReadFile>
@ -15,15 +16,14 @@
#include <components/esm/player.hpp>
#include <components/esm/loadalch.hpp>
#include <components/esm/loadclas.hpp>
#include <components/esm/loadspel.hpp>
#include <components/esm/loadarmo.hpp>
#include <components/esm/loadweap.hpp>
#include <components/esm/loadclot.hpp>
#include <components/esm/loadench.hpp>
#include <components/esm/loadweap.hpp>
#include <components/esm/loadlevlist.hpp>
#include <components/esm/loadglob.hpp>
#include <components/misc/constants.hpp>
#include <components/to_utf8/to_utf8.hpp>
@ -46,7 +46,7 @@ namespace
image->allocateImage(128, 128, 1, GL_RGB, GL_UNSIGNED_BYTE);
// need to convert pixel format from BGRA to RGB as the jpg readerwriter doesn't support it otherwise
std::vector<unsigned char>::const_iterator it = fileHeader.mSCRS.begin();
auto it = fileHeader.mSCRS.begin();
for (int y=0; y<128; ++y)
{
for (int x=0; x<128; ++x)
@ -314,10 +314,9 @@ namespace ESSImport
std::set<unsigned int> unknownRecords;
for (std::map<unsigned int, std::shared_ptr<Converter> >::const_iterator it = converters.begin();
it != converters.end(); ++it)
for (const auto & converter : converters)
{
it->second->setContext(context);
converter.second->setContext(context);
}
while (esm.hasMoreRecs())
@ -325,7 +324,7 @@ namespace ESSImport
ESM::NAME n = esm.getRecName();
esm.getRecHeader();
std::map<unsigned int, std::shared_ptr<Converter> >::iterator it = converters.find(n.intval);
auto it = converters.find(n.intval);
if (it != converters.end())
{
it->second->read(esm);
@ -347,7 +346,7 @@ namespace ESSImport
writer.setFormat (ESM::SavedGame::sCurrentFormat);
std::ofstream stream(mOutFile.c_str(), std::ios::binary);
boost::filesystem::ofstream stream(boost::filesystem::path(mOutFile), std::ios::out | std::ios::binary);
// all unused
writer.setVersion(0);
writer.setType(0);
@ -355,17 +354,15 @@ namespace ESSImport
writer.setDescription("");
writer.setRecordCount (0);
for (std::vector<ESM::Header::MasterData>::const_iterator it = header.mMaster.begin();
it != header.mMaster.end(); ++it)
writer.addMaster (it->name, 0); // not using the size information anyway -> use value of 0
for (const auto & master : header.mMaster)
writer.addMaster(master.name, 0); // not using the size information anyway -> use value of 0
writer.save (stream);
ESM::SavedGame profile;
for (std::vector<ESM::Header::MasterData>::const_iterator it = header.mMaster.begin();
it != header.mMaster.end(); ++it)
for (const auto & master : header.mMaster)
{
profile.mContentFiles.push_back(it->name);
profile.mContentFiles.push_back(master.name);
}
profile.mDescription = esm.getDesc();
profile.mInGameTime.mDay = context.mDay;
@ -413,9 +410,8 @@ namespace ESSImport
if (context.mPlayer.mCellId.mPaged)
{
// exterior cell -> determine cell coordinates based on position
const int cellSize = 8192;
int cellX = static_cast<int>(std::floor(context.mPlayer.mObject.mPosition.pos[0]/cellSize));
int cellY = static_cast<int>(std::floor(context.mPlayer.mObject.mPosition.pos[1] / cellSize));
int cellX = static_cast<int>(std::floor(context.mPlayer.mObject.mPosition.pos[0] / Constants::CellSizeInUnits));
int cellY = static_cast<int>(std::floor(context.mPlayer.mObject.mPosition.pos[1] / Constants::CellSizeInUnits));
context.mPlayer.mCellId.mIndex.mX = cellX;
context.mPlayer.mCellId.mIndex.mY = cellY;
}

@ -63,7 +63,6 @@ namespace ESSImport
, mHour(0.f)
, mNextActorId(0)
{
mPlayer.mAutoMove = 0;
ESM::CellId playerCellId;
playerCellId.mPaged = true;
playerCellId.mIndex.mX = playerCellId.mIndex.mY = 0;
@ -84,6 +83,8 @@ namespace ESSImport
mGlobalMapState.mBounds.mMaxX = 0;
mGlobalMapState.mBounds.mMinY = 0;
mGlobalMapState.mBounds.mMaxY = 0;
mPlayerBase.blank();
}
int generateActorId()

@ -14,13 +14,13 @@ namespace ESSImport
{
struct GMDT
{
char mCellName[64];
int mFogColour;
float mFogDensity;
int mCurrentWeather, mNextWeather;
int mWeatherTransition; // 0-100 transition between weathers, top 3 bytes may be garbage
float mTimeOfNextTransition; // weather changes when gamehour == timeOfNextTransition
int mMasserPhase, mSecundaPhase; // top 3 bytes may be garbage
char mCellName[64] {};
int mFogColour {0};
float mFogDensity {0.f};
int mCurrentWeather {0}, mNextWeather {0};
int mWeatherTransition {0}; // 0-100 transition between weathers, top 3 bytes may be garbage
float mTimeOfNextTransition {0.f}; // weather changes when gamehour == timeOfNextTransition
int mMasserPhase {0}, mSecundaPhase {0}; // top 3 bytes may be garbage
};
GMDT mGMDT;

@ -4,8 +4,6 @@
#include <components/esm/esmreader.hpp>
#include <components/esm/loadcont.hpp>
namespace ESSImport
{
@ -13,7 +11,7 @@ namespace ESSImport
{
while (esm.isNextSub("NPCO"))
{
ESM::ContItem contItem;
ContItem contItem;
esm.getHT(contItem);
InventoryItem item;
@ -21,6 +19,7 @@ namespace ESSImport
item.mCount = contItem.mCount;
item.mRelativeEquipmentSlot = -1;
item.mLockLevel = 0;
item.mRefNum.unset();
unsigned int itemCount = std::abs(item.mCount);
bool separateStacks = false;

@ -5,6 +5,8 @@
#include <string>
#include <components/esm/cellref.hpp>
#include <components/esm/esmcommon.hpp>
#include "importscri.hpp"
namespace ESM
@ -15,6 +17,12 @@ namespace ESM
namespace ESSImport
{
struct ContItem
{
int mCount;
ESM::NAME32 mItem;
};
struct Inventory
{
struct InventoryItem : public ESM::CellRef

@ -13,10 +13,16 @@ namespace ESM
namespace ESSImport
{
struct SCHD
{
ESM::NAME32 mName;
ESM::Script::SCHDstruct mData;
};
// A running global script
struct SCPT
{
ESM::Script::SCHD mSCHD;
SCHD mSCHD;
// values of local variables
SCRI mSCRI;

@ -57,7 +57,7 @@ int main(int argc, char** argv)
else
{
const std::string& ext = ".omwsave";
if (boost::filesystem::exists(boost::filesystem::path(outputFile))
if (bfs::exists(bfs::path(outputFile))
&& (outputFile.size() < ext.size() || outputFile.substr(outputFile.size()-ext.size()) != ext))
{
throw std::runtime_error("Output file already exists and does not end in .omwsave. Did you mean to use --compare?");

@ -1,6 +1,7 @@
set(LAUNCHER
datafilespage.cpp
graphicspage.cpp
sdlinit.cpp
main.cpp
maindialog.cpp
playpage.cpp
@ -12,6 +13,7 @@ set(LAUNCHER
utils/profilescombobox.cpp
utils/textinputdialog.cpp
utils/lineedit.cpp
utils/openalutil.cpp
${CMAKE_SOURCE_DIR}/files/windows/launcher.rc
)
@ -19,6 +21,7 @@ set(LAUNCHER
set(LAUNCHER_HEADER
datafilespage.hpp
graphicspage.hpp
sdlinit.hpp
maindialog.hpp
playpage.hpp
textslotmsgbox.hpp
@ -29,6 +32,7 @@ set(LAUNCHER_HEADER
utils/profilescombobox.hpp
utils/textinputdialog.hpp
utils/lineedit.hpp
utils/openalutil.hpp
)
# Headers that must be pre-processed
@ -45,6 +49,7 @@ set(LAUNCHER_HEADER_MOC
utils/textinputdialog.hpp
utils/profilescombobox.hpp
utils/lineedit.hpp
utils/openalutil.hpp
)
@ -68,16 +73,9 @@ if(WIN32)
set(QT_USE_QTMAIN TRUE)
endif(WIN32)
if (DESIRED_QT_VERSION MATCHES 4)
include(${QT_USE_FILE})
QT4_ADD_RESOURCES(RCC_SRCS ${CMAKE_SOURCE_DIR}/files/launcher/launcher.qrc)
QT4_WRAP_CPP(MOC_SRCS ${LAUNCHER_HEADER_MOC})
QT4_WRAP_UI(UI_HDRS ${LAUNCHER_UI})
else()
QT5_ADD_RESOURCES(RCC_SRCS ${CMAKE_SOURCE_DIR}/files/launcher/launcher.qrc)
QT5_WRAP_CPP(MOC_SRCS ${LAUNCHER_HEADER_MOC})
QT5_WRAP_UI(UI_HDRS ${LAUNCHER_UI})
endif()
QT5_ADD_RESOURCES(RCC_SRCS ${CMAKE_SOURCE_DIR}/files/launcher/launcher.qrc)
QT5_WRAP_CPP(MOC_SRCS ${LAUNCHER_HEADER_MOC})
QT5_WRAP_UI(UI_HDRS ${LAUNCHER_UI})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(NOT WIN32)
@ -100,17 +98,11 @@ endif (WIN32)
target_link_libraries(openmw-launcher
${SDL2_LIBRARY_ONLY}
${OPENAL_LIBRARY}
components
)
if (DESIRED_QT_VERSION MATCHES 4)
target_link_libraries(openmw-launcher ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY})
if(WIN32)
target_link_libraries(openmw-launcher ${QT_QTMAIN_LIBRARY})
endif(WIN32)
else()
target_link_libraries(openmw-launcher Qt5::Widgets Qt5::Core)
endif()
target_link_libraries(openmw-launcher Qt5::Widgets Qt5::Core)
if (BUILD_WITH_CODE_COVERAGE)
add_definitions (--coverage)

@ -1,33 +1,45 @@
#include "advancedpage.hpp"
#include <array>
#include <components/config/gamesettings.hpp>
#include <components/config/launchersettings.hpp>
#include <QFileDialog>
#include <QCompleter>
#include <QString>
#include <components/contentselector/view/contentselector.hpp>
#include <components/contentselector/model/esmfile.hpp>
Launcher::AdvancedPage::AdvancedPage(Files::ConfigurationManager &cfg,
Config::GameSettings &gameSettings,
Settings::Manager &engineSettings, QWidget *parent)
#include <cmath>
#include "utils/openalutil.hpp"
Launcher::AdvancedPage::AdvancedPage(Config::GameSettings &gameSettings, QWidget *parent)
: QWidget(parent)
, mCfgMgr(cfg)
, mGameSettings(gameSettings)
, mEngineSettings(engineSettings)
{
setObjectName ("AdvancedPage");
setupUi(this);
for(const char * name : Launcher::enumerateOpenALDevices())
{
audioDeviceSelectorComboBox->addItem(QString::fromUtf8(name), QString::fromUtf8(name));
}
for(const char * name : Launcher::enumerateOpenALDevicesHrtf())
{
hrtfProfileSelectorComboBox->addItem(QString::fromUtf8(name), QString::fromUtf8(name));
}
loadSettings();
mCellNameCompleter.setModel(&mCellNameCompleterModel);
startDefaultCharacterAtField->setCompleter(&mCellNameCompleter);
}
void Launcher::AdvancedPage::loadCellsForAutocomplete(QStringList cellNames) {
// Set up an auto-completer for the "Start default character at" field
auto *completer = new QCompleter(cellNames);
completer->setCompletionMode(QCompleter::PopupCompletion);
completer->setCaseSensitivity(Qt::CaseSensitivity::CaseInsensitive);
startDefaultCharacterAtField->setCompleter(completer);
// Update the list of suggestions for the "Start default character at" field
mCellNameCompleterModel.setStringList(cellNames);
mCellNameCompleter.setCompletionMode(QCompleter::PopupCompletion);
mCellNameCompleter.setCaseSensitivity(Qt::CaseSensitivity::CaseInsensitive);
}
void Launcher::AdvancedPage::on_skipMenuCheckBox_stateChanged(int state) {
@ -55,122 +67,366 @@ void Launcher::AdvancedPage::on_runScriptAfterStartupBrowseButton_clicked()
runScriptAfterStartupField->setText(path);
}
namespace
{
constexpr double CellSizeInUnits = 8192;
double convertToCells(double unitRadius)
{
return std::round((unitRadius + 1024) / CellSizeInUnits);
}
double convertToUnits(double CellGridRadius)
{
return CellSizeInUnits * CellGridRadius - 1024;
}
}
bool Launcher::AdvancedPage::loadSettings()
{
// Game mechanics
{
loadSettingBool(toggleSneakCheckBox, "toggle sneak", "Input");
loadSettingBool(canLootDuringDeathAnimationCheckBox, "can loot during death animation", "Game");
loadSettingBool(followersAttackOnSightCheckBox, "followers attack on sight", "Game");
loadSettingBool(rebalanceSoulGemValuesCheckBox, "rebalance soul gem values", "Game");
loadSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
loadSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
loadSettingBool(classicReflectedAbsorbSpellsCheckBox, "classic reflected absorb spells behavior", "Game");
loadSettingBool(requireAppropriateAmmunitionCheckBox, "only appropriate ammunition bypasses resistance", "Game");
loadSettingBool(uncappedDamageFatigueCheckBox, "uncapped damage fatigue", "Game");
loadSettingBool(normaliseRaceSpeedCheckBox, "normalise race speed", "Game");
loadSettingBool(swimUpwardCorrectionCheckBox, "swim upward correction", "Game");
loadSettingBool(avoidCollisionsCheckBox, "NPCs avoid collisions", "Game");
int unarmedFactorsStrengthIndex = Settings::Manager::getInt("strength influences hand to hand", "Game");
if (unarmedFactorsStrengthIndex >= 0 && unarmedFactorsStrengthIndex <= 2)
unarmedFactorsStrengthComboBox->setCurrentIndex(unarmedFactorsStrengthIndex);
loadSettingBool(stealingFromKnockedOutCheckBox, "always allow stealing from knocked out actors", "Game");
loadSettingBool(enableNavigatorCheckBox, "enable", "Navigator");
int numPhysicsThreads = Settings::Manager::getInt("async num threads", "Physics");
if (numPhysicsThreads >= 0)
physicsThreadsSpinBox->setValue(numPhysicsThreads);
loadSettingBool(allowNPCToFollowOverWaterSurfaceCheckBox, "allow actors to follow over water surface", "Game");
}
// Visuals
{
loadSettingBool(autoUseObjectNormalMapsCheckBox, "auto use object normal maps", "Shaders");
loadSettingBool(autoUseObjectSpecularMapsCheckBox, "auto use object specular maps", "Shaders");
loadSettingBool(autoUseTerrainNormalMapsCheckBox, "auto use terrain normal maps", "Shaders");
loadSettingBool(autoUseTerrainSpecularMapsCheckBox, "auto use terrain specular maps", "Shaders");
loadSettingBool(bumpMapLocalLightingCheckBox, "apply lighting to environment maps", "Shaders");
loadSettingBool(radialFogCheckBox, "radial fog", "Shaders");
loadSettingBool(magicItemAnimationsCheckBox, "use magic item animations", "Game");
connect(animSourcesCheckBox, SIGNAL(toggled(bool)), this, SLOT(slotAnimSourcesToggled(bool)));
loadSettingBool(animSourcesCheckBox, "use additional anim sources", "Game");
if (animSourcesCheckBox->checkState() != Qt::Unchecked)
{
loadSettingBool(weaponSheathingCheckBox, "weapon sheathing", "Game");
loadSettingBool(shieldSheathingCheckBox, "shield sheathing", "Game");
}
loadSettingBool(turnToMovementDirectionCheckBox, "turn to movement direction", "Game");
loadSettingBool(smoothMovementCheckBox, "smooth movement", "Game");
const bool distantTerrain = Settings::Manager::getBool("distant terrain", "Terrain");
const bool objectPaging = Settings::Manager::getBool("object paging", "Terrain");
if (distantTerrain && objectPaging) {
distantLandCheckBox->setCheckState(Qt::Checked);
}
loadSettingBool(activeGridObjectPagingCheckBox, "object paging active grid", "Terrain");
viewingDistanceComboBox->setValue(convertToCells(Settings::Manager::getInt("viewing distance", "Camera")));
objectPagingMinSizeComboBox->setValue(Settings::Manager::getDouble("object paging min size", "Terrain"));
}
// Audio
{
std::string selectedAudioDevice = Settings::Manager::getString("device", "Sound");
if (selectedAudioDevice.empty() == false)
{
int audioDeviceIndex = audioDeviceSelectorComboBox->findData(QString::fromStdString(selectedAudioDevice));
if (audioDeviceIndex != -1)
{
audioDeviceSelectorComboBox->setCurrentIndex(audioDeviceIndex);
}
}
int hrtfEnabledIndex = Settings::Manager::getInt("hrtf enable", "Sound");
if (hrtfEnabledIndex >= -1 && hrtfEnabledIndex <= 1)
{
enableHRTFComboBox->setCurrentIndex(hrtfEnabledIndex + 1);
}
std::string selectedHRTFProfile = Settings::Manager::getString("hrtf", "Sound");
if (selectedHRTFProfile.empty() == false)
{
int hrtfProfileIndex = hrtfProfileSelectorComboBox->findData(QString::fromStdString(selectedHRTFProfile));
if (hrtfProfileIndex != -1)
{
hrtfProfileSelectorComboBox->setCurrentIndex(hrtfProfileIndex);
}
}
}
// Camera
{
loadSettingBool(viewOverShoulderCheckBox, "view over shoulder", "Camera");
connect(viewOverShoulderCheckBox, SIGNAL(toggled(bool)), this, SLOT(slotViewOverShoulderToggled(bool)));
viewOverShoulderVerticalLayout->setEnabled(viewOverShoulderCheckBox->checkState());
loadSettingBool(autoSwitchShoulderCheckBox, "auto switch shoulder", "Camera");
loadSettingBool(previewIfStandStillCheckBox, "preview if stand still", "Camera");
loadSettingBool(deferredPreviewRotationCheckBox, "deferred preview rotation", "Camera");
loadSettingBool(headBobbingCheckBox, "head bobbing", "Camera");
defaultShoulderComboBox->setCurrentIndex(
Settings::Manager::getVector2("view over shoulder offset", "Camera").x() >= 0 ? 0 : 1);
}
// Interface Changes
{
loadSettingBool(showEffectDurationCheckBox, "show effect duration", "Game");
loadSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game");
loadSettingBool(showMeleeInfoCheckBox, "show melee info", "Game");
loadSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game");
loadSettingBool(changeDialogTopicsCheckBox, "color topic enable", "GUI");
int showOwnedIndex = Settings::Manager::getInt("show owned", "Game");
// Match the index with the option (only 0, 1, 2, or 3 are valid). Will default to 0 if invalid.
if (showOwnedIndex >= 0 && showOwnedIndex <= 3)
showOwnedComboBox->setCurrentIndex(showOwnedIndex);
loadSettingBool(stretchBackgroundCheckBox, "stretch menu background", "GUI");
loadSettingBool(graphicHerbalismCheckBox, "graphic herbalism", "Game");
scalingSpinBox->setValue(Settings::Manager::getFloat("scaling factor", "GUI"));
}
// Bug fixes
{
loadSettingBool(preventMerchantEquippingCheckBox, "prevent merchant equipping", "Game");
loadSettingBool(trainersTrainingSkillsBasedOnBaseSkillCheckBox, "trainers training skills based on base skill", "Game");
}
// Miscellaneous
{
// Saves
loadSettingBool(timePlayedCheckbox, "timeplayed", "Saves");
maximumQuicksavesComboBox->setValue(Settings::Manager::getInt("max quicksaves", "Saves"));
// Other Settings
QString screenshotFormatString = QString::fromStdString(Settings::Manager::getString("screenshot format", "General")).toUpper();
if (screenshotFormatComboBox->findText(screenshotFormatString) == -1)
screenshotFormatComboBox->addItem(screenshotFormatString);
screenshotFormatComboBox->setCurrentIndex(screenshotFormatComboBox->findText(screenshotFormatString));
}
// Testing
bool skipMenu = mGameSettings.value("skip-menu").toInt() == 1;
if (skipMenu) {
skipMenuCheckBox->setCheckState(Qt::Checked);
}
startDefaultCharacterAtLabel->setEnabled(skipMenu);
startDefaultCharacterAtField->setEnabled(skipMenu);
startDefaultCharacterAtField->setText(mGameSettings.value("start"));
runScriptAfterStartupField->setText(mGameSettings.value("script-run"));
// Game Settings
loadSettingBool(canLootDuringDeathAnimationCheckBox, "can loot during death animation", "Game");
loadSettingBool(followersAttackOnSightCheckBox, "followers attack on sight", "Game");
loadSettingBool(preventMerchantEquippingCheckBox, "prevent merchant equipping", "Game");
loadSettingBool(rebalanceSoulGemValuesCheckBox, "rebalance soul gem values", "Game");
loadSettingBool(chargeForEveryFollowerCheckBox, "charge for every follower travelling", "Game");
loadSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
loadSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
// Input Settings
loadSettingBool(allowThirdPersonZoomCheckBox, "allow third person zoom", "Input");
loadSettingBool(grabCursorCheckBox, "grab cursor", "Input");
loadSettingBool(toggleSneakCheckBox, "toggle sneak", "Input");
// Saves Settings
loadSettingBool(timePlayedCheckbox, "timeplayed", "Saves");
maximumQuicksavesComboBox->setValue(mEngineSettings.getInt("max quicksaves", "Saves"));
// User Interface Settings
loadSettingBool(showEffectDurationCheckBox, "show effect duration", "Game");
loadSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game");
loadSettingBool(showMeleeInfoCheckBox, "show melee info", "Game");
loadSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game");
int showOwnedIndex = mEngineSettings.getInt("show owned", "Game");
// Match the index with the option (only 0, 1, 2, or 3 are valid). Will default to 0 if invalid.
if (showOwnedIndex >= 0 && showOwnedIndex <= 3)
showOwnedComboBox->setCurrentIndex(showOwnedIndex);
// Other Settings
QString screenshotFormatString = QString::fromStdString(mEngineSettings.getString("screenshot format", "General")).toUpper();
if (screenshotFormatComboBox->findText(screenshotFormatString) == -1)
screenshotFormatComboBox->addItem(screenshotFormatString);
screenshotFormatComboBox->setCurrentIndex(screenshotFormatComboBox->findText(screenshotFormatString));
{
loadSettingBool(grabCursorCheckBox, "grab cursor", "Input");
bool skipMenu = mGameSettings.value("skip-menu").toInt() == 1;
if (skipMenu)
{
skipMenuCheckBox->setCheckState(Qt::Checked);
}
startDefaultCharacterAtLabel->setEnabled(skipMenu);
startDefaultCharacterAtField->setEnabled(skipMenu);
startDefaultCharacterAtField->setText(mGameSettings.value("start"));
runScriptAfterStartupField->setText(mGameSettings.value("script-run"));
}
return true;
}
void Launcher::AdvancedPage::saveSettings()
{
// Ensure we only set the new settings if they changed. This is to avoid cluttering the
// user settings file (which by definition should only contain settings the user has touched)
// Game mechanics
{
saveSettingBool(toggleSneakCheckBox, "toggle sneak", "Input");
saveSettingBool(canLootDuringDeathAnimationCheckBox, "can loot during death animation", "Game");
saveSettingBool(followersAttackOnSightCheckBox, "followers attack on sight", "Game");
saveSettingBool(rebalanceSoulGemValuesCheckBox, "rebalance soul gem values", "Game");
saveSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
saveSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
saveSettingBool(classicReflectedAbsorbSpellsCheckBox, "classic reflected absorb spells behavior", "Game");
saveSettingBool(requireAppropriateAmmunitionCheckBox, "only appropriate ammunition bypasses resistance", "Game");
saveSettingBool(uncappedDamageFatigueCheckBox, "uncapped damage fatigue", "Game");
saveSettingBool(normaliseRaceSpeedCheckBox, "normalise race speed", "Game");
saveSettingBool(swimUpwardCorrectionCheckBox, "swim upward correction", "Game");
saveSettingBool(avoidCollisionsCheckBox, "NPCs avoid collisions", "Game");
int unarmedFactorsStrengthIndex = unarmedFactorsStrengthComboBox->currentIndex();
if (unarmedFactorsStrengthIndex != Settings::Manager::getInt("strength influences hand to hand", "Game"))
Settings::Manager::setInt("strength influences hand to hand", "Game", unarmedFactorsStrengthIndex);
saveSettingBool(stealingFromKnockedOutCheckBox, "always allow stealing from knocked out actors", "Game");
saveSettingBool(enableNavigatorCheckBox, "enable", "Navigator");
int numPhysicsThreads = physicsThreadsSpinBox->value();
if (numPhysicsThreads != Settings::Manager::getInt("async num threads", "Physics"))
Settings::Manager::setInt("async num threads", "Physics", numPhysicsThreads);
}
// Visuals
{
saveSettingBool(autoUseObjectNormalMapsCheckBox, "auto use object normal maps", "Shaders");
saveSettingBool(autoUseObjectSpecularMapsCheckBox, "auto use object specular maps", "Shaders");
saveSettingBool(autoUseTerrainNormalMapsCheckBox, "auto use terrain normal maps", "Shaders");
saveSettingBool(autoUseTerrainSpecularMapsCheckBox, "auto use terrain specular maps", "Shaders");
saveSettingBool(bumpMapLocalLightingCheckBox, "apply lighting to environment maps", "Shaders");
saveSettingBool(radialFogCheckBox, "radial fog", "Shaders");
saveSettingBool(magicItemAnimationsCheckBox, "use magic item animations", "Game");
saveSettingBool(animSourcesCheckBox, "use additional anim sources", "Game");
saveSettingBool(weaponSheathingCheckBox, "weapon sheathing", "Game");
saveSettingBool(shieldSheathingCheckBox, "shield sheathing", "Game");
saveSettingBool(turnToMovementDirectionCheckBox, "turn to movement direction", "Game");
saveSettingBool(smoothMovementCheckBox, "smooth movement", "Game");
const bool distantTerrain = Settings::Manager::getBool("distant terrain", "Terrain");
const bool objectPaging = Settings::Manager::getBool("object paging", "Terrain");
const bool wantDistantLand = distantLandCheckBox->checkState();
if (wantDistantLand != (distantTerrain && objectPaging)) {
Settings::Manager::setBool("distant terrain", "Terrain", wantDistantLand);
Settings::Manager::setBool("object paging", "Terrain", wantDistantLand);
}
saveSettingBool(activeGridObjectPagingCheckBox, "object paging active grid", "Terrain");
double viewingDistance = viewingDistanceComboBox->value();
if (viewingDistance != convertToCells(Settings::Manager::getInt("viewing distance", "Camera")))
{
Settings::Manager::setInt("viewing distance", "Camera", convertToUnits(viewingDistance));
}
double objectPagingMinSize = objectPagingMinSizeComboBox->value();
if (objectPagingMinSize != Settings::Manager::getDouble("object paging min size", "Terrain"))
Settings::Manager::setDouble("object paging min size", "Terrain", objectPagingMinSize);
}
// Audio
{
int audioDeviceIndex = audioDeviceSelectorComboBox->currentIndex();
if (audioDeviceIndex != 0)
{
Settings::Manager::setString("device", "Sound", audioDeviceSelectorComboBox->currentText().toUtf8().constData());
}
else
{
Settings::Manager::setString("device", "Sound", "");
}
int hrtfEnabledIndex = enableHRTFComboBox->currentIndex() - 1;
if (hrtfEnabledIndex != Settings::Manager::getInt("hrtf enable", "Sound"))
{
Settings::Manager::setInt("hrtf enable", "Sound", hrtfEnabledIndex);
}
int selectedHRTFProfileIndex = hrtfProfileSelectorComboBox->currentIndex();
if (selectedHRTFProfileIndex != 0)
{
Settings::Manager::setString("hrtf", "Sound", hrtfProfileSelectorComboBox->currentText().toUtf8().constData());
}
else
{
Settings::Manager::setString("hrtf", "Sound", "");
}
}
// Camera
{
saveSettingBool(viewOverShoulderCheckBox, "view over shoulder", "Camera");
saveSettingBool(autoSwitchShoulderCheckBox, "auto switch shoulder", "Camera");
saveSettingBool(previewIfStandStillCheckBox, "preview if stand still", "Camera");
saveSettingBool(deferredPreviewRotationCheckBox, "deferred preview rotation", "Camera");
saveSettingBool(headBobbingCheckBox, "head bobbing", "Camera");
osg::Vec2f shoulderOffset = Settings::Manager::getVector2("view over shoulder offset", "Camera");
if (defaultShoulderComboBox->currentIndex() != (shoulderOffset.x() >= 0 ? 0 : 1))
{
if (defaultShoulderComboBox->currentIndex() == 0)
shoulderOffset.x() = std::abs(shoulderOffset.x());
else
shoulderOffset.x() = -std::abs(shoulderOffset.x());
Settings::Manager::setVector2("view over shoulder offset", "Camera", shoulderOffset);
}
}
// Interface Changes
{
saveSettingBool(showEffectDurationCheckBox, "show effect duration", "Game");
saveSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game");
saveSettingBool(showMeleeInfoCheckBox, "show melee info", "Game");
saveSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game");
saveSettingBool(changeDialogTopicsCheckBox, "color topic enable", "GUI");
int showOwnedCurrentIndex = showOwnedComboBox->currentIndex();
if (showOwnedCurrentIndex != Settings::Manager::getInt("show owned", "Game"))
Settings::Manager::setInt("show owned", "Game", showOwnedCurrentIndex);
saveSettingBool(stretchBackgroundCheckBox, "stretch menu background", "GUI");
saveSettingBool(graphicHerbalismCheckBox, "graphic herbalism", "Game");
float uiScalingFactor = scalingSpinBox->value();
if (uiScalingFactor != Settings::Manager::getFloat("scaling factor", "GUI"))
Settings::Manager::setFloat("scaling factor", "GUI", uiScalingFactor);
}
// Bug fixes
{
saveSettingBool(preventMerchantEquippingCheckBox, "prevent merchant equipping", "Game");
saveSettingBool(trainersTrainingSkillsBasedOnBaseSkillCheckBox, "trainers training skills based on base skill", "Game");
}
// Miscellaneous
{
// Saves Settings
saveSettingBool(timePlayedCheckbox, "timeplayed", "Saves");
int maximumQuicksaves = maximumQuicksavesComboBox->value();
if (maximumQuicksaves != Settings::Manager::getInt("max quicksaves", "Saves"))
{
Settings::Manager::setInt("max quicksaves", "Saves", maximumQuicksaves);
}
// Other Settings
std::string screenshotFormatString = screenshotFormatComboBox->currentText().toLower().toStdString();
if (screenshotFormatString != Settings::Manager::getString("screenshot format", "General"))
Settings::Manager::setString("screenshot format", "General", screenshotFormatString);
}
// Testing
int skipMenu = skipMenuCheckBox->checkState() == Qt::Checked;
if (skipMenu != mGameSettings.value("skip-menu").toInt())
mGameSettings.setValue("skip-menu", QString::number(skipMenu));
QString startCell = startDefaultCharacterAtField->text();
if (startCell != mGameSettings.value("start")) {
mGameSettings.setValue("start", startCell);
}
QString scriptRun = runScriptAfterStartupField->text();
if (scriptRun != mGameSettings.value("script-run"))
mGameSettings.setValue("script-run", scriptRun);
// Game Settings
saveSettingBool(canLootDuringDeathAnimationCheckBox, "can loot during death animation", "Game");
saveSettingBool(followersAttackOnSightCheckBox, "followers attack on sight", "Game");
saveSettingBool(preventMerchantEquippingCheckBox, "prevent merchant equipping", "Game");
saveSettingBool(rebalanceSoulGemValuesCheckBox, "rebalance soul gem values", "Game");
saveSettingBool(chargeForEveryFollowerCheckBox, "charge for every follower travelling", "Game");
saveSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
saveSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
// Input Settings
saveSettingBool(allowThirdPersonZoomCheckBox, "allow third person zoom", "Input");
saveSettingBool(grabCursorCheckBox, "grab cursor", "Input");
saveSettingBool(toggleSneakCheckBox, "toggle sneak", "Input");
// Saves Settings
saveSettingBool(timePlayedCheckbox, "timeplayed", "Saves");
int maximumQuicksaves = maximumQuicksavesComboBox->value();
if (maximumQuicksaves != mEngineSettings.getInt("max quicksaves", "Saves")) {
mEngineSettings.setInt("max quicksaves", "Saves", maximumQuicksaves);
}
// User Interface Settings
saveSettingBool(showEffectDurationCheckBox, "show effect duration", "Game");
saveSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game");
saveSettingBool(showMeleeInfoCheckBox, "show melee info", "Game");
saveSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game");
int showOwnedCurrentIndex = showOwnedComboBox->currentIndex();
if (showOwnedCurrentIndex != mEngineSettings.getInt("show owned", "Game"))
mEngineSettings.setInt("show owned", "Game", showOwnedCurrentIndex);
// Other Settings
std::string screenshotFormatString = screenshotFormatComboBox->currentText().toLower().toStdString();
if (screenshotFormatString != mEngineSettings.getString("screenshot format", "General"))
mEngineSettings.setString("screenshot format", "General", screenshotFormatString);
{
saveSettingBool(grabCursorCheckBox, "grab cursor", "Input");
int skipMenu = skipMenuCheckBox->checkState() == Qt::Checked;
if (skipMenu != mGameSettings.value("skip-menu").toInt())
mGameSettings.setValue("skip-menu", QString::number(skipMenu));
QString startCell = startDefaultCharacterAtField->text();
if (startCell != mGameSettings.value("start"))
{
mGameSettings.setValue("start", startCell);
}
QString scriptRun = runScriptAfterStartupField->text();
if (scriptRun != mGameSettings.value("script-run"))
mGameSettings.setValue("script-run", scriptRun);
}
}
void Launcher::AdvancedPage::loadSettingBool(QCheckBox *checkbox, const std::string &setting, const std::string &group) {
if (mEngineSettings.getBool(setting, group))
void Launcher::AdvancedPage::loadSettingBool(QCheckBox *checkbox, const std::string &setting, const std::string &group)
{
if (Settings::Manager::getBool(setting, group))
checkbox->setCheckState(Qt::Checked);
}
void Launcher::AdvancedPage::saveSettingBool(QCheckBox *checkbox, const std::string &setting, const std::string &group) {
void Launcher::AdvancedPage::saveSettingBool(QCheckBox *checkbox, const std::string &setting, const std::string &group)
{
bool cValue = checkbox->checkState();
if (cValue != mEngineSettings.getBool(setting, group))
mEngineSettings.setBool(setting, group, cValue);
if (cValue != Settings::Manager::getBool(setting, group))
Settings::Manager::setBool(setting, group, cValue);
}
void Launcher::AdvancedPage::slotLoadedCellsChanged(QStringList cellNames)
{
loadCellsForAutocomplete(cellNames);
}
void Launcher::AdvancedPage::slotAnimSourcesToggled(bool checked)
{
weaponSheathingCheckBox->setEnabled(checked);
shieldSheathingCheckBox->setEnabled(checked);
if (!checked)
{
weaponSheathingCheckBox->setCheckState(Qt::Unchecked);
shieldSheathingCheckBox->setCheckState(Qt::Unchecked);
}
}
void Launcher::AdvancedPage::slotViewOverShoulderToggled(bool checked)
{
viewOverShoulderVerticalLayout->setEnabled(viewOverShoulderCheckBox->checkState());
}

@ -1,13 +1,13 @@
#ifndef ADVANCEDPAGE_H
#define ADVANCEDPAGE_H
#include <QWidget>
#include <QCompleter>
#include <QStringListModel>
#include "ui_advancedpage.h"
#include <components/settings/settings.hpp>
namespace Files { struct ConfigurationManager; }
namespace Config { class GameSettings; }
namespace Launcher
@ -17,8 +17,7 @@ namespace Launcher
Q_OBJECT
public:
AdvancedPage(Files::ConfigurationManager &cfg, Config::GameSettings &gameSettings,
Settings::Manager &engineSettings, QWidget *parent = 0);
explicit AdvancedPage(Config::GameSettings &gameSettings, QWidget *parent = nullptr);
bool loadSettings();
void saveSettings();
@ -29,11 +28,13 @@ namespace Launcher
private slots:
void on_skipMenuCheckBox_stateChanged(int state);
void on_runScriptAfterStartupBrowseButton_clicked();
void slotAnimSourcesToggled(bool checked);
void slotViewOverShoulderToggled(bool checked);
private:
Files::ConfigurationManager &mCfgMgr;
Config::GameSettings &mGameSettings;
Settings::Manager &mEngineSettings;
QCompleter mCellNameCompleter;
QStringListModel mCellNameCompleterModel;
/**
* Load the cells associated with the given content files for use in autocomplete

@ -4,7 +4,6 @@
#include <QPushButton>
#include <QMessageBox>
#include <QCheckBox>
#include <QMenu>
#include <QSortFilterProxyModel>
#include <thread>
@ -14,7 +13,6 @@
#include <components/files/configurationmanager.hpp>
#include <components/contentselector/model/esmfile.hpp>
#include <components/contentselector/model/naturalsort.hpp>
#include <components/contentselector/view/contentselector.hpp>
#include <components/config/gamesettings.hpp>
@ -36,11 +34,16 @@ Launcher::DataFilesPage::DataFilesPage(Files::ConfigurationManager &cfg, Config:
ui.setupUi (this);
setObjectName ("DataFilesPage");
mSelector = new ContentSelectorView::ContentSelector (ui.contentSelectorWidget);
const QString encoding = mGameSettings.value("encoding", "win1252");
mSelector->setEncoding(encoding);
mProfileDialog = new TextInputDialog(tr("New Content List"), tr("Content List name:"), this);
mNewProfileDialog = new TextInputDialog(tr("New Content List"), tr("Content List name:"), this);
mCloneProfileDialog = new TextInputDialog(tr("Clone Content List"), tr("Content List name:"), this);
connect(mProfileDialog->lineEdit(), SIGNAL(textChanged(QString)),
this, SLOT(updateOkButton(QString)));
connect(mNewProfileDialog->lineEdit(), SIGNAL(textChanged(QString)),
this, SLOT(updateNewProfileOkButton(QString)));
connect(mCloneProfileDialog->lineEdit(), SIGNAL(textChanged(QString)),
this, SLOT(updateCloneProfileOkButton(QString)));
buildView();
loadSettings();
@ -57,9 +60,13 @@ void Launcher::DataFilesPage::buildView()
{
ui.verticalLayout->insertWidget (0, mSelector->uiWidget());
QToolButton * refreshButton = mSelector->refreshButton();
//tool buttons
ui.newProfileButton->setToolTip ("Create a new Content List");
ui.cloneProfileButton->setToolTip ("Clone the current Content List");
ui.deleteProfileButton->setToolTip ("Delete an existing Content List");
refreshButton->setToolTip("Refresh Data Files");
//combo box
ui.profilesComboBox->addItem(mDefaultContentListName);
@ -68,7 +75,9 @@ void Launcher::DataFilesPage::buildView()
// Add the actions to the toolbuttons
ui.newProfileButton->setDefaultAction (ui.newProfileAction);
ui.cloneProfileButton->setDefaultAction (ui.cloneProfileAction);
ui.deleteProfileButton->setDefaultAction (ui.deleteProfileAction);
refreshButton->setDefaultAction(ui.refreshDataFilesAction);
//establish connections
connect (ui.profilesComboBox, SIGNAL (currentIndexChanged(int)),
@ -79,6 +88,8 @@ void Launcher::DataFilesPage::buildView()
connect (ui.profilesComboBox, SIGNAL (signalProfileChanged(QString, QString)),
this, SLOT (slotProfileChangedByUser(QString, QString)));
connect(ui.refreshDataFilesAction, SIGNAL(triggered()),this, SLOT(slotRefreshButtonClicked()));
}
bool Launcher::DataFilesPage::loadSettings()
@ -88,7 +99,7 @@ bool Launcher::DataFilesPage::loadSettings()
qDebug() << "The current profile is: " << currentProfile;
foreach (const QString &item, profiles)
for (const QString &item : profiles)
addProfile (item, false);
// Hack: also add the current profile
@ -102,15 +113,16 @@ void Launcher::DataFilesPage::populateFileViews(const QString& contentModelName)
{
QStringList paths = mGameSettings.getDataDirs();
foreach(const QString &path, paths)
mSelector->addFiles(path);
mDataLocal = mGameSettings.getDataLocal();
if (!mDataLocal.isEmpty())
mSelector->addFiles(mDataLocal);
paths.insert(0, mDataLocal);
mSelector->clearFiles();
for (const QString &path : paths)
mSelector->addFiles(path);
paths.insert(0, mDataLocal);
PathIterator pathIterator(paths);
mSelector->setProfileContent(filesInProfile(contentModelName, pathIterator));
@ -121,7 +133,7 @@ QStringList Launcher::DataFilesPage::filesInProfile(const QString& profileName,
QStringList files = mLauncherSettings.getContentListFiles(profileName);
QStringList filepaths;
foreach(const QString& file, files)
for (const QString& file : files)
{
QString filepath = pathIterator.findFirstPath(file);
@ -146,7 +158,8 @@ void Launcher::DataFilesPage::saveSettings(const QString &profile)
mLauncherSettings.setCurrentContentListName(ui.profilesComboBox->currentText());
QStringList fileNames;
foreach(const ContentSelectorModel::EsmFile *item, items) {
for (const ContentSelectorModel::EsmFile *item : items)
{
fileNames.append(item->fileName());
}
mLauncherSettings.setContentList(profileName, fileNames);
@ -158,8 +171,18 @@ QStringList Launcher::DataFilesPage::selectedFilePaths()
//retrieve the files selected for the profile
ContentSelectorModel::ContentFileList items = mSelector->selectedFiles();
QStringList filePaths;
foreach(const ContentSelectorModel::EsmFile *item, items) {
filePaths.append(item->filePath());
for (const ContentSelectorModel::EsmFile *item : items)
{
QFile file(item->filePath());
if(file.exists())
{
filePaths.append(item->filePath());
}
else
{
slotRefreshButtonClicked();
}
}
return filePaths;
}
@ -213,6 +236,18 @@ void Launcher::DataFilesPage::slotProfileDeleted (const QString &item)
removeProfile (item);
}
void Launcher::DataFilesPage:: refreshDataFilesView ()
{
QString currentProfile = ui.profilesComboBox->currentText();
saveSettings(currentProfile);
populateFileViews(currentProfile);
}
void Launcher::DataFilesPage::slotRefreshButtonClicked ()
{
refreshDataFilesView();
}
void Launcher::DataFilesPage::slotProfileChangedByUser(const QString &previous, const QString &current)
{
setProfile(previous, current, true);
@ -244,10 +279,10 @@ void Launcher::DataFilesPage::slotProfileChanged(int index)
void Launcher::DataFilesPage::on_newProfileAction_triggered()
{
if (mProfileDialog->exec() != QDialog::Accepted)
if (mNewProfileDialog->exec() != QDialog::Accepted)
return;
QString profile = mProfileDialog->lineEdit()->text();
QString profile = mNewProfileDialog->lineEdit()->text();
if (profile.isEmpty())
return;
@ -271,6 +306,20 @@ void Launcher::DataFilesPage::addProfile (const QString &profile, bool setAsCurr
setProfile (ui.profilesComboBox->findText (profile), false);
}
void Launcher::DataFilesPage::on_cloneProfileAction_triggered()
{
if (mCloneProfileDialog->exec() != QDialog::Accepted)
return;
QString profile = mCloneProfileDialog->lineEdit()->text();
if (profile.isEmpty())
return;
mLauncherSettings.setContentList(profile, selectedFilePaths());
addProfile(profile, true);
}
void Launcher::DataFilesPage::on_deleteProfileAction_triggered()
{
QString profile = ui.profilesComboBox->currentText();
@ -293,17 +342,16 @@ void Launcher::DataFilesPage::on_deleteProfileAction_triggered()
checkForDefaultProfile();
}
void Launcher::DataFilesPage::updateOkButton(const QString &text)
void Launcher::DataFilesPage::updateNewProfileOkButton(const QString &text)
{
// We do this here because we need the profiles combobox text
if (text.isEmpty()) {
mProfileDialog->setOkButtonEnabled(false);
return;
}
mNewProfileDialog->setOkButtonEnabled(!text.isEmpty() && ui.profilesComboBox->findText(text) == -1);
}
(ui.profilesComboBox->findText(text) == -1)
? mProfileDialog->setOkButtonEnabled(true)
: mProfileDialog->setOkButtonEnabled(false);
void Launcher::DataFilesPage::updateCloneProfileOkButton(const QString &text)
{
// We do this here because we need the profiles combobox text
mCloneProfileDialog->setOkButtonEnabled(!text.isEmpty() && ui.profilesComboBox->findText(text) == -1);
}
void Launcher::DataFilesPage::checkForDefaultProfile()
@ -354,7 +402,12 @@ void Launcher::DataFilesPage::reloadCells(QStringList selectedFiles)
// The following code will run only if there is not another thread currently running it
CellNameLoader cellNameLoader;
#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
QSet<QString> set = cellNameLoader.getCellNames(selectedFiles);
QStringList cellNamesList(set.begin(), set.end());
#else
QStringList cellNamesList = QStringList::fromSet(cellNameLoader.getCellNames(selectedFiles));
#endif
std::sort(cellNamesList.begin(), cellNamesList.end());
emit signalLoadedCellsChanged(cellNamesList);
}
}

@ -6,7 +6,6 @@
#include <QDir>
#include <QFile>
#include <QStringList>
class QSortFilterProxyModel;
@ -32,7 +31,7 @@ namespace Launcher
public:
explicit DataFilesPage (Files::ConfigurationManager &cfg, Config::GameSettings &gameSettings,
Config::LauncherSettings &launcherSettings, QWidget *parent = 0);
Config::LauncherSettings &launcherSettings, QWidget *parent = nullptr);
QAbstractItemModel* profilesModel() const;
@ -61,10 +60,13 @@ namespace Launcher
void slotProfileRenamed(const QString &previous, const QString &current);
void slotProfileDeleted(const QString &item);
void slotAddonDataChanged ();
void slotRefreshButtonClicked ();
void updateOkButton(const QString &text);
void updateNewProfileOkButton(const QString &text);
void updateCloneProfileOkButton(const QString &text);
void on_newProfileAction_triggered();
void on_cloneProfileAction_triggered();
void on_deleteProfileAction_triggered();
public:
@ -73,7 +75,8 @@ namespace Launcher
private:
TextInputDialog *mProfileDialog;
TextInputDialog *mNewProfileDialog;
TextInputDialog *mCloneProfileDialog;
Files::ConfigurationManager &mCfgMgr;
@ -84,11 +87,7 @@ namespace Launcher
QStringList previousSelectedFiles;
QString mDataLocal;
void setPluginsCheckstates(Qt::CheckState state);
void buildView();
void setupConfig();
void readConfig();
void setProfile (int index, bool savePrevious);
void setProfile (const QString &previous, const QString &current, bool savePrevious);
void removeProfile (const QString &profile);
@ -97,6 +96,7 @@ namespace Launcher
void checkForDefaultProfile();
void populateFileViews(const QString& contentModelName);
void reloadCells(QStringList selectedFiles);
void refreshDataFilesView ();
class PathIterator
{

@ -1,10 +1,9 @@
#include "graphicspage.hpp"
#include <boost/math/common_factor.hpp>
#include <csignal>
#include <QDesktopWidget>
#include <QMessageBox>
#include <QDir>
#include <QScreen>
#ifdef MAC_OS_X_VERSION_MIN_REQUIRED
#undef MAC_OS_X_VERSION_MIN_REQUIRED
@ -12,14 +11,18 @@
#define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
#endif // MAC_OS_X_VERSION_MIN_REQUIRED
#include <SDL.h>
#include <SDL_video.h>
#include <numeric>
#include <components/files/configurationmanager.hpp>
QString getAspect(int x, int y)
{
int gcd = boost::math::gcd (x, y);
int gcd = std::gcd (x, y);
if (gcd == 0)
return QString();
int xaspect = x / gcd;
int yaspect = y / gcd;
// special case: 8 : 5 is usually referred to as 16:10
@ -29,10 +32,8 @@ QString getAspect(int x, int y)
return QString(QString::number(xaspect) + ":" + QString::number(yaspect));
}
Launcher::GraphicsPage::GraphicsPage(Files::ConfigurationManager &cfg, Settings::Manager &engineSettings, QWidget *parent)
Launcher::GraphicsPage::GraphicsPage(QWidget *parent)
: QWidget(parent)
, mCfgMgr(cfg)
, mEngineSettings(engineSettings)
{
setObjectName ("GraphicsPage");
setupUi(this);
@ -45,26 +46,14 @@ Launcher::GraphicsPage::GraphicsPage(Files::ConfigurationManager &cfg, Settings:
connect(fullScreenCheckBox, SIGNAL(stateChanged(int)), this, SLOT(slotFullScreenChanged(int)));
connect(standardRadioButton, SIGNAL(toggled(bool)), this, SLOT(slotStandardToggled(bool)));
connect(screenComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(screenChanged(int)));
connect(framerateLimitCheckBox, SIGNAL(toggled(bool)), this, SLOT(slotFramerateLimitToggled(bool)));
connect(shadowDistanceCheckBox, SIGNAL(toggled(bool)), this, SLOT(slotShadowDistLimitToggled(bool)));
}
bool Launcher::GraphicsPage::connectToSdl() {
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software");
SDL_SetMainReady();
// Required for determining screen resolution and such on the Graphics tab
if (SDL_Init(SDL_INIT_VIDEO) != 0)
{
return false;
}
signal(SIGINT, SIG_DFL); // We don't want to use the SDL event loop in the launcher,
// so reset SIGINT which SDL wants to redirect to an SDL_Quit event.
return true;
}
bool Launcher::GraphicsPage::setupSDL()
{
bool sdlConnectSuccessful = connectToSdl();
bool sdlConnectSuccessful = initSDL();
if (!sdlConnectSuccessful)
{
return false;
@ -78,19 +67,22 @@ bool Launcher::GraphicsPage::setupSDL()
msgBox.setWindowTitle(tr("Error receiving number of screens"));
msgBox.setIcon(QMessageBox::Critical);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setText(tr("<br><b>SDL_GetNumDisplayModes failed:</b><br><br>") + QString::fromUtf8(SDL_GetError()) + "<br>");
msgBox.setText(tr("<br><b>SDL_GetNumVideoDisplays failed:</b><br><br>") + QString::fromUtf8(SDL_GetError()) + "<br>");
msgBox.exec();
return false;
}
screenComboBox->clear();
mResolutionsPerScreen.clear();
for (int i = 0; i < displays; i++)
{
mResolutionsPerScreen.append(getAvailableResolutions(i));
screenComboBox->addItem(QString(tr("Screen ")) + QString::number(i + 1));
}
screenChanged(0);
// Disconnect from SDL processes
SDL_Quit();
quitSDL();
return true;
}
@ -100,26 +92,27 @@ bool Launcher::GraphicsPage::loadSettings()
if (!setupSDL())
return false;
if (mEngineSettings.getBool("vsync", "Video"))
// Visuals
if (Settings::Manager::getBool("vsync", "Video"))
vSyncCheckBox->setCheckState(Qt::Checked);
if (mEngineSettings.getBool("fullscreen", "Video"))
if (Settings::Manager::getBool("fullscreen", "Video"))
fullScreenCheckBox->setCheckState(Qt::Checked);
if (mEngineSettings.getBool("window border", "Video"))
if (Settings::Manager::getBool("window border", "Video"))
windowBorderCheckBox->setCheckState(Qt::Checked);
// aaValue is the actual value (0, 1, 2, 4, 8, 16)
int aaValue = mEngineSettings.getInt("antialiasing", "Video");
int aaValue = Settings::Manager::getInt("antialiasing", "Video");
// aaIndex is the index into the allowed values in the pull down.
int aaIndex = antiAliasingComboBox->findText(QString::number(aaValue));
if (aaIndex != -1)
antiAliasingComboBox->setCurrentIndex(aaIndex);
int width = mEngineSettings.getInt("resolution x", "Video");
int height = mEngineSettings.getInt("resolution y", "Video");
int width = Settings::Manager::getInt("resolution x", "Video");
int height = Settings::Manager::getInt("resolution y", "Video");
QString resolution = QString::number(width) + QString(" x ") + QString::number(height);
screenComboBox->setCurrentIndex(mEngineSettings.getInt("screen", "Video"));
screenComboBox->setCurrentIndex(Settings::Manager::getInt("screen", "Video"));
int resIndex = resolutionComboBox->findText(resolution, Qt::MatchStartsWith);
@ -132,28 +125,77 @@ bool Launcher::GraphicsPage::loadSettings()
customHeightSpinBox->setValue(height);
}
float fpsLimit = Settings::Manager::getFloat("framerate limit", "Video");
if (fpsLimit != 0)
{
framerateLimitCheckBox->setCheckState(Qt::Checked);
framerateLimitSpinBox->setValue(fpsLimit);
}
// Lighting
int lightingMethod = 1;
if (Settings::Manager::getString("lighting method", "Shaders") == "legacy")
lightingMethod = 0;
else if (Settings::Manager::getString("lighting method", "Shaders") == "shaders")
lightingMethod = 2;
lightingMethodComboBox->setCurrentIndex(lightingMethod);
// Shadows
if (Settings::Manager::getBool("actor shadows", "Shadows"))
actorShadowsCheckBox->setCheckState(Qt::Checked);
if (Settings::Manager::getBool("player shadows", "Shadows"))
playerShadowsCheckBox->setCheckState(Qt::Checked);
if (Settings::Manager::getBool("terrain shadows", "Shadows"))
terrainShadowsCheckBox->setCheckState(Qt::Checked);
if (Settings::Manager::getBool("object shadows", "Shadows"))
objectShadowsCheckBox->setCheckState(Qt::Checked);
if (Settings::Manager::getBool("enable indoor shadows", "Shadows"))
indoorShadowsCheckBox->setCheckState(Qt::Checked);
shadowComputeSceneBoundsComboBox->setCurrentIndex(
shadowComputeSceneBoundsComboBox->findText(
QString(tr(Settings::Manager::getString("compute scene bounds", "Shadows").c_str()))));
int shadowDistLimit = Settings::Manager::getInt("maximum shadow map distance", "Shadows");
if (shadowDistLimit > 0)
{
shadowDistanceCheckBox->setCheckState(Qt::Checked);
shadowDistanceSpinBox->setValue(shadowDistLimit);
}
float shadowFadeStart = Settings::Manager::getFloat("shadow fade start", "Shadows");
if (shadowFadeStart != 0)
fadeStartSpinBox->setValue(shadowFadeStart);
int shadowRes = Settings::Manager::getInt("shadow map resolution", "Shadows");
int shadowResIndex = shadowResolutionComboBox->findText(QString::number(shadowRes));
if (shadowResIndex != -1)
shadowResolutionComboBox->setCurrentIndex(shadowResIndex);
return true;
}
void Launcher::GraphicsPage::saveSettings()
{
// Visuals
// Ensure we only set the new settings if they changed. This is to avoid cluttering the
// user settings file (which by definition should only contain settings the user has touched)
bool cVSync = vSyncCheckBox->checkState();
if (cVSync != mEngineSettings.getBool("vsync", "Video"))
mEngineSettings.setBool("vsync", "Video", cVSync);
if (cVSync != Settings::Manager::getBool("vsync", "Video"))
Settings::Manager::setBool("vsync", "Video", cVSync);
bool cFullScreen = fullScreenCheckBox->checkState();
if (cFullScreen != mEngineSettings.getBool("fullscreen", "Video"))
mEngineSettings.setBool("fullscreen", "Video", cFullScreen);
if (cFullScreen != Settings::Manager::getBool("fullscreen", "Video"))
Settings::Manager::setBool("fullscreen", "Video", cFullScreen);
bool cWindowBorder = windowBorderCheckBox->checkState();
if (cWindowBorder != mEngineSettings.getBool("window border", "Video"))
mEngineSettings.setBool("window border", "Video", cWindowBorder);
if (cWindowBorder != Settings::Manager::getBool("window border", "Video"))
Settings::Manager::setBool("window border", "Video", cWindowBorder);
int cAAValue = antiAliasingComboBox->currentText().toInt();
if (cAAValue != mEngineSettings.getInt("antialiasing", "Video"))
mEngineSettings.setInt("antialiasing", "Video", cAAValue);
if (cAAValue != Settings::Manager::getInt("antialiasing", "Video"))
Settings::Manager::setInt("antialiasing", "Video", cAAValue);
int cWidth = 0;
int cHeight = 0;
@ -168,15 +210,81 @@ void Launcher::GraphicsPage::saveSettings()
cHeight = customHeightSpinBox->value();
}
if (cWidth != mEngineSettings.getInt("resolution x", "Video"))
mEngineSettings.setInt("resolution x", "Video", cWidth);
if (cWidth != Settings::Manager::getInt("resolution x", "Video"))
Settings::Manager::setInt("resolution x", "Video", cWidth);
if (cHeight != mEngineSettings.getInt("resolution y", "Video"))
mEngineSettings.setInt("resolution y", "Video", cHeight);
if (cHeight != Settings::Manager::getInt("resolution y", "Video"))
Settings::Manager::setInt("resolution y", "Video", cHeight);
int cScreen = screenComboBox->currentIndex();
if (cScreen != mEngineSettings.getInt("screen", "Video"))
mEngineSettings.setInt("screen", "Video", cScreen);
if (cScreen != Settings::Manager::getInt("screen", "Video"))
Settings::Manager::setInt("screen", "Video", cScreen);
if (framerateLimitCheckBox->checkState() != Qt::Unchecked)
{
float cFpsLimit = framerateLimitSpinBox->value();
if (cFpsLimit != Settings::Manager::getFloat("framerate limit", "Video"))
Settings::Manager::setFloat("framerate limit", "Video", cFpsLimit);
}
else if (Settings::Manager::getFloat("framerate limit", "Video") != 0)
{
Settings::Manager::setFloat("framerate limit", "Video", 0);
}
// Lighting
static std::array<std::string, 3> lightingMethodMap = {"legacy", "shaders compatibility", "shaders"};
Settings::Manager::setString("lighting method", "Shaders", lightingMethodMap[lightingMethodComboBox->currentIndex()]);
// Shadows
int cShadowDist = shadowDistanceCheckBox->checkState() != Qt::Unchecked ? shadowDistanceSpinBox->value() : 0;
if (Settings::Manager::getInt("maximum shadow map distance", "Shadows") != cShadowDist)
Settings::Manager::setInt("maximum shadow map distance", "Shadows", cShadowDist);
float cFadeStart = fadeStartSpinBox->value();
if (cShadowDist > 0 && Settings::Manager::getFloat("shadow fade start", "Shadows") != cFadeStart)
Settings::Manager::setFloat("shadow fade start", "Shadows", cFadeStart);
bool cActorShadows = actorShadowsCheckBox->checkState();
bool cObjectShadows = objectShadowsCheckBox->checkState();
bool cTerrainShadows = terrainShadowsCheckBox->checkState();
bool cPlayerShadows = playerShadowsCheckBox->checkState();
if (cActorShadows || cObjectShadows || cTerrainShadows || cPlayerShadows)
{
if (!Settings::Manager::getBool("enable shadows", "Shadows"))
Settings::Manager::setBool("enable shadows", "Shadows", true);
if (Settings::Manager::getBool("actor shadows", "Shadows") != cActorShadows)
Settings::Manager::setBool("actor shadows", "Shadows", cActorShadows);
if (Settings::Manager::getBool("player shadows", "Shadows") != cPlayerShadows)
Settings::Manager::setBool("player shadows", "Shadows", cPlayerShadows);
if (Settings::Manager::getBool("object shadows", "Shadows") != cObjectShadows)
Settings::Manager::setBool("object shadows", "Shadows", cObjectShadows);
if (Settings::Manager::getBool("terrain shadows", "Shadows") != cTerrainShadows)
Settings::Manager::setBool("terrain shadows", "Shadows", cTerrainShadows);
}
else
{
if (Settings::Manager::getBool("enable shadows", "Shadows"))
Settings::Manager::setBool("enable shadows", "Shadows", false);
if (Settings::Manager::getBool("actor shadows", "Shadows"))
Settings::Manager::setBool("actor shadows", "Shadows", false);
if (Settings::Manager::getBool("player shadows", "Shadows"))
Settings::Manager::setBool("player shadows", "Shadows", false);
if (Settings::Manager::getBool("object shadows", "Shadows"))
Settings::Manager::setBool("object shadows", "Shadows", false);
if (Settings::Manager::getBool("terrain shadows", "Shadows"))
Settings::Manager::setBool("terrain shadows", "Shadows", false);
}
bool cIndoorShadows = indoorShadowsCheckBox->checkState();
if (Settings::Manager::getBool("enable indoor shadows", "Shadows") != cIndoorShadows)
Settings::Manager::setBool("enable indoor shadows", "Shadows", cIndoorShadows);
int cShadowRes = shadowResolutionComboBox->currentText().toInt();
if (cShadowRes != Settings::Manager::getInt("shadow map resolution", "Shadows"))
Settings::Manager::setInt("shadow map resolution", "Shadows", cShadowRes);
auto cComputeSceneBounds = shadowComputeSceneBoundsComboBox->currentText().toStdString();
if (cComputeSceneBounds != Settings::Manager::getString("compute scene bounds", "Shadows"))
Settings::Manager::setString("compute scene bounds", "Shadows", cComputeSceneBounds);
}
QStringList Launcher::GraphicsPage::getAvailableResolutions(int screen)
@ -209,9 +317,9 @@ QStringList Launcher::GraphicsPage::getAvailableResolutions(int screen)
return result;
}
QString aspect = getAspect(mode.w, mode.h);
QString resolution = QString::number(mode.w) + QString(" x ") + QString::number(mode.h);
QString aspect = getAspect(mode.w, mode.h);
if (aspect == QLatin1String("16:9") || aspect == QLatin1String("16:10")) {
resolution.append(tr("\t(Wide ") + aspect + ")");
@ -229,10 +337,10 @@ QStringList Launcher::GraphicsPage::getAvailableResolutions(int screen)
QRect Launcher::GraphicsPage::getMaximumResolution()
{
QRect max;
int screens = QApplication::desktop()->screenCount();
for (int i = 0; i < screens; ++i)
for (QScreen* screen : QGuiApplication::screens())
{
QRect res = QApplication::desktop()->screenGeometry(i);
QRect res = screen->geometry();
if (res.width() > max.width())
max.setWidth(res.width());
if (res.height() > max.height())
@ -245,7 +353,7 @@ void Launcher::GraphicsPage::screenChanged(int screen)
{
if (screen >= 0) {
resolutionComboBox->clear();
resolutionComboBox->addItems(getAvailableResolutions(screen));
resolutionComboBox->addItems(mResolutionsPerScreen[screen]);
}
}
@ -277,3 +385,14 @@ void Launcher::GraphicsPage::slotStandardToggled(bool checked)
customHeightSpinBox->setEnabled(true);
}
}
void Launcher::GraphicsPage::slotFramerateLimitToggled(bool checked)
{
framerateLimitSpinBox->setEnabled(checked);
}
void Launcher::GraphicsPage::slotShadowDistLimitToggled(bool checked)
{
shadowDistanceSpinBox->setEnabled(checked);
fadeStartSpinBox->setEnabled(checked);
}

@ -1,12 +1,12 @@
#ifndef GRAPHICSPAGE_H
#define GRAPHICSPAGE_H
#include <QWidget>
#include "ui_graphicspage.h"
#include <components/settings/settings.hpp>
#include "sdlinit.hpp"
namespace Files { struct ConfigurationManager; }
namespace Launcher
@ -18,7 +18,7 @@ namespace Launcher
Q_OBJECT
public:
GraphicsPage(Files::ConfigurationManager &cfg, Settings::Manager &engineSettings, QWidget *parent = 0);
explicit GraphicsPage(QWidget *parent = nullptr);
void saveSettings();
bool loadSettings();
@ -29,19 +29,15 @@ namespace Launcher
private slots:
void slotFullScreenChanged(int state);
void slotStandardToggled(bool checked);
void slotFramerateLimitToggled(bool checked);
void slotShadowDistLimitToggled(bool checked);
private:
Files::ConfigurationManager &mCfgMgr;
Settings::Manager &mEngineSettings;
QVector<QStringList> mResolutionsPerScreen;
QStringList getAvailableResolutions(int screen);
QRect getMaximumResolution();
static QStringList getAvailableResolutions(int screen);
static QRect getMaximumResolution();
/**
* Connect to the SDL so that we can use it to determine graphics
* @return whether or not connecting to SDL is successful
*/
bool connectToSdl();
bool setupSDL();
};
}

@ -1,9 +1,8 @@
#include <iostream>
#include <QApplication>
#include <QTranslator>
#include <QTextCodec>
#include <QDir>
#include <QDebug>
#ifdef MAC_OS_X_VERSION_MIN_REQUIRED
#undef MAC_OS_X_VERSION_MIN_REQUIRED
@ -19,6 +18,13 @@ int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// Internationalization
QString locale = QLocale::system().name().section('_', 0, 0);
QTranslator appTranslator;
appTranslator.load(":/translations/" + locale + ".qm");
app.installTranslator(&appTranslator);
// Now we make sure the current dir is set to application path
QDir dir(QCoreApplication::applicationDirPath());
@ -33,11 +39,13 @@ int main(int argc, char *argv[])
if (result == Launcher::FirstRunDialogResultContinue)
mainWin.show();
return app.exec();
int exitCode = app.exec();
return exitCode;
}
catch (std::exception& e)
{
std::cerr << "ERROR: " << e.what() << std::endl;
return 0;
}
}
}

@ -1,18 +1,16 @@
#include "maindialog.hpp"
#include <components/version/version.hpp>
#include <components/misc/helpviewer.hpp>
#include <QDate>
#include <QMessageBox>
#include <QPushButton>
#include <QFontDatabase>
#include <QInputDialog>
#include <QFileDialog>
#include <QCloseEvent>
#include <QTextCodec>
#include <QDebug>
#include "playpage.hpp"
#include "graphicspage.hpp"
#include "datafilespage.hpp"
@ -54,11 +52,15 @@ Launcher::MainDialog::MainDialog(QWidget *parent)
iconWidget->setCurrentRow(0);
iconWidget->setFlow(QListView::LeftToRight);
QPushButton *helpButton = new QPushButton(tr("Help"));
QPushButton *playButton = new QPushButton(tr("Play"));
buttonBox->button(QDialogButtonBox::Close)->setText(tr("Close"));
buttonBox->addButton(helpButton, QDialogButtonBox::HelpRole);
buttonBox->addButton(playButton, QDialogButtonBox::AcceptRole);
connect(buttonBox, SIGNAL(rejected()), this, SLOT(close()));
connect(buttonBox, SIGNAL(accepted()), this, SLOT(play()));
connect(buttonBox, SIGNAL(helpRequested()), this, SLOT(help()));
// Remove what's this? button
setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
@ -115,11 +117,15 @@ void Launcher::MainDialog::createIcons()
void Launcher::MainDialog::createPages()
{
// Avoid creating the widgets twice
if (pagesWidget->count() != 0)
return;
mPlayPage = new PlayPage(this);
mDataFilesPage = new DataFilesPage(mCfgMgr, mGameSettings, mLauncherSettings, this);
mGraphicsPage = new GraphicsPage(mCfgMgr, mEngineSettings, this);
mGraphicsPage = new GraphicsPage(this);
mSettingsPage = new SettingsPage(mCfgMgr, mGameSettings, mLauncherSettings, this);
mAdvancedPage = new AdvancedPage(mCfgMgr, mGameSettings, mEngineSettings, this);
mAdvancedPage = new AdvancedPage(mGameSettings, this);
// Set the combobox of the play page to imitate the combobox on the datafilespage
mPlayPage->setProfilesModel(mDataFilesPage->profilesModel());
@ -165,18 +171,20 @@ Launcher::FirstRunDialogResult Launcher::MainDialog::showFirstRunDialog()
QAbstractButton *skipButton =
msgBox.addButton(tr("Skip"), QMessageBox::RejectRole);
Q_UNUSED(skipButton); // Surpress compiler unused warning
msgBox.exec();
if (msgBox.clickedButton() == wizardButton)
{
if (!mWizardInvoker->startProcess(QLatin1String("openmw-wizard"), false)) {
return FirstRunDialogResultFailure;
} else {
if (mWizardInvoker->startProcess(QLatin1String("openmw-wizard"), false))
return FirstRunDialogResultWizard;
}
}
else if (msgBox.clickedButton() == skipButton)
{
// Don't bother setting up absent game data.
if (setup())
return FirstRunDialogResultContinue;
}
return FirstRunDialogResultFailure;
}
if (!setup() || !setupGameData()) {
@ -200,10 +208,10 @@ void Launcher::MainDialog::setVersionLabel()
versionLabel->setText(tr("OpenMW development (%1)").arg(revision.left(10)));
// Add the compile date and time
versionLabel->setToolTip(tr("Compiled on %1 %2").arg(QLocale(QLocale::C).toDate(QString(__DATE__).simplified(),
QLatin1String("MMM d yyyy")).toString(Qt::SystemLocaleLongDate),
QLocale(QLocale::C).toTime(QString(__TIME__).simplified(),
QLatin1String("hh:mm:ss")).toString(Qt::SystemLocaleShortDate)));
auto compileDate = QLocale(QLocale::C).toDate(QString(__DATE__).simplified(), QLatin1String("MMM d yyyy"));
auto compileTime = QLocale(QLocale::C).toTime(QString(__TIME__).simplified(), QLatin1String("hh:mm:ss"));
versionLabel->setToolTip(tr("Compiled on %1 %2").arg(QLocale::system().toString(compileDate, QLocale::LongFormat),
QLocale::system().toString(compileTime, QLocale::ShortFormat)));
}
bool Launcher::MainDialog::setup()
@ -280,7 +288,8 @@ bool Launcher::MainDialog::setupLauncherSettings()
paths.append(QString(Config::LauncherSettings::sLauncherConfigFileName));
paths.append(userPath + QString(Config::LauncherSettings::sLauncherConfigFileName));
foreach (const QString &path, paths) {
for (const QString &path : paths)
{
qDebug() << "Loading config file:" << path.toUtf8().constData();
QFile file(path);
if (file.exists()) {
@ -329,6 +338,7 @@ bool Launcher::MainDialog::setupGameSettings()
stream.setCodec(QTextCodec::codecForName("UTF-8"));
mGameSettings.readUserFile(stream);
file.close();
}
// Now the rest - priority: user > local > global
@ -337,7 +347,8 @@ bool Launcher::MainDialog::setupGameSettings()
paths.append(localPath + QString("openmw.cfg"));
paths.append(userPath + QString("openmw.cfg"));
foreach (const QString &path2, paths) {
for (const QString &path2 : paths)
{
qDebug() << "Loading config file:" << path2.toUtf8().constData();
file.setFileName(path2);
@ -353,8 +364,8 @@ bool Launcher::MainDialog::setupGameSettings()
stream.setCodec(QTextCodec::codecForName("UTF-8"));
mGameSettings.readFile(stream);
file.close();
}
file.close();
}
return true;
@ -365,7 +376,8 @@ bool Launcher::MainDialog::setupGameData()
QStringList dataDirs;
// Check if the paths actually contain data files
foreach (const QString path3, mGameSettings.getDataDirs()) {
for (const QString& path3 : mGameSettings.getDataDirs())
{
QDir dir(path3);
QStringList filters;
filters << "*.esp" << "*.esm" << "*.omwgame" << "*.omwaddon";
@ -379,22 +391,23 @@ bool Launcher::MainDialog::setupGameData()
QMessageBox msgBox;
msgBox.setWindowTitle(tr("Error detecting Morrowind installation"));
msgBox.setIcon(QMessageBox::Warning);
msgBox.setStandardButtons(QMessageBox::Cancel);
msgBox.setStandardButtons(QMessageBox::NoButton);
msgBox.setText(tr("<br><b>Could not find the Data Files location</b><br><br> \
The directory containing the data files was not found."));
QAbstractButton *wizardButton =
msgBox.addButton(tr("Run &Installation Wizard..."), QMessageBox::ActionRole);
QAbstractButton *skipButton =
msgBox.addButton(tr("Skip"), QMessageBox::RejectRole);
Q_UNUSED(skipButton); // Suppress compiler unused warning
msgBox.exec();
if (msgBox.clickedButton() == wizardButton)
{
if (!mWizardInvoker->startProcess(QLatin1String("openmw-wizard"), false)) {
if (!mWizardInvoker->startProcess(QLatin1String("openmw-wizard"), false))
return false;
} else {
return true;
}
}
}
@ -411,11 +424,11 @@ bool Launcher::MainDialog::setupGraphicsSettings()
mEngineSettings.clear();
// Create the settings manager and load default settings file
const std::string localDefault = (mCfgMgr.getLocalPath() / "settings-default.cfg").string();
const std::string globalDefault = (mCfgMgr.getGlobalPath() / "settings-default.cfg").string();
const std::string localDefault = (mCfgMgr.getLocalPath() / "defaults.bin").string();
const std::string globalDefault = (mCfgMgr.getGlobalPath() / "defaults.bin").string();
std::string defaultPath;
// Prefer the settings-default.cfg in the current directory.
// Prefer the defaults.bin in the current directory.
if (boost::filesystem::exists(localDefault))
defaultPath = localDefault;
else if (boost::filesystem::exists(globalDefault))
@ -423,7 +436,7 @@ bool Launcher::MainDialog::setupGraphicsSettings()
// Something's very wrong if we can't find the file at all.
else {
cfgError(tr("Error reading OpenMW configuration file"),
tr("<br><b>Could not find settings-default.cfg</b><br><br> \
tr("<br><b>Could not find defaults.bin</b><br><br> \
The problem may be due to an incomplete installation of OpenMW.<br> \
Reinstalling OpenMW may resolve the problem."));
return false;
@ -434,7 +447,7 @@ bool Launcher::MainDialog::setupGraphicsSettings()
mEngineSettings.loadDefault(defaultPath);
}
catch (std::exception& e) {
std::string msg = std::string("<br><b>Error reading settings-default.cfg</b><br><br>") + e.what();
std::string msg = std::string("<br><b>Error reading defaults.bin</b><br><br>") + e.what();
cfgError(tr("Error reading OpenMW configuration file"), tr(msg.c_str()));
return false;
}
@ -577,7 +590,7 @@ void Launcher::MainDialog::wizardFinished(int exitCode, QProcess::ExitStatus exi
// HACK: Ensure the pages are created, else segfault
setup();
if (reloadSettings())
if (setupGameData() && reloadSettings())
show();
}
@ -602,3 +615,8 @@ void Launcher::MainDialog::play()
if (mGameInvoker->startProcess(QLatin1String("tes3mp-browser"), true))
return qApp->quit();
}
void Launcher::MainDialog::help()
{
Misc::HelpViewer::openHelp("reference/index.html");
}

@ -1,12 +1,10 @@
#ifndef MAINDIALOG_H
#define MAINDIALOG_H
#include <QMainWindow>
#include <QProcess>
#ifndef Q_MOC_RUN
#include <components/files/configurationmanager.hpp>
#endif
#include <components/process/processinvoker.hpp>
@ -14,7 +12,7 @@
#include <components/config/launchersettings.hpp>
#include <components/settings/settings.hpp>
#endif
#include "ui_mainwindow.h"
class QListWidgetItem;
@ -48,7 +46,7 @@ namespace Launcher
Q_OBJECT
public:
explicit MainDialog(QWidget *parent = 0);
explicit MainDialog(QWidget *parent = nullptr);
~MainDialog();
FirstRunDialogResult showFirstRunDialog();
@ -59,6 +57,7 @@ namespace Launcher
public slots:
void changePage(QListWidgetItem *current, QListWidgetItem *previous);
void play();
void help();
private slots:
void wizardStarted();
@ -83,7 +82,7 @@ namespace Launcher
inline bool startProgram(const QString &name, bool detached = false) { return startProgram(name, QStringList(), detached); }
bool startProgram(const QString &name, const QStringList &arguments, bool detached = false);
void closeEvent(QCloseEvent *event);
void closeEvent(QCloseEvent *event) override;
PlayPage *mPlayPage;
GraphicsPage *mGraphicsPage;

@ -1,8 +1,6 @@
#ifndef PLAYPAGE_H
#define PLAYPAGE_H
#include <QWidget>
#include "ui_playpage.h"
class QComboBox;
@ -16,7 +14,7 @@ namespace Launcher
Q_OBJECT
public:
PlayPage(QWidget *parent = 0);
PlayPage(QWidget *parent = nullptr);
void setProfilesModel(QAbstractItemModel *model);
signals:

@ -0,0 +1,24 @@
#include <signal.h>
#include <SDL.h>
bool initSDL()
{
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software");
SDL_SetMainReady();
// Required for determining screen resolution and such on the Graphics tab
if (SDL_Init(SDL_INIT_VIDEO) != 0)
{
return false;
}
signal(SIGINT, SIG_DFL); // We don't want to use the SDL event loop in the launcher,
// so reset SIGINT which SDL wants to redirect to an SDL_Quit event.
return true;
}
void quitSDL()
{
// Disconnect from SDL processes
SDL_Quit();
}

@ -0,0 +1,8 @@
#ifndef SDLINIT_H
#define SDLINIT_H
bool initSDL();
void quitSDL();
#endif

@ -2,7 +2,6 @@
#include <QFileDialog>
#include <QMessageBox>
#include <QDebug>
#include <QDir>
#include <components/files/configurationmanager.hpp>
@ -27,13 +26,13 @@ Launcher::SettingsPage::SettingsPage(Files::ConfigurationManager &cfg,
setupUi(this);
QStringList languages;
languages << QLatin1String("English")
<< QLatin1String("French")
<< QLatin1String("German")
<< QLatin1String("Italian")
<< QLatin1String("Polish")
<< QLatin1String("Russian")
<< QLatin1String("Spanish");
languages << tr("English")
<< tr("French")
<< tr("German")
<< tr("Italian")
<< tr("Polish")
<< tr("Russian")
<< tr("Spanish");
languageComboBox->addItems(languages);
@ -61,7 +60,8 @@ Launcher::SettingsPage::SettingsPage(Files::ConfigurationManager &cfg,
// Detect Morrowind configuration files
QStringList iniPaths;
foreach (const QString &path, mGameSettings.getDataDirs()) {
for (const QString &path : mGameSettings.getDataDirs())
{
QDir dir(path);
dir.setPath(dir.canonicalPath()); // Resolve symlinks

@ -1,9 +1,6 @@
#ifndef SETTINGSPAGE_HPP
#define SETTINGSPAGE_HPP
#include <QWidget>
#include <QProcess>
#include <components/process/processinvoker.hpp>
#include "ui_settingspage.h"
@ -24,7 +21,7 @@ namespace Launcher
public:
SettingsPage(Files::ConfigurationManager &cfg, Config::GameSettings &gameSettings,
Config::LauncherSettings &launcherSettings, MainDialog *parent = 0);
Config::LauncherSettings &launcherSettings, MainDialog *parent = nullptr);
~SettingsPage();
void saveSettings();

@ -45,4 +45,5 @@ QString CellNameLoader::getCellName(ESM::ESMReader &esmReader)
cell.loadNameAndData(esmReader, isDeleted);
return QString::fromStdString(cell.mName);
}
}

@ -1,7 +1,6 @@
#ifndef OPENMW_CELLNAMELOADER_H
#define OPENMW_CELLNAMELOADER_H
#include <QComboBox>
#include <QSet>
#include <QString>

@ -11,7 +11,6 @@
#define LINEEDIT_H
#include <QLineEdit>
#include <QStyle>
#include <QStylePainter>
#include <QToolButton>
@ -24,10 +23,10 @@ class LineEdit : public QLineEdit
QString mPlaceholderText;
public:
LineEdit(QWidget *parent = 0);
LineEdit(QWidget *parent = nullptr);
protected:
void resizeEvent(QResizeEvent *);
void resizeEvent(QResizeEvent *) override;
private slots:
void updateClearButton(const QString &text);

@ -0,0 +1,61 @@
#include <cstring>
#include <vector>
#include <memory>
#include <apps/openmw/mwsound/alext.h>
#include "openalutil.hpp"
#ifndef ALC_ALL_DEVICES_SPECIFIER
#define ALC_ALL_DEVICES_SPECIFIER 0x1013
#endif
std::vector<const char *> Launcher::enumerateOpenALDevices()
{
std::vector<const char *> devlist;
const ALCchar *devnames;
if(alcIsExtensionPresent(nullptr, "ALC_ENUMERATE_ALL_EXT"))
{
devnames = alcGetString(nullptr, ALC_ALL_DEVICES_SPECIFIER);
}
else
{
devnames = alcGetString(nullptr, ALC_DEVICE_SPECIFIER);
}
while(devnames && *devnames)
{
devlist.emplace_back(devnames);
devnames += strlen(devnames)+1;
}
return devlist;
}
std::vector<const char *> Launcher::enumerateOpenALDevicesHrtf()
{
std::vector<const char *> ret;
ALCdevice *device = alcOpenDevice(nullptr);
if(device)
{
if(alcIsExtensionPresent(device, "ALC_SOFT_HRTF"))
{
LPALCGETSTRINGISOFT alcGetStringiSOFT = nullptr;
void* funcPtr = alcGetProcAddress(device, "alcGetStringiSOFT");
memcpy(&alcGetStringiSOFT, &funcPtr, sizeof(funcPtr));
ALCint num_hrtf;
alcGetIntegerv(device, ALC_NUM_HRTF_SPECIFIERS_SOFT, 1, &num_hrtf);
ret.reserve(num_hrtf);
for(ALCint i = 0;i < num_hrtf;++i)
{
const ALCchar *entry = alcGetStringiSOFT(device, ALC_HRTF_SPECIFIER_SOFT, i);
if(strcmp(entry, "") == 0)
break;
ret.emplace_back(entry);
}
}
alcCloseDevice(device);
}
return ret;
}

@ -0,0 +1,7 @@
#include <vector>
namespace Launcher
{
std::vector<const char *> enumerateOpenALDevices();
std::vector<const char *> enumerateOpenALDevicesHrtf();
}

@ -1,5 +1,4 @@
#include <QRegExpValidator>
#include <QLineEdit>
#include <QString>
#include <QApplication>
#include <QKeyEvent>
@ -33,7 +32,7 @@ void ProfilesComboBox::setEditEnabled(bool editable)
ComboBoxLineEdit *edit = new ComboBoxLineEdit(this);
setLineEdit(edit);
setCompleter(0);
setCompleter(nullptr);
connect(lineEdit(), SIGNAL(editingFinished()), this,
SLOT(slotEditingFinished()));

@ -16,12 +16,12 @@ public:
class ComboBoxLineEdit : public LineEdit
{
public:
explicit ComboBoxLineEdit (QWidget *parent = 0);
explicit ComboBoxLineEdit (QWidget *parent = nullptr);
};
public:
explicit ProfilesComboBox(QWidget *parent = 0);
explicit ProfilesComboBox(QWidget *parent = nullptr);
void setEditEnabled(bool editable);
void setCurrentProfile(int index)
{

@ -23,7 +23,7 @@ Launcher::TextInputDialog::TextInputDialog(const QString& title, const QString &
QValidator *validator = new QRegExpValidator(QRegExp("^[a-zA-Z0-9_]*$"), this); // Alpha-numeric + underscore
mLineEdit = new LineEdit(this);
mLineEdit->setValidator(validator);
mLineEdit->setCompleter(0);
mLineEdit->setCompleter(nullptr);
QVBoxLayout *dialogLayout = new QVBoxLayout(this);
dialogLayout->addWidget(label);

@ -15,13 +15,13 @@ namespace Launcher
public:
explicit TextInputDialog(const QString& title, const QString &text, QWidget *parent = 0);
explicit TextInputDialog(const QString& title, const QString &text, QWidget *parent = nullptr);
~TextInputDialog ();
inline LineEdit *lineEdit() { return mLineEdit; }
void setOkButtonEnabled(bool enabled);
int exec();
int exec() override;
private:

@ -1,7 +1,3 @@
//
// Created by koncord on 21.04.17.
//
#include <RakPeerInterface.h>
#include <RakSleep.h>
#include <BitStream.h>

@ -1,7 +1,3 @@
//
// Created by koncord on 21.04.17.
//
#ifndef NEWMASTERPROTO_MASTERSERVER_HPP
#define NEWMASTERPROTO_MASTERSERVER_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 13.05.17.
//
#include "RestServer.hpp"
#include <boost/property_tree/ptree.hpp>

@ -1,7 +1,3 @@
//
// Created by koncord on 13.05.17.
//
#ifndef NEWRESTAPI_RESTSERVER_HPP
#define NEWRESTAPI_RESTSERVER_HPP

@ -1,7 +1,3 @@
//
// Created by koncord on 21.04.17.
//
#include <RakPeerInterface.h>
#include <RakSleep.h>
#include <BitStream.h>

@ -230,9 +230,19 @@ MwIniImporter::MwIniImporter()
"Blood:Texture 0",
"Blood:Texture 1",
"Blood:Texture 2",
"Blood:Texture 3",
"Blood:Texture 4",
"Blood:Texture 5",
"Blood:Texture 6",
"Blood:Texture 7",
"Blood:Texture Name 0",
"Blood:Texture Name 1",
"Blood:Texture Name 2",
"Blood:Texture Name 3",
"Blood:Texture Name 4",
"Blood:Texture Name 5",
"Blood:Texture Name 6",
"Blood:Texture Name 7",
// movies
"Movies:Company Logo",
@ -624,17 +634,6 @@ MwIniImporter::MwIniImporter()
"Moons:Masser Fade Out Finish",
"Moons:Script Color",
// blood
"Blood:Model 0",
"Blood:Model 1",
"Blood:Model 2",
"Blood:Texture 0",
"Blood:Texture 1",
"Blood:Texture 2",
"Blood:Texture Name 0",
"Blood:Texture Name 1",
"Blood:Texture Name 2",
// werewolf (Bloodmoon)
"General:Werewolf FOV",
@ -646,7 +645,7 @@ MwIniImporter::MwIniImporter()
}
for(int i=0; fallback[i]; i++) {
mMergeFallback.push_back(fallback[i]);
mMergeFallback.emplace_back(fallback[i]);
}
}
@ -677,7 +676,7 @@ MwIniImporter::multistrmap MwIniImporter::loadIniFile(const boost::filesystem::p
}
if(line[0] == '[') {
int pos = line.find(']');
int pos = static_cast<int>(line.find(']'));
if(pos < 2) {
std::cout << "Warning: ini file wrongly formatted (" << line << "). Line ignored." << std::endl;
continue;
@ -687,12 +686,12 @@ MwIniImporter::multistrmap MwIniImporter::loadIniFile(const boost::filesystem::p
continue;
}
int comment_pos = line.find(";");
int comment_pos = static_cast<int>(line.find(';'));
if(comment_pos > 0) {
line = line.substr(0,comment_pos);
}
int pos = line.find("=");
int pos = static_cast<int>(line.find('='));
if(pos < 1) {
continue;
}
@ -723,7 +722,7 @@ MwIniImporter::multistrmap MwIniImporter::loadCfgFile(const boost::filesystem::p
while (std::getline(file, line)) {
// we cant say comment by only looking at first char anymore
int comment_pos = line.find("#");
int comment_pos = static_cast<int>(line.find('#'));
if(comment_pos > 0) {
line = line.substr(0,comment_pos);
}
@ -732,7 +731,7 @@ MwIniImporter::multistrmap MwIniImporter::loadCfgFile(const boost::filesystem::p
continue;
}
int pos = line.find("=");
int pos = static_cast<int>(line.find('='));
if(pos < 1) {
continue;
}
@ -860,11 +859,12 @@ std::vector<std::string>::iterator MwIniImporter::findString(std::vector<std::st
}
void MwIniImporter::addPaths(std::vector<boost::filesystem::path>& output, std::vector<std::string> input) {
for (auto& path : input) {
for (auto& path : input)
{
if (path.front() == '"')
{
path.erase(path.begin());
path.erase(path.end() - 1);
// Drop first and last characters - quotation marks
path = path.substr(1, path.size() - 2);
}
output.emplace_back(path);
}
@ -910,7 +910,7 @@ void MwIniImporter::importGameFiles(multistrmap &cfg, const multistrmap &ini, co
std::time_t time = lastWriteTime(path, defaultTime);
if (time != defaultTime)
{
contentFiles.push_back({time, path});
contentFiles.emplace_back(time, std::move(path));
found = true;
break;
}
@ -985,14 +985,7 @@ std::time_t MwIniImporter::lastWriteTime(const boost::filesystem::path& filename
std::time_t writeTime(defaultTime);
if (boost::filesystem::exists(filename))
{
// FixMe: remove #if when Boost dependency for Linux builds updated
// This allows Linux to build until then
#if (BOOST_VERSION >= 104800)
// need to resolve any symlinks so that we get time of file, not symlink
boost::filesystem::path resolved = boost::filesystem::canonical(filename);
#else
boost::filesystem::path resolved = filename;
#endif
writeTime = boost::filesystem::last_write_time(resolved);
// print timestamp

@ -20,7 +20,7 @@ namespace bfs = boost::filesystem;
///See if the file has the named extension
bool hasExtension(std::string filename, std::string extensionToFind)
{
std::string extension = filename.substr(filename.find_last_of(".")+1);
std::string extension = filename.substr(filename.find_last_of('.')+1);
//Convert strings to lower case for comparison
std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower);
@ -80,7 +80,7 @@ void readVFS(VFS::Archive* anArchive,std::string archivePath = "")
}
}
std::vector<std::string> parseOptions (int argc, char** argv)
bool parseOptions (int argc, char** argv, std::vector<std::string>& files)
{
bpo::options_description desc("Ensure that OpenMW can use the provided NIF and BSA files\n\n"
"Usages:\n"
@ -102,40 +102,44 @@ std::vector<std::string> parseOptions (int argc, char** argv)
bpo::parsed_options valid_opts = bpo::command_line_parser(argc, argv).
options(desc).positional(p).run();
bpo::store(valid_opts, variables);
bpo::notify(variables);
if (variables.count ("help"))
{
std::cout << desc << std::endl;
return false;
}
if (variables.count("input-file"))
{
files = variables["input-file"].as< std::vector<std::string> >();
return true;
}
}
catch(std::exception &e)
{
std::cout << "ERROR parsing arguments: " << e.what() << "\n\n"
<< desc << std::endl;
exit(1);
}
bpo::notify(variables);
if (variables.count ("help"))
{
std::cout << desc << std::endl;
exit(1);
}
if (variables.count("input-file"))
{
return variables["input-file"].as< std::vector<std::string> >();
return false;
}
std::cout << "No input files or directories specified!" << std::endl;
std::cout << desc << std::endl;
exit(1);
return false;
}
int main(int argc, char **argv)
{
std::vector<std::string> files = parseOptions (argc, argv);
std::vector<std::string> files;
if(!parseOptions (argc, argv, files))
return 1;
Nif::NIFFile::setLoadUnsupportedFiles(true);
// std::cout << "Reading Files" << std::endl;
for(std::vector<std::string>::const_iterator it=files.begin(); it!=files.end(); ++it)
{
std::string name = *it;
std::string name = *it;
try{
try
{
if(isNIF(name))
{
//std::cout << "Decoding: " << name << std::endl;

@ -19,6 +19,7 @@ opencs_hdrs_noqt (model/doc
opencs_units (model/world
idtable idtableproxymodel regionmap data commanddispatcher idtablebase resourcetable nestedtableproxymodel idtree infotableproxymodel landtexturetableproxymodel
actoradapter
)
@ -42,7 +43,7 @@ opencs_units_noqt (model/tools
mandatoryid skillcheck classcheck factioncheck racecheck soundcheck regioncheck
birthsigncheck spellcheck referencecheck referenceablecheck scriptcheck bodypartcheck
startscriptcheck search searchoperation searchstage pathgridcheck soundgencheck magiceffectcheck
mergestages gmstcheck topicinfocheck journalcheck
mergestages gmstcheck topicinfocheck journalcheck enchantmentcheck
)
opencs_hdrs_noqt (model/tools
@ -81,14 +82,14 @@ opencs_units_noqt (view/world
opencs_units (view/widget
scenetoolbar scenetool scenetoolmode pushbutton scenetooltoggle scenetoolrun modebutton
scenetooltoggle2 scenetooltexturebrush completerpopup coloreditor colorpickerpopup droplineedit
scenetooltoggle2 scenetooltexturebrush scenetoolshapebrush completerpopup coloreditor colorpickerpopup droplineedit
)
opencs_units (view/render
scenewidget worldspacewidget pagedworldspacewidget unpagedworldspacewidget
previewwidget editmode instancemode instanceselectionmode instancemovemode
orbitcameramode pathgridmode selectionmode pathgridselectionmode cameracontroller
cellwater terraintexturemode
cellwater terraintexturemode actor terrainselection terrainshapemode brushdraw commands
)
opencs_units_noqt (view/render
@ -115,7 +116,7 @@ opencs_units (view/prefs
opencs_units (model/prefs
state setting intsetting doublesetting boolsetting enumsetting coloursetting shortcut
shortcuteventhandler shortcutmanager shortcutsetting modifiersetting
shortcuteventhandler shortcutmanager shortcutsetting modifiersetting stringsetting
)
opencs_units_noqt (model/prefs
@ -148,23 +149,16 @@ if(WIN32)
set(QT_USE_QTMAIN TRUE)
endif(WIN32)
if (DESIRED_QT_VERSION MATCHES 4)
include(${QT_USE_FILE})
qt4_wrap_ui(OPENCS_UI_HDR ${OPENCS_UI})
qt4_wrap_cpp(OPENCS_MOC_SRC ${OPENCS_HDR_QT})
qt4_add_resources(OPENCS_RES_SRC ${OPENCS_RES})
else()
qt5_wrap_ui(OPENCS_UI_HDR ${OPENCS_UI})
qt5_wrap_cpp(OPENCS_MOC_SRC ${OPENCS_HDR_QT})
qt5_add_resources(OPENCS_RES_SRC ${OPENCS_RES})
endif()
qt5_wrap_ui(OPENCS_UI_HDR ${OPENCS_UI})
qt5_wrap_cpp(OPENCS_MOC_SRC ${OPENCS_HDR_QT})
qt5_add_resources(OPENCS_RES_SRC ${OPENCS_RES})
# for compiled .ui files
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(APPLE)
set (OPENCS_MAC_ICON "${CMAKE_SOURCE_DIR}/files/mac/openmw-cs.icns")
set (OPENCS_CFG "${OpenMW_BINARY_DIR}/openmw-cs.cfg")
set (OPENCS_CFG "${OpenMW_BINARY_DIR}/defaults-cs.bin")
set (OPENCS_DEFAULT_FILTERS_FILE "${OpenMW_BINARY_DIR}/resources/defaultfilters")
set (OPENCS_OPENMW_CFG "${OpenMW_BINARY_DIR}/openmw.cfg")
else()
@ -221,13 +215,16 @@ if(APPLE)
endif(APPLE)
target_link_libraries(openmw-cs
${OSG_LIBRARIES}
${OPENTHREADS_LIBRARIES}
${OSGTEXT_LIBRARIES}
${OSGUTIL_LIBRARIES}
# CMake's built-in OSG finder does not use pkgconfig, so we have to
# manually ensure the order is correct for inter-library dependencies.
# This only makes a difference with `-DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON`.
# https://gitlab.kitware.com/cmake/cmake/-/issues/21701
${OSGVIEWER_LIBRARIES}
${OSGGA_LIBRARIES}
${OSGFX_LIBRARIES}
${OSGGA_LIBRARIES}
${OSGUTIL_LIBRARIES}
${OSGTEXT_LIBRARIES}
${OSG_LIBRARIES}
${EXTERN_OSGQT_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
@ -235,25 +232,45 @@ target_link_libraries(openmw-cs
components
)
if (DESIRED_QT_VERSION MATCHES 4)
target_link_libraries(openmw-cs
${QT_QTGUI_LIBRARY}
${QT_QTCORE_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${QT_QTOPENGL_LIBRARY})
if (WIN32)
target_link_libraries(openmw-cs ${QT_QTMAIN_LIBRARY})
if(OSG_STATIC)
unset(_osg_plugins_static_files)
add_library(openmw_cs_osg_plugins INTERFACE)
foreach(_plugin ${USED_OSG_PLUGINS})
string(TOUPPER ${_plugin} _plugin_uc)
if(OPENMW_USE_SYSTEM_OSG)
list(APPEND _osg_plugins_static_files ${${_plugin_uc}_LIBRARY})
else()
list(APPEND _osg_plugins_static_files $<TARGET_FILE:${${_plugin_uc}_LIBRARY}>)
target_link_libraries(openmw_cs_osg_plugins INTERFACE $<TARGET_PROPERTY:${${_plugin_uc}_LIBRARY},LINK_LIBRARIES>)
add_dependencies(openmw_cs_osg_plugins ${${_plugin_uc}_LIBRARY})
endif()
endforeach()
# We use --whole-archive because OSG plugins use registration.
get_whole_archive_options(_opts ${_osg_plugins_static_files})
target_link_options(openmw_cs_osg_plugins INTERFACE ${_opts})
target_link_libraries(openmw-cs openmw_cs_osg_plugins)
if(OPENMW_USE_SYSTEM_OSG)
# OSG plugin pkgconfig files are missing these dependencies.
# https://github.com/openscenegraph/OpenSceneGraph/issues/1052
target_link_libraries(openmw freetype jpeg png)
endif()
else()
target_link_libraries(openmw-cs Qt5::Widgets Qt5::Core Qt5::Network Qt5::OpenGL)
endif()
endif(OSG_STATIC)
target_link_libraries(openmw-cs Qt5::Widgets Qt5::Core Qt5::Network Qt5::OpenGL)
if (WIN32)
target_link_libraries(openmw-cs ${Boost_LOCALE_LIBRARY})
INSTALL(TARGETS openmw-cs RUNTIME DESTINATION ".")
INSTALL(FILES "${OpenMW_BINARY_DIR}/Debug/openmw-cs.cfg" DESTINATION "." CONFIGURATIONS Debug)
INSTALL(FILES "${OpenMW_BINARY_DIR}/Release/openmw-cs.cfg" DESTINATION "." CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel)
get_generator_is_multi_config(multi_config)
if (multi_config)
SET(INSTALL_SOURCE "${OpenMW_BINARY_DIR}/$<CONFIG>")
else ()
SET(INSTALL_SOURCE "${OpenMW_BINARY_DIR}")
endif ()
INSTALL(FILES "${INSTALL_SOURCE}/defaults-cs.bin" DESTINATION ".")
endif()
if (MSVC)
@ -265,5 +282,5 @@ endif (MSVC)
if(APPLE)
INSTALL(TARGETS openmw-cs BUNDLE DESTINATION "." COMPONENT BUNDLE)
INSTALL(TARGETS openmw-cs BUNDLE DESTINATION "." COMPONENT Bundle)
endif()

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save