1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-28 14:53:58 +00:00

2306 Commits

Author SHA1 Message Date
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
2015-12-19 18:50:07 +11:00
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
2015-12-19 17:54:45 +11:00
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.
2015-12-19 17:39:02 +11:00
cc9cii
19af94b73e Reduce copying further by adding move constructors and move assignment operators to CellRef structs. 2015-12-06 15:20:45 +11:00
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 35fa1f5865bcb8370505f0a2b641c8363024c8a7)
2015-12-05 18:14:55 +11:00
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 27e669296e54621472ed5578103ad4306f8a94a9)
2015-12-05 18:11:21 +11:00
scrawl
0eca29eb62 Ignore Creature INDX subrecords
Found in some .ess files, not sure what they mean.

(cherry picked from commit 0bdfd1b0d7c625eb8cd82bb402f3c6c9a528515b)
2015-12-05 17:42:58 +11:00
cc9cii
1334091613 Resolve merge issues. 2015-12-05 17:28:32 +11:00
scrawl
c221be76dc Tests: add dialogue_merging_test (requires some data files)
(cherry picked from commit 38c155c579342f8748e3c93f531be1f1da91784a)
2015-12-05 11:26:24 +11:00
scrawl
41ee50c2b7 Move common subrecord definitions (NAME, DELE) to defs.hpp
(cherry picked from commit fc8e40889df58bc18a54082799699c6151d41343)
2015-12-05 11:25:14 +11:00
Stanislav Bas
d789d9369c Make saving of deleted ESM records more consistent
(cherry picked from commit f9b0b7ede5eb2bc8ef62fce47c495247b04ebd78)
2015-12-05 11:24:21 +11:00
Stanislav Bas
3821bffbfa Fix missing break in switch statement
(cherry picked from commit 9a8ca819073e54406daafd04319299429c089c4e)
2015-12-05 11:24:09 +11:00
Stanislav Bas
2abdeef2e0 Remove unused includes
(cherry picked from commit daaff1284e26d13358b130d7b44721ced210066d)

Conflicts:
	apps/openmw/mwworld/store.cpp
	components/esm/util.hpp
2015-12-05 11:23:57 +11:00
Stanislav Bas
82363bf318 Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records
(cherry picked from commit 4a16eba716d6795bb9aadc492c4417d1a05828ef)

Conflicts:
	components/esm/loadland.cpp
	components/esm/loadland.hpp
2015-12-05 11:20:31 +11:00
Stanislav Bas
7013ba751c Fix build errors & warnings
(cherry picked from commit 1e8182220ae7c14de13ab634c82f2b14444c0e69)
2015-12-05 11:19:22 +11:00
Stanislav Bas
d12f784e7e Remove <cstdint> include file from loaddial.cpp
(cherry picked from commit f5745749a6e7875c487ac417dead00446af805c2)
2015-12-05 11:19:11 +11:00
Stanislav Bas
696f7a942b Some refactoring. Remove unused code
(cherry picked from commit 5fd48efd28e45336a03f5ee2f5b68f799159650e)

Conflicts:
	apps/openmw/mwworld/store.cpp
2015-12-05 09:46:20 +11:00
Stanislav Bas
b5c958c62a More ESM records have DELE handling.
Changed records: Race, Land, Pathgrid, StartScript, DebugProfile, Filter

(cherry picked from commit e65ff723ce6e71da7d00e68820250682512418c1)

Conflicts:
	components/esm/loadland.cpp
	components/esm/loadland.hpp
2015-12-05 09:17:40 +11:00
Stanislav Bas
8b7b3d2a4e Refine DELE handling in ESM records. Add position-independent DELE search
(cherry picked from commit ad353e6dd0b41e388e2ec3fbcc4bf15d1ef71e57)
2015-12-05 07:20:36 +11:00
Stanislav Bas
3686c1e32d Move DELE handling to CellRef record
(cherry picked from commit e8a9567be30fb35e78e252bf52e95bcebe76a109)
2015-12-05 07:20:09 +11:00
Stanislav Bas
82e1b0563c Add NAME handling to DebugProfile and Filter records
(cherry picked from commit b55a4999caf2150afa6bc26d3ccc303a684131a0)
2015-12-05 07:19:32 +11:00
Stanislav Bas
72152d84ed Move ID loading into a separate method for Dialogue and DialInfo records
(cherry picked from commit c8c79dc1efa5682c52ead7221628812638a55fed)

Conflicts:
	apps/openmw/mwworld/store.cpp
2015-12-05 07:19:07 +11:00
Stanislav Bas
d518d70212 Remove NAME and DELE handling from IdCollection
(cherry picked from commit 74a055f3ccbe25e50d2947d6fe639a84e3138ec7)
2015-12-05 07:18:39 +11:00
Stanislav Bas
377d606fc3 Load/read methods in MWWorld::Store return a pair (record ID, deleted flag)
(cherry picked from commit c266315a355480ad6e4bc665e5d4150c6c8de8f3)

Conflicts:
	apps/openmw/mwworld/store.cpp
	apps/openmw/mwworld/store.hpp
2015-12-05 07:17:56 +11:00
Stanislav Bas
2448aa05cb Add removing of deleted Infos to Dialogue::clearDeletedInfos()
(cherry picked from commit adec0cb61df161e4bb25d0387d7a1ecde21363cb)
2015-12-05 07:09:23 +11:00
Stanislav Bas
25a8cda9ac Some fixes for ESM Dialogues and Infos
(cherry picked from commit e0983c815c32c9b79d340100ab2b4b6750820554)
2015-12-05 07:09:05 +11:00
Stanislav Bas
80074f90bf Set Deleted flag to false when initializing ESM records
(cherry picked from commit 7ecb54a776a298bee470397c40ce64945a2b0174)
2015-12-05 07:08:50 +11:00
Stanislav Bas
e0d5208d26 Remove explicit record ID in load/read methods of MWWorld::Store
(cherry picked from commit 89e44c8f1fcb02a0ea78b468402a2c8e96d5465c)
2015-12-05 07:07:14 +11:00
Stanislav Bas
c4fd4be3ea Add NAME handling to GameSetting record
(cherry picked from commit b2f3ccb080b459f212280cc2565110a0343645ec)
2015-12-05 07:05:41 +11:00
Stanislav Bas
711d787939 Add NAME and DELE handling to Global record
(cherry picked from commit 09a33580170076f14b2d46d72ad93d60fe52fc07)
2015-12-05 07:05:28 +11:00
Stanislav Bas
1aa1336dcf Remove redundant code
(cherry picked from commit 30b42bf4c0a3c953703987ec333bd89ecd667f7e)
2015-12-05 07:00:07 +11:00
Stanislav Bas
4f1601fe0d Add NAME handling to Race record
(cherry picked from commit 8c3654af11e21ec8ca068c1581e69de707000f67)
2015-12-05 06:59:53 +11:00
Stanislav Bas
7dc0c9138f Add NAME and DELE handling to Cell record
(cherry picked from commit b667338a8fe5ffb78bc28151948f31e03dc99407)
2015-12-05 06:59:39 +11:00
Stanislav Bas
8c77cafc35 Add DELE handling to Info record
(cherry picked from commit 847614c26f372d5483bb96a3b30e90dd9358b28f)
2015-12-05 06:59:24 +11:00
Stanislav Bas
d89de1ba30 Add NAME and DELE handling to Dialogue record
(cherry picked from commit 0b537186e5b513cf7d6045a7c88e8c6b4d4afc7c)
2015-12-05 06:59:12 +11:00
Stanislav Bas
93736e9a81 Change DELE sub-record value to 0 (4 bytes)
(cherry picked from commit 19ac4e942a9efb329143415a46aabaaf51cbe8ef)
2015-12-05 06:59:01 +11:00
Stanislav Bas
1b21d1b5f7 Add NAME and DELE handling to Script record
(cherry picked from commit d2c15647a3f1a03ad3c34dd7eaf6fe6cfbcd35ab)
2015-12-05 06:58:47 +11:00
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 9ac20a33552e61182dbb90c5e2f0b34683720583)
2015-12-05 06:58:34 +11:00
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 926c825d0c7f0a373fb6bd22d88d0df850407f3c)

Conflicts:
	components/esm/loadstat.cpp
	components/esm/loadstat.hpp
	components/esm/util.hpp
2015-12-05 06:58:16 +11:00
Marc Zinnschlag
70cb6f0238 fixed an interference with script warning mode and error downgrading (Fixes #2990)
(cherry picked from commit b61b732207e9ec5e48023987e368156375916b57)
2015-12-05 06:40:10 +11:00
scrawl
368dd9bd8d Compiler: remove unused mNameStartingWithDigit
(cherry picked from commit f7d0d06134c8b82c5142451d9ff256c1effcce74)
2015-12-05 06:34:32 +11:00
Marc Zinnschlag
aa31704d5d deal with script execution from within a script (Fixes #2964)
(cherry picked from commit 8eb6d337d556dce2f64698ac30ad0df881bf84e0)
2015-11-01 22:48:38 +11:00
Marc Zinnschlag
4677560859 adjusted a workaround for names starting with digits that interfered with some numerical expressions written without spaces
(cherry picked from commit 435e52306a0b1a7ef4cf7059bbc388b3262d2631)
2015-11-01 21:37:30 +11:00
Marc Zinnschlag
c5235ea794 removed a redundant else and made unary + work also in the console
(cherry picked from commit ae54f34f25ce08a2abc5ee9a162292940d256c84)
2015-11-01 21:37:14 +11:00
Emmanuel Anne
890405bdb1 scripts: recognize '+' also as a unary operator
it fixes the armor sorter in "Blades safe house.esp"

(cherry picked from commit dace7ab7060c47155d70170a091b465c8b3b2688)
2015-11-01 21:37:01 +11:00
scrawl
fcb9068c19 Fix tab indentations in apps/ and components/
(cherry picked from commit a47617c21f11c33e10b8a635292c3b1a4d8d5769)

Conflicts:
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwmechanics/aicombat.cpp
	apps/openmw/mwphysics/physicssystem.cpp
2015-11-01 21:34:23 +11:00
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 4d94f38f4b7255fd1abbcdc8d2bd388e604bec04)
2015-11-01 21:33:37 +11:00
cc9cii
148ccb79e8 Set default creature scale to 1. Partially resolves bug #2880. (no creature verifier yet)
(cherry picked from commit 192f01e3ac5db4f0d1d9d78c2a419b274f307bb1)
2015-11-01 21:32:57 +11:00
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 45aee1b5088cb110e06540356670b806887f7372)

Conflicts:
	apps/opencs/model/world/refidadapterimp.hpp
2015-11-01 21:32:34 +11:00
scrawl
c0f21bfb77 Add some comments to ESM::Land
(cherry picked from commit 5252dbcf1f4dc311419ca9f7d5f32a765771d1e0)

Conflicts:
	components/esm/loadland.hpp
2015-11-01 19:08:52 +11:00