1
0
Fork 0

(svn r1840) Repel str_buffr and use local buffers where possible

release/0.4.5
tron 2005-02-07 12:32:35 +00:00
parent f8d97a5f61
commit b1baa4ed8b
7 changed files with 35 additions and 30 deletions

38
gfx.c
View File

@ -258,29 +258,31 @@ enum {
/* returns right coordinate */ /* returns right coordinate */
int DrawString(int x, int y, uint16 str, uint16 color) int DrawString(int x, int y, uint16 str, uint16 color)
{ {
GetString(str_buffr, str); char buffer[512];
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
return DoDrawString(str_buffr, x, y, color); GetString(buffer, str);
return DoDrawString(buffer, x, y, color);
} }
void DrawStringRightAligned(int x, int y, uint16 str, uint16 color) void DrawStringRightAligned(int x, int y, uint16 str, uint16 color)
{ {
GetString(str_buffr, str); char buffer[512];
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
DoDrawString(str_buffr, x - GetStringWidth(str_buffr), y, color); GetString(buffer, str);
DoDrawString(buffer, x - GetStringWidth(buffer), y, color);
} }
int DrawStringCentered(int x, int y, uint16 str, uint16 color) int DrawStringCentered(int x, int y, uint16 str, uint16 color)
{ {
char buffer[512];
int w; int w;
GetString(str_buffr, str); GetString(buffer, str);
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
w = GetStringWidth(str_buffr); w = GetStringWidth(buffer);
DoDrawString(str_buffr, x - (w>>1), y, color); DoDrawString(buffer, x - w / 2, y, color);
return w; return w;
} }
@ -334,15 +336,15 @@ static uint32 FormatStringLinebreaks(char *str, int maxw)
void DrawStringMultiCenter(int x, int y, uint16 str, int maxw) void DrawStringMultiCenter(int x, int y, uint16 str, int maxw)
{ {
char buffer[512];
uint32 tmp; uint32 tmp;
int num, w, mt, t; int num, w, mt, t;
const char *src; const char *src;
byte c; byte c;
GetString(str_buffr, str); GetString(buffer, str);
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
tmp = FormatStringLinebreaks(str_buffr, maxw); tmp = FormatStringLinebreaks(buffer, maxw);
num = (uint16)tmp; num = (uint16)tmp;
t = tmp >> 16; t = tmp >> 16;
@ -354,7 +356,7 @@ void DrawStringMultiCenter(int x, int y, uint16 str, int maxw)
y -= (mt >> 1) * num; y -= (mt >> 1) * num;
src = str_buffr; src = buffer;
for(;;) { for(;;) {
w = GetStringWidth(src); w = GetStringWidth(src);
@ -380,15 +382,15 @@ void DrawStringMultiCenter(int x, int y, uint16 str, int maxw)
} }
void DrawStringMultiLine(int x, int y, uint16 str, int maxw) { void DrawStringMultiLine(int x, int y, uint16 str, int maxw) {
char buffer[512];
uint32 tmp; uint32 tmp;
int num, w, mt, t; int num, w, mt, t;
const char *src; const char *src;
byte c; byte c;
GetString(str_buffr, str); GetString(buffer, str);
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
tmp = FormatStringLinebreaks(str_buffr, maxw); tmp = FormatStringLinebreaks(buffer, maxw);
num = (uint16)tmp; num = (uint16)tmp;
t = tmp >> 16; t = tmp >> 16;
mt = 10; mt = 10;
@ -397,7 +399,7 @@ void DrawStringMultiLine(int x, int y, uint16 str, int maxw) {
if (t != 244) mt = 18; if (t != 244) mt = 18;
} }
src = str_buffr; src = buffer;
for(;;) { for(;;) {
w = GetStringWidth(src); w = GetStringWidth(src);

View File

@ -2101,6 +2101,7 @@ extern GetNewsStringCallbackProc * const _get_news_string_callback[];
static bool DrawScrollingStatusText(NewsItem *ni, int pos) static bool DrawScrollingStatusText(NewsItem *ni, int pos)
{ {
char buf[512];
StringID str; StringID str;
const char *s; const char *s;
char *d; char *d;
@ -2115,10 +2116,9 @@ static bool DrawScrollingStatusText(NewsItem *ni, int pos)
str = ni->string_id; str = ni->string_id;
} }
GetString(str_buffr, str); GetString(buf, str);
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
s = str_buffr; s = buf;
d = buffer; d = buffer;
for(;;s++) { for(;;s++) {

View File

@ -631,6 +631,7 @@ static void TooltipsWndProc(Window *w, WindowEvent *e)
void GuiShowTooltips(StringID string_id) void GuiShowTooltips(StringID string_id)
{ {
char buffer[512];
Window *w; Window *w;
int right,bottom; int right,bottom;
int x,y; int x,y;
@ -645,10 +646,9 @@ void GuiShowTooltips(StringID string_id)
DeleteWindow(w); DeleteWindow(w);
} }
GetString(str_buffr, string_id); GetString(buffer, string_id);
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
right = GetStringWidth(str_buffr) + 4; right = GetStringWidth(buffer) + 4;
bottom = 14; bottom = 14;
if (right > 200) { if (right > 200) {

View File

@ -505,6 +505,7 @@ static byte getNews(byte i)
// cut string after len pixels // cut string after len pixels
static void GetNewsString(NewsItem *ni, char *buffer, uint max) static void GetNewsString(NewsItem *ni, char *buffer, uint max)
{ {
char buf[512];
StringID str; StringID str;
const char *s; const char *s;
char *d; char *d;
@ -517,10 +518,9 @@ static void GetNewsString(NewsItem *ni, char *buffer, uint max)
str = ni->string_id; str = ni->string_id;
} }
GetString(str_buffr, str); GetString(buf, str);
assert(strlen(str_buffr) < sizeof(str_buffr) - 1);
s = str_buffr; s = buf;
d = buffer; d = buffer;
for (;; s++) { for (;; s++) {

3
os2.c
View File

@ -405,7 +405,8 @@ void FiosMakeSavegameName(char *buf, const char *name)
void FiosDelete(const char *name) void FiosDelete(const char *name)
{ {
char *path = str_buffr; char path[512];
FiosMakeSavegameName(path, name); FiosMakeSavegameName(path, name);
unlink(path); unlink(path);
} }

3
unix.c
View File

@ -327,7 +327,8 @@ void FiosMakeSavegameName(char *buf, const char *name)
void FiosDelete(const char *name) void FiosDelete(const char *name)
{ {
char *path = str_buffr; char path[512];
FiosMakeSavegameName(path, name); FiosMakeSavegameName(path, name);
unlink(path); unlink(path);
} }

View File

@ -1811,7 +1811,8 @@ void FiosMakeSavegameName(char *buf, const char *name)
void FiosDelete(const char *name) void FiosDelete(const char *name)
{ {
char *path = str_buffr; char path[512];
FiosMakeSavegameName(path, name); FiosMakeSavegameName(path, name);
DeleteFile(path); DeleteFile(path);
} }