Age | Commit message (Collapse) | Author |
|
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
|
|
svn-id: r44961
|
|
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
|
|
svn-id: r44958
|
|
The sounds are not played yet, but the infrastructure is getting ready.
svn-id: r44957
|
|
1. a room need to be reloaded by force when the loaded game is in the same
room as the game before the load
2. objects from the last room and their animations must be deallocated
before I change the room number
svn-id: r44638
|
|
Immediate exit needed when loading a savegame hurts waiting in an inner
(strange) loop inside a GPL program, because animations don't progress at
all. Reverted to the previous behavior and kept the immediate exit as a
hack for loading the game.
svn-id: r44590
|
|
This solution is quite hacky, but so is the rest of the code, before a
future refactoring done one day.
svn-id: r44588
|
|
Fixed many bugs in the boilerplate. Saving (only) things that really need to
be saved. Loading seems to work modulo dialogs and (possibly) inventory.
svn-id: r44586
|
|
Clamping on the border of the screen works precisely. When switched to the
inventory, titles of game items are displayed instead of a (sticky) title of
the last object before entering the inventory. Put some const's where
appropriate.
svn-id: r44550
|
|
My yesterday's fix on handling 1 event per call caused the game to be
unbearably slow on Linux. The old way was much faster. I have solved too
fast a succession of mouse button down and up by not clearing the mouse flag
when the button goes up instead.
Fixed a memory leak and uninitialized variable after my refactoring of game
location changes; found by ValGrind.
svn-id: r44525
|
|
Completely changed the interface, removing unused methods and attributes,
renaming other ones to reflect what they do, and moving some methods into the
private section. Code changing the location, originally scattered over many
pieces of code, has been unified into one place. Remember the previous room
when entering the map so that one can return there.
Also, the event handler processes one event at a time, preventing lost clicks
on touchpads.
svn-id: r44508
|
|
svn-id: r44499
|
|
things)
svn-id: r44495
|
|
svn-id: r44493
|
|
- Remove use of tabs for formatting, now in nearly all cases tabs are only used for indentation
- Use "uint" instead of "unsigned int" in the whole engine for consistency's sake
- Strip some trailing tabs and leading whitespaces
svn-id: r44478
|
|
svn-id: r44474
|
|
I left draw() as is for now, although it could also be similarly simplified.
Also, one could easily completely get rid of columnIndices[], but I was too
tired for the time being.
svn-id: r44457
|
|
svn-id: r44456
|
|
* Added const to some methods of Game.
* Removed some code cruft from Game::walkHero() (duplicate calculations and variables).
* Fixed small bug which prevented talking text from being centered above the dragon.
svn-id: r44455
|
|
Game::getHeroY() and implemented correct positioning of all dragon animations. Fixed exiting the inventory by right-clicking outside it.
svn-id: r44453
|
|
svn-id: r44447
|
|
svn-id: r44434
|
|
svn-id: r44433
|
|
svn-id: r44430
|
|
svn-id: r44422
|
|
where lround() is used
svn-id: r44337
|
|
svn-id: r44331
|
|
non-C99 compilers (e.g. VS)
svn-id: r44328
|
|
getters/setters.
svn-id: r43492
|
|
previously called "icons" as in the original player. This commit also renamed every such instance to the proper "item".
svn-id: r43487
|
|
svn-id: r43392
|
|
* Used a more natural condition (whether the scheduled room number is different from the current room number) instead of the _roomChange hack.
svn-id: r43391
|
|
svn-id: r43312
|
|
svn-id: r43311
|
|
svn-id: r43310
|
|
svn-id: r43309
|
|
them back to 1-based indexing so they play well with the rest of the scripts. This fixes a number of bugs, e.g. the dragon now appears automatically when the game starts and the question mark animation in the intro is played / stopped at an appropriate time.
* Removed hack from Script::start() which loaded animation 657 before playing it to stop a crash. The fix above seems to fix this bug as well.
svn-id: r43308
|
|
high-five scene between Bert and Eveline which ended too fast).
svn-id: r43306
|
|
two separate concepts
* Fixed slight glitch where object titles (which normally disappear when objects are used/looked at) reappeared for a moment after the script has finished
svn-id: r43305
|
|
svn-id: r43295
|
|
svn-id: r43256
|
|
svn-id: r43253
|
|
to Game::start() (just after running the gate program). This fixes a black cursor bug when the game starts (the cursor should not be even displayed then).
svn-id: r43162
|
|
* Extracted title updating from the main loop to a new method, Game::updateTitle().
* Added Game::updateCursor().
* Restructured the main loop to fix many subtle bugs and enable some new functionality concerning object scripts (like support for room-global use scripts).
* Added support for tracking currently selected icons (items, probably should be renamed).
* Changed walkDir, lookDir and useDir members of GameObject to int and adjusted them for zero-based indexing.
* Added Game::getCurrentIcon().
* Return from WalkingMap::findNearestWalkable immediately if the starting point is walkable.
svn-id: r43160
|
|
(warning: this will break many things currently working until I implement IsIcoAct in my next few commits).
* Removed old HACK note because look / use scripts are now more properly implemented.
svn-id: r43130
|
|
obsolete documentation.
svn-id: r43128
|
|
from the original game that attempts to find walkable spots near the given point
* Implemented moving to the right place when looking / using objects.
svn-id: r43125
|