From 6bfaf221e8009b7158a43bdabdf0f5e9a19097f2 Mon Sep 17 00:00:00 2001 From: Pieter van der Kloet Date: Wed, 28 Sep 2011 02:57:57 +0200 Subject: [PATCH 1/7] Created working icon for Windows and removed QMake file (not parsed by CMake) --- apps/launcher/CMakeLists.txt | 2 ++ apps/launcher/launcher.pro | 30 ---------------------- apps/launcher/resources/images/openmw.ico | Bin 61282 -> 83788 bytes 3 files changed, 2 insertions(+), 30 deletions(-) delete mode 100644 apps/launcher/launcher.pro diff --git a/apps/launcher/CMakeLists.txt b/apps/launcher/CMakeLists.txt index 38a894866..37406af35 100644 --- a/apps/launcher/CMakeLists.txt +++ b/apps/launcher/CMakeLists.txt @@ -8,6 +8,8 @@ set(LAUNCHER playpage.cpp pluginsmodel.cpp pluginsview.cpp + + launcher.rc ) set(LAUNCHER_HEADER diff --git a/apps/launcher/launcher.pro b/apps/launcher/launcher.pro deleted file mode 100644 index 0b4e4618d..000000000 --- a/apps/launcher/launcher.pro +++ /dev/null @@ -1,30 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Fri Jun 24 21:14:15 2011 -###################################################################### - -TEMPLATE = app -TARGET = -DEPENDPATH += . -INCLUDEPATH += . - -# Input -HEADERS += combobox.hpp \ - datafilespage.hpp \ - graphicspage.hpp \ - lineedit.hpp \ - maindialog.hpp \ - naturalsort.hpp \ - playpage.hpp \ - pluginsmodel.hpp \ - pluginsview.hpp -SOURCES += datafilespage.cpp \ - graphicspage.cpp \ - lineedit.cpp \ - main.cpp \ - maindialog.cpp \ - naturalsort.cpp \ - playpage.cpp \ - pluginsmodel.cpp \ - pluginsview.cpp -RESOURCES += resources.qrc -win32:RC_FILE = launcher.rc diff --git a/apps/launcher/resources/images/openmw.ico b/apps/launcher/resources/images/openmw.ico index c04fc3d9ce2b93ddce6188ad5f6944ee042b0be9..aa248e6ad5b29d63f1558910eb6ff4adf44a330e 100644 GIT binary patch literal 83788 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 YNW^O#7D#3aQw=5!uE6fWJS6Y`05Vu(3jhEB literal 61282 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 Date: Wed, 12 Oct 2011 23:02:27 +0200 Subject: [PATCH 2/7] Changed error handling for Ogre config and made the launcher exit cleanly --- apps/launcher/graphicspage.cpp | 32 +++++++++++++++++++++++++++----- apps/launcher/maindialog.cpp | 4 ++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/apps/launcher/graphicspage.cpp b/apps/launcher/graphicspage.cpp index ffa4d5d59..a3572960d 100644 --- a/apps/launcher/graphicspage.cpp +++ b/apps/launcher/graphicspage.cpp @@ -183,7 +183,7 @@ void GraphicsPage::setupOgre() qCritical("Error creating Ogre::Root, the error reported was:\n %s", qPrintable(ogreError)); - std::exit(1); + QApplication::exit(1); } // Get the available renderers and put them in the combobox @@ -216,7 +216,7 @@ void GraphicsPage::setupOgre() Please make sure the plugins.cfg file exists and contains a valid rendering plugin.
")); msgBox.exec(); - std::exit(1); + QApplication::exit(1); } // Now fill the GUI elements @@ -388,7 +388,7 @@ void GraphicsPage::writeConfig() if (!ogreError.isEmpty()) { QMessageBox msgBox; - msgBox.setWindowTitle("Error validating configuration"); + msgBox.setWindowTitle("Error validating Ogre configuration"); msgBox.setIcon(QMessageBox::Critical); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setText(tr("
A problem occured while validating the graphics options

\ @@ -401,11 +401,33 @@ void GraphicsPage::writeConfig() qCritical("Error validating configuration"); - std::exit(1); + QApplication::exit(1); } // Write the settings to the config file - mOgre->saveConfig(); + + + try + { + mOgre->saveConfig(); + } + catch(Ogre::Exception &ex) + { + QString ogreError = QString::fromStdString(ex.getFullDescription().c_str()); + QMessageBox msgBox; + msgBox.setWindowTitle("Error writing Ogre configuration file"); + msgBox.setIcon(QMessageBox::Critical); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.setText(tr("
Could not write the graphics configuration

\ + Please make sure you have the right permissions and try again.

\ + Press \"Show Details...\" for more information.
")); + msgBox.setDetailedText(ogreError); + msgBox.exec(); + + qCritical("Error saving Ogre configuration, the error reported was:\n %s", qPrintable(ogreError)); + + QApplication::exit(1); + } } diff --git a/apps/launcher/maindialog.cpp b/apps/launcher/maindialog.cpp index 31313e7a3..4ec8b309c 100644 --- a/apps/launcher/maindialog.cpp +++ b/apps/launcher/maindialog.cpp @@ -340,7 +340,7 @@ void MainDialog::writeConfig() Please make sure you have the right permissions and try again.
").arg(file.fileName())); msgBox.exec(); - std::exit(1); + QApplication::exit(1); } QTextStream in(&file); @@ -366,7 +366,7 @@ void MainDialog::writeConfig() Please make sure you have the right permissions and try again.
").arg(file.fileName())); msgBox.exec(); - std::exit(1);; + QApplication::exit(1); } file.write(buffer); From 255f948baef91278ed9fb030376ca40503ae4a35 Mon Sep 17 00:00:00 2001 From: "Alexander \"Ace\" Olofsson" Date: Sun, 30 Oct 2011 18:43:27 +0100 Subject: [PATCH 3/7] A small fix to add all the files and not just the first one CMake finds --- cmake/OpenMWMacros.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmake/OpenMWMacros.cmake b/cmake/OpenMWMacros.cmake index 8263763a2..4f363fb63 100644 --- a/cmake/OpenMWMacros.cmake +++ b/cmake/OpenMWMacros.cmake @@ -2,8 +2,11 @@ macro (add_openmw_dir dir) set (files) foreach (u ${ARGN}) -list (APPEND files "${dir}/${u}.*") -list (APPEND OPENMW_FILES "${dir}/${u}") +file (GLOB ALL RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${dir}/${u}.*") +foreach (f ${ALL}) +list (APPEND files "${f}") +list (APPEND OPENMW_FILES "${f}") +endforeach (f) endforeach (u) source_group ("apps\\openmw\\${dir}" FILES ${files}) endmacro (add_openmw_dir) From 0e3859385dfbbf73a56baca160aee7593c577f69 Mon Sep 17 00:00:00 2001 From: Jacob Essex Date: Wed, 2 Nov 2011 11:11:27 +0000 Subject: [PATCH 4/7] Now ensures that the directory to the config file exists before Ogre tries to access it --- apps/launcher/graphicspage.cpp | 16 ++++++++++++++++ apps/openmw/engine.cpp | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/apps/launcher/graphicspage.cpp b/apps/launcher/graphicspage.cpp index a3572960d..6ba8af515 100644 --- a/apps/launcher/graphicspage.cpp +++ b/apps/launcher/graphicspage.cpp @@ -164,6 +164,22 @@ void GraphicsPage::setupOgre() QString ogreCfg = QString::fromStdString(mCfg.getOgreConfigPath().string()); file.setFileName(ogreCfg); + //we need to check that the path to the configuration file exists before we + //try and create an instance of Ogre::Root otherwise Ogre raises an exception + QDir configDir = QFileInfo(file).dir(); + if ( !configDir.exists() && !configDir.mkpath(configDir.path()) ) + { + QMessageBox msgBox; + msgBox.setWindowTitle("Error creating config file"); + msgBox.setIcon(QMessageBox::Critical); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.setText(QString(tr("
Failed to create the configuration file

\ + Make sure you have write access to
%1

")).arg(configDir.path())); + msgBox.exec(); + + QApplication::exit(1); + } + try { mOgre = new Ogre::Root(pluginCfg.toStdString(), file.fileName().toStdString(), "./launcherOgre.log"); diff --git a/apps/openmw/engine.cpp b/apps/openmw/engine.cpp index 4e58e8a4c..bdcaf627b 100644 --- a/apps/openmw/engine.cpp +++ b/apps/openmw/engine.cpp @@ -291,6 +291,14 @@ void OMW::Engine::go() mOgre = new OEngine::Render::OgreRenderer; + //we need to ensure the path to the configuration exists before creating an + //instance of ogre root so that Ogre doesn't raise an exception when trying to + //access it + const boost::filesystem::path configPath = mCfgMgr.getOgreConfigPath().parent_path(); + if ( !boost::filesystem::exists(configPath) ) + { + boost::filesystem::create_directories(configPath); + } mOgre->configure(!boost::filesystem::is_regular_file(mCfgMgr.getOgreConfigPath()), mCfgMgr.getOgreConfigPath().string(), mCfgMgr.getLogPath().string() + std::string("/"), From 4e25200844cb7b7dddfcfd75ad80f38e4d9a5c24 Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Thu, 3 Nov 2011 09:08:40 +0100 Subject: [PATCH 5/7] fixed usage of Qt exit --- apps/launcher/graphicspage.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/launcher/graphicspage.cpp b/apps/launcher/graphicspage.cpp index 6ba8af515..92fbf3350 100644 --- a/apps/launcher/graphicspage.cpp +++ b/apps/launcher/graphicspage.cpp @@ -178,6 +178,7 @@ void GraphicsPage::setupOgre() msgBox.exec(); QApplication::exit(1); + return; } try @@ -200,6 +201,7 @@ void GraphicsPage::setupOgre() qCritical("Error creating Ogre::Root, the error reported was:\n %s", qPrintable(ogreError)); QApplication::exit(1); + return; } // Get the available renderers and put them in the combobox @@ -233,6 +235,7 @@ void GraphicsPage::setupOgre() msgBox.exec(); QApplication::exit(1); + return; } // Now fill the GUI elements @@ -418,6 +421,7 @@ void GraphicsPage::writeConfig() qCritical("Error validating configuration"); QApplication::exit(1); + return; } // Write the settings to the config file From cb1373a4c7fab4123615274a1964a73f8a023ff8 Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Sun, 6 Nov 2011 09:30:15 +0100 Subject: [PATCH 6/7] rewrote cmake scripts for components --- CMakeLists.txt | 165 +---------------------------------- apps/esmtool/CMakeLists.txt | 4 +- apps/launcher/CMakeLists.txt | 8 +- apps/openmw/CMakeLists.txt | 4 +- cmake/OpenMWMacros.cmake | 12 +++ components/CMakeLists.txt | 66 ++++++++++++++ 6 files changed, 87 insertions(+), 172 deletions(-) create mode 100644 components/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 2edd7ac5e..723d10b34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,168 +82,6 @@ ELSE() message (STATUS "OpenMW pre-built binaries not found. Using standard locations.") ENDIF() -# source directory: components -set(COMP_DIR ${CMAKE_SOURCE_DIR}/components) - -set(BSA - ${COMP_DIR}/bsa/bsa_archive.cpp - ${COMP_DIR}/bsa/bsa_file.cpp) -set(BSA_HEADER - ${COMP_DIR}/bsa/bsa_archive.hpp - ${COMP_DIR}/bsa/bsa_file.hpp) -source_group(components\\bsa FILES ${BSA} ${BSA_HEADER}) - -set(CFG - ${COMP_DIR}/cfg/configurationmanager.cpp - ) -set(CFG_HEADER - ${COMP_DIR}/cfg/configurationmanager.hpp - ) -source_group(components\\cfg FILES ${CFG} ${CFG_HEADER}) - -set(NIF - ${COMP_DIR}/nif/nif_file.cpp) -set(NIF_HEADER - ${COMP_DIR}/nif/controlled.hpp - ${COMP_DIR}/nif/effect.hpp - ${COMP_DIR}/nif/nif_types.hpp - ${COMP_DIR}/nif/record.hpp - ${COMP_DIR}/nif/controller.hpp - ${COMP_DIR}/nif/extra.hpp - ${COMP_DIR}/nif/node.hpp - ${COMP_DIR}/nif/record_ptr.hpp - ${COMP_DIR}/nif/data.hpp - ${COMP_DIR}/nif/nif_file.hpp - ${COMP_DIR}/nif/property.hpp) -source_group(components\\nif FILES ${NIF} ${NIF_HEADER}) - -set(NIFOGRE - ${COMP_DIR}/nifogre/ogre_nif_loader.cpp) -set(NIFOGRE_HEADER - ${COMP_DIR}/nifogre/ogre_nif_loader.hpp) -source_group(components\\nifogre FILES ${NIFOGRE} ${NIFOGRE_HEADER}) - -set(NIFBULLET - ${COMP_DIR}/nifbullet/bullet_nif_loader.cpp) -set(NIFBULLET_HEADER - ${COMP_DIR}/nifbullet/bullet_nif_loader.hpp) -source_group(components\\nifbullet FILES ${NIFBULLET} ${NIFBULLET_HEADER}) - -set(TO_UTF8 - ${COMP_DIR}/to_utf8/to_utf8.cpp) -set(TO_UTF8_HEADER - ${COMP_DIR}/to_utf8/to_utf8.hpp) -source_group(components\\to_utf8 FILES ${TO_UTF8} ${TO_UTF8_HEADER}) - -set(FILE_FINDER - ${COMP_DIR}/file_finder/search.cpp) -set(FILE_FINDER_HEADER - ${COMP_DIR}/file_finder/file_finder.hpp - ${COMP_DIR}/file_finder/filename_less.hpp - ${COMP_DIR}/file_finder/search.hpp) -source_group(components\\file_finder FILES ${FILE_FINDER} ${FILE_FINDER_HEADER}) - -set(ESM_STORE - ${COMP_DIR}/esm_store/store.cpp) -set(ESM_STORE_HEADER - ${COMP_DIR}/esm_store/cell_store.hpp - ${COMP_DIR}/esm_store/reclists.hpp - ${COMP_DIR}/esm_store/store.hpp) -source_group(components\\esm_store FILES ${ESM_STORE} ${ESM_STORE_HEADER}) - -file(GLOB ESM_HEADER ${COMP_DIR}/esm/*.hpp) -set(ESM - ${COMP_DIR}/esm/attr.cpp - ${COMP_DIR}/esm/esm_reader.cpp - ${COMP_DIR}/esm/loadland.cpp - ${COMP_DIR}/esm/loadacti.cpp - ${COMP_DIR}/esm/loadalch.cpp - ${COMP_DIR}/esm/loadappa.cpp - ${COMP_DIR}/esm/loadarmo.cpp - ${COMP_DIR}/esm/loadbody.cpp - ${COMP_DIR}/esm/loadbook.cpp - ${COMP_DIR}/esm/loadbsgn.cpp - ${COMP_DIR}/esm/loadcell.cpp - ${COMP_DIR}/esm/loadclas.cpp - ${COMP_DIR}/esm/loadclot.cpp - ${COMP_DIR}/esm/loadcont.cpp - ${COMP_DIR}/esm/loadcrea.cpp - ${COMP_DIR}/esm/loaddial.cpp - ${COMP_DIR}/esm/loaddoor.cpp - ${COMP_DIR}/esm/loadench.cpp - ${COMP_DIR}/esm/loadfact.cpp - ${COMP_DIR}/esm/loadglob.cpp - ${COMP_DIR}/esm/loadgmst.cpp - ${COMP_DIR}/esm/loadinfo.cpp - ${COMP_DIR}/esm/loadingr.cpp - ${COMP_DIR}/esm/loadlevlist.cpp - ${COMP_DIR}/esm/loadligh.cpp - ${COMP_DIR}/esm/loadlocks.cpp - ${COMP_DIR}/esm/loadltex.cpp - ${COMP_DIR}/esm/loadmgef.cpp - ${COMP_DIR}/esm/loadmisc.cpp - ${COMP_DIR}/esm/loadnpc.cpp - ${COMP_DIR}/esm/loadpgrd.cpp - ${COMP_DIR}/esm/loadrace.cpp - ${COMP_DIR}/esm/loadregn.cpp - ${COMP_DIR}/esm/loadscpt.cpp - ${COMP_DIR}/esm/loadskil.cpp - ${COMP_DIR}/esm/loadsndg.cpp - ${COMP_DIR}/esm/loadsoun.cpp - ${COMP_DIR}/esm/loadspel.cpp - ${COMP_DIR}/esm/loadsscr.cpp - ${COMP_DIR}/esm/loadstat.cpp - ${COMP_DIR}/esm/loadweap.cpp - -) -source_group(components\\esm FILES ${ESM_HEADER} ${ESM}) - -set(MISC - ${COMP_DIR}/misc/stringops.cpp - ) -set(MISC_HEADER - ${COMP_DIR}/misc/slice_array.hpp - ${COMP_DIR}/misc/stringops.hpp - ) -source_group(components\\misc FILES ${MISC} ${MISC_HEADER}) - -set(FILES - ${COMP_DIR}/files/linuxpath.cpp - ${COMP_DIR}/files/windowspath.cpp - ${COMP_DIR}/files/macospath.cpp - ${COMP_DIR}/files/multidircollection.cpp - ${COMP_DIR}/files/collections.cpp - ${COMP_DIR}/files/fileops.cpp - ) -set(FILES_HEADER - ${COMP_DIR}/files/linuxpath.hpp - ${COMP_DIR}/files/windowspath.hpp - ${COMP_DIR}/files/macospath.hpp - ${COMP_DIR}/files/path.hpp - ${COMP_DIR}/files/multidircollection.hpp - ${COMP_DIR}/files/collections.hpp - ${COMP_DIR}/files/fileops.hpp - ) -source_group(components\\files FILES ${FILES} ${FILES_HEADER}) - -file(GLOB COMPILER ${COMP_DIR}/compiler/*.cpp) -file(GLOB COMPILER_HEADER ${COMP_DIR}/compiler/*.hpp) -source_group(components\\compiler FILES ${COMPILER} ${COMPILER_HEADER}) - -file(GLOB INTERPRETER ${COMP_DIR}/interpreter/*.cpp) -file(GLOB INTERPRETER_HEADER ${COMP_DIR}/interpreter/*.hpp) -source_group(components\\interpreter FILES ${INTERPRETER} ${INTERPRETER_HEADER}) - -set(COMPONENTS ${BSA} ${NIF} ${NIFOGRE} ${ESM_STORE} ${MISC} ${TO_UTF8} - ${COMPILER} ${INTERPRETER} ${ESM} ${FILE_FINDER} ${NIFBULLET} ${FILES} - ${CFG} - ) -set(COMPONENTS_HEADER ${BSA_HEADER} ${NIF_HEADER} ${NIFOGRE_HEADER} ${ESM_STORE_HEADER} - ${ESM_HEADER} ${MISC_HEADER} ${COMPILER_HEADER} ${TO_UTF8_HEADER} - ${INTERPRETER_HEADER} ${FILE_FINDER_HEADER} ${NIFBULLET_HEADER} ${FILES_HEADER} - ${CFG_HEADER} - ) - # source directory: libs set(LIBDIR ${CMAKE_SOURCE_DIR}/libs) @@ -513,6 +351,9 @@ if(DPKG_PROGRAM) include(CPack) endif(DPKG_PROGRAM) +# Components +add_subdirectory (components) + # Apps and tools add_subdirectory( apps/openmw ) diff --git a/apps/esmtool/CMakeLists.txt b/apps/esmtool/CMakeLists.txt index 583f1fabd..f2ab7bce7 100644 --- a/apps/esmtool/CMakeLists.txt +++ b/apps/esmtool/CMakeLists.txt @@ -8,13 +8,11 @@ source_group(apps\\esmtool FILES ${ESMTOOL}) # Main executable add_executable(esmtool ${ESMTOOL} - ${MISC} ${MISC_HEADER} - ${TO_UTF8} - ${ESM} ) target_link_libraries(esmtool ${Boost_LIBRARIES} + components ) #if (APPLE) diff --git a/apps/launcher/CMakeLists.txt b/apps/launcher/CMakeLists.txt index de8f0256c..a8ce0e553 100644 --- a/apps/launcher/CMakeLists.txt +++ b/apps/launcher/CMakeLists.txt @@ -50,11 +50,6 @@ include(${QT_USE_FILE}) # Main executable add_executable(omwlauncher ${LAUNCHER} - ${MISC} ${MISC_HEADER} - ${FILES} ${FILES_HEADER} - ${CFG} ${CFG_HEADER} - ${TO_UTF8} - ${ESM} ${RCC_SRCS} ${MOC_SRCS} ) @@ -64,6 +59,7 @@ target_link_libraries(omwlauncher ${OGRE_LIBRARIES} ${QT_LIBRARIES} ${PNG_LIBRARY} + components ) if(DPKG_PROGRAM) @@ -78,7 +74,7 @@ if (APPLE) else() configure_file(${CMAKE_SOURCE_DIR}/files/launcher.qss "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/launcher.qss") - + configure_file(${CMAKE_SOURCE_DIR}/files/launcher.cfg "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/launcher.cfg") endif() diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 4723ff1d7..90b752264 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -59,13 +59,15 @@ add_openmw_dir (mwmechanics # Main executable add_executable(openmw - ${COMPONENTS} ${COMPONENTS_HEADER} ${OPENMW_LIBS} ${OPENMW_LIBS_HEADER} + ${CONPONENT_FILES} ${OPENMW_FILES} ${GAME} ${GAME_HEADER} ${APPLE_BUNDLE_RESOURCES} ) +target_link_libraries (openmw components) + # Sound stuff - here so CMake doesn't stupidly recompile EVERYTHING # when we change the backend. include_directories(${SOUND_INPUT_INCLUDES} ${BULLET_INCLUDE_DIRS}) diff --git a/cmake/OpenMWMacros.cmake b/cmake/OpenMWMacros.cmake index 4f363fb63..c40936691 100644 --- a/cmake/OpenMWMacros.cmake +++ b/cmake/OpenMWMacros.cmake @@ -10,3 +10,15 @@ endforeach (f) endforeach (u) source_group ("apps\\openmw\\${dir}" FILES ${files}) endmacro (add_openmw_dir) + +macro (add_component_dir dir) +set (files) +foreach (u ${ARGN}) +file (GLOB ALL RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${dir}/${u}.*") +foreach (f ${ALL}) +list (APPEND files "${f}") +list (APPEND COMPONENT_FILES "${f}") +endforeach (f) +endforeach (u) +source_group ("components\\${dir}" FILES ${files}) +endmacro (add_component_dir) diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt new file mode 100644 index 000000000..76e68dd89 --- /dev/null +++ b/components/CMakeLists.txt @@ -0,0 +1,66 @@ +project (Components) + +# source files + +add_component_dir (bsa + bsa_archive bsa_file + ) + +add_component_dir (cfg + configurationmanager + ) + +add_component_dir (nif + controlled effect nif_types record controller extra node record_ptr data nif_file property + ) + +add_component_dir (nifogre + ogre_nif_loader + ) + +add_component_dir (nifbullet + bullet_nif_loader + ) + +add_component_dir (to_utf8 + to_utf8 + ) + +add_component_dir (file_finder + file_finder filename_less search + ) + +add_component_dir (esm_store + cell_store reclists store + ) + +add_component_dir (esm + attr defs esm_reader loadacti loadalch loadappa loadarmo loadbody loadbook loadbsgn loadcell + loadclas loadclot loadcont loadcrea loadcrec loaddial loaddoor loadench loadfact loadglob loadgmst + loadinfo loadingr loadland loadlevlist loadligh loadlocks loadltex loadmgef loadmisc loadnpcc + loadnpc loadpgrd loadrace loadregn loadscpt loadskil loadsndg loadsoun loadspel loadsscr loadstat + loadweap records + ) + +add_component_dir (misc + slice_array stringops + ) + +add_component_dir (files + linuxpath windowspath macospath path multidircollection collections fileops + ) + +add_component_dir (compiler + context controlparser errorhandler exception exprparser extensions fileparser generator + lineparser literals locals output parser scanner scriptparser skipparser streamerrorhandler + stringparser tokenloc + ) + +add_component_dir (interpreter + context controlopcodes genericopcodes installopcodes interpreter localopcodes mathopcodes + miscopcodes opcodes runtime scriptopcodes spatialopcodes types + ) + +include_directories(${BULLET_INCLUDE_DIRS}) + +add_library (components STATIC ${COMPONENT_FILES}) From 9aac62500054cec240df747fcd24cb7ea179f712 Mon Sep 17 00:00:00 2001 From: Jacob Essex Date: Tue, 8 Nov 2011 00:08:00 +0000 Subject: [PATCH 7/7] Changes to move the mutable ESM::Position data to RefData --- apps/openmw/mwclass/activator.cpp | 2 +- apps/openmw/mwclass/apparatus.cpp | 2 +- apps/openmw/mwclass/armor.cpp | 2 +- apps/openmw/mwclass/book.cpp | 2 +- apps/openmw/mwclass/clothing.cpp | 2 +- apps/openmw/mwclass/container.cpp | 2 +- apps/openmw/mwclass/containerutil.hpp | 5 +---- apps/openmw/mwclass/creature.cpp | 2 +- apps/openmw/mwclass/door.cpp | 2 +- apps/openmw/mwclass/ingredient.cpp | 2 +- apps/openmw/mwclass/light.cpp | 2 +- apps/openmw/mwclass/lockpick.cpp | 2 +- apps/openmw/mwclass/misc.cpp | 2 +- apps/openmw/mwclass/npc.cpp | 2 +- apps/openmw/mwclass/potion.cpp | 2 +- apps/openmw/mwclass/probe.cpp | 2 +- apps/openmw/mwclass/repair.cpp | 2 +- apps/openmw/mwclass/static.cpp | 2 +- apps/openmw/mwclass/weapon.cpp | 2 +- apps/openmw/mwrender/cellimp.hpp | 6 +++--- apps/openmw/mwrender/exterior.cpp | 2 +- apps/openmw/mwrender/exterior.hpp | 2 +- apps/openmw/mwrender/interior.cpp | 4 ++-- apps/openmw/mwrender/interior.hpp | 2 +- apps/openmw/mwscript/interpretercontext.cpp | 4 +++- apps/openmw/mwworld/player.cpp | 5 ++++- apps/openmw/mwworld/refdata.hpp | 11 +++++++++-- apps/openmw/mwworld/world.cpp | 8 ++++---- components/esm_store/cell_store.hpp | 17 ++++++++++++----- 29 files changed, 59 insertions(+), 43 deletions(-) diff --git a/apps/openmw/mwclass/activator.cpp b/apps/openmw/mwclass/activator.cpp index 7a72ddb8c..4d4b7aeaa 100644 --- a/apps/openmw/mwclass/activator.cpp +++ b/apps/openmw/mwclass/activator.cpp @@ -21,7 +21,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/apparatus.cpp b/apps/openmw/mwclass/apparatus.cpp index 2dbeae360..ddf96d1be 100644 --- a/apps/openmw/mwclass/apparatus.cpp +++ b/apps/openmw/mwclass/apparatus.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/armor.cpp b/apps/openmw/mwclass/armor.cpp index d63795641..9452fea16 100644 --- a/apps/openmw/mwclass/armor.cpp +++ b/apps/openmw/mwclass/armor.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/book.cpp b/apps/openmw/mwclass/book.cpp index 964ccbdfe..c2d3c4aa8 100644 --- a/apps/openmw/mwclass/book.cpp +++ b/apps/openmw/mwclass/book.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/clothing.cpp b/apps/openmw/mwclass/clothing.cpp index a264f2a1c..7c69573ed 100644 --- a/apps/openmw/mwclass/clothing.cpp +++ b/apps/openmw/mwclass/clothing.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/container.cpp b/apps/openmw/mwclass/container.cpp index 1da55e6f6..ad2ab8d65 100644 --- a/apps/openmw/mwclass/container.cpp +++ b/apps/openmw/mwclass/container.cpp @@ -21,7 +21,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/containerutil.hpp b/apps/openmw/mwclass/containerutil.hpp index 5f89983ac..76bdf0236 100644 --- a/apps/openmw/mwclass/containerutil.hpp +++ b/apps/openmw/mwclass/containerutil.hpp @@ -16,10 +16,7 @@ namespace MWClass { // TODO check stacking - ESMS::LiveCellRef cellRef; - - cellRef.base = ptr.get()->base; - cellRef.ref = ptr.getCellRef(); + ESMS::LiveCellRef cellRef(ptr.getCellRef(), ptr.get()->base); cellRef.mData = ptr.getRefData(); containerStore.list.push_back (cellRef); diff --git a/apps/openmw/mwclass/creature.cpp b/apps/openmw/mwclass/creature.cpp index 0bd133f21..2e223c918 100644 --- a/apps/openmw/mwclass/creature.cpp +++ b/apps/openmw/mwclass/creature.cpp @@ -33,7 +33,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh("meshes\\" + model); cellRender.insertActorPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/door.cpp b/apps/openmw/mwclass/door.cpp index 8a34d3abe..e32e3ef4e 100644 --- a/apps/openmw/mwclass/door.cpp +++ b/apps/openmw/mwclass/door.cpp @@ -28,7 +28,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/ingredient.cpp b/apps/openmw/mwclass/ingredient.cpp index c88e1794b..e2c9b072f 100644 --- a/apps/openmw/mwclass/ingredient.cpp +++ b/apps/openmw/mwclass/ingredient.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/light.cpp b/apps/openmw/mwclass/light.cpp index 159196eb2..f32378002 100644 --- a/apps/openmw/mwclass/light.cpp +++ b/apps/openmw/mwclass/light.cpp @@ -28,7 +28,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); diff --git a/apps/openmw/mwclass/lockpick.cpp b/apps/openmw/mwclass/lockpick.cpp index 9a4b98b43..3a94fce26 100644 --- a/apps/openmw/mwclass/lockpick.cpp +++ b/apps/openmw/mwclass/lockpick.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/misc.cpp b/apps/openmw/mwclass/misc.cpp index 2986c812d..84560d009 100644 --- a/apps/openmw/mwclass/misc.cpp +++ b/apps/openmw/mwclass/misc.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/npc.cpp b/apps/openmw/mwclass/npc.cpp index 9ef5e6f40..83161ebeb 100644 --- a/apps/openmw/mwclass/npc.cpp +++ b/apps/openmw/mwclass/npc.cpp @@ -64,7 +64,7 @@ namespace MWClass std::string hairModel = "meshes\\" + environment.mWorld->getStore().bodyParts.find(hairID)->model; - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); //TODO: define consts for each bodypart e.g. chest, foot, wrist... and put the parts in the diff --git a/apps/openmw/mwclass/potion.cpp b/apps/openmw/mwclass/potion.cpp index 6c9889a7b..7cd6db223 100644 --- a/apps/openmw/mwclass/potion.cpp +++ b/apps/openmw/mwclass/potion.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/probe.cpp b/apps/openmw/mwclass/probe.cpp index 028d8b5e3..b92f5ff26 100644 --- a/apps/openmw/mwclass/probe.cpp +++ b/apps/openmw/mwclass/probe.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/repair.cpp b/apps/openmw/mwclass/repair.cpp index b9b5036fb..d52f04e53 100644 --- a/apps/openmw/mwclass/repair.cpp +++ b/apps/openmw/mwclass/repair.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/static.cpp b/apps/openmw/mwclass/static.cpp index cf0be9499..5691f92ba 100644 --- a/apps/openmw/mwclass/static.cpp +++ b/apps/openmw/mwclass/static.cpp @@ -19,7 +19,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref, true); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData, true); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwclass/weapon.cpp b/apps/openmw/mwclass/weapon.cpp index a985a7e42..5dcc94fc8 100644 --- a/apps/openmw/mwclass/weapon.cpp +++ b/apps/openmw/mwclass/weapon.cpp @@ -24,7 +24,7 @@ namespace MWClass const std::string &model = ref->base->model; if (!model.empty()) { - MWRender::Rendering rendering (cellRender, ref->ref); + MWRender::Rendering rendering (cellRender, ref->ref, ref->mData); cellRender.insertMesh ("meshes\\" + model); cellRender.insertObjectPhysics(); ref->mData.setHandle (rendering.end (ref->mData.isEnabled())); diff --git a/apps/openmw/mwrender/cellimp.hpp b/apps/openmw/mwrender/cellimp.hpp index 664fed64f..c497b1d19 100644 --- a/apps/openmw/mwrender/cellimp.hpp +++ b/apps/openmw/mwrender/cellimp.hpp @@ -35,7 +35,7 @@ namespace MWRender virtual ~CellRenderImp() {} /// start inserting a new reference. - virtual void insertBegin (ESM::CellRef &ref, bool static_ = false) = 0; + virtual void insertBegin (ESM::CellRef& ref, MWWorld::RefData& refData, bool static_ = false) = 0; virtual void rotateMesh(Ogre::Vector3 axis, Ogre::Radian angle, std::string sceneNodeName[], int elements) = 0; /// insert a mesh related to the most recent insertBegin call. @@ -71,10 +71,10 @@ namespace MWRender public: - Rendering (CellRenderImp& cellRender, ESM::CellRef &ref, bool static_ = false) + Rendering (CellRenderImp& cellRender, ESM::CellRef& ref, MWWorld::RefData& refData, bool static_ = false) : mCellRender (cellRender), mEnd (false) { - mCellRender.insertBegin (ref, static_); + mCellRender.insertBegin (ref, refData, static_); } ~Rendering() diff --git a/apps/openmw/mwrender/exterior.cpp b/apps/openmw/mwrender/exterior.cpp index 9dd82c68f..aa8ca0a3c 100644 --- a/apps/openmw/mwrender/exterior.cpp +++ b/apps/openmw/mwrender/exterior.cpp @@ -43,7 +43,7 @@ ExteriorCellRender::ExteriorCellRender(ESMS::CellStore &_cell, -void ExteriorCellRender::insertBegin (ESM::CellRef &ref, bool static_) +void ExteriorCellRender::insertBegin (ESM::CellRef &ref, MWWorld::RefData& refData, bool static_) { assert (!mInsert); diff --git a/apps/openmw/mwrender/exterior.hpp b/apps/openmw/mwrender/exterior.hpp index d8f6b9b96..24464698f 100644 --- a/apps/openmw/mwrender/exterior.hpp +++ b/apps/openmw/mwrender/exterior.hpp @@ -70,7 +70,7 @@ namespace MWRender Ogre::ColourValue mAmbientColor; /// start inserting a new reference. - virtual void insertBegin (ESM::CellRef &ref, bool static_ = false); + virtual void insertBegin (ESM::CellRef &ref, MWWorld::RefData& refData, bool static_ = false); /// insert a mesh related to the most recent insertBegin call. virtual void insertMesh(const std::string &mesh, Ogre::Vector3 vec, Ogre::Vector3 axis, Ogre::Radian angle, std::string sceneNodeName, std::string sceneParent[], int elements); diff --git a/apps/openmw/mwrender/interior.cpp b/apps/openmw/mwrender/interior.cpp index bfde4b04e..99843272f 100644 --- a/apps/openmw/mwrender/interior.cpp +++ b/apps/openmw/mwrender/interior.cpp @@ -35,14 +35,14 @@ bool InteriorCellRender::lightOutQuadInLin = false; // start inserting a new reference. -void InteriorCellRender::insertBegin (ESM::CellRef &ref, bool static_) +void InteriorCellRender::insertBegin (ESM::CellRef &ref, MWWorld::RefData& refData, bool static_) { assert (!insert); // Create and place scene node for this object insert = base->createChildSceneNode(); - const float *f = ref.pos.pos; + const float *f = refData.getPosition().pos; insert->setPosition(f[0], f[1], f[2]); insert->setScale(ref.scale, ref.scale, ref.scale); diff --git a/apps/openmw/mwrender/interior.hpp b/apps/openmw/mwrender/interior.hpp index 16fca0898..cc1b5661d 100644 --- a/apps/openmw/mwrender/interior.hpp +++ b/apps/openmw/mwrender/interior.hpp @@ -65,7 +65,7 @@ namespace MWRender Ogre::ColourValue ambientColor; /// start inserting a new reference. - virtual void insertBegin (ESM::CellRef &ref, bool static_ = false); + virtual void insertBegin (ESM::CellRef &ref, MWWorld::RefData& refData, bool static_ = false); virtual void rotateMesh(Ogre::Vector3 axis, Ogre::Radian angle, std::string sceneNodeName[], int elements); virtual void scaleMesh(Ogre::Vector3 axis, std::string sceneNodeName[], int elements); /// insert a mesh related to the most recent insertBegin call. diff --git a/apps/openmw/mwscript/interpretercontext.cpp b/apps/openmw/mwscript/interpretercontext.cpp index 77a71a1d4..258493782 100644 --- a/apps/openmw/mwscript/interpretercontext.cpp +++ b/apps/openmw/mwscript/interpretercontext.cpp @@ -196,8 +196,10 @@ namespace MWScript double diff[3]; + const float* const pos1 = ref.getRefData().getPosition().pos; + const float* const pos2 = ref2.getRefData().getPosition().pos; for (int i=0; i<3; ++i) - diff[i] = ref.getCellRef().pos.pos[i] - ref2.getCellRef().pos.pos[i]; + diff[i] = pos1[i] - pos2[i]; return std::sqrt (diff[0]*diff[0] + diff[1]*diff[1] + diff[2]*diff[2]); } diff --git a/apps/openmw/mwworld/player.cpp b/apps/openmw/mwworld/player.cpp index cad97c9ea..db950b00e 100644 --- a/apps/openmw/mwworld/player.cpp +++ b/apps/openmw/mwworld/player.cpp @@ -17,7 +17,10 @@ namespace MWWorld mName = player->name; mMale = !(player->flags & ESM::NPC::Female); mRace = player->race; - mPlayer.ref.pos.pos[0] = mPlayer.ref.pos.pos[1] = mPlayer.ref.pos.pos[2] = 0; + + float* playerPos = mPlayer.mData.getPosition().pos; + playerPos[0] = playerPos[1] = playerPos[2] = 0; + std::cout << renderer->getHandle(); mPlayer.mData.setHandle (renderer->getHandle()); /// \todo Do not make a copy of classes defined in esm/p records. diff --git a/apps/openmw/mwworld/refdata.hpp b/apps/openmw/mwworld/refdata.hpp index a9613248e..615081e7e 100644 --- a/apps/openmw/mwworld/refdata.hpp +++ b/apps/openmw/mwworld/refdata.hpp @@ -41,9 +41,11 @@ namespace MWWorld boost::shared_ptr > mContainerStore; - public: + ESM::Position mPosition; - RefData() : mHasLocals (false), mEnabled (true), mCount (1) {} + public: + RefData(const ESMS::CellRef& cr) : mHasLocals (false), mEnabled (true), + mCount (1), mPosition(cr.pos) {} std::string getHandle() { @@ -113,6 +115,11 @@ namespace MWWorld { return mContainerStore; } + + ESM::Position& getPosition() + { + return mPosition; + } }; } diff --git a/apps/openmw/mwworld/world.cpp b/apps/openmw/mwworld/world.cpp index 78827f150..ff530454f 100644 --- a/apps/openmw/mwworld/world.cpp +++ b/apps/openmw/mwworld/world.cpp @@ -549,9 +549,9 @@ namespace MWWorld void World::moveObjectImp (Ptr ptr, float x, float y, float z) { - ptr.getCellRef().pos.pos[0] = x; - ptr.getCellRef().pos.pos[1] = y; - ptr.getCellRef().pos.pos[2] = z; + ptr.getRefData().getPosition().pos[0] = x; + ptr.getRefData().getPosition().pos[1] = y; + ptr.getRefData().getPosition().pos[2] = z; if (ptr==mPlayer->getPlayer()) { @@ -568,7 +568,7 @@ namespace MWWorld if (currentCell->cell->data.gridX!=cellX || currentCell->cell->data.gridY!=cellY) { - mWorldScene->changeCell (cellX, cellY, mPlayer->getPlayer().getCellRef().pos, false); + mWorldScene->changeCell (cellX, cellY, mPlayer->getPlayer().getRefData().getPosition(), false); } } diff --git a/components/esm_store/cell_store.hpp b/components/esm_store/cell_store.hpp index 19cb34c01..12f644417 100644 --- a/components/esm_store/cell_store.hpp +++ b/components/esm_store/cell_store.hpp @@ -26,9 +26,20 @@ namespace ESMS using namespace ESM; /// A reference to one object (of any type) in a cell. + /// + /// Constructing this with a CellRef instance in the constructor means that + /// in practice (where D is RefData) the possibly mutable data is copied + /// across to mData. If later adding data (such as position) to CellRef + /// this would have to be manually copied across. template struct LiveCellRef { + LiveCellRef(const CellRef& cref, const X* b = NULL) : base(b), ref(cref), + mData(ref) {} + + + LiveCellRef(const X* b = NULL) : base(b), mData(ref) {} + // The object that this instance is based on. const X* base; @@ -59,11 +70,7 @@ namespace ESMS if(obj == NULL) throw std::runtime_error("Error resolving cell reference " + ref.refID); - LiveRef lr; - lr.ref = ref; - lr.base = obj; - - list.push_back(lr); + list.push_back(LiveRef(ref, obj)); } LiveRef *find (const std::string& name)