mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-25 17:18:16 -05:00
implement SetColorString
This commit is contained in:
parent
323a2ee0e7
commit
7ae1c05df9
9 changed files with 86 additions and 6 deletions
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"files.associations": {
|
||||
"legovideomanager.h": "c"
|
||||
}
|
||||
}
|
BIN
LEGO1.DLL.idb
Normal file
BIN
LEGO1.DLL.idb
Normal file
Binary file not shown.
|
@ -1,7 +1,7 @@
|
|||
#include "legobackgroundcolor.h"
|
||||
#include "legoomni.h"
|
||||
#include "legoutil.h"
|
||||
|
||||
const char* Delimiter = "\t";
|
||||
// OFFSET: LEGO1 0x1003bfb0
|
||||
LegoBackgroundColor::LegoBackgroundColor(const char* name, const char* colorString)
|
||||
{
|
||||
|
@ -16,5 +16,33 @@ void LegoBackgroundColor::SetColorString(const char* colorString)
|
|||
{
|
||||
m_colorString.operator=(colorString);
|
||||
m_colorString.ToLowerCase();
|
||||
// WIP
|
||||
if (colorString == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
char* colorStringCopy = (char*)malloc(strlen(colorString) + 1);
|
||||
strcpy(colorStringCopy, colorString);
|
||||
char* colorStringSplit = strtok(colorStringCopy, Delimiter);
|
||||
if(!strcmp(colorStringSplit, "set"))
|
||||
{
|
||||
//set it
|
||||
char* red = strtok(0, Delimiter);
|
||||
if(red)
|
||||
r = (double)atoi(red)*0.01;
|
||||
char* blue = strtok(0, Delimiter);
|
||||
if(blue)
|
||||
b = (double)atoi(blue)*0.01;
|
||||
char* green = strtok(0, Delimiter);
|
||||
if(green)
|
||||
g = (double)atoi(green)*0.01;
|
||||
}
|
||||
else if(!strcmp(colorStringSplit, "reset"))
|
||||
{
|
||||
//reset it
|
||||
float converted_b;
|
||||
float converted_g;
|
||||
float converted_r;
|
||||
ConvertColor(this->r,this->g,this->b,&converted_r,&converted_g,&converted_b);
|
||||
VideoManager()->SetSkyColor(converted_r,converted_g,converted_b);
|
||||
}
|
||||
}
|
7
LEGO1/legoutil.cpp
Normal file
7
LEGO1/legoutil.cpp
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include "legoutil.h"
|
||||
|
||||
// OFFSET: LEGO1 0x1003eae0
|
||||
void ConvertColor(float r, float g, float b, float* out_r, float* out_g, float* out_b)
|
||||
{
|
||||
// todo
|
||||
}
|
|
@ -6,5 +6,5 @@ inline T Abs(T p_t)
|
|||
{
|
||||
return p_t < 0 ? -p_t : p_t;
|
||||
}
|
||||
|
||||
void ConvertColor(float r, float g, float b, float* out_r, float* out_g, float* out_b);
|
||||
#endif // LEGOUTIL_H
|
7
LEGO1/legovideomanager.cpp
Normal file
7
LEGO1/legovideomanager.cpp
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include "legovideomanager.h"
|
||||
|
||||
// OFFSET: LEGO1 0x1007c440
|
||||
void LegoVideoManager::SetSkyColor(float r, float g, float b)
|
||||
{
|
||||
//todo
|
||||
}
|
|
@ -13,6 +13,7 @@ class LegoVideoManager
|
|||
__declspec(dllexport) void MoveCursor(int x, int y);
|
||||
|
||||
inline Lego3DManager *Get3DManager() { return this->m_3dManager; }
|
||||
void SetSkyColor(float r, float g, float b);
|
||||
|
||||
int m_unk00;
|
||||
int m_unk04;
|
||||
|
|
|
@ -12,7 +12,9 @@ class MxBackgroundColor
|
|||
protected:
|
||||
MxString m_name;
|
||||
MxString m_colorString;
|
||||
|
||||
float r;
|
||||
float g;
|
||||
float b;
|
||||
};
|
||||
|
||||
#endif // MXBACKGROUNDCOLOR_H
|
||||
|
|
34
isle.mak
34
isle.mak
|
@ -145,7 +145,9 @@ LINK32_OBJS= \
|
|||
"$(INTDIR)\mxvideoparam.obj" \
|
||||
"$(INTDIR)\mxvideoparamflags.obj" \
|
||||
"$(INTDIR)\mxbackgroundcolor.obj" \
|
||||
"$(INTDIR)\legobackgroundcolor.obj"
|
||||
"$(INTDIR)\legobackgroundcolor.obj" \
|
||||
"$(INTDIR)\legoutil.obj" \
|
||||
"$(INTDIR)\legovideomanager.obj"
|
||||
|
||||
".\Release\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
|
@ -263,7 +265,9 @@ LINK32_OBJS= \
|
|||
"$(INTDIR)\mxvideoparam.obj" \
|
||||
"$(INTDIR)\mxvideoparamflags.obj" \
|
||||
"$(INTDIR)\mxbackgroundcolor.obj" \
|
||||
"$(INTDIR)\legobackgroundcolor.obj"
|
||||
"$(INTDIR)\legobackgroundcolor.obj" \
|
||||
"$(INTDIR)\legoutil.obj" \
|
||||
"$(INTDIR)\legovideomanager.obj"
|
||||
|
||||
".\Debug\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
|
@ -847,6 +851,32 @@ DEP_CPP_MXATO=\
|
|||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LEGO1\legoutil.cpp
|
||||
DEP_CPP_MXATO=\
|
||||
".\LEGO1\legoutil.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\legoutil.obj" : $(SOURCE) $(DEP_CPP_MXATO) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LEGO1\legovideomanager.cpp
|
||||
DEP_CPP_MXATO=\
|
||||
".\LEGO1\legovideomanager.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\legovideomanager.obj" : $(SOURCE) $(DEP_CPP_MXATO) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
################################################################################
|
||||
|
|
Loading…
Reference in a new issue