Commit Graph
101 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
Eugene Sandulenko b33e2b76d4 DIRECTOR: Implement proper string comparison
Director is full of surprises.

This fixes fortune teller input in the Panic Park demo
2022-12-10 17:45:59 +01:00
Eugene Sandulenko fb7095f5a4 COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
eientei a49e473fe9 DIRECTOR: JANITORIAL: Spelling fixes in comments 2022-12-01 01:18:11 +01:00
Vladimir Serbinenko 17a2ce8c5a DIRECTOR: Accept MacBinary for Macintosh and Pippin versions
Pippin videos for Lzone have resource fork and end up in MacBinary format.
This apparently fixes Pippin version of L-zone but I didn't check whether
it's completable.
2022-11-28 23:00:33 +01:00
Misty De Meo 08c3bfe6d6 DIRECTOR: do not trim path during search
This was introduced in 3cae55dc3a due
to a bug encountered in Majestic. That was, however, a distinct bug
caused by something else, and the root cause was fixed in
9c3de4c269. Trimming whitespace broke
games which loaded paths that legitimately began with whitespace. This
notably broke Wacky Races (Mac, Japan), which has directories that begin
with a single space.
2022-11-11 16:40:39 -08:00
eientei b96174c02e DIRECTOR: testExtensions: Try the non-converted filename as well
Required to get Wrath of the Gods to play, because due the existing code, when given `30AM1`, it was only checking `30AM1` and `AM1.MMM` but not `30AM1.MMM` (which is what the file is called)
2022-10-17 12:47:04 +02:00
Roland van Laar 9aafdcf976 DIRECTOR: Fix unchecked return value
getChildren returns false when not succesful, i.e. meaning we can bail
out of the loop iteration.

Fixes COVERITY: 1462418
2022-10-07 17:05:46 +02:00
Scott Percival c1ebb4d52d DIRECTOR: Implement funcs debugger command 2022-09-20 20:17:06 +02:00
Scott Percival 533dd7c78f DIRECTOR: Fix searching for files in subdirectories
Fixes regression introduced in 0c09bba0f6

Fixes resource detection in Total Distortion.
2022-09-12 15:52:18 +02:00
Misty De Meo 0c09bba0f6 DIRECTOR: do not try to open dirs as files 2022-08-08 13:06:16 -07:00
Eugene Sandulenko 1823539136 DIRECTOR: Allow test directories for existence 2022-06-04 14:15:46 +02:00
Eugene Sandulenko 1fc4cc60fc DIRECTOR: Enhanced debug output for makePathRelative 2022-06-04 14:15:46 +02:00
Eugene Sandulenko 8d13da7dc1 DIRECTOR: Added possibility to provide extra search path, use it for mcluhan 2022-06-04 14:15:46 +02:00
Roland van Laar 50d369631b DIRECTOR: dump factory scripts with their names
FactoryScripts are now dumped with their 'factory-<name>' in the dumped
filename.

Factory scripts are different in that they are not associated with a cast and have a
scripType that is kNoneScript, i.e. -1.
2022-03-25 18:08:55 +01:00
Roland van Laar 79dabe3435 DIRECTOR: fix string compare when empty
Variable c2 would be unintialized when the s1 would be "", the result is
undefined behavior.

Thanks to LePhilousophe for finding it.
2022-03-25 16:28:18 +01:00
Roland van Laar f7742344e5 DIRECTOR: don't error on dumping dangling scripts
Some scripts are of type NoneScript or unkown.
Those scripts halted dumping. Now the scripts get a typeName of none or unkown.
2022-03-24 22:16:05 +01:00
Eugene Sandulenko 835f961782 DIRECTOR: Improved file search in pathMakeRelative() 2022-03-19 12:13:29 +01:00
Eugene Sandulenko 1a5f2d6af9 DIRECTOR: Probe additional variant in makePathRelative() 2022-03-17 00:41:14 +01:00
Eugene Sandulenko 9c09c68cd6 DIRECTOR: Added more debug output 2022-03-17 00:41:13 +01:00
Eugene Sandulenko 44d5722d0c DIRECTOR: Fixed extension replacement is makePathRelative() 2022-03-17 00:41:13 +01:00
Roland van Laar b8aa4aedba JANITORAL: spelling fix 2022-03-11 00:02:50 +01:00
Roland van Laar 95fc5560f9 Director: Implement the searchPath
the searchPath is an array that contains paths that need to be searched
when opening a file. It's a property on the same global level in the
same way itemDelimeter is.

The searchPath is set via cb_theassign2. It's used for assigning
properties to the movie itself. `g_lingo` in the case of ScummVM.

The only known case for cb_theassign2 is in the game Louis Catorze
where it's only used for the searchPath.

Note: cb_theassign() does the same thing for script and factories
2022-03-10 23:42:37 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 02cfffcb67 DIRECTOR: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Misty De Meo 1750ecfab6 DIRECTOR: decode movie paths before loading 2021-11-08 23:42:45 -05:00
Scott Percival 08bfca4f9f DIRECTOR: Check for movie file extensions on Mac
* DIRECTOR: Check for movie file extensions on Mac

Some Mac games have file extensions for movies, but use
extensionless filenames in the code (e.g. Total Distortion).

* DIRECTOR: LINGO: Add alias for MoveMouse.XObj

Fixes Jungle Park for Mac.
2021-11-06 05:56:38 +00:00
Scott Percival 6717d7e3f2 DIRECTOR: Add case-insensitive path checking 2021-09-18 23:15:25 +08:00
ysj1173886760 c4fac4e2b7 DIRECTOR: move warnings to deeper debug levels. 2021-08-20 19:21:28 +08:00
ysj1173886760 c77f5f6b45 DIRECTOR: implement window keycode mapping. 2021-08-16 16:00:19 +08:00
ysj1173886760 6819fcce6e DIRECTOR: fix the castType of cast 2021-08-09 16:51:25 +08:00
djsrv 1c594b903b DIRECTOR: Use Unicode version of toPrintable 2021-08-07 14:54:36 -04:00
djsrv c8db1de753 DIRECTOR: Don't put dots at beginning of path
The dot is just eliminated in pathMakeRelative.
2021-08-07 14:54:36 -04: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
Eugene Sandulenko 2fce9db178 DIRECTOR: Do not convert '/' in paths 2021-07-27 18:14:50 +02:00
djsrv 5add8e86c5 DIRECTOR: Better handle D4 Windows filenames
We need to truncate Windows filenames to a valid 8.3 filename but using
a different algorithm than D3.
2021-07-24 01:44:27 -04:00
djsrv 0aec46b269 DIRECTOR: Skip Windows drive letter in filename 2021-07-24 01:44:27 -04:00
ysj1173886760 eab6d53f15 DIRECTOR: add a util to check buton sprite 2021-07-19 10:41:22 +08:00
djsrv 594b8a56fb DIRECTOR: Fix convertPath comment 2021-07-17 12:55:31 -04:00
djsrv 664d2f257d DIRECTOR: LINGO: Make compareTo handle Unicode 2021-07-15 16:31:47 -04:00
djsrv 8fcc186b08 DIRECTOR: Add charToNum and numToChar helper functions 2021-07-15 16:31:47 -04:00
djsrv ca0b1f5de1 DIRECTOR: LINGO: Normalize strings in equality tests 2021-07-15 16:31:47 -04:00
djsrv 30df98e61b DIRECTOR: Create Cast::decodeString 2021-07-15 16:31:47 -04:00
djsrv 52af0ac82e DIRECTOR: Create DirectorEngine::getPlatformEncoding 2021-07-15 16:31:47 -04:00
djsrv 74836ac8bb DIRECTOR: Replace kMacCentralEurope with kMacRoman 2021-07-12 15:41:21 -04:00
ysj1173886760 090302e636 DIRECTOR: add comments for pathMakeRelative 2021-07-12 14:15:25 +08:00
ysj1173886760 25c7822ec3 DIRECTOR: enhance pathMakeRelative to deal with directories at any level. 2021-07-12 14:15:25 +08:00
djsrv 63b69aa91e DIRECTOR: Create function to detect encoding from font 2021-07-12 00:38:05 -04:00
djsrv ce3a1ac2cd DIRECTOR: Create platformFromID function 2021-07-06 21:30:30 -04:00