Age | Commit message (Collapse) | Author |
|
Putting items back to the inventory into clipped coordinates, and exiting
running GPL2 programs when the game engine it to be interrupted.
svn-id: r45822
|
|
Replaced IDs of objects by pointers, which saves many lookups, each of which
is horribly ineffective. Moved a lot of code into methods of structs now
turned into objects.
Tested the new code a lot and seems to work as well as the old code.
svn-id: r45799
|
|
svn-id: r45771
|
|
svn-id: r45768
|
|
svn-id: r45765
|
|
svn-id: r45764
|
|
This makes the hero's walk even smoother.
svn-id: r45763
|
|
Also, named correctly GPL2 parameter types.
This fixes all FIXMEs
svn-id: r45762
|
|
Currently, if gate programs used loop(), they exitted immediately due to not
having cleared this flag.
svn-id: r45753
|
|
an || expression.
svn-id: r45752
|
|
It used to have a wrong palette.
svn-id: r45749
|
|
Pressing Q during the game enables/disables faster walking; all animation
phases are flipped after one refresh instead of after given delay.
svn-id: r45748
|
|
This fixes the previous bugfix, which causes that I could not re-run the same
program (e.g., by repeatedly clicking on the hollow tree) if the hero did not
move at least one pixel.
svn-id: r45747
|
|
Also, optimize play() and stop()
svn-id: r45746
|
|
Adding +1 made the dragon sometimes flip before an object when it should
have been behind.
svn-id: r45745
|
|
Increasing _segment by 1 makes the code much simpler.
svn-id: r45744
|
|
svn-id: r45743
|
|
Adjusting to the edge is done such that it respects slight sideways movements of the dragon.
Fixed rounding issues in the whole game. Improved debug messages. Made sure that the dragon
does not turn like crazy around when clicking on the same pixel: the final point is always the
clicked one although the middle points made by shifted to make the animations smooth, and
preserve the dragons direction if he has not walked.
There is a bug with running turning animations as they seem to disappear for 1 frame and have
incorrect Z coordinate. Will investigate it next.
svn-id: r45742
|
|
It is not fully smooth yet due to rounding errors. However, it otherwise
does what it is supposed to including perspective correction.
svn-id: r45727
|
|
I project the hero immediately to the end of each edge for the time being
though.
svn-id: r45722
|
|
To implement proper walking, I have to respect the relative shifts defined
by the sprites as opposed to apply some constant velocity.
svn-id: r45714
|
|
svn-id: r45713
|
|
In these animations, each sprite can specify a relative shift with respect
to the previous sprite. Moving animations (such as walking of the dragon)
are easily described in this framework. I have sort of hacked their support
and it seems to work.
The current walking code does not interact with the new code yet, but it will
be easy to do.
svn-id: r45712
|
|
svn-id: r45711
|
|
When debugging another issue, I preloaded all animations, and horrible things
happened that I debugged for a few hours.
svn-id: r45695
|
|
- SIGSEGV by not stopping walking when changing rooms
- reset of the mouse cursor and object title during gate scripts
- updating the previous animation phase, also when starting new animation
- swapped up and down animations
svn-id: r45690
|
|
First shot, not debugged yet, but seems to work (even though a bit hairy)!
svn-id: r45688
|
|
svn-id: r45677
|
|
svn-id: r45675
|
|
svn-id: r45649
|
|
The hero does not walk yet (it still teleports to the target immediately),
but that is just because the actual walking algorithm is left trivial first.
However, the main game loop, callbacks, and waiting all already work with
the general framework.
svn-id: r45648
|
|
svn-id: r45644
|
|
svn-id: r45642
|
|
svn-id: r45641
|
|
when reloaded
svn-id: r45640
|
|
svn-id: r45623
|
|
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
|
|
svn-id: r45616
|
|
svn-id: r45609
|
|
svn-id: r45608
|
|
- 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
|
|
svn-id: r45606
|
|
svn-id: r45605
|
|
svn-id: r45604
|
|
svn-id: r45602
|
|
svn-id: r45599
|
|
PathVertex replaced by Common::Point. Do not update the path sprites if
not in the debugging mode.
svn-id: r45598
|
|
svn-id: r45597
|
|
svn-id: r45596
|
|
svn-id: r45595
|