Commit graph

367 commits

Author SHA1 Message Date
Nathan Jeffords
fec9a59237 changed EMSLoader to use ConstrainedDataStream
Changed the EMSLoader class to use the ConstrainedDataStream so that
future changes may benifit from its increased performance.
2013-01-04 13:41:03 -08:00
Emanuel Guevel
02bf02f288 ESMReader, ESMWriter: use Utf8Encoder 2013-01-04 01:52:03 +01:00
Mark Siewert
d6377fb2e3 - Support deleting references from a plugin
- Add preliminary support for loading some unique fields appearing only in savegames
- Add a few lines required for supporting respawning references. Incomplete.
2013-01-03 18:51:04 +01:00
Marc Zinnschlag
334588bf1c Merge branch 'editor2' 2012-12-28 23:31:43 +01:00
Mark Siewert
049b0e66e0 - Restore ability to generate references in the same cell from multiple plugins
- Disable some code related to deleting entries in the store so that it builds again
2012-12-25 20:27:30 +01:00
lazydev
74ae479780 Cell names localization fix 2012-12-23 23:23:24 +04:00
Thoronador
5a7a8629b6 remove unnecessary include directive 2012-12-17 23:20:43 +01:00
Thoronador
32f051d61d Remove 'GMST fixing' for dirty GMST records
The 'fixing' for so-called dirty GMSTs does not work properly in its
current state anyway, so it should be removed. Fixing the 'GMST fixing'
might not be possible, because whether or not a GMST is 'dirty' depends
on the language version of MW. Therefore different 'fixing' algorithms
would be required for the different MW localisations, and I do not see
a good reason why GMST values should be hard-coded in the GMST load
procedure. In my opinion, it only clutters the code.

Last but not least, I believe that it is not the task of the engine to
clean ESM files from dirty entries. That is a job for the modders, who
should only release clean ESM/ESP files in the first place. The engine
should not need to worry about whether a file is 'dirty' or not.

That is why I believe a feature for cleaning ESM/ESP files shall not be
part of the engine.
2012-12-17 23:13:33 +01:00
Marc Zinnschlag
5cd2fe00ab initialise blank global records 2012-12-03 22:16:02 +01:00
Marc Zinnschlag
8a09e03d5c global variable editing (no undo support yet) 2012-11-29 14:45:34 +01:00
Marc Zinnschlag
ef9575498f basic (non-editable) subview for global variables 2012-11-26 12:29:22 +01:00
Mark Siewert
b103426cf0 - Partially reimplement deleting objects defined in a parent esX file.
- Try to reimplement multiple esX files dropping references in the same file.
NOTE: None of these features works. Maybe the code itself does not build. Anyway, after 12 hours of hacking, I am just tired and want to get a snapshot of the code out.
2012-11-25 19:07:16 +01:00
Mark Siewert
896ab44d1e - Add some updated files missing from last commit.
- Move plugin dependency test from esmreader.cpp to esmstpre.cpp; fixes crash in omwlauncher.
2012-11-25 17:19:29 +01:00
Mark Siewert
8ea9f00e6f Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
Conflicts:
	apps/openmw/mwrender/terrain.cpp
	apps/openmw/mwworld/cells.cpp
	apps/openmw/mwworld/cells.hpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/cellstore.hpp
	apps/openmw/mwworld/containerstore.cpp
	apps/openmw/mwworld/localscripts.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm_store/reclists.hpp
	components/esm_store/store.cpp
	extern/shiny

- Re-implement some patches that were broken by the removal of reclists.hpp and store.cpp/.hpp.
- NOTE: Not everything works as before, I'll have to test some more stuff before we are back to where we were.
2012-11-25 14:12:44 +01:00
Mark Siewert
31fb715bd7 - Add support for moving existing references by plugin files. No cell changing yet.
- Change CellRefList::list from list<> to map<int,> so we can identify live references by their Refnumber.
- Introduce ContainerRefList, a clone of the original CellRefList. It is now used for containers, which do not track Refnumbers.
- Many small tweaks so that the new CellRefList does not conflict with existing code.
2012-11-17 21:50:25 +01:00
Mark Siewert
2175f13b67 - Add tracking for dependencies between plugins.
- Add reference number mangling required for moving references around.
2012-11-17 00:21:51 +01:00
scrawl
5f7d349126 several missing includes 2012-11-14 05:32:23 +01:00
Mark Siewert
42eefaf36f - Add support for loading references from multiple esm/esp files. Full reference ID mangling coming soon (currently, moved references are simply cloned).
- Reference loader now (partially) supports MVRF tag.
2012-11-10 21:43:41 +01:00
Marc Zinnschlag
75f64aa38b Merge branch 'master' into dialogue
Conflicts:
	apps/openmw/mwdialogue/dialoguemanagerimp.hpp
	apps/openmw/mwmechanics/npcstats.cpp
	apps/openmw/mwmechanics/npcstats.hpp
2012-11-10 15:44:44 +01:00
greye
b1ef0026a9 race selection/inventory preview character model update 2012-11-10 11:41:12 +04:00
greye
c3f0dc0dfb m prefix for NpcAnimation members 2012-11-08 23:11:43 +04:00
Marc Zinnschlag
662054acf4 Issue #219: moved checks for various dialogue info fields from DialogueManager to Filter 2012-11-08 14:55:31 +01:00
Mark Siewert
7f77bf76c7 - Add support for multiple esm contexts in cell store. This will allow to generate references from multiple esX files. Currently, only the first context is used.
- Add many TODOs to mark points where more work is required to fully implement this feature.
2012-11-06 22:13:19 +01:00
Mark Siewert
64c08eada4 Merge remote-tracking branch 'upstream/next' into multiple_esm_esp 2012-11-06 20:37:29 +01:00
greye
8691eac557 resolve Script::mData.mName -> mId, resolve moving ESMStore 2012-11-05 17:41:36 +04:00
greye
5ac54d1fff alter ESM::Script for storing id as std::string 2012-11-05 17:18:01 +04:00
greye
d5628c678f add mId field to every record indexed by id 2012-11-05 17:18:01 +04:00
greye
f0a3ee0ef9 gmst id should be lowercase, wipe RecIdListT 2012-11-05 17:14:02 +04:00
Marc Zinnschlag
510674aa5e Merge branch 'master' into alchemy
Conflicts:
	components/esm/loadmgef.hpp
2012-10-18 14:37:05 +02:00
Marc Zinnschlag
5fbca239dd Issue #61: potion creation (1st part; still missing some implementations) 2012-10-18 14:02:06 +02:00
scrawl
1a2034b4dd training window 2012-10-17 18:03:02 +02:00
Marc Zinnschlag
e05e683da3 Merge remote-tracking branch 'scrawl/spellcreation' 2012-10-12 17:19:30 +02:00
scrawl
8ccb0907e6 assertion -> exception; added the old effect flags again 2012-10-12 14:26:10 +02:00
Marc Zinnschlag
3fd887c030 silenced some warnings 2012-10-09 17:11:41 +02:00
Marc Zinnschlag
35d099a638 disabling gcc extensions 2012-10-09 17:10:25 +02:00
Mark Siewert
1f961d575e Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
Conflicts:
	apps/openmw/mwrender/terrain.cpp
	components/esm/loadland.hpp
	components/esm_store/reclists.hpp
2012-10-07 20:35:54 +02:00
Mark Siewert
28d4d7ea3f Manually convert last changes in branch to upstream/master. Regular merge attempt resulted in everything being overwritten by fast-forward merging.
- Remove check for 255 master/plugin files.
2012-10-07 20:00:55 +02:00
scrawl
21493c2dbd added magic effect flags from Research wiki page 2012-10-01 23:33:07 +02:00
greye
31f7325e1f fix land loading 2012-10-01 15:46:32 +04:00
greye
93078bb0dc move record ids to defs.hpp 2012-10-01 00:55:27 +04:00
greye
3494e17b7c wipe record superclass 2012-10-01 00:51:54 +04:00
greye
2fa4ac177a initial resolving 2012-10-01 00:23:49 +04:00
greye
721324c1db rm record inheritance, rework esmtool accordingly 2012-09-30 23:34:53 +04:00
scrawl
d163f8203c change books to RecListWithIDT 2012-09-25 21:38:34 +02:00
greye
1339787863 remove underscores from filenames in esm 2012-09-23 23:12:10 +04:00
greye
7368e7b655 rename getASCII() to getLegacyEnc() 2012-09-23 22:20:18 +04:00
greye
c54750977f remove underscores in guards 2012-09-23 22:11:08 +04:00
scrawl
872fcf3e3d sleeping restoration of health, magicka, and fatigue 2012-09-21 17:53:16 +02:00
greye
18cc435aa1 resolving conflicts 2012-09-21 13:13:11 +04:00
greye
09195894cf restore INGR and MGEF 2012-09-21 12:30:08 +04:00