The current algorithm is much better than the original player'ss one and it
find really nice curved paths.
Also, started preparing interface for actually walking along this path.
svn-id: r45622
- shouldExitLoop() is a bool again and introduced new flag isReloaded() instead
of adding special hacky value 2
- loop() accepts 2 parameters: loop substatus and shouldExit flag, because each
caller previously had to set and restore these manually. loop() now also
tests whether the substatuses are properly nested. reordered the
loop-exitting code.
- renamed loop substatuses to logical names
- enterNewRoom() returns bool whether loop() should continue so that start()
doesn't have to test and clear shouldEndProgram(). it doesn't need
force_reload as a parameter anymore.
- dialog selections use new inner substatus instead of outer substatus, for
consistency
svn-id: r45607
The Sprite class points to the original buffer (which is cached in the memory
thanks to BArchive machinery) instead of allocating its own buffer and
copying the source there.
svn-id: r45594
In particular, breadth-first search algorithm for getting the shortest path
in the walkable area and an algorithm making the path oblique when possible.
svn-id: r45591
Also, fix a bug when loading the default walking map (wasn't implemented)
and setting font size. The reason I move this code into a new module is
because I will augment it with other walking-related algorithms soon.
svn-id: r45510
- reading the volume from the configuration
- error handling of non-existent MIDI files
- pausing/resuming music
unfortunately, sometimes music stops playing or slows down, and my log
messages have so far not helped me to identify why
svn-id: r45326
Made it intelligent so that when, for example, the dubbing file doesn't exist,
we don't fail, but instead always show subtitles even if the GUI settings
says dubbing only, etc.
svn-id: r45002
Parsing _lookDir and _useDir, and passing it all the way around to walkHero().
Also, added playHeroAnimation() to reduce code duplication.
svn-id: r44965
The basic commands are done. It remains to implement handling music (after
we play it at all), fading palette, and controlling the quick-hero and
speed-text flags (after I find out what they do).
Now the dragon switches between talking and staying during dialogs. However,
the left/right direction doesn't work yet, because we don't respect _lookDir
and _useDir yet.
svn-id: r44964
After inspection, I assert that it isn't true that the _anim array needs to
be sorted. In fact, sorting ruins the ordering of the dragon's animations,
which corresponds to enum Movement.
After fixing this, let the dragon have a rest instead of constantly walking
down.
svn-id: r44962
It's both a pointer to an AnimationManager and list of animation ID's fo
each object. The latter renamed to _anim so that I can easily search for
them.
Also, fixed the bug promised in the previous commit.
svn-id: r44960