comparison GUI/GUIWindow.h @ 2544:c674d547cc7c

GUIWindow switch logic refactored into behaviour classes
author a.parshin
date Mon, 11 May 2015 09:51:04 +0200
parents b6140dfeac27
children e06a3fe9ad6e
comparison
equal deleted inserted replaced
2543:b6140dfeac27 2544:c674d547cc7c
265 /* 298 */ 265 /* 298 */
266 enum WindowType: unsigned __int32 266 enum WindowType: unsigned __int32
267 { 267 {
268 WINDOW_null = 0, 268 WINDOW_null = 0,
269 WINDOW_MainMenu = 1, 269 WINDOW_MainMenu = 1,
270 WINDOW_GameMenu = 3, 270 WINDOW_GameMenu = 3,
271 WINDOW_CharacterRecord = 4, 271 WINDOW_CharacterRecord = 4,
272 WINDOW_Options = 6, 272 WINDOW_Options = 6,
273 WINDOW_8 = 8, 273 WINDOW_8 = 8,
274 WINDOW_Book = 9, 274 WINDOW_Book = 9,
275 WINDOW_Dialogue = 10, 275 WINDOW_Dialogue = 10,
276 WINDOW_QuickReference = 12, 276 WINDOW_QuickReference = 12,
277 WINDOW_F = 15, 277 WINDOW_F = 15,
278 WINDOW_Rest = 16, 278 WINDOW_Rest = 16,
279 WINDOW_ChangeLocation = 17, 279 WINDOW_ChangeLocation = 17,
280 WINDOW_SpellBook = 18, 280 WINDOW_SpellBook = 18,
281 WINDOW_GreetingNPC = 19, 281 WINDOW_GreetingNPC = 19,
282 WINDOW_Chest = 20, 282 WINDOW_Chest = 20,
283 WINDOW_22 = 0x16, 283 WINDOW_22 = 0x16,
284 WINDOW_SaveLoadButtons = 23, 284 WINDOW_SaveLoadButtons = 23,
285 WINDOW_MainMenu_Load = 0x18, 285 WINDOW_MainMenu_Load = 0x18,
286 WINDOW_HouseInterior = 0x19, 286 WINDOW_HouseInterior = 0x19,
287 WINDOW_Transition = 26, 287 WINDOW_Transition = 26,
288 WINDOW_CastSpell = 27, 288 WINDOW_CastSpell = 27, // OnCastTargetedSpell
289 WINDOW_Scroll = 0x1E, 289 WINDOW_Scroll = 0x1E,
290 WINDOW_CastSpell_InInventory = 31, 290 WINDOW_CastSpell_InInventory = 31,
291 WINDOW_ModalWindow = 70, 291 WINDOW_ModalWindow = 70,
292 WINDOW_50 = 80, 292 WINDOW_50 = 80,
293 WINDOW_59 = 89, 293 WINDOW_59 = 89,
294 WINDOW_PressedButton2 = 90, 294 WINDOW_PressedButton2 = 90,
295 WINDOW_CharactersPressedButton = 91, 295 WINDOW_CharactersPressedButton = 91,
296 WINDOW_PressedButton = 92, 296 WINDOW_PressedButton = 92,
297 WINDOW_5D = 93, 297 WINDOW_5D = 93,
298 WINDOW_SaveLoadBtn = 94, 298 WINDOW_SaveLoadBtn = 94,
299 WINDOW_LoadGame_CancelBtn = 95, 299 WINDOW_LoadGame_CancelBtn = 95, // OnCancel3
300 WINDOW_CloseRestWindowBtn = 96, 300 WINDOW_CloseRestWindowBtn = 96,
301 WINDOW_ExitCharacterWindow = 97, 301 WINDOW_ExitCharacterWindow = 97, // OnCancel2
302 WINDOW_RestWindow = 0x62, 302 WINDOW_RestWindow = 0x62,
303 WINDOW_BooksWindow = 99, 303 WINDOW_BooksWindow = 99,
304 WINDOW_CharacterWindow_Stats = 0x64, 304 WINDOW_CharacterWindow_Stats = 0x64,
305 WINDOW_CharacterWindow_Skills = 0x65, 305 WINDOW_CharacterWindow_Skills = 0x65,
306 WINDOW_CharacterWindow_Awards = 0x66, 306 WINDOW_CharacterWindow_Awards = 0x66,
307 WINDOW_CharacterWindow_Inventory = 0x67, 307 WINDOW_CharacterWindow_Inventory = 0x67,
308 WINDOW_68 = 104, 308 WINDOW_68 = 104,
309 WINDOW_KeyMappingOptions = 0x69, 309 WINDOW_KeyMappingOptions = 0x69,
310 WINDOW_VideoOptions = 0x6A, 310 WINDOW_VideoOptions = 0x6A,
311 WINDOW_LloydsBeacon = 177, 311 WINDOW_LloydsBeacon = 177,
312 WINDOW_TownPortal = 195, 312 WINDOW_TownPortal = 195,
313 WINDOW_QuestBook = 200, 313 WINDOW_QuestBook = 200,
314 WINDOW_AutonotesBook = 0xC9, 314 WINDOW_AutonotesBook = 0xC9,
315 WINDOW_MapsBook = 0xCA, 315 WINDOW_MapsBook = 0xCA,
316 WINDOW_CalendarBook = 0xCB, 316 WINDOW_CalendarBook = 0xCB,
317 WINDOW_JournalBook = 0xE0, 317 WINDOW_JournalBook = 0xE0,
318 }; 318 };
319 319
320 struct GUIButton; 320 struct GUIButton;
321 struct Texture; 321 struct Texture;
322 322
328 328
329 /* 155 */ 329 /* 155 */
330 #pragma pack(push, 1) 330 #pragma pack(push, 1)
331 struct GUIWindow 331 struct GUIWindow
332 { 332 {
333 inline GUIWindow() 333 GUIWindow();
334 { 334 GUIWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int pButton, const char* hint);
335 pControlsHead = pControlsTail = nullptr; 335 virtual ~GUIWindow() {}
336 eWindowType = WINDOW_null;
337 }
338 336
339 GUIButton *CreateButton(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int a6, int a7, 337 GUIButton *CreateButton(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int a6, int a7,
340 UIMessageType msg, unsigned int msg_param, unsigned __int8 uHotkey, const char *pName, struct Texture *pTextures, ...); 338 UIMessageType msg, unsigned int msg_param, unsigned __int8 uHotkey, const char *pName, struct Texture *pTextures, ...);
341 void DrawFlashingInputCursor(signed int uX, int uY, struct GUIFont *a2); 339 void DrawFlashingInputCursor(signed int uX, int uY, struct GUIFont *a2);
342 int DrawTextInRect(GUIFont *pFont, unsigned int uX, unsigned int uY, unsigned int uColor, const char *text, int rect_width, int reverse_text); 340 int DrawTextInRect(GUIFont *pFont, unsigned int uX, unsigned int uY, unsigned int uColor, const char *text, int rect_width, int reverse_text);
346 void HouseDialogManager(); 344 void HouseDialogManager();
347 void OpenSpellBook(); 345 void OpenSpellBook();
348 void InitializeBookView(); 346 void InitializeBookView();
349 void DrawMessageBox(int arg0); 347 void DrawMessageBox(int arg0);
350 GUIButton *GetControl(unsigned int uID); 348 GUIButton *GetControl(unsigned int uID);
351 void Release();
352 void _41D08F_set_keyboard_control_group(int num_buttons, int a3, int a4, int a5); 349 void _41D08F_set_keyboard_control_group(int num_buttons, int a3, int a4, int a5);
353 void _41D73D_draw_buff_tooltip(); 350 void _41D73D_draw_buff_tooltip();
354 351
355 static GUIWindow *Create(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, enum WindowType eWindowType, int pButton, const char* hint); 352 virtual void Update() {}
353 virtual void Release();
356 354
357 unsigned int uFrameX; 355 unsigned int uFrameX;
358 unsigned int uFrameY; 356 unsigned int uFrameY;
359 unsigned int uFrameWidth; 357 unsigned int uFrameWidth;
360 unsigned int uFrameHeight; 358 unsigned int uFrameHeight;
379 GUIButton *pControlsHead; 377 GUIButton *pControlsHead;
380 GUIButton *pControlsTail; 378 GUIButton *pControlsTail;
381 }; 379 };
382 #pragma pack(pop) 380 #pragma pack(pop)
383 381
384 382 struct GUIWindow_GameMenu : public GUIWindow
385 383 {
384 GUIWindow_GameMenu(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
385 GUIWindow(x, y, width, height, button, hint)
386 {}
387 virtual ~GUIWindow_GameMenu() {}
388
389 virtual void Update();
390 };
391 struct GUIWindow_CharacterRecord : public GUIWindow
392 {
393 GUIWindow_CharacterRecord(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
394 GUIWindow(x, y, width, height, button, hint)
395 {}
396 virtual ~GUIWindow_CharacterRecord() {}
397
398 virtual void Update();
399 };
400 struct GUIWindow_Options : public GUIWindow
401 {
402 GUIWindow_Options(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
403 GUIWindow(x, y, width, height, button, hint)
404 {}
405 virtual ~GUIWindow_Options() {}
406
407 virtual void Update();
408 };
409 struct GUIWindow_KeymappingOptions : public GUIWindow
410 {
411 GUIWindow_KeymappingOptions(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
412 GUIWindow(x, y, width, height, button, hint)
413 {}
414 virtual ~GUIWindow_KeymappingOptions() {}
415
416 virtual void Update();
417 };
418 struct GUIWindow_VideoOptions : public GUIWindow
419 {
420 GUIWindow_VideoOptions(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
421 GUIWindow(x, y, width, height, button, hint)
422 {}
423 virtual ~GUIWindow_VideoOptions() {}
424
425 virtual void Update();
426 };
427 struct GUIWindow_Book : public GUIWindow
428 {
429 GUIWindow_Book(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
430 GUIWindow(x, y, width, height, button, hint)
431 {
432 InitializeBookView();
433 }
434 virtual ~GUIWindow_Book() {}
435
436 virtual void Update();
437 virtual void Release();
438 };
439 struct GUIWindow_BooksWindow : public GUIWindow
440 {
441 GUIWindow_BooksWindow(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
442 GUIWindow(x, y, width, height, button, hint)
443 {}
444 virtual ~GUIWindow_BooksWindow() {}
445
446 virtual void Update();
447 };
448 struct GUIWindow_QuickReference : public GUIWindow
449 {
450 GUIWindow_QuickReference(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
451 GUIWindow(x, y, width, height, button, hint)
452 {}
453 virtual ~GUIWindow_QuickReference() {}
454
455 virtual void Update();
456 };
457 struct GUIWindow_Rest : public GUIWindow
458 {
459 GUIWindow_Rest(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
460 GUIWindow(x, y, width, height, button, hint)
461 {}
462 virtual ~GUIWindow_Rest() {}
463
464 virtual void Update();
465 };
466 struct GUIWindow_RestWindow : public GUIWindow
467 {
468 GUIWindow_RestWindow(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
469 GUIWindow(x, y, width, height, button, hint)
470 {}
471 virtual ~GUIWindow_RestWindow() {}
472
473 virtual void Update();
474 virtual void Release();
475 };
476 struct GUIWindow_Travel : public GUIWindow
477 {
478 GUIWindow_Travel(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
479 virtual ~GUIWindow_Travel() {}
480
481 virtual void Update();
482 virtual void Release();
483 };
484 struct GUIWindow_Transition : public GUIWindow
485 {
486 GUIWindow_Transition(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
487 virtual ~GUIWindow_Transition() {}
488
489 virtual void Update();
490 virtual void Release();
491 };
492 struct GUIWindow_Dialogue : public GUIWindow
493 {
494 GUIWindow_Dialogue(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
495 virtual ~GUIWindow_Dialogue() {}
496
497 virtual void Update();
498 virtual void Release();
499 };
500 struct GUIWindow_Spellbook : public GUIWindow
501 {
502 GUIWindow_Spellbook(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
503 virtual ~GUIWindow_Spellbook() {}
504
505 virtual void Update();
506 virtual void Release();
507 };
508 struct GUIWindow_GenericDialogue : public GUIWindow
509 {
510 GUIWindow_GenericDialogue(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
511 virtual ~GUIWindow_GenericDialogue() {}
512
513 virtual void Update();
514 virtual void Release();
515 };
516 struct GUIWindow_Chest : public GUIWindow
517 {
518 GUIWindow_Chest(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
519 GUIWindow(x, y, width, height, button, hint)
520 {
521 CreateButton(61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0);
522 CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0);
523 CreateButton(292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0);
524 CreateButton(407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0);
525 CreateButton(0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0, 9, "", 0);
526 }
527 virtual ~GUIWindow_Chest() {}
528
529 virtual void Update();
530 };
531 struct GUIWindow_Save : public GUIWindow
532 {
533 GUIWindow_Save(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
534 GUIWindow(x, y, width, height, button, hint)
535 {}
536 virtual ~GUIWindow_Save() {}
537
538 virtual void Update();
539 };
540 struct GUIWindow_Load : public GUIWindow
541 {
542 GUIWindow_Load(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
543 GUIWindow(x, y, width, height, button, hint)
544 {}
545 virtual ~GUIWindow_Load() {}
546
547 virtual void Update();
548 };
549 struct GUIWindow_House : public GUIWindow
550 {
551 GUIWindow_House(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
552 virtual ~GUIWindow_House() {}
553
554 virtual void Update();
555 virtual void Release();
556 };
557 struct GUIWindow_Scroll : public GUIWindow
558 {
559 GUIWindow_Scroll(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
560 GUIWindow(x, y, width, height, button, hint)
561 {
562 CreateButton(61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0);
563 CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0);
564 CreateButton(292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0);
565 CreateButton(407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0);
566 CreateButton(0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0, '\t', "", 0);
567 }
568 virtual ~GUIWindow_Scroll() {}
569
570 virtual void Update();
571 };
572 struct GUIWindow_Inventory : public GUIWindow
573 {
574 GUIWindow_Inventory(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
575 GUIWindow(x, y, width, height, button, hint)
576 {}
577 virtual ~GUIWindow_Inventory() {}
578
579 virtual void Update();
580 virtual void Release();
581 };
582 struct GUIWindow_Inventory_CastSpell : public GUIWindow
583 {
584 GUIWindow_Inventory_CastSpell(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
585 virtual ~GUIWindow_Inventory_CastSpell() {}
586
587 virtual void Update();
588 };
589 struct GUIWindow_Modal : public GUIWindow
590 {
591 GUIWindow_Modal(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
592 GUIWindow(x, y, width, height, button, hint)
593 {}
594 virtual ~GUIWindow_Modal() {}
595
596 virtual void Update();
597 };
598 struct OnButtonClick : public GUIWindow
599 {
600 OnButtonClick(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
601 GUIWindow(x, y, width, height, button, hint)
602 {}
603 virtual ~OnButtonClick() {}
604
605 virtual void Update();
606 };
607 struct OnButtonClick2 : public GUIWindow
608 {
609 OnButtonClick2(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
610 GUIWindow(x, y, width, height, button, hint)
611 {}
612 virtual ~OnButtonClick2() {}
613
614 virtual void Update();
615 };
616 struct OnButtonClick3 : public GUIWindow
617 {
618 OnButtonClick3(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
619 GUIWindow(x, y, width, height, button, hint)
620 {}
621 virtual ~OnButtonClick3() {}
622
623 virtual void Update();
624 };
625 struct OnButtonClick4 : public GUIWindow
626 {
627 OnButtonClick4(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
628 GUIWindow(x, y, width, height, button, hint)
629 {}
630 virtual ~OnButtonClick4() {}
631
632 virtual void Update();
633 virtual void Release();
634 };
635 struct OnSaveLoad : public GUIWindow
636 {
637 OnSaveLoad(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
638 GUIWindow(x, y, width, height, button, hint)
639 {}
640 virtual ~OnSaveLoad() {}
641
642 virtual void Update();
643 };
644 struct OnCancel : public GUIWindow
645 {
646 OnCancel(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
647 GUIWindow(x, y, width, height, button, hint)
648 {}
649 virtual ~OnCancel() {}
650
651 virtual void Update();
652 };
653 struct OnCancel2 : public GUIWindow
654 {
655 OnCancel2(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
656 GUIWindow(x, y, width, height, button, hint)
657 {}
658 virtual ~OnCancel2() {}
659
660 virtual void Update();
661 };
662 struct OnCancel3 : public GUIWindow
663 {
664 OnCancel3(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) :
665 GUIWindow(x, y, width, height, button, hint)
666 {}
667 virtual ~OnCancel3() {}
668
669 virtual void Update();
670 };
671 struct OnCastTargetedSpell : public GUIWindow
672 {
673 OnCastTargetedSpell(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint);
674 virtual ~OnCastTargetedSpell() {}
675 };
386 676
387 677
388 678
389 679
390 680
471 761
472 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType); 762 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType);
473 763
474 764
475 765
476 extern int pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[]; // idb 766 extern enum WindowType current_character_screen_window;
477 extern struct GUIWindow *pWindow_MMT_MainMenu; 767 extern struct GUIWindow *pWindow_MMT_MainMenu;
478 extern struct GUIWindow *pWindow_MainMenu; 768 extern struct GUIWindow *pWindow_MainMenu;
479 extern std::array<struct GUIWindow, 20> pWindowList; 769 extern std::array<struct GUIWindow *, 20> pWindowList;
480 770
481 771
482 772
483 773
484 void ModalWindow(const char *pStrHint, UIMessageType OnRelease_message); 774 void ModalWindow(const char *pStrHint, UIMessageType OnRelease_message);
614 void Inventory_ItemPopupAndAlchemy(); 904 void Inventory_ItemPopupAndAlchemy();
615 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer); 905 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer);
616 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos); 906 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos);
617 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels); 907 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels);
618 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb 908 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb
619 int __fastcall GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall); 909 void GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall);
620 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font); 910 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font);
621 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb 911 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb
622 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window); 912 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window);
623 void SetUserInterface(enum PartyAlignment alignment, bool bReplace); 913 void SetUserInterface(enum PartyAlignment alignment, bool bReplace);
624 void CreateMsgScrollWindow(signed int mscroll_id); 914 void CreateMsgScrollWindow(signed int mscroll_id);
745 extern struct GUIButton *pMMT_MainMenu_BtnMM6; 1035 extern struct GUIButton *pMMT_MainMenu_BtnMM6;
746 extern struct GUIButton *pMMT_MainMenu_BtnMM7; 1036 extern struct GUIButton *pMMT_MainMenu_BtnMM7;
747 extern struct GUIButton *pMMT_MainMenu_BtnMM8; 1037 extern struct GUIButton *pMMT_MainMenu_BtnMM8;
748 extern struct GUIButton *pMMT_MainMenu_BtnContinue; 1038 extern struct GUIButton *pMMT_MainMenu_BtnContinue;
749 extern struct GUIButton *pMMT_MainMenu_BtnExit; 1039 extern struct GUIButton *pMMT_MainMenu_BtnExit;
750
751 extern struct GUIButton *pMainMenu_BtnExit;
752 extern struct GUIButton *pMainMenu_BtnCredits;
753 extern struct GUIButton *pMainMenu_BtnLoad;
754 extern struct GUIButton *pMainMenu_BtnNew;
755 1040
756 1041
757 extern struct GUIButton *pBtn_Up; 1042 extern struct GUIButton *pBtn_Up;
758 extern struct GUIButton *pBtn_Down; 1043 extern struct GUIButton *pBtn_Down;
759 extern struct GUIButton *ptr_507BA4; 1044 extern struct GUIButton *ptr_507BA4;