mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 01:28:30 -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 "legobackgroundcolor.h"
|
||||||
#include "legoomni.h"
|
#include "legoomni.h"
|
||||||
#include "legoutil.h"
|
#include "legoutil.h"
|
||||||
|
const char* Delimiter = "\t";
|
||||||
// OFFSET: LEGO1 0x1003bfb0
|
// OFFSET: LEGO1 0x1003bfb0
|
||||||
LegoBackgroundColor::LegoBackgroundColor(const char* name, const char* colorString)
|
LegoBackgroundColor::LegoBackgroundColor(const char* name, const char* colorString)
|
||||||
{
|
{
|
||||||
|
@ -16,5 +16,33 @@ void LegoBackgroundColor::SetColorString(const char* colorString)
|
||||||
{
|
{
|
||||||
m_colorString.operator=(colorString);
|
m_colorString.operator=(colorString);
|
||||||
m_colorString.ToLowerCase();
|
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;
|
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
|
#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);
|
__declspec(dllexport) void MoveCursor(int x, int y);
|
||||||
|
|
||||||
inline Lego3DManager *Get3DManager() { return this->m_3dManager; }
|
inline Lego3DManager *Get3DManager() { return this->m_3dManager; }
|
||||||
|
void SetSkyColor(float r, float g, float b);
|
||||||
|
|
||||||
int m_unk00;
|
int m_unk00;
|
||||||
int m_unk04;
|
int m_unk04;
|
||||||
|
|
|
@ -12,7 +12,9 @@ class MxBackgroundColor
|
||||||
protected:
|
protected:
|
||||||
MxString m_name;
|
MxString m_name;
|
||||||
MxString m_colorString;
|
MxString m_colorString;
|
||||||
|
float r;
|
||||||
|
float g;
|
||||||
|
float b;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MXBACKGROUNDCOLOR_H
|
#endif // MXBACKGROUNDCOLOR_H
|
||||||
|
|
34
isle.mak
34
isle.mak
|
@ -145,7 +145,9 @@ LINK32_OBJS= \
|
||||||
"$(INTDIR)\mxvideoparam.obj" \
|
"$(INTDIR)\mxvideoparam.obj" \
|
||||||
"$(INTDIR)\mxvideoparamflags.obj" \
|
"$(INTDIR)\mxvideoparamflags.obj" \
|
||||||
"$(INTDIR)\mxbackgroundcolor.obj" \
|
"$(INTDIR)\mxbackgroundcolor.obj" \
|
||||||
"$(INTDIR)\legobackgroundcolor.obj"
|
"$(INTDIR)\legobackgroundcolor.obj" \
|
||||||
|
"$(INTDIR)\legoutil.obj" \
|
||||||
|
"$(INTDIR)\legovideomanager.obj"
|
||||||
|
|
||||||
".\Release\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
".\Release\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||||
$(LINK32) @<<
|
$(LINK32) @<<
|
||||||
|
@ -263,7 +265,9 @@ LINK32_OBJS= \
|
||||||
"$(INTDIR)\mxvideoparam.obj" \
|
"$(INTDIR)\mxvideoparam.obj" \
|
||||||
"$(INTDIR)\mxvideoparamflags.obj" \
|
"$(INTDIR)\mxvideoparamflags.obj" \
|
||||||
"$(INTDIR)\mxbackgroundcolor.obj" \
|
"$(INTDIR)\mxbackgroundcolor.obj" \
|
||||||
"$(INTDIR)\legobackgroundcolor.obj"
|
"$(INTDIR)\legobackgroundcolor.obj" \
|
||||||
|
"$(INTDIR)\legoutil.obj" \
|
||||||
|
"$(INTDIR)\legovideomanager.obj"
|
||||||
|
|
||||||
".\Debug\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
".\Debug\LEGO1.DLL" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||||
$(LINK32) @<<
|
$(LINK32) @<<
|
||||||
|
@ -847,6 +851,32 @@ DEP_CPP_MXATO=\
|
||||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
$(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 Source File
|
||||||
# End Target
|
# End Target
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
Loading…
Reference in a new issue