Commit graph

155 commits

Author SHA1 Message Date
Nathanael Gentry
6b8e9a6703 MEDIASTATION: Make script debug output a bit more understandable 2025-01-11 18:17:52 -05:00
Nathanael Gentry
fd4d85ecd0 MEDIASTATION: Provide a more descriptive error message if we get an empty operand 2025-01-11 18:12:15 -05:00
Nathanael Gentry
edce7ea0e3 MEDIASTATION: Implement >= operator for operands 2025-01-11 17:53:09 -05:00
Nathanael Gentry
81dda73b58 MEDIASTATION: Stub out mystery IBM/Crayola "drawing" function 2025-01-11 17:48:00 -05:00
Nathanael Gentry
e626719453 MEDIASTATION: Implement equality testing between operands.
Also imlemented here is a getLiteralValue method that dereferences and variable reference, so we can do equality and other comparisons directly.
2025-01-11 17:09:28 -05:00
Nathanael Gentry
6b493efa04 MEDIASTATION: Upgrade finding an unknown variable type to an error
I am pretty confident all the variable types are found now, so I anything else popping up likely indicates a bug.
2025-01-11 17:05:44 -05:00
Nathanael Gentry
75ab2558bf MEDIASTATION: Remove unused forward declaration 2025-01-11 17:03:08 -05:00
Nathanael Gentry
3449bd24dd MEDIASTATION: Implement way to get an Operand out of variables 2025-01-11 17:01:19 -05:00
Nathanael Gentry
90201d267d MEDIASTATION: Add basic if/else branching
The major item incomplete here is that the if and else code chunks don't get the local variables or parameters from the function-level code chunk. But this at least lets the conditional blocks execute.
2025-01-11 16:43:49 -05:00
Nathanael Gentry
27ffa9c6c9 MEDIASTATION: Remove now-irrelevant comment
The problem I was writing about in the comment has since been somewhat addressed.
2025-01-11 15:24:35 -05:00
Nathanael Gentry
79e443c9bd MEDIASTATION: Stub out text hide/show methods 2025-01-11 15:23:42 -05:00
Nathanael Gentry
681fbe53b2 MEDIASTATION: Partially implement calling methods through variables 2025-01-11 13:27:14 -05:00
Nathanael Gentry
07d1b38ab7 MEDIASTATION: Implement reading string operand 2025-01-11 12:45:56 -05:00
Nathanael Gentry
3ea63df349 MEDIASTATION: Partially implement Unk2 opcode 2025-01-11 12:45:56 -05:00
Nathanael Gentry
29cf835042 MEDIASTATION: Explain setting sprite frame rate to 10 2025-01-11 12:45:56 -05:00
Nathanael Gentry
d0fc75d86e MEDIASTATION: Add debug statements to Sound chunk reading 2025-01-11 12:45:56 -05:00
Nathanael Gentry
74be424053 MEDIASTATION: Fix off-by-one bug in Sound chunk reading
The previous code wasn't respecting the priming read, so we tried to read 1 too many chunks.
2025-01-11 12:45:56 -05:00
Nathanael Gentry
4edb0751df MEDIASTATION: Remove unused warning code in Sound 2025-01-11 12:45:56 -05:00
Nathanael Gentry
d9acff937a MEDIASTATION: Read the mouse active polygon as a point array 2025-01-11 12:45:56 -05:00
Nathanael Gentry
0aaa1a4f28 MEDIASTATION: Stub out Text asset 2025-01-11 12:45:56 -05:00
Nathanael Gentry
6c7f1e8831 MEDIASTATION: Stub out Font asset 2025-01-11 12:45:56 -05:00
Nathanael Gentry
d56082609c MEDIASTATION: Remove unnecessary parentheses 2025-01-11 12:45:56 -05:00
Nathanael Gentry
9894eb2206 MEDIASTATION: Add two missing asset header sections 2025-01-10 21:02:54 -05:00
Nathanael Gentry
4629bdc52a MEDIASTATION: Implement hotspot mouse methods 2025-01-10 20:41:35 -05:00
Nathanael Gentry
866016a76a MEDIASTATION: Respect startup visibility for hotspots 2025-01-10 20:41:35 -05:00
Nathanael Gentry
c5f0676fce MEDIASTATION: Handle mousedown and keydown events 2025-01-10 20:41:35 -05:00
Nathanael Gentry
e23ac28e4a MEDIASTATION: Make the Screen an asset, as in the original 2025-01-10 20:41:35 -05:00
Nathanael Gentry
24dc49e493 MEDIASTATION: Print stream position on subfile read error 2025-01-10 20:41:35 -05:00
Nathanael Gentry
40b1999af8 MEDIASTATION: Allow built-in script functions to be operands.
This is necessary for supporting a couple methods that can be called on collections, most notably send(), which is not implemented yet.
2025-01-10 20:41:35 -05:00
Nathanael Gentry
ae7d4d5715 MEDIASTATION: Correctly print event handler ASCII code in debug statement 2025-01-10 20:41:35 -05:00
Cameron Cawley
67b3afc853 MEDIASTATION: Make use of simpleBlitFrom 2025-01-08 09:13:44 +02:00
Nathanael Gentry
f6bec93688 MEDIASTATION: Make script routine callers use enums
Rather than passing uints and casting at the last moment.
2025-01-07 21:33:15 -05:00
Nathanael Gentry
e6de46e25d MEDIASTATION: Implement branchToScreen script method 2025-01-07 21:33:15 -05:00
Nathanael Gentry
8bca0172d7 MEDIASTATION: Remove duplicate chunk count field 2025-01-07 21:33:15 -05:00
Nathanael Gentry
fb303a7871 MEDIASTATION: Skip reading variable ID for collection members 2025-01-05 15:27:58 -05:00
Nathanael Gentry
8702bb4039 MEDIASTATION: Remove unused context play method 2025-01-05 14:37:48 -05:00
Nathanael Gentry
c96f974ae0 MEDIASTATION: Remove unused includes and forward declarations 2025-01-05 14:37:48 -05:00
Nathanael Gentry
8b8a0157bd MEDIASTATION: Centralize event handler execution in Asset class 2025-01-05 14:37:48 -05:00
Nathanael Gentry
b0e7c4569f MEDIASTATION: Make the asset z-index signed
Apparently in some instances it can be negative!
2025-01-05 14:37:48 -05:00
Nathanael Gentry
6b2e79a993 MEDIASTATION: Make the root context a class member 2025-01-05 14:37:48 -05:00
Nathanael Gentry
b9e1685d2a MEDIASTATION: Add missed enum cast 2025-01-05 14:37:48 -05:00
Nathanael Gentry
8492662279 MEDIASTATION: Static cast enum values printed as integers 2025-01-04 18:15:58 -05:00
Nathanael Gentry
609bb913c3 MEDIASTATION: Make sure class member names start with "_" 2025-01-04 18:15:58 -05:00
Nathanael Gentry
3f80111cc4 MEDIASTATION: Fix variable names not using camelCase. 2025-01-04 18:15:58 -05:00
Nathanael Gentry
e6186152a5 MEDIASTATION: Relocate header include guards
They are moved before the include directives, as is proper :)
2025-01-04 18:15:58 -05:00
Nathanael Gentry
5b157f5357 MEDIASTATION: Fix unused varable compiler warnings 2025-01-04 18:15:58 -05:00
Nathanael Gentry
7c56d35e77 MEDIASTATION: Fix more format GCC compiler warnings 2025-01-04 18:15:58 -05:00
Nathanael Gentry
21a9c4e91e MEDIASTATION: Convert enum classes to pure enums
This is much simpler and also addresses the recent GCC format compiler warnings.
2025-01-04 18:15:58 -05:00
Nathanael Gentry
ce83118549 MEDIASTATION: Find game files when they are in the data subdirectory.
Without this, the new detection tables cannot find any files when the root game directory is passed in, which is necessary in future to get the game executable too for cursor extraction.
2025-01-01 21:45:57 -05:00
Nathanael Gentry
0f472a9b59 MEDIASTATION: Add detection for known titles (US English only).
There are lots of other localizations of these titles that are known, but all titles seem to have a US English localization.
2025-01-01 21:45:57 -05:00