| 316 | } |
| 317 | |
| 318 | void CGameFont::MasterOut(BOOL bCheckDevice, BOOL bUseCoords, BOOL bScaleCoords, BOOL bUseSkip, float _x, float _y, float _skip, LPCSTR fmt, va_list p) |
| 319 | { |
| 320 | if (bCheckDevice && (!Device.b_is_Active)) |
| 321 | return; |
| 322 | |
| 323 | String rs; |
| 324 | |
| 325 | rs.x = (bUseCoords ? (bScaleCoords ? (DI2PX(_x)) : _x) : fCurrentX); |
| 326 | rs.y = (bUseCoords ? (bScaleCoords ? (DI2PY(_y)) : _y) : fCurrentY); |
| 327 | rs.color = dwCurrentColor; |
| 328 | rs.height = fCurrentHeight; |
| 329 | rs.align = eCurrentAlignment; |
| 330 | |
| 331 | int vs_sz = vsprintf_s(rs.string, fmt, p); |
| 332 | // VERIFY( ( vs_sz != -1 ) && ( rs.string[ vs_sz ] == '\0' ) ); |
| 333 | |
| 334 | rs.string[sizeof(rs.string) - 1] = 0; |
| 335 | if (vs_sz == -1) |
| 336 | { |
| 337 | return; |
| 338 | } |
| 339 | |
| 340 | if (vs_sz) |
| 341 | strings.push_back(rs); |
| 342 | |
| 343 | if (bUseSkip) |
| 344 | OutSkip(_skip); |
| 345 | } |
| 346 | |
| 347 | #define MASTER_OUT(CHECK_DEVICE, USE_COORDS, SCALE_COORDS, USE_SKIP, X, Y, SKIP, FMT) \ |
| 348 | { \ |