Commit Graph
51 Commits
Author SHA1 Message Date
Einar Johan Trøan Sømåen 9ebe1cd31b TINSEL: Replace LockMem with GetFrame for FRAME 2022-06-10 23:12:34 +03:00
Einar Johan Trøan Sømåen 72aa757d2c TINSEL: Replace LockMem with GetMultiInit for MULTI_INIT 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 ec9c630fc5 TINSEL: Replace LockMem with GetFrame for FRAME 2022-05-26 21:04:41 +02:00
Einar Johan Trøan Sømåen fa8e3c506b TINSEL: Replace LockMem with GetMultiInit for MULTI_INIT 2022-05-26 21:04:36 +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
Jakob Wagner 165ec9cbae TINSEL: Replace TinselV3 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
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
Filippos Karapetis 0221bc5c02 TINSEL: Refactor and simplify image handling
This allows us to merge different code paths for Tinsel V1 - V3 and
simplify the relevant code.

- Images are now obtained as a copy via GetImage(), which handles
  endianess internally
- The GetImageFromFilm() / GetImageFromReel() wrappers have been removed
- Direct setting of the image palette has been removed in favor of
  PokeInPalette(). This allows us to make image pointers const
- Struct packing has been removed from the IMAGE class, as we no
  longer cast raw data to image pointers
- There is now a single IMAGE class for all Tinsel versions
2022-01-09 17:07:46 +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 e59a470db3 TINSEL: Updated addional drawing routines for v3
Implemented playing of films of objects (not movies).
Fixed rendering of the main menu.
Increased the size of parameters of coroutines.
2021-03-04 20:45:32 +01:00
Filippos Karapetis 9c9fc0cf2b TINSEL: Reset more global vars upon engine destruction 2020-10-04 01:15:22 +03:00
Filippos Karapetis ae2e05cbd3 TINSEL: Move all handle-related functions into a new Handle class 2020-10-04 01:15:19 +03:00
Filippos Karapetis bb54f3cd4f TINSEL: Move all actor-related functions into a new Actor class
Also, merge the two different SetMoverZ() functions
2020-10-04 01:15:18 +03:00
Filippos Karapetis 63ae50e790 TINSEL: Replace usage of NULL with nullptr 2020-02-29 02:21:41 +02:00
Filippos Karapetis 64b750ab2e TINSEL: Move background related functions into a new Background class 2020-02-22 18:41:39 +02:00
Eugene Sandulenko 89890523c2 TINSEL: Guard against illegal memory writes 2016-05-31 17:12:18 +02:00
Johannes Schickel 9b138f4eb4 TINSEL: Make GPL headers consistent in themselves. 2014-02-18 02:39:39 +01:00
Filippos Karapetis b05fa7f204 TINSEL: Add resource handling of the BE resources in DW1 Mac
This is the second attempt. All the BE resources of DW1 Mac are
handled correctly now. Added READ_16, READ_32, FROM_16, FROM_32 and
TO_32 to handle all of the different cases where endianess is
already handled. Note that the game scripts are LE, so these
haven't been changed
2012-12-11 02:56:48 +02:00
Filippos Karapetis c6cf4827d7 TINSEL: Revert most of the engine BE resource handling code
This was added in commit 3fdddd53b2.
However, having handling for both BE and LE resource complicates
the engine code unnecessarily. Thus, a different approach will be
done.
2012-12-10 17:38:22 +02:00
Filippos Karapetis 3fdddd53b2 TINSEL: Start handling the BE resources of the Mac versions of DW1
Refer to bug #3110936

This is still work in progress, but it doesn't affect the rest
of the LE versions of DW1. Both the Mac demo and the full
version still crash. The music in the Mac version is skipped for
now, as it isn't MIDI
2012-12-01 21:53:33 +02:00
Paul Gilbert 41692ef48a TINSEL: Refactored Tinsel engine to use the Common coroutine scheduler 2012-05-17 20:42:23 +10:00
Alyssa Milburn be35baddc7 TINSEL: Rename globals to add g_ prefix. 2012-02-22 23:14:29 +01:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn 1dbf8d73d5 TINSEL: Mark all (?) global vars with a FIXME comment
Use of global vars is what prevents RTL from working in Tinsel (and
probably in other engines). More specifically, the fact that many
global vars are not explicitly inited when the engine is (re)launched.

svn-id: r54262
2010-11-16 09:53:55 +00:00
Johannes Schickel de3dd04005 Commit of the updated version of Fingolfin's patch for bug #2981788 "TINSEL: Build with -O2 broken".
svn-id: r48534
2010-04-05 07:22:34 +00:00
Max Horn 51933629d1 Changed foo(void) to foo() in almost all non-backend source files
svn-id: r45616
2009-11-02 21:54:57 +00:00
Max Horn 7d6e96fa80 TINSEL: Formatting cleanup, remove a dead var, tweaked comment to Get/SetNoBlocking
svn-id: r45450
2009-10-27 21:34:43 +00:00
Max Horn d19a831d29 TINSEL: Move ExtractActor from scn.* to play.*
svn-id: r45399
2009-10-26 10:40:35 +00:00
Max Horn f242266f6d Change a couple places from 'end of namespace' to 'End of namespace', for consistency
svn-id: r44634
2009-10-04 21:26:33 +00:00
Fabio Battaglia 43d38512f1 tinsel: remove the ugly psx l-space workaround, and instead add a check into PlayMidi for psx version
svn-id: r40884
2009-05-25 11:18:29 +00:00
Fabio Battaglia ffcf4173f3 tinsel: add PSX specific code to workaround the thief bug in past ankh-morpork, i still have to give a better look at this though
svn-id: r40882
2009-05-25 11:01:33 +00:00
Max Horn f9ecd95d69 Whitespace cleanup: Convert space followed by tab to just tab
svn-id: r39203
2009-03-07 19:24:31 +00:00
Joost Peters 6c1b9b6d95 Fix #2614150 - DW2: Repeating SFX that should stop/pause don't
svn-id: r38552
2009-02-19 17:40:13 +00:00
Joost Peters 25b7a42547 Handle endianness difference in RestoreActorReels() -- fixes bug 2569407 - DW2: Big Endian crash on loading saved game
svn-id: r36245
2009-02-07 12:55:39 +00:00
Joost Peters b89031b8d2 DW2/Tinsel2 endian fixes. Apart from some palette glitches the game is playable now.
svn-id: r36218
2009-02-04 19:52:00 +00:00
Joost Peters 9de91ecdea DW2 endian fixes
svn-id: r36216
2009-02-04 17:08:04 +00:00
Joost Peters 427e1471e7 t2PlayReel() endian fixes
svn-id: r36198
2009-02-02 14:54:08 +00:00
Joost Peters a0824205af some DW2 endian fixes
svn-id: r36058
2009-01-25 11:02:34 +00:00
Eugene Sandulenko 696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Joost Peters a93cf38f0b change PPINIT's bools to uint8 to fix crash on OSX (see revision 33285 - must've been accidentally undone by the
DW2 merge) 

svn-id: r35508
2008-12-23 21:17:04 +00:00
Paul Gilbert 5f9bbd3444 Bugfixes for text display and animations in DW1 demo
svn-id: r35333
2008-12-13 10:24:28 +00:00
Filippos Karapetis af945ac788 Merged the tinsel 2 engine with tinsel 1. Both Discworld 1 and Discworld 2 should be completable
svn-id: r35196
2008-12-01 20:35:36 +00:00
Joost Peters 71d40e23f5 change PPINIT struct to use ScummVM datatypes, so sizeof(PPINIT) is 28 on ppc/OSX as well.
svn-id: r33285
2008-07-25 10:20:05 +00:00
Max Horn 04985c8ac9 TINSEL: Got rid of PIMAGE, PINT_CONTEXT, PINV_OBJECT, PINV_DEF, PCONFBOX, PCONFINIT
svn-id: r33282
2008-07-25 09:19:06 +00:00
Max Horn 69dac1d4f2 Moved scheduler / process managment code into a new class Scheduler
svn-id: r33259
2008-07-24 08:59:17 +00:00
Max Horn 29a96430a0 TINSEL: Renamed CoroutineInstall back to ProcessCreate; got rid of yet another typedef; more cleanup
svn-id: r33249
2008-07-23 16:55:52 +00:00