66 SDL_INIT_VIDEO = $00000020; |
66 SDL_INIT_VIDEO = $00000020; |
67 SDL_INIT_AUDIO = $00000010; |
67 SDL_INIT_AUDIO = $00000010; |
68 SDL_INIT_JOYSTICK = $00000200; |
68 SDL_INIT_JOYSTICK = $00000200; |
69 |
69 |
70 SDL_APPINPUTFOCUS = 2; |
70 SDL_APPINPUTFOCUS = 2; |
71 |
71 SDL_BUTTON_WHEELDUP = 4; |
|
72 SDL_BUTTON_WHEELDOWN = 5; |
|
73 |
|
74 {*begin sdl_event binding*} |
|
75 SDL_NOEVENT = 0; |
|
76 SDL_KEYDOWN = 2; |
|
77 SDL_KEYUP = 3; |
|
78 {$IFDEF SDL13} |
|
79 SDL_WINDOWEVENT = 1; |
|
80 SDL_TEXTINPUT = 4; |
|
81 SDL_TEXTEDITING = 5; |
|
82 SDL_MOUSEMOTION = 6; |
|
83 SDL_MOUSEBUTTONDOWN = 7; |
|
84 SDL_MOUSEBUTTONUP = 8; |
|
85 SDL_MOUSEWHEEL = 9; |
|
86 SDL_JOYAXISMOTION = 10; |
|
87 SDL_JOYBALLMOTION = 11; |
|
88 SDL_JOYHATMOTION = 12; |
|
89 SDL_JOYBUTTONDOWN = 13; |
|
90 SDL_JOYBUTTONUP = 14; |
|
91 SDL_QUITEV = 15; |
|
92 {$ELSE} |
|
93 SDL_ACTIVEEVENT = 1; |
|
94 SDL_MOUSEMOTION = 4; |
|
95 SDL_MOUSEBUTTONDOWN = 5; |
|
96 SDL_MOUSEBUTTONUP = 6; |
|
97 SDL_JOYAXISMOTION = 7; |
|
98 SDL_JOYBALLMOTION = 8; |
|
99 SDL_JOYHATMOTION = 9; |
|
100 SDL_JOYBUTTONDOWN = 10; |
|
101 SDL_JOYBUTTONUP = 11; |
|
102 SDL_QUITEV = 12; |
|
103 SDL_VIDEORESIZE = 16; // TODO: outdated? no longer in SDL 1.3? |
|
104 {$ENDIF} |
|
105 {*end sdl_event binding*} |
|
106 |
72 {$IFDEF SDL13} |
107 {$IFDEF SDL13} |
73 SDL_ASYNCBLIT = $08000000; |
108 SDL_ASYNCBLIT = $08000000; |
74 SDL_ANYFORMAT = $10000000; |
109 SDL_ANYFORMAT = $10000000; |
75 SDL_HWPALETTE = $00200000; |
110 SDL_HWPALETTE = $00200000; |
76 SDL_DOUBLEBUF = $00400000; |
111 SDL_DOUBLEBUF = $00400000; |
92 SDL_RLEACCEL = $00004000; |
127 SDL_RLEACCEL = $00004000; |
93 SDL_NOFRAME = $00000020; |
128 SDL_NOFRAME = $00000020; |
94 SDL_OPENGL = $00000002; |
129 SDL_OPENGL = $00000002; |
95 SDL_RESIZABLE = $00000010; |
130 SDL_RESIZABLE = $00000010; |
96 {$ENDIF} |
131 {$ENDIF} |
97 |
|
98 {*begin sdl_event binding*} |
|
99 SDL_NOEVENT = 0; |
|
100 SDL_KEYDOWN = 2; |
|
101 SDL_KEYUP = 3; |
|
102 SDL_VIDEORESIZE = 16; // TODO: outdated? no longer in SDL 1.3? |
|
103 |
|
104 {$IFDEF SDL13} |
|
105 SDL_WINDOWEVENT = 1; |
|
106 SDL_TEXTINPUT = 4; |
|
107 SDL_TEXTEDITING = 5; |
|
108 SDL_MOUSEMOTION = 6; |
|
109 SDL_MOUSEBUTTONDOWN = 7; |
|
110 SDL_MOUSEBUTTONUP = 8; |
|
111 SDL_MOUSEWHEEL = 9; //different handling, should create SDL_MouseWheelEvent type |
|
112 SDL_JOYAXIS = 10; |
|
113 SDL_JOYHAT = 12; |
|
114 SDL_JOYBUTTONDOWN = 13; |
|
115 SDL_JOYBUTTONUP = 14; |
|
116 SDL_QUITEV = 15; |
|
117 {$ELSE} |
|
118 SDL_ACTIVEEVENT = 1; |
|
119 SDL_MOUSEBUTTONDOWN = 5; |
|
120 SDL_MOUSEBUTTONUP = 6; |
|
121 SDL_BUTTON_WHEELDUP = 4; |
|
122 SDL_BUTTON_WHEELDOWN = 5; |
|
123 SDL_JOYAXIS = 7; |
|
124 SDL_JOYHAT = 9; |
|
125 SDL_JOYBUTTONDOWN = 10; |
|
126 SDL_JOYBUTTONUP = 11; |
|
127 SDL_QUITEV = 12; |
|
128 {$ENDIF} |
|
129 {*end sdl_event binding*} |
|
130 |
132 |
131 |
133 |
132 {$IFDEF ENDIAN_LITTLE} |
134 {$IFDEF ENDIAN_LITTLE} |
133 RMask = $000000FF; |
135 RMask = $000000FF; |
134 GMask = $0000FF00; |
136 GMask = $0000FF00; |
240 sym: Longword; |
242 sym: Longword; |
241 modifier: Longword; |
243 modifier: Longword; |
242 unicode: Word; |
244 unicode: Word; |
243 end; |
245 end; |
244 |
246 |
|
247 |
|
248 {* SDL_event type definition *} |
|
249 |
|
250 {$IFDEF SDL13} |
|
251 TSDL_WindowID = LongInt; |
|
252 |
|
253 TSDL_WindowEvent = record |
|
254 {$ELSE} |
245 TSDL_ActiveEvent = record |
255 TSDL_ActiveEvent = record |
|
256 {$ENDIF} |
246 type_: byte; |
257 type_: byte; |
247 gain: byte; |
258 gain: byte; |
248 state: byte; |
259 state: byte; |
249 end; |
260 {$IFDEF SDL13} |
|
261 windowID: TSDL_WindowID; |
|
262 data1, data2: LongInt; |
|
263 {$ENDIF} |
|
264 end; |
|
265 |
|
266 //SDL_TextEditingEvent + SDL_TextInputEvent for sdl13 |
|
267 |
|
268 TSDL_MouseMotionEvent = record |
|
269 type_: byte; |
|
270 which: byte; |
|
271 state: byte; |
|
272 {$IFDEF SDL13} |
|
273 x, y, xrel, yrel : LongInt; |
|
274 pressure, pressure_max, pressure_min, |
|
275 rotation, tilt, cursor: LongInt; |
|
276 {$ELSE} |
|
277 x, y, xrel, yrel : word; |
|
278 {$ENDIF} |
|
279 end; |
250 |
280 |
251 TSDL_KeyboardEvent = record |
281 TSDL_KeyboardEvent = record |
252 type_: Byte; |
282 type_: Byte; |
|
283 {$IFDEF SDL13} |
|
284 windowID: TSDL_WindowID; |
|
285 {$ENDIF} |
253 which: Byte; |
286 which: Byte; |
254 state: Byte; |
287 state: Byte; |
255 keysym: TSDL_KeySym; |
288 keysym: TSDL_KeySym; |
256 end; |
289 end; |
257 |
290 |
258 TSDL_MouseButtonEvent = record |
291 TSDL_MouseButtonEvent = record |
259 _type, |
292 _type, |
260 which, |
293 which, |
261 button, |
294 button, |
262 state: byte; |
295 state: byte; |
|
296 {$IFDEF SDL13} |
|
297 x, y: LongInt; |
|
298 {$ELSE} |
263 x, y: word; |
299 x, y: word; |
264 end; |
300 {$ENDIF} |
|
301 end; |
|
302 |
|
303 {$IFDEF SDL13} |
|
304 TSDL_MouseWheelEvent = record |
|
305 type_: Byte; |
|
306 windowID: TSDL_WindowID; |
|
307 which: Byte; |
|
308 x, y: LongInt; |
|
309 end; |
|
310 {$ENDIF} |
|
311 |
|
312 TSDL_JoyAxisEvent = record |
|
313 type_: Byte; |
|
314 which: Byte; |
|
315 axis: Byte; |
|
316 {$IFDEF SDL13} |
|
317 value: LongInt; |
|
318 {$ELSE} |
|
319 value: word; |
|
320 {$ENDIF} |
|
321 end; |
|
322 |
|
323 TSDL_JoyBallEvent = record |
|
324 type_: Byte; |
|
325 which: Byte; |
|
326 ball: Byte; |
|
327 {$IFDEF SDL13} |
|
328 xrel, yrel: LongInt; |
|
329 {$ELSE} |
|
330 xrel, yrel: word; |
|
331 {$ENDIF} |
|
332 end; |
|
333 |
|
334 TSDL_JoyHatEvent = record |
|
335 type_: Byte; |
|
336 which: Byte; |
|
337 hat: Byte; |
|
338 value: Byte; |
|
339 end; |
|
340 |
|
341 TSDL_JoyButtonEvent = record |
|
342 type_: Byte; |
|
343 which: Byte; |
|
344 button: Byte; |
|
345 state: Byte; |
|
346 end; |
|
347 |
|
348 TSDL_QuitEvent = record |
|
349 type_: Byte; |
|
350 end; |
|
351 |
|
352 {$IFNDEF SDL13} |
|
353 TSDL_ResizeEvent = record |
|
354 type_: Byte; |
|
355 w, h: LongInt; |
|
356 end; |
|
357 {$ENDIF} |
|
358 |
|
359 PSDL_Event = ^TSDL_Event; |
|
360 TSDL_Event = record |
|
361 case Byte of |
|
362 SDL_NOEVENT: (type_: byte); |
|
363 {$IFDEF SDL13} |
|
364 SDL_WINDOWEVENT: (active: TSDL_WindowEvent); |
|
365 SDL_KEYDOWN, |
|
366 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
|
367 SDL_TEXTEDITING, |
|
368 SDL_TEXTINPUT: (txtin: byte); |
|
369 SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent); |
|
370 SDL_MOUSEBUTTONDOWN, |
|
371 SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent); |
|
372 SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent); |
|
373 SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent); |
|
374 SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent); |
|
375 SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent); |
|
376 SDL_JOYBUTTONDOWN, |
|
377 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
|
378 SDL_QUITEV: (quit: TSDL_QuitEvent); |
|
379 {$ELSE} |
|
380 SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent); |
|
381 SDL_KEYDOWN, |
|
382 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
|
383 SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent); |
|
384 SDL_MOUSEBUTTONDOWN, |
|
385 SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent); |
|
386 SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent); |
|
387 SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent); |
|
388 SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent); |
|
389 SDL_JOYBUTTONDOWN, |
|
390 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
|
391 SDL_QUITEV: (quit: TSDL_QuitEvent); |
|
392 //SDL_SYSWMEVENT,SDL_EVENT_RESERVEDA,SDL_EVENT_RESERVEDB |
|
393 //SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent); |
|
394 {$ENDIF} |
|
395 end; |
|
396 |
|
397 PByteArray = ^TByteArray; |
|
398 TByteArray = array[0..65535] of Byte; |
|
399 PLongWordArray = ^TLongWordArray; |
|
400 TLongWordArray = array[0..16383] of LongWord; |
|
401 |
|
402 PSDL_Thread = Pointer; |
|
403 PSDL_mutex = Pointer; |
265 |
404 |
266 TSDL_GLattr = ( |
405 TSDL_GLattr = ( |
267 SDL_GL_RED_SIZE, |
406 SDL_GL_RED_SIZE, |
268 SDL_GL_GREEN_SIZE, |
407 SDL_GL_GREEN_SIZE, |
269 SDL_GL_BLUE_SIZE, |
408 SDL_GL_BLUE_SIZE, |
282 SDL_GL_ACCELERATED_VISUAL, |
421 SDL_GL_ACCELERATED_VISUAL, |
283 SDL_GL_RETAINED_BACKING, |
422 SDL_GL_RETAINED_BACKING, |
284 SDL_GL_CONTEXT_MAJOR_VERSION, |
423 SDL_GL_CONTEXT_MAJOR_VERSION, |
285 SDL_GL_CONTEXT_MINOR_VERSION |
424 SDL_GL_CONTEXT_MINOR_VERSION |
286 ); |
425 ); |
287 |
|
288 |
426 |
289 {$IFDEF SDL13} |
427 {$IFDEF SDL13} |
290 TSDL_ArrayByteOrder = ( // array component order, low byte -> high byte |
428 TSDL_ArrayByteOrder = ( // array component order, low byte -> high byte |
291 SDL_ARRAYORDER_NONE, |
429 SDL_ARRAYORDER_NONE, |
292 SDL_ARRAYORDER_RGB, |
430 SDL_ARRAYORDER_RGB, |
294 SDL_ARRAYORDER_ARGB, |
432 SDL_ARRAYORDER_ARGB, |
295 SDL_ARRAYORDER_BGR, |
433 SDL_ARRAYORDER_BGR, |
296 SDL_ARRAYORDER_BGRA, |
434 SDL_ARRAYORDER_BGRA, |
297 SDL_ARRAYORDER_ABGR |
435 SDL_ARRAYORDER_ABGR |
298 ); |
436 ); |
299 |
437 {$ENDIF} |
300 TSDL_MouseMotionEvent = record |
|
301 type_: byte; |
|
302 which: byte; |
|
303 state: byte; |
|
304 x : LongInt; |
|
305 y : LongInt; |
|
306 xrel : LongInt; |
|
307 yrel : LongInt; |
|
308 end; |
|
309 {$ENDIF} |
|
310 |
|
311 TSDL_QuitEvent = record |
|
312 type_: Byte; |
|
313 end; |
|
314 TSDL_ResizeEvent = record |
|
315 type_: Byte; |
|
316 w, h: LongInt; |
|
317 end; |
|
318 |
|
319 TSDL_JoyAxisEvent = record |
|
320 type_: Byte; |
|
321 which: Byte; |
|
322 axis: Byte; |
|
323 value: LongInt; |
|
324 end; |
|
325 |
|
326 TSDL_JoyHatEvent = record |
|
327 type_: Byte; |
|
328 which: Byte; |
|
329 hat: Byte; |
|
330 value: Byte; |
|
331 end; |
|
332 |
|
333 TSDL_JoyButtonEvent = record |
|
334 type_: Byte; |
|
335 which: Byte; |
|
336 button: Byte; |
|
337 state: Byte; |
|
338 end; |
|
339 |
|
340 PSDL_Event = ^TSDL_Event; |
|
341 TSDL_Event = record |
|
342 case Byte of |
|
343 {$IFDEF SDL13} |
|
344 //doublecheck the type of WINDOWEVENT TEXTINPUT |
|
345 SDL_NOEVENT: (type_: byte); |
|
346 SDL_WINDOWEVENT: (active: TSDL_ActiveEvent); |
|
347 SDL_KEYDOWN, |
|
348 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
|
349 SDL_TEXTINPUT: (txtin: byte); |
|
350 SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent); |
|
351 SDL_MOUSEBUTTONDOWN, |
|
352 SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent); |
|
353 {$ELSE} |
|
354 SDL_NOEVENT: (type_: byte); |
|
355 SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent); |
|
356 SDL_KEYDOWN, |
|
357 SDL_KEYUP: (key: TSDL_KeyboardEvent); |
|
358 SDL_QUITEV: (quit: TSDL_QuitEvent); |
|
359 SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent); |
|
360 SDL_MOUSEBUTTONDOWN, |
|
361 SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent); |
|
362 {$ENDIF} |
|
363 SDL_JOYAXIS: (jaxis: TSDL_JoyAxisEvent); |
|
364 SDL_JOYHAT: (jhat: TSDL_JoyHatEvent); |
|
365 SDL_JOYBUTTONDOWN, |
|
366 SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent); |
|
367 end; |
|
368 |
|
369 PByteArray = ^TByteArray; |
|
370 TByteArray = array[0..65535] of Byte; |
|
371 PLongWordArray = ^TLongWordArray; |
|
372 TLongWordArray = array[0..16383] of LongWord; |
|
373 |
|
374 PSDL_Thread = Pointer; |
|
375 PSDL_mutex = Pointer; |
|
376 |
438 |
377 function SDL_Init(flags: Longword): LongInt; cdecl; external SDLLibName; |
439 function SDL_Init(flags: Longword): LongInt; cdecl; external SDLLibName; |
378 procedure SDL_Quit; cdecl; external SDLLibName; |
440 procedure SDL_Quit; cdecl; external SDLLibName; |
379 function SDL_VideoDriverName(var namebuf; maxlen: LongInt): PChar; cdecl; external SDLLibName; |
441 function SDL_VideoDriverName(var namebuf; maxlen: LongInt): PChar; cdecl; external SDLLibName; |
380 procedure SDL_EnableUNICODE(enable: LongInt); cdecl; external SDLLibName; |
442 procedure SDL_EnableUNICODE(enable: LongInt); cdecl; external SDLLibName; |
451 {$ENDIF} |
513 {$ENDIF} |
452 |
514 |
453 |
515 |
454 |
516 |
455 // Joystick/Controller support |
517 // Joystick/Controller support |
456 type PSDLJoystick = ^TSDLJoystick; |
518 type PSDL_Joystick = ^TSDL_Joystick; |
457 TSDLJoystick = record |
519 TSDL_Joystick = record |
458 end; |
520 end; |
459 |
521 |
460 function SDL_NumJoysticks: LongInt; cdecl; external SDLLibName; |
522 const SDL_HAT_CENTERED = $00; |
461 function SDL_JoystickName(idx: LongInt): PChar; cdecl; external SDLLibName; |
523 SDL_HAT_UP = $01; |
462 function SDL_JoystickOpen(idx: LongInt): PSDLJoystick; cdecl; external SDLLibName; |
524 SDL_HAT_RIGHT = $02; |
463 function SDL_JoystickOpened(idx: LongInt): LongInt; cdecl; external SDLLibName; |
525 SDL_HAT_DOWN = $04; |
464 function SDL_JoystickIndex(joy: PSDLJoystick): LongInt; cdecl; external SDLLibName; |
526 SDL_HAT_LEFT = $08; |
465 function SDL_JoystickNumAxes(joy: PSDLJoystick): LongInt; cdecl; external SDLLibName; |
527 SDL_HAT_RIGHTUP = SDL_HAT_RIGHT or SDL_HAT_UP; |
466 function SDL_JoystickNumBalls(joy: PSDLJoystick): LongInt; cdecl; external SDLLibName; |
528 SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN; |
467 function SDL_JoystickNumHats(joy: PSDLJoystick): LongInt; cdecl; external SDLLibName; |
529 SDL_HAT_LEFTUP = SDL_HAT_LEFT or SDL_HAT_UP; |
468 function SDL_JoystickNumButtons(joy: PSDLJoystick): LongInt; cdecl; external SDLLibName; |
530 SDL_HAT_LEFTDOWN = SDL_HAT_LEFT or SDL_HAT_DOWN; |
|
531 |
|
532 function SDL_NumJoysticks: LongInt; cdecl; external SDLLibName; |
|
533 function SDL_JoystickName(idx: LongInt): PChar; cdecl; external SDLLibName; |
|
534 function SDL_JoystickOpen(idx: LongInt): PSDL_Joystick; cdecl; external SDLLibName; |
|
535 function SDL_JoystickOpened(idx: LongInt): LongInt; cdecl; external SDLLibName; |
|
536 function SDL_JoystickIndex(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName; |
|
537 function SDL_JoystickNumAxes(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName; |
|
538 function SDL_JoystickNumBalls(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName; |
|
539 function SDL_JoystickNumHats(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName; |
|
540 function SDL_JoystickNumButtons(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName; |
469 procedure SDL_JoystickUpdate; cdecl; external SDLLibName; |
541 procedure SDL_JoystickUpdate; cdecl; external SDLLibName; |
470 function SDL_JoystickEventState(state: LongInt): LongInt; cdecl; external SDLLibName; |
542 function SDL_JoystickEventState(state: LongInt): LongInt; cdecl; external SDLLibName; |
471 function SDL_JoystickGetAxis(joy: PSDLJoystick; axis: LongInt): Word; cdecl; external SDLLibName; |
543 function SDL_JoystickGetAxis(joy: PSDL_Joystick; axis: LongInt): LongInt; cdecl; external SDLLibName; |
472 const SDL_HAT_CENTERED = $00; |
544 function SDL_JoystickGetBall(joy: PSDL_Joystick; ball: LongInt; dx: PInteger; dy: PInteger): Word; cdecl; external SDLLibName; |
473 SDL_HAT_UP = $01; |
545 function SDL_JoystickGetHat(joy: PSDL_Joystick; hat: LongInt): Byte; cdecl; external SDLLibName; |
474 SDL_HAT_RIGHT = $02; |
546 function SDL_JoystickGetButton(joy: PSDL_Joystick; button: LongInt): Byte; cdecl; external SDLLibName; |
475 SDL_HAT_DOWN = $04; |
547 procedure SDL_JoystickClose(joy: PSDL_Joystick); cdecl; external SDLLibName; |
476 SDL_HAT_LEFT = $08; |
|
477 SDL_HAT_RIGHTUP = SDL_HAT_RIGHT or SDL_HAT_UP; |
|
478 SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN; |
|
479 SDL_HAT_LEFTUP = SDL_HAT_LEFT or SDL_HAT_UP; |
|
480 SDL_HAT_LEFTDOWN = SDL_HAT_LEFT or SDL_HAT_DOWN; |
|
481 function SDL_JoystickGetBall(joy: PSDLJoystick; ball: LongInt; dx: PInteger; dy: PInteger): Word; cdecl; external SDLLibName; |
|
482 function SDL_JoystickGetHat(joy: PSDLJoystick; hat: LongInt): Byte; cdecl; external SDLLibName; |
|
483 function SDL_JoystickGetButton(joy: PSDLJoystick; button: LongInt): Byte; cdecl; external SDLLibName; |
|
484 procedure SDL_JoystickClose(joy: PSDLJoystick); cdecl; external SDLLibName; |
|
485 |
548 |
486 (* TTF *) |
549 (* TTF *) |
487 |
550 |
488 const {$IFDEF WIN32} |
551 const {$IFDEF WIN32} |
489 SDL_TTFLibName = 'SDL_ttf.dll'; |
552 SDL_TTFLibName = 'SDL_ttf.dll'; |