Jussi Pitkanen
c731f1f48c
AGI: Implement common internal dictionary for different words.tok formats
...
Preparations for V1 words.tok support.
2011-08-13 23:27:03 +01:00
Jussi Pitkanen
0b6b670803
AGI: Add still incomplete V1 instruction tables
2011-08-13 23:27:00 +01:00
Jussi Pitkanen
04353038ae
AGI: Add loader and detection for Black Cauldron booter
2011-08-13 23:26:58 +01:00
Jussi Pitkanen
d273f58b3c
AGI: AgiLoader_v1: Precalculate final resource offsets
...
That is, calculate the final offsets when loading the resource directories,
and when loading the resource simply seek into the disk image file.
2011-08-13 23:26:56 +01:00
Jussi Pitkanen
41dccce00c
AGI: Execute test commands only when needed
2011-08-13 23:26:53 +01:00
Jussi Pitkanen
a4e0cd53f0
AGI: Refactor interpreter core (somewhat akin to SCI)
...
* Instruction tables are now defined in opcodes.{cpp,h}.
* Move opcode handlers from Agi::AgiEngine to Agi
* Opcode handlers take as parameter a pointer to AGI state (AgiGame)
2011-08-13 23:26:51 +01:00
Jussi Pitkanen
e1153cf11f
AGI: Comment cleanup
2011-08-13 23:26:48 +01:00
Jussi Pitkanen
eb797b692f
AGI: Simplify handling of IF conditions
...
Execute all test commands in a condition even when not strictly needed.
2011-08-13 23:26:46 +01:00
Jussi Pitkanen
7a80c4cdb3
AGI: Fix row duration in V1 SOUND resource player
2011-08-13 23:26:44 +01:00
Jussi Pitkanen
1507fe4e79
AGI: Fix detection of IIgs sample resources
2011-08-13 23:26:41 +01:00
Jussi Pitkanen
d8e1b392d2
AGI: Use a jump table for test commands instead of switch/case
...
Preparations for V1 support.
2011-08-13 23:26:39 +01:00
Jussi Pitkanen
24bb5da228
AGI: Add a layer of abstraction between the sound chip and the two players
2011-08-13 23:26:36 +01:00
Jussi Pitkanen
8183103777
AGI: Simplify sector offset calculation
2011-08-13 23:26:34 +01:00
Jussi Pitkanen
7405140474
AGI: Cleanup
2011-08-13 23:26:32 +01:00
Jussi Pitkanen
4d4a558f7b
AGI: Do not try to pass filenames of disk images from the detector to engine
2011-08-13 23:26:29 +01:00
Jussi Pitkanen
1f680ecbc8
AGI: Detect the end of V1 sound resources correctly, fixing crashes
2011-08-13 23:26:27 +01:00
Jussi Pitkanen
010315dc0c
AGI: Implement resource loader for the DDP booter game
2011-08-13 23:26:24 +01:00
Jussi Pitkanen
3fd26de379
AGI: Detect the bootable floppy version of Donald Duck's Playground
...
Also create a framework into which more booter games can be added.
2011-08-13 23:26:22 +01:00
Jussi Pitkanen
ab784944ea
AGI: Implement note fetch routine for AGI v2.001 sound resources
...
I suspect this is the format for AGI V1 sound resources as well. It is
currently implemented by splitting getNextNote() to getNextNote_v2() and
getNextNote_v1(). Since the V1 format consists of simple register values
to the sound chip in PCjr, this could probably be made more cleanly by
refactoring the code to resemble the chip more closely, so that its state
is updated by writing to the registers.
2011-08-13 23:26:19 +01:00
Christoph Mallon
e35b4f20c1
GRAPHICS: Simplify the interface of Graphics::loadThumbnail().
...
Now it returns the Surface, so the caller does not need to create one and pass it.
2011-08-07 15:19:09 +02:00
Christoph Mallon
b4b6ce0954
ALL: Use Graphics::skipThumbnail() where appropriate.
2011-08-07 15:19:09 +02:00
Christoph Mallon
23a0f5318c
JANITORIAL: Remove trailing empty lines.
2011-08-07 13:53:33 +02:00
Matthew Hoops
b4f4fd6b00
AGI: Cleanup some Winnie string code
2011-07-03 13:49:28 -04:00
Matthew Hoops
c2be473ce2
AGI: Fix some memset calls
...
Spotted by both salty-horse and LordHoto using clang
2011-07-03 13:49:28 -04:00
Littleboy
b694a78f62
ANALYSIS: Add static casts to is* functions
...
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
Max Horn
88913c0139
ALL: Remove trailing whitespaces
...
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Max Horn
71ea5acd29
AGI: Replace vsprintf by Common::String::vformat
2011-06-18 01:36:15 +02:00
Max Horn
879c3c7817
DETECTOR: Pass allFiles to AdvancedMetaEngine::fallbackDetect()
...
Also reorder the parameters of composeFileHashMap, placing the "return value"
first.
2011-06-14 18:52:11 +02:00
Max Horn
7c992d6598
DETECTOR: Merge ADParams into AdvancedMetaEngine
2011-06-14 18:17:01 +02:00
Max Horn
a9b49fbc66
AGI: Switch to alternate AdvancedMetaEngine, avoid ADParams
2011-06-10 22:15:40 +02:00
Max Horn
4827cc914a
ENGINES: Change incorrect use of 'target' to 'gameid'
2011-06-10 22:15:40 +02:00
eriktorbjorn
0c1665820b
AGI: Experimental fix for bug #3292778 ("SQ2: Music missing notes")
...
The idea here is that if two voices are generating the same tone,
the square wave generator should be in sync so that the wave forms
amplify each other, rather than cancelling each other out.
2011-06-10 19:41:31 +02:00
D G Turner
b5bb412569
AGI: Numeric Keypad Control in Predictive Dialog (Bug #3309376 )
...
In AGI games, the numeric keypad is used as an alias for cursor keys to
allow stationary and 8 directional input, but while the predictive
dialog is open, this is more sensibly mapped to numeric input to
allow use of the predictive input on desktop ports.
2011-06-08 04:16:54 +01:00
D G Turner
e3a409b9a4
AGI: Fix Engine Exit While Predictive Dialog Is Open.
2011-06-08 03:38:52 +01:00
D G Turner
dbaf9e49c7
AGI: Fix Broken Predictive Text Input.
...
This was a regression introduced by
4b2f92b5e5 (r55135)
2011-06-08 03:13:13 +01:00
Max Horn
5faa7e3a53
AGI: Fix type mismatch (see bug #3311198 )
2011-06-03 23:17:26 +02:00
Max Horn
e364072091
Remove accidentally added file *sigh*
2011-06-03 18:21:00 +02:00
Max Horn
11bd6da595
SCI: Switch some char* to Common::String&
2011-06-03 16:16:38 +02:00
D G Turner
305c6b4d83
AGI: Replace snprintf() usage with Common::String::format()
...
Safer and less portability issues.
2011-06-02 19:46:55 +01:00
Max Horn
477d6233c3
ENGINES: Change 2nd param of Engine::saveGameState to Common::String
2011-06-02 18:31:59 +02:00
Willem Jan Palenstijn
218d82c62b
AGI: Fix compilation on 64 bit platforms
...
I'm unable to test this change, but it avoids using a pointer to store
an int temporarily.
2011-05-25 22:45:21 +02:00
Eugene Sandulenko
ed9768fde3
Merge pull request #9 from tiqpit/a2gs
...
AGI: Fix //gs output
2011-05-25 10:00:26 -07:00
Matthew Hoops
eea482fa43
ALL: behaviour -> behavior
2011-05-25 10:50:46 -04:00
Max Horn
6c5f50c246
COMMON: Add exit() to list of forbidden symbols
2011-05-23 19:39:26 +02:00
Max Horn
39ab4a2dc4
AGI: Constify stuff
2011-05-18 13:06:33 +02:00
Willem Jan Palenstijn
72acac58b6
AGI: Cleanup
2011-05-17 21:21:51 +02:00
Max Horn
44b798d107
AGI: Unify RandomSource instantiation
...
This fixes a leak in PreAGI games (which never deleted their
RandomSource), ensures that PreAGI's RandomSource has a name (and hence
is registered with the event recorder) and even slightly simplifies the
AgiEngine destructor.
2011-05-17 12:17:27 +02:00
Max Horn
4cbe4ede66
COMMON: Registers RandomSources in constructor with the event recorder
...
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
Thierry Crozat
3c59e37035
ENGINES: Unify engine names
...
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-16 00:11:32 +01:00
strangerke
69b1485a22
GIT: Clean up: Suppress SVN tags, now useless
2011-05-12 01:16:22 +02:00