00001
00002
00003
00004
00101
00102
00103
00104
00105 #include "stdafx.h"
00106 #include "QuestDesigner.h"
00107
00108 CAppModule _Module;
00109
00110 int StartCodeMax(CodeMaxLibrary *cmaxlib)
00111 {
00112 CM_LANGUAGE LangZES = {
00113
00114 CMLS_PROCEDURAL,
00115
00116 TRUE,
00117
00118 _T("#assert\n#define\n#else\n#emit\n#endif\n#endinput\n#endscript\n#if\n#include\n#pragma\n")
00119
00120 _T("assert\nbreak\ncase\ncontinue\ndefault\ndo\nelse\nexit\nfor\ngoto\nif\nreturn\nsleep\nswitch\nwhile\n")
00121 _T("const\nenum\nforward\nnative\nnew\noperator\npublic\nstatic\nstock\n")
00122 _T("char\ndefined\nsizeof\n")
00123 _T("false\ntrue\ncellbits\ncellmax\ncellmin\ncharbits\ncharmax\ncharmin\ndebug\n_Small"),
00124
00125 _T("bool\nfixed\nfloat\n")
00126 _T("+\n-\n*\n/\n%\n++\n--\n~\n>>\n>>>\n<<\n&\n|\n^\n=\n+=\n-=\n*=\n/=\n%=\n>>=\n>>>=\n<<=\n&=\n|=\n^=\n==\n!=\n<\n<=\n>\n>=\n!\n||\n&&"),
00127
00128 _T("//"),
00129
00130 _T("/*"),
00131 _T("*/"),
00132
00133 _T("{"),
00134 _T("}"),
00135
00136 _T("\"\n'"),
00137
00138 _T('^'),
00139
00140 _T(';'),
00141
00142 _T("black\nblue\ncyan\ngreen\nmagenta\nred\nyellow\nwhite\nchasing\ndead\ndying\nfalling\nfalling2\nhit\njumping\nknocked\n")
00143 _T("lifting\nstanding\nswimming\nstandLift\nusing\nwalking\nwalkLift\nscared\ndoorType\nenemyType\nitemType\nnpcType\n")
00144 _T("otherType\nplayerType\nweaponType\neast\nnorth\nnortheast\nnorthwest\nsouth\nsoutheast\nsouthwest\nwest\nwaiting\n")
00145 _T("stunned\nfrozen\nburning\nsleeping\npushing\nleaping\npulling"),
00146
00147 _T("AddAnimframe\nAKey\nCreateAnim\nCreateAnimWithID\nclamp\nCreateCounter\nCreateCounterWithID\nCheckMask\n")
00148 _T("CheckForHoleXY\n\nClearRestartTable\nCalculateAngle\nDeleteAnim\nDrawAnim\nDrawAnimNoInc\ndeleteproperty\n")
00149 _T("DeleteCounter\nDrawImage\nDownKey\n\nDrawText\ndate\nexistproperty\nEnterKey\nFinishedAnim\nfuncidx\nFirstRun\n")
00150 _T("FadeTo\n\nFinishedReading\nGetAnimImage\nGetAnimCount\nGetMaxAnim\nGetAnimWidth\nGetAnimHeight\ngetchar\n")
00151 _T("getstring\ngetvalue\n\ngetarg\ngetproperty\nGetCounterValue\nGetWidth\nGetHeight\nGetWorldX\nGetWorldY\n")
00152 _T("GetGroupMinX\nGetGroupMinY\n\nGetGroupMaxX\nGetGroupMaxY\nGetPauseLevel\nGetLowerLevelX\nGetLowerLevelY\n")
00153 _T("GetLastAnswer\nGetMinuteCount\nGetHourCount\nGetDayCount\n\nGetGlobal\nGetLocal\nheapspace\nIncrementAnim\n")
00154 _T("IncCounterTarget\nIncCounterValue\nInitialPlayerX\nInitialPlayerY\nInitTextBox\n\nLeftKey\nmin\nmax\nnumargs\n")
00155 _T("NearPoint\nprint\nprintf\nPutSprite\n\nPlaySound\nPlayMusic\nQKey\nrandom\nRightKey\nSetAnimSpeed\nSetAnimCount\n")
00156 _T("SetAnimDirection\nSetAnimLoop\n\nsetarg\nstrlen\nstrcmp\nstrcpy\nstrpack\nstrunpack\nswapchars\nsetproperty\n")
00157 _T("SetCounterMin\n\nSetCounterMax\nSetCounterValue\nSetCounterTarget\nSetCounterSpeed\nSKey\nSetQKey\nSetAKey\n")
00158 _T("SetSKey\nSetWKey\n\nSetEnterKey\nSetUpKey\nSetDownKey\nSetLeftKey\nSetRightKey\nSetWorldX\nSetWorldY\nSetPauseLevel\n")
00159 _T("SetRestartTable\n\nSetRestartPoint\nSetLowerLevel\nSetTextBoxColor\nSetMinuteCount\nSetHourCount\nSetDayCount\n")
00160 _T("SetDayLength\nSetGlobal\nSetLocal\n\nSetMusicVolume\nSetMusicFadeSpeed\ntolower\ntoupper\nToString\nToFile\nTextFile\n")
00161 _T("TestFunc\ntime\n\ntickcount\nUpKey\nUpdateWorldCo\nWKey\nWipe\nGetTimeDelta\nfloatstr\nfloatround\nDrawRectangle\n")
00162 _T("DrawLine\nSetTextSize\nEnableControls\nDrawBitmapText\n\nSetFloat\nGetFloat\nSetSpriteAlpha"),
00163
00164 _T("AngleMove\nAngleCollide\nAllocateStrings\nCreateEntity\nCreateEntityWithID\nChangeDirection\nClearCollisionRect\n")
00165 _T("Collide\nCollideAll\nCollidePoint\nCheckForHole\nCallFunction\nDeleteEntity\nGetDamage\nGetRespawnValue\n")
00166 _T("GetLiftLevel\nGetX\nGetY\nGetMoveAngle\nGetDirection\nGetSpeed\nGetSpeedMod\nGetItem\nGetImage\nGetType\nGetString\n")
00167 _T("GetState\nGetInitialX\nGetInitialY\nGetEntityCount\nGetAnglePointX\nGetAnglePointY\nGetWeight\nGetBounceValue\n")
00168 _T("GetValue\nGetHealth\nGetMaxHealth\nGetCurrentEntity\nGetNextMessage\nGetGotoNextMessage\nGetNumNextMessages\n")
00169 _T("isOpen\nisTaken\nisDead\nisVisible\nisActive\nisCuttable\nisLarge\nisPickable\nisPushed\nisInteracting\nMessageMap\n")
00170 _T("NextEntity\nRespawn\nSetOpenFlag\nSetTakenFlag\nSetDeadFlag\nSetVisibleFlag\nSetActiveFlag\nSetCuttableFlag\n")
00171 _T("SetLargeFlag\nSetPickableFlag\nSetPushedFlag\nSetInteractingFlag\nSetDamage\nSetRespawnValue\nSetLiftLevel\nSetX\n")
00172 _T("SetY\nSetPosition\nSetMoveAngle\nSetDirection\nSetSpeed\nSetSpeedMod\nSetAngleFromDir\nSetDirFromAngle\n")
00173 _T("SetCollisionRect\nSetItem\nSetImage\nSetType\nSetString\nSetActiveDist\nSetState\nSetWeight\nSetBounceValue\n")
00174 _T("SetValue\nSetHealth\nSetMaxHealth\nStartEntity\nisOwned\nSetOwnedFlag\nGetParent\nGetParam\nSetActiveInGroups"),
00175 };
00176
00177 if(!cmaxlib->Initialize()) return 0;
00178 cmaxlib->UnregisterAllLanguages();
00179 cmaxlib->RegisterLanguage(CMLANG_ZES, &LangZES );
00180
00181 return 1;
00182 }
00183
00184 int Run(LPTSTR = NULL, int nCmdShow = SW_SHOWDEFAULT)
00185 {
00186 CMainFrame wndMain;
00187 CMessageLoop theLoop;
00188 CodeMaxLibrary cmaxlib;
00189
00190 _Module.AddMessageLoop(&theLoop);
00191
00192 if(!StartCodeMax(&cmaxlib)) {
00193 ATLTRACE ( _T ( "CodeMax initialization failed!\n" ) );
00194 return 0;
00195 }
00196
00197 if(wndMain.CreateEx() == NULL) {
00198 ATLTRACE(_T("Main window creation failed!\n"));
00199 return 0;
00200 }
00201
00202
00203
00204 int nRet = theLoop.Run();
00205
00206 _Module.RemoveMessageLoop();
00207 return nRet;
00208 }
00209
00210 int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE , LPTSTR lpstrCmdLine, int nCmdShow)
00211 {
00212
00213
00214
00215
00216
00217
00218
00219 HRESULT hRes;
00220 hRes = ::CoInitialize(NULL);
00221 ATLASSERT(SUCCEEDED(hRes));
00222
00223
00224 ::DefWindowProc(NULL, 0, 0, 0L);
00225
00226 AtlInitCommonControls(ICC_COOL_CLASSES | ICC_BAR_CLASSES);
00227
00228 hRes = _Module.Init(NULL, hInstance);
00229 ATLASSERT(SUCCEEDED(hRes));
00230
00231 AtlAxWinInit();
00232
00233 HMODULE hInstRich = ::LoadLibrary(CRichEditCtrl::GetLibraryName());
00234 ATLASSERT(hInstRich != NULL);
00235
00236 int nRet = Run(lpstrCmdLine, nCmdShow);
00237
00238 ::FreeLibrary(hInstRich);
00239
00240 _Module.Term();
00241 ::CoUninitialize();
00242
00243
00244
00245
00246 return nRet;
00247 }