Commit Graph

46 Commits (ffi-server-rewrite)

Author SHA1 Message Date
MiroslavR c8b61cb234 Cache magic effects in MWMechanics::Spells 9 years ago
MiroslavR 700dde116e Show remnant corprus effects in magic window 9 years ago
MiroslavR 54f52f7bae Implement effect removal for abilities (Fixes #3455) 9 years ago
Tobias Kortkamp 0659687bfb Some fixes for building on FreeBSD 9 years ago
scrawl 783594033a Optimize MWMechanics::Spells
Use pointers as map keys instead of string IDs. Resolves a nasty performance bottleneck on functions like hasCommonDisease() that previously had to look up all contained spells from the ESM store on every call. hasCommonDisease() is called hundreds of times per frame by the AI target update since it's used to calculate target disposition.

The total cost of hasCommonDisease() was 2.7% of the frame loop, now it's negligible.
9 years ago
scrawl 77cb438714 Fix potential case smashing issue 9 years ago
scrawl 67bd6cd708 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
10 years ago
Alexander "Ace" Olofsson b3b55a5842 Explicitly instantiate MWWorld::Store 10 years ago
scrawl 22f01b1232 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/graphicspage.cpp
	apps/opencs/editor.cpp
	apps/opencs/model/doc/document.cpp
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
	apps/opencs/view/render/textoverlay.cpp
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/mwclass/creature.cpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwgui/inventorywindow.cpp
	apps/openmw/mwgui/loadingscreen.cpp
	apps/openmw/mwgui/mapwindow.cpp
	apps/openmw/mwgui/pickpocketitemmodel.cpp
	apps/openmw/mwgui/waitdialog.cpp
	apps/openmw/mwmechanics/combat.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwrender/globalmap.cpp
	apps/openmw/mwworld/physicssystem.cpp
	apps/openmw/mwworld/refdata.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	components/sdlutil/sdlinputwrapper.cpp
	extern/shiny/Main/Factory.cpp
	extern/shiny/Main/MaterialInstance.cpp
	extern/shiny/Main/Platform.cpp
	extern/shiny/Main/ShaderSet.cpp
10 years ago
scrawl 9d86e5b028 GetSpellEffects returns true for active abilities (Fixes #2530) 10 years ago
scrawl 8c810e3620 Move rng to components 10 years ago
dteviot 3f28634d1f 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.
10 years ago
scrawl 69676906ae Don't clear known spells when reading from the savegame
This is needed because the .ess format doesn't include the racial spells in the player's spell list.
10 years ago
scrawl f267497c03 Allow separate summoned creature instances for each spell ID (Fixes #2194) 10 years ago
scrawl 88a2e4c043 Graceful error handling for missing spells/factions (Fixes #1825, Bug #2176, Bug #2203) 10 years ago
MiroslavR 140013820b Fix invalidated iterator 10 years ago
MiroslavR 85aa237baf Implement removal of corprus spells 11 years ago
MiroslavR 2cbe17ca0a Make Spells::mCorprusSpells private 11 years ago
MiroslavR 26732bc228 Purge blight should not remove corprus 11 years ago
MiroslavR 96e7ff666d Implement saving/loading of corprus stats, remove redundant code 11 years ago
MiroslavR 3722c7adc3 Initial work on implementing corprus worsening effect 11 years ago
scrawl dfacf8c044 Change ActiveSpells to use ActorId 11 years ago
scrawl 6cc691115b Savegame: store most of CreatureStats 11 years ago
Thoronador 1b8c975d5b minor performance improvements in apps/openmw
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.

For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
11 years ago
scrawl b4230f716e Implement RemoveEffects instruction 11 years ago
scrawl 299690631f Implement SoulTrap magic effect 11 years ago
scrawl 686d9efac3 Bug #1060: Fix incorrect spell type checks 11 years ago
scrawl 4ed4c1e319 Add Vampirism and Sun Damage effects. Some fixes. 11 years ago
scrawl 0dc2e829dd Lots of cleanup. Implemented Absorb and Resist. Implemented several instant effects. Added hand VFX. 11 years ago
scrawl c73217627e Move code for listing effect sources to the spell management classes 11 years ago
scrawl 0b5f5351b5 Fix continuous FX getting removed instantly 11 years ago
scrawl ff7e4174f9 Fix some leftover code that still calculated random magnitude per spell rather than per effect. Major cleanup of InventoryStore: Magic effects are now updated when needed, rather than cached. Also allows to get rid of 'mutable' hacks and non-const method that should be const. Play sounds and particles when equipping a permanent enchantment item. 11 years ago
scrawl a57fbbb168 Fix wrong detection of diseases 12 years ago
Marc Zinnschlag 654cd3ab9b Issue #479: Use magnitude specified when adding disease 12 years ago
Marc Zinnschlag f4ee8e2642 Issue #479: Added additional magnitude parameter to known spells 12 years ago
Marc Zinnschlag be1334b202 disease tests 12 years ago
greye 620184a009 fix typos 12 years ago
greye 2057f5619e move ESMStore to MWWorld 12 years ago
greye 7606ebafd6 resolving conflicts, minor update 12 years ago
Marc Zinnschlag 4c39fefd1e Issue #107: World is accessed only through the interface class from now on; some include cleanup 13 years ago
scrawl 5412d6ed9e fixed a typo that prevented spells from getting added 13 years ago
Marc Zinnschlag e1997b7f04 Issue #256: added MagicEffects::add overload for EffectLists 13 years ago
Marc Zinnschlag 35f478071e Issue #255: deleted the old environment class and using the new one instead 13 years ago
Marc Zinnschlag 52c7ee3b6a moved selected spell from NpcStats to Spells 13 years ago
Marc Zinnschlag 77065390d7 simplifying Spells class 13 years ago
Marc Zinnschlag 750d79eaf0 added spell container class 13 years ago