Commit Graph
137148 Commits
Author SHA1 Message Date
Eugene Sandulenko 1aa1fe2802 DIRECTOR: Furhter decrease of header dependency 2020-07-01 17:49:48 +02:00
Eugene Sandulenko 2d66bb22c6 DIRECTORL Reduce header dependency 2020-07-01 17:49:48 +02:00
Eugene Sandulenko ee9b52bc31 DIRECTOR: Reduce header dependency 2020-07-01 17:49:48 +02:00
Scott Percival 52bef2ba43 DIRECTOR: LINGO: Fix name resolution for decodeInstruction 2020-07-01 23:45:28 +08:00
Scott Percival 45e72aa449 DIRECTOR: LINGO: Fix bytecode loading for global scripts 2020-07-01 23:45:27 +08:00
djsrv 4747a97cfe DIRECTOR: Fix Cast/Movie debugs 2020-07-01 11:28:00 -04:00
Eugene Sandulenko 942066728a DIRECTOR: Fix warning 2020-07-01 17:06:03 +02:00
djsrv 5ae6c34074 DIRECTOR: Separate Movie and Cast from Score 2020-07-01 10:50:31 -04:00
djsrv 3303ab985e DIRECTOR: Rename cast.cpp -> castmember.cpp 2020-07-01 10:50:31 -04:00
djsrv dea03c1171 DIRECTOR: Rename movie.cpp -> video.cpp 2020-07-01 10:50:31 -04:00
Paul Gilbert 0350abbcc2 GLK: COMPREHEND: Fixes for opcodes for items being present 2020-06-30 20:28:34 -07:00
Paul Gilbert 9d45f9264a GLK: COMPREHEND: Fix action matches with out of order words 2020-06-30 20:28:34 -07:00
Paul Gilbert 81c5d8f781 GLK: COMPREHEND: Further tweak for current object opcodes 2020-06-30 20:28:34 -07:00
Paul Gilbert cee3f46456 GLK: COMPREHEND: Switch position of disk number in CC savegame 2020-06-30 20:28:34 -07:00
Paul Gilbert 724bee2a81 GLK: COMPREHEND: Handle CC switchover to disk 2 2020-06-30 20:28:34 -07:00
Paul Gilbert 04c9057dee GLK: COMPREHEND: End dialog for CC disk 1 2020-06-30 20:28:34 -07:00
Paul Gilbert 9e8fdd0f4b GLK: COMPREHEND: Added debugger draw command 2020-06-30 20:28:34 -07:00
Eugene Sandulenko 9c0e8993c0 CGE: Added detection for Russian translation of Solys 2020-07-01 01:03:12 +02:00
Nathanael Gentry d2cc383f1e DIRECTOR: Add workaround for Chop Suey cursor 2020-06-30 17:10:28 -04:00
Nathanael Gentry a473a9a19e DIRECTOR: Properly undraw sprite when cast changes
Before, if the previous cast was bigger than the new cast, there would be artifacts left.
2020-06-30 17:10:28 -04:00
Nathanael Gentry e68e434b16 DIRECTOR: Fix typo in sprite type name 2020-06-30 15:37:46 -04:00
Gunnar Birke b21cc629cf WINTERMUTE: Delete .X model of AdActor3DX in destructor 2020-06-30 19:14:14 +02:00
Gunnar Birke e652267aa3 WINTERMUTE: Free memory buffer after .X model load 2020-06-30 19:13:06 +02:00
Gunnar Birke 8fe7536f33 WINTERMUTE: Free image surface after copying to texture 2020-06-30 19:12:10 +02:00
Nathanael Gentry 713f9f2624 DIRECTOR: Unify sprite and channel internal rendering methods
Now we only need to check with the channel to see if its contents need to be
re-rendered, and the channel takes care of updating its internal locations, as
well as those of the widgets.
2020-06-30 12:38:46 -04:00
Nathanael Gentry 487dcec139 DIRECTOR: Remove shape cast hack 2020-06-30 12:38:46 -04:00
Nathanael Gentry 93a5c39381 DIRECTOR: Cache widgets for all loaded cast 2020-06-30 12:38:46 -04:00
Nathanael Gentry 1ddc4bf6bd GRAPHICS: MACGUI: MacButton: Properly mark dirty button states 2020-06-30 12:38:46 -04:00
Nathanael Gentry 30bd4de3a7 Revert "GRAPHICS: MACGUI: Add QuickDraw class"
This reverts commit 3469ed858c.
2020-06-30 12:38:46 -04:00
Nathanael Gentry d04934a54f DIRECTOR: Move rendering to a Stage class
This commit introduces several changes to the rendering pipeline.

 - Rather than having a window for each score that is played, there is a Stage
   in g_director that is only cleared when the upcoming stage has a different
   size. This permits transitions still clean transitions between movies.

 - Rather than relying upon general surface blitting functions, there is
   progress toward a custom blitter than makes working with inks much easier. A
	 pixelwise function, inkDrawPixel, has been introduced.

 - The mask-based approach to incremental rendering has been abandoned, as it
   caused performance issues and strange rendering bugs. Now the renderer
	 operates on a traditional list of dirty rects that must be redrawn.

 - QuickDraw shapes are more closely integrated with the renderer, and they do
    not require a temporary surface to draw.
2020-06-30 12:38:46 -04:00
Roland van Laar 4a902285dd DIRECTOR: LINGO: Refactor strings.lingo
Refactor put statements to scummvmAssert and scummvmAssertEqual.
2020-06-30 17:28:11 +02:00
Eugene Sandulenko f9ce4e805a DIRECTOR: LINGO: Make scummvmAssert() treat any non-zero value as true 2020-06-30 15:57:34 +02:00
Roland van Laar ddff10b13f DIRECTOR: LINGO: implement scummvmAsserts.
scummvmAssert and scummvmAssertEqual are scummvm specific Lingo functions.
Useful for getting feedback on lingo code tests without
having to check if the output is as expected.

Example:

    set x = True
    scummvmAssert(x)    // will pass

    set x = False
    scummvmAssert(x)    // will fail

    set c = chars("Macromedia", 6, 6)
    scummvmAssertEqual(c, "m") // will pass
    scummvmAssertEqual(c, "M") // will fail

It's defined as a Lingo builtin function for D2.
strings.lingo has been modified to leverage the new functions
2020-06-30 15:55:11 +02:00
Eugene Sandulenko 602b9fffb9 DIRECTOR: LINGO: Added another debug output under FewFramesOnly 2020-06-30 13:16:06 +02:00
Roland van Laar f564846122 DIRECTOR: LINGO: Add closing bracket on point print 2020-06-30 11:48:35 +02:00
Matan Bareket b1248be3ae README: Add information about the new MM NES palette flag 2020-06-30 04:56:00 -04:00
Matthew Duggan 21059fef5d ULTIMA8: Load crusader combat tactics 2020-06-30 13:46:23 +09:00
Matthew Duggan 1c7dc91f12 ULTIMA8: put avatar in stasis while healing 2020-06-30 13:46:23 +09:00
Matthew Duggan fcfe483914 ULTIMA8: Byte 7 is the item weight in crusader 2020-06-30 13:46:23 +09:00
Matthew Duggan 53ed6e242d ULTIMA8: Fixes for keypad gump 2020-06-30 13:46:23 +09:00
djsrv 20e29b2198 GRAPHICS: MACGUI: Load TrueType fonts 2020-06-29 22:11:13 -04:00
Eugene Sandulenko f11b5b33dc GRAPHICS: MACGUI: Keep cursor position after paragraph reshuffling 2020-06-30 01:04:08 +02:00
Thierry Crozat 64c811b44b GLK: Do not interrupt current speech when getting text from a different window 2020-06-29 22:48:57 +01:00
Thierry Crozat f35f0f2804 GLK: Implement TTS for the TextGridWindow 2020-06-29 22:48:57 +01:00
Thierry Crozat 01f3ce620a GLK: Add method that takes c-string text in Speech class 2020-06-29 22:48:57 +01:00
Thierry Crozat cbf6b6b6e6 GLK: Add tts flush when redrawing the text buffer window
This adds TTS to a lot of text that was previously not spoken
due to missing flush. And adding a flush when we actually draw the
text to the screen seems to make sense.
2020-06-29 22:48:57 +01:00
Thierry Crozat 8f3c2e5754 GLK: Simplify SpeechManager
The logic to build the string to speak has been moved back to the
Speech class, and the SpeechManager API has been simplified.
2020-06-29 22:48:57 +01:00
Thierry Crozat 98bc3f45bd GLK: Add speech volume synchronization 2020-06-29 22:48:57 +01:00
Thierry Crozat 5f34aaa52b ENGINES: Pop the TTS stack before calling syncSoundSettings
This allows engine to change the TTS speech volume for the correct
state if they use the Options  text volume for TTS.
2020-06-29 22:48:57 +01:00
Thierry Crozat 31ea00f465 GLK: Try to properly handle speech with multiple TextBufferWindows 2020-06-29 22:48:57 +01:00