Skip to content

Commit

Permalink
MORTEVIELLE: Merge prog and mor files
Browse files Browse the repository at this point in the history
  • Loading branch information
Strangerke committed Apr 6, 2012
1 parent 32a842b commit c3e81b1
Show file tree
Hide file tree
Showing 8 changed files with 220 additions and 298 deletions.
1 change: 0 additions & 1 deletion engines/mortevielle/actions.cpp
Expand Up @@ -38,7 +38,6 @@

namespace Mortevielle {


/**
* Engine function - Move
* @remarks Originally called 'taller'
Expand Down
1 change: 0 additions & 1 deletion engines/mortevielle/module.mk
Expand Up @@ -13,7 +13,6 @@ MODULE_OBJS := \
mouse.o \
outtext.o \
ovd1.o \
prog.o \
saveload.o \
sound.o \
speech.o \
Expand Down
210 changes: 210 additions & 0 deletions engines/mortevielle/mor.cpp
Expand Up @@ -30,6 +30,7 @@
#include "common/str.h"
#include "common/system.h"
#include "common/textconsole.h"
#include "mortevielle/actions.h"
#include "mortevielle/dialogs.h"
#include "mortevielle/graphics.h"
#include "mortevielle/menu.h"
Expand Down Expand Up @@ -2425,4 +2426,213 @@ void aldepl() {
Alert::show(g_vm->getEngineString(S_USE_DEP_MENU), 1);
}

/**
* Engine function - Change Graphical Device
* @remarks Originally called 'change_gd'
*/
void changeGraphicalDevice(int newDevice) {
hideMouse();
g_vm->_currGraphicalDevice = newDevice;
hirs();
initMouse();
showMouse();
dessine_rouleau();
tinke();
drawClock();
if (g_ipers != 0)
showPeoplePresent(g_ipers);
else
displayAloneText();
clearScreenType2();
clsf3();
g_maff = 68;
afdes(0);
repon(2, g_crep);
g_vm->_menu.displayMenu();
}

/**
* Called when a savegame has been loaded.
* @remarks Originally called 'antegame'
*/
void MortevielleEngine::gameLoaded() {
hideMouse();
_menu._menuDisplayed = false;
_loseGame = true;
_anyone = false;
_okdes = true;
_col = false;
_hiddenHero = false;
_brt = false;
g_maff = 68;
g_mnumo = 0;
g_prebru = 0;
g_x = 0;
g_y = 0;
g_num = 0;
g_hdb = 0;
g_hfb = 0;
g_cs = 0;
g_is = 0;
g_ment = 0;
_syn = true;
_heroSearching = true;
g_mchai = 0;
g_inei = 0;
initouv();
g_iouv = 0;
g_dobj = 0;
affrep();
g_hintPctMessage = deline(580);

_okdes = false;
_endGame = true;
_loseGame = false;
_heroSearching = false;

displayAloneText();
tinke();
drawClock();
afdes(0);
repon(2, g_crep);
clsf3();
_endGame = false;
tmlieu(g_s._currPlace);
modinv();
if (g_s._selectedObjectId != 0)
modobj(g_s._selectedObjectId + 400);
showMouse();
}


/* NIVEAU 3 */
/* procedure PROGRAMME */
void tmaj3() {
int day, hour, minute;

updateHour(day, hour, minute);
if (minute == 30)
minute = 1;
hour += day * 24;
minute += hour * 2;
g_s._heure = chr(minute);
}

void tsitu() {
if (!g_vm->_col)
clearScreenType2();
g_vm->_syn = false;
g_vm->_keyPressedEsc = false;
if (!g_vm->_anyone) {
if (g_vm->_brt)
if ((g_msg[3] == MENU_MOVE) || (g_msg[4] == OPCODE_LEAVE) || (g_msg[4] == OPCODE_SLEEP) || (g_msg[4] == OPCODE_EAT)) {
g_ctrm = 4;
mennor();
return;
}
if (g_msg[3] == MENU_MOVE)
fctMove();
if (g_msg[3] == MENU_DISCUSS)
fctDiscuss();
if (g_msg[3] == MENU_INVENTORY)
fctInventoryTake();
if (g_msg[4] == OPCODE_ATTACH)
fctAttach();
if (g_msg[4] == OPCODE_WAIT)
fctWait();
if (g_msg[4] == OPCODE_FORCE)
fctForce();
if (g_msg[4] == OPCODE_SLEEP)
fctSleep();
if (g_msg[4] == OPCODE_LISTEN)
fctListen();
if (g_msg[4] == OPCODE_ENTER)
fctEnter();
if (g_msg[4] == OPCODE_CLOSE)
fctClose();
if (g_msg[4] == OPCODE_SEARCH)
fctSearch();
if (g_msg[4] == OPCODE_KNOCK)
fctKnock();
if (g_msg[4] == OPCODE_SCRATCH)
fctScratch();
if (g_msg[4] == OPCODE_READ)
fctRead();
if (g_msg[4] == OPCODE_EAT)
fctEat();
if (g_msg[4] == OPCODE_PLACE)
fctPlace();
if (g_msg[4] == OPCODE_OPEN)
fctOpen();
if (g_msg[4] == OPCODE_TAKE)
fctTake();
if (g_msg[4] == OPCODE_LOOK)
fctLook();
if (g_msg[4] == OPCODE_SMELL)
fctSmell();
if (g_msg[4] == OPCODE_SOUND)
fctSound();
if (g_msg[4] == OPCODE_LEAVE)
fctLeave();
if (g_msg[4] == OPCODE_LIFT)
fctLift();
if (g_msg[4] == OPCODE_TURN)
fctTurn();
if (g_msg[4] == OPCODE_SSEARCH)
fctSelfSearch();
if (g_msg[4] == OPCODE_SREAD)
fctSelfRead();
if (g_msg[4] == OPCODE_SPUT)
fctSelfPut();
if (g_msg[4] == OPCODE_SLOOK)
fctSelftLook();
g_vm->_hiddenHero = false;

if (g_msg[4] == OPCODE_SHIDE)
fctSelfHide();
} else {
if (g_vm->_anyone) {
quelquun();
g_vm->_anyone = false;
mennor();
return;
}
}
int hour, day, minute;
updateHour(day, hour, minute);
if ((((hour == 12) || (hour == 13) || (hour == 19)) && (g_s._currPlace != 10)) ||
((hour > 0) && (hour < 6) && (g_s._currPlace != 0)))
++g_s._faithScore;
if (((g_s._currPlace < CRYPT) || (g_s._currPlace > MOUNTAIN)) && (g_s._currPlace != 23)
&& (g_s._currPlace != 0) && (g_s._selectedObjectId != 152) && (!g_vm->_loseGame)) {
if ((g_s._faithScore > 99) && (hour > 8) && (hour < 16)) {
g_crep = 1501;
tperd();
}
if ((g_s._faithScore > 99) && (hour > 0) && (hour < 9)) {
g_crep = 1508;
tperd();
}
if ((day > 1) && (hour > 8) && (!g_vm->_loseGame)) {
g_crep = 1502;
tperd();
}
}
mennor();
}

/* NIVEAU 1 */

void theure() {
g_vj = ord(g_s._heure);
g_vh = g_vj % 48;
g_vj /= 48;
g_vm__ = g_vh % 2;
g_vh /= 2;
g_hour = g_vh;
if (g_vm__ == 1)
g_minute = 30;
else
g_minute = 0;
}
} // End of namespace Mortevielle
10 changes: 10 additions & 0 deletions engines/mortevielle/mor.h
Expand Up @@ -178,5 +178,15 @@ extern void t23coul(int &l);
extern void maivid();
extern void st13(int ob);
extern void aldepl();

extern void changeGraphicalDevice(int newDevice);

/* NIVEAU 3 */
/* procedure PROGRAMME */
extern void tmaj3();
extern void tsitu();

/* NIVEAU 1 */
extern void theure();
} // End of namespace Mortevielle
#endif
1 change: 0 additions & 1 deletion engines/mortevielle/mortevielle.cpp
Expand Up @@ -38,7 +38,6 @@
#include "mortevielle/mouse.h"
#include "mortevielle/outtext.h"
#include "mortevielle/ovd1.h"
#include "mortevielle/prog.h"
#include "mortevielle/saveload.h"
#include "mortevielle/outtext.h"
#include "mortevielle/var_mor.h"
Expand Down

0 comments on commit c3e81b1

Please sign in to comment.