FULLPIPE: Implement sceneHandler06_sub04()

This commit is contained in:
Eugene Sandulenko 2013-12-17 23:32:30 +02:00
parent 17cb840bc2
commit b4ce81baf9
3 changed files with 39 additions and 8 deletions

View file

@ -810,6 +810,25 @@ bool chainQueue(int queueId, int flags) {
return true;
}
bool chainObjQueue(StaticANIObject *obj, int queueId, int flags) {
MessageQueue *mq = g_fullpipe->_currentScene->getMessageQueueById(queueId);
if (!mq)
return false;
MessageQueue *nmq = new MessageQueue(mq, 0, 0);
nmq->_flags |= flags;
if (!nmq->chain(obj)) {
delete nmq;
return false;
}
return true;
}
void postExCommand(int parentId, int keyCode, int x, int y, int f20, int f14) {
ExCommand *ex = new ExCommand(parentId, 17, 64, 0, 0, 0, 1, 0, 0, 0);

View file

@ -178,6 +178,7 @@ void updateGlobalMessageQueue(int id, int objid);
void clearGlobalMessageQueueList1();
bool chainQueue(int queueId, int flags);
bool chainObjQueue(StaticANIObject *obj, int queueId, int flags);
void postExCommand(int parentId, int keyCode, int x, int y, int f20, int f16);
} // End of namespace Fullpipe

View file

@ -226,22 +226,33 @@ void sceneHandler06_sub03() {
warning("STUB: sceneHandler06_sub03()");
}
void sceneHandler06_sub04(int par) {
warning("STUB: sceneHandler06_sub04()");
}
void sceneHandler06_sub05() {
warning("STUB: sceneHandler06_sub05()");
}
void sceneHandler06_sub06() {
warning("STUB: sceneHandler06_sub06()");
}
void sceneHandler06_sub09() {
warning("STUB: sceneHandler06_sub09()");
}
void sceneHandler06_sub04(int par) {
int pixel;
if (g_vars->scene06_var04 <= 475) {
if (g_vars->scene06_mumsy->getPixelAtPos(g_vars->scene06_var03, g_vars->scene06_var04, &pixel)) {
if (pixel) {
chainObjQueue(g_vars->scene06_mumsy, QU_MOM_JUMPBK, 0);
sceneHandler06_sub09();
}
}
} else {
sceneHandler06_sub05();
}
}
void sceneHandler06_sub06() {
warning("STUB: sceneHandler06_sub06()");
}
void sceneHandler06_sub10() {
warning("STUB: sceneHandler06_sub10()");
}