Commit 56c94fda authored by bret curtis's avatar bret curtis

Imported Upstream version 0.40.0

parent cbcb0cac
......@@ -10,7 +10,6 @@ prebuilt
## doxygen
Doxygen
!docs/cs-manual/Makefile
## ides/editors
*~
......@@ -22,6 +21,7 @@ Doxygen
.project
.settings
.directory
.idea
## qt-creator
CMakeLists.txt.user*
......@@ -34,15 +34,36 @@ resources
## binaries
/esmtool
/mwiniimport
/omwlauncher
/openmw
/opencs
/niftest
/bsatool
/openmw-cs
/openmw-essimporter
/openmw-iniimporter
/openmw-launcher
/openmw-wizard
## generated objects
apps/openmw/config.hpp
apps/launcher/ui_contentselector.h
apps/launcher/ui_settingspage.h
apps/opencs/ui_contentselector.h
apps/opencs/ui_filedialog.h
apps/wizard/qrc_wizard.cxx
apps/wizard/ui_componentselectionpage.h
apps/wizard/ui_conclusionpage.h
apps/wizard/ui_existinginstallationpage.h
apps/wizard/ui_importpage.h
apps/wizard/ui_installationpage.h
apps/wizard/ui_installationtargetpage.h
apps/wizard/ui_intropage.h
apps/wizard/ui_languageselectionpage.h
apps/wizard/ui_methodselectionpage.h
components/ui_contentselector.h
docs/mainpage.hpp
docs/Doxyfile
docs/DoxyfilePages
moc_*.cxx
*.cxx_parameters
*qrc_launcher.cxx
......@@ -54,3 +75,6 @@ moc_*.cxx
*ui_playpage.h
*.[ao]
*.so
gamecontrollerdb.txt
openmw.appdata.xml
venv/
......@@ -18,12 +18,17 @@ Programmers
Aleksandar Jovanov
Alex Haddad (rainChu)
Alex McKibben (WeirdSexy)
alexanderkjall
Alexander Nadeau (wareya)
Alexander Olofsson (Ace)
Allofich
AnyOldName3
Austin Salgat (Salgat)
Artem Kotsynyak (greye)
artemutin
Arthur Moore (EmperorArthur)
athile
Ben Shealy (bentsherman)
Bret Curtis (psi29a)
Britt Mathis (galdor557)
cc9cii
......@@ -84,6 +89,7 @@ Programmers
Michael Mc Donnell
Michael Papageorgiou (werdanith)
Michał Bień (Glorf)
Michał Moroz (dragonee)
Miroslav Puda (pakanek)
MiroslavR
naclander
......@@ -93,19 +99,20 @@ Programmers
Nikolay Kasyanov (corristo)
nobrakal
Nolan Poe (nopoe)
Oleg Chkan (mrcheko)
Paul Cercueil (pcercuei)
Paul McElroy (Greendogo)
Pi03k
Pieter van der Kloet (pvdk)
pkubik
Radu-Marius Popovici (rpopovici)
rcutmore
rdimesio
riothamus
Rob Cutmore (rcutmore)
Robert MacGregor (Ragora)
Rohit Nirmal
Roman Melnik (Kromgart)
Roman Proskuryakov (humbug)
Roman Proskuryakov (kpp)
Sandy Carter (bwrsandman)
Scott Howard
Sebastian Wick (swick)
......@@ -114,6 +121,7 @@ Programmers
smbas
Stefan Galowicz (bogglez)
Stanislav Bobrov (Jiub)
svaante
Sylvain Thesnieres (Garvek)
t6
terrorfisch
......
0.40.0
------
Bug #1320: AiWander - Creatures in cells without pathgrids do not wander
Bug #1873: Death events are triggered at the beginning of the death animation
Bug #1996: Resting interrupts magic effects
Bug #2399: Vampires can rest in broad daylight and survive the experience
Bug #2604: Incorrect magicka recalculation
Bug #2721: Telekinesis extends interaction range where it shouldn't
Bug #2981: When waiting, NPCs can go where they wouldn't go normally.
Bug #3045: Esp files containing the letter '#' in the file name cannot be loaded on startup
Bug #3071: Slowfall does not stop momentum when jumping
Bug #3085: Plugins can not replace parent cell references with a cell reference of different type
Bug #3145: Bug with AI Cliff Racer. He will not attack you, unless you put in front of him.
Bug #3149: Editor: Weather tables were missing from regions
Bug #3201: Netch shoots over your head
Bug #3269: If you deselect a mod and try to load a save made inside a cell added by it, you end bellow the terrain in the grid 0/0
Bug #3286: Editor: Script editor tab width
Bug #3329: Teleportation spells cause crash to desktop after build update from 0.37 to 0.38.0
Bug #3331: Editor: Start Scripts table: Adding a script doesn't refresh the list of Start Scripts and allows to add a single script multiple times
Bug #3332: Editor: Scene view: Tool tips only occur when holding the left mouse button
Bug #3340: ESS-Importer does not separate item stacks
Bug #3342: Editor: Creation of pathgrids did not check if the pathgrid already existed
Bug #3346: "Talked to PC" is always 0 for "Hello" dialogue
Bug #3349: AITravel doesn't repeat
Bug #3370: NPCs wandering to invalid locations after training
Bug #3378: "StopCombat" command does not function in vanilla quest
Bug #3384: Battle at Nchurdamz - Larienna Macrina does not stop combat after killing Hrelvesuu
Bug #3388: Monster Respawn tied to Quicksave
Bug #3390: Strange visual effect in Dagoth Ur's chamber
Bug #3391: Inappropriate Blight weather behavior at end of main quest
Bug #3394: Replaced dialogue inherits some of its old data
Bug #3397: Actors that start the game dead always have the same death pose
Bug #3401: Sirollus Saccus sells not glass arrows
Bug #3402: Editor: Weapon data not being properly set
Bug #3405: Mulvisic Othril will not use her chitin throwing stars
Bug #3407: Tanisie Verethi will immediately detect the player
Bug #3408: Improper behavior of ashmire particles
Bug #3412: Ai Wander start time resets when saving/loading the game
Bug #3416: 1st person and 3rd person camera isn't converted from .ess correctly
Bug #3421: Idling long enough while paralyzed sometimes causes character to get stuck
Bug #3423: Sleep interruption inside dungeons too agressive
Bug #3424: Pickpocketing sometimes won't work
Bug #3432: AiFollow / AiEscort durations handled incorrectly
Bug #3434: Dead NPC's and Creatures still contribute to sneak skill increases
Bug #3437: Weather-conditioned dialogue should not play in interiors
Bug #3439: Effects cast by summon stick around after their death
Bug #3440: Parallax maps looks weird
Bug #3443: Class graphic for custom class should be Acrobat
Bug #3446: OpenMW segfaults when using Atrayonis's "Anthology Solstheim: Tomb of the Snow Prince" mod
Bug #3448: After dispelled, invisibility icon is still displayed
Bug #3453: First couple of seconds of NPC speech is muted
Bug #3455: Portable house mods lock player and npc movement up exiting house.
Bug #3456: Equipping an item will undo dispel of constant effect invisibility
Bug #3458: Constant effect restore health doesn't work during Wait
Bug #3466: It is possible to stack multiple scroll effects of the same type
Bug #3471: When two mods delete the same references, many references are not disabled by the engine.
Bug #3473: 3rd person camera can be glitched
Feature #1424: NPC "Face" function
Feature #2974: Editor: Multiple Deletion of Subrecords
Feature #3044: Editor: Render path grid v2
Feature #3362: Editor: Configurable key bindings
Feature #3375: Make sun / moon reflections weather dependent
Feature #3386: Editor: Edit pathgrid
0.39.0
------
......
......@@ -376,12 +376,7 @@ printf "Bullet 2.83.5... "
mv Bullet-2.83.5-win$BITS Bullet
fi
BULLET_SDK="`real_pwd`/Bullet"
add_cmake_opts -DBULLET_INCLUDE_DIR="$BULLET_SDK/include/bullet" \
-DBULLET_COLLISION_LIBRARY="$BULLET_SDK/lib/BulletCollision.lib" \
-DBULLET_COLLISION_LIBRARY_DEBUG="$BULLET_SDK/lib/BulletCollision_Debug.lib" \
-DBULLET_MATH_LIBRARY="$BULLET_SDK/lib/LinearMath.lib" \
-DBULLET_MATH_LIBRARY_DEBUG="$BULLET_SDK/lib/LinearMath_Debug.lib"
export BULLET_ROOT="`real_pwd`/Bullet"
echo Done.
}
......@@ -405,22 +400,7 @@ printf "FFmpeg 2.5.2... "
rm -rf ffmpeg-2.5.2-win$BITS-dev
fi
FFMPEG_SDK="`real_pwd`/FFmpeg"
add_cmake_opts -DAVCODEC_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DAVCODEC_LIBRARIES="$FFMPEG_SDK/lib/avcodec.lib" \
-DAVDEVICE_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DAVDEVICE_LIBRARIES="$FFMPEG_SDK/lib/avdevice.lib" \
-DAVFORMAT_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DAVFORMAT_LIBRARIES="$FFMPEG_SDK/lib/avformat.lib" \
-DAVUTIL_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DAVUTIL_LIBRARIES="$FFMPEG_SDK/lib/avutil.lib" \
-DPOSTPROC_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DPOSTPROC_LIBRARIES="$FFMPEG_SDK/lib/postproc.lib" \
-DSWRESAMPLE_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DSWRESAMPLE_LIBRARIES="$FFMPEG_SDK/lib/swresample.lib" \
-DSWSCALE_INCLUDE_DIRS="$FFMPEG_SDK/include" \
-DSWSCALE_LIBRARIES="$FFMPEG_SDK/lib/swscale.lib"
export FFMPEG_HOME="`real_pwd`/FFmpeg"
add_runtime_dlls `pwd`/FFmpeg/bin/{avcodec-56,avformat-56,avutil-54,swresample-1,swscale-3}.dll
if [ $BITS -eq 32 ]; then
......@@ -673,6 +653,19 @@ if [ -z $CI ]; then
cp "$DLL" $CONFIGURATION/osgPlugins-3.3.8
done
echo
echo "Copying Runtime Resources/Config Files"
echo " gamecontrollerdb.txt"
cp $CONFIGURATION/../gamecontrollerdb.txt $CONFIGURATION/gamecontrollerdb.txt
echo " openmw.cfg"
cp $CONFIGURATION/../openmw.cfg.install $CONFIGURATION/openmw.cfg
echo " openmw-cs.cfg"
cp $CONFIGURATION/../openmw-cs.cfg $CONFIGURATION/openmw-cs.cfg
echo " settings-default.cfg"
cp $CONFIGURATION/../settings-default.cfg $CONFIGURATION/settings-default.cfg
echo " resources/"
cp -r $CONFIGURATION/../resources $CONFIGURATION/resources
fi
exit $RET
......@@ -10,7 +10,6 @@ mkdir build
cd build
cmake \
-D PKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON \
-D CMAKE_EXE_LINKER_FLAGS="-lz" \
-D CMAKE_PREFIX_PATH="$DEPENDENCIES_ROOT;$QT_PATH" \
-D CMAKE_OSX_DEPLOYMENT_TARGET="10.8" \
......
......@@ -25,7 +25,7 @@ endif()
message(STATUS "Configuring OpenMW...")
set(OPENMW_VERSION_MAJOR 0)
set(OPENMW_VERSION_MINOR 39)
set(OPENMW_VERSION_MINOR 40)
set(OPENMW_VERSION_RELEASE 0)
set(OPENMW_VERSION_COMMITHASH "")
......@@ -76,6 +76,14 @@ option(BUILD_WITH_CODE_COVERAGE "Enable code coverage with gconv" OFF)
option(BUILD_UNITTESTS "Enable Unittests with Google C++ Unittest" OFF)
option(BUILD_NIFTEST "build nif file tester" OFF)
option(BUILD_MYGUI_PLUGIN "build MyGUI plugin for OpenMW resources, to use with MyGUI tools" ON)
option(BUILD_DOCS "build documentation." OFF )
# what is necessary to build documentation
IF( BUILD_DOCS )
# Builds the documentation.
FIND_PACKAGE( Sphinx REQUIRED )
FIND_PACKAGE( Doxygen REQUIRED )
ENDIF()
# OS X deployment
option(OPENMW_OSX_DEPLOYMENT OFF)
......@@ -140,40 +148,28 @@ if (USE_QT)
endif()
endif()
if (USE_QT AND DESIRED_QT_VERSION MATCHES 5)
# 2.8.11+ is required to make Qt5 happy and allow linking QtMain on Windows.
cmake_minimum_required(VERSION 2.8.11)
if (APPLE)
# OS X build process relies on this fix: https://github.com/Kitware/CMake/commit/3df5147043d83aa09acd5c9ce31d5c602efb99db
cmake_minimum_required(VERSION 3.1.0)
elseif (USE_QT AND DESIRED_QT_VERSION MATCHES 5)
# 2.8.11+ is required to make Qt5 happy and allow linking QtMain on Windows.
cmake_minimum_required(VERSION 2.8.11)
else()
# We probably support older versions than this.
cmake_minimum_required(VERSION 2.6)
# We probably support older versions than this.
cmake_minimum_required(VERSION 2.6)
endif()
# Sound setup
unset(FFMPEG_LIBRARIES CACHE)
find_package(FFmpeg REQUIRED)
set (FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${SWSCALE_LIBRARY} ${SWRESAMPLE_LIBRARIES})
if ( NOT AVCODEC_FOUND OR NOT AVFORMAT_FOUND OR NOT AVUTIL_FOUND OR NOT SWSCALE_FOUND OR NOT SWRESAMPLE_FOUND)
message(FATAL_ERROR "FFmpeg component required, but not found!")
endif()
find_package(FFmpeg REQUIRED COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE SWRESAMPLE)
# Required for building the FFmpeg headers
add_definitions(-D__STDC_CONSTANT_MACROS)
# TinyXML
option(USE_SYSTEM_TINYXML "Use system TinyXML library instead of internal." OFF)
if(USE_SYSTEM_TINYXML)
find_library(TINYXML_LIBRARIES tinyxml)
find_path(TINYXML_INCLUDE_DIR tinyxml.h)
message(STATUS "Found TinyXML: ${TINYXML_LIBRARIES} ${TINYXML_INCLUDE_DIR}")
if (USE_SYSTEM_TINYXML)
find_package(TinyXML REQUIRED)
add_definitions (-DTIXML_USE_STL)
if(TINYXML_LIBRARIES AND TINYXML_INCLUDE_DIR)
include_directories(${TINYXML_INCLUDE_DIR})
message(STATUS "Using system TinyXML library.")
else()
message(FATAL_ERROR "Detection of system TinyXML incomplete.")
endif()
include_directories(SYSTEM ${TinyXML_INCLUDE_DIRS})
endif()
# Platform specific
......@@ -190,6 +186,11 @@ if (WIN32)
add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN)
endif()
if (NOT WIN32 AND BUILD_WIZARD) # windows users can just run the morrowind installer
find_package(LIBUNSHIELD REQUIRED) # required only for non win32 when building openmw-wizard
set(OPENMW_USE_UNSHIELD TRUE)
endif()
option(OPENGL_ES "enable opengl es support" FALSE )
if (OPENGL_ES)
......@@ -209,12 +210,6 @@ if(NOT HAVE_STDINT_H)
message(FATAL_ERROR "stdint.h was not found" )
endif()
include (CheckIncludeFileCXX)
check_include_file_cxx(unordered_map HAVE_UNORDERED_MAP)
if (HAVE_UNORDERED_MAP)
add_definitions(-DHAVE_UNORDERED_MAP)
endif ()
set(BOOST_COMPONENTS system filesystem program_options thread)
if(WIN32)
......@@ -235,6 +230,7 @@ if(OSG_STATIC)
# For now, users wishing to do a static build will need to pass the path to where the plugins reside
# More clever logic would need to deduce the path, probably installed under <OpenSceneGraph>/lib/osgPlugins-<X.X.X>
include(FindPkgMacros)
find_library(${PLUGIN_NAME}_LIBRARY_REL NAMES ${PLUGIN_NAME} HINTS ${OSG_PLUGIN_LIB_SEARCH_PATH})
find_library(${PLUGIN_NAME}_LIBRARY_DBG NAMES ${PLUGIN_NAME_DBG} HINTS ${OSG_PLUGIN_LIB_SEARCH_PATH})
make_library_set(${PLUGIN_NAME}_LIBRARY)
......@@ -246,12 +242,6 @@ if(OSG_STATIC)
set(OPENSCENEGRAPH_LIBRARIES ${OPENSCENEGRAPH_LIBRARIES} ${${PLUGIN_NAME}_LIBRARY})
endmacro()
macro(use_static_osg_plugin_dep DEPENDENCY)
find_package(${DEPENDENCY} REQUIRED)
set(OPENSCENEGRAPH_LIBRARIES ${OPENSCENEGRAPH_LIBRARIES} ${${DEPENDENCY}_LIBRARIES})
endmacro()
add_definitions(-DOSG_LIBRARY_STATIC)
set(PLUGIN_LIST
......@@ -272,6 +262,11 @@ if(OSG_STATIC)
JPEG # needed by osgdb_jpeg
)
macro(use_static_osg_plugin_dep DEPENDENCY)
find_package(${DEPENDENCY} REQUIRED)
set(OPENSCENEGRAPH_LIBRARIES ${OPENSCENEGRAPH_LIBRARIES} ${${DEPENDENCY}_LIBRARIES})
endmacro()
foreach(DEPENDENCY ${PLUGIN_DEPS_LIST})
use_static_osg_plugin_dep(${DEPENDENCY})
endforeach()
......@@ -295,10 +290,7 @@ endif()
find_package(Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS})
find_package(SDL2 REQUIRED)
find_package(OpenAL REQUIRED)
find_package(Bullet REQUIRED)
if (NOT BULLET_FOUND OR BULLET_VERSION VERSION_LESS 283)
message(FATAL_ERROR "OpenMW requires Bullet version 2.83 or later")
endif()
find_package(Bullet 283 REQUIRED COMPONENTS BulletCollision LinearMath)
include_directories("."
SYSTEM
......@@ -306,7 +298,7 @@ include_directories("."
${Boost_INCLUDE_DIR}
${MYGUI_INCLUDE_DIRS}
${OPENAL_INCLUDE_DIR}
${BULLET_INCLUDE_DIRS}
${Bullet_INCLUDE_DIRS}
)
link_directories(${SDL2_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS} ${MYGUI_LIB_DIR})
......@@ -376,18 +368,14 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wundef -Wno-unused-parameter -std=c++98 -pedantic -Wno-long-long")
if (CMAKE_CXX_COMPILER_ID STREQUAL Clang AND NOT APPLE)
execute_process(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE CLANG_VERSION)
string(REGEX REPLACE ".*version ([0-9\\.]*).*" "\\1" CLANG_VERSION ${CLANG_VERSION})
if ("${CLANG_VERSION}" VERSION_GREATER 3.6 OR "${CLANG_VERSION}" VERSION_EQUAL 3.6)
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.6 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 3.6)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-potentially-evaluated-expression")
endif ("${CLANG_VERSION}" VERSION_GREATER 3.6 OR "${CLANG_VERSION}" VERSION_EQUAL 3.6)
endif(CMAKE_CXX_COMPILER_ID STREQUAL Clang AND NOT APPLE)
endif ()
endif()
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
OUTPUT_VARIABLE GCC_VERSION)
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU AND "${GCC_VERSION}" VERSION_GREATER 4.6 OR "${GCC_VERSION}" VERSION_EQUAL 4.6)
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.6 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.6)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-but-set-parameter")
endif(CMAKE_CXX_COMPILER_ID STREQUAL GNU AND "${GCC_VERSION}" VERSION_GREATER 4.6 OR "${GCC_VERSION}" VERSION_EQUAL 4.6)
endif()
elseif (MSVC)
# Enable link-time code generation globally for all linking
if (OPENMW_LTO_BUILD)
......@@ -692,8 +680,6 @@ if (WIN32)
endforeach(d)
set_target_properties(components PROPERTIES COMPILE_FLAGS "${WARNINGS} ${MT_BUILD}")
# oics uses tinyxml, which has an initialized but unused variable
set_target_properties(oics PROPERTIES COMPILE_FLAGS "${WARNINGS} /wd4189 ${MT_BUILD}")
set_target_properties(osg-ffmpeg-videoplayer PROPERTIES COMPILE_FLAGS "${WARNINGS} ${MT_BUILD}")
if (BUILD_BSATOOL)
......
......@@ -7,7 +7,7 @@ OpenMW is a recreation of the engine for the popular role-playing game Morrowind
OpenMW also comes with OpenMW-CS, a replacement for Morrowind's TES Construction Set.
* Version: 0.39.0
* Version: 0.40.0
* License: GPL (see docs/license/GPL3.txt for more information)
* Website: http://www.openmw.org
* IRC: #openmw on irc.freenode.net
......
......@@ -5,6 +5,7 @@
#include <map>
#include <set>
#include <fstream>
#include <cmath>
#include <boost/program_options.hpp>
......@@ -354,12 +355,12 @@ int load(Arguments& info)
esm.getRecHeader(flags);
EsmTool::RecordBase *record = EsmTool::RecordBase::create(n);
if (record == 0)
if (record == 0)
{
if (std::find(skipped.begin(), skipped.end(), n.val) == skipped.end())
if (std::find(skipped.begin(), skipped.end(), n.intval) == skipped.end())
{
std::cout << "Skipping " << n.toString() << " records." << std::endl;
skipped.push_back(n.val);
skipped.push_back(n.intval);
}
esm.skipRecord();
......@@ -391,20 +392,20 @@ int load(Arguments& info)
record->print();
}
if (record->getType().val == ESM::REC_CELL && loadCells && interested)
if (record->getType().intval == ESM::REC_CELL && loadCells && interested)
{
loadCell(record->cast<ESM::Cell>()->get(), esm, info);
}
if (save)
if (save)
{
info.data.mRecords.push_back(record);
}
else
}
else
{
delete record;
}
++info.data.mRecordStats[n.val];
++info.data.mRecordStats[n.intval];
}
} catch(std::exception &e) {
......@@ -442,23 +443,18 @@ int clone(Arguments& info)
size_t recordCount = info.data.mRecords.size();
int digitCount = 1; // For a nicer output
if (recordCount > 9) ++digitCount;
if (recordCount > 99) ++digitCount;
if (recordCount > 999) ++digitCount;
if (recordCount > 9999) ++digitCount;
if (recordCount > 99999) ++digitCount;
if (recordCount > 999999) ++digitCount;
if (recordCount > 0)
digitCount = (int)std::log10(recordCount) + 1;
std::cout << "Loaded " << recordCount << " records:" << std::endl << std::endl;
ESM::NAME name;
int i = 0;
typedef std::map<int, int> Stats;
Stats &stats = info.data.mRecordStats;
for (Stats::iterator it = stats.begin(); it != stats.end(); ++it)
{
name.val = it->first;
ESM::NAME name;
name.intval = it->first;
int amount = it->second;
std::cout << std::setw(digitCount) << amount << " " << name.toString() << " ";
......@@ -491,12 +487,12 @@ int clone(Arguments& info)
for (Records::iterator it = records.begin(); it != records.end() && i > 0; ++it)
{
EsmTool::RecordBase *record = *it;
name.val = record->getType().val;
const ESM::NAME& typeName = record->getType();
esm.startRecord(name.toString(), record->getFlags());
esm.startRecord(typeName.toString(), record->getFlags());
record->save(esm);
if (name.val == ESM::REC_CELL) {
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;
......@@ -508,7 +504,7 @@ int clone(Arguments& info)
}
}
esm.endRecord(name.toString());
esm.endRecord(typeName.toString());
saved++;
int perc = (int)((saved / (float)recordCount)*100);
......
......@@ -179,7 +179,7 @@ RecordBase::create(ESM::NAME type)
{
RecordBase *record = 0;
switch (type.val) {
switch (type.intval) {
case ESM::REC_ACTI:
{
record = new EsmTool::Record<ESM::Activator>;
......
......@@ -121,7 +121,7 @@ public:
{
mContext->mPlayer.mObject.mCreatureStats.mLevel = npc.mNpdt52.mLevel;
mContext->mPlayerBase = npc;
std::map<int, float> empty;
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.