Commit graph

155 commits

Author SHA1 Message Date
Nathanael Gentry
0658576196 MEDIASTATION: Make path playback non-blocking 2025-03-25 19:26:27 -04:00
Nathanael Gentry
61859559cd MEDIASTATION: Allow movies to move under script control
In Dalmatians 185.CXT, the soot "cursor" is a movie, not a
sprite as with the other larger cursors in Dalmatians.
2025-03-25 19:26:27 -04:00
Nathanael Gentry
d6a62221a6 MEDIASTATION: Permit scripts to coerce some types 2025-03-25 19:26:27 -04:00
Nathanael Gentry
ca95c3596c MEDIASTATION: Don't release contexts too early 2025-03-25 18:21:36 -04:00
Nathanael Gentry
97ea2d6504 MEDIASTATION: Stub Unk1 document method 2025-03-25 18:21:36 -04:00
Nathanael Gentry
84517ad6cb MEDIASTATION: Implement collection script methods 2025-03-25 18:21:36 -04:00
Nathanael Gentry
9d717b633d MEDIASTATION: Support referencing functions in variables 2025-03-13 18:54:03 -04:00
Nathanael Gentry
4d620f729a MEDIASTATION: Stub another transition type
And downgrade unknown transition types to warnings, rather than errors.
2025-03-13 18:54:03 -04:00
Nathanael Gentry
c3b9cad220 MEDIASTATION: Fix hotspot refresh recursion in scripts 2025-03-13 18:54:03 -04:00
Nathanael Gentry
3421caee82 MEDIASTATION: Make local script vars accessible to sub-chunks 2025-03-13 18:54:03 -04:00
Nathanael Gentry
09bbc7e798 MEDIASTATION: Let sprites & images move under script control 2025-03-13 18:54:03 -04:00
Nathanael Gentry
5e51f63e86 MEDIASTATION: Show first sprite frames properly 2025-03-13 18:54:02 -04:00
Nathanael Gentry
19e086fb0c MEDIASTATION: Implement sprite frame mapping field
This allows scripts to manually set a frame in the sprite.
2025-03-13 18:54:02 -04:00
Nathanael Gentry
55dd27e3d0 MEDIASTATION: Support integer-double comparisons in scripts 2025-03-03 20:40:03 -05:00
Nathanael Gentry
0194a33717 MEDIASTATION: Rename variable 2025-03-03 20:40:03 -05:00
Nathanael Gentry
964830b570 MEDIASTATION: Remove unused declaration and assignment 2025-03-03 20:39:20 -05:00
Nathanael Gentry
4211ca99ca MEDIASTATION: Clean up defaulted constructors 2025-03-03 20:24:07 -05:00
Nathanael Gentry
ee7386c5eb MEDIASTATION: JANITORIAL: Clean up some comments 2025-03-03 20:19:00 -05:00
Nathanael Gentry
1d091a3a68 MEDIASTATION: More consistently debug-print script types 2025-03-03 20:19:00 -05:00
Nathanael Gentry
e168ba0f84 MEDIASTATION: Fix returning values from scripts 2025-03-03 20:19:00 -05:00
Nathanael Gentry
225b002cc0 MEDIASTATION: Combine ContextParameters with Context 2025-03-03 20:19:00 -05:00
Nathanael Gentry
f9d1c4ad45 MEDIASTATION: Don't error when script variable already exists 2025-03-03 20:18:29 -05:00
Nathanael Gentry
11c350a82d MEDIASTATION: Delimit end of event handler code in debug output 2025-03-03 20:10:12 -05:00
Nathanael Gentry
0981f20652 MEDIASTATION: Make sprites play at correct rate 2025-02-22 22:35:59 -05:00
Nathanael Gentry
f8e81c3110 MEDIASTATION: Clear hashmap upon Boot destruction 2025-02-22 22:21:34 -05:00
Nathanael Gentry
67f534232c MEDIASTATION: Add virtual keywords and overrides for bitmaps/headers 2025-02-22 22:21:34 -05:00
Nathanael Gentry
f60689d434 MEDIASTATION: Fix audio memory leaks due to not freeing buffer 2025-02-22 21:05:25 -05:00
Nathanael Gentry
d3ecb2f91a MEDIASTATION: Fix movie persistence 2025-02-22 21:05:25 -05:00
Nathanael Gentry
7c0ab8b057 MEDIASTATION: Support assets that reference other assets' data 2025-02-22 21:05:25 -05:00
Nathanael Gentry
bde64478bf MEDIASTATION: JANITORIAL: Fix whitespace 2025-02-22 21:05:25 -05:00
Nathanael Gentry
3a927052fb MEDIASTATION: Add config option to start at arbitrary game screen 2025-02-22 20:09:19 -05:00
Nathanael Gentry
361996787d MEDIASTATION: Refactor file/stream handling classes
They are moved inside a single source unit, and the
rather messy implementation of Chunk is somewhat
cleaned up. Some hacks for chunk handling are left in
for now, but they should be addressed in the future.
2025-02-22 20:09:19 -05:00
Nathanael Gentry
ddb8e9e244 MEDIASTATION: Implement isActive script method on hotspots & sprites 2025-02-15 15:10:52 -05:00
Nathanael Gentry
c6f4f45484 MEDIASTATION: Stub unknown context section
This is so the first story screen of Dalmatians can load.
2025-02-15 15:10:52 -05:00
Nathanael Gentry
dfca86df33 MEDIASTATION: Fix sounds repeating when they shouldn't 2025-02-15 15:10:52 -05:00
Nathanael Gentry
b764d1d3a0 MEDIASTATION: Add initial cursor handlng 2025-02-15 15:10:52 -05:00
Nathanael Gentry
8093f55654 MEDIASTATION: Add executables to detection
This is needed to get the name of the executable
where we need to get game cursors. This executable
name is different for every game, and some cursors
are different between Macintosh and Windows versions.

Since these cursors are being loaded from the Windows/Mac
executable resources and not some hardcoded offsets, it was
judged best to just add the executables to the detection rather
than hardcoding all the different cursors we'd need.

The Macintosh version of 101 Dalmatians is added to the detection,
to provide a basic test of the planned Macintosh cursor handling.
Macintosh versions of many other titles exist and should be
added later.
2025-02-15 15:10:52 -05:00
Nathanael Gentry
8faa86f132 MEDIASTATION: Clean up detection entries 2025-02-15 15:10:52 -05:00
Nathanael Gentry
50ad6a3972 MEDIASTATION: Associate context references with correct context
This also means we don't need the hacky function to find
the root context, since all contexts will now load it as
a child context.
2025-02-15 15:10:52 -05:00
Nathanael Gentry
f5b1241869 MEDIASTATION: Make screen branching more correct 2025-02-15 15:10:52 -05:00
eientei95
c51aa97573 MEDIASTATION: Fix lionking 2.0GB copy-paste mistake 2025-02-10 21:13:09 -05:00
Nathanael Gentry
17bd61d413 MEDIASTATION: Properly deactivate hotspots when mouse is moved outside any hotspot 2025-02-02 11:52:05 -05:00
Nathanael Gentry
a2a06746ca MEDIASTATION: Store variable bools internally as ints
Since the Operand doesn't have a separate type for bools anyway.
2025-02-02 11:52:05 -05:00
Nathanael Gentry
b4b4568dec MEDIASTATION: Make movies & sprites render more properly 2025-02-02 11:52:05 -05:00
Nathanael Gentry
85e8bfa7a3 MEDIASTATION: Allow stopping sounds once started 2025-02-02 11:52:05 -05:00
Nathanael Gentry
73e5a7bbe3 MEDIASTATION: Move to dirty rectangles-based drawing 2025-02-02 11:52:05 -05:00
Nathanael Gentry
142460fcb2 MEDIASTATION: Stub out more script methods 2025-01-26 14:29:06 -05:00
Nathanael Gentry
8e37b9a596 MEDIASTATION: Implement hotspot enter/exit handling logic 2025-01-26 14:29:06 -05:00
Nathanael Gentry
ca602eabc2 MEDIASTATION: Clean up Sound asset 2025-01-26 14:29:06 -05:00
Nathanael Gentry
19eb4a84a6 MEDIASTATION: Centralize time event hander processing 2025-01-26 14:29:06 -05:00