Commit Graph
177 Commits
Author SHA1 Message Date
Hubert Maier e2d1e88d6f TINSEL: Correct spelling mistake
aquire -> acquire
2022-10-27 15:57:30 +02:00
Einar Johan Trøan Sømåen afc09057ab TINSEL: Refactor Notebook and System reels to follow naming conventions 2022-06-10 23:12:34 +03:00
Einar Johan Trøan Sømåen 5b2a8fea37 TINSEL: Rename IsConvAndNotMove -> isConvAndNotMove 2022-06-10 23:12:34 +03:00
Einar Johan Trøan Sømåen 50eb3bb542 TINSEL: Rename the public methods in Dialogs to follow convention 2022-06-10 23:12:34 +03:00
Einar Johan Trøan Sømåen 5c409b4bbb TINSEL: Implement library function CROSSCLUE 2022-06-10 23:12:34 +03:00
Einar Johan Trøan Sømåen ec6835dac7 TINSEL: Implement Notebook logic for adding clues and showing pages. 2022-06-10 23:12:34 +03:00
Einar Johan Trøan Sømåen 51b2994659 Revert TINSEL refactors that happened too close to code freeze.
Revert "TINSEL: Fix int32 discrepancy"
- This reverts commit a640e6b489.

Revert "TINSEL: Refactor Notebook and System reels to follow naming conventions"
- This reverts commit 2cfc3b4ed2.

Revert "TINSEL: Rename IsConvAndNotMove -> isConvAndNotMove"
- This reverts commit 5ba099f408.

Revert "TINSEL: Rename the public methods in Dialogs to follow convention"
- This reverts commit 8ef52754a1.

Revert "TINSEL: Rename the private methods in Dialogs to follow convention"
- This reverts commit a3d0b5206b.

Revert "TINSEL: Add debug commands to add all clues, as well as listing them."
- This reverts commit fdfede64ca.

Revert "TINSEL: Implement pointer handling for Notebook"
- This reverts commit 195b04c9cf.

Revert "TINSEL: Implement polygon-handling for Notebook"
- This reverts commit 10cce703dc.

Revert "TINSEL: Add initial event support to Notebook."
- This reverts commit 61c94379cd.

Revert "TINSEL: Close Inventories when switching between them."
- This reverts commit 337aed1915.

Revert "TINSEL: Implement library function CROSSCLUE"
- This reverts commit 9519288acd.

Revert "TINSEL: Implement Notebook logic for adding clues and showing pages."
- This reverts commit 3580c17cc5.

Revert "TINSEL: Implement InventoryOrNotebookActive"
- This reverts commit 89aefb7794.

Revert "TINSEL: Minor style-fixes"
- This reverts commit e92fafb955.

Revert "TINSEL: Refactor IsInPolygon to be partially a member-function"
- This reverts commit fa7d448051.

Revert "TINSEL: Replace LockMem with GetFrame for FRAME"
- This reverts commit ec9c630fc5.

Revert "TINSEL: Replace LockMem with GetMultiInit for MULTI_INIT"
- This reverts commit fa8e3c506b.

Revert "TINSEL: Further refactor InventoryObjects"
- This reverts commit 1a2f18e421.
2022-05-27 19:55:36 +02:00
Einar Johan Trøan Sømåen 2cfc3b4ed2 TINSEL: Refactor Notebook and System reels to follow naming conventions 2022-05-27 10:39:56 +02:00
Einar Johan Trøan Sømåen 5ba099f408 TINSEL: Rename IsConvAndNotMove -> isConvAndNotMove 2022-05-27 10:29:38 +02:00
Einar Johan Trøan Sømåen 8ef52754a1 TINSEL: Rename the public methods in Dialogs to follow convention 2022-05-27 10:25:33 +02:00
Einar Johan Trøan Sømåen 9519288acd TINSEL: Implement library function CROSSCLUE 2022-05-26 21:49:16 +02:00
Einar Johan Trøan Sømåen 3580c17cc5 TINSEL: Implement Notebook logic for adding clues and showing pages. 2022-05-26 21:48:17 +02:00
Einar Johan Trøan Sømåen dd1ba7c85c TINSEL: Implement a container for accessing the INV_OBJECTs
This way we encapsulate the iteration, thus making sure that
the appropriate stride is used (Noir has more fields).
2022-05-11 08:59:07 +03:00
Einar Johan Trøan Sømåen 60ee470a88 TINSEL: Implement ADDINV3 (Noir) 2022-05-07 21:58:39 +02:00
Einar Johan Trøan Sømåen 102a90cfd9 TINSEL: Implement DECINV2 for NOIR 2022-05-07 21:57:34 +02:00
Einar Johan Trøan Sømåen 58fa9fa6da TINSEL: Implement WhichInventoryOpen for Noir. 2022-05-07 21:25:23 +02:00
Einar Johan Trøan Sømåen 492651b03a TINSEL: Stub Notebook-polygon functions 2022-05-07 21:24:47 +02:00
Einar Johan Trøan Sømåen b3dee3c147 TINSEL: Replace guarded MultiDeleteObject with MultiDeleteObjectIfExists
This behaves closer to how free() and delete works, in that it's a no-op
for nullptr. Also to be slightly safer, it will set the pointer to nullptr
afterwards.

The application is slightly indiscriminate, so a few extra nullptr
writes are added, even where the pointer would be immediately assigned
a new value afterwards.
2022-05-07 20:44:05 +03:00
Peter Kohaut 91e2436650 TINSEL: Parsing of cameras & lights 2022-05-07 12:30:52 +02:00
Torbjörn Andersson dac00652cb TINSEL: Add missing break to translateNoirLibCode() switch case
I assume it wasn't meant to be a fallthrough to an error.
2022-05-07 09:42:25 +02:00
Einar Johan Trøan Sømåen 8a5c567d7c TINSEL: Enable the language scene.
It depended on INVPLAY to be mapped.
2022-05-06 19:39:24 +02:00
Einar Johan Trøan Sømåen c101363240 TINSEL: Stub OPENNOTEBOOK (Noir) 2022-05-06 19:39:24 +02:00
Einar Johan Trøan Sømåen 2612eeebf6 TINSEL: Correct the mapping for ZZZZZZ (it has one argument) 2022-05-06 19:39:23 +02:00
Jakob Wagner 99c1ea5ea0 TINSEL: Implement DECINVMAIN libcall
DECINVMAIN does not hail the loadingscreen scene yet because playing
it produces an incorrect corotine stack.
2022-04-27 00:33:15 +03:00
Jakob Wagner b71545857b TINSEL: Remap special inv indexes for v3
V3 requires discerning between NOOBJECT and INV_NOICON as the values
associated to these special indexes now differ.
2022-04-27 00:33:15 +03:00
Jakob Wagner c44ec28e2b TINSEL: Implement SystemReel subsystem
Implementation of one special path in SetSystemReel is missing.
2022-04-27 00:33:15 +03:00
Jakob Wagner 70d1dbb00f TINSEL: Add barebones Notebook subsystem
And implement the BOOKADDHYPERLINK libcall.
The subsystem contains known fields and constants.
2022-04-27 00:33:15 +03:00
Jakob Wagner a40cc7053d TINSEL: Implement HELDOBJECTORTOPIC libcall 2022-04-27 00:33:15 +03:00
Jakob Wagner 165ec9cbae TINSEL: Replace TinselV3 checks with comparisons 2022-04-21 20:34:17 +03:00
Jakob Wagner 6b1dec7879 TINSEL: Replace TinselV1 checks with comparisons 2022-04-21 20:34:17 +03:00
Jakob Wagner 7fc6499264 TINSEL: Replace TinselV0 checks with comparisons 2022-04-21 20:34:17 +03:00
Jakob Wagner 67c3bce30e TINSEL: Replace TinselV2 checks with comparisons
Until now, the TinselV* defines were used for discerning between
engine versions. The define TinselV2 was true for both v2 and v3.
Sticking to the old scheme would lead to confusion when more
special paths for v3 are implemented.
2022-04-21 20:34:17 +03:00
Jakob Wagner ed780bc7a4 TINSEL: Add complete opcode mappings for v3
Stub INVENTORY3 and NOTEBOOKADDHYPERLINK libcodes.
This allows the game to reach the first scene when PCM playback is disabled.
Add warning messages when stubbed libcodes are executed.
2022-04-18 01:04:55 +01:00
Filippos Karapetis 42bc12a007 TINSEL: Remove superfluous V3 checks
TinselV2 already checks for V3
2022-01-16 13:20:40 +02:00
Filippos Karapetis e90b45b226 TINSEL: Remove superfluous (and a bit confusing) pointer typedefs
This helps align tinsel with our code and type formatting  guidelines
2022-01-16 13:20:40 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Peter Kohaut 25fa525969 TINSEL: Added base of Noir movers
Renamed rince.* files to movers to be more game independent.
Added elementary support for Noir movers which can use different logic.

Allows game to boot to the first interactive scene, but there is no 3D model rendered (that is WIP).
2021-08-08 20:15:18 +02:00
Peter Kohaut 19f6d4f7b5 TINSEL: Add more libcall mapping for Noir 2021-08-08 20:15:18 +02:00
Peter Kohaut afa37d775b TINSEL: Added more opcodes for Noir 2021-08-02 20:58:21 +02:00
Peter Kohaut e242a76694 TINSEL: Added Noir font rendering 2021-08-02 01:08:29 +02:00
LKramer 31265970bb TINSEL: Discworld Noir: Support for opcode 217. (#2988)
This adds support for opcode 217. I have made the assumption that it's
voiceover, and given it an enum value to reflect that. This enables
voiceover to be played in the opening movie.
2021-05-03 19:09:00 +02:00
Orgad Shaneh f835d1cebc TINSEL: Fix Clang warning
../scummvm/engines/tinsel/tinlib.cpp:1610:3: warning: variable 'playfield' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
                CORO_INVOKE_ARGS(PlayFilmc, (CORO_SUBCTX, hFilm, x, y, 0, false, false, myEscape != 0, myEscape, bTop, playfield));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../scummvm\common/coroutines.h:226:17: note: expanded from macro 'CORO_INVOKE_ARGS'
                        return; case __LINE__:; \
                                     ^~~~~~~~
<scratch space>:143:1: note: expanded from here
1610
^~~~
../scummvm/engines/tinsel/tinlib.cpp:1610:106: note: uninitialized use occurs here
                CORO_INVOKE_ARGS(PlayFilmc, (CORO_SUBCTX, hFilm, x, y, 0, false, false, myEscape != 0, myEscape, bTop, playfield));
                                                                                                                       ^~~~~~~~~
../scummvm\common/coroutines.h:222:12: note: expanded from macro 'CORO_INVOKE_ARGS'
                        subCoro ARGS; \
                                ^~~~
../scummvm/engines/tinsel/tinlib.cpp:1592:20: note: initialize the variable 'playfield' to silence this warning
        OBJECT** playfield;
                          ^
                           = nullptr
2021-03-24 01:11:12 +02:00
Einar Johan Trøan Sømåen 040ab7f68b TINSEL: Map STAND 2021-03-08 23:03:23 +01:00
Einar Johan Trøan Sømåen bb4ce21bb0 TINSEL: Map HAVE 2021-03-08 23:03:22 +01:00
Einar Johan Trøan Sømåen ae60814dde TINSEL: Map TALKVIA 2021-03-08 22:43:54 +01:00
Peter Kohaut 01b42e8357 TINSEL: Added video decoding for V3
Still no sound
2021-03-06 17:50:57 +01:00
Einar Johan Trøan Sømåen 32c4ee5588 TINSEL: Map POSTTAG 2021-03-06 15:04:52 +01:00
Einar Johan Trøan Sømåen 0876f73eaa TINSEL: Fix off-by-one in RANDOM logging 2021-03-06 13:29:52 +01:00
Einar Johan Trøan Sømåen c4fbd14b9e TINSEL: Map PRINTTAG 2021-03-06 13:28:27 +01:00
Einar Johan Trøan Sømåen 5b2c2637fc TINSEL: Map SHOWTAG 2021-03-06 13:26:30 +01:00