diff --git a/Model3d.cpp b/Model3d.cpp index a99c7dbc..7fe237c3 100644 --- a/Model3d.cpp +++ b/Model3d.cpp @@ -748,12 +748,12 @@ int TSubModel::count_children() { 1 + Child->count_siblings() ); } -int TSubModel::FlagsCheck() +uint32_t TSubModel::FlagsCheck() { // analiza koniecznych zmian pomiędzy submodelami // samo pomijanie glBindTexture() nie poprawi wydajności // ale można sprawdzić, czy można w ogóle pominąć kod do tekstur (sprawdzanie // replaceskin) - int i = 0; + uint32_t i = 0; if (Child) { // Child jest renderowany po danym submodelu if (Child->m_material) // o ile ma teksturę @@ -1318,7 +1318,7 @@ void TSubModel::serialize(std::ostream &s, sn_utils::ls_int32(s, (int32_t)get_container_pos(names, pName)); sn_utils::ls_int32(s, (int)b_Anim); - sn_utils::ls_int32(s, iFlags); + sn_utils::ls_uint32(s, iFlags); sn_utils::ls_int32(s, (int32_t)get_container_pos(transforms, *fMatrix)); sn_utils::ls_int32(s, iNumVerts); @@ -1446,7 +1446,7 @@ void TSubModel::deserialize(std::istream &s) b_Anim = (TAnimType)sn_utils::ld_int32(s); - iFlags = sn_utils::ld_int32(s); + iFlags = sn_utils::ld_uint32(s); iMatrix = sn_utils::ld_int32(s); iNumVerts = sn_utils::ld_int32(s); diff --git a/Model3d.h b/Model3d.h index 1b3b0412..dae0c2db 100644 --- a/Model3d.h +++ b/Model3d.h @@ -76,7 +76,7 @@ public: // chwilowo TAnimType b_Anim{ at_None }; private: - int iFlags{ 0x0200 }; // bit 9=1: submodel został utworzony a nie ustawiony na wczytany plik + uint32_t iFlags{ 0x0200 }; // bit 9=1: submodel został utworzony a nie ustawiony na wczytany plik // flagi informacyjne: // bit 0: =1 faza rysowania zależy od wymiennej tekstury 0 // bit 1: =1 faza rysowania zależy od wymiennej tekstury 1 @@ -178,7 +178,7 @@ public: inline void Hide() { iVisible = 0; }; void create_geometry( std::size_t &Dataoffset, gfx::geometrybank_handle const &Bank ); - int FlagsCheck(); + uint32_t FlagsCheck(); void WillBeAnimated() { if (this) @@ -192,7 +192,7 @@ public: void Name_Material( std::string const &Name ); void Name( std::string const &Name ); // Ra: funkcje do budowania terenu z E3D - int Flags() const { return iFlags; }; + uint32_t Flags() const { return iFlags; }; void UnFlagNext() { iFlags &= 0x00FFFFFF; }; void ColorsSet( glm::vec3 const &Ambient, glm::vec3 const &Diffuse, glm::vec3 const &Specular ); // sets light level (alpha component of illumination color) to specified value @@ -222,7 +222,7 @@ class TModel3d private: TSubModel *Root; // drzewo submodeli - int iFlags; // Ra: czy submodele mają przezroczyste tekstury + uint32_t iFlags; // Ra: czy submodele mają przezroczyste tekstury public: // Ra: tymczasowo int iNumVerts; // ilość wierzchołków (gdy nie ma VBO, to m_nVertexCount=0) gfx::geometrybank_handle m_geometrybank; @@ -251,7 +251,7 @@ public: void LoadFromBinFile(std::string const &FileName, bool dynamic); bool LoadFromFile(std::string const &FileName, bool dynamic); void SaveToBinFile(std::string const &FileName); - int Flags() const { return iFlags; }; + uint32_t Flags() const { return iFlags; }; void Init(); std::string NameGet() const { return m_filename; }; int TerrainCount() const;