Commit graph

499 commits

Author SHA1 Message Date
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
Wyatt Radkiewicz
9ad04f8000 GRAPHICS: Optimize BLEND_NORMAL on NEON 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
eebadf4495 GRAPHICS: Optimize alpha blend NEON and Generic
I optimized the NEON and Generic paths for ManagedSurface::blendBlitFrom
and the new TransparentSurface::blit. Now (on arm), the new blit function
matches the speed of the old blit function even with the added
inderections that the runtime extension detection code adds in.

Other than that, I made a benchmark for this code and you can make it
using this command:
CFLAGS="-DTEST_BLEND_SPEED" make test

I reverted wii to not use altivec anymore since it doesn't.

I also removed graphics/blit-neon.cpp from graphics/module.mk because
simply including the .cpp file in graphics/blit-alpha.cpp was a better
option because then I didn't need to instantiate every version of the
templates that I needed.
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
d039a8570e TEST: Add test for ManagedSurface::blendBlitFrom 2023-08-13 00:22:10 +02:00
Cameron Cawley
d8cca29783 BACKENDS: Allow filling part of the screen with OSystem::fillScreen 2023-08-06 23:03:46 +02:00
Le Philousophe
f34bef6840 COMMON: Add normalization to Path class 2023-07-09 21:41:58 +02:00
grisenti
661e9373e3 TEST: Add tests for Common::upperBound 2023-06-01 23:07:41 +02:00
grisenti
1a696c1d6f TEST: Add tests for Common::lowerBound 2023-06-01 23:06:39 +02:00
hax0kartik
4924a35540 TEST: Add more testcases for Common::remove() 2023-06-01 16:32:03 +02:00
hax0kartik
698bb261d1 COMMON: Add remove() to algorithm 2023-06-01 16:32:03 +02:00
Eugene Sandulenko
0f3424be05
TESTS: Rename clashing global variables 2023-05-15 14:32:29 +02:00
elasota
f30ab9b70f TEST: Add test for comment prefixed by whitespace. 2023-05-11 00:22:14 +03:00
hax0kartik
0c9e17c57c TESTS: Add U32String::replace() tests 2023-02-27 22:01:13 +01:00
D G Turner
de16ed814b TEST: Fix Misleading Indentation GCC Compiler Warnings in Common::Crc tests 2023-02-20 01:49:57 +00:00
Matthew Jimenez
1c159c0c59 ULTIMA8: Change sort item constructor to not include next pointer 2023-02-14 18:25:45 -06:00
Matthew Jimenez
5ce54293a8 ULTIMA8: Add test case for rendering issue where transparent rule should not apply 2023-02-07 18:11:38 -06:00
Matthew Jimenez
4ff10c5256 ULTIMA8: Add test case for inventory item sort rule 2023-01-28 18:06:07 -06:00
Matthew Jimenez
65b725c12a ULTIMA8: Add sprite rule to sort item listLessThan to fix rendering bug 2023-01-28 08:08:13 -06:00
Matthew Jimenez
3cafae9398 ULTIMA8: Fix sort item hidden easter egg item and test 2023-01-27 17:55:23 -06:00
Matthew Jimenez
f1d6ad795a ULTIMA8: Use shape frame screen rect in sort item occludes and overlaps checks in addition to world box. Fixes #14039 2023-01-26 18:53:01 -06:00