[colobot] 114/377: Moving CBotVarBoolean class in its own header and source files.

Didier Raboud odyx at moszumanska.debian.org
Wed Mar 30 13:34:04 UTC 2016


This is an automated email from the git hooks/post-receive script.

odyx pushed a commit to branch debian/master
in repository colobot.

commit ade4aefb0e6855fa98f64515933b7883512e212c
Author: Grunaka <dev at romainbreton.fr>
Date:   Sun Nov 15 21:13:50 2015 +0100

    Moving CBotVarBoolean class in its own header and source files.
---
 src/CBot/CBot.h                     |  28 -------
 src/CBot/CBotProgram.cpp            |  10 ---
 src/CBot/CBotStack.cpp              |   6 --
 src/CBot/CBotUtils.cpp              |  10 +++
 src/CBot/CBotUtils.h                |   8 ++
 src/CBot/CBotVar.cpp                | 115 +-------------------------
 src/CBot/CBotVar/CBotVarBoolean.cpp | 156 ++++++++++++++++++++++++++++++++++++
 src/CBot/CBotVar/CBotVarBoolean.h   | 133 ++++++++++++++++++++++++++++++
 src/CBot/CMakeLists.txt             |   1 +
 9 files changed, 309 insertions(+), 158 deletions(-)

diff --git a/src/CBot/CBot.h b/src/CBot/CBot.h
index 8c5f411..13a1191 100644
--- a/src/CBot/CBot.h
+++ b/src/CBot/CBot.h
@@ -344,34 +344,6 @@ public:
     bool        Save1State(FILE* pf) override;
 };
 
-// class for the management of boolean
-class CBotVarBoolean : public CBotVar
-{
-private:
-    bool        m_val;        // the value
-
-public:
-                CBotVarBoolean( const CBotToken* name );
-//                ~CBotVarBoolean();
-
-    void        SetValInt(int val, const char* s = nullptr) override;
-    void        SetValFloat(float val) override;
-    int            GetValInt() override;
-    float        GetValFloat() override;
-    CBotString    GetValString() override;
-
-    void        Copy(CBotVar* pSrc, bool bName=true) override;
-
-    void        And(CBotVar* left, CBotVar* right) override;
-    void        Or(CBotVar* left, CBotVar* right) override;
-    void        XOr(CBotVar* left, CBotVar* right) override;
-    void        Not() override;
-    bool        Eq(CBotVar* left, CBotVar* right) override;
-    bool        Ne(CBotVar* left, CBotVar* right) override;
-
-    bool        Save1State(FILE* pf) override;
-};
-
 
 extern CBotInstr* CompileParams(CBotToken* &p, CBotCStack* pStack, CBotVar** ppVars);
 
diff --git a/src/CBot/CBotProgram.cpp b/src/CBot/CBotProgram.cpp
index c06cfbe..9817f37 100644
--- a/src/CBot/CBotProgram.cpp
+++ b/src/CBot/CBotProgram.cpp
@@ -383,16 +383,6 @@ bool CBotProgram::AddFunction(const char* name,
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-bool WriteWord(FILE* pf, unsigned short w)
-{
-    size_t  lg;
-
-    lg = fwrite(&w, sizeof( unsigned short ), 1, pf );
-
-    return (lg == 1);
-}
-
-////////////////////////////////////////////////////////////////////////////////
 bool ReadWord(FILE* pf, unsigned short& w)
 {
     size_t  lg;
diff --git a/src/CBot/CBotStack.cpp b/src/CBot/CBotStack.cpp
index 1a21dd2..421bf5d 100644
--- a/src/CBot/CBotStack.cpp
+++ b/src/CBot/CBotStack.cpp
@@ -991,12 +991,6 @@ bool CBotVarInt::Save1State(FILE* pf)
 }
 
 ////////////////////////////////////////////////////////////////////////////////
-bool CBotVarBoolean::Save1State(FILE* pf)
-{
-    return WriteWord(pf, m_val);                            // the value of the variable
-}
-
-////////////////////////////////////////////////////////////////////////////////
 bool CBotVarFloat::Save1State(FILE* pf)
 {
     return WriteFloat(pf, m_val);                            // the value of the variable
diff --git a/src/CBot/CBotUtils.cpp b/src/CBot/CBotUtils.cpp
index bb2b940..3fe76d0 100644
--- a/src/CBot/CBotUtils.cpp
+++ b/src/CBot/CBotUtils.cpp
@@ -105,3 +105,13 @@ CBotTypResult ArrayType(CBotToken* &p, CBotCStack* pile, CBotTypResult type)
     }
     return type;
 }
+
+////////////////////////////////////////////////////////////////////////////////
+bool WriteWord(FILE* pf, unsigned short w)
+{
+    size_t  lg;
+
+    lg = fwrite(&w, sizeof( unsigned short ), 1, pf );
+
+    return (lg == 1);
+}
diff --git a/src/CBot/CBotUtils.h b/src/CBot/CBotUtils.h
index 9d452d8..47a83d7 100644
--- a/src/CBot/CBotUtils.h
+++ b/src/CBot/CBotUtils.h
@@ -51,3 +51,11 @@ CBotTypResult TypeParam(CBotToken* &p, CBotCStack* pile);
  * \return
  */
 CBotTypResult ArrayType(CBotToken* &p, CBotCStack* pile, CBotTypResult type);
+
+/*!
+ * \brief WriteWord
+ * \param pf
+ * \param w
+ * \return
+ */
+bool WriteWord(FILE* pf, unsigned short w);
diff --git a/src/CBot/CBotVar.cpp b/src/CBot/CBotVar.cpp
index dc2517d..ce0c5f0 100644
--- a/src/CBot/CBotVar.cpp
+++ b/src/CBot/CBotVar.cpp
@@ -30,6 +30,7 @@
 #include "CBotVar/CBotVarArray.h"
 #include "CBotVar/CBotVarPointer.h"
 #include "CBotVar/CBotVarClass.h"
+#include "CBotVar/CBotVarBoolean.h"
 
 #include "CBotDefines.h"
 #include "CBotClass.h"
@@ -102,22 +103,6 @@ CBotVarString::CBotVarString( const CBotToken* name )
     m_val.Empty();
 }
 
-CBotVarBoolean::CBotVarBoolean( const CBotToken* name )
-{
-    m_token        = new CBotToken(name);
-    m_next        = nullptr;
-    m_pMyThis    = nullptr;
-    m_pUserPtr    = nullptr;
-    m_InitExpr = nullptr;
-    m_LimExpr = nullptr;
-    m_type        = CBotTypBoolean;
-    m_binit        = InitType::UNDEF;
-    m_bStatic = false;
-    m_mPrivate = 0;
-
-    m_val        = 0;
-}
-
 CBotVar::~CBotVar( )
 {
     delete  m_token;
@@ -1139,104 +1124,6 @@ bool CBotVarFloat::Ne(CBotVar* left, CBotVar* right)
 //////////////////////////////////////////////////////////////////////////////////////
 
 // copy a variable into another
-void CBotVarBoolean::Copy(CBotVar* pSrc, bool bName)
-{
-    CBotVarBoolean*    p = static_cast<CBotVarBoolean*>(pSrc);
-
-    if (bName)    *m_token    = *p->m_token;
-    m_type        = p->m_type;
-    m_val        = p->m_val;
-    m_binit        = p->m_binit;
-//-    m_bStatic    = p->m_bStatic;
-    m_next        = nullptr;
-    m_pMyThis    = nullptr;//p->m_pMyThis;
-    m_pUserPtr    = p->m_pUserPtr;
-
-    // keeps indentificator the same (by default)
-    if (m_ident == 0 ) m_ident     = p->m_ident;
-}
-
-
-
-
-void CBotVarBoolean::SetValInt(int val, const char* s)
-{
-    m_val = static_cast<bool>(val);
-    m_binit    = CBotVar::InitType::DEF;
-}
-
-void CBotVarBoolean::SetValFloat(float val)
-{
-    m_val = static_cast<bool>(val);
-    m_binit    = CBotVar::InitType::DEF;
-}
-
-int CBotVarBoolean::GetValInt()
-{
-    return    m_val;
-}
-
-float CBotVarBoolean::GetValFloat()
-{
-    return static_cast<float>(m_val);
-}
-
-CBotString CBotVarBoolean::GetValString()
-{
-    CBotString    ret;
-
-    CBotString res;
-
-    if ( m_binit == CBotVar::InitType::UNDEF )
-    {
-        res.LoadString(TX_UNDEF);
-        return res;
-    }
-    if ( m_binit == CBotVar::InitType::IS_NAN )
-    {
-        res.LoadString(TX_NAN);
-        return res;
-    }
-
-    ret.LoadString( m_val > 0 ? ID_TRUE : ID_FALSE );
-    return    ret;
-}
-
-void CBotVarBoolean::And(CBotVar* left, CBotVar* right)
-{
-    m_val = left->GetValInt() && right->GetValInt();
-    m_binit = CBotVar::InitType::DEF;
-}
-void CBotVarBoolean::Or(CBotVar* left, CBotVar* right)
-{
-    m_val = left->GetValInt() || right->GetValInt();
-    m_binit = CBotVar::InitType::DEF;
-}
-
-void CBotVarBoolean::XOr(CBotVar* left, CBotVar* right)
-{
-    m_val = left->GetValInt() ^ right->GetValInt();
-    m_binit = CBotVar::InitType::DEF;
-}
-
-void CBotVarBoolean::Not()
-{
-    m_val = m_val ? false : true ;
-}
-
-bool CBotVarBoolean::Eq(CBotVar* left, CBotVar* right)
-{
-    return left->GetValInt() == right->GetValInt();
-}
-
-bool CBotVarBoolean::Ne(CBotVar* left, CBotVar* right)
-{
-    return left->GetValInt() != right->GetValInt();
-}
-
-//////////////////////////////////////////////////////////////////////////////////////
-
-// copy a variable into another
 void CBotVarString::Copy(CBotVar* pSrc, bool bName)
 {
     CBotVarString*    p = static_cast<CBotVarString*>(pSrc);
diff --git a/src/CBot/CBotVar/CBotVarBoolean.cpp b/src/CBot/CBotVar/CBotVarBoolean.cpp
new file mode 100644
index 0000000..f1c5934
--- /dev/null
+++ b/src/CBot/CBotVar/CBotVarBoolean.cpp
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the Colobot: Gold Edition source code
+ * Copyright (C) 2001-2015, Daniel Roux, EPSITEC SA & TerranovaTeam
+ * http://epsitec.ch; http://colobot.info; http://github.com/colobot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see http://gnu.org/licenses
+ */
+
+// Modules inlcude
+#include "CBotVarBoolean.h"
+
+#include "CBotUtils.h"
+
+// Local include
+
+// Global include
+
+
+////////////////////////////////////////////////////////////////////////////////
+CBotVarBoolean::CBotVarBoolean( const CBotToken* name )
+{
+    m_token        = new CBotToken(name);
+    m_next        = nullptr;
+    m_pMyThis    = nullptr;
+    m_pUserPtr    = nullptr;
+    m_InitExpr = nullptr;
+    m_LimExpr = nullptr;
+    m_type        = CBotTypBoolean;
+    m_binit        = InitType::UNDEF;
+    m_bStatic = false;
+    m_mPrivate = 0;
+
+    m_val        = 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::Copy(CBotVar* pSrc, bool bName)
+{
+    CBotVarBoolean*    p = static_cast<CBotVarBoolean*>(pSrc);
+
+    if (bName)    *m_token    = *p->m_token;
+    m_type        = p->m_type;
+    m_val        = p->m_val;
+    m_binit        = p->m_binit;
+//-    m_bStatic    = p->m_bStatic;
+    m_next        = nullptr;
+    m_pMyThis    = nullptr;//p->m_pMyThis;
+    m_pUserPtr    = p->m_pUserPtr;
+
+    // keeps indentificator the same (by default)
+    if (m_ident == 0 ) m_ident     = p->m_ident;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::SetValInt(int val, const char* s)
+{
+    m_val = static_cast<bool>(val);
+    m_binit    = CBotVar::InitType::DEF;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::SetValFloat(float val)
+{
+    m_val = static_cast<bool>(val);
+    m_binit    = CBotVar::InitType::DEF;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+int CBotVarBoolean::GetValInt()
+{
+    return    m_val;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+float CBotVarBoolean::GetValFloat()
+{
+    return static_cast<float>(m_val);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+CBotString CBotVarBoolean::GetValString()
+{
+    CBotString    ret;
+
+    CBotString res;
+
+    if ( m_binit == CBotVar::InitType::UNDEF )
+    {
+        res.LoadString(TX_UNDEF);
+        return res;
+    }
+    if ( m_binit == CBotVar::InitType::IS_NAN )
+    {
+        res.LoadString(TX_NAN);
+        return res;
+    }
+
+    ret.LoadString( m_val > 0 ? ID_TRUE : ID_FALSE );
+    return    ret;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::And(CBotVar* left, CBotVar* right)
+{
+    m_val = left->GetValInt() && right->GetValInt();
+    m_binit = CBotVar::InitType::DEF;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::Or(CBotVar* left, CBotVar* right)
+{
+    m_val = left->GetValInt() || right->GetValInt();
+    m_binit = CBotVar::InitType::DEF;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::XOr(CBotVar* left, CBotVar* right)
+{
+    m_val = left->GetValInt() ^ right->GetValInt();
+    m_binit = CBotVar::InitType::DEF;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void CBotVarBoolean::Not()
+{
+    m_val = m_val ? false : true ;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool CBotVarBoolean::Eq(CBotVar* left, CBotVar* right)
+{
+    return left->GetValInt() == right->GetValInt();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool CBotVarBoolean::Ne(CBotVar* left, CBotVar* right)
+{
+    return left->GetValInt() != right->GetValInt();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool CBotVarBoolean::Save1State(FILE* pf)
+{
+    return WriteWord(pf, m_val);                            // the value of the variable
+}
diff --git a/src/CBot/CBotVar/CBotVarBoolean.h b/src/CBot/CBotVar/CBotVarBoolean.h
new file mode 100644
index 0000000..e57c22f
--- /dev/null
+++ b/src/CBot/CBotVar/CBotVarBoolean.h
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the Colobot: Gold Edition source code
+ * Copyright (C) 2001-2015, Daniel Roux, EPSITEC SA & TerranovaTeam
+ * http://epsitec.ch; http://colobot.info; http://github.com/colobot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see http://gnu.org/licenses
+ */
+
+#pragma once
+
+// Modules inlcude
+#include "CBotToken.h"
+
+// Local include
+
+// Global include
+
+
+/*!
+ * \brief The CBotVarBoolean class Class for the management of boolean.
+ */
+class CBotVarBoolean : public CBotVar
+{
+public:
+
+    /*!
+     * \brief CBotVarBoolean
+     * \param name
+     */
+    CBotVarBoolean( const CBotToken* name );
+
+    /*!
+     * \brief SetValInt
+     * \param val
+     * \param s
+     */
+    void SetValInt(int val, const char* s = nullptr) override;
+
+    /*!
+     * \brief SetValFloat
+     * \param val
+     */
+    void SetValFloat(float val) override;
+
+    /*!
+     * \brief GetValInt
+     * \return
+     */
+    int GetValInt() override;
+
+    /*!
+     * \brief GetValFloat
+     * \return
+     */
+    float GetValFloat() override;
+
+    /*!
+     * \brief GetValString
+     * \return
+     */
+    CBotString GetValString() override;
+
+    /*!
+     * \brief Copy Copy a variable into another.
+     * \param pSrc
+     * \param bName
+     */
+    void Copy(CBotVar* pSrc, bool bName=true) override;
+
+    /*!
+     * \brief And
+     * \param left
+     * \param right
+     */
+    void And(CBotVar* left, CBotVar* right) override;
+
+    /*!
+     * \brief Or
+     * \param left
+     * \param right
+     */
+    void Or(CBotVar* left, CBotVar* right) override;
+
+    /*!
+     * \brief XOr
+     * \param left
+     * \param right
+     */
+    void XOr(CBotVar* left, CBotVar* right) override;
+
+    /*!
+     * \brief Not
+     */
+    void Not() override;
+
+    /*!
+     * \brief Eq
+     * \param left
+     * \param right
+     * \return
+     */
+    bool Eq(CBotVar* left, CBotVar* right) override;
+
+    /*!
+     * \brief Ne
+     * \param left
+     * \param right
+     * \return
+     */
+    bool Ne(CBotVar* left, CBotVar* right) override;
+
+    /*!
+     * \brief Save1State
+     * \param pf
+     * \return
+     */
+    bool Save1State(FILE* pf) override;
+
+private:
+    //! The value.
+    bool m_val;
+};
diff --git a/src/CBot/CMakeLists.txt b/src/CBot/CMakeLists.txt
index 098868e..283e01c 100644
--- a/src/CBot/CMakeLists.txt
+++ b/src/CBot/CMakeLists.txt
@@ -58,6 +58,7 @@ set(SOURCES
     CBotVar/CBotVarArray.cpp
     CBotVar/CBotVarPointer.cpp
     CBotVar/CBotVarClass.cpp
+    CBotVar/CBotVarBoolean.cpp
 )
 
 # Includes

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git



More information about the Pkg-games-commits mailing list