Commit graph

92 commits

Author SHA1 Message Date
Filippos Karapetis
5b1e2d502c COMMON: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Filippos Karapetis
177f04349a COMMON: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Eugene Sandulenko
2435439665
COMMON: FORMATS: Put QT parser debug output to 'gvideo' debug channel 2025-02-22 15:51:24 +01:00
Eugene Sandulenko
ca1500833b
COMMON: FORMATS: Get rid of HotSpotType in QTVR
This is supposed to be user-extendable, thus, there always
will be "unknown" hotspots. So, we pass it as uint32
2025-02-20 01:34:32 +01:00
Eugene Sandulenko
04f23ac98f
COMMON: FORMATS: Fixed to PNAV atom reading in QuickTime 2025-02-19 01:51:15 +01:00
Eugene Sandulenko
8676fb1fba
COMMON: FORMATS: Simplified usage of QTVR node type 2025-02-16 18:09:16 +01:00
Eugene Sandulenko
5b3953aaf6
COMMON: FORMATS: Report QTVR 2.0 movies as unsupported 2025-02-16 18:09:16 +01:00
Torbjörn Andersson
332dc109a2 COMMON: FORMATS: Silence signed/unsigned warnings 2025-02-15 22:49:15 +01:00
Eugene Sandulenko
15a870c584
COMMON: FORMATS: Expose QTVR structures to the outer world 2025-02-15 20:08:26 +01:00
Eugene Sandulenko
089c575352
COMMON: FORMATS: Add helper methods for getting QTVR components 2025-02-14 23:08:58 +01:00
Eugene Sandulenko
135366d174
COMMON: FORMATS: added 'cmov' as a valid QTVR hotspot type 2025-02-13 00:57:37 +01:00
Eugene Sandulenko
b00992c0d4
COMMON: FORMATS: Added target track number to QT Track struct 2025-02-04 23:28:04 +01:00
Eugene Sandulenko
afda417473
VIDEO: Fix reading of 'pano' chunk from QTVR and initial panorama construction preps 2025-02-04 01:58:59 +01:00
Eugene Sandulenko
b0ccadb399
COMMON: FORMATS: Added more node types to QTVR 2025-01-31 16:48:59 +01:00
Eugene Sandulenko
0a6d381b17
COMMON: Initialize Navigation struct in QTVR 2025-01-27 00:20:34 +01:00
Vladimir Serbinenko
3c0a1312a0 COMMON: Allow specifying XMLParser stream name 2025-01-11 14:20:56 +01:00
sluicebox
9f91a01124 COMMON: Fix DiskImage stream deletion 2024-08-26 11:55:36 -07:00
sluicebox
23a9f4ed54 COMMON: Add DiskImage lazy-decoding mode
Images can now be read without decoding all disk tracks.

This allows DiskImage to be used in detection code, where only
a little disk data is needed. Otherwise, formats such as WOZ
would cause noticeable delays due to decoding entire disks.
2024-08-25 14:57:06 +03:00
sluicebox
f31eb92d7a COMMON: Add DiskImage enhancements
- open(FSNode)
- releaseStream()
- ".do" file extension recognized
- Parsing errors handled instead of calling error()
- Skip sector logging when it does nothing
2024-08-25 14:57:06 +03:00
sluicebox
78552492b1 ADL: Move DiskImage into COMMON 2024-08-25 14:57:06 +03:00
Eugene Sandulenko
4f247f6e80 COMMON: Fix potentially uninitalized variable. CID 1559623 2024-08-23 15:33:27 +02:00
Krish
764e4c15ae COMMON: FORMATS: Make _panoTrack protected 2024-08-14 21:52:03 +02:00
Krish
aee953ca0b COMMON: FORMATS: Make QTVRType enum public 2024-08-14 21:52:03 +02:00
Le Philousophe
c712fb8af9 COMMON: FORMATS: Fix build 2024-06-30 22:28:17 +02:00
Krish
c39c63af3a COMMON: FORMATS: Add support for parsing QuickTime VR panorama atoms
This commit introduces functionality to parse panorama atoms in QuickTime VR files.

Atoms parsed include:

- pHdr: PanoSampleHeader
- pHot: HotSpotTableAtom
- strT: StringTableAtom
- pLnk: LinkTableAtom
- pNav: NavgTableAtom
2024-06-30 20:43:49 +02:00
Krish
9596bf04a8 COMMON: FORMATS: Implement smhd atom parsing for QuickTime movies
This commit implements smhd (Sound Media Information Header Atom) parsing for QuickTime movies.
It defines the sound media’s control information, such as balance.
2024-06-30 20:43:49 +02:00
Krish
5d0c745783 COMMON: FORMATS: Implement WLOC atom parsing for QuickTime movies
This commit implements WLOC (Window Location) atom parsing for QuickTime movies.
It defines the default window location for the movie.
2024-06-30 20:43:49 +02:00
Krish
5e6b127a8c COMMON: FORMATS: Implement gmin atom parsing for QuickTime movies
This commit implements gmin (Base Media Info Atom) parsing for QuickTime movies.
It defines control information for the media, including graphics mode and balance.
2024-06-30 20:43:49 +02:00
Krish
d704b8e959 COMMON: FORMATS: Implement vmhd atom parsing for QuickTime movies
This commit implements vmhd (Video Media Information Header) atom parsing for QuickTime movies.
It contains information about the video track's graphics mode and opcolor.
2024-06-30 20:43:49 +02:00
Krish
fc34902998 COMMON: FORMATS: Implement pInf atom parsing for QuickTime movies
This commit implements pInf (Panorama Information) atom parsing for QuickTime movies.
It contains information about panoramic nodes (ID, timestamp) and the default node's zoom level.
2024-06-30 20:43:49 +02:00
Krish
4a180f94f5 COMMON: FORMATS: Implement ctyp atom parsing for QuickTime movies
This commit implements ctyp (Controller Type) atom parsing for QuickTime movies.
It identifies whether the movie is a panoramic movie or an object movie.
2024-06-30 20:43:49 +02:00
Krish
d4fa4dde30 COMMON: FORMATS: Implement NAVG atom parsing for QuickTime movies
This commit implements NAVG (Navigation) atom parsing for QuickTime movies.
It contains information about the movie's navigation.
2024-06-30 20:43:49 +02:00
Cameron Cawley
5b1b14ad80 COMMON: Mark more symbols as const 2023-12-26 20:23:59 +01:00
Le Philousophe
e0fd69bda0 COMMON: Make INIFile use Path 2023-12-24 13:19:25 +01:00
Le Philousophe
93a8f7f4d6 COMMON: Move Archive API to Path 2023-12-24 13:19:25 +01:00
sluicebox
9b59bea53b COMMON: Add INIFile::requireKeyValueDelimiter() 2023-12-14 16:45:32 +01:00
Eugene Sandulenko
f8a627c6c9
Revert "COMMON: Add a mode to the INI parser to ignore garbage in some files"
This reverts commit a2c3ea5701.
2023-12-14 16:43:56 +01:00
Eugene Sandulenko
61c734fcb4
Revert "COMMON: Fix strictParser interpretation to follow the intent"
This reverts commit 75e96d7070.
2023-12-14 16:43:41 +01:00
elasota
363330462b COMMON: Fix negation of unsigned integer warning 2023-12-11 23:07:20 +02:00
Eugene Sandulenko
75e96d7070
COMMON: Fix strictParser interpretation to follow the intent 2023-12-11 15:05:45 +01:00
never
a2c3ea5701 COMMON: Add a mode to the INI parser to ignore garbage in some files 2023-12-11 14:28:40 +01:00
Misty De Meo
6b8d8c3f4e COMMON: cue - fix implicit indices
If index 0 isn't specified, we need to be able to distinguish between
"this index has a value of 0" and "this index is missing". We now set
missing indices to -1 to help distinguish, and guard against using
a non-existent index in cases where it's not there.

Also fixes an off-by-one error in getTrackAtFrame exposed by this fix.
2023-12-03 20:58:36 +01:00
Misty De Meo
e8e5263bb1 COMMON: avoid inserting null tracks 2023-11-30 01:41:10 +01:00
Misty De Meo
1492866d59 COMMON: reorient cue around tracks 2023-11-30 01:41:10 +01:00
Matthew Duggan
e3f4117535 COMMON: Avoid Quicktime parsing crash on early EOF
In parseStream, atom.size is initailized to uint32 max.  If the loop in
readDefault then never executes because the stream has hit EOF, that size is
passed as-is to seek.  This can cause a crash eg in SeekableSubReadStream
because of an int overflow.

Change readDefault to return an error in a few places if we have hit eof before
a valid atom has been read.  It's ok not to do the seek in this case.
2023-11-18 21:03:02 +01:00
Matthew Jimenez
5f75054fde COMMON: Skip possible UTF-8 BOM when reading INI files 2023-11-18 20:20:56 +01:00
Eugene Sandulenko
6683a75954
COMMON: FORMATS: Pass image extensions to the user callbacks in Markdown 2023-10-31 01:58:55 +01:00
Eugene Sandulenko
5a30cb60aa
COMMON: FORMATS: Extend Markdown images with {} attributes 2023-10-31 01:57:57 +01:00
Kaloyan Chehlarski
fc0988fdfc COMMON: Allow IFF containers to have custom header IDs
The IFF format used in the Nancy Drew engine uses a
non-standard id that reads DATA instead of FORM, though
the rest of the format is identical. This commit allows such
nonstandard ids to be used without needing to massage the
data first.
2023-10-26 19:46:32 +03:00
D G Turner
781fabac28 COMMON: Fix Signed vs. Unsigned GCC Compiler Warning in Cue Sheet Parser
This should now be fixed irrespective of whether size_t is signed or not.
2023-10-15 20:37:16 +01:00