18 Commits

Author SHA1 Message Date
Matthew Duggan
191e7c8180 ULTIMA8: Add simple unit tests for item sorting 2021-07-07 19:34:05 +09:00
Matthew Jimenez
c1b91890e5 ULTIMA8: Replace IDataSource and ODataSource with utility functions for common streams 2021-02-23 19:22:02 -06:00
Matthew Jimenez
7e8c5d46c0 ULTIMA8: Remove U8ODataSourceTestSuite 2021-02-21 16:11:23 -06:00
Matthew Duggan
c308fdcb59 TEST: Touch test file to force rebuild 2021-01-04 10:45:36 +09:00
Matthew Duggan
28bb304812 ULTIMA8: Graphics refactor, use more common code
Try to use more of the built-in ScummVM rendering pipeline and remove redundant
types where possible.  Unfortunately this is a bit of a mega-commit because all
the pieces were tied together, but the main changes are:

* Remove the Texture types, as they add little over ManagedSurface
* Remove the ScalerGump as we no longer use it - we should be using the
  built-in ScummVM scalers
* Remove the Scaler types - the only remaining user after removing ScalerGump
  was in hte AVI player.  There we manually add the Crusader style interlaced
  scaling, which was an outstanding TODO anyway.
* Remove now-unused functions from the RenderSurface family
* Remove the "default" mouse cursor as we never use it in ScummVM
* Remove the memset_n header which duplicates Common::Fill functions (fixes
  #11969)
* Remove the fixed-width bitmap fonts which were used for the Pentagram
  console.

I've tested the following things that this had the potential to break:

* U8 game, credits, movies, minimap, and ttf rendering
* Crusader game and movies
* Debug tools (shape viewer, touch-highlight)
2021-01-04 09:08:20 +09:00
Matthew Duggan
a70153fdd0 ULTIMA8: Add smooth Crusader turning. 2021-01-01 15:07:37 +09:00
Matthew Duggan
4f7881fe8a TEST: Add direction util tests for U8 2020-12-27 16:44:44 +09:00
Matthew Duggan
eeb2d2cf1f ULTIMA8: Fix unit tests 2020-06-17 18:29:47 +09:00
Matthew Duggan
cecedb4f37 ULTIMA8: Refactor DataSources to inherit from Common::Streams 2020-04-11 17:05:40 +09:00
Matthew Duggan
4161cab9ba ULTIMA8: Update unit tests for function renames 2020-04-04 17:45:36 +09:00
Matthew Duggan
8c3ebe9af4 ULTIMA8: Correct Box.InBox boundary conditions
The boundary conditions were reversed in Box.Inbox when compared with
Box.Overlaps.  Since InBox is not being used and Overlaps is, I went with the
definitions from Overlaps. Also configured unit tests to exercise this
behavior.
2020-03-25 22:38:26 +09:00
Paul Gilbert
b5af8110ba ULTIMA8: Disable unit test for CRLF file handling 2020-03-08 10:35:57 -07:00
Matthew Duggan
c99de06915 ULTIMA8: Add unit tests for IBufferDataSource 2020-03-04 19:03:25 -08:00
Matthew Duggan
896d281ddc ULTIMA8: Free the correct pointer in ~OAutoBufferDataSource
Also add a unit test for the class to make sure the problem
is fixed.
2020-03-02 11:12:22 +02:00
Matthew Duggan
d058083888 ULTIMA8: Add some unit tests for base U8 classes 2020-02-29 16:29:33 -08:00
Tobia Tesan
72376681af WINTERMUTE: Try to "correctly" handle dir paths
I put scare quotes around "correctly" because I can't swear this is the
intended behaviour of the original interpreter.

I don't think accessing filenames that end with / in the .DCPs is even
defined behaviour, so this is a best guess.
2016-12-26 12:05:41 +01:00
Tobia Tesan
9339490236 WINTERMUTE: only access -1th char of string if length > 0 in getFileName
Fixes #6594
2016-12-26 12:02:56 +01:00
Tobia Tesan
e3fdd8d5fe WINTERMUTE: Add tests for engines/wintermute/path_utils.h 2016-12-26 10:41:48 +01:00