diff options
author | erihel <erihel@gmail.com> | 2012-09-11 12:49:41 +0200 |
---|---|---|
committer | erihel <erihel@gmail.com> | 2012-09-11 12:49:41 +0200 |
commit | 01cc0fbc49696a19a56dfdd8359d4bb77e868925 (patch) | |
tree | 81d0674e4b54e95dad5508948491a26d9d5522da /src | |
parent | 5903e400d476c2cf62c146643a0693c4fc29d68a (diff) | |
download | colobot-01cc0fbc49696a19a56dfdd8359d4bb77e868925.tar.gz colobot-01cc0fbc49696a19a56dfdd8359d4bb77e868925.tar.bz2 colobot-01cc0fbc49696a19a56dfdd8359d4bb77e868925.zip |
* latest changes
* all files except studio, map and maindialog should compile
* did some code cleanup
Diffstat (limited to 'src')
-rw-r--r-- | src/script/cbottoken.cpp | 10 | ||||
-rw-r--r-- | src/script/cbottoken.h | 10 | ||||
-rw-r--r-- | src/ui/button.cpp | 8 | ||||
-rw-r--r-- | src/ui/button.h | 49 | ||||
-rw-r--r-- | src/ui/check.cpp | 25 | ||||
-rw-r--r-- | src/ui/check.h | 26 | ||||
-rw-r--r-- | src/ui/color.cpp | 16 | ||||
-rw-r--r-- | src/ui/color.h | 45 | ||||
-rw-r--r-- | src/ui/compass.cpp | 17 | ||||
-rw-r--r-- | src/ui/compass.h | 35 | ||||
-rw-r--r-- | src/ui/control.cpp | 3 | ||||
-rw-r--r-- | src/ui/control.h | 222 | ||||
-rw-r--r-- | src/ui/displayinfo.cpp | 89 | ||||
-rw-r--r-- | src/ui/displayinfo.h | 130 | ||||
-rw-r--r-- | src/ui/displaytext.cpp | 29 | ||||
-rw-r--r-- | src/ui/displaytext.h | 7 | ||||
-rw-r--r-- | src/ui/edit.cpp | 2 | ||||
-rw-r--r-- | src/ui/maindialog.cpp | 14 | ||||
-rw-r--r-- | src/ui/maindialog.h | 1 | ||||
-rw-r--r-- | src/ui/map.cpp | 4 | ||||
-rw-r--r-- | src/ui/studio.cpp | 160 | ||||
-rw-r--r-- | src/ui/studio.h | 13 | ||||
-rw-r--r-- | src/ui/target.cpp | 20 | ||||
-rw-r--r-- | src/ui/target.h | 9 |
24 files changed, 453 insertions, 491 deletions
diff --git a/src/script/cbottoken.cpp b/src/script/cbottoken.cpp index 223da4d..788dba2 100644 --- a/src/script/cbottoken.cpp +++ b/src/script/cbottoken.cpp @@ -33,7 +33,7 @@ // Seeking the name of an object. -char* RetObjectName(ObjectType type) +char* GetObjectName(ObjectType type) { if ( type == OBJECT_PORTICO ) return "Portico"; if ( type == OBJECT_BASE ) return "SpaceShip"; @@ -126,7 +126,7 @@ char* RetObjectName(ObjectType type) // Seeking the name of a secondary object. // (because Otto thinks that Germans do not like nuclear power) -char* RetObjectAlias(ObjectType type) +char* GetObjectAlias(ObjectType type) { if ( type == OBJECT_NUCLEAR ) return "FuelCellPlant"; if ( type == OBJECT_URANIUM ) return "PlatinumOre"; @@ -139,7 +139,7 @@ char* RetObjectAlias(ObjectType type) // Returns the help file to use for the object. -char* RetHelpFilename(ObjectType type) +char* GetHelpFilename(ObjectType type) { if ( type == OBJECT_BASE ) return "help\\object\\base.txt"; if ( type == OBJECT_DERRICK ) return "help\\object\\derrick.txt"; @@ -224,7 +224,7 @@ char* RetHelpFilename(ObjectType type) // Returns the help file to use for instruction. -char* RetHelpFilename(const char *token) +char* GetHelpFilename(const char *token) { if ( strcmp(token, "if" ) == 0 ) return "help\\cbot\\if.txt"; if ( strcmp(token, "else" ) == 0 ) return "help\\cbot\\if.txt"; @@ -436,7 +436,7 @@ bool IsFunction(const char *token) // Returns using a compact instruction. -char* RetHelpText(const char *token) +char* GetHelpText(const char *token) { if ( strcmp(token, "if" ) == 0 ) return "if ( condition ) { bloc }"; if ( strcmp(token, "else" ) == 0 ) return "else { bloc }"; diff --git a/src/script/cbottoken.h b/src/script/cbottoken.h index c1a6a65..4be5f03 100644 --- a/src/script/cbottoken.h +++ b/src/script/cbottoken.h @@ -25,12 +25,12 @@ // Procedures. -extern char* RetObjectName(ObjectType type); -extern char* RetObjectAlias(ObjectType type); -extern char* RetHelpFilename(ObjectType type); -extern char* RetHelpFilename(const char *token); +extern char* GetObjectName(ObjectType type); +extern char* GetObjectAlias(ObjectType type); +extern char* GetHelpFilename(ObjectType type); +extern char* GetHelpFilename(const char *token); extern bool IsType(const char *token); extern bool IsFunction(const char *token); -extern char* RetHelpText(const char *token); +extern char* GetHelpText(const char *token); diff --git a/src/ui/button.cpp b/src/ui/button.cpp index 60c76b3..b8934c4 100644 --- a/src/ui/button.cpp +++ b/src/ui/button.cpp @@ -17,7 +17,13 @@ -#include <ui/button.h> +#include "button.h" + +#include <common/event.h> +#include <common/misc.h> +#include <common/restext.h> + +#include <graphics/engine/engine.h> namespace Ui { diff --git a/src/ui/button.h b/src/ui/button.h index 789b51c..ffaf220 100644 --- a/src/ui/button.h +++ b/src/ui/button.h @@ -19,43 +19,36 @@ #pragma once - -#include <ui/control.h> - -#include <graphics/engine/engine.h> - -#include <common/event.h> -#include <common/misc.h> -#include <common/restext.h> - +#include "control.h" namespace Ui { -class CButton : public CControl -{ -public: - CButton(); - virtual ~CButton(); - bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); + class CButton : public CControl + { + public: + CButton(); + virtual ~CButton(); + + bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); - bool EventProcess(const Event &event); + bool EventProcess(const Event &event); - void Draw(); + void Draw(); - void SetImmediat(bool bRepeat); - bool GetImmediat(); + void SetImmediat(bool bRepeat); + bool GetImmediat(); - void SetRepeat(bool bRepeat); - bool GetRepeat(); + void SetRepeat(bool bRepeat); + bool GetRepeat(); -protected: + protected: -protected: - bool m_bCapture; - bool m_bImmediat; - bool m_bRepeat; - float m_repeat; -}; + protected: + bool m_bCapture; + bool m_bImmediat; + bool m_bRepeat; + float m_repeat; + }; } diff --git a/src/ui/check.cpp b/src/ui/check.cpp index b4ddf4a..5c076d4 100644 --- a/src/ui/check.cpp +++ b/src/ui/check.cpp @@ -16,21 +16,16 @@ // * along with this program. If not, see http://www.gnu.org/licenses/. -//#include <windows.h> -//#include <stdio.h> -//#include <d3d.h> - -//#include "common/struct.h" -//#include "old/d3dengine.h" -#include "graphics/engine/engine.h" -//#include "old/math3d.h" -#include "common/event.h" -#include "common/misc.h" -#include "common/iman.h" -#include "common/restext.h" -//#include "old/text.h" -#include "graphics/engine/text.h" -#include "ui/check.h" +#include "check.h" + +#include <common/event.h> +#include <common/iman.h> +#include <common/misc.h> +#include <common/restext.h> + +#include <graphics/engine/engine.h> +#include <graphics/engine/text.h> + namespace Ui { diff --git a/src/ui/check.h b/src/ui/check.h index 0b6a1f2..1ad8a3a 100644 --- a/src/ui/check.h +++ b/src/ui/check.h @@ -19,30 +19,30 @@ #pragma once +#include "control.h" -#include "ui/control.h" namespace Gfx{ -class CEngine; + class CEngine; } namespace Ui { -class CCheck : public CControl -{ -public: - CCheck(); - virtual ~CCheck(); + class CCheck : public CControl + { + public: + CCheck(); + virtual ~CCheck(); - bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); + bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); - bool EventProcess(const Event &event); + bool EventProcess(const Event &event); - void Draw(); + void Draw(); -protected: + protected: -protected: -}; + protected: + }; } diff --git a/src/ui/color.cpp b/src/ui/color.cpp index 2d463b5..c8588b8 100644 --- a/src/ui/color.cpp +++ b/src/ui/color.cpp @@ -16,21 +16,15 @@ // * along with this program. If not, see http://www.gnu.org/licenses/. -//#include <windows.h> -//#include <stdio.h> -//#include <d3d.h> +#include "color.h" -//#include "common/struct.h" -//#include "old/d3dengine.h" -#include "graphics/engine/engine.h" -#include "graphics/core/device.h" -//#include "common/language.h" -//#include "old/math3d.h" #include "common/event.h" -#include "common/misc.h" #include "common/iman.h" +#include "common/misc.h" #include "common/restext.h" -#include "ui/color.h" + +#include "graphics/core/device.h" +#include "graphics/engine/engine.h" namespace Ui { diff --git a/src/ui/color.h b/src/ui/color.h index 2666f94..c282429 100644 --- a/src/ui/color.h +++ b/src/ui/color.h @@ -20,41 +20,40 @@ #pragma once -#include "ui/control.h" -//#include "graphics/engine/engine.h" +#include "control.h" namespace Gfx{ -class CEngine; -struct Color; + class CEngine; + struct Color; } namespace Ui { -class CColor : public CControl -{ -public: -// CColor(CInstanceManager* iMan); - CColor(); - virtual ~CColor(); + class CColor : public CControl + { + public: + // CColor(CInstanceManager* iMan); + CColor(); + virtual ~CColor(); - bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); + bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); - bool EventProcess(const Event &event); + bool EventProcess(const Event &event); - void Draw(); + void Draw(); - void SetRepeat(bool bRepeat); - bool GetRepeat(); + void SetRepeat(bool bRepeat); + bool GetRepeat(); - void SetColor(Gfx::Color color); - Gfx::Color GetColor(); + void SetColor(Gfx::Color color); + Gfx::Color GetColor(); -protected: + protected: -protected: - bool m_bRepeat; - float m_repeat; - Gfx::Color m_color; -}; + protected: + bool m_bRepeat; + float m_repeat; + Gfx::Color m_color; + }; } diff --git a/src/ui/compass.cpp b/src/ui/compass.cpp index 95e75b3..1969710 100644 --- a/src/ui/compass.cpp +++ b/src/ui/compass.cpp @@ -15,23 +15,16 @@ // * You should have received a copy of the GNU General Public License // * along with this program. If not, see http://www.gnu.org/licenses/. +#include "compass.h" -//#include <windows.h> -//#include <stdio.h> -//#include <d3d.h> - -//#include "common/struct.h" -#include "math/geometry.h" -//#include "old/d3dengine.h" -#include "graphics/engine/engine.h" -#include "graphics/core/device.h" -//#include "old/math3d.h" #include "common/event.h" -#include "common/misc.h" #include "common/iman.h" -#include "ui/compass.h" +#include "common/misc.h" +#include "graphics/core/device.h" +#include "graphics/engine/engine.h" +#include "math/geometry.h" namespace Ui { // Object's constructor. diff --git a/src/ui/compass.h b/src/ui/compass.h index 1d48907..e8ccc17 100644 --- a/src/ui/compass.h +++ b/src/ui/compass.h @@ -20,34 +20,35 @@ #pragma once -#include "ui/control.h" +#include "control.h" namespace Gfx { -class CEngine; + class CEngine; } namespace Ui { -class CCompass : public CControl -{ -public: -// CCompass(CInstanceManager* iMan); - CCompass(); - virtual ~CCompass(); - bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); + class CCompass : public CControl + { + public: + // CCompass(CInstanceManager* iMan); + CCompass(); + virtual ~CCompass(); - bool EventProcess(const Event &event); + bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); - void Draw(); + bool EventProcess(const Event &event); - void SetDirection(float dir); - float GetDirection(); + void Draw(); -protected: + void SetDirection(float dir); + float GetDirection(); -protected: - float m_dir; -}; + protected: + + protected: + float m_dir; + }; } diff --git a/src/ui/control.cpp b/src/ui/control.cpp index 59e9f00..c5d505e 100644 --- a/src/ui/control.cpp +++ b/src/ui/control.cpp @@ -16,8 +16,7 @@ // * along with this program. If not, see http://www.gnu.org/licenses/. -#include <ui/control.h> - +#include "control.h" namespace Ui { diff --git a/src/ui/control.h b/src/ui/control.h index b16a324..48c3ef9 100644 --- a/src/ui/control.h +++ b/src/ui/control.h @@ -21,17 +21,17 @@ #include <string> +#include <common/event.h> +#include <common/iman.h> +#include <common/language.h> +#include <common/misc.h> +#include <common/restext.h> + #include <graphics/core/device.h> #include <graphics/engine/engine.h> #include <graphics/engine/particle.h> #include <graphics/engine/text.h> -#include <common/language.h> -#include <common/restext.h> -#include <common/event.h> -#include <common/misc.h> -#include <common/iman.h> - #include <object/robotmain.h> #include <sound/sound.h> @@ -40,111 +40,109 @@ namespace Ui { - -enum ControlState -{ - STATE_ENABLE = (1<<0), // active - STATE_CHECK = (1<<1), // pressed - STATE_HILIGHT = (1<<2), // overflown by mouse - STATE_PRESS = (1<<3), // pressed by mouse - STATE_VISIBLE = (1<<4), // visible - STATE_DEAD = (1<<5), // inaccessible (x) - STATE_DEFAULT = (1<<6), // actuated by RETURN - STATE_OKAY = (1<<7), // green point at the bottom right - STATE_SHADOW = (1<<8), // shadow - STATE_GLINT = (1<<9), // dynamic reflection - STATE_CARD = (1<<10), // tab - STATE_EXTEND = (1<<11), // extended mode - STATE_SIMPLY = (1<<12), // undecorated - STATE_FRAME = (1<<13), // framework highlighting - STATE_WARNING = (1<<14), // framework hatched yellow / black - STATE_VALUE = (1<<15), // displays the value - STATE_RUN = (1<<16) // running program -}; - - - -class CControl -{ -public: -// CControl(CInstanceManager* iMan); - CControl (); - virtual ~CControl(); - - virtual bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); - - virtual bool EventProcess(const Event &event); - - virtual void SetPos(Math::Point pos); - virtual Math::Point GetPos(); - virtual void SetDim(Math::Point dim); - virtual Math::Point GetDim(); - virtual bool SetState(int state, bool bState); - virtual bool SetState(int state); - virtual bool ClearState(int state); - virtual bool TestState(int state); - virtual int GetState(); - virtual void SetIcon(int icon); - virtual int GetIcon(); - virtual void SetName(std::string name, bool bTooltip=true); - virtual std::string GetName(); - virtual void SetTextAlign(Gfx::TextAlign mode); - virtual int GetTextAlign(); - virtual void SetFontSize(float size); - virtual float GetFontSize(); - virtual void SetFontStretch(float stretch); - virtual float GetFontStretch(); - virtual void SetFontType(Gfx::FontType font); - virtual Gfx::FontType GetFontType(); - virtual bool SetTooltip(std::string name); - virtual bool GetTooltip(Math::Point pos, std::string &name); - virtual void SetFocus(bool bFocus); - virtual bool GetFocus(); - - virtual EventType GetEventType(); - - virtual void Draw(); - -protected: - void GlintDelete(); - void GlintCreate(Math::Point ref, bool bLeft=true, bool bUp=true); - void GlintFrame(const Event &event); - void DrawPart(int icon, float zoom, float ex); - void DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math::Point uv2, float ex=0.0f); - void DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math::Point uv2, Math::Point corner, float ex); - void DrawWarning(Math::Point pos, Math::Point dim); - void DrawShadow(Math::Point pos, Math::Point dim, float deep=1.0f); - virtual bool Detect(Math::Point pos); - -protected: - CInstanceManager* m_iMan; - Gfx::CEngine* m_engine; - CEventQueue* m_event; - CRobotMain* m_main; - Gfx::CParticle* m_particle; - CSoundInterface* m_sound; - - Math::Point m_pos; // corner upper / left - Math::Point m_dim; // dimensions - int m_icon; - EventType m_eventType; // message to send when clicking - int m_state; // states (STATE_ *) - float m_fontSize; // size of the button name - float m_fontStretch; // stretch of the font - Gfx::FontType m_fontType; // type of font - Gfx::TextAlign m_textAlign; //type of alignment //comes in the place of m_justif -// int m_justif; // type of justification (-1,0,1) - std::string m_name; // name of the button - std::string m_tooltip; // name of tooltip - bool m_bFocus; - bool m_bCapture; - - bool m_bGlint; - Math::Point m_glintCorner1; - Math::Point m_glintCorner2; - float m_glintProgress; - Math::Point m_glintMouse; -}; - + enum ControlState + { + STATE_ENABLE = (1<<0), // active + STATE_CHECK = (1<<1), // pressed + STATE_HILIGHT = (1<<2), // overflown by mouse + STATE_PRESS = (1<<3), // pressed by mouse + STATE_VISIBLE = (1<<4), // visible + STATE_DEAD = (1<<5), // inaccessible (x) + STATE_DEFAULT = (1<<6), // actuated by RETURN + STATE_OKAY = (1<<7), // green point at the bottom right + STATE_SHADOW = (1<<8), // shadow + STATE_GLINT = (1<<9), // dynamic reflection + STATE_CARD = (1<<10), // tab + STATE_EXTEND = (1<<11), // extended mode + STATE_SIMPLY = (1<<12), // undecorated + STATE_FRAME = (1<<13), // framework highlighting + STATE_WARNING = (1<<14), // framework hatched yellow / black + STATE_VALUE = (1<<15), // displays the value + STATE_RUN = (1<<16) // running program + }; + + + + class CControl + { + public: + // CControl(CInstanceManager* iMan); + CControl (); + virtual ~CControl(); + + virtual bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType); + + virtual bool EventProcess(const Event &event); + + virtual void SetPos(Math::Point pos); + virtual Math::Point GetPos(); + virtual void SetDim(Math::Point dim); + virtual Math::Point GetDim(); + virtual bool SetState(int state, bool bState); + virtual bool SetState(int state); + virtual bool ClearState(int state); + virtual bool TestState(int state); + virtual int GetState(); + virtual void SetIcon(int icon); + virtual int GetIcon(); + virtual void SetName(std::string name, bool bTooltip=true); + virtual std::string GetName(); + virtual void SetTextAlign(Gfx::TextAlign mode); + virtual int GetTextAlign(); + virtual void SetFontSize(float size); + virtual float GetFontSize(); + virtual void SetFontStretch(float stretch); + virtual float GetFontStretch(); + virtual void SetFontType(Gfx::FontType font); + virtual Gfx::FontType GetFontType(); + virtual bool SetTooltip(std::string name); + virtual bool GetTooltip(Math::Point pos, std::string &name); + virtual void SetFocus(bool bFocus); + virtual bool GetFocus(); + + virtual EventType GetEventType(); + + virtual void Draw(); + + protected: + void GlintDelete(); + void GlintCreate(Math::Point ref, bool bLeft=true, bool bUp=true); + void GlintFrame(const Event &event); + void DrawPart(int icon, float zoom, float ex); + void DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math::Point uv2, float ex=0.0f); + void DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math::Point uv2, Math::Point corner, float ex); + void DrawWarning(Math::Point pos, Math::Point dim); + void DrawShadow(Math::Point pos, Math::Point dim, float deep=1.0f); + virtual bool Detect(Math::Point pos); + + protected: + CInstanceManager* m_iMan; + Gfx::CEngine* m_engine; + CEventQueue* m_event; + CRobotMain* m_main; + Gfx::CParticle* m_particle; + CSoundInterface* m_sound; + + Math::Point m_pos; // corner upper / left + Math::Point m_dim; // dimensions + int m_icon; + EventType m_eventType; // message to send when clicking + int m_state; // states (STATE_ *) + float m_fontSize; // size of the button name + float m_fontStretch; // stretch of the font + Gfx::FontType m_fontType; // type of font + Gfx::TextAlign m_textAlign; //type of alignment //comes in the place of m_justif + // int m_justif; // type of justification (-1,0,1) + std::string m_name; // name of the button + std::string m_tooltip; // name of tooltip + bool m_bFocus; + bool m_bCapture; + + bool m_bGlint; + Math::Point m_glintCorner1; + Math::Point m_glintCorner2; + float m_glintProgress; + Math::Point m_glintMouse; + }; } diff --git a/src/ui/displayinfo.cpp b/src/ui/displayinfo.cpp index bbd3740..2cba9e3 100644 --- a/src/ui/displayinfo.cpp +++ b/src/ui/displayinfo.cpp @@ -18,37 +18,32 @@ // displayinfo.cpp -//#include <windows.h> -//#include <stdio.h> -//#include <d3d.h> +#include "displayinfo.h" -//#include "common/struct.h" -//#include "old/d3dengine.h" -//#include "old/d3dmath.h" -#include "graphics/engine/engine.h" +#include "interface.h" +#include "button.h" +#include "slider.h" +#include "edit.h" +#include "group.h" +#include "window.h" + +#include "common/iman.h" #include "common/language.h" -#include "common/event.h" #include "common/misc.h" -#include "common/iman.h" #include "common/restext.h" -//#include "old/math3d.h" -#include "object/robotmain.h" -//#include "old/camera.h" + +#include "graphics/core/light.h" +#include "graphics/engine/engine.h" +#include "graphics/engine/lightman.h" +#include "graphics/engine/particle.h" + #include "object/object.h" +#include "object/robotmain.h" #include "object/motion/motion.h" #include "object/motion/motiontoto.h" -#include "ui/interface.h" -#include "ui/button.h" -#include "ui/slider.h" -#include "ui/edit.h" -#include "ui/group.h" -#include "ui/window.h" -//#include "old/particule.h" -#include "graphics/engine/particle.h" -//#include "old/light.h" -//#include "old/text.h" + #include "script/cbottoken.h" -#include "ui/displayinfo.h" + @@ -67,7 +62,7 @@ CDisplayInfo::CDisplayInfo() m_main = static_cast <CRobotMain*> (m_iMan->SearchInstance(CLASS_MAIN)); m_camera = static_cast <Gfx::CCamera*> (m_iMan->SearchInstance(CLASS_CAMERA)); m_particle = static_cast <Gfx::CParticle*> (m_iMan->SearchInstance(CLASS_PARTICULE)); - m_light = static_cast <Gfx::CLight*> (m_iMan->SearchInstance(CLASS_LIGHT)); + m_light = static_cast <Gfx::CLightManager*> (m_iMan->SearchInstance(CLASS_LIGHT)); m_bInfoMaximized = true; m_bInfoMinimized = false; @@ -338,9 +333,9 @@ void CDisplayInfo::HyperUpdate() // Beginning of the display of information. -void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce) +void CDisplayInfo::StartDisplayInfo(std::string filename, int index, bool bSoluce) { - Gfx::CLight light; + Gfx::Light light; Math::Point pos, dim; Ui::CWindow* pw; Ui::CEdit* edit; @@ -389,8 +384,8 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce) edit->SetMaxChar(10000); edit->SetFontType(Gfx::FONT_COLOBOT); edit->SetSoluceMode(bSoluce); - edit->ReadText(filename); - edit->HyperHome(filename); + edit->ReadText(filename.c_str()); + edit->HyperHome(filename.c_str()); edit->SetEditCap(false); // just to see! edit->SetHiliteCap(false); edit->SetFocus(true); @@ -435,7 +430,7 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce) button->SetState(STATE_SHADOW); slider = pw->CreateSlider(pos, dim, 0, EVENT_STUDIO_SIZE); slider->SetState(STATE_SHADOW); - slider->SetVisibleValue((m_main->RetFontSize()-9.0f)/6.0f); + slider->SetVisibleValue((m_main->GetFontSize()-9.0f)/6.0f); button = pw->CreateButton(pos, dim, 61, EVENT_HYPER_COPY); button->SetState(STATE_SHADOW); HyperUpdate(); @@ -464,16 +459,14 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce) toto->StartDisplayInfo(); } } -// TODO - ZeroMemory(&light, sizeof(light)); - light.dltType = D3DLIGHT_DIRECTIONAL; - light.dcvDiffuse.r = 1.0f; - light.dcvDiffuse.g = 1.0f; - light.dcvDiffuse.b = 1.0f; - light.dvDirection = D3DVECTOR(1.0f, 0.0f, 1.0f); + + light.type = Gfx::LIGHT_DIRECTIONAL; + light.diffuse = Gfx::Color(1.0f, 0.1f, 0.1f); + light.direction = Math::Vector(1.0f, 0.0f, 1.0f); + m_lightSuppl = m_light->CreateLight(); m_light->SetLight(m_lightSuppl, light); - m_light->SetLightExcluType(m_lightSuppl, TYPETERRAIN); + m_light->SetLightExcludeType(m_lightSuppl, Gfx::ENG_OBJTYPE_TERRAIN); } // Repositions all controls editing. @@ -719,7 +712,7 @@ void CDisplayInfo::UpdateIndexButton() if ( button != 0 ) { button->SetState(STATE_CHECK, m_index==SATCOM_HUSTON); - filename = m_main->RetDisplayInfoName(SATCOM_HUSTON); + filename = m_main->GetDisplayInfoName(SATCOM_HUSTON); button->SetState(STATE_VISIBLE, filename[0]!=0); } @@ -727,7 +720,7 @@ void CDisplayInfo::UpdateIndexButton() if ( button != 0 ) { button->SetState(STATE_CHECK, m_index==SATCOM_SAT); - filename = m_main->RetDisplayInfoName(SATCOM_SAT); + filename = m_main->GetDisplayInfoName(SATCOM_SAT); button->SetState(STATE_VISIBLE, filename[0]!=0); } @@ -735,7 +728,7 @@ void CDisplayInfo::UpdateIndexButton() //? if ( button != 0 ) //? { //? button->SetState(STATE_CHECK, m_index==SATCOM_OBJECT); -//? filename = m_main->RetDisplayInfoName(SATCOM_OBJECT); +//? filename = m_main->GetDisplayInfoName(SATCOM_OBJECT); //? button->SetState(STATE_VISIBLE, filename[0]!=0); //? } @@ -744,7 +737,7 @@ void CDisplayInfo::UpdateIndexButton() if ( button != 0 ) { button->SetState(STATE_CHECK, m_index==SATCOM_LOADING); - loading = m_main->RetDisplayInfoName(SATCOM_LOADING); + loading = m_main->GetDisplayInfoName(SATCOM_LOADING); button->SetState(STATE_VISIBLE, loading[0]!=0); } @@ -752,7 +745,7 @@ void CDisplayInfo::UpdateIndexButton() if ( button != 0 ) { button->SetState(STATE_CHECK, m_index==SATCOM_PROG); - filename = m_main->RetDisplayInfoName(SATCOM_PROG); + filename = m_main->GetDisplayInfoName(SATCOM_PROG); button->SetState(STATE_VISIBLE, filename[0]!=0 && (m_index==SATCOM_LOADING||m_index==SATCOM_PROG||(loading!=0&&loading[0]==0))); } @@ -760,7 +753,7 @@ void CDisplayInfo::UpdateIndexButton() if ( button != 0 ) { button->SetState(STATE_CHECK, m_index==SATCOM_SOLUCE); - filename = m_main->RetDisplayInfoName(SATCOM_SOLUCE); + filename = m_main->GetDisplayInfoName(SATCOM_SOLUCE); button->SetState(STATE_VISIBLE, filename[0]!=0 && m_bSoluce); } @@ -858,12 +851,12 @@ void CDisplayInfo::StopDisplayInfo() m_engine->SetDrawWorld(true); // draws all on the interface m_engine->SetDrawFront(false); // draws nothing on the interface m_particle->SetFrameUpdate(Gfx::SH_WORLD, true); - m_particle->FlushParticule(Gfx::SH_FRONT); - m_particle->FlushParticule(Gfx::SH_INTERFACE); + m_particle->FlushParticle(Gfx::SH_FRONT); + m_particle->FlushParticle(Gfx::SH_INTERFACE); if ( m_toto != 0 ) { - toto = (CMotionToto*)m_toto->GetMotion(); + toto = static_cast<CMotionToto*>(m_toto->GetMotion()); if ( toto != 0 ) { toto->StopDisplayInfo(); @@ -915,7 +908,7 @@ void CDisplayInfo::ViewDisplayInfo() { Ui::CWindow* pw; Ui::CEdit* edit; - Math::Point dim; + Math::IntPoint dim; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return; @@ -923,7 +916,7 @@ void CDisplayInfo::ViewDisplayInfo() edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit == 0 ) return; - dim = m_engine->GetDim(); + dim = m_engine->GetWindowSize(); edit->SetFontSize(m_main->GetFontSize()/(dim.x / 640.0f)); } diff --git a/src/ui/displayinfo.h b/src/ui/displayinfo.h index 1eaa39b..2eabbf2 100644 --- a/src/ui/displayinfo.h +++ b/src/ui/displayinfo.h @@ -19,83 +19,81 @@ #pragma once +#include <string> -#include "common/struct.h" -#include "old/camera.h" +#include "common/event.h" +#include "graphics/engine/camera.h" class CInstanceManager; -//class CD3DEngine; -class CEvent; class CRobotMain; -//class CCamera; - class CObject; -//class CLight; +class CEventQueue; + +struct Event; namespace Gfx { -class CEngine; -class Camera; -class Particle; -class CLight; + class CEngine; + class CParticle; + class CLightManager; } namespace Ui { -class CInterface; - -class CDisplayInfo -{ -public: -// CDisplayInfo(CInstanceManager* iMan); - CDisplayInfo(); - ~CDisplayInfo(); - - bool EventProcess(const Event &event); - - void StartDisplayInfo(char *filename, int index, bool bSoluce); - void StopDisplayInfo(); - - void SetPosition(int pos); - int GetPosition(); - -protected: - bool EventFrame(const Event &event); - void HyperUpdate(); - void AdjustDisplayInfo(Math::Point wpos, Math::Point wdim); - void ChangeIndexButton(int index); - void UpdateIndexButton(); - void UpdateCopyButton(); - void ViewDisplayInfo(); - CObject* SearchToto(); - void CreateObjectsFile(); - -protected: - CInstanceManager* m_iMan; - Gfx::CEngine* m_engine; - CEventQueue* m_event; - CRobotMain* m_main; - Gfx::CCamera* m_camera; - CInterface* m_interface; - Gfx::CParticle* m_particle; - Gfx::CLight* m_light; - - bool m_bInfoMaximized; - bool m_bInfoMinimized; - - int m_index; - Gfx::CameraType m_infoCamera; - Math::Point m_infoNormalPos; - Math::Point m_infoNormalDim; - Math::Point m_infoActualPos; - Math::Point m_infoActualDim; - Math::Point m_infoFinalPos; - Math::Point m_infoFinalDim; - int m_lightSuppl; - bool m_bEditLock; - bool m_bInitPause; - bool m_bSoluce; - CObject* m_toto; -}; + class CInterface; + + class CDisplayInfo + { + public: + // CDisplayInfo(CInstanceManager* iMan); + CDisplayInfo(); + ~CDisplayInfo(); + + bool EventProcess(const Event &event); + + void StartDisplayInfo(std::string filename, int index, bool bSoluce); + void StopDisplayInfo(); + + void SetPosition(int pos); + int GetPosition(); + + protected: + bool EventFrame(const Event &event); + void HyperUpdate(); + void AdjustDisplayInfo(Math::Point wpos, Math::Point wdim); + void ChangeIndexButton(int index); + void UpdateIndexButton(); + void UpdateCopyButton(); + void ViewDisplayInfo(); + CObject* SearchToto(); + void CreateObjectsFile(); + + protected: + CInstanceManager* m_iMan; + Gfx::CEngine* m_engine; + CEventQueue* m_event; + CRobotMain* m_main; + Gfx::CCamera* m_camera; + CInterface* m_interface; + Gfx::CParticle* m_particle; + Gfx::CLightManager* m_light; + + bool m_bInfoMaximized; + bool m_bInfoMinimized; + + int m_index; + Gfx::CameraType m_infoCamera; + Math::Point m_infoNormalPos; + Math::Point m_infoNormalDim; + Math::Point m_infoActualPos; + Math::Point m_infoActualDim; + Math::Point m_infoFinalPos; + Math::Point m_infoFinalDim; + int m_lightSuppl; + bool m_bEditLock; + bool m_bInitPause; + bool m_bSoluce; + CObject* m_toto; + }; } diff --git a/src/ui/displaytext.cpp b/src/ui/displaytext.cpp index 1e26f7f..aa51653 100644 --- a/src/ui/displaytext.cpp +++ b/src/ui/displaytext.cpp @@ -18,29 +18,26 @@ // displaytext.cpp -//#include <windows.h> -//#include <stdio.h> -//#include <d3d.h> +#include "displaytext.h" + +#include "interface.h" +#include "button.h" +#include "label.h" +#include "window.h" +#include "group.h" -//#include "common/struct.h" -//#include "old/d3dengine.h" -#include "graphics/engine/engine.h" #include "common/event.h" +#include "common/iman.h" #include "common/misc.h" #include "common/restext.h" -#include "common/iman.h" + +#include "graphics/engine/engine.h" + #include "object/object.h" #include "object/motion/motion.h" #include "object/motion/motiontoto.h" -#include "ui/interface.h" -#include "ui/button.h" -#include "ui/label.h" -#include "ui/window.h" -#include "ui/group.h" -//#include "old/text.h" -//#include "old/sound.h" -//#include "sound/sound.h" -#include "ui/displaytext.h" + + namespace Ui { diff --git a/src/ui/displaytext.h b/src/ui/displaytext.h index d560433..b8af97e 100644 --- a/src/ui/displaytext.h +++ b/src/ui/displaytext.h @@ -22,8 +22,9 @@ #include "common/event.h" #include "common/misc.h" + #include "sound/sound.h" -//#include "old/d3dengine.h" + class CInstanceManager; @@ -31,6 +32,10 @@ class CInstanceManager; class CObject; class CSound; +namespace Gfx { + class CEngine; +} + namespace Ui {; class CInterface; diff --git a/src/ui/edit.cpp b/src/ui/edit.cpp index 2052356..cc911a4 100644 --- a/src/ui/edit.cpp +++ b/src/ui/edit.cpp @@ -18,7 +18,7 @@ // edit.cpp -#include <ui/edit.h> +#include "edit.h" namespace Ui { diff --git a/src/ui/maindialog.cpp b/src/ui/maindialog.cpp index c8759e0..6b071c1 100644 --- a/src/ui/maindialog.cpp +++ b/src/ui/maindialog.cpp @@ -17,16 +17,7 @@ // maindialog.cpp -#include <windows.h> -#include <stdio.h> -#include <time.h> -#include <direct.h> -#include <io.h> -#include <d3d.h> - #include "common/struct.h" -#include "old/d3dengine.h" -#include "old/d3dmath.h" #include "common/global.h" #include "common/language.h" #include "common/event.h" @@ -34,8 +25,6 @@ #include "common/profile.h" #include "common/iman.h" #include "common/restext.h" -#include "old/math3d.h" -#include "old/particule.h" #include "ui/interface.h" #include "ui/button.h" #include "ui/color.h" @@ -50,9 +39,6 @@ #include "ui/window.h" #include "ui/edit.h" #include "ui/editvalue.h" -#include "old/text.h" -#include "old/camera.h" -#include "old/sound.h" #include "script/cmdtoken.h" #include "object/robotmain.h" #include "ui/maindialog.h" diff --git a/src/ui/maindialog.h b/src/ui/maindialog.h index cfd9564..bddd61f 100644 --- a/src/ui/maindialog.h +++ b/src/ui/maindialog.h @@ -20,7 +20,6 @@ #include "common/struct.h" -#include "old/camera.h" #include "object/robotmain.h" diff --git a/src/ui/map.cpp b/src/ui/map.cpp index 30edfb1..5139d88 100644 --- a/src/ui/map.cpp +++ b/src/ui/map.cpp @@ -18,7 +18,9 @@ // map.cpp -#include <ui/map.h> +#include "map.h" + + namespace Ui { diff --git a/src/ui/studio.cpp b/src/ui/studio.cpp index 928e129..5062798 100644 --- a/src/ui/studio.cpp +++ b/src/ui/studio.cpp @@ -18,7 +18,9 @@ // studio.cpp -#include <ui/studio.h> +#include "studio.h" + +#include <script/cbottoken.h> namespace Ui { @@ -36,6 +38,7 @@ CStudio::CStudio() m_main = static_cast<CRobotMain*>(m_iMan->SearchInstance(CLASS_MAIN)); m_camera = static_cast<CCamera*>(m_iMan->SearchInstance(CLASS_CAMERA)); m_sound = static_cast<CSoundInterface*>(m_iMan->SearchInstance(CLASS_SOUND)); + m_app = CApplication::GetInstancePointer(); m_bEditMaximized = false; m_bEditMinimized = false; @@ -76,15 +79,15 @@ bool CStudio::EventProcess(const Event &event) } pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; - edit = (CEdit*)pw->SearchControl(EVENT_STUDIO_EDIT); + edit = static_cast<CEdit*>(pw->SearchControl(EVENT_STUDIO_EDIT)); if ( edit == 0 ) return false; if ( event.type == pw->GetEventTypeClose() ) { Event newEvent = event; - newEvent.event = EVENT_STUDIO_OK; + newEvent.type = EVENT_STUDIO_OK; m_event->AddEvent(newEvent); } @@ -95,7 +98,7 @@ bool CStudio::EventProcess(const Event &event) if ( event.type == EVENT_STUDIO_LIST ) // list clicked? { - m_main->StartDisplayInfo(m_helpFilename, -1); + m_main->StartDisplayInfo(const_cast<char *>(m_helpFilename.c_str()), -1); // TODO change to std::string when RobotMain changes } if ( event.type == EVENT_STUDIO_NEW ) // new? @@ -169,7 +172,7 @@ bool CStudio::EventProcess(const Event &event) if ( m_script->IsRunning() ) { Event newEvent = event; - newEvent.event = EVENT_OBJECT_PROGSTOP; + newEvent.type = EVENT_OBJECT_PROGSTOP; m_event->AddEvent(newEvent); // stop } else @@ -179,7 +182,7 @@ bool CStudio::EventProcess(const Event &event) SetInfoText("", false); Event newEvent = event; - newEvent.event = EVENT_OBJECT_PROGSTART; + newEvent.type = EVENT_OBJECT_PROGSTART; m_event->AddEvent(newEvent); // start } else @@ -204,14 +207,14 @@ bool CStudio::EventProcess(const Event &event) m_script->Step(event); } - if ( event.type == EVENT_KEYDOWN ) + if ( event.type == EVENT_KEY_DOWN ) { - if ( event.param == m_engine->GetKey(KEYRANK_CBOT, 0) || - event.param == m_engine->GetKey(KEYRANK_CBOT, 1) ) + if ( event.param == m_app->GetKey(KEYRANK_CBOT, 0) || + event.param == m_app->GetKey(KEYRANK_CBOT, 1) ) { - if ( m_helpFilename[0] != 0 ) + if ( m_helpFilename.length() > 0 ) { - m_main->StartDisplayInfo(m_helpFilename, -1); + m_main->StartDisplayInfo(const_cast<char *>(m_helpFilename.c_str()), -1); // TODO change to std::string when RobotMain changes } } } @@ -244,7 +247,7 @@ bool CStudio::EventProcess(const Event &event) } m_main->SetEditFull(m_bEditMaximized); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) + if ( pw != nullptr ) { pw->SetMaximized(m_bEditMaximized); pw->SetMinimized(m_bEditMinimized); @@ -270,7 +273,7 @@ bool CStudio::EventProcess(const Event &event) } m_main->SetEditFull(m_bEditMaximized); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) + if ( pw != nullptr ) { pw->SetMaximized(m_bEditMaximized); pw->SetMinimized(m_bEditMinimized); @@ -316,7 +319,7 @@ bool CStudio::EventFrame(const Event &event) m_fixInfoTextTime -= event.rTime; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; edit = (CEdit*)pw->SearchControl(EVENT_STUDIO_EDIT); if ( edit == 0 ) return false; @@ -330,10 +333,10 @@ bool CStudio::EventFrame(const Event &event) UpdateFlux(); // stop AdjustEditScript(); GetResource(RES_TEXT, RT_STUDIO_PROGSTOP, res); - SetInfoText(res, false); + SetInfoText(std::string(res), false); Event newEvent = event; - newEvent.event = EVENT_OBJECT_PROGSTOP; + newEvent.type = EVENT_OBJECT_PROGSTOP; m_event->AddEvent(newEvent); // stop } @@ -386,7 +389,7 @@ bool IsToken(int character) { char c; - c = tolower(RetNoAccent(character)); + c = tolower(GetNoAccent(character)); return ( (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || @@ -466,8 +469,8 @@ void CStudio::SearchToken(CEdit* edit) } token[i] = 0; - strcpy(m_helpFilename, GetHelpFilename(token)); - if ( m_helpFilename[0] == 0 ) + m_helpFilename = std::string(GetHelpFilename(token)); + if ( m_helpFilename.length() == 0 ) { for ( i=0 ; i<OBJECT_MAX ; i++ ) { @@ -477,28 +480,28 @@ void CStudio::SearchToken(CEdit* edit) { if ( strcmp(token, text) == 0 ) { - strcpy(m_helpFilename, GetHelpFilename(type)); - SetInfoText(token, true); + m_helpFilename = GetHelpFilename(type); + SetInfoText(std::string(token), true); return; } } - text = RetObjectAlias(type); + text = GetObjectAlias(type); if ( text[0] != 0 ) { if ( strcmp(token, text) == 0 ) { - strcpy(m_helpFilename, GetHelpFilename(type)); - SetInfoText(token, true); + m_helpFilename = GetHelpFilename(type); + SetInfoText(std::string(token), true); return; } } } } - text = RetHelpText(token); - if ( text[0] == 0 && m_helpFilename[0] != 0 ) + text = GetHelpText(token); + if ( text[0] == 0 && m_helpFilename.length() > 0 ) { - SetInfoText(token, true); + SetInfoText(std::string(token), true); } else { @@ -516,7 +519,7 @@ void CStudio::ColorizeScript(CEdit* edit) // Starts editing a program. -void CStudio::StartEditScript(CScript *script, char* name, int rank) +void CStudio::StartEditScript(CScript *script, std::string name, int rank) { Math::Point pos, dim; CWindow* pw; @@ -534,7 +537,7 @@ void CStudio::StartEditScript(CScript *script, char* name, int rank) m_bInitPause = m_engine->GetPause(); m_main->SetSpeed(1.0f); m_editCamera = m_camera->GetType(); - m_camera->SetType(CAMERA_EDIT); + m_camera->SetType(CAM_TYPE_EDIT); m_bRunning = m_script->IsRunning(); m_bRealTime = m_bRunning; @@ -549,7 +552,7 @@ void CStudio::StartEditScript(CScript *script, char* name, int rank) pos = m_editFinalPos = m_editActualPos = m_main->GetWindowPos(); dim = m_editFinalDim = m_editActualDim = m_main->GetWindowDim(); pw = m_interface->CreateWindows(pos, dim, 8, EVENT_WINDOW3); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; pw->SetState(STATE_SHADOW); pw->SetRedim(true); // before SetName! pw->SetMovable(true); @@ -567,7 +570,7 @@ void CStudio::StartEditScript(CScript *script, char* name, int rank) edit->SetInsideScroll(false); //? if ( m_bRunning ) edit->SetEdit(false); edit->SetMaxChar(EDITSTUDIOMAX); - edit->SetFontType(FONT_COURIER); + edit->SetFontType(Gfx::FONT_COURIER); edit->SetFontStretch(0.7f); edit->SetDisplaySpec(true); edit->SetAutoIndent(m_engine->GetEditIndentMode()); @@ -578,7 +581,7 @@ void CStudio::StartEditScript(CScript *script, char* name, int rank) list = pw->CreateList(pos, dim, 1, EVENT_STUDIO_LIST, 1.2f); list->SetState(STATE_SHADOW); - list->SetFontType(FONT_COURIER); + list->SetFontType(Gfx::FONT_COURIER); list->SetSelectCap(false); list->SetFontSize(SMALLFONT*0.85f); //? list->SetFontStretch(1.0f); @@ -641,7 +644,7 @@ void CStudio::AdjustEditScript() wdim = m_editActualDim; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) + if ( pw != nullptr ) { pw->SetPos(wpos); pw->SetDim(wdim); @@ -819,7 +822,7 @@ bool CStudio::StopEditScript(bool bCancel) char buffer[100]; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; if ( !bCancel && !m_script->IsRunning() ) { @@ -865,7 +868,7 @@ void CStudio::SetInfoText(char *text, bool bClickable) if ( !bClickable ) m_fixInfoTextTime = 8.0f; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; list = (CList*)pw->SearchControl(EVENT_STUDIO_LIST); if ( list == 0 ) return; @@ -900,7 +903,7 @@ void CStudio::ViewEditScript() POINT dim; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; edit = (CEdit*)pw->SearchControl(EVENT_STUDIO_EDIT); if ( edit == 0 ) return; @@ -948,7 +951,7 @@ void CStudio::UpdateButtons() CButton* button; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; edit = (CEdit*)pw->SearchControl(EVENT_STUDIO_EDIT); if ( edit == 0 ) return; @@ -1001,31 +1004,31 @@ void CStudio::StartDialog(StudioDialog type) m_dialog = type; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW0); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW1); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW5); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW6); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW7); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW8); - if ( pw != 0 ) pw->ClearState(STATE_ENABLE); + if ( pw != nullptr ) pw->ClearState(STATE_ENABLE); if ( m_dialog == SD_OPEN || m_dialog == SD_SAVE ) @@ -1051,14 +1054,14 @@ void CStudio::StartDialog(StudioDialog type) { GetResource(RES_TEXT, RT_IO_LIST, name); pla = pw->CreateLabel(pos, dim, 0, EVENT_DIALOG_LABEL1, name); - pla->SetJustif(1); + pla->SetTextAlign(1); pli = pw->CreateList(pos, dim, 0, EVENT_DIALOG_LIST); pli->SetState(STATE_SHADOW); GetResource(RES_TEXT, RT_IO_NAME, name); pla = pw->CreateLabel(pos, dim, 0, EVENT_DIALOG_LABEL2, name); - pla->SetJustif(1); + pla->SetTextAlign(1); pe = pw->CreateEdit(pos, dim, 0, EVENT_DIALOG_EDIT); pe->SetState(STATE_SHADOW); @@ -1069,7 +1072,7 @@ void CStudio::StartDialog(StudioDialog type) GetResource(RES_TEXT, RT_IO_DIR, name); pla = pw->CreateLabel(pos, dim, 0, EVENT_DIALOG_LABEL3, name); - pla->SetJustif(1); + pla->SetTextAlign(1); pc = pw->CreateCheck(pos, dim, 0, EVENT_DIALOG_CHECK1); GetResource(RES_TEXT, RT_IO_PRIVATE, name); @@ -1120,31 +1123,31 @@ void CStudio::StopDialog() m_dialog = SD_NULL; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW0); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW1); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW5); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW6); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW7); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW8); - if ( pw != 0 ) pw->SetState(STATE_ENABLE); + if ( pw != nullptr ) pw->SetState(STATE_ENABLE); m_interface->DeleteControl(EVENT_WINDOW9); m_main->SetSatComLock(false); // possible to use the SatCom @@ -1165,7 +1168,7 @@ void CStudio::AdjustDialog() char name[100]; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; wpos = pw->GetPos(); wdim = pw->GetDim(); @@ -1283,7 +1286,7 @@ bool CStudio::EventDialog(const Event &event) Math::Point wpos, wdim; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; if ( event.type == EVENT_WINDOW9 ) // window is moved? { @@ -1358,11 +1361,11 @@ void CStudio::UpdateChangeList() char* p; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; pl = (CList*)pw->SearchControl(EVENT_DIALOG_LIST); if ( pl == 0 ) return; pe = (CEdit*)pw->SearchControl(EVENT_DIALOG_EDIT); - if ( pe == 0 ) return; + if ( pe == nullptr ) return; strcpy(name, pl->GetName(pl->GetSelect())); name[pe->GetMaxChar()] = 0; // truncates according lg max editable @@ -1383,7 +1386,7 @@ void CStudio::UpdateChangeEdit() CList* pl; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; pl = (CList*)pw->SearchControl(EVENT_DIALOG_LIST); if ( pl == 0 ) return; @@ -1404,9 +1407,9 @@ void CStudio::UpdateDialogAction() bool bError; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; pe = (CEdit*)pw->SearchControl(EVENT_DIALOG_EDIT); - if ( pe == 0 ) return; + if ( pe == nullptr ) return; pb = (CButton*)pw->SearchControl(EVENT_DIALOG_OK); if ( pb == 0 ) return; @@ -1448,7 +1451,7 @@ void CStudio::UpdateDialogPublic() char text[_MAX_FNAME+100]; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; pc = (CCheck*)pw->SearchControl(EVENT_DIALOG_CHECK1); if ( pc != 0 ) @@ -1476,7 +1479,8 @@ void CStudio::UpdateDialogPublic() void CStudio::UpdateDialogList() { - CWindow* pw; + // TODO rewrite to multiplatform + /*CWindow* pw; CList* pl; long hFile; struct _finddata_t fileBuffer; @@ -1487,7 +1491,7 @@ void CStudio::UpdateDialogList() int nbFilenames, i; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return; + if ( pw == nullptr ) return; pl = (CList*)pw->SearchControl(EVENT_DIALOG_LIST); if ( pl == 0 ) return; pl->Flush(); @@ -1532,7 +1536,7 @@ void CStudio::UpdateDialogList() pl->SetName(i, temp); } - free(listBuffer); + free(listBuffer);*/ } // Constructs the name of the folder or open/save. @@ -1566,10 +1570,10 @@ bool CStudio::ReadProgram() char* p; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; pe = (CEdit*)pw->SearchControl(EVENT_DIALOG_EDIT); - if ( pe == 0 ) return false; + if ( pe == nullptr ) return false; pe->GetText(filename, 100); if ( filename[0] == 0 ) return false; @@ -1582,9 +1586,9 @@ bool CStudio::ReadProgram() strcat(dir, filename); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; pe = (CEdit*)pw->SearchControl(EVENT_STUDIO_EDIT); - if ( pe == 0 ) return false; + if ( pe == nullptr ) return false; if ( !pe->ReadText(dir) ) return false; @@ -1604,10 +1608,10 @@ bool CStudio::WriteProgram() char* p; pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW9); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; pe = (CEdit*)pw->SearchControl(EVENT_DIALOG_EDIT); - if ( pe == 0 ) return false; + if ( pe == nullptr ) return false; pe->GetText(filename, 100); if ( filename[0] == 0 ) return false; @@ -1620,9 +1624,9 @@ bool CStudio::WriteProgram() strcat(dir, filename); pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3); - if ( pw == 0 ) return false; + if ( pw == nullptr ) return false; pe = (CEdit*)pw->SearchControl(EVENT_STUDIO_EDIT); - if ( pe == 0 ) return false; + if ( pe == nullptr ) return false; if ( !pe->WriteText(dir) ) return false; diff --git a/src/ui/studio.h b/src/ui/studio.h index 6af69ee..e9fb69c 100644 --- a/src/ui/studio.h +++ b/src/ui/studio.h @@ -19,6 +19,7 @@ #pragma once +#include <string> #include <object/object.h> @@ -54,6 +55,8 @@ #include <ui/window.h> #include <ui/interface.h> +#include <app/app.h> + namespace Ui { @@ -76,7 +79,7 @@ class CStudio bool EventProcess(const Event &event); - void StartEditScript(CScript *script, char* name, int rank); + void StartEditScript(CScript *script, std::string name, int rank); bool StopEditScript(bool bCancel); protected: @@ -84,7 +87,7 @@ class CStudio void SearchToken(CEdit* edit); void ColorizeScript(CEdit* edit); void AdjustEditScript(); - void SetInfoText(char *text, bool bClickable); + void SetInfoText(std::string text, bool bClickable); void ViewEditScript(); void UpdateFlux(); void UpdateButtons(); @@ -98,7 +101,7 @@ class CStudio void UpdateDialogAction(); void UpdateDialogPublic(); void UpdateDialogList(); - void SearchDirectory(char *dir, bool bCreate); + void SearchDirectory(std::string dir, bool bCreate); bool ReadProgram(); bool WriteProgram(); @@ -110,9 +113,11 @@ class CStudio CCamera* m_camera; CSoundInterface* m_sound; CInterface* m_interface; + CApplication *m_app; int m_rank; CScript* m_script; + Gfx::CameraType m_editCamera; bool m_bEditMaximized; bool m_bEditMinimized; @@ -128,7 +133,7 @@ class CStudio bool m_bRunning; bool m_bRealTime; bool m_bInitPause; - char m_helpFilename[100]; + std::string m_helpFilename; StudioDialog m_dialog; }; diff --git a/src/ui/target.cpp b/src/ui/target.cpp index 9ffcfb9..f0ae70e 100644 --- a/src/ui/target.cpp +++ b/src/ui/target.cpp @@ -17,21 +17,7 @@ // target.cpp -//#include <windows.h> -//#include <stdio.h> -//#include <d3d.h> - -//#include "common/struct.h" -//#include "old/d3dengine.h" -//#include "old/math3d.h" -#include "graphics/engine/engine.h" -#include "common/event.h" -#include "common/misc.h" -#include "common/iman.h" -#include "object/robotmain.h" -#include "object/object.h" -#include "common/restext.h" -#include "ui/target.h" +#include <ui/target.h> @@ -162,7 +148,7 @@ void CTarget::Draw() // Returns the tooltip. -bool CTarget::GetTooltip(Math::Point pos, char* name) +bool CTarget::GetTooltip(Math::Point pos, std::string &name) { #if 0 if ( (m_state&STATE_VISIBLE) && Detect(pos) ) // in the window? @@ -183,7 +169,7 @@ bool CTarget::GetTooltip(Math::Point pos, char* name) //? if ( pObj == 0 ) if ( !m_main->GetFriendAim() ) { - strcpy(name, m_tooltip); + m_tooltip = name; return true; // does not detect objects below! } } diff --git a/src/ui/target.h b/src/ui/target.h index 47b9760..1f7f256 100644 --- a/src/ui/target.h +++ b/src/ui/target.h @@ -22,8 +22,17 @@ #include <ui/control.h> +#include <common/misc.h> +#include <common/iman.h> +#include <common/restext.h> #include <common/event.h> +#include <graphics/engine/engine.h> + +#include <object/robotmain.h> +#include <object/object.h> + + namespace Ui { class CTarget : public CControl |