Max Horn
2859b64702
Fix struct packing issues (macros are not resolve in #pragma params, at least for GCC)
...
svn-id: r23569
2006-07-22 17:28:48 +00:00
Johannes Schickel
4ae5cef491
- let md5_file accept a FilesystemNode too
...
- changes some engine detectors to use it
svn-id: r23559
2006-07-22 14:59:44 +00:00
Johannes Schickel
cfd9977425
Using FilesystemNode::name instead of FilesystemNode::displayName in all game detectors.
...
svn-id: r23558
2006-07-22 14:50:50 +00:00
Max Horn
f59cf1fcdc
Removing GCC_PACK, we fully rely on START_PACK_STRUCTS / END_PACK_STRUCTS now (hiya eriktorbjorn, this one is for you *ggg*)
...
svn-id: r23547
2006-07-21 21:25:17 +00:00
Max Horn
f35f4a4d1c
Use START_PACK_STRUCTS / END_PACK_STRUCTS when available, instead of checking for GCC / not GCC
...
svn-id: r23458
2006-07-09 13:01:15 +00:00
Paul Gilbert
dfbc46f877
General additions of newly understood hotspot fields, further decoded talk handling, ratpouch being freed, and several more script methods
...
svn-id: r23418
2006-07-08 08:44:53 +00:00
Paul Gilbert
a20214e43a
Rewrote the talk handling code
...
Added lots of debugging information
Partial support for characters bumping into each other
Player/NPC action handling generally improved
Added hard-coding for variable width frame animation of Ratpouch being released
Basic support for Ratpouch wondering around
svn-id: r23416
2006-07-08 08:42:58 +00:00
Paul Gilbert
6b5150797a
Added support for ScummVM boot parameter values as well invoking the built-in debugger
...
svn-id: r23413
2006-07-08 08:39:42 +00:00
Paul Gilbert
64d0e4dcd8
Incremented lure.dat version and added new constants for debugging, tick methods, and hotspots
...
svn-id: r23412
2006-07-08 08:38:44 +00:00
Paul Gilbert
55c80679ba
Disabled waiting for mouse release when making a popup selection to match original game
...
svn-id: r23411
2006-07-08 08:37:47 +00:00
Paul Gilbert
c6b6a2e125
Added new hotspot runtime fields, a list for handling the details of paused characters (who have bumped into each other), and loading of newly added default character states from lure.dat
...
svn-id: r23410
2006-07-08 08:36:32 +00:00
Paul Gilbert
acb3a5a9ac
Added ScummVM debuglevel support for dumping executed scripts
...
Fixed up some incorrect script methods and added several new ones
svn-id: r23409
2006-07-08 08:34:29 +00:00
Paul Gilbert
4a52b14de6
Added improved display of partially off-screen images, as well as proper handling of special talk message Ids that display a puzzled or exclamation dialog talk bubble above a character
...
svn-id: r23408
2006-07-08 08:32:04 +00:00
Paul Gilbert
e79b3dfd41
Added shortcut stub for decoding a string without passing the current hotspot and action name
...
svn-id: r23407
2006-07-08 08:30:14 +00:00
Paul Gilbert
9fe05aa007
Rewrote the status line handling code along with tweaks to the debug information display
...
svn-id: r23406
2006-07-08 08:29:01 +00:00
Paul Gilbert
10e450947d
Added extra checking and debugging code, as well as partial rewrite/enhancement of talking and hotspot support methods
...
svn-id: r23405
2006-07-08 08:27:19 +00:00
Paul Gilbert
6f388eb290
Replaced old debugging files with new ScummVM based one
...
svn-id: r23404
2006-07-08 08:25:27 +00:00
Paul Gilbert
163a8cb72c
Initial commit of ScummVM-based debugging functionality
...
svn-id: r23403
2006-07-08 08:23:41 +00:00
Max Horn
9a955180a4
* Renamed config.mak to config.mk
...
* Renamed common.rules to rules.mk
* Removed explicit declaration of MODULE_DIRS in various spots (instead we let rules.mk compute it)
svn-id: r23275
2006-06-24 08:48:11 +00:00
Max Horn
d210b19aec
Move backends/fs/fs.h and .cpp to common/fs/fs.h and .cpp
...
Rationale: backend implementations belong to backends/, but portable APIs meant to be used by high level code is for common / sound / graphics / ... (compare also with backends/midi vs. sound/mididrv.h)
svn-id: r23274
2006-06-24 08:07:48 +00:00
Paul Gilbert
1c07797c50
Bugfix to properly detect the end of the indexed room hotspot list
...
svn-id: r22852
2006-06-03 03:38:24 +00:00
Lars Persson
5755b5a97e
Fixed problem when building and debugging using Symbian Emulator.
...
svn-id: r22820
2006-06-01 22:43:19 +00:00
Lars Persson
9472476acb
Symbian Emulator (VC6) compilation fixes.
...
svn-id: r22809
2006-05-31 20:05:31 +00:00
Torbjörn Andersson
85da5d8157
Fixed two Valgrind warnings. But there are still a couple of invalid reads
...
at startup.
svn-id: r22800
2006-05-31 13:36:01 +00:00
Paul Gilbert
321acd2740
Further disassembly of NPC actions as well as finally figured out the basics of NPC character modes in standard_character_tick_proc
...
svn-id: r22789
2006-05-31 08:32:24 +00:00
Paul Gilbert
75be177e90
Removed misspelled version of disassembly folder
...
svn-id: r22788
2006-05-31 08:32:05 +00:00
Paul Gilbert
5fa3985bcb
Player now moves out of the way if he's blocking an entrance when an NPC enters. Also changed errors in unimplemented NPC actions to warnings
...
svn-id: r22731
2006-05-29 08:12:07 +00:00
Torbjörn Andersson
8062eb6ec3
Set and show/hide mouse cursors through a "cursor manager" (analogous to the
...
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.
If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?
svn-id: r22639
2006-05-25 22:51:42 +00:00
Paul Gilbert
622c8b57e7
Reworked the DISPATCH current action to support NPC schedules like the original game does. Additionally added basic implementation of necessary support routines
...
svn-id: r22582
2006-05-23 12:43:42 +00:00
Paul Gilbert
e22de3ab36
Added a new outer loop for what will later allow the restarting of the game. Also added the animation of the Skorl catching the player if the game state indicates it has happened
...
svn-id: r22581
2006-05-23 12:41:28 +00:00
Paul Gilbert
dddaa015df
Added the loading of NPC schedules
...
svn-id: r22580
2006-05-23 12:39:39 +00:00
Paul Gilbert
0ebf2be4a4
Added new resource entries for NPC schedules, the Skorl catching animation, and miscellaneous
...
svn-id: r22579
2006-05-23 12:38:51 +00:00
Paul Gilbert
6bac5a257e
Added support structures for NPC schedules
...
svn-id: r22578
2006-05-23 12:37:43 +00:00
Paul Gilbert
3e4566e196
Added some extra safety checks. Also contains some started work on redesigning the display of the current action
...
svn-id: r22577
2006-05-23 12:36:57 +00:00
Paul Gilbert
5f64d7009e
Added script methods for manipulating current action support data and a stub for a script method that plays background music
...
svn-id: r22576
2006-05-23 12:24:50 +00:00
Paul Gilbert
fa23893974
Disassembled code responsible for making NPCs walk between rooms
...
svn-id: r22476
2006-05-14 22:11:14 +00:00
Torbjörn Andersson
d6af07989d
This could be completely wrong, but I don't think Hotspot::stopWalking() is
...
supposed to call setCurrentAction() in Resources, because then ScummVM will
crash in getCurrentActionStr() whenever we try to interact with any object.
Since Hotspot::walkTo() calls setCurrentAction() in Hotspot, it seems like a
reasonable guess that this is the setCurrentAction() that stopWalking() should
call as well.
svn-id: r22409
2006-05-11 08:25:09 +00:00
Torbjörn Andersson
21b91adcdf
Changed "it's" to "its" in a few comments.
...
svn-id: r22408
2006-05-11 08:04:41 +00:00
Torbjörn Andersson
dba0c5ca2c
Whitespace changes.
...
svn-id: r22407
2006-05-11 07:59:50 +00:00
Paul Gilbert
30231a39c8
Added proper labels in some of the existing disassembled methods
...
svn-id: r22406
2006-05-11 07:25:54 +00:00
Torbjörn Andersson
e2656a276a
Changed abs() to ABS()
...
svn-id: r22389
2006-05-08 13:34:21 +00:00
Paul Gilbert
b20966b92b
Initial disassembly of NPC schedule handling methods
...
svn-id: r22380
2006-05-07 22:36:26 +00:00
Max Horn
84b2a4f76f
It's wrong to assume a given file is located in gameDataPath, so do not use that to print out warnings that pretend otherwise
...
svn-id: r22272
2006-05-01 22:27:56 +00:00
Paul Gilbert
5584ea5c7e
Incremented required lure.dat version
...
svn-id: r22236
2006-04-30 05:35:39 +00:00
Paul Gilbert
8f1604e4cf
Added load of new script offset field for NPC handling of hotspots
...
svn-id: r22235
2006-04-30 05:34:54 +00:00
Max Horn
0aabdf821c
Fix warning
...
svn-id: r22210
2006-04-29 11:56:59 +00:00
Paul Gilbert
1192f0dfca
Enhanced hotspot action so that the player will properly walk to a hotspot before performing an action
...
svn-id: r22209
2006-04-29 11:22:05 +00:00
Paul Gilbert
946d0582dc
Added proper action display after selection along with showing the camera cursor
...
svn-id: r22208
2006-04-29 11:19:55 +00:00
Paul Gilbert
8b184ad5b0
Changed resource Id constants, added a few more general constants, and slightly increased game speed
...
svn-id: r22207
2006-04-29 11:18:08 +00:00
Paul Gilbert
302c825a17
Reworked resource loading to no longer load hotspot proximities separately, or provide access to the list
...
svn-id: r22206
2006-04-29 11:17:06 +00:00
Paul Gilbert
3e8763f454
Reworked resources to handle moved hotspot proximity (walk to) co-ordinates
...
svn-id: r22205
2006-04-29 11:15:03 +00:00
Paul Gilbert
d88ce16b12
Tweaked dialog display code to refresh the screen and warn about message Ids needing display styles that aren't yet implement
...
svn-id: r22204
2006-04-29 11:13:47 +00:00
Max Horn
bf73598811
* Changed the createEngine() factory function of our plugins to return an error code (the engine is now passed indirectly via a double pointer)
...
* Removed Engine_Empty (obsolete now that engines can return actual error codes)
svn-id: r22199
2006-04-29 00:27:20 +00:00
Paul Gilbert
14beeb3492
Added disassembly of door close support routines and other miscellaneous action support code
...
svn-id: r22162
2006-04-25 22:38:00 +00:00
Torbjörn Andersson
72906f2508
Made the Lure engine call updateScreen() more often - particularly when using
...
the menu bar at the top of the window - for smoother mouse movement. (After a
discussion with sev.)
svn-id: r21992
2006-04-17 23:37:22 +00:00
Max Horn
ba1b25305e
Removed the directory parameter from md5_file
...
svn-id: r21937
2006-04-16 12:50:39 +00:00
Max Horn
68cb7f52c8
- Renamed ConfigManager::getActiveDomain to getActiveDomainName, and added a new getActiveDomain method that returns a pointer to the actual active *domain*
...
- Added Engine::_targetName whose value is computed from the name of the active domain
- Removed GameDetector::_targetName, instead code now uses either Engine::_targetName or the name of the active domain
- This in turn allowed for removing usage of GameDetector in many places
svn-id: r21916
2006-04-15 20:36:41 +00:00
Eugene Sandulenko
9610a4daef
Fix warning.
...
svn-id: r21810
2006-04-11 22:11:12 +00:00
Torbjörn Andersson
d846f9a5e1
Added delays to the main and menu event loops to keep Lure from gobbling up all
...
available CPU time.
svn-id: r21787
2006-04-11 11:55:27 +00:00
Torbjörn Andersson
cba4871140
Changed max() to MAX(). This fixes compilation for me.
...
svn-id: r21786
2006-04-11 11:34:06 +00:00
Paul Gilbert
e3254a8879
Added disassembly of room exit handling, as well as a few cleanups to the path finding code
...
svn-id: r21785
2006-04-11 10:53:24 +00:00
Paul Gilbert
b8c80af183
Added proper path finding code for rooms, as well as miscellaneous support methods
...
svn-id: r21784
2006-04-11 10:52:11 +00:00
Paul Gilbert
4b91326131
Added a destRoomNumber variable to store which room a highlighted exit goes to, as well as some temporary code used to display pathfinding information onscreen when Toggle Info is turned on
...
svn-id: r21783
2006-04-11 10:50:18 +00:00
Paul Gilbert
169c8d78d1
Implemented better handling of changing rooms via room exits
...
svn-id: r21782
2006-04-11 10:48:28 +00:00
Paul Gilbert
7b32b7ef9c
Added new resources for pathfinding and new resources
...
svn-id: r21781
2006-04-11 10:46:36 +00:00
Paul Gilbert
9b87224036
Resource loader enhanced to load hotspot proximity data and room walkable areas
...
svn-id: r21780
2006-04-11 10:45:22 +00:00
Paul Gilbert
f6b2cf2c6d
Updated resource structures to add support for hotspot y corrections, proximity data, room walkable areas, and the room exit coordinate list
...
svn-id: r21779
2006-04-11 10:43:53 +00:00
Paul Gilbert
70654bc2a9
Added a script method for setting a blocking hotspot script
...
svn-id: r21778
2006-04-11 10:42:32 +00:00
Eugene Sandulenko
5a2ad04a9e
Introduced language EN_ANY used for general English game entries. EN_USA and
...
EN_GRB should be used for games which have both variants. Currently it is
MM NES and BASS. All other are switched to EN_ANY.
svn-id: r21702
2006-04-08 23:12:56 +00:00
Max Horn
e7a8bb6abf
Modified the REGISTER_PLUGIN macro so that it allows (and requires) a trailing semicolon (this helps certain tools to parse our code better)
...
svn-id: r21689
2006-04-08 12:06:07 +00:00
Max Horn
8cf8acfd63
Renamed various *GameSettings to GameSettings (our namespaces are enough to distinguish them)
...
svn-id: r21686
2006-04-08 11:21:04 +00:00
Paul Gilbert
4ee3298550
Completed disassembly of the Lure pathfinding code
...
svn-id: r21593
2006-04-04 11:53:45 +00:00
Max Horn
8cdee5a931
Do not #include endian.h in scummsys.h (cuts down deps on endian.h from ~400 to ~250). Many greetings to eriktorbjorn, and have fun recompiling.
...
svn-id: r21500
2006-03-29 15:59:37 +00:00
Max Horn
9f93e5bb81
Renamed various container isEmpty() methods to empty() to match STL conventions
...
svn-id: r21472
2006-03-28 09:42:54 +00:00
Paul Gilbert
b54d73d220
Further progress on disassembling pathfinding and support methods
...
svn-id: r21470
2006-03-27 21:32:43 +00:00
Eugene Sandulenko
22042bc637
- Implemented case insensitive file reading. Left old system as a fallback
...
in case some engine writer decide to do something unwise
- Removed used of ConfMan.getKey("path") in file-related cases, because
now File class handles that
- Fixed bug in ScummEngine_v80he::o80_getFileSize() where path delimiters
weren't translated
svn-id: r21443
2006-03-25 04:17:17 +00:00
Paul Gilbert
f596612344
Partially disassembly of the pathfinding code and miscellaneous support methods
...
svn-id: r21418
2006-03-23 21:26:13 +00:00
Paul Gilbert
dcf029e947
Further work on disassembling player tick/movement handler
...
svn-id: r21349
2006-03-17 21:59:29 +00:00
Paul Gilbert
15d4593412
In progress work on disassembling player tick/actions handler method
...
svn-id: r21310
2006-03-15 11:37:12 +00:00
Travis Howell
71a7754a37
Fix a valgrind warning
...
svn-id: r21260
2006-03-13 11:58:01 +00:00
Travis Howell
b8cf88622b
Fix a few valgrind warnings
...
svn-id: r21258
2006-03-13 11:52:16 +00:00
Paul Gilbert
c5d90e026f
Fix to remove warning on validating frame offsets in animation decoder
...
svn-id: r21257
2006-03-13 11:40:40 +00:00
Paul Gilbert
c44069fdfc
Added further disassembly of animation decoder routine
...
svn-id: r21256
2006-03-13 11:33:17 +00:00
Paul Gilbert
3c303c0dfd
Add proper handling for animations with frame offset tables during decoding
...
svn-id: r21255
2006-03-13 11:20:58 +00:00
Paul Gilbert
92eb7b7aa5
Changed temp variable from byte to word to fix decoding of some animation resources
...
svn-id: r21254
2006-03-13 11:18:18 +00:00
Lars Persson
04151343a7
Compile fixes for VC6
...
svn-id: r21179
2006-03-09 13:54:36 +00:00
Max Horn
de295c562d
Replaced GF_ENGLISH in LureGameSettings by a proper Common::Language member variable; added (commented out) entries for the german and french lure
...
svn-id: r21168
2006-03-09 12:59:46 +00:00
Max Horn
6b19677e1d
Make use of DetectedGame::updateDesc in the kyra & lure engines
...
svn-id: r21167
2006-03-09 12:52:54 +00:00
Max Horn
86565fcca5
- Renamed GameSettings to PlainGameDescriptor
...
- Added new GameDescriptor struct (similar to PlainGameDescriptor but with
Common::String members instead of const char * ones)
- Changed DetectedGame to subclass GameDescriptor
- Removed toGameSettings() in favor of new (template) constructors in
DetectedGame and GameDescriptor
- Fixed a bug in the obsolete gameid handling in the SCUMM & SIMON engines
svn-id: r21150
2006-03-09 02:52:51 +00:00
Max Horn
d2f78184af
- added new toDetectedGame() template function (analog to toGameSettings)
...
- made use of the new DetectedGame constructor from my last commit
- some related cleanup
svn-id: r21149
2006-03-09 01:42:56 +00:00
Max Horn
907bd7128d
Fix for bug #1438822 (Targets are case sensitive)
...
svn-id: r21017
2006-03-02 22:29:01 +00:00
Paul Gilbert
1ef22b315f
Lure - started work on disassembling player walking
...
svn-id: r21016
2006-03-02 21:27:09 +00:00
Paul Gilbert
dc75adbb25
Initial add of the Lure of the Temptress disassembly
...
svn-id: r20947
2006-02-26 21:36:33 +00:00
Torbjörn Andersson
094382a6d0
With the added delay to the popup menu loop, it's much more likely that each
...
iteration will see several events, so pop all events from the queue each time.
Of course, we still only need to check the mouse position once. Warp the mouse
back to neutral even if we're trying to go past the first/last menu entry.
svn-id: r20918
2006-02-26 15:24:11 +00:00
Torbjörn Andersson
f13d294ae5
Cleaned up my earlier "delay in busy-wait loop" commit, and added a similar
...
delay to PopupMenu::Show().
svn-id: r20914
2006-02-26 13:43:50 +00:00
Torbjörn Andersson
686d463def
Added delays to the waitForRelease() and waitForPress() busy-wait loops.
...
svn-id: r20912
2006-02-26 13:02:25 +00:00
Paul Gilbert
dd6b207025
Improved layering of objects within rooms - for example, Ratpouch now properly shows up on the rack
...
svn-id: r20804
2006-02-21 09:25:39 +00:00
Max Horn
85b9205f42
Fixed compiler warning
...
svn-id: r20773
2006-02-19 17:44:50 +00:00
Paul Gilbert
1cc03798d9
Cleaned up the main game loop, improved handling for changing rooms, and improved click handling to properly support areas that override standard click handling, such as when having a conversation
...
svn-id: r20769
2006-02-19 04:29:26 +00:00
Paul Gilbert
9496df6f1b
Added basic support for conversations, as well as reworking the Hotspot class to allowing for non-hotspot animations like the floating talk icon during conversations
...
svn-id: r20768
2006-02-19 04:25:28 +00:00
Paul Gilbert
9a653960c7
Converted mouse and events classes to use new getReference style
...
svn-id: r20767
2006-02-19 04:22:00 +00:00
Paul Gilbert
cf99c2092d
Updated memory set method call to new name
...
svn-id: r20766
2006-02-19 04:20:18 +00:00
Paul Gilbert
8de9189ffe
Changed hotspot references to use updated hotspot methods
...
svn-id: r20765
2006-02-19 04:19:09 +00:00
Paul Gilbert
d0fe9fdd79
Added handling for conversation data, as well as moved storing cursor data into it
...
svn-id: r20764
2006-02-19 04:17:54 +00:00
Paul Gilbert
5d8d871df3
Added new resources for conversations, cleaned up existing class names, and expanded hotspot resources to add newly understood fields
...
svn-id: r20763
2006-02-19 04:15:33 +00:00
Paul Gilbert
d525af4685
Added display of talk dialogs during conversations
...
svn-id: r20762
2006-02-19 04:13:08 +00:00
Paul Gilbert
3d0ada9443
Implemented several more script engine methods
...
svn-id: r20761
2006-02-19 04:11:22 +00:00
Paul Gilbert
b55cf4b0ff
Added new class for displaying conversation talk dialogs
...
svn-id: r20760
2006-02-19 04:08:41 +00:00
Paul Gilbert
7ce5441ad6
Added new definitions used by the conversation subsystem
...
svn-id: r20759
2006-02-19 04:07:11 +00:00
Paul Gilbert
91d6bd57d7
Changed subsystem object create methods whose constructors I've switched to the newer getReference access
...
svn-id: r20758
2006-02-19 04:05:45 +00:00
Paul Gilbert
f868a59940
Changed the menu subsystem to use getReference rather than being passed in the constructor
...
svn-id: r20757
2006-02-19 04:04:07 +00:00
Paul Gilbert
441d0a89cc
Changed the changed memset method to setBytes, which I like better
...
svn-id: r20756
2006-02-19 04:02:01 +00:00
Max Horn
8ac17430ac
- renamed PLUGIN_getSupportedGames to PLUGIN_gameIDList for consistency
...
- renamed Engine_XXX_gameList to Engine_XXX_gameList for consistency
- added new Engine_XXX_findGameID / PLUGIN_findGameID function
- updated plugins code to take advantage of the new plugin API, to support
obsolete gameids w/o showing them to the user
svn-id: r20752
2006-02-18 11:15:37 +00:00
Max Horn
81798556db
- Removed the 'features' field from GameSettings
...
- Removed GF_DEFAULT_TO_1X_SCALER
svn-id: r20747
2006-02-18 00:12:36 +00:00
Max Horn
7967e30c73
Added global toGameSettings() template function for convenience; simplified GameSettings usage in some engines
...
svn-id: r20739
2006-02-17 00:22:53 +00:00
Max Horn
a96760a2fd
Reduced use of GF_DEFAULT_TO_1X_SCALER in favor of a new param to Engine::initCommonGFX; added a TODO stating that it should eventually be removed completly
...
svn-id: r20738
2006-02-17 00:01:18 +00:00
Max Horn
be068cf6f3
The GameDetector is no longer a required parameter for Engine constructors
...
svn-id: r20590
2006-02-12 01:42:34 +00:00
Max Horn
80cf2fa46f
Reduced data duplication in module.mk files; added module.mk files for null and x11 backends; added engines/module.mk
...
svn-id: r20584
2006-02-12 00:16:31 +00:00
Max Horn
26ee630756
Moved engines to the new engines/ directory
...
svn-id: r20582
2006-02-11 22:45:04 +00:00