Commit Graph

494 Commits

Author SHA1 Message Date
athrxx
c9c061b84e TEST: fix rendermodes test 2024-08-06 08:47:25 +03:00
elasota
8f9c2359e0 TEST: Add Array emplace and move semantic push_back tests 2024-08-05 09:57:40 +03:00
Cameron Cawley
08010fa185 COMMON: Return an iterator for List::insert 2024-07-30 13:29:18 +03:00
Cameron Cawley
421cb1f087 COMMON: Rename common/math.h to common/intrinsics.h 2024-07-27 14:00:48 +03:00
Cameron Cawley
89c57d29ef COMMON: Move more maths functions into the Math namespace 2024-07-27 14:00:48 +03:00
Paul Gilbert
ec9869b253 TESTS: Move huffman.h into new compression/ subfolder 2024-07-15 02:56:12 +02:00
Paul Gilbert
3d71d8e08c COMMON: Move huffman.h to common/compression/ 2024-07-15 02:56:12 +02:00
Cameron Cawley
4147874314 TESTS: Add a test for erasing array ranges 2024-07-08 17:11:34 +01:00
Le Philousophe
a42f03643c TESTS: Fix malloc/delete discrepancy 2024-06-23 16:06:16 +02:00
Le Philousophe
b930232e6d COMMON: Punyencode path if it's already encoded.
This allows to have puny-encoded folders on disk and use them without
seeing them decoded by ScummVM like if they were encoded by us.
2024-06-15 02:07:38 +02:00
Matthew Jimenez
19ff828351 TESTS: Remove obsolete ultima util test cases 2024-06-04 23:31:09 -05:00
Le Philousophe
b8e08ff2a0 COMMON: Fix Path::baseName
When baseName was called with a base name path but escaped, unescape was
called with the escaping marker while this is not allowed.
2024-05-19 21:18:34 +02:00
Le Philousophe
c30b68115a TESTS: Abort runner when error is called
By default null backend exits with 0 error code.
2024-05-19 21:17:31 +02:00
Hubert Maier
ec863ad4ba JANITORIAL: Fix lenght typo in algorithm.h 2024-05-18 13:52:31 +02:00
Eugene Sandulenko
6c0864dd81
TESTS: Fix Base64 test 2024-05-12 23:26:20 +02:00
Little Cat
267bfc9d03 COMMON: Base64 string validation. 2024-05-12 15:08:27 +02:00
Little Cat
6b80c4c581 COMMON: Add Base64 encoding/decoding 2024-05-12 15:08:27 +02:00
Le Philousophe
aceaf99816 COMMON: Fix bug #14892
When both paths were equal, suffix was incremented one char too much and
went off the string.
Add test cases to check for this.
2024-02-02 08:06:59 +01:00
Le Philousophe
5b4e26322e COMMON: Don't fail when comparing empty strings
Add tests for this.
2024-01-14 14:06:41 +01:00
Cameron Cawley
0a4fec83c0 COMMON: Improve removing characters from strings 2024-01-08 23:39:22 +01:00
Cameron Cawley
a8183c7734 COMMON: Insert all characters in one go with String::insertString() 2024-01-08 23:39:22 +01:00
Cameron Cawley
4abc229268 COMMON: Unify implementations of String::replace() 2024-01-08 23:39:22 +01:00
Le Philousophe
eeba7ca153 COMMON: Add more path functions 2023-12-24 13:19:25 +01:00
Le Philousophe
be7130f296 COMMON: Rework path storage 2023-12-24 13:19:25 +01:00
Le Philousophe
52a27d3b0a TEST: Don't build Ultima 1 or 8 tests when subengine is not built 2023-12-04 08:07:03 +01:00
Matthew Duggan
ce76f5b8cf COMMON: Add basic tests for quicktime parser 2023-11-18 21:03:02 +01:00
Cameron Cawley
953772ba99 COMMON: Rename memset2/4/8 to memset16/32/64 2023-11-06 13:40:38 +02:00
Cameron Cawley
ac2d99ee9b COMMON: Add variants of memset for 16-bit, 32-bit and 64-bit values 2023-11-06 13:40:38 +02:00
Eugene Sandulenko
eae2fbeb4f
TESTS: Remove tests for transparent_surface.h 2023-10-29 01:41:29 +02:00
Matthew Jimenez
757e8343b7 UTLIMA8: Found test case to support the partial in front rule.
The rules that temporarily replaced this rule appear to only work well for x & y flats
2023-10-04 15:36:12 -05:00
Matthew Jimenez
4c1f8dfc59 ULTIMA8: Check x & y flat rules before z flat rules. 2023-10-04 15:36:12 -05:00
Matthew Jimenez
4d1ec7ff2b ULTIMA8: Undo sort item bounds inclusive of right screenspace edge.
This caused too many paint dependency cycles in current code.
2023-10-03 23:09:48 -05:00
Matthew Jimenez
f19a339c84 ULTIMA8: Fix sort item bounds to be inclusive of right and botton screenspace edges.
This fixes a flickering render issue where bounds did not properly check overlaps previously
2023-10-02 18:47:32 -05:00
Matthew Jimenez
478f821b7f ULTIMA8: Improve tolerance check when comparing Z in sort item.
Updated unit test with a better test case & solves a paint dependecy cycle.
2023-10-01 21:30:26 -05:00
Matthew Jimenez
c089416b38 ULTIMA8: Fix paint order of tapestry items to match original game.
Switching to screenspace checks may change order for items we have not tested, but may also be correct now.
2023-10-01 15:00:21 -05:00
Matthew Jimenez
ad8fee8fde ULTIMA8: Add unit test for sort item overlaps 2023-09-30 15:59:28 -05:00
Matthew Jimenez
8ad443bfb7 ULTIMA8: Update sort item tests to use multiples of footpad calculations. 2023-09-30 13:45:21 -05:00
Matthew Jimenez
0d0555bd14 ULTIMA8: Add tolerance when comparing Z in sort item.
X & Y flats are often offset below the top of the floor they sit on but by less than the multiplier used when calculating the footpad
2023-09-29 23:02:03 -05:00
Matthew Jimenez
b21876bd9d ULTIMA8: Move sort item calculations to setBoxBounds 2023-09-29 18:11:42 -05:00
Matthew Jimenez
3bd21ab50c ULTIMA8: Add more sort item tests and fixes for flat items 2023-09-29 17:27:23 -05:00
Matthew Jimenez
fa491cb998 ULTIMA8: Update sort item test to use actual position instead of reduced values. 2023-09-29 17:27:22 -05:00
Matthew Jimenez
88656e757c ULTIMA8: Adjust flat item rules based on more examples at map 37 2023-09-27 21:33:40 -05:00
Matthew Jimenez
cd1fb3d80b ULTIMA8: Enable y-flat sort test with a better test and an exception for non-fixed items 2023-09-27 21:33:40 -05:00
Matthew Jimenez
24c75479d7 ULTIMA8: Revert screenspace calculation changes.
Precision loss from integer division is intention and switch back to calculation prior to 7fe6e2ec
2023-09-27 21:33:40 -05:00
Matthew Jimenez
1e7bad99a9 ULTIMA8: Add sort item test for inconsistent sceenspace position.
The original game may have been more lossy when translating worldspace position to screenspace.
2023-09-26 22:39:14 -05:00
Matthew Jimenez
e3ac8447d1 ULTIMA8: Fix incorrect assignment in sort item test 2023-09-26 22:39:13 -05:00
Matthew Jimenez
888f1c6154 ULTIMA8: Fix tests for sort item to use bounds that properly overlap 2023-09-22 23:57:36 -05:00
Matthew Jimenez
e7a8def252 ULTIMA8: Fix paint order issue for flat objects in center of wall.
Misplaced item was not visible in original game but caused a paint dependency loop by our ruleset.
2023-09-22 16:07:44 -05:00
Matthew Jimenez
5677fcab43 ULTIMA8: Fix roof draws first rule & clarify rule on different test
Additional roof test documents altered behavior from orginal game & leaves opportunity to match orginal in the future if desired
2023-09-20 18:26:02 -05:00
Matthew Jimenez
a3833a98b9 ULTIMA8: Fix box isEmpty and add extend method.
Extend might be used to improve occlusion in item sorter by switching floor tiles together.
2023-09-18 18:47:21 -05:00