aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle/parole2.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2011-12-26 17:32:59 +0000
committerStrangerke2012-04-06 08:18:14 +0200
commite6a0c23d2c57461305906cb4c62b2b6962915264 (patch)
treee3300420f52afca4ec48c54a6d3b83b6b6a67697 /engines/mortevielle/parole2.cpp
parent9b6a4264dcaa26d87fa099c0a0dadbb8e37a6241 (diff)
downloadscummvm-rg350-e6a0c23d2c57461305906cb4c62b2b6962915264.tar.gz
scummvm-rg350-e6a0c23d2c57461305906cb4c62b2b6962915264.tar.bz2
scummvm-rg350-e6a0c23d2c57461305906cb4c62b2b6962915264.zip
MORTEVIELLE: Rename *.h -> *.cpp where they really belong
Diffstat (limited to 'engines/mortevielle/parole2.cpp')
-rw-r--r--engines/mortevielle/parole2.cpp95
1 files changed, 95 insertions, 0 deletions
diff --git a/engines/mortevielle/parole2.cpp b/engines/mortevielle/parole2.cpp
new file mode 100644
index 0000000000..07ac757d77
--- /dev/null
+++ b/engines/mortevielle/parole2.cpp
@@ -0,0 +1,95 @@
+void rot_chariot() {
+ c1 = c2;
+ c2 = c3;
+ {
+ c3.val = 32;
+ c3.code = 9;
+ }
+}
+
+void init_chariot() {
+ {
+ c3.rep = 0;
+ c3.freq = 0;
+ c3.acc = 0;
+ }
+ rot_chariot();
+ rot_chariot();
+}
+
+
+void trait_ph() {
+ const array<0, 2, integer> deca
+ = {{300, 30, 40}};
+
+ ptr_tcph = pred(integer, num_ph);
+ ledeb = swap(t_cph[ptr_tcph]) + deca[typlec];
+ lefin = swap(t_cph[ptr_tcph + 1]) + deca[typlec];
+ nb_word = lefin - ledeb;
+ ptr_tcph = (cardinal)ledeb >> 1;
+ ptr_word = 0;
+ do {
+ memw[adword + ptr_word] = t_cph[ptr_tcph];
+ ptr_word = ptr_word + 2;
+ ptr_tcph = ptr_tcph + 1;
+ } while (!(ptr_tcph >= ((cardinal)lefin >> 1)));
+
+ ptr_oct = 0;
+ ptr_word = 0;
+ init_chariot();
+
+ do {
+ rot_chariot();
+ charg_car();
+ trait_car();
+ } while (!(ptr_word >= nb_word));
+
+ rot_chariot();
+ trait_car();
+ entroct(ord('#'));
+}
+
+
+
+void parole(integer rep, integer ht, integer typ) {
+ array<0, 500, integer> savph;
+ integer i;
+ integer tempo;
+
+
+ if (sonoff) return;
+ num_ph = rep;
+ haut = ht;
+ typlec = typ;
+ if (typlec != 0) {
+ for (i = 0; i <= 500; i ++) savph[i] = t_cph[i];
+ tempo = tempo_bruit;
+ } else if (haut > 5) tempo = tempo_f;
+ else tempo = tempo_m;
+ addfix = (real)((tempo - addv[0])) / 256;
+ cctable(tbi);
+ switch (typ) {
+ case 1 : {
+ charge_bruit();
+ /*if zuul then zzuul(adbruit,0,1095);*/
+ regenbruit();
+ }
+ break;
+ case 2 : {
+ charge_son();
+ charge_phbruit();
+ }
+ break;
+ }
+ trait_ph();
+ litph(tbi, typ, tempo);
+ if (typlec != 0)
+ for (i = 0; i <= 500; i ++) {
+ t_cph[i] = savph[i];
+ mlec = typlec;
+ }
+ writepal(numpal);
+}
+
+
+