Johannes Schickel
e3d1d914ac
Attempt to fix MSVC warning C4121.
...
svn-id: r46299
2009-12-08 22:07:17 +00:00
Torbjörn Andersson
184a741757
For consistency, make F5 bring up the main menu in the Draci engine too, just
...
like megath just did in the TeenAgent engine.
svn-id: r46284
2009-12-07 20:32:54 +00:00
Lars Persson
61d68b9d4a
Removed <cmath> includes since a) not a part of Symbian OS b) Compiles fine without it (at least with Symbian OS GCCE 3.4.3 and CW 2)
...
svn-id: r46213
2009-11-30 08:09:39 +00:00
Robert Špalek
63a6480057
Hopefully fix switching to the map right after switching the location
...
It seems that the mouse was simply on the below line and triggered the switch
to the map without the user realizing.
svn-id: r46171
2009-11-28 00:57:42 +00:00
Robert Špalek
87c26fe54b
Fixed bug with exhausting sound handles
...
It was caused by forever re-starting the same sample when the animation was
stopped and the same frame got displayed over and over, each time triggering
playing the same sample.
svn-id: r46168
2009-11-28 00:07:22 +00:00
Robert Špalek
4e830d821c
Fix SIGSEGV found by ValGrind
...
svn-id: r46142
2009-11-26 00:09:17 +00:00
Max Horn
df651bf20f
Added Doxygen comments for the various engine namespaces (currently mostly without details; help filling these out is welcome)
...
svn-id: r46128
2009-11-24 22:10:14 +00:00
Max Horn
e34f1415db
DRACI: Reduce header interdependency
...
svn-id: r46117
2009-11-23 23:54:20 +00:00
Robert Špalek
95d4c62efb
Fixed breaking long lines instead of using smaller font (which is sometimes not enough)
...
svn-id: r46101
2009-11-23 06:44:40 +00:00
Robert Špalek
604ed73b87
Move setIsReloaded(false) in enterNewRoom() to the right place.
...
Last commit moved it below, but that cancelled GPL2 programs run right
after loading the game.
svn-id: r46099
2009-11-22 21:27:30 +00:00
Robert Špalek
f6f8b66d45
Remove obsolete and unneeded logic bypassing reloading a location.
...
I have tested that this could only possibly happen when the game has been
loaded with last location being the map. Then pressing Escape calls
enterNewRoom() and this superfluous optimization takes place. It is harmless
to simply reload the map. After having removed it, enterNewRoom() needs not
return any return value, because the test at the tail can be done by the
caller. I have then restructured the code a little to make it cleaner.
svn-id: r46098
2009-11-22 21:12:23 +00:00
Robert Špalek
d3d16422e0
Further cleaned up the hack with removing old animations.
...
Now only a long-term (complete rewrite) TODO is left in the code, but nothing
urgent to solve.
svn-id: r46097
2009-11-22 20:44:37 +00:00
Robert Špalek
772b89682d
Make sure hands are empty after loading the game
...
(otherwise we could have in our hands an unreachable object). This works
thanks to moving clearing _currentItem into putItem(), which gets called
in inventoryReload().
svn-id: r46096
2009-11-22 20:25:27 +00:00
Robert Špalek
00063b1423
Clearing object animations in a cleaner way
...
Verified that we really do not need object animations even if they are in
a different location, and clearing them thus regardless of their location.
Although the game was not crashing due to previous work-arounds at this
moment, this cleanup obliterates the most horrible hack and makes sure
animations will never get stale.
svn-id: r46095
2009-11-22 20:17:39 +00:00
Robert Špalek
3d687d07f5
Fixed assert() on already loaded animation
...
Now the game seems fully playable with crazy loading all the time, even
though it is a hacky solution. Updated the TODOs
svn-id: r46094
2009-11-22 20:02:13 +00:00
Robert Špalek
4bd395a1ee
Updated an urgent TODO to make the game playable
...
svn-id: r46070
2009-11-22 09:21:40 +00:00
Robert Špalek
2397efd730
Fix SIGSEGV by an absolutely brutally horrible hack
...
I have thoroughly documented why this hack is needed and added ideas how to
fix it properly.
svn-id: r46068
2009-11-22 09:13:05 +00:00
Robert Špalek
3ddf90a872
Only enable changing rooms by left/right arrows when debugging
...
svn-id: r46059
2009-11-22 05:42:46 +00:00
Robert Špalek
5b9bfaee2b
Opening the inventory stops hero walking
...
(otherwise the relative animation would repeat itself unhandled until the
hero disappears from the screen.)
svn-id: r46058
2009-11-22 05:35:36 +00:00
Robert Špalek
0ee8f879fa
Fix positioning of one-time hero animations.
...
With the previous code, the position of the animation was doubled (due to
counting the position twice, the second time being a relative shift), which
put it mostly outside the screen. This is because one-time hero animations
are actually stored using absolute coordinates.
svn-id: r46057
2009-11-22 05:10:31 +00:00
Robert Špalek
509444cc91
Fixed Animation::getTopAnimation()
...
It does not return kTitleText and others. This caused flickering of speech
texts on/off when the title got displayed under the mouse.
svn-id: r46056
2009-11-22 02:42:15 +00:00
Robert Špalek
9297e62aed
Fixed re-entering the same room using a different gate
...
svn-id: r46044
2009-11-21 18:18:09 +00:00
Robert Špalek
de6dc9a784
Handled loading/saving from the map location
...
svn-id: r45876
2009-11-12 23:33:22 +00:00
Robert Špalek
0a2b2a2256
Removed 2 old TODOs
...
svn-id: r45874
2009-11-12 22:57:01 +00:00
Robert Špalek
24ccc94f79
Implemented "Mute All"
...
svn-id: r45873
2009-11-12 22:52:00 +00:00
Robert Špalek
fc0c195ea3
Implementing switching to/from the map room by mouse
...
svn-id: r45872
2009-11-12 22:41:14 +00:00
Robert Špalek
44afaf9bf1
Display/remove the inventory based on mouse "gestures"
...
svn-id: r45855
2009-11-12 09:27:41 +00:00
Robert Špalek
13a2b24ab5
Removed 2 TODOs
...
svn-id: r45851
2009-11-12 03:25:10 +00:00
Robert Špalek
793761c695
Fixed Script::icoStat()
...
svn-id: r45850
2009-11-12 03:09:15 +00:00
Robert Špalek
c17e4f1b68
Subtitles are positioned correctly in the inventory
...
svn-id: r45849
2009-11-12 00:57:38 +00:00
Robert Špalek
d281fe4717
Added runWrapper() calling run() and some actions around it.
...
This simplifies a lot of code calling run(). Also, scripts called from the
inventory are now called with disabled mouse and title, as desired.
svn-id: r45848
2009-11-12 00:45:28 +00:00
Robert Špalek
8ed71d903a
Refactored draw() according to drawReScaled()
...
svn-id: r45826
2009-11-11 02:25:42 +00:00
Robert Špalek
9dd61159cd
Documented palette shift
...
svn-id: r45825
2009-11-11 00:27:08 +00:00
Robert Špalek
78a10999ab
Cleaned up searching the closest point.
...
The old comments were completely misleading although the algorithm was good.
svn-id: r45824
2009-11-11 00:19:23 +00:00
Robert Špalek
dea7e18172
Fixed walking to unreachable positions
...
svn-id: r45823
2009-11-10 23:23:40 +00:00
Robert Špalek
9ba6e8138c
Fixed two bugs.
...
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
2009-11-10 23:21:29 +00:00
Robert Špalek
e2ca397e63
Huge refactoring of data structures.
...
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
2009-11-10 05:16:34 +00:00
Robert Špalek
ed348133d1
GPL2 callbacks accept const Array& instead of Queue&
...
svn-id: r45771
2009-11-09 04:27:08 +00:00
Robert Špalek
8edfd6b56c
Updated the list of TODOs
...
svn-id: r45768
2009-11-08 22:48:27 +00:00
Robert Špalek
b257892387
Removed almost all TODOs from the header files
...
svn-id: r45765
2009-11-08 21:49:40 +00:00
Robert Špalek
e9c6fd5e39
Fixed aligning items in the inventory
...
svn-id: r45764
2009-11-08 21:44:30 +00:00
Robert Špalek
99037380ee
Removed old hack for cyclic animations.
...
This makes the hero's walk even smoother.
svn-id: r45763
2009-11-08 21:35:19 +00:00
Robert Špalek
abbb3dccd7
Items put into inventory are placed correctly.
...
Also, named correctly GPL2 parameter types.
This fixes all FIXMEs
svn-id: r45762
2009-11-08 21:26:04 +00:00
Robert Špalek
121baa2660
Fix running clearing IsReloaded().
...
Currently, if gate programs used loop(), they exitted immediately due to not
having cleared this flag.
svn-id: r45753
2009-11-08 18:55:41 +00:00
Johannes Schickel
f8ab3f866e
Silence gcc warning by putting parentheses around an && expression nested in an || expression.
...
svn-id: r45752
2009-11-08 18:55:18 +00:00
Robert Špalek
75bbe04280
Fix enabling mouse cursor when entering a room.
...
It used to have a wrong palette.
svn-id: r45749
2009-11-08 06:56:30 +00:00
Robert Špalek
4341a36641
Implement QuickHero walking.
...
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
2009-11-08 06:46:24 +00:00
Robert Špalek
a4393d46b2
Do not immediately clear the path when it has just 1 vertex.
...
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
2009-11-08 06:30:10 +00:00
Robert Špalek
5c8aa6ee91
Fixed mistake with two inner loop caused by not clearing the path.
...
Also, optimize play() and stop()
svn-id: r45746
2009-11-08 06:16:25 +00:00
Robert Špalek
bea00d86cb
Tuned Z-coordinate of the dragon.
...
Adding +1 made the dragon sometimes flip before an object when it should
have been behind.
svn-id: r45745
2009-11-08 05:47:39 +00:00