[Scummvm-cvs-logs] CVS: residual lua.cpp,1.109,1.110
Pawel Kolodziejski
aquadran at users.sourceforge.net
Sun Mar 20 03:51:31 CET 2005
Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23996
Modified Files:
lua.cpp
Log Message:
split into subfunc getTextObjectParams
Index: lua.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/lua.cpp,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- lua.cpp 19 Mar 2005 21:48:23 -0000 1.109
+++ lua.cpp 20 Mar 2005 11:50:56 -0000 1.110
@@ -1160,13 +1160,10 @@
}
}
-static void MakeTextObject() {
- char *line = lua_getstring(lua_getparam(1)), *key_text = NULL;
- lua_Object table_obj = lua_getparam(2), key;
- int x = 0, y = 0, height = 0, width = 0;
- Color *fgColor = NULL;
- Font *font = NULL;
- TextObject *textObject;
+void getTextObjectParams(lua_Object table_obj, Font **font, int &x, int &y, int &width,
+ int &height, Color **fgColor, bool ¢er, bool &ljustify) {
+ char *key_text = NULL;
+ lua_Object key;
for (;;) {
lua_pushobject(table_obj);
@@ -1176,36 +1173,47 @@
lua_pushnil();
lua_call("next");
- key=lua_getresult(1);
+ key = lua_getresult(1);
if (lua_isnil(key))
break;
- key_text=lua_getstring(key);
- //val_text=lua_getstring(lua_getresult(2));
+ key_text = lua_getstring(key);
if (strstr(key_text, "x"))
x = atoi(lua_getstring(lua_getresult(2)));
else if (strstr(key_text, "y"))
y = atoi(lua_getstring(lua_getresult(2)));
- else if (strstr(key_text, "fgcolor"))
- fgColor = check_color(2);
- else if (strstr(key_text, "height"))
- height = atoi(lua_getstring(lua_getresult(2)));
else if (strstr(key_text, "width"))
width = atoi(lua_getstring(lua_getresult(2)));
+ else if (strstr(key_text, "height"))
+ height = atoi(lua_getstring(lua_getresult(2)));
+ else if (strstr(key_text, "font"))
+ *font = check_font(2);
+ else if (strstr(key_text, "fgcolor"))
+ *fgColor = check_color(2);
else if (strstr(key_text, "center"))
- warning("MakeTextObject key center not implemented");
+ center = !lua_isnil(lua_getresult(2));
else if (strstr(key_text, "ljustify"))
- warning("MakeTextObject key ljustify not implemented");
- else if (strstr(key_text, "font"))
- font = check_font(2);
+ ljustify = !lua_isnil(lua_getresult(2));
else
- error("Unknown MakeTextObject key %s\n", key_text);
+ error("Unknown getTextObjectParams key %s\n", key_text);
}
+}
+
+static void MakeTextObject() {
+ int x = 0, y = 0, height = 0, width = 0, duration = 0;
+ bool center = false, ljustify = false, rjustify = false;
+ Color *fgColor = NULL, *bgColor = NULL, *fxColor = NULL;
+ Font *font = NULL;
+
+ char *line = lua_getstring(lua_getparam(1));
+ lua_Object table_obj = lua_getparam(2);
+ if (lua_istable(table_obj))
+ getTextObjectParams(table_obj, &font, x, y, width, height, &fgColor, center, ljustify);
// Note: The debug func display_setup_name in _sets.LUA creates an empty TextObject,
// and fills it with ChangeTextObject
- textObject = new TextObject((const char *)line, x, y, font, *fgColor);
+ TextObject *textObject = new TextObject((const char *)line, x, y, font, *fgColor);
lua_pushusertag(textObject, MKID('TEXT'));
}
More information about the Scummvm-git-logs
mailing list