aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/alan2/reverse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/glk/alan2/reverse.cpp')
-rw-r--r--engines/glk/alan2/reverse.cpp550
1 files changed, 275 insertions, 275 deletions
diff --git a/engines/glk/alan2/reverse.cpp b/engines/glk/alan2/reverse.cpp
index 943411e873..a79ae02a47 100644
--- a/engines/glk/alan2/reverse.cpp
+++ b/engines/glk/alan2/reverse.cpp
@@ -35,307 +35,307 @@ namespace Alan2 {
*/
Aword reversed(Aword w /* IN - The ACODE word to swap bytes of */) {
- Aword s; /* The swapped ACODE word */
- char *wp, *sp;
- int i;
-
- wp = (char *) &w;
- sp = (char *) &s;
+ Aword s; /* The swapped ACODE word */
+ char *wp, *sp;
+ int i;
- for (i = 0; i < sizeof(Aword); i++)
- sp[sizeof(Aword)-1 - i] = wp[i];
+ wp = (char *) &w;
+ sp = (char *) &s;
- return s;
+ for (i = 0; i < sizeof(Aword); i++)
+ sp[sizeof(Aword) - 1 - i] = wp[i];
+
+ return s;
}
void reverse(Aword *w /* IN - The ACODE word to reverse bytes in */) {
- *w = reversed(*w);
+ *w = reversed(*w);
}
static void reverseTable(Aword adr, int len) {
- Aword *e = &memory[adr];
- int i;
-
- if (adr != 0)
- while (!endOfTable(e)) {
- for (i = 0; i < len/(int)sizeof(Aword); i++) {
- reverse(e);
- e++;
- }
- }
+ Aword *e = &memory[adr];
+ int i;
+
+ if (adr != 0)
+ while (!endOfTable(e)) {
+ for (i = 0; i < len / (int)sizeof(Aword); i++) {
+ reverse(e);
+ e++;
+ }
+ }
}
static void reverseStms(Aword adr) {
- Aword *e = &memory[adr];
-
- if (adr != 0)
- while (TRUE) {
- reverse(e);
- if (*e == ((Aword)C_STMOP<<28|(Aword)I_RETURN)) break;
- e++;
- }
+ Aword *e = &memory[adr];
+
+ if (adr != 0)
+ while (TRUE) {
+ reverse(e);
+ if (*e == ((Aword)C_STMOP << 28 | (Aword)I_RETURN)) break;
+ e++;
+ }
}
static void reverseMsgs(Aword adr) {
- MsgElem *e = (MsgElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(MsgElem));
- while (!endOfTable(e)) {
- reverseStms(e->stms);
- e++;
- }
- }
-}
+ MsgElem *e = (MsgElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(MsgElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->stms);
+ e++;
+ }
+ }
+}
static void reverseWrds(Aword adr) {
- WrdElem *e = (WrdElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(WrdElem));
- while (!endOfTable(e)) {
- if ((e->_class & (1L<<WRD_SYN)) == 0) { /* Do not do this for synonyms */
- reverseTable(e->adjrefs, sizeof(Aword));
- reverseTable(e->nounrefs, sizeof(Aword));
- }
- e++;
- }
- }
-}
+ WrdElem *e = (WrdElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(WrdElem));
+ while (!endOfTable(e)) {
+ if ((e->_class & (1L << WRD_SYN)) == 0) { /* Do not do this for synonyms */
+ reverseTable(e->adjrefs, sizeof(Aword));
+ reverseTable(e->nounrefs, sizeof(Aword));
+ }
+ e++;
+ }
+ }
+}
static void reverseChks(Aword adr) {
- ChkElem *e = (ChkElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ChkElem));
- while (!endOfTable(e)) {
- reverseStms(e->exp);
- reverseStms(e->stms);
- e++;
- }
- }
-}
+ ChkElem *e = (ChkElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ChkElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->exp);
+ reverseStms(e->stms);
+ e++;
+ }
+ }
+}
static void reverseAlts(Aword adr) {
- AltElem *e = (AltElem *)&memory[adr];
-
- if (adr != 0 && !endOfTable(e) && !e->done) {
- reverseTable(adr, sizeof(AltElem));
- e->done = TRUE;
- while (!endOfTable(e)) {
- reverseChks(e->checks);
- reverseStms(e->action);
- e++;
- }
- }
-}
+ AltElem *e = (AltElem *)&memory[adr];
+
+ if (adr != 0 && !endOfTable(e) && !e->done) {
+ reverseTable(adr, sizeof(AltElem));
+ e->done = TRUE;
+ while (!endOfTable(e)) {
+ reverseChks(e->checks);
+ reverseStms(e->action);
+ e++;
+ }
+ }
+}
static void reverseVrbs(Aword adr) {
- VrbElem *e = (VrbElem *)&memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(VrbElem));
- while (!endOfTable(e)) {
- reverseAlts(e->alts);
- e++;
- }
- }
-}
+ VrbElem *e = (VrbElem *)&memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(VrbElem));
+ while (!endOfTable(e)) {
+ reverseAlts(e->alts);
+ e++;
+ }
+ }
+}
static void reverseSteps(Aword adr) {
- StepElem *e = (StepElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(StepElem));
- while (!endOfTable(e)) {
- reverseStms(e->exp);
- reverseStms(e->stm);
- e++;
- }
- }
-}
+ StepElem *e = (StepElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(StepElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->exp);
+ reverseStms(e->stm);
+ e++;
+ }
+ }
+}
static void reverseScrs(Aword adr) {
- ScrElem *e = (ScrElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ScrElem));
- while (!endOfTable(e)) {
- reverseStms(e->dscr);
- reverseSteps(e->steps);
- e++;
- }
- }
-}
+ ScrElem *e = (ScrElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ScrElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->dscr);
+ reverseSteps(e->steps);
+ e++;
+ }
+ }
+}
static void reverseActs(Aword adr) {
- ActElem *e = (ActElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ActElem));
- while (!endOfTable(e)) {
- reverseStms(e->nam);
- reverseTable(e->atrs, sizeof(AtrElem));
- reverseScrs(e->scradr);
- reverseVrbs(e->vrbs);
- reverseStms(e->dscr);
- e++;
- }
- }
-}
+ ActElem *e = (ActElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ActElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->nam);
+ reverseTable(e->atrs, sizeof(AtrElem));
+ reverseScrs(e->scradr);
+ reverseVrbs(e->vrbs);
+ reverseStms(e->dscr);
+ e++;
+ }
+ }
+}
static void reverseObjs(Aword adr, Boolean v2_5) {
- ObjElem *e = (ObjElem *) &memory[adr];
- ObjElem25 *e25 = (ObjElem25 *) &memory[adr];
-
- if (v2_5) {
- if (adr != 0 && !endOfTable(e25)) {
- reverseTable(adr, sizeof(ObjElem25));
- while (!endOfTable(e25)) {
- reverseTable(e25->atrs, sizeof(AtrElem));
- reverseVrbs(e25->vrbs);
- reverseStms(e25->dscr1);
- reverseStms(e25->dscr2);
- e25++;
- }
- }
- } else {
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ObjElem));
- while (!endOfTable(e)) {
- reverseTable(e->atrs, sizeof(AtrElem));
- reverseVrbs(e->vrbs);
- reverseStms(e->art);
- reverseStms(e->dscr1);
- reverseStms(e->dscr2);
- e++;
- }
- }
- }
+ ObjElem *e = (ObjElem *) &memory[adr];
+ ObjElem25 *e25 = (ObjElem25 *) &memory[adr];
+
+ if (v2_5) {
+ if (adr != 0 && !endOfTable(e25)) {
+ reverseTable(adr, sizeof(ObjElem25));
+ while (!endOfTable(e25)) {
+ reverseTable(e25->atrs, sizeof(AtrElem));
+ reverseVrbs(e25->vrbs);
+ reverseStms(e25->dscr1);
+ reverseStms(e25->dscr2);
+ e25++;
+ }
+ }
+ } else {
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ObjElem));
+ while (!endOfTable(e)) {
+ reverseTable(e->atrs, sizeof(AtrElem));
+ reverseVrbs(e->vrbs);
+ reverseStms(e->art);
+ reverseStms(e->dscr1);
+ reverseStms(e->dscr2);
+ e++;
+ }
+ }
+ }
}
static void reverseExts(Aword adr) {
- ExtElem *e = (ExtElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ExtElem));
- while (!endOfTable(e)) {
- if (!e->done) {
- reverseChks(e->checks);
- reverseStms(e->action);
- }
- e++;
- }
- }
-}
+ ExtElem *e = (ExtElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ExtElem));
+ while (!endOfTable(e)) {
+ if (!e->done) {
+ reverseChks(e->checks);
+ reverseStms(e->action);
+ }
+ e++;
+ }
+ }
+}
static void reverseLocs(Aword adr) {
- LocElem *e = (LocElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(LocElem));
- while (!endOfTable(e)) {
- reverseStms(e->nams);
- reverseStms(e->dscr);
- reverseStms(e->does);
- reverseTable(e->atrs, sizeof(AtrElem));
- reverseExts(e->exts);
- reverseVrbs(e->vrbs);
- e++;
- }
- }
-}
+ LocElem *e = (LocElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(LocElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->nams);
+ reverseStms(e->dscr);
+ reverseStms(e->does);
+ reverseTable(e->atrs, sizeof(AtrElem));
+ reverseExts(e->exts);
+ reverseVrbs(e->vrbs);
+ e++;
+ }
+ }
+}
static void reverseClas(Aword adr) {
- ClaElem *e = (ClaElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ClaElem));
- while (!endOfTable(e)) {
- reverseStms(e->stms);
- e++;
- }
- }
- if (adr)
- reverse(&((Aword *)e)[1]); /* The verb code is stored after the table */
-}
+ ClaElem *e = (ClaElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ClaElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->stms);
+ e++;
+ }
+ }
+ if (adr)
+ reverse(&((Aword *)e)[1]); /* The verb code is stored after the table */
+}
static void reverseElms(Aword adr) {
- ElmElem *e = (ElmElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(ElmElem));
- while (!endOfTable(e)) {
- if (e->code == EOS) reverseClas(e->next);
- else reverseElms(e->next);
- e++;
- }
- }
-}
+ ElmElem *e = (ElmElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(ElmElem));
+ while (!endOfTable(e)) {
+ if (e->code == EOS) reverseClas(e->next);
+ else reverseElms(e->next);
+ e++;
+ }
+ }
+}
static void reverseStxs(Aword adr) {
- StxElem *e = (StxElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(StxElem));
- while (!endOfTable(e)) {
- reverseElms(e->elms);
- e++;
- }
- }
-}
+ StxElem *e = (StxElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(StxElem));
+ while (!endOfTable(e)) {
+ reverseElms(e->elms);
+ e++;
+ }
+ }
+}
static void reverseEvts(Aword adr) {
- EvtElem *e = (EvtElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(EvtElem));
- while (!endOfTable(e)) {
- reverseStms(e->code);
- e++;
- }
- }
-}
+ EvtElem *e = (EvtElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(EvtElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->code);
+ e++;
+ }
+ }
+}
static void reverseLims(Aword adr) {
- LimElem *e = (LimElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(LimElem));
- while (!endOfTable(e)) {
- reverseStms(e->stms);
- e++;
- }
- }
-}
+ LimElem *e = (LimElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(LimElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->stms);
+ e++;
+ }
+ }
+}
static void reverseCnts(Aword adr) {
- CntElem *e = (CntElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(CntElem));
- while (!endOfTable(e)) {
- reverseLims(e->lims);
- reverseStms(e->header);
- reverseStms(e->empty);
- reverseStms(e->nam);
- e++;
- }
- }
-}
+ CntElem *e = (CntElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(CntElem));
+ while (!endOfTable(e)) {
+ reverseLims(e->lims);
+ reverseStms(e->header);
+ reverseStms(e->empty);
+ reverseStms(e->nam);
+ e++;
+ }
+ }
+}
static void reverseRuls(Aword adr) {
- RulElem *e = (RulElem *) &memory[adr];
-
- if (adr != 0 && !endOfTable(e)) {
- reverseTable(adr, sizeof(RulElem));
- while (!endOfTable(e)) {
- reverseStms(e->exp);
- reverseStms(e->stms);
- e++;
- }
- }
-}
+ RulElem *e = (RulElem *) &memory[adr];
+
+ if (adr != 0 && !endOfTable(e)) {
+ reverseTable(adr, sizeof(RulElem));
+ while (!endOfTable(e)) {
+ reverseStms(e->exp);
+ reverseStms(e->stms);
+ e++;
+ }
+ }
+}
/*----------------------------------------------------------------------
@@ -346,11 +346,11 @@ static void reverseRuls(Aword adr) {
*/
void reverseHdr(AcdHdr *hdr) {
- int i;
+ int i;
- /* Reverse all words in the header except the first (version marking) */
- for (i = 1; i < sizeof(AcdHdr)/sizeof(Aword); i++)
- reverse(&((Aword *)hdr)[i]);
+ /* Reverse all words in the header except the first (version marking) */
+ for (i = 1; i < sizeof(AcdHdr) / sizeof(Aword); i++)
+ reverse(&((Aword *)hdr)[i]);
}
/*----------------------------------------------------------------------
@@ -363,25 +363,25 @@ void reverseHdr(AcdHdr *hdr) {
*/
void reverseACD(Boolean v2_5) {
- reverseHdr(header);
- reverseWrds(header->dict);
- reverseTable(header->oatrs, sizeof(AtrElem));
- reverseTable(header->latrs, sizeof(AtrElem));
- reverseTable(header->aatrs, sizeof(AtrElem));
- reverseActs(header->acts);
- reverseObjs(header->objs, v2_5);
- reverseLocs(header->locs);
- reverseStxs(header->stxs);
- reverseVrbs(header->vrbs);
- reverseEvts(header->evts);
- reverseCnts(header->cnts);
- reverseRuls(header->ruls);
- reverseTable(header->init, sizeof(IniElem));
- reverseStms(header->start);
- reverseMsgs(header->msgs);
-
- reverseTable(header->scores, sizeof(Aword));
- reverseTable(header->freq, sizeof(Aword));
+ reverseHdr(header);
+ reverseWrds(header->dict);
+ reverseTable(header->oatrs, sizeof(AtrElem));
+ reverseTable(header->latrs, sizeof(AtrElem));
+ reverseTable(header->aatrs, sizeof(AtrElem));
+ reverseActs(header->acts);
+ reverseObjs(header->objs, v2_5);
+ reverseLocs(header->locs);
+ reverseStxs(header->stxs);
+ reverseVrbs(header->vrbs);
+ reverseEvts(header->evts);
+ reverseCnts(header->cnts);
+ reverseRuls(header->ruls);
+ reverseTable(header->init, sizeof(IniElem));
+ reverseStms(header->start);
+ reverseMsgs(header->msgs);
+
+ reverseTable(header->scores, sizeof(Aword));
+ reverseTable(header->freq, sizeof(Aword));
}
} // End of namespace Alan2