Commit Graph

468 Commits

Author SHA1 Message Date
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
Eugene Sandulenko
3bce81ac70 TESTS: Added test for String::chop() method 2023-09-17 00:56:28 +02:00
Matthew Jimenez
f6acb92dac ULTIMA8: Fix paint order issue for flat objects slightly inside walls.
This might need to be altered to check against center points.
2023-09-16 15:39:14 -05:00
Matthew Jimenez
182e82f7f2 ULTIMA8: Fix paint order issue in catacombs.
Cobweb is a non-solid transparent flat object that should draw after objects it intersects
2023-09-16 11:44:18 -05:00
Le Philousophe
3b4e8a4eea TEST: Add CxxTest ValueTraits for String
This allows pretty printing them when there is an assertion failure
2023-09-02 11:42:29 +02:00
Le Philousophe
154fab3952 TEST: Silence logs by default
Else tests on INI parser spam with expected warnings.
2023-09-02 11:42:29 +02:00
Le Philousophe
f41cf652eb TEST: Fix warnings 2023-08-30 13:41:34 +02:00
Le Philousophe
4a8cfd6d0b TEST: Fix missing include 2023-08-30 13:41:26 +02:00
Le Philousophe
509043aa92 TEST: Fix warning about signedness 2023-08-30 13:41:19 +02:00
Le Philousophe
cc2c04a8cd TEST: Don't build slow blending tests by default 2023-08-16 13:06:03 +02:00
Le Philousophe
c48512b1f2 TEST: Check supported instruction set before running tests 2023-08-16 13:06:03 +02:00
Le Philousophe
e801c1b437 TEST: Fix test when only blending tests are built
When all tests are built, encoding sets up the backend.
2023-08-16 13:06:03 +02:00
Le Philousophe
7cfa940a7a TEST: JANITORIAL: Fix indentation style 2023-08-16 13:06:03 +02:00
Cameron Cawley
5d58b7768c BACKENDS: Remove leftover code 2023-08-14 00:40:42 +02:00
Wyatt Radkiewicz
4fbde03866 ALL: blendBlitFrom exaclty matched TS::blit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
0961399727 ALL: blendBlitFrom prototype now matches TS::blit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
72c01fcdbe TEST: Remove unnessesary functions in blending.h 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
91b9c112b5 TEST: Put bitmap saving under ifdef in blending.h 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
df073eeed7 TEST: Added copyright header to blendBlitFrom test 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
41a942c5ce ALL: Renamed TS_ARGB to MS_ARGB 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
ad0c823f2f GRAPHICS: TransparentSurface scales in place
TransparentSurface now scales in place instead of making a copy. This
is much faster than before.
Also BlendBlit::blit now takes a scale offset parameter to help with
vary large images being cropped, otherwise people can leave it to 0.
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
a18332ab36 JANITORIAL: Touch up BlendBlit comments 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
e5bc2d696d TEST: Test for AVX2 BlendBlit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
e4c984cd3a BUILD: Configure flags for SIMD extensions
--enable-ext-neon
--enable-ext-sse2
--enable-ext-avx2
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
843d835641 TEST: Change blendFrom test 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
4f9739685a TEST: blendBlit test will now also test SSE2 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
c2c7ca0275 GRAPHICS: BlendBlit NEON blending modes coded 2023-08-13 00:22:10 +02:00