This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
Confirmed with QfG2 disassembly (the only 1_EGA_ONLY game)
that it behaves the same as SCI_VERSION_1_EARLY games, except
for the uninitialized read already mentioned in kDoBresen.
This renaming allows us to better distinguish that this version is for games
that only had an EGA version, and avoid confusion with newer SCI1 game releases
with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2,
a SCI1 EGA game with a parser. Also, added some games for each SCI version.
This is a regression from the new kInitBresen/kDoBresen functions, enabled in r52467.
Many thanks to waltervn for his work in bisecting this. The actual bug should be
found, but since only this death scene has an issue, it's not really worth the
effort. The old functions are based on observations, so there are many differences in
the way that they behave. If another test case is found, then this shall be examined
further. Until then, this simple and unobtrusive hack will do.
svn-id: r55251
including change to compare dest and current position directly, otherwise we would trigger ::moveDone one cycle too late in case the current move completed - fixes lsl5 patti upside down bug #3059336 and lb2cd (cd only!) laura bow getting transformed into a boiler-flame (bug #3050602) - lsl5 was not a real regression, the timing of previous kDoBresen way just off, so it didn't happen in that scene, but happened in lb2cd
svn-id: r52531
getAngle()-code is missing though. Still fixes lsl2early hang on airport (bug #3037036), fixes kq4early unicorn doing moonwalk (kq4late still works as well)
svn-id: r52512
enable replacement of save/load dialogs per default
add config-var "sci_originalsaveload" for not replacing dialogs
add config-var "sci_dither" for enabling dithering in EGA games
new kDoBresen fix qfg2 walk against wall bug (#3053131) and hoyle3 unreadable dice bug (#3036922)
svn-id: r52467
fixes qfg2 walking against wall, etc. BUT its currently disabled by default. You need to comment out the #define USE_OLD_BRESEN line in kmovement.cpp
svn-id: r52453
Since I got no response to my mail to -devel, I just assume that there is
no specific reason for using rand() in SCI.
As explained in my mail to -devel about why SCI uses rand, this might allow
SCI to work with our event recording, when that ever gets finished.
I adapted kRandom so that it also supports negative random numbers. And
furthermore that the toNumber argument is smaller than the fromNumber
argument. I am not sure whether that really happens though, but it should
be safer to have this. I marked that place with an TODO/CHECKME.
svn-id: r51521
hoyle 3 is using kCanBeHere, but it has cantBeHere and canBeHere selectors so our auto detection would fail
it also has a cantBeHere stub in Actor, thus it won't set acc at all. We reset acc because of that before calling cantBeHere selector (!) of the actors (canBeHere isnt used) so that we wont get a collision otherwise because acc is non zero when calling kDoBresen (fixes all sorts of bugs, clone2727 should clean it up :P
svn-id: r51485