Commit Graph

231 Commits

Author SHA1 Message Date
Strangerke
aa2371c3d8 DRACI: Janitorial - Fix spacing errors 2013-11-24 02:00:21 +01:00
Eugene Sandulenko
2a6a23e88a DRACI: Initialized class variables. CID 1003405 2013-10-18 15:59:22 +03:00
Eugene Sandulenko
834ff819df DRACI: Fix negative array index read. CID 1003548 2013-10-18 15:56:50 +03:00
Eugene Sandulenko
ae17206ce7 DRACI: Fix uninitalized variables. CID 1003405 2013-10-17 14:08:37 +03:00
Eugene Sandulenko
74172a7449 DRACI: Fix potential negative array index read. CID 1003548 2013-10-17 14:03:37 +03:00
Johannes Schickel
e4a94d865f DRACI: Made some static data const. 2011-09-08 19:59:36 +02:00
Max Horn
668ae0363e DRACI: Remove all instances of s(n)printf 2011-06-02 10:46:29 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
84184aabc0 ALL: colour -> color 2011-04-14 14:12:35 +02:00
Max Horn
2d1c8a3533 ALL: Fix whitespaces / indention
svn-id: r55818
2011-02-07 23:01:06 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Robert Špalek
c7f6a5b286 Generalize the sound archive framework to be able to open new formats
svn-id: r50519
2010-06-30 08:27:09 +00:00
Robert Špalek
76b8c33aaf Fade palette in/out when entering/leaving a location
svn-id: r50409
2010-06-28 04:59:13 +00:00
Robert Špalek
d4a0c8a1ad bugfix for the item fast-switching commit
svn-id: r50408
2010-06-28 04:16:00 +00:00
Robert Špalek
c7554c267e Implement shortcuts for switching items in the inventory
slash: switch between the last held item and normal mouse
comma, period: replace the currently held item with the previous/next item in the inventory

Also, commented a bit better what happens when ESCAPE is present with respect to map
programs and cut-scenes.

svn-id: r50407
2010-06-28 04:04:16 +00:00
Robert Špalek
ae332b620e Run possible cut-scenes before each location change.
This is the behavior of the original player.  It is not necessary to click on
the hero.

svn-id: r50361
2010-06-27 04:19:55 +00:00
Robert Špalek
196f033e93 Fix static initialization
svn-id: r48722
2010-04-19 16:38:41 +00:00
Robert Špalek
c66e47cad4 Fix bug 2983187 on continuing palette change
svn-id: r48615
2010-04-11 06:02:41 +00:00
Robert Špalek
2d8b25f656 Dragon History: fixing properly bug 2976774
The previous bugfix just hid the problem by removing an assert, but it might demonstrate
itself in another way later.  This is a proper bugfix.

svn-id: r48460
2010-04-01 22:01:40 +00:00
David Turner
1fb60b4990 Basic correction for bug #2976774 "DRACI: Segfault Crash When Leaving Inventory".
This patch corrects the valgrind fault, but may not be the ultimate fix.

This should be reviewed before backport to v1.1.0 branch.

svn-id: r48434
2010-03-31 03:19:01 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Robert Špalek
96068d30d9 Handle properly shouldQuit()
svn-id: r47215
2010-01-10 01:25:37 +00:00
Johannes Schickel
9e04ca3633 Silence gcc warning.
svn-id: r46326
2009-12-09 23:05:36 +00:00
Max Horn
f3420c6372 DRACI: Reduce header interdependencies; some cleanup
svn-id: r46320
2009-12-09 21:03:22 +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
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
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
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
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
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
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
e9c6fd5e39 Fixed aligning items in the inventory
svn-id: r45764
2009-11-08 21:44:30 +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