Commit Graph
323 Commits
Author SHA1 Message Date
Vladimir Serbinenko af7d9cb850 COMMON: Move punycode_*codepath to path.cpp
This allows to reduce access to DIR_SEPARATOR from outside of Common::Path
2022-12-14 05:08:46 +01:00
Scott Percival 873095c87e DIRECTOR: Move current Lingo state into Window-owned struct
The previous arrangement was to copy the bits of Lingo state back and forth from
the Window object to the Lingo instance, and query the window for the
callstack. This refactor consolidates the current Lingo state into a single
struct, owned by the Window object and accessible via a pointer on the
Lingo object.
2022-12-09 01:10:57 +01:00
Scott Percival 9c3de4c269 DIRECTOR: Make "the pathName" return an absolute path
In Director, Lingo calls to fetch "the pathName" would provide an absolute
path, including the volume. getCurrentPath() originally provided a
relative path, which meant root level would return "". There is at least
one title that checks "the pathName" isn't blank as part of the content
detection routine. Given that from an internal perspective,
getCurrentPath() is always an absolute path from the game root, we can
add a fake drive letter for Windows at the front.

Fixes loading in DEVO Presents: Adventures of the Smart Patrol.
2022-10-22 19:53:22 +02:00
Scott Percival 4ec70de496 DIRECTOR: Add 'console' debug flag 2022-10-22 19:53:22 +02:00
Roland van Laar 0091a20fe9 DIRECTOR: limit files closed by closeResFile
Lingo function `closeResFile` is only responsible for closing resource
file opened by `openResFile`. Register in `openResFile` which files
where opened and close only those files in `closeResFile`.

- Rename `_openResFiles` to `_allOpenResFiles` and
- Add new `_openResFiles` hashmap to track which files were opened in
  `openResFile`.
2022-09-23 22:55:50 +02:00
Scott Percival 756cfdd27d DIRECTOR: Make DirectorEngine copy palettes on use
This is going to be the basis for the palette-cycling effects.
2022-09-12 15:52:18 +02:00
Eugene Sandulenko fa815cc92a DIRECTOR: Remove unnecessary global constants 2022-07-19 23:46:58 +02:00
Eugene Sandulenko 1cd3b914e1 DIRECTOR: Fix desktop mode 2022-07-19 23:46:57 +02:00
Eugene Sandulenko 88dedd276e JANITORIAL: Rename constants to follow our code naming conventions 2022-07-19 20:25:06 +02:00
Pragyansh Chaturvedi 5c17fe70b8 JANITORIAL: Fix conventions and reimplement MacFontManager::rectifyId() 2022-07-17 13:04:14 +02:00
Pragyansh Chaturvedi c4f6aa89b9 GRAPHICS: Implement assigning of windows font, check for wrong fontId while loading stxt, read name from FON files DIRECTOR 2022-07-17 13:04:14 +02:00
Eugene Sandulenko 16f4854a59 DIRECTOR: Always scan game directory 5 levels deep 2022-07-10 16:09:24 +02:00
Misty De Meo 987065e090 DIRECTOR: allow customizing desktop mode size 2022-07-07 15:59:41 +02:00
Misty De Meo 95f7d681c5 DIRECTOR: move gameQuirks to end of constructor 2022-07-06 01:47:16 +02:00
Misty De Meo d99da56120 DIRECTOR: check _wmMode for desktop 2022-07-06 01:47:16 +02:00
Misty De Meo 3fdc914754 DIRECTOR: promote wmMode to instance variable 2022-07-06 01:47:16 +02:00
eientei 7a54ff26f7 DIRECTOR: Add Pippin platform 2022-06-22 23:38:15 +02:00
Pragyansh Chaturvedi (r41k0u) ad6b80009f DIRECTOR: LINGO: Implement setting of timeOutLapsed property 2022-06-22 01:13:41 +02:00
Pragyansh Chaturvedi (r41k0u) ee242176af DIRECTOR: LINGO: Implement kTheFixStageSize property STUB 2022-06-21 01:08:10 +02:00
Eugene Sandulenko 11aa622e6f DIRECTOR: Do not hog CPU 2022-06-18 11:26:49 +02:00
Pragyansh Chaturvedi (r41k0u) ec3a741c29 DIRECTOR: LINGO: Implement copyToClipBoard and pasteClipBoardInto STUBs in Lingo Builtins 2022-06-17 00:03:06 +02:00
Christian Kündig a880ef2b6b DIRECTOR: EMSCRIPTEN: Yield back to the browser in the mail loop 2022-06-12 14:34:13 +02:00
Eugene Sandulenko e8f113bf5a DIRECTOR: Print out D pixelformat on startup 2022-06-06 19:31:09 +02:00
Eugene Sandulenko 93412a5bab DIRECTOR: Created file for hosting game-specific quirks and moved a few there 2022-06-03 14:04:16 +02:00
Roland van Laar 738def31a0 DIRECTOR: Implement lingo repl in debugger
When in debug mode enter: lingo on
The prompt will start with lingo) to indicate the repl is active.
To stop enter: lingo off

This will allow developers to interactively inspect the current state of
the program.

Only statements that fit on one line are supported.
2022-03-22 23:39:54 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Eugene Sandulenko 85e8f765c1 DIRECTOR: Switch detection to full paths and modify lzone-win for using it 2021-11-30 23:59:23 +01:00
djsrv d66aff96c7 DIRECTOR: Clarify purpose of getPlatformEncoding 2021-11-08 23:44:08 -05:00
Eugene Sandulenko 085fc616a8 DIRECTOR: Properly set the colorDepth for 32bpp mode 2021-09-26 10:26:02 +02:00
ysj1173886760 98b5adc4cc DIRECTOR: fix memory leak when using win cursor. 2021-08-17 08:56:13 +08:00
ysj1173886760 8e9f802e87 DIRECTOR: introduce winCursor to director. Loading win cursor at initially. 2021-08-16 08:41:36 +08:00
Eugene Sandulenko b58aa4ca61 DIRECTOR: Set machine type depending on the game platform 2021-08-13 19:58:21 +02:00
djsrv 43d676e56f Revert "DIRECTOR: Set default palette based on platform"
This reverts commit 49122e135b.
This made Meet MediaBand for Windows use the wrong palette.
More investigation is needed.
2021-08-13 13:18:23 -04:00
djsrv 49122e135b DIRECTOR: Set default palette based on platform 2021-08-13 00:12:41 -04:00
djsrv eaee94eab8 DIRECTOR: Set dir separator before parsing options
The directory separator is used when parsing the options.
2021-08-07 10:44:37 +02:00
djsrv d6f255cfff DIRECTOR: Fix start movie path conversion
Paths containing punycode don't necessarily *start* with punycode.
2021-08-07 10:44:37 +02:00
djsrv 02aace0598 DIRECTOR: Use ':' as directory separator 2021-08-07 10:44:37 +02:00
djsrv 17297ea7ef COMMON: Use Path type in punycode_decodepath 2021-08-07 10:44:37 +02:00
Eugene Sandulenko 60c79db522 DIRECTOR: Reworked --startup-movie processing. Now the options order is arbitrary 2021-08-07 00:02:01 +02:00
djsrv 19dab8f130 DIRECTOR: Set cursors per-movie, not globally 2021-08-06 01:11:49 -04:00
ysj1173886760 119253ce3f DIRECTOR: add sorted attribute for array type datum. 2021-07-28 14:53:13 +08:00
djsrv 8a9b1cd09c DIRECTOR: Give each window its own sound manager
This Should prevent conflicts between the sound channels of movies
running in parallel.
2021-07-27 22:42:09 -04:00
Cameron Cawley 74e7d777a9 BACKENDS: Add OSystem::messageBox() and use it for error handling 2021-07-27 20:50:51 +02:00
djsrv 7f0ae2b827 DIRECTOR: LINGO: Improve switching between windows
This saves/loads more Lingo state to the window so that running Lingo in
multiple windows is safer.
2021-07-26 12:59:06 -04:00
djsrv 0592520ddf DIRECTOR: Test multiple possible paths for shared cast 2021-07-16 16:22:06 -04:00
djsrv 30df98e61b DIRECTOR: Create Cast::decodeString 2021-07-15 16:31:47 -04:00
djsrv 6b02cb4820 DIRECTOR: Pass language to window manager 2021-07-12 18:02:56 -04:00
Eugene Sandulenko bda0cc1c1e DIRECTOR: Fix regression in lzone-win 2021-06-26 00:27:30 +02:00
ysj1173886760 d31331eb9a DIRECTOR: modify the behaviour of resizeScreen to avoid memory leaks. Introduce _surface to director which will provide consistency for those engines which uses macgui. 2021-06-20 14:33:53 +02:00
Le Philousophe 1d6b27d64b DIRECTOR: Avoid duplicated data when not necessary 2021-06-13 14:17:06 +02:00