Commit Graph
145 Commits
Author SHA1 Message Date
Misty De Meo 08406b4510 DIRECTOR: add SearchMan check 2023-01-15 23:32:06 +01:00
Misty De Meo 6af5e86a77 DIRECTOR: openMainArchive may be opening an EXE
This fixes Fukuoka-Go-Round, which ends up passing the main EXE as a movie
to (re)open at runtime instead of a movie. Without this, clicking back to
the main menu crashes the disc.
2023-01-15 23:32:06 +01:00
elasota e280186a8c ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
Cameron Cawley 28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Vladimir Serbinenko 0670d1a16a DIRECTOR: Switch to openFileOrDataFork 2022-12-04 20:16:21 +01:00
eientei 6fa3ac0774 DIRECTOR: Also look for XFCNs here; probe the initial movie for xobjs as well 2022-12-01 01:18:11 +01:00
eientei b80fa3f122 DIRECTOR: Add support for multi-entry D3 EXEs
Tested on Wrath of the Gods demo, only contains movie file path
information
2022-10-17 12:29:16 +02:00
Scott Percival f502638290 DIRECTOR: Plug file handle memory leaks 2022-09-25 10:35:03 +02:00
Roland van Laar 1ff57a4c0f DIRECTOR: Fix segfault in D4 movies
The exeStream should only be deleted in `loadExeV3`

One `loadExeV?` is not like the others. They all load RIFX files
except for the V3 variant. They all error on an error during the opening of
the stream, except voor the V3 variant.

The segfault was introduced in 12bb1a495f by fixing a memory leak
for the `exeStream`.
2022-09-24 01:54:21 +02:00
Roland van Laar 12bb1a495f DIRECTOR: Fix memory leaks D3 win EXE loading
Fixed Archives that were instantiated but not closed.
2022-09-24 01:39:32 +02:00
Roland van Laar dd7a914ff6 DIRECTOR: refactor createArchive
Simplify `createArchive` by checking for version first and platform
second.
2022-09-24 01:39:32 +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
Roland van Laar 1da186e511 DIRECTOR: fix memory leak: Window::probeMacBinary 2022-09-20 22:18:47 +02:00
Roland van Laar 980e136c77 DIRECTOR: Fix memory leak
Delete iniSteam after use.
2022-09-20 11:04:58 +02:00
Roland van Laar 4a5283f2ff DIRECTOR: read more from projector rsrc fork
The projector file on mac contains resources. They are loaded
automatically.
This commit implements:
- registering the resource file to enable handling by the Cursor class
- probe XCMDs for loading

The delete archive statement is removed. The archive needs to stay
available to be read when requested by the Cursor class.
openResFile is destroyed by ~Director.
2022-03-25 20:01:51 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Misty De Meo 1750ecfab6 DIRECTOR: decode movie paths before loading 2021-11-08 23:42:45 -05:00
Roland van Laar 80bca91b30 DIRECTOR: Don't load nonexisting projector movie
Continue playing the current movie when the one referenced as projector
isn't found. It seems the best option. ScummVM crashes anyway when it switches to a non-existing movie

This resolves a crash in `The Kids Works 2 Demo`. It's a single file D3
movie which contains everything needed to run it.
2021-08-21 21:39:13 +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 84cddcf3f6 DIRECTOR: Initial support for l-zone MacII 2021-08-13 17:35:38 +02:00
ysj1173886760 0e95929b01 DIRECTOR: use startUp event to execute initial scripts. 2021-08-07 19:11:55 +08:00
djsrv e6c696031f DIRECTOR: Punycode dump file names 2021-08-07 10:44:37 +02:00
djsrv 02aace0598 DIRECTOR: Use ':' as directory separator 2021-08-07 10:44:37 +02:00
ysj1173886760 0d32674049 DIRECTOR: fix the implementation of loading startup scripts. 2021-08-06 21:35:12 +08:00
ysj1173886760 ce7cdd11b8 DIRECTOR: use comma to split the parameter of start-movie. implement loading startup movie. 2021-08-06 20:44:02 +08:00
djsrv 1e7e9707a8 DIRECTOR: Load XCOD from non-projector MacBinaries
Meet MediaBand's Main/Shared.dir contains XCOD resources.
2021-08-04 19:30:52 -04:00
Eugene Sandulenko 5e0dc15bb1 DIRECTOR: Added stub for SerialPort XObj and automatically preload it 2021-08-03 01:13:53 +02:00
djsrv b832e2c870 DIRECTOR: Ignore case in shared cast name 2021-07-16 18:06:15 -04:00
djsrv 0592520ddf DIRECTOR: Test multiple possible paths for shared cast 2021-07-16 16:22:06 -04:00
djsrv 88ea6e1645 DIRECTOR: Re-encode loaded text to UTF-8 2021-07-15 16:31:47 -04:00
Cameron Cawley bf4ae50a3f COMMON: Add a helper function for loading version resources 2021-07-15 13:55:33 +02:00
Cameron Cawley 54b8ee6d41 DIRECTOR: Recognise files with "PJ01" version tags 2021-07-15 13:55:33 +02:00
djsrv 789e8b1a4d DIRECTOR: Load FPlay in warlock-mac with --start-movie 2021-07-11 16:18:22 -04:00
djsrv 8f836f321c DIRECTOR: Don't load shared cast twice
If the a shared cast was loaded with --start-movie, it was being
loaded twice. Since I meade the Lingo compiler complain if
factories are redefined, this was causing buildbot failures.
2021-06-22 18:16:53 -04:00
Eugene Sandulenko 7725f0ceed COMMON: Make WinResource::getVersionInfo more universal 2021-03-22 00:07:44 +01:00
djsrv baacf3c1ab DIRECTOR: Replace SeekableSubReadStreamEndian
Use the superclass SeekableReadStreamEndian.
2020-08-12 17:26:55 -04:00
djsrv 0ff7274993 DIRECTOR: Multiply version numbers by 100
To accomodate minor version.
2020-08-10 15:00:55 -04:00
djsrv 9c537a8744 DIRECTOR: Rename Stage to more general Window
The stage and windows are the same type of thing, but the stage only
refers to one particular window.
2020-08-04 23:54:09 -04:00
Nathanael Gentry f2fe352c00 DIRECTOR: Gracefully exit on bad EXE 2020-08-04 00:28:00 -04:00
Eugene Sandulenko 1841c29bca DIRECTOR: Remove unneeded condition 2020-08-03 11:05:38 +02:00
Eugene Sandulenko d543293ca0 DIRECTOR: Always run projector detector for the main movie 2020-07-28 20:44:49 +02:00
djsrv f23ef93766 DIRECTOR: Move event handling to movie 2020-07-23 20:05:49 -04:00
djsrv 854300607c DIRECTOR: Fix mac name 2020-07-20 15:24:22 -04:00
djsrv 9337e704bf DIRECTOR: Improve movie load debugging 2020-07-16 18:15:20 -04:00
Eugene Sandulenko 8b7877b393 DIRECTOR: Fix crash when referred movie does not exist 2020-07-14 00:36:19 +02:00
Eugene Sandulenko 268ce42c84 DIRECTOR: Proceed if built-in RIFF archive is errorneous 2020-07-14 00:35:54 +02:00
Eugene Sandulenko e57f332942 DIRECTOR: Switch to WinResources VersionInfo parser 2020-07-09 23:13:47 +02:00
Eugene Sandulenko fd1b779f17 DIRECTOR: Parse Win32 executable version info 2020-07-09 12:40:11 +02:00
Eugene Sandulenko 2a25231035 DIRECTOR: Use MacResMan's vers parser 2020-07-08 11:42:59 +02:00