#pragma once #include #include #include #include #include #include #include #include #include class CFilePlugin; class CFilePluginList; class CProgramPlugin; class CResFile; class CResourcePlugin; class CT2App; class CTokenizer; class CWave; class LArray; class LArrayIterator; class LAttachable; class LAttachment; class LBroadcaster; class LListener; class T2AdvertisePlugin; class T2Archive; class T2BitImage; class T2BlackOut; class T2ColdTableDef; class T2CrossEquipArray; class T2DateTime; class T2DayLightFilter; class T2DlgItem; class T2DlgItemAnimation; class T2DlgItemHScr; class T2DlgItemVScr; class T2DrawableObject; class T2Equip; class T2EquipDef; class T2EquipPlugin; class T2EventItem; class T2FireBurning; class T2FloorInfo; class T2GlobalData; class T2HaveOutViewObject; class T2ImageObj; class T2InfoDialog; class T2Maru_Reggae; class T2Matter; class T2MatterDef; class T2MetroRailway; class T2Mover; class T2MoverArrayList; class T2MoverDef; class T2MoverModule; class T2MWControl; class T2Object; class T2OutObj; class T2OutObjArrayList; class T2OuterObjDef; class T2OutsideInfo; class T2PaletteAnime; class T2PaletteAnimeDef; class T2People; class T2PeopleDef; class T2PeopleArrayList; class T2PeopleType; class T2PluginSpecifier; class T2Pool; class T2PoolDef; class T2PoolTimeZoneDef; class T2Request; class T2RequestArrayList; class T2ReturnStack; class T2RouteCEArray; class T2SeasonParamDef; class T2SilhouetteDef; class T2SoundObjItem; class T2SoundPlayer; class T2Sprite; class T2SpriteObj; class T2TemplatePlugin; class T2TemplatePluginDB; class T2TemplatePluginList; class T2Tenant; class T2TenantArrayList; class T2TenantDef; class T2TenantMemberDef; class T2ToolDef; class T2ToolPlugin; class T2ToolWindow; class T2TowerDoc; class T2TowerEvent; class T2TowerMainView; class T2TowerVision; class T2Transport; class T2TreasureStatus; class T2UnitInfo; class T2WeatherFilter; class T2WordDefArray; class T2WorldDef; class T2WorldPlugin; enum AREACHECKCODE { AreaCheckCode_0 }; enum CURSORTYPE { CursorType_0 }; enum MOUSEEVENT { MouseEvent_0 }; enum OPTIONEVENTTYPE { OptionEventType_0 }; enum PARTCODE { PartCode_0, PartCode_1, PartCode_2 }; enum PROCCODE { ProcCode_0, ProcCode_1, ProcCode_2 }; enum ROOFANDFLOOR { RoofAndFloor_0 }; enum SIDEOBJPATTERN { SideObjPattern_0 }; enum VIEWMODE { ViewMode_0 }; enum BOOL3 { BOOL3_NEG1 = -1, BOOL3_0 = 0, BOOL3_1 = 1 }; enum ERequestUpDown; struct BkgndInfo; struct SDimension16 { short width; short height; }; struct TableCellT { UINT row; UINT col; }; #ifdef _MSC_VER #define MSVC_STDCALL __stdcall #define DLL_EXPORT __declspec(dllexport) #else #define MSVC_STDCALL #define DLL_EXPORT #endif // why is this necessary? inline int MSVC_STDCALL my_atoi(const char *s) { int v = 0; while (*s && *s >= '0' && *s <= '9') { v = (v * 10) + (*s - '0'); s++; } return v; } #define atoi my_atoi