void qspCallCloseFile(QSP_CHAR *file) { /* Здесь выполняем закрытие файла */ QSPCallState state; if (qspCallBacks[QSP_CALL_CLOSEFILE]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_CLOSEFILE](file); qspRestoreCallState(&state); } }
void qspCallAddMenuItem(QSP_CHAR *name, QSP_CHAR *imgPath) { /* Здесь добавляем пункт меню */ QSPCallState state; if (qspCallBacks[QSP_CALL_ADDMENUITEM]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_ADDMENUITEM](name, imgPath); qspRestoreCallState(&state); } }
void qspCallSleep(int msecs) { /* Здесь ожидаем заданное количество миллисекунд */ QSPCallState state; if (qspCallBacks[QSP_CALL_SLEEP]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_SLEEP](msecs); qspRestoreCallState(&state); } }
void qspCallSetInputStrText(QSP_CHAR *text) { /* Здесь устанавливаем текст строки ввода */ QSPCallState state; if (qspCallBacks[QSP_CALL_SETINPUTSTRTEXT]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_SETINPUTSTRTEXT](text); qspRestoreCallState(&state); } }
void qspCallRefreshInt(QSP_BOOL isRedraw) { /* Здесь выполняем обновление интерфейса */ QSPCallState state; if (qspCallBacks[QSP_CALL_REFRESHINT]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_REFRESHINT](isRedraw); qspRestoreCallState(&state); } }
void qspCallShowWindow(int type, QSP_BOOL isShow) { /* «десь показываем или скрываем окно */ QSPCallState state; if (qspCallBacks[QSP_CALL_SHOWWINDOW]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_SHOWWINDOW](type, isShow); qspRestoreCallState(&state); } }
void qspCallDeleteMenu() { /* Здесь удаляем текущее меню */ QSPCallState state; if (qspCallBacks[QSP_CALL_DELETEMENU]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_DELETEMENU](); qspRestoreCallState(&state); } }
void qspCallShowMenu() { /* «десь показываем меню */ QSPCallState state; if (qspCallBacks[QSP_CALL_SHOWMENU]) { qspSaveCallState(&state, QSP_FALSE, QSP_TRUE); qspCallBacks[QSP_CALL_SHOWMENU](); qspRestoreCallState(&state); } }
void qspCallPlayFile(QSP_CHAR *file, int volume) { /* «десь начинаем воспроизведение файла с заданной громкостью */ QSPCallState state; if (qspCallBacks[QSP_CALL_PLAYFILE]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_PLAYFILE](file, volume); qspRestoreCallState(&state); } }
void qspCallShowMessage(QSP_CHAR *text) { /* «десь показываем сообщение */ QSPCallState state; if (qspCallBacks[QSP_CALL_SHOWMSGSTR]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_SHOWMSGSTR](text); qspRestoreCallState(&state); } }
void qspCallSetTimer(int msecs) { /* Здесь устанавливаем интервал таймера */ QSPCallState state; if (qspCallBacks[QSP_CALL_SETTIMER]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_SETTIMER](msecs); qspRestoreCallState(&state); } }
void qspCallSystem(QSP_CHAR *cmd) { /* «десь выполн¤ем системный вызов */ QSPCallState state; if (qspCallBacks[QSP_CALL_SYSTEM]) { qspSaveCallState(&state, QSP_FALSE, QSP_FALSE); qspCallBacks[QSP_CALL_SYSTEM](cmd); qspRestoreCallState(&state); } }
void qspCallShowPicture(QSP_CHAR *file) { /* «десь показываем изображение */ QSPCallState state; if (qspCallBacks[QSP_CALL_SHOWIMAGE]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); qspCallBacks[QSP_CALL_SHOWIMAGE](file); qspRestoreCallState(&state); } }
void qspCallDebug(QSP_CHAR *str) { /* Здесь передаем управление отладчику */ QSPCallState state; if (qspCallBacks[QSP_CALL_DEBUG]) { qspSaveCallState(&state, QSP_FALSE, QSP_FALSE); qspCallBacks[QSP_CALL_DEBUG](str); qspRestoreCallState(&state); } }
void qspCallOpenGame(QSP_CHAR *file) { /* «десь позвол¤ем пользователю выбрать файл */ /* состо¤ни¤ игры дл¤ загрузки и загружаем его */ QSPCallState state; if (qspCallBacks[QSP_CALL_OPENGAMESTATUS]) { qspSaveCallState(&state, QSP_FALSE, QSP_TRUE); qspCallBacks[QSP_CALL_OPENGAMESTATUS](file); qspRestoreCallState(&state); } }
void qspCallSaveGame(QSP_CHAR *file) { /* «десь позвол¤ем пользователю выбрать файл */ /* дл¤ сохранени¤ состо¤ни¤ игры и сохран¤ем */ /* в нем текущее состо¤ние */ QSPCallState state; if (qspCallBacks[QSP_CALL_SAVEGAMESTATUS]) { qspSaveCallState(&state, QSP_FALSE, QSP_TRUE); qspCallBacks[QSP_CALL_SAVEGAMESTATUS](file); qspRestoreCallState(&state); } }
int qspCallShowMenu() { /* «десь показываем меню */ QSPCallState state; int index; if (qspCallBacks[QSP_CALL_SHOWMENU]) { qspSaveCallState(&state, QSP_FALSE, QSP_TRUE); index = qspCallBacks[QSP_CALL_SHOWMENU](); qspRestoreCallState(&state); return index; } return -1; }
QSP_BOOL qspCallIsPlayingFile(QSP_CHAR *file) { /* «десь провер¤ем, проигрываетс¤ ли файл */ QSPCallState state; QSP_BOOL isPlaying; if (qspCallBacks[QSP_CALL_ISPLAYINGFILE]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); isPlaying = (QSP_BOOL)qspCallBacks[QSP_CALL_ISPLAYINGFILE](file); qspRestoreCallState(&state); return isPlaying; } return QSP_FALSE; }
int qspCallGetMSCount() { /* «десь получаем количество миллисекунд, прошедших с момента последнего вызова функции */ QSPCallState state; int count; if (qspCallBacks[QSP_CALL_GETMSCOUNT]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); count = qspCallBacks[QSP_CALL_GETMSCOUNT](); qspRestoreCallState(&state); return count; } return 0; }
void qspCallShowMenu() { /* Здесь показываем меню */ QSPCallState state; AS3_Val args; if (qspCallBacks[QSP_CALL_SHOWMENU].IsSet) { qspSaveCallState(&state, QSP_FALSE, QSP_TRUE); args = AS3_Array(""); AS3_Call(qspCallBacks[QSP_CALL_SHOWMENU].FuncVal, qspCallBacks[QSP_CALL_SHOWMENU].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }
void qspCallDeleteMenu() { /* Здесь удаляем текущее меню */ QSPCallState state; AS3_Val args; if (qspCallBacks[QSP_CALL_DELETEMENU].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); args = AS3_Array(""); AS3_Call(qspCallBacks[QSP_CALL_DELETEMENU].FuncVal, qspCallBacks[QSP_CALL_DELETEMENU].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }
void qspCallSleep(int msecs) { /* Здесь ожидаем заданное количество миллисекунд */ QSPCallState state; AS3_Val args; if (qspCallBacks[QSP_CALL_SLEEP].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); args = AS3_Array("IntType", msecs); AS3_Call(qspCallBacks[QSP_CALL_SLEEP].FuncVal, qspCallBacks[QSP_CALL_SLEEP].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }
void qspCallRefreshInt(QSP_BOOL isRedraw) { /* Здесь выполняем обновление интерфейса */ QSPCallState state; AS3_Val args; if (qspCallBacks[QSP_CALL_REFRESHINT].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); args = AS3_Array("IntType", isRedraw); AS3_Call(qspCallBacks[QSP_CALL_REFRESHINT].FuncVal, qspCallBacks[QSP_CALL_REFRESHINT].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }
void qspCallSetTimer(int msecs) { /* Здесь устанавливаем интервал таймера */ QSPCallState state; AS3_Val args; if (qspCallBacks[QSP_CALL_SETTIMER].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); args = AS3_Array("IntType", msecs); AS3_Call(qspCallBacks[QSP_CALL_SETTIMER].FuncVal, qspCallBacks[QSP_CALL_SETTIMER].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }
void qspCallShowWindow(int type, QSP_BOOL isShow) { /* Здесь показываем или скрываем окно */ QSPCallState state; AS3_Val args; if (qspCallBacks[QSP_CALL_SHOWWINDOW].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); args = AS3_Array("IntType, IntType", type, isShow); AS3_Call(qspCallBacks[QSP_CALL_SHOWWINDOW].FuncVal, qspCallBacks[QSP_CALL_SHOWWINDOW].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }
QSP_CHAR *qspCallInputBox(QSP_CHAR *text) { /* «десь вводим текст */ QSPCallState state; QSP_CHAR *buffer; int maxLen = 511; if (qspCallBacks[QSP_CALL_INPUTBOX]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); buffer = (QSP_CHAR *)malloc((maxLen + 1) * sizeof(QSP_CHAR)); *buffer = 0; qspCallBacks[QSP_CALL_INPUTBOX](text, buffer, maxLen); buffer[maxLen] = 0; qspRestoreCallState(&state); } else buffer = qspGetNewText(QSP_FMT(""), 0); return buffer; }
QSP_CHAR *qspCallPlayerInfo(QSP_CHAR *text) { /* «десь получаем строку по заданному параметру */ QSPCallState state; QSP_CHAR *buffer; int maxLen = 511; if (qspCallBacks[QSP_CALL_PLAYERINFO]) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); buffer = (QSP_CHAR *)malloc((maxLen + 1) * sizeof(QSP_CHAR)); *buffer = 0; qspCallBacks[QSP_CALL_PLAYERINFO](text, buffer, maxLen); buffer[maxLen] = 0; qspRestoreCallState(&state); } else buffer = qspGetNewText(QSP_FMT(""), 0); return buffer; }
int qspCallGetMSCount() { /* Здесь получаем количество миллисекунд, прошедших с момента последнего вызова функции */ QSPCallState state; int count; AS3_Val args; if (qspCallBacks[QSP_CALL_GETMSCOUNT].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); args = AS3_Array(""); AS3_Call(qspCallBacks[QSP_CALL_GETMSCOUNT].FuncVal, qspCallBacks[QSP_CALL_GETMSCOUNT].ThisVal, args); AS3_Release(args); flyield(); count = AS3_IntValue(result); AS3_Release(result); qspRestoreCallState(&state); return count; } return 0; }
int qspCallShowMenu() { /* «десь показываем меню */ QSPCallState state; int index; AS3_Val args; if (qspCallBacks[QSP_CALL_SHOWMENU].IsSet) { qspSaveCallState(&state, QSP_FALSE, QSP_TRUE); args = AS3_Array(""); AS3_Call(qspCallBacks[QSP_CALL_SHOWMENU].FuncVal, qspCallBacks[QSP_CALL_SHOWMENU].ThisVal, args); AS3_Release(args); flyield(); index = AS3_IntValue(result); AS3_Release(result); qspRestoreCallState(&state); return index; } return -1; }
void qspCallAddMenuItem(QSP_CHAR *name, QSP_CHAR *imgPath) { /* Здесь добавляем пункт меню */ QSPCallState state; AS3_Val args; char *nameUTF8; char *imgUTF8; if (qspCallBacks[QSP_CALL_ADDMENUITEM].IsSet) { qspSaveCallState(&state, QSP_TRUE, QSP_FALSE); nameUTF8 = (name ? qspW2C(name) : 0); imgUTF8 = (imgPath ? qspW2C(imgPath) : 0); args = AS3_Array("StrType, StrType", nameUTF8, imgUTF8); if (nameUTF8) free(nameUTF8); if (imgUTF8) free(imgUTF8); AS3_Call(qspCallBacks[QSP_CALL_ADDMENUITEM].FuncVal, qspCallBacks[QSP_CALL_ADDMENUITEM].ThisVal, args); AS3_Release(args); flyield(); qspRestoreCallState(&state); } }