diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-11-01 22:12:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-01 22:12:47 +0100 |
commit | af4fd9de9c02052f3dc7330cd7cb6aa3f2107191 (patch) | |
tree | eeac97cd39ee467902921a75fbdf3e5238716f4a /servers/visual_server.cpp | |
parent | 86fdb51e04a10362b502df95dd52286701aec521 (diff) | |
parent | 9ddb3265e1a6d2f9937ff6a27d04302d76c10431 (diff) | |
download | redot-engine-af4fd9de9c02052f3dc7330cd7cb6aa3f2107191.tar.gz |
Merge pull request #33238 from qarmin/other_fixes
Fix some crashes, overflows and using variables without values
Diffstat (limited to 'servers/visual_server.cpp')
-rw-r--r-- | servers/visual_server.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 2e1f524362..4bab9b76ba 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -508,12 +508,11 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ if (p_format & ARRAY_COMPRESS_TANGENT) { for (int i = 0; i < p_vertex_array_len; i++) { - - uint8_t xyzw[4] = { - (uint8_t)CLAMP(src[i * 4 + 0] * 127, -128, 127), - (uint8_t)CLAMP(src[i * 4 + 1] * 127, -128, 127), - (uint8_t)CLAMP(src[i * 4 + 2] * 127, -128, 127), - (uint8_t)CLAMP(src[i * 4 + 3] * 127, -128, 127) + int8_t xyzw[4] = { + (int8_t)CLAMP(src[i * 4 + 0] * 127, -128, 127), + (int8_t)CLAMP(src[i * 4 + 1] * 127, -128, 127), + (int8_t)CLAMP(src[i * 4 + 2] * 127, -128, 127), + (int8_t)CLAMP(src[i * 4 + 3] * 127, -128, 127) }; copymem(&vw[p_offsets[ai] + i * p_stride], xyzw, 4); |