Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
111 lines
2.9 KiB
C++
111 lines
2.9 KiB
C++
// GameObject.h: interface for the GameObject class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_EDGAMEOBJECT_H__1A00EDB6_F215_4A9E_AD26_EC9DF30765E1__INCLUDED_)
|
|
#define AFX_EDGAMEOBJECT_H__1A00EDB6_F215_4A9E_AD26_EC9DF30765E1__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "EdGUIObject.h"
|
|
#include <Adept\Entity.hpp>
|
|
#include <MW4\AI.hpp>
|
|
|
|
class UndoCommand;
|
|
using namespace MechWarrior4;
|
|
|
|
class EdGameObject : public EdGUIObject
|
|
{
|
|
private:
|
|
|
|
protected:
|
|
bool DrawFromOBB;
|
|
bool UseGameCollsion;
|
|
void Copy(EdGameObject &obj);
|
|
Adept::Entity *MyEntity;
|
|
CString ResourcePath;
|
|
CString m_ScriptName,AIType;
|
|
float MemoryCell[DEFAULT_MEMORYCELL_VALUES];
|
|
virtual void BuildDisplayInfoFromData();
|
|
bool InRadius( Point3D &pnt);
|
|
void PickPen();
|
|
int Alignment;
|
|
char Skin;
|
|
void BuildRadius();
|
|
CString SkinToText(char skin);
|
|
bool Changeable;
|
|
|
|
public:
|
|
Adept::Entity* GetMyEntity() {return MyEntity; }
|
|
CString GetResourceName();
|
|
CString GetResourcePath() {return ResourcePath; }
|
|
|
|
bool CanChangeType() {return Changeable;}
|
|
void SaveTextInfo(NotationFile *not_file);
|
|
void SetInfo(Page *page);
|
|
|
|
bool IsInvulnerable();
|
|
void SetInvulnerable(bool);
|
|
CString GetSkinText() { return (SkinToText(Skin)); }
|
|
char GetSkin() {return Skin;}
|
|
void SetSkin(char skin);
|
|
void AddPanel(CObjPanelDlg *pnl,UndoCommand **cmd);
|
|
bool IsMultiZone();
|
|
bool IsMultiTile();
|
|
void SelectMultiZone();
|
|
void SelectMultiTile();
|
|
void SetAlignment(int align);
|
|
int GetAlignment();
|
|
void RemoveFromMap();
|
|
void AddToMap();
|
|
void Clear();
|
|
void UpdateVisibility(DWORD visflag);
|
|
void MakeVisible(DWORD *visflag);
|
|
bool HasLocalizedName();
|
|
void UseLocalizedName(bool flag);
|
|
void FillSkinList(CComboBox *ctrl);
|
|
|
|
void ChangeTo(CString &path);
|
|
void BuildFrom(CString &path,CString &name);
|
|
CString GetTypeName();
|
|
void SetName( CString &name);
|
|
void UpdateMat();
|
|
void Dissociate() { MyEntity=NULL; InMap=false;}
|
|
void AssociateTo(Adept::Entity *entity);
|
|
EdGUIObject *Clone();
|
|
|
|
CString GetScriptName();
|
|
void SetScriptName(CString script_name);
|
|
void GetMultiProps(CObjProps *props);
|
|
void SetMultiProps(CObjProps *props,UndoCommand **cmd);
|
|
|
|
CString GetAIType();
|
|
CString GetBestAIType() const;
|
|
void FillValidAITypes(CComboBox *con);
|
|
bool HasAI() const;
|
|
|
|
void SetAIType(const CString& type);
|
|
void SetDefaultAI();
|
|
|
|
void SetMemoryCell(int cell, Scalar value);
|
|
Scalar GetMemoryCell(int cell) const;
|
|
|
|
|
|
CString GetTag(unsigned long tag_flags);
|
|
|
|
int AddToList(CObjManListCtrl *list,unsigned long tag_flags);
|
|
void Draw(DrawInfo &dinf);
|
|
void DrawTileViolation(DrawInfo &dinf);
|
|
|
|
int GetUnSelIcon();
|
|
int GetSelIcon() {return GetUnSelIcon();}
|
|
|
|
EdGameObject();
|
|
virtual ~EdGameObject();
|
|
|
|
};
|
|
|
|
#endif // !defined(AFX_EDGAMEOBJECT_H__1A00EDB6_F215_4A9E_AD26_EC9DF30765E1__INCLUDED_)
|