Commit Graph

375 Commits

Author SHA1 Message Date
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
Eugene Sandulenko
55a171867e
DEVTOOLS: COMPANION: Added test for higher Unicode characters 2021-10-31 23:00:35 +02:00
Alexandre Detiste
6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Eugene Sandulenko
7fa0d97e32
DEVTOOLS: Added more tests for punycode 2021-10-31 19:27:34 +02:00
Eugene Sandulenko
798058999d
TESTS: Added test for common/punycode.h 2021-10-31 16:37:53 +02:00
Eugene Sandulenko
c544e5119b
COMMON: Remove USE_CXX11 checks, it is now always present 2021-10-31 11:52:29 +02:00
Le Philousophe
c201ddfcf4 TEST: Fix encoding test adding a '\0'
Use sizeof at the same time to avoid hardcoded constants
2021-08-08 13:56:00 +02:00
Orgad Shaneh
0b2ae9fa5e DEVTOOLS: Replace ugly SDL/MinGW hack with a cleaner hack
Instead of having main=SDL_main defined by pkg-config/sdl2-config --cflags
and undefining it everywhere, strip it in its origin.
2021-08-03 07:35:15 +03:00
Matthew Duggan
f185e41956 ULTIMA8: Item sorter improvements for large flat objects
Large flat squares should get sorted below other flat things.  In U8, the
definition of large is 128x128, but in Crusader they can also be larger than
that.

This fixes the paint order of hazard tape stripes in Crusader. It may also
improve paint order for Ultima 8 which has some big flat squares larger than
128x128 too (eg, shape 165 or 318 which are 256x256).

Also added tests for flat object sorting.
2021-07-24 13:48:09 +09:00
Lothar Serra Mari
1aa1832b59 TESTS: WIN32: Add missing object file 2021-07-15 09:09:38 +02:00
Matthew Duggan
191e7c8180 ULTIMA8: Add simple unit tests for item sorting 2021-07-07 19:34:05 +09:00
Cameron Cawley
0e6b9c2bb6 SDL: Begin refactoring the API for selecting scalers 2021-06-23 21:29:53 +02:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Orgad Shaneh
f2f64161a1 TESTS: Fix GCC warnings
../scummvm/test/cxxtest/cxxtest/ValueTraits.h:120:52: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
  120 |         ValueTraits( CXXTEST_NEW_CLASS n ) : _old( (CXXTEST_OLD_CLASS)n ) {} \
      |                                                    ^~~~~~~~~~~~~~~~~~~~
2021-04-23 01:54:26 +02:00
Orgad Shaneh
63a48de8d3 TESTS: Regenerate tests when module.mk is modified 2021-04-19 23:06:55 +03:00
Orgad Shaneh
67d793433e TESTS: Avoid needless copy if encoding.dat 2021-04-15 22:53:22 +03:00
Orgad Shaneh
fc57fab6d6 TESTS: Fix python warnings 2021-04-15 22:53:22 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Le Philousophe
08c46ec41e TESTS: Cleanup allocation in array tests 2021-04-10 23:36:55 +02:00
Le Philousophe
5cdb300534 COMMON: Fix CJK encode/decode and make valgrind quiet
CJK offsets were wrong compared to encodings.dat file and buffers were
read past their end.
Rewrote indexing to make it match the Python script and optimize
slightly
2021-04-10 23:36:55 +02:00
Martin Gerhardy
bb34721dd4 IMAGE: added GIFDecoder using libgif 2021-04-10 10:59:09 +02:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02: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
SupSuper
fd81f32d6a TESTS: Use getValOrDefault 2021-02-12 02:50:34 +00:00
Cameron Cawley
c30c22dac8 TEST: Simplify the use of the Null backend 2021-02-08 03:07:34 +02:00
Le Philousophe
51e174f202 ALL: Mark link commands as make recursive
With this make gives access to its jobserver for linker which will use
it when linking with -flto=jobserver
2021-01-17 21:53:15 +01:00
Le Philousophe
72c464bf11 ALL: Use LD instead of CXX when linking
It will be more coherent.
LD is defined to CXX in configure script so it shouldn't change
behaviour.
2021-01-17 21:53:15 +01: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
Vladimir Serbinenko
9b824d73af TEST: remove prinring of md5 of encoding.dat 2020-11-16 10:06:27 +01:00