mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-12 14:09:28 +00:00
DREAMWEB: Port 'diarykeyp', 'diarykeyn' to C++
This commit is contained in:
parent
6c5f424540
commit
e2a92bff29
@ -266,6 +266,8 @@ generator = cpp(context, "DreamGen", blacklist = [
|
||||
'deltextline',
|
||||
'delthisone',
|
||||
'destselect',
|
||||
'diarykeyp',
|
||||
'diarykeyn',
|
||||
'disablepath',
|
||||
'disablesoundint',
|
||||
'discops',
|
||||
|
@ -5465,66 +5465,6 @@ notdumpdiary:
|
||||
multiDump();
|
||||
}
|
||||
|
||||
void DreamGenContext::diaryKeyP() {
|
||||
STACK_CHECK;
|
||||
_cmp(data.byte(kCommandtype), 214);
|
||||
if (flags.z())
|
||||
goto alreadykeyp;
|
||||
data.byte(kCommandtype) = 214;
|
||||
al = 23;
|
||||
commandOnly();
|
||||
alreadykeyp:
|
||||
_cmp(data.word(kMousebutton), 0);
|
||||
if (flags.z())
|
||||
return /* (notkeyp) */;
|
||||
ax = data.word(kOldbutton);
|
||||
_cmp(ax, data.word(kMousebutton));
|
||||
if (flags.z())
|
||||
return /* (notkeyp) */;
|
||||
_cmp(data.byte(kPresscount), 0);
|
||||
if (!flags.z())
|
||||
return /* (notkeyp) */;
|
||||
al = 16;
|
||||
playChannel1();
|
||||
data.byte(kPresscount) = 12;
|
||||
data.byte(kPressed) = 'P';
|
||||
_dec(data.byte(kDiarypage));
|
||||
_cmp(data.byte(kDiarypage), -1);
|
||||
if (!flags.z())
|
||||
return /* (notkeyp) */;
|
||||
data.byte(kDiarypage) = 11;
|
||||
}
|
||||
|
||||
void DreamGenContext::diaryKeyN() {
|
||||
STACK_CHECK;
|
||||
_cmp(data.byte(kCommandtype), 213);
|
||||
if (flags.z())
|
||||
goto alreadykeyn;
|
||||
data.byte(kCommandtype) = 213;
|
||||
al = 23;
|
||||
commandOnly();
|
||||
alreadykeyn:
|
||||
_cmp(data.word(kMousebutton), 0);
|
||||
if (flags.z())
|
||||
return /* (notkeyn) */;
|
||||
ax = data.word(kOldbutton);
|
||||
_cmp(ax, data.word(kMousebutton));
|
||||
if (flags.z())
|
||||
return /* (notkeyn) */;
|
||||
_cmp(data.byte(kPresscount), 0);
|
||||
if (!flags.z())
|
||||
return /* (notkeyn) */;
|
||||
al = 16;
|
||||
playChannel1();
|
||||
data.byte(kPresscount) = 12;
|
||||
data.byte(kPressed) = 'N';
|
||||
_inc(data.byte(kDiarypage));
|
||||
_cmp(data.byte(kDiarypage), 12);
|
||||
if (!flags.z())
|
||||
return /* (notkeyn) */;
|
||||
data.byte(kDiarypage) = 0;
|
||||
}
|
||||
|
||||
void DreamGenContext::showDiaryPage() {
|
||||
STACK_CHECK;
|
||||
al = 0;
|
||||
|
@ -591,9 +591,7 @@ public:
|
||||
void reExFromInv();
|
||||
void businessMan();
|
||||
void outOfInv();
|
||||
void diaryKeyP();
|
||||
void transferMap();
|
||||
void diaryKeyN();
|
||||
void purgeAnItem();
|
||||
void purgeALocation();
|
||||
void notHeldError();
|
||||
|
@ -4164,4 +4164,39 @@ void DreamGenContext::showGun() {
|
||||
getRidOfTempText();
|
||||
}
|
||||
|
||||
void DreamGenContext::diaryKeyP() {
|
||||
if (data.byte(kCommandtype) != 214) {
|
||||
data.byte(kCommandtype) = 214;
|
||||
commandOnly(23);
|
||||
}
|
||||
|
||||
if (!data.word(kMousebutton) ||
|
||||
data.word(kOldbutton) == data.word(kMousebutton) ||
|
||||
data.byte(kPresscount))
|
||||
return; // notkeyp
|
||||
|
||||
playChannel1(16);
|
||||
data.byte(kPresscount) = 12;
|
||||
data.byte(kPressed) = 'P';
|
||||
data.byte(kDiarypage)--;
|
||||
|
||||
if (data.byte(kDiarypage) == 0xFF)
|
||||
data.byte(kDiarypage) = 11;
|
||||
}
|
||||
|
||||
void DreamGenContext::diaryKeyN() {
|
||||
if (data.byte(kCommandtype) != 213) {
|
||||
data.byte(kCommandtype) = 213;
|
||||
commandOnly(23);
|
||||
}
|
||||
|
||||
playChannel1(16);
|
||||
data.byte(kPresscount) = 12;
|
||||
data.byte(kPressed) = 'N';
|
||||
data.byte(kDiarypage)++;
|
||||
|
||||
if (data.byte(kDiarypage) == 12)
|
||||
data.byte(kDiarypage) = 0;
|
||||
}
|
||||
|
||||
} // End of namespace DreamGen
|
||||
|
@ -564,5 +564,7 @@
|
||||
void endGame();
|
||||
void monitorLogo();
|
||||
void quitSymbol();
|
||||
void diaryKeyP();
|
||||
void diaryKeyN();
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user