Commit Graph

11 Commits (openmw-39)

Author SHA1 Message Date
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
dteviot 77a1d947cc extracted MWMechanics::getPlayer() 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
dteviot e197f5318b fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
10 years ago
Jordan Ayers 3bc91c66e6 Disease Check: Shorten the resistance calculations. 10 years ago
Jordan Ayers a9a0930b85 Disease check: Reuse corprus check from spells.hpp. 10 years ago
scrawl d8943aef2f Encapsulate magic effect magnitude (Feature #1489) 11 years ago
scrawl f43a10b7b9 Adjust disease contraction according to Hrnchamd's research 11 years ago
Marc Zinnschlag 367919200f moved CellRefList into a separate file 11 years ago
scrawl be2ebc5cac Closes #1081: Implement disease contraction 11 years ago