Commit Graph

407 Commits

Author SHA1 Message Date
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
Matthew Jimenez
5935499ff1 ULTIMA8: update all sort item tests to set box bounds 2023-01-26 18:53:01 -06:00
Matthew Jimenez
62b4aec959 ULTIMA8: Use box struct to set bounds of sort items 2023-01-26 18:53:01 -06:00
Matthew Jimenez
71bf75783d ULTIMA8: Replace sort item screenspace coords with rect 2023-01-26 18:53:01 -06:00
Matthew Jimenez
6e3a288d93 ULTIMA8: Add contains point method for sort items 2023-01-26 18:53:01 -06:00
Matthew Jimenez
eb5a079fd3 ULTIMA8: Fix item sorter dependency graph cycle and add test 2023-01-24 22:59:25 -06:00
Matthew Jimenez
e813af901f ULTIMA8: Remove x & y flat checks that introduced bugs 2023-01-24 21:18:23 -06:00
Matthew Jimenez
edd82bb8e8 ULTIMA8: Additional item sort rules and test.
This also fixes #14035
2023-01-22 11:42:04 -06:00
Matthew Jimenez
2e11704ed9 ULTIMA8: Update box struct better match rect methods 2023-01-18 21:54:41 -06:00
Matthew Jimenez
00583aa7f5 ULTIMA8: Add basic test for sort item occludes 2023-01-17 23:19:09 -06:00
Matthew Duggan
eba2fb9b5f MATH: Add ray triangle intersection and tests 2023-01-16 17:36:43 +01:00
Matthew Jimenez
5d13b0831b ULTIMA8: Add item sort rules for land and roof.
This fixes Pentagram bug #276.
2023-01-13 18:57:58 -06:00
Matthew Duggan
c53b42311d COMMON: Fix path split+join combinations, add tests for same
This resolves multiple scenarios where a path ends up with a trailing
separator.
2022-12-31 17:57:07 +09:00
Cameron Cawley
4002c7bdde
COMMON: Add a version of Common::Array::resize with a fill value 2022-12-19 14:33:07 +02:00
Cameron Cawley
a55361b65d COMMON: Add Common::Array::swap() 2022-12-18 23:36:09 +02:00
Cameron Cawley
fd123d6679 COMMON: Split compression and formats into separate modules 2022-12-11 22:33:23 +01:00
Cameron Cawley
28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Cameron Cawley
0581301b24 COMMON: Move huffman.h back out of the compression directory 2022-12-11 22:33:23 +01:00
Eugene Sandulenko
fb7095f5a4
COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Vladimir Serbinenko
357249fb5a COMMON: Split slow and fast CRC implementation
They have almost nothing in common. And we probably want to kill slow
implementation anyway now that we have tests
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
05f1a0df51 COMMON: Remove the need for most reflecting when initing reflected table
Instead reflect the polynomial and change the shifts. Also removes the
need for explicit init.

This makes our crc more similar to its standard implementation
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
35bac4e58c COMMON: Add tests for CRC 2022-11-29 01:05:31 +01:00
Sergio
d136a5f54c COMMON: fix String::rfind for default value of pos (max value of size_t) 2022-11-26 23:13:42 +02:00
Cameron Cawley
3441c7230d COMMON: Fix handling escaped percents in Common::U32String::format 2022-11-20 14:23:30 +01:00
Cameron Cawley
29024cded7 COMMON: Fix handling negative numbers in Common::U32String::format 2022-11-20 14:23:30 +01:00
Le Philousophe
ab12e7fe01 COMMON: Fix a missing str.h include
It's not included anymore in util.h
2022-10-30 19:38:35 +01:00
Le Philousophe
6524f7beb5 COMMON: Forbid use of unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Roland van Laar
2e92852d57 TESTS: resolve clang warning
Run tests with -Wno-self-assign-overloaded
Some tests explicitely assign the value of the variable type to itself.

Fixes warnings such as these:

./test/common/str.h:201:9: warning: explicitly assigning value of variable of type 'Common::String' to itself [-Wself-assign-overloaded]
                foo10 = foo10;
                ~~~~~ ^ ~~~~~
2022-10-06 19:01:15 +02:00
Roland van Laar
407902599e TESTS: Fix clang++ warning
./test/common/md5.h:17:3: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation]
                "345678901234567890"
2022-10-06 19:01:15 +02:00
Roland van Laar
ea8b9b0d48 TESTS: add buildartifact to make clean-test
test/null_osystem.o wasn't cleaned up. The result was failing tests
when scummvm itself was build with changed configure settings.
2022-10-06 17:50:17 +02:00
Roland van Laar
70e715b6f8 TESTS: Fix compiler warnings integer comparisons
Use suffix `U` for integers when comparing results of `size`.
Use uints in the forloops.
2022-10-06 17:41:41 +02:00
Roland van Laar
07478b38be TESTS: plug memory leaks in span tests
Declare dataPtr as a byte pointer instead of a void pointer to
be able to delete it at the end of the test.
2022-10-06 16:12:27 +02:00
Roland van Laar
e78a88e2fb TESTS: plug memory leaks
Use `clear` instead of `release` where possible.
Both clean up the span object. They differ in that `release` returns a pointer to
the internal data and `clear` destroys the internal data.
2022-10-05 18:11:10 +02:00
Le Philousophe
111d259015 ALL: Add limits.h for all codebase 2022-08-22 15:38:10 +02:00
Cameron Cawley
0d37729ff7 COMMON: Fix reading and writing doubles from streams with older ARM toolchains 2022-07-02 12:49:22 +02:00
elasota
9fa32ac47d COMMON: Fix WeakPtr preventing object deletion 2022-04-25 18:20:19 -07:00
elasota
2e633df047 TEST: Fix cxxtestgen.py crash in Python 3 when digesting punycode.h 2022-04-20 01:51:42 +01:00
Matthew Duggan
ddee0e76f9 COMMON: INIFile bugfixes and unit tests
This adds a lot more unit tests for Common::INIFile and fixes some small
problems identified during their creation.  Specifically:

* addSection() did not check the validity of the section name, which meant it
  was possible to create a section that could not then be operated on by the
  other functions (which all check validity)
* If allowNonEnglishCharacters was set, it was possible to create a key or
  section name starting with '[' or '#', or including a carriage return.  This
  would not read back in correctly.
* Blank section and key names were considered valid, but neither would be
  read back in correctly.
* The struct documentation did not mention whitespcae handling or that comments
  include the '#' and carriage return.
2022-04-10 19:41:06 +03:00
Matthew Duggan
a74b081973 TEST: Add more tests for Common::INIFile
My initial tests were quite minimal as I was trying to fix the build.  Now more
of the basic INIFile functionality is tested.
2022-03-25 18:16:07 +09:00
Matthew Duggan
97a0e8d2d9 TEST: Add tests for Common::INIFile
This is partly an attempt to fix the build on debian and windows as apparently
the INIFile class is not being linked in to the tests.
2022-03-25 17:35:51 +09:00
Matthew Duggan
2345a0d3a6 ULTIMA8: Add error checking for treasure loader
This might help with bug #12182 where the comment suggests there is a problem
with loading the treasure data.  To make sure it loads properly, added a lot
more error checking and error messages, and created unit tests for the same.
2022-03-25 16:44:59 +09:00
Matthew Duggan
b01f927bc3 ULTIMA8: Remove unused ArgvToString function. 2021-11-22 22:29:52 +09:00
Matthew Duggan
372e08635f TESTS: Fix build after type change in ULTIMA engine 2021-11-22 21:45:05 +09:00