Kaynağa Gözat

load raw script data to pass into SUDM

Paul 11 yıl önce
ebeveyn
işleme
0d0c7f6c12

+ 2 - 1
QGearsMain/CMakeLists.txt

@@ -334,6 +334,7 @@ add_library(QGearsMain STATIC
   ${HEADER_FILES}
   ${SOURCE_FILES}
 )
+cotire(QGearsMain)
 SET_PROPERTY(TARGET QGearsMain PROPERTY FOLDER "q-gears")
 
 add_library(q-gears-data STATIC
@@ -341,7 +342,7 @@ add_library(q-gears-data STATIC
  ${SOURCE_FILES_DATA}
  )
 add_dependencies(q-gears-data configure_qgears_version)
-
+cotire(q-gears-data)
 SET_PROPERTY(TARGET q-gears-data PROPERTY FOLDER "q-gears")
 
 

+ 9 - 7
QGearsMain/include/data/QGearsFLevelFile.h

@@ -61,13 +61,14 @@ namespace QGears
 
         static const String RESOURCE_TYPE;
 
-        std::vector<u8> getRawScript();
-        const BackgroundFilePtr&    getBackground  ( void ) const;
-        const CameraMatrixFilePtr&  getCameraMatrix( void ) const;
-        const ModelListFilePtr&     getModelList   ( void ) const;
-        const PaletteFilePtr&       getPalette     ( void ) const;
-        const WalkmeshFilePtr&      getWalkmesh    ( void ) const;
-
+        const std::vector<u8>&      getRawScript() const;
+        const BackgroundFilePtr&    getBackground() const;
+        const CameraMatrixFilePtr&  getCameraMatrix() const;
+        const ModelListFilePtr&     getModelList() const;
+        const PaletteFilePtr&       getPalette() const;
+        const WalkmeshFilePtr&      getWalkmesh() const;
+
+        void setRawScript(const std::vector<u8>& scriptData);
         void setBackground  ( const BackgroundFilePtr      &background    );
         void setCameraMatrix( const CameraMatrixFilePtr    &camera_matrix );
         void setModelList   ( const ModelListFilePtr       &model_list    );
@@ -99,6 +100,7 @@ namespace QGears
         ModelListFilePtr            m_model_list;
         PaletteFilePtr              m_palette;
         WalkmeshFilePtr             m_walkmesh;
+        std::vector<u8>             m_rawScript;
 
         FLevelTextureLoader        *m_background_texture_loader;
         Ogre::TexturePtr            m_background_texture;

+ 7 - 3
QGearsMain/src/data/QGearsFLevelFile.cpp

@@ -179,10 +179,9 @@ namespace QGears
         return 0;
     }
 
-    std::vector<u8> FLevelFile::getRawScript()
+    const std::vector<u8>& FLevelFile::getRawScript() const
     {
-        // TODO
-        return std::vector<u8>();
+        return m_rawScript;
     }
 
     //--------------------------------------------------------------------------
@@ -192,6 +191,11 @@ namespace QGears
         return m_background;
     }
 
+    void FLevelFile::setRawScript(const std::vector<u8>& scriptData)
+    {
+        m_rawScript = scriptData;
+    }
+
     //--------------------------------------------------------------------------
     void
     FLevelFile::setBackground( const BackgroundFilePtr &background )

+ 9 - 1
QGearsMain/src/data/QGearsFLevelFileSerializer.cpp

@@ -177,8 +177,16 @@ namespace QGears
                                       ,FLevelFile *pDest
                                       ,const size_t section_index )
     {
-        switch( section_index )
+        switch (section_index)
         {
+            case SECTION_SCRIPT:
+                {
+                    std::vector<u8> buffer(stream->size());
+                    stream->read(buffer.data(), buffer.size());
+                    pDest->setRawScript(buffer);
+                }
+                break;
+
             case SECTION_CAMERA_MATRIX:
                 readCameraMatrix( stream, pDest );
                 break;