Rev 7738 | Rev 7754 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7738 | Rev 7739 | ||
---|---|---|---|
Line 63... | Line 63... | ||
63 | ESDWORD[i] = color; |
63 | ESDWORD[i] = color; |
64 | } |
64 | } |
65 | } |
65 | } |
66 | } |
66 | } |
Line 67... | Line -... | ||
67 | - | ||
68 | void DrawBuf_WriteText(dword x, y, byte fontType, dword color, str_offset) |
- | |
69 | { |
- | |
70 | EDI = buf_data; |
- | |
71 | WriteText(x, y, fontType, color, str_offset); |
- | |
72 | } |
67 | |
73 | void DrawBufer::WriteText(dword x, y, byte fontType, dword color, str_offset) |
68 | void DrawBufer::WriteText(dword x, y, byte fontType, dword color, str_offset) |
- | 69 | { |
|
- | 70 | #define BUGFIX_32000 32000 |
|
- | 71 | int ydiv=0; |
|
- | 72 | dword reserve_data_1, reserve_data_2; |
|
74 | { |
73 | dword new_buf_offset; |
- | 74 | if (y + 30 >= bufh) IncreaseBufSize(); |
|
75 | if (y + 30 >= bufh) IncreaseBufSize(); |
75 | if (y < BUGFIX_32000) { |
- | 76 | WriteBufText(x, y, fontType, color, str_offset, buf_data); |
|
- | 77 | } |
|
- | 78 | else { |
|
- | 79 | ydiv = y / BUGFIX_32000 * BUGFIX_32000; |
|
- | 80 | y -= ydiv; |
|
- | 81 | new_buf_offset = ydiv * bufw * 4 + buf_data; |
|
- | 82 | ||
- | 83 | reserve_data_1 = ESDWORD[new_buf_offset]; |
|
- | 84 | reserve_data_2 = ESDWORD[new_buf_offset+4]; |
|
- | 85 | ||
- | 86 | ESDWORD[new_buf_offset] = bufw; |
|
- | 87 | ESDWORD[new_buf_offset+4] = bufh - y; |
|
- | 88 | WriteBufText(x, y, fontType, color, str_offset, new_buf_offset); |
|
- | 89 | ||
- | 90 | ESDWORD[new_buf_offset] = reserve_data_1; |
|
- | 91 | ESDWORD[new_buf_offset+4] = reserve_data_2; |
|
76 | DrawBuf_WriteText(x, y, fontType, color, str_offset); |
92 | } |
Line 77... | Line 93... | ||
77 | } |
93 | } |
78 | 94 | ||
79 | void DrawBufer::PutPixel(dword x, y, color) |
95 | void DrawBufer::PutPixel(dword x, y, color) |