Commit graph

19 commits

Author SHA1 Message Date
Robert Müller d08626cf69 Add default argument to CDataFileReader/IMap::GetItem
Add default value `nullptr` for `int *pType` and `int *pID` output parameters of `GetItem` functions.

Use `nullptr` instead of `0`.
2023-05-14 16:39:46 +02:00
Panagiotis "Ivory" Vasilopoulos 776eabcc78 Replace leftover memcpy with mem_copy
This change was made as I was doing some tests for the Haiku port.
2023-03-09 11:50:15 +01:00
Robert Müller db4ec4a12d Replace usages of C math functions
Replacing the C standard headers with the C++ standard headers causes various `error: call to 'floor' promotes float to double [performance-type-promotion-in-math-fn,-warnings-as-errors]`, which are fixed by using the C++ std math functions or our own math functions instead of the C math functions.

- Use `absolute` instead of `abs` and `fabs`.
- Use `std::floor` instead of `floor` and `floorf`.
- Use `std::ceil` instead of `ceil`, `ceilf` and `round_ceil`.
- Use `std::round` instead of `round` and `roundf`.
- Use `std::sin` instead of `sin` and `sinf`.
- Use `std::asin` instead of `asin` and `asinf`.
- Use `std::cos` instead of `cos` and `cosf`.
- Use `std::acos` instead of `acos` and `acosf`.
- Use `std::tan` instead of `tan` and `tanf`.
- Use `std::atan` instead of `atan` and `atanf`.
- Use `std::pow` instead of `pow` and `powf`.
- Use `std::log` instead of `log` and `logf`.
- Use `std::log2` instead of `log2` and `log2f`.
- Use `std::log10` instead of `log10` and `log10f`.
- Use `std::pow` instead of `pow` and `powf`.
- Use `std::sqrt` instead of `sqrt` and `sqrtf`.
- Use `std::fmod` instead of `fmod` and `fmodf`.
- Use `direction(Angle)` instead of `vec2(std::cos(Angle), std::sin(Angle))`.
- Use `length(vec2(x, y))` instead of `std::sqrt(x * x + y * y)`.
- Remove unused `NormalizeAngular` and `AngularDistance` functions.
2023-03-01 19:26:53 +01:00
Robert Müller 0a0ddf2145 Pass parameters by const reference instead of value when possible
According to cppcheck's `passedByValue` error.
2022-11-29 23:32:25 +01:00
Robert Müller 73fe4e6ed4 Use str_copy instead of snprintf to copy strings 2022-10-20 20:56:58 +02:00
Robert Müller 1469e88a79 Replace atof usages with strtod (str_tofloat wrapper)
As `atof` does not provide any way to detect errors and can cause undefined behavior on errors, i.e. when the result cannot be represented as a `float`.

References:

- https://wiki.sei.cmu.edu/confluence/display/c/ERR07-C.+Prefer+functions+that+support+error+checking+over+equivalent+functions+that+don%27t
- https://pubs.opengroup.org/onlinepubs/9699919799/functions/atof.html
2022-10-20 20:30:12 +02:00
Dennis Felsing 31cf68c65d Fix mismatched bound warning in map_replace_area and map_create_pixelart
src/tools/map_replace_area.cpp:644:38: warning: argument 'aLine' of type 'const float[2]' with mismatched bound [-Warray-parameter]
bool GetLineIntersection(const float aLine[2], const float Point)
                                     ^
src/tools/map_replace_area.cpp:55:37: note: previously declared as 'const float[]' here
bool GetLineIntersection(const float[], float);
                                    ^
2022-09-15 23:23:04 +02:00
Chairn a69dc599a9 Huge variable naming format
Fix pointer and pointer array variable naming

Huge renaming to match our rules

Used regex: (?!(return|delete)\b)\b\w+ (m_|ms_|g_|gs_|s_)[^a]\w+\[
            (?!(return|delete)\b)\b\w+ (?!(m_|ms_|g_|gs_|s_))[^a]\w+\[

Further format static variables

Format almost all pointer names accordingly

Used regex: (?!(return)\b)\b\w+
\*(?!(m_p|p|s_p|m_ap|s_ap|g_p|g_ap|ap|gs_ap|ms_ap|gs_p|ms_p))\w+\b[^:\(p]

clang-format

Fix CI fail

Fix misnamed non pointer as pointer and non array as array

Used regex: (?!(return|delete)\b)\b\w+ (m_|ms_|g_|gs_|s_)p\w+\b
            (?!return\b)\b\w+ (ms_|m_|g_|gs_|s_)a\w+\b[^\[]

clang-format

Revert to SCREAMING_SNAKE_CASE and reinstate dead code
2022-07-08 18:01:29 +02:00
f 222539e547 map_replace_area: removed standard inclusions 2022-06-21 21:21:49 +02:00
f 66099ab38d map_replace_area: fixed implicit int to float conversions 2022-06-21 21:04:54 +02:00
f 9b0396e470 map_replace_area: hopefully last last fixes to pass CI tests 2022-06-21 17:37:55 +02:00
f a9d4ae44f2 map_replace_area: hopefully last fixes to pass CI tests 2022-06-21 17:13:57 +02:00
heinrich5991 923e9acf9c Run scripts/fix_style.py 2022-06-21 15:21:33 +02:00
f 8c392c9437 map_replace_area: other minor fixes to pass CI tests 2022-06-21 15:02:26 +02:00
f ce3577dac6 map_replace_area: fixed indentation 2022-06-21 14:47:27 +02:00
f 2112426206 map_replace_area: minor fixes to pass CI tests 2022-06-21 14:35:55 +02:00
term 46b500efef map_replace_area: handled layergroups parameters (offset/clip/parallax) with adaptation between source and dest map 2022-06-20 11:55:55 +02:00
sctt 87ab2348d0
Fixed indentation 2022-03-16 19:09:29 +01:00
sctt bcb367c64a
Added map_replace_area tool 2022-03-16 17:01:23 +01:00