diff options
author | Eugene Sandulenko | 2011-12-26 17:32:59 +0000 |
---|---|---|
committer | Strangerke | 2012-04-06 08:18:14 +0200 |
commit | e6a0c23d2c57461305906cb4c62b2b6962915264 (patch) | |
tree | e3300420f52afca4ec48c54a6d3b83b6b6a67697 /engines/mortevielle/parole2.cpp | |
parent | 9b6a4264dcaa26d87fa099c0a0dadbb8e37a6241 (diff) | |
download | scummvm-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.cpp | 95 |
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); +} + + + |