Commit Graph

1318 Commits

Author SHA1 Message Date
David Turner
c6750a7a65 PARALLACTION: Minor Whitespace and code complexity reduction in walk.*
svn-id: r55280
2011-01-17 23:12:59 +00:00
David Turner
3ebf1e5962 PARALLACTION: Some Improvements To Big Red Adventure Walk Code.
* Renamed and retyped "int _fieldC" to "bool _stillWalkingTowardsNode" to aid readability and clarity of code. Thanks to fuzzie for naming.
* Added assertion to prevent use of invalid memory as reported by Valgrind when walk point p is constructed from an empty list.
* Added code to stop walk if buildPath fails, though this causes an assertion instead currently.

svn-id: r55279
2011-01-17 23:00:52 +00:00
David Turner
81729b87e8 PARALLACTION: Add debug console command "showmouse".
This command forces the mouse state to Enabled and Visible.
This is intended to help playtesting in Big Red Adventure, which has an issue currently with the mouse pointer getting stuck in the hidden state in some cases.

svn-id: r55234
2011-01-14 03:25:39 +00:00
David Turner
28e7ea8c22 PARALLACTION: Fix Valgrind Error on Engine Exit.
The automatic destruction of engine member "_char" of type Character at end of the destructor causes an invalid read in the destruction of the AnimationPtr which is a SharedPtr. To stop this happening, the SharedPtr is reset() prior to the destruction of Gfx, so it's dependencies on Gfx are still present. This will affect Nippon Safes as well as Big Red Adventure, but is unlikely to cause any issues and it is likely this exists in NS as well.

Thanks to fuzzie for this code.

svn-id: r55233
2011-01-14 00:13:27 +00:00
David Turner
00d78dd3d5 PARALLACTION: Fix for DoorData Memory Leak in Big Red Adventure.
svn-id: r55232
2011-01-13 21:58:54 +00:00
David Turner
460f8c277b PARALLACTION: Fixed Limit Values in Big Red Adventure Walker Code.
This corrects the Valgrind invalid reads associated with the IS_PATH_CLEAR() check reading beyond the data buffer and probably improves the pathfinding behaviour.
Thanks to fuzzie for suggesting this patch.

svn-id: r55231
2011-01-13 20:06:23 +00:00
David Turner
9118d2915c PARALLACTION: Close Memory Leak in Big Red Adventure Subtitles.
svn-id: r55229
2011-01-13 17:26:00 +00:00
David Turner
f09d6d7073 PARALLACTION: Close Memory Leak in Big Red Adventure MIDI Playback.
svn-id: r55226
2011-01-13 15:34:18 +00:00
David Turner
ecdd866117 PARALLACTION: Close Memory Leak in Big Red Adventure When Changing Location.
svn-id: r55225
2011-01-13 15:33:15 +00:00
David Turner
731a75adb8 PARALLACTION: Fix for Valgrind Uninitialized Error in Big Red Adventure Walk Code.
svn-id: r55221
2011-01-13 03:25:57 +00:00
David Turner
a7a05fc053 PARALLACTION: Fix Valgrind Error When Displaying Location Balloons In Big Red Adventure.
svn-id: r55220
2011-01-13 01:39:05 +00:00
Nicola Mettifogo
31ffb39939 PARALLACTION: keep music playing during the intro (fix bug #2879791).
svn-id: r55148
2011-01-07 16:19:13 +00:00
Nicola Mettifogo
9dd0e0f94c PARALLACTION: fix music playback (bug #2879793).
* Do not restart character theme is already playing.
* Play the correct tune in the night club.
* Do not play muisc in the location meant to be silent.

svn-id: r55147
2011-01-07 16:00:08 +00:00
Nicola Mettifogo
75d7ee9bd6 PARALLACTION: remove code duplication in NS sound code.
svn-id: r55146
2011-01-07 15:17:07 +00:00
Arnaud Boutonné
d063b074cd JANITORIAL: Suppress some useless includes
svn-id: r55091
2011-01-02 14:06:42 +00:00
Nicola Mettifogo
d19d9991b2 PARALLACTION: do not skip commands on Examine zones if there is no text to show. This fixes bug #3135782.
svn-id: r54882
2010-12-12 11:43:23 +00:00
Nicola Mettifogo
c4e4f7dc86 PARALLACTION: parse command lists for kNoneType zones, even if defined after TYPE markers. This fixes bug #3131769.
svn-id: r54879
2010-12-12 07:17:13 +00:00
Max Horn
6edc86a19b DEBUG: Let GUI::Debugger::preEnter and postEnter (un)pause the engine
svn-id: r54815
2010-12-07 18:54:21 +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
427dc1ae93 GUI: Move major widgets to new directory gui/widgets
Also renamed the source/header files, now they are more closely
aligned to how we rename most other source files

svn-id: r54264
2010-11-16 10:11:57 +00:00
Max Horn
a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Max Horn
e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Max Horn
3534cff8ef ALL: Fix indention (whitespaces -> tabs)
svn-id: r53738
2010-10-23 15:46:50 +00:00
Nicola Mettifogo
5ba15c5ae5 Update BRA demo startup code to use the part/location handling code from r50042. Patch #3089932 by fuzzie.
svn-id: r53702
2010-10-22 14:21:26 +00:00
Nicola Mettifogo
c67bcddf85 Initialize variable in NS gui code (was crashing a demo). Patch #3089932 by fuzzie.
svn-id: r53701
2010-10-22 14:19:37 +00:00
Max Horn
4ccce19876 ENGINES: Enhance namespace comments a bit
svn-id: r53484
2010-10-15 12:48:19 +00:00
Torbjörn Andersson
54b2a8c98d JANITORIAL: Cleanup (mostly whitespace)
svn-id: r53161
2010-10-12 04:19:58 +00:00
Johannes Schickel
c3366755ef PARALLACTION: Fix out of bounds access.
This is a partial commit of patch #3085298 "overflows in agi and parallaction".

svn-id: r53146
2010-10-11 17:07:34 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Johannes Schickel
c42e2f3a55 PARALLACTION: Use a char array for static data instead of String.
svn-id: r52610
2010-09-06 21:17:26 +00:00
Max Horn
1d4c82885d DEBUGGER: Simplify how our console debugger works / is used
* Remove _isAttached member var and isAttached method
* Engines now always call the onFrame method; whether it does
  something is decided by the debugger class resp. its subclasses
* Make detach() protected instead of private, so that subclasses
  can invoke it
* Remove _detach_now member var (call detach() instead).
* Rename _frame_countdown to _frameCountdown and properly
  document it.
* Add more doxygen comments
* Cleanup

svn-id: r50963
2010-07-17 18:38:42 +00:00
Nicola Mettifogo
6a6091f6d7 Prevent execution of the STOP script command when its Zone does not exist. Patch #3021744 by fuzzie with some comments.
svn-id: r50363
2010-06-27 04:58:48 +00:00
Florian Kagerer
c35e350531 AUDIO: get rid of MDT_PREFER_MIDI since it should be sufficient to either select MDT_PREFER_MT32 or MDT_PREFER_GM
svn-id: r50288
2010-06-25 20:51:57 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Nicola Mettifogo
5328abe2f0 Cleanup.
Got rid of the legacy "location.part" string handling in BRA.

svn-id: r50042
2010-06-19 04:51:31 +00:00
Nicola Mettifogo
96d4ae0fcc Cleanup some more state when switching part in BRA.
svn-id: r50041
2010-06-19 04:51:14 +00:00
Nicola Mettifogo
de7de460e8 Use the new _nextPart member switching part from the menu in BRA.
svn-id: r50040
2010-06-19 04:51:00 +00:00
Nicola Mettifogo
d7a165b9f2 Implemented PART command for BRA, largely based on patch #3005434 by fuzzie.
svn-id: r50039
2010-06-19 04:50:44 +00:00
Nicola Mettifogo
5b3075bd65 Guarded the command execution suspension for NS demo (this was due in r38662 - see bug #2619824).
svn-id: r50038
2010-06-19 02:51:03 +00:00
Nicola Mettifogo
61c40e2bd4 Save the context of a suspended list before resuming the execution, so that it can safely be suspended again. Patch 3004652 by fuzzie.
svn-id: r50037
2010-06-19 02:50:46 +00:00
Eugene Sandulenko
44a39ffbc6 AdvancedDetector: Add new parameter directoryGlobs.
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.

svn-id: r49788
2010-06-15 10:59:23 +00:00
Eugene Sandulenko
4d517ed0e9 Extended advancedDetector with depth parameter.
Now AD can search nested directories. By default it is turned off,
but there is new parameter to ADParameters struct. Usually value
of 2 is good enough for all purposes.

svn-id: r49653
2010-06-14 14:50:23 +00:00
Nicola Mettifogo
466479eb77 Added a parser for kZoneNone zones/animations in BRA.
The only thing it does is parsing a possible command list, which is enough to support the script bug in "scende2". See ticket #3005384.

svn-id: r49628
2010-06-13 09:07:15 +00:00
Nicola Mettifogo
d199377388 When closing inventory, do not force input back to game-mode if commands need otherwise.
svn-id: r49623
2010-06-13 07:35:48 +00:00
Nicola Mettifogo
94cdfefe1c Fixed clipping when drawing sprites at small scale factors (this fixes the balloon scene).
svn-id: r49621
2010-06-13 06:56:13 +00:00
Nicola Mettifogo
d16eb491b1 Support for vertical scrolling. Patch 3005933 by fuzzie.
svn-id: r49620
2010-06-13 06:55:58 +00:00
Nicola Mettifogo
3cacd7bc43 Keep the balloon from getting stuck in an infinite loop when floating near the borders of the screen.
See the detailed explanation in walk.cpp.

svn-id: r49619
2010-06-13 06:55:40 +00:00
Nicola Mettifogo
0659d5f244 Improved debug output of BRA walk code.
svn-id: r49618
2010-06-13 06:55:24 +00:00
Nicola Mettifogo
9906030312 Ensure that zones/animations always get the same index number.
When a zone/animation is skipped by the parser because already
loaded, the index is now increased. This does not affect NS, since
indexes are only used for scene sorting there, but is relevant for
BRA, where indexes need to be coherent across location changes.

Patch #3004008 by fuzzie.

svn-id: r49428
2010-06-04 13:48:09 +00:00
Eugene Sandulenko
c96e234a0a Fix warning
svn-id: r49192
2010-05-24 16:58:14 +00:00
Nicola Mettifogo
5f2a88e596 Cleanup (removed more Parallaction::getGameType() calls).
svn-id: r49147
2010-05-22 18:00:16 +00:00
Nicola Mettifogo
95f6a71f36 Cleanup (removed many Parallaction::getGameType() calls).
svn-id: r49146
2010-05-22 17:59:49 +00:00
Nicola Mettifogo
2f5cb946bb Finish implementation of hitZone and related functions as from the original code.
svn-id: r49145
2010-05-22 17:59:33 +00:00
Nicola Mettifogo
b4813f9b18 Apply patch 3004687 by fuzzie: allow usage of merge zones.
svn-id: r49144
2010-05-22 17:59:16 +00:00
Nicola Mettifogo
45a5c29cdf Apply patch 3005433 by fuzzie: new 'toggleglobalflags' command for the debugger.
svn-id: r49141
2010-05-22 15:56:27 +00:00
Nicola Mettifogo
866e15e8b2 Apply patch 3004991 by fuzzie: don't try and run dialogues for SPEAK zones without dialogue, but run the command list anyway.
svn-id: r49140
2010-05-22 15:56:09 +00:00
Nicola Mettifogo
1b6d9c86e2 Make sure a dialogue is valid before entering dialogue mode.
svn-id: r49139
2010-05-22 15:30:18 +00:00
Nicola Mettifogo
d56352cbd5 Use the kZoneYourself flag to check zones for self-use in BRA. See patch 3003626.
svn-id: r49138
2010-05-22 12:37:07 +00:00
Nicola Mettifogo
a8ea833941 Do not make the character walk towards the zone clicked upon by the user if it is marked for self-use. See patch 3003626.
svn-id: r49137
2010-05-22 12:36:52 +00:00
Nicola Mettifogo
5280cbbbcd Added descriptions for kFlagsSelfuse and kFlagsYourself. See patch 3003626.
svn-id: r49136
2010-05-22 12:36:36 +00:00
Nicola Mettifogo
bc479f8aef Make sure hitZone always gets absolute game coordinates. Based on the patch 3004658 by fuzzie.
svn-id: r49135
2010-05-22 03:49:22 +00:00
Nicola Mettifogo
1c579dc0ac Fix loading of MSC files on big-endian systems. Patch 3004367 by fuzzie.
svn-id: r49128
2010-05-21 12:39:54 +00:00
Nicola Mettifogo
8b20f16378 Added a new valid EOL character for scripts. Patch 3004990 by fuzzie.
svn-id: r49127
2010-05-21 11:05:18 +00:00
Nicola Mettifogo
f84b232443 Add a parser for HEAR zones in BRA, and handle the relative MUSIC command. Patch 3003382 by fuzzie, with enhancements.
svn-id: r49105
2010-05-19 17:16:15 +00:00
Nicola Mettifogo
cbee7eebd4 Do not try and run dialogues when there is no dialogue defined in a SPEAK zone. Patch 3003382 by fuzzie.
svn-id: r49103
2010-05-19 16:54:42 +00:00
Willem Jan Palenstijn
16afdc372e Fix missing dialogue index.
This is the BR case of the NS fix in r45053. Patch by fuzzie@fuzzie.org .

svn-id: r49072
2010-05-18 09:24:53 +00:00
Nicola Mettifogo
dae53f7d74 Changed the last global objects to class members.
svn-id: r49011
2010-05-12 09:28:29 +00:00
Max Horn
2149a2383d Reduce indirect header dependencies further
svn-id: r48936
2010-05-04 12:00:16 +00:00
Max Horn
970745e60c Move DebugChannel related code to new header
svn-id: r48935
2010-05-04 11:59:22 +00:00
Max Horn
b3e404109c Move initGraphics and initCommonGFX from to new header.
These functions are only used internally be Engine subclasses, and
by moving them to a separate header we can reduce indirect header
dependencies.

svn-id: r48934
2010-05-04 11:58:12 +00:00
Nicola Mettifogo
a0d55ca586 Make sure dialogue manager is destroyed on quit.
svn-id: r48847
2010-04-28 23:11:34 +00:00
Nicola Mettifogo
4cb1fc9e79 Make sure walk coordinate are valid before checking path buffer.
svn-id: r48846
2010-04-28 22:52:36 +00:00
Willem Jan Palenstijn
9001a8fbc3 Fix uninitialized variable
svn-id: r48844
2010-04-28 22:33:17 +00:00
Nicola Mettifogo
503ee78008 Initialize _requested*ScrollDir variables in constructor.
svn-id: r48840
2010-04-28 22:16:48 +00:00
Willem Jan Palenstijn
a4dcfdd907 Fix uninitialized variables
svn-id: r48839
2010-04-28 22:13:11 +00:00
Nicola Mettifogo
122fde0775 Fixed leaks in parsing of examine and door zones.
svn-id: r48838
2010-04-28 22:13:02 +00:00
Willem Jan Palenstijn
ee63bf51bd Fix Nippon Safes test result label memory leak
svn-id: r48837
2010-04-28 21:50:54 +00:00
Willem Jan Palenstijn
9793430e58 Fix a destruction order issue and note two remaining issues from the label fixes (r48811)
svn-id: r48827
2010-04-28 18:50:22 +00:00
Max Horn
460d69e885 COMMON: Move DebugChannel stuff into a new DebugMan singleton
svn-id: r48821
2010-04-27 21:40:52 +00:00
Nicola Mettifogo
498d8000ca Fix bug 2969257 (labels) and hopefully plug all the leaks.
svn-id: r48811
2010-04-27 08:59:13 +00:00
Max Horn
a1840bd573 AUDIO: Rename Mixer::playInputStream to playStream
svn-id: r48637
2010-04-12 09:14:17 +00:00
Travis Howell
45651803f1 Disable the load from launcher button, in all games of Parallaction game engine.
svn-id: r48488
2010-04-03 14:16:36 +00:00
Travis Howell
1c7752d982 Fix bug #2976376 - NIPPON: Load from Launcher fails. By removing the kSupportsLoadingDuringStartup MetaEngineFeature flag (which was never supported).
svn-id: r48485
2010-04-03 14:01:12 +00:00
Travis Howell
397553cc56 Fix bug #2970141 - NIPPON: Crash at end of the game (regression). By reverting part of the changes to Parallaction_ns::cleanupGame() in revision 34939.
svn-id: r48480
2010-04-03 04:48:20 +00:00
Willem Jan Palenstijn
fe51070977 Fix whitespace
svn-id: r48477
2010-04-02 22:14:18 +00:00
Travis Howell
7e1f395e34 Fix bug #2969232 - NIPPON: Kos sprite broken (Regression). The current disk archive requires a higher priority, compared to the default disk archives.
svn-id: r48469
2010-04-02 13:49:59 +00:00
Travis Howell
a55cb7fa10 Fix bug #2979193 - NIPPON: Crash at character introduction (regression). By restoring the kEngineBlockInput engine flag.
svn-id: r48464
2010-04-02 12:51:42 +00:00
Nicola Mettifogo
1d2122d466 Let Parallaction return game-specific gameids. This completes the fix for bug 2969234 after LordHoto's patch. Users might need to readd their games.
svn-id: r48422
2010-03-30 05:53:36 +00:00
Johannes Schickel
db3f6be777 Use ConfMan to query the gameid of the passed target instead of deducing from the target to the gameid. Along with it fix the removeSaveState implementation.
Note that this is untested! Someone with some parallaction game should test it
before it can be considered to backport it to branch-1-1-0.

svn-id: r48418
2010-03-29 21:01:19 +00:00
Nicola Mettifogo
2872f197d8 Fixed bug 2969234 by tampering with the gameId. Probably not a nice solution, but hopefully ok for a while.
svn-id: r48415
2010-03-29 18:47:40 +00:00
Johannes Schickel
38b2b3c04f Move StringTokenizer to its own files (tokenizer.h/tokenizer.cpp).
svn-id: r48310
2010-03-20 12:56:56 +00:00
Max Horn
cac0ac66e2 COMMON: Get rid of Common::StringList
svn-id: r48287
2010-03-18 15:54:40 +00:00
Max Horn
d78dba3bca COMMON: Move Common::RandomSource to common/random.*
svn-id: r48279
2010-03-18 15:07:11 +00:00
Yotam Barnoy
ef330ed9b4 Patch for bug 2943361 by littleboy, adding full kb modifier support to all engines + GUI and proper keypad handling
svn-id: r48101
2010-02-21 04:04:13 +00:00
Johannes Schickel
a505d32eff Replace use of Audio::makeRawMemoryStream by Audio::makeRawStream.
svn-id: r47716
2010-01-30 15:26:54 +00:00
Max Horn
1565f14bc1 Moved audio stream implementations (for MP3, FLAC, etc.) to new dir sound/decoders/
svn-id: r47579
2010-01-26 22:48:45 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Max Horn
4b996e7de7 Reorder params to Audio::makeRawMemoryStream
svn-id: r47492
2010-01-23 23:55:35 +00:00
Max Horn
b036392a7b Get rid of deprecated makeRawDiskStream variants; rename deprecated makeRawMemoryStream variant to makeRawMemoryStream_OLD; adapt some code to this change
svn-id: r47472
2010-01-23 13:34:29 +00:00
Max Horn
8508a97add Get rid of two more FLAG_LOOP instances
svn-id: r47459
2010-01-23 00:35:14 +00:00