isle-portable/LEGO1/legoutil.cpp
itsmattkc a66dbb8136 Squashed commit of the following:
commit a41a442f5aba5fa2f22efc46e66b055f8e99b04e
Author: MishaProductions <106913236+MishaProductions@users.noreply.github.com>
Date:   Fri Jun 30 08:10:54 2023 +0300

    Update .editorconfig

    Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

commit 5768cf4a0cf58778cd1265220936081c43c91769
Author: Misha <mishakeys20@gmail.com>
Date:   Fri Jun 30 08:04:37 2023 +0300

    add legoutil

commit 7d6b00c831d01688749d6cadb8b8ea683d18a52d
Author: Misha <mishakeys20@gmail.com>
Date:   Fri Jun 30 08:02:17 2023 +0300

    Update CMakeLists.txt

commit d9b49087f8681a858b7d32b38cc937160b5a5ab0
Author: Misha <mishakeys20@gmail.com>
Date:   Fri Jun 30 08:01:06 2023 +0300

    Update CMakeLists.txt

commit d5a2891965b0e3c992c92e7782c4cc54fc7ae7af
Author: Misha <mishakeys20@gmail.com>
Date:   Fri Jun 30 07:59:03 2023 +0300

    Update CMakeLists.txt

commit 519253bff43426d2b4cbb916f0fecba8fd677695
Merge: 6cefa2e 13df3f9
Author: Misha <mishakeys20@gmail.com>
Date:   Fri Jun 30 07:57:15 2023 +0300

    Merge remote-tracking branch 'upstream/master' into legobackgroundcolor

commit 6cefa2e9e259f57033d6e50f9be0af5de6e2df61
Author: Misha <mishakeys20@gmail.com>
Date:   Thu Jun 29 16:51:53 2023 +0300

    add back stuff to mak file after merge

commit c2b16eb8ff2e99b160bf5d5b75df7960da8f2877
Merge: 3c8add2 07912eb
Author: Misha <mishakeys20@gmail.com>
Date:   Thu Jun 29 16:49:51 2023 +0300

    Merge remote-tracking branch 'upstream/master' into legobackgroundcolor

commit 3c8add2f1979f1ac2372f06c2025cda4104c2db2
Author: Misha <mishakeys20@gmail.com>
Date:   Thu Jun 29 13:34:15 2023 +0300

    Update legobackgroundcolor.cpp

commit 6879f30e79caaef23319488b729283cda6f46c25
Author: Misha <mishakeys20@gmail.com>
Date:   Wed Jun 28 18:22:35 2023 +0300

    add fixme + rename MxStringVariable functions

commit a883f37b9d67c57bc336812bf83ee85c363f8931
Author: Misha <mishakeys20@gmail.com>
Date:   Wed Jun 28 18:15:42 2023 +0300

    address review

commit a919eeb7f48b31554b8edf499c131f570b1529bf
Author: Misha <mishakeys20@gmail.com>
Date:   Wed Jun 28 08:19:45 2023 +0300

    Update mxbackgroundcolor.cpp

commit 710c1dd5ea53212c43e1564480f27370f28ca7e4
Author: Misha <mishakeys20@gmail.com>
Date:   Wed Jun 28 08:11:13 2023 +0300

    add back mak file

commit 25e9bbbfb0d330e70570f59823b2e88f159ad49d
Merge: 78b0e8d 2d9af63
Author: Misha <mishakeys20@gmail.com>
Date:   Wed Jun 28 08:09:03 2023 +0300

    Merge remote-tracking branch 'upstream/master' into legobackgroundcolor

commit 78b0e8dd625add18ea9a62dcd72a820e1a0beab5
Author: Misha <mishakeys20@gmail.com>
Date:   Tue Jun 27 18:35:58 2023 +0300

    improve accuracy

commit 4c2e1ca95c4463da20266f61299370fa0ecda9f4
Author: Misha <mishakeys20@gmail.com>
Date:   Mon Jun 26 13:50:40 2023 +0300

    improve accuracy

commit 7dd3469ca330254e0177c838991b9436bb3c90c2
Author: Misha <mishakeys20@gmail.com>
Date:   Mon Jun 26 13:24:11 2023 +0300

    ConvertColor wip

commit b0288803a834a9e4f41486bb60c81935b94a4cd2
Merge: 3d16867 0b47f3f
Author: MishaProductions <106913236+MishaProductions@users.noreply.github.com>
Date:   Mon Jun 26 09:42:08 2023 +0300

    Merge branch 'isledecomp:master' into legobackgroundcolor

commit 3d16867a901862d66aec632e269061c81e7d443d
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 17:03:14 2023 +0300

    90% match

commit 2208573eb2cf73465c2a5b49a63db66dd8f6f841
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 12:23:47 2023 +0300

    improve accuracy + add editorconfig

commit 288f8614281788fd3a19f07a7732b06337253e34
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 07:57:14 2023 +0300

    fix makefile

commit 3590e59a3a9f021b0de3833e80d320238255bc46
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 07:51:35 2023 +0300

    Update isle.mak

commit fb52ad57813214a8af9ef21fdb9ef39005961778
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 07:47:06 2023 +0300

    fix build

commit 791cf1301af1e194025908d8812edaa4faf0f3cf
Merge: b9ecd15 64d2b9e
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 07:42:09 2023 +0300

    Merge remote-tracking branch 'upstream/master' into legobackgroundcolor

commit b9ecd15ca60b6d4c26fe10405e80b08bbf02d62e
Author: Misha <mishakeys20@gmail.com>
Date:   Sun Jun 25 07:40:22 2023 +0300

    undo change

commit 6327a797bce26c277c21c71e5ec56a446f227aa5
Author: Misha <mishakeys20@gmail.com>
Date:   Sat Jun 24 21:48:08 2023 +0300

    delete accidently committed files

commit 7ae1c05df962ff64029c3264aaf824801a3055cc
Author: Misha <mishakeys20@gmail.com>
Date:   Sat Jun 24 21:47:05 2023 +0300

    implement SetColorString

commit 323a2ee0e7a4c767d80535f2f0e3a8036124da05
Author: Misha <mishakeys20@gmail.com>
Date:   Sat Jun 24 20:47:03 2023 +0300

    constructor and some methods are matching

commit 0ce6fab3d085b2e2e68c95bdff59557c483486fe
Author: Misha <mishakeys20@gmail.com>
Date:   Sat Jun 24 20:38:10 2023 +0300

    constructor is almost matching
2023-06-30 16:33:59 -07:00

68 lines
No EOL
1.1 KiB
C++

#include "legoutil.h"
// OFFSET: LEGO1 0x1003eae0
void ConvertHSVToRGB(float h, float s, float v, float *r_out, float *b_out, float *g_out)
{
double calc;
double p;
long hue_index;
double v9;
double v12;
double v13;
if (s > 0.5f)
calc = (1.0f - v) * s + v;
else
calc = (v + 1.0) * s;
if (calc <= 0.0)
{
*g_out = 0.0f;
*b_out = 0.0f;
*r_out = 0.0f;
return;
}
p = s * 2.0 - calc;
hue_index = h * 6.0;
v9 = (h * 6.0 - (float)hue_index) * ((calc - p) / calc) * calc;
v12 = p + v9;
v13 = calc - v9;
switch (hue_index)
{
case 0:
*r_out = calc;
*b_out = v12;
*g_out = p;
break;
case 1:
*r_out = v13;
*b_out = calc;
*g_out = p;
break;
case 2:
*r_out = p;
*b_out = calc;
*g_out = v12;
break;
case 3:
*r_out = p;
*b_out = v13;
*g_out = calc;
break;
case 4:
*r_out = v12;
*b_out = p;
*g_out = calc;
break;
case 5:
*r_out = calc;
*b_out = p;
*g_out = v13;
break;
case 6:
*r_out = calc;
*b_out = p;
*g_out = v13;
break;
default:
return;
}
}