diff --git a/OpenRCT2.xcodeproj/project.pbxproj b/OpenRCT2.xcodeproj/project.pbxproj index fe7cc4cd47..e829769110 100644 --- a/OpenRCT2.xcodeproj/project.pbxproj +++ b/OpenRCT2.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 4C5C268D1F31F65B003F90A1 /* About.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C5C268C1F31F65B003F90A1 /* About.cpp */; }; 4C8667821EEFDCDF0024AAB8 /* RideGroupManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C8667801EEFDCDF0024AAB8 /* RideGroupManager.cpp */; }; 4C8B42701EEB1ABD00F015CA /* X8DrawingEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B426E1EEB1ABD00F015CA /* X8DrawingEngine.cpp */; }; 4C8B42721EEB1AE400F015CA /* HardwareDisplayDrawingEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C8B42711EEB1AE400F015CA /* HardwareDisplayDrawingEngine.cpp */; }; @@ -324,7 +325,6 @@ F76C87411EC4E88400FA49E2 /* sawyercoding.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85071EC4E7CD00FA49E2 /* sawyercoding.c */; }; F76C87431EC4E88400FA49E2 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85091EC4E7CD00FA49E2 /* util.c */; }; F76C87451EC4E88400FA49E2 /* Version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F76C850B1EC4E7CD00FA49E2 /* Version.cpp */; }; - F76C87471EC4E88400FA49E2 /* about.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C850E1EC4E7CD00FA49E2 /* about.c */; }; F76C87481EC4E88400FA49E2 /* banner.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C850F1EC4E7CD00FA49E2 /* banner.c */; }; F76C87491EC4E88400FA49E2 /* changelog.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85101EC4E7CD00FA49E2 /* changelog.c */; }; F76C874A1EC4E88400FA49E2 /* cheats.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85111EC4E7CD00FA49E2 /* cheats.c */; }; @@ -364,7 +364,6 @@ F76C876E1EC4E88400FA49E2 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85351EC4E7CD00FA49E2 /* options.c */; }; F76C876F1EC4E88400FA49E2 /* park.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85361EC4E7CD00FA49E2 /* park.c */; }; F76C87701EC4E88400FA49E2 /* player.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85371EC4E7CD00FA49E2 /* player.c */; }; - F76C87711EC4E88400FA49E2 /* publisher_credits.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85381EC4E7CD00FA49E2 /* publisher_credits.c */; }; F76C87721EC4E88400FA49E2 /* research.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C85391EC4E7CD00FA49E2 /* research.c */; }; F76C87731EC4E88400FA49E2 /* ride.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C853A1EC4E7CD00FA49E2 /* ride.c */; }; F76C87741EC4E88400FA49E2 /* ride_construction.c in Sources */ = {isa = PBXBuildFile; fileRef = F76C853B1EC4E7CD00FA49E2 /* ride_construction.c */; }; @@ -568,6 +567,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 4C5C268C1F31F65B003F90A1 /* About.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = About.cpp; sourceTree = ""; }; 4C8667801EEFDCDF0024AAB8 /* RideGroupManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RideGroupManager.cpp; sourceTree = ""; }; 4C8667811EEFDCDF0024AAB8 /* RideGroupManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RideGroupManager.h; sourceTree = ""; }; 4C8B426E1EEB1ABD00F015CA /* X8DrawingEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = X8DrawingEngine.cpp; sourceTree = ""; }; @@ -1196,7 +1196,6 @@ F76C850A1EC4E7CD00FA49E2 /* util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = ""; }; F76C850B1EC4E7CD00FA49E2 /* Version.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Version.cpp; sourceTree = ""; }; F76C850C1EC4E7CD00FA49E2 /* Version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Version.h; sourceTree = ""; }; - F76C850E1EC4E7CD00FA49E2 /* about.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = about.c; sourceTree = ""; }; F76C850F1EC4E7CD00FA49E2 /* banner.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = banner.c; sourceTree = ""; }; F76C85101EC4E7CD00FA49E2 /* changelog.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = changelog.c; sourceTree = ""; }; F76C85111EC4E7CD00FA49E2 /* cheats.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = cheats.c; sourceTree = ""; }; @@ -1238,7 +1237,6 @@ F76C85351EC4E7CD00FA49E2 /* options.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = ""; }; F76C85361EC4E7CD00FA49E2 /* park.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = park.c; sourceTree = ""; }; F76C85371EC4E7CD00FA49E2 /* player.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = player.c; sourceTree = ""; }; - F76C85381EC4E7CD00FA49E2 /* publisher_credits.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = publisher_credits.c; sourceTree = ""; }; F76C85391EC4E7CD00FA49E2 /* research.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = research.c; sourceTree = ""; }; F76C853A1EC4E7CD00FA49E2 /* ride.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ride.c; sourceTree = ""; }; F76C853B1EC4E7CD00FA49E2 /* ride_construction.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ride_construction.c; sourceTree = ""; }; @@ -2393,7 +2391,7 @@ F76C850D1EC4E7CD00FA49E2 /* windows */ = { isa = PBXGroup; children = ( - F76C850E1EC4E7CD00FA49E2 /* about.c */, + 4C5C268C1F31F65B003F90A1 /* About.cpp */, F76C850F1EC4E7CD00FA49E2 /* banner.c */, F76C85101EC4E7CD00FA49E2 /* changelog.c */, F76C85111EC4E7CD00FA49E2 /* cheats.c */, @@ -2436,7 +2434,6 @@ F76C85351EC4E7CD00FA49E2 /* options.c */, F76C85361EC4E7CD00FA49E2 /* park.c */, F76C85371EC4E7CD00FA49E2 /* player.c */, - F76C85381EC4E7CD00FA49E2 /* publisher_credits.c */, F76C85391EC4E7CD00FA49E2 /* research.c */, F76C853A1EC4E7CD00FA49E2 /* ride.c */, F76C853B1EC4E7CD00FA49E2 /* ride_construction.c */, @@ -2988,6 +2985,7 @@ F76C88781EC5324E00FA49E2 /* AudioChannel.cpp in Sources */, F76C88791EC5324E00FA49E2 /* AudioContext.cpp in Sources */, 4CB832AC1EFFB8D100B88761 /* ttf.c in Sources */, + 4C5C268D1F31F65B003F90A1 /* About.cpp in Sources */, 4C8B42721EEB1AE400F015CA /* HardwareDisplayDrawingEngine.cpp in Sources */, F76C887A1EC5324E00FA49E2 /* AudioMixer.cpp in Sources */, F76C887B1EC5324E00FA49E2 /* FileAudioSource.cpp in Sources */, @@ -3278,7 +3276,6 @@ F76C87411EC4E88400FA49E2 /* sawyercoding.c in Sources */, F76C87431EC4E88400FA49E2 /* util.c in Sources */, F76C87451EC4E88400FA49E2 /* Version.cpp in Sources */, - F76C87471EC4E88400FA49E2 /* about.c in Sources */, F76C87481EC4E88400FA49E2 /* banner.c in Sources */, F76C87491EC4E88400FA49E2 /* changelog.c in Sources */, F76C874A1EC4E88400FA49E2 /* cheats.c in Sources */, @@ -3318,7 +3315,6 @@ F76C876E1EC4E88400FA49E2 /* options.c in Sources */, F76C876F1EC4E88400FA49E2 /* park.c in Sources */, F76C87701EC4E88400FA49E2 /* player.c in Sources */, - F76C87711EC4E88400FA49E2 /* publisher_credits.c in Sources */, F76C87721EC4E88400FA49E2 /* research.c in Sources */, F76C87731EC4E88400FA49E2 /* ride.c in Sources */, F76C87741EC4E88400FA49E2 /* ride_construction.c in Sources */, diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index 1bc4cb6c32..78c8fa6134 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -851,7 +851,7 @@ STR_0845 : STR_0846 : STR_0847 :About 'OpenRCT2' STR_0848 :RollerCoaster Tycoon 2 -STR_0849 :{WINDOW_COLOUR_2}Version 2.01.028 +STR_0849 : STR_0850 :{WINDOW_COLOUR_2}Copyright {COPYRIGHT} 2002 Chris Sawyer, all rights reserved STR_0851 :{WINDOW_COLOUR_2}Designed and programmed by Chris Sawyer STR_0852 :{WINDOW_COLOUR_2}Graphics by Simon Foster @@ -860,13 +860,13 @@ STR_0854 :{WINDOW_COLOUR_2}Additional sounds recorded by David Ellis STR_0855 :{WINDOW_COLOUR_2}Representation by Jacqui Lyons at Marjacq Ltd. STR_0856 :{WINDOW_COLOUR_2}Thanks to: STR_0857 :{WINDOW_COLOUR_2}Peter James Adcock, Joe Booth, and John Wardley -STR_0858 :{WINDOW_COLOUR_2} -STR_0859 :{WINDOW_COLOUR_2} -STR_0860 :{WINDOW_COLOUR_2} -STR_0861 : -STR_0862 : -STR_0863 : -STR_0864 : +STR_0858 : +STR_0859 : +STR_0860 : +STR_0861 : +STR_0862 : +STR_0863 : +STR_0864 : STR_0865 :{STRINGID} STR_0866 :{POP16}{STRINGID} STR_0867 :{POP16}{POP16}{STRINGID} @@ -2867,7 +2867,7 @@ STR_2856 :{WINDOW_COLOUR_2}Tutorial STR_2857 :{WINDOW_COLOUR_2}(Press a key or mouse button to take control) STR_2858 :Can't start marketing campaign... STR_2859 :Another instance of OpenRCT2 is already running -STR_2860 :Infogrames Interactive credits... +STR_2860 : STR_2861 :{WINDOW_COLOUR_2}Licensed to Infogrames Interactive Inc. STR_2862 :Music acknowledgements... STR_2863 :Music acknowledgements @@ -2915,29 +2915,29 @@ STR_2904 :{WINDOW_COLOUR_2}Manic Mechanic: (Allister Brimble) copyright {CO STR_2905 :{WINDOW_COLOUR_2}Techno Torture: (Allister Brimble) copyright {COPYRIGHT} Chris Sawyer STR_2906 :{WINDOW_COLOUR_2}Sweat Dreams: (Allister Brimble) copyright {COPYRIGHT} Chris Sawyer STR_2907 :{WINDOW_COLOUR_2}What shall we do with the Drunken Sailor: (Anon/Allister Brimble) copyright {COPYRIGHT} Chris Sawyer -STR_2908 :{WINDOW_COLOUR_2}Infogrames Interactive -STR_2909 :{WINDOW_COLOUR_2}Senior Producer: Thomas J. Zahorik -STR_2910 :{WINDOW_COLOUR_2}Executive Producer: Bill Levay -STR_2911 :{WINDOW_COLOUR_2}Senior Marketing Product Manager: Scott Triola -STR_2912 :{WINDOW_COLOUR_2}V.P. of Product Development: Scott Walker -STR_2913 :{WINDOW_COLOUR_2}General Manager: John Hurlbut -STR_2914 :{WINDOW_COLOUR_2}Director of Quality Assurance: Michael Craighead -STR_2915 :{WINDOW_COLOUR_2}Q.A. Certification Manager: Kurt Boutin -STR_2916 :{WINDOW_COLOUR_2}Q.A. Certification Lead: Mark Huggins -STR_2917 :{WINDOW_COLOUR_2}Testers: Dena Irene Fitzgerald, Scott Rollins, Christopher McPhail -STR_2918 :{WINDOW_COLOUR_2}Clif McClure, Erik Maramaldi, Erik Jeffery -STR_2919 :{WINDOW_COLOUR_2}Director of Marketing: Ann Marie Bland -STR_2920 :{WINDOW_COLOUR_2}Manager of Creative Services: Steve Martin -STR_2921 :{WINDOW_COLOUR_2}Manager of Editorial & Documentation Services: Elizabeth Mackney -STR_2922 :{WINDOW_COLOUR_2}Graphic Designer: Paul Anselmi -STR_2923 :{WINDOW_COLOUR_2}Copywriter: Kurt Carlson -STR_2924 :{WINDOW_COLOUR_2}Special Thanks to: Peter Matiss -STR_2925 :{WINDOW_COLOUR_2}Engineering Specialist: Ken Edwards -STR_2926 :{WINDOW_COLOUR_2}Engineering Services Manager: Luis Rivas -STR_2927 :{WINDOW_COLOUR_2}Lead Compatibility Analyst: Geoffrey Smith -STR_2928 :{WINDOW_COLOUR_2}Compatibility Analysts: Jason Cordero, Burke McQuinn, Kim Jardin -STR_2929 :{WINDOW_COLOUR_2}Lead Tester: Daniel Frisoli -STR_2930 :{WINDOW_COLOUR_2}Senior Tester: Matt Pantaleoni +STR_2908 : +STR_2909 : +STR_2910 : +STR_2911 : +STR_2912 : +STR_2913 : +STR_2914 : +STR_2915 : +STR_2916 : +STR_2917 : +STR_2918 : +STR_2919 : +STR_2920 : +STR_2921 : +STR_2922 : +STR_2923 : +STR_2924 : +STR_2925 : +STR_2926 : +STR_2927 : +STR_2928 : +STR_2929 : +STR_2930 : STR_2931 :{WINDOW_COLOUR_2} STR_2932 :{WINDOW_COLOUR_2} STR_2933 :{WINDOW_COLOUR_2} @@ -4446,8 +4446,9 @@ STR_6134 :Clear Scenery STR_6135 :Client sent invalid request STR_6136 :Server sent invalid request STR_6137 :OpenRCT2, a free and open source clone of Roller Coaster Tycoon 2. -STR_6138 :OpenRCT2 is the work of many authors, a full list can be found in "Contributors". For more information, visit http://github.com/OpenRCT2/OpenRCT2 -STR_6139 :All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. +STR_6138 :OpenRCT2 is the work of many authors, a full list can be found in {OPENQUOTES}contributors.md{ENDQUOTES}. For more information, visit http://github.com/OpenRCT2/OpenRCT2 +STR_6139 :All product and company names belong to their respective holders. Use of them does not imply any affiliation with or endorsement by them. +STR_6140 :Changelog... ############# # Scenarios # diff --git a/src/openrct2/interface/window.h b/src/openrct2/interface/window.h index 3584d70a34..04a1c67baa 100644 --- a/src/openrct2/interface/window.h +++ b/src/openrct2/interface/window.h @@ -756,7 +756,6 @@ void window_research_funding_page_paint(rct_window *w, rct_drawpixelinfo *dpi, r void window_scenery_open(); void window_music_credits_open(); -void window_publisher_credits_open(); void window_track_manage_open(struct track_design_file_ref *tdFileRef); void window_viewport_open(); void window_themes_open(); diff --git a/src/openrct2/localisation/string_ids.h b/src/openrct2/localisation/string_ids.h index cbf08f33da..19d4848d59 100644 --- a/src/openrct2/localisation/string_ids.h +++ b/src/openrct2/localisation/string_ids.h @@ -284,7 +284,7 @@ enum { // STR_0846 : STR_ABOUT = 847, STR_ROLLERCOASTER_TYCOON_2 = 848, - STR_VERSION_X = 849, + //STR_VERSION_X = 849, STR_COPYRIGHT_CS = 850, STR_DESIGNED_AND_PROGRAMMED_BY_CS = 851, STR_GRAPHICS_BY_SF = 852, @@ -293,13 +293,7 @@ enum { STR_REPRESENTATION_BY_JL = 855, STR_THANKS_TO = 856, STR_THANKS_TO_PEOPLE = 857, - STR_CREDIT_SPARE_1 = 858, - STR_CREDIT_SPARE_2 = 859, - STR_CREDIT_SPARE_3 = 860, - STR_CREDIT_SPARE_4 = 861, - STR_CREDIT_SPARE_5 = 862, - STR_CREDIT_SPARE_6 = 863, - STR_CREDIT_SPARE_7 = 864, +// STR_0858 to 0864 are removed. STR_STRINGID = 865, STR_ARG_2_STRINGID = 866, // Unused STR_ARG_4_STRINGID = 867, // Unused @@ -2298,7 +2292,6 @@ enum { // STR_2857 :{WINDOW_COLOUR_2}(Press a key or mouse button to take control) STR_CANT_START_MARKETING_CAMPAIGN = 2858, // STR_2859 :Another instance of OpenRCT2 is already running - STR_INFOGRAMES_INTERACTIVE_CREDITS = 2860, STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC = 2861, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS = 2862, STR_MUSIC_ACKNOWLEDGEMENTS = 2863, @@ -2346,29 +2339,6 @@ enum { STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE = 2905, STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS = 2906, STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR = 2907, - STR_CREDITS_PUBLISHER_TILE = 2908, - STR_CREDITS_PUBLISHER_LINE_0 = 2909, - STR_CREDITS_PUBLISHER_LINE_1 = 2910, - STR_CREDITS_PUBLISHER_LINE_2 = 2911, - STR_CREDITS_PUBLISHER_LINE_3 = 2912, - STR_CREDITS_PUBLISHER_LINE_4 = 2913, - STR_CREDITS_PUBLISHER_LINE_5 = 2914, - STR_CREDITS_PUBLISHER_LINE_6 = 2915, - STR_CREDITS_PUBLISHER_LINE_7 = 2916, - STR_CREDITS_PUBLISHER_LINE_10 = 2917, - STR_CREDITS_PUBLISHER_LINE_11 = 2918, - STR_CREDITS_PUBLISHER_LINE_14 = 2919, - STR_CREDITS_PUBLISHER_LINE_15 = 2920, - STR_CREDITS_PUBLISHER_LINE_16 = 2921, - STR_CREDITS_PUBLISHER_LINE_17 = 2922, - STR_CREDITS_PUBLISHER_LINE_18 = 2923, - STR_CREDITS_PUBLISHER_LINE_21 = 2924, - STR_CREDITS_PUBLISHER_LINE_19 = 2925, - STR_CREDITS_PUBLISHER_LINE_20 = 2926, - STR_CREDITS_PUBLISHER_LINE_12 = 2927, - STR_CREDITS_PUBLISHER_LINE_13 = 2928, - STR_CREDITS_PUBLISHER_LINE_9 = 2929, - STR_CREDITS_PUBLISHER_LINE_8 = 2930, STR_MAIN_COLOUR_SCHEME = 2971, STR_ALTERNATIVE_COLOUR_SCHEME_1 = 2972, @@ -3814,6 +3784,8 @@ enum { STR_ABOUT_OPENRCT2_DESCRIPTION_2 = 6138, STR_ABOUT_OPENRCT2_DESCRIPTION_3 = 6139, + STR_CHANGELOG_ELLIPSIS = 6140, + // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working STR_COUNT = 32768 }; diff --git a/src/openrct2/windows/about.c b/src/openrct2/windows/About.cpp similarity index 62% rename from src/openrct2/windows/about.c rename to src/openrct2/windows/About.cpp index 61fbe77e58..beeea1a508 100644 --- a/src/openrct2/windows/about.c +++ b/src/openrct2/windows/About.cpp @@ -14,14 +14,18 @@ *****************************************************************************/ #pragma endregion -#include "../localisation/localisation.h" -#include "../sprites.h" -#include "../interface/widget.h" -#include "../interface/window.h" #include "../OpenRCT2.h" +extern "C" +{ + #include "../interface/widget.h" + #include "../localisation/localisation.h" + #include "../sprites.h" +} + #define WW 400 -#define WH 330 +#define WH 350 +#define TABHEIGHT 50 enum { @@ -33,9 +37,9 @@ enum WINDOW_ABOUT_WIDGET_IDX { WIDX_BACKGROUND, WIDX_TITLE, WIDX_CLOSE, - WIDX_ABOUT_OPENRCT2, - WIDX_ABOUT_RCT2, WIDX_PAGE_BACKGROUND, + WIDX_TAB_ABOUT_OPENRCT2, + WIDX_TAB_ABOUT_RCT2, WIDX_PAGE_START, @@ -44,27 +48,25 @@ enum WINDOW_ABOUT_WIDGET_IDX { // About RCT2 WIDX_MUSIC_CREDITS = WIDX_PAGE_START, - WIDX_PUBLISHER_CREDITS }; #define WIDGETS_MAIN \ - WWT_FRAME, 0, 0, 399, 0, 329, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ - { WWT_CAPTION, 0, 1, 398, 1, 14, STR_ROLLERCOASTER_TYCOON_2, STR_WINDOW_TITLE_TIP }, /* title bar */ \ - { WWT_CLOSEBOX, 0, 387, 397, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ - { WWT_DROPDOWN_BUTTON, 0, 10, 199, 15, 30, STR_TITLE_SEQUENCE_OPENRCT2, STR_NONE }, /* about OpenRCT2 button */ \ - { WWT_DROPDOWN_BUTTON, 0, 201, 390, 15, 30, STR_TITLE_SEQUENCE_RCT2, STR_NONE }, /* about RCT2 button */ \ - { WWT_IMGBTN, 1, 0, 399, 31, WH - 1, 0xFFFFFFFF, STR_NONE /* page background */ + WWT_FRAME, 0, 0, WW - 1, 0, WH - 1, 0xFFFFFFFF, STR_NONE }, /* panel / background */ \ + { WWT_CAPTION, 0, 1, WW - 2, 1, 14, STR_ABOUT, STR_WINDOW_TITLE_TIP }, /* title bar */ \ + { WWT_CLOSEBOX, 0, WW - 13, WW - 3, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, /* close x button */ \ + { WWT_IMGBTN, 1, 0, WW - 1, TABHEIGHT, WH - 1, 0xFFFFFFFF, STR_NONE }, /* page background */ \ + { WWT_TAB, 1, 3, 93, 17, TABHEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE }, /* about OpenRCT2 button */ \ + { WWT_TAB, 1, 94, 184, 17, TABHEIGHT, IMAGE_TYPE_REMAP | SPR_TAB_LARGE, STR_NONE /* about RCT2 button */ static rct_widget window_about_openrct2_widgets[] = { { WIDGETS_MAIN }, - { WWT_DROPDOWN_BUTTON, 1, 125, 275, 300, 311, STR_CHANGELOG_TITLE, STR_NONE }, // changelog button + { WWT_DROPDOWN_BUTTON, 1, 100, 299, WH - 50, WH - 39, STR_CHANGELOG_ELLIPSIS, STR_NONE }, // changelog button { WIDGETS_END } }; static rct_widget window_about_rct2_widgets[] = { { WIDGETS_MAIN }, - { WWT_DROPDOWN_BUTTON, 1, 100, 299, 230, 241, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS, STR_NONE }, // music credits button - { WWT_DROPDOWN_BUTTON, 1, 157, 356, 307, 318, STR_INFOGRAMES_INTERACTIVE_CREDITS, STR_NONE }, // infogrames credits button + { WWT_DROPDOWN_BUTTON, 1, 100, 299, WH - 50, WH - 39, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS, STR_NONE }, // music credits button { WIDGETS_END }, }; @@ -74,11 +76,11 @@ static rct_widget *window_about_page_widgets[] = { }; #define DEFAULT_ENABLED_WIDGETS \ - 1ULL << WIDX_CLOSE) | (1ULL << WIDX_ABOUT_OPENRCT2) | (1ULL << WIDX_ABOUT_RCT2 + (1ULL << WIDX_CLOSE) | (1ULL << WIDX_TAB_ABOUT_OPENRCT2) | (1ULL << WIDX_TAB_ABOUT_RCT2) static uint64 window_about_page_enabled_widgets[] = { - (DEFAULT_ENABLED_WIDGETS) | (1ULL << WIDX_CHANGELOG), - (DEFAULT_ENABLED_WIDGETS) | (1ULL << WIDX_MUSIC_CREDITS) | (1ULL << WIDX_PUBLISHER_CREDITS), + DEFAULT_ENABLED_WIDGETS | (1ULL << WIDX_CHANGELOG), + DEFAULT_ENABLED_WIDGETS | (1ULL << WIDX_MUSIC_CREDITS), }; static void window_about_openrct2_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -86,6 +88,7 @@ static void window_about_openrct2_paint(rct_window *w, rct_drawpixelinfo *dpi); static void window_about_rct2_mouseup(rct_window *w, rct_widgetindex widgetIndex); static void window_about_rct2_paint(rct_window *w, rct_drawpixelinfo *dpi); +static void window_about_openrct2_common_paint(rct_window *w, rct_drawpixelinfo *dpi); static rct_window_event_list window_about_openrct2_events = { NULL, @@ -160,7 +163,7 @@ static void window_about_set_page(rct_window *w, sint32 page); * * rct2: 0x0066D2AC */ -void window_about_open() +static void _window_about_open() { rct_window* window; @@ -176,11 +179,11 @@ void window_about_open() WC_ABOUT, 0 ); - window->widgets = window_about_page_widgets[WINDOW_ABOUT_PAGE_OPENRCT2]; - window->enabled_widgets = window_about_page_enabled_widgets[WINDOW_ABOUT_PAGE_OPENRCT2]; + + window_about_set_page(window, WINDOW_ABOUT_PAGE_OPENRCT2); window_init_scroll_widgets(window); - window->colours[0] = COLOUR_LIGHT_BLUE; + window->colours[0] = COLOUR_GREY; window->colours[1] = COLOUR_LIGHT_BLUE; window->colours[2] = COLOUR_LIGHT_BLUE; } @@ -193,9 +196,9 @@ static void window_about_openrct2_mouseup(rct_window *w, rct_widgetindex widgetI case WIDX_CLOSE: window_close(w); break; - case WIDX_ABOUT_OPENRCT2: - case WIDX_ABOUT_RCT2: - window_about_set_page(w, widgetIndex - WIDX_ABOUT_OPENRCT2); + case WIDX_TAB_ABOUT_OPENRCT2: + case WIDX_TAB_ABOUT_RCT2: + window_about_set_page(w, widgetIndex - WIDX_TAB_ABOUT_OPENRCT2); break; case WIDX_CHANGELOG: window_changelog_open(); @@ -203,23 +206,38 @@ static void window_about_openrct2_mouseup(rct_window *w, rct_widgetindex widgetI } } +static void window_about_openrct2_common_paint(rct_window * w, rct_drawpixelinfo * dpi) +{ + sint32 x1, x2, y; + + x1 = w->x + (&w->widgets[WIDX_TAB_ABOUT_OPENRCT2])->left + 45; + x2 = w->x + (&w->widgets[WIDX_TAB_ABOUT_RCT2])->left + 45; + y = w->y + (((&w->widgets[WIDX_TAB_ABOUT_OPENRCT2])->top + (&w->widgets[WIDX_TAB_ABOUT_OPENRCT2])->bottom) / 2) - 3; + + set_format_arg(0, rct_string_id, STR_TITLE_SEQUENCE_OPENRCT2); + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x1, y, 87, STR_WINDOW_COLOUR_2_STRINGID, COLOUR_AQUAMARINE); + + set_format_arg(0, rct_string_id, STR_TITLE_SEQUENCE_RCT2); + gfx_draw_string_centred_wrapped(dpi, gCommonFormatArgs, x2, y, 87, STR_WINDOW_COLOUR_2_STRINGID, COLOUR_AQUAMARINE); +} + static void window_about_openrct2_paint(rct_window *w, rct_drawpixelinfo *dpi) { window_draw_widgets(w, dpi); + window_about_openrct2_common_paint(w, dpi); sint32 x, y, width; rct_size16 logoSize; x = w->x + (w->width / 2); - y = w->y + w->widgets[WIDX_PAGE_BACKGROUND].top + 5; + y = w->y + w->widgets[WIDX_PAGE_BACKGROUND].top + 10; width = w->width - 20; utf8 buffer[256]; utf8 *ch = buffer; - openrct2_write_full_version_info(ch, sizeof(buffer) - (ch - buffer)); - y += gfx_draw_string_centred_wrapped(dpi, &ch, x, y, width, STR_STRING, w->colours[2]) + 11; - y += gfx_draw_string_centred_wrapped(dpi, NULL, x, y, width, STR_ABOUT_OPENRCT2_DESCRIPTION, w->colours[2]) + 2; + + y += gfx_draw_string_centred_wrapped(dpi, NULL, x, y, width, STR_ABOUT_OPENRCT2_DESCRIPTION, w->colours[2]) + 10; logoSize = gfx_get_sprite_size(SPR_G2_LOGO); gfx_draw_sprite(dpi, SPR_G2_LOGO, x - (logoSize.width / 2), y, 0); @@ -227,6 +245,9 @@ static void window_about_openrct2_paint(rct_window *w, rct_drawpixelinfo *dpi) y += gfx_draw_string_centred_wrapped(dpi, NULL, x, y, width, STR_ABOUT_OPENRCT2_DESCRIPTION_2, w->colours[2]) + 15; gfx_draw_string_centred_wrapped(dpi, NULL, x, y, width, STR_ABOUT_OPENRCT2_DESCRIPTION_3, w->colours[2]); + + gfx_draw_string_centred_wrapped(dpi, &ch, x, w->y + WH - 25, width, STR_STRING, w->colours[2]); + } #pragma endregion OpenRCT2 @@ -243,16 +264,13 @@ static void window_about_rct2_mouseup(rct_window *w, rct_widgetindex widgetIndex case WIDX_CLOSE: window_close(w); break; - case WIDX_ABOUT_OPENRCT2: - case WIDX_ABOUT_RCT2: - window_about_set_page(w, widgetIndex - WIDX_ABOUT_OPENRCT2); + case WIDX_TAB_ABOUT_OPENRCT2: + case WIDX_TAB_ABOUT_RCT2: + window_about_set_page(w, widgetIndex - WIDX_TAB_ABOUT_OPENRCT2); break; case WIDX_MUSIC_CREDITS: window_music_credits_open(); break; - case WIDX_PUBLISHER_CREDITS: - window_publisher_credits_open(); - break; } } @@ -265,19 +283,16 @@ static void window_about_rct2_paint(rct_window *w, rct_drawpixelinfo *dpi) sint32 x, y, yPage; window_draw_widgets(w, dpi); + window_about_openrct2_common_paint(w, dpi); yPage = w->y + w->widgets[WIDX_PAGE_BACKGROUND].top + 5; x = w->x + 200; - y = yPage; - - // Version - gfx_draw_string_centred(dpi, STR_VERSION_X, x, y, COLOUR_BLACK, NULL); + y = yPage + 5; // Credits - y += 10; gfx_draw_string_centred(dpi, STR_COPYRIGHT_CS, x, y, COLOUR_BLACK, NULL); - y += 79; + y += 84; gfx_draw_string_centred(dpi, STR_DESIGNED_AND_PROGRAMMED_BY_CS, x, y, COLOUR_BLACK, NULL); y += 10; gfx_draw_string_centred(dpi, STR_GRAPHICS_BY_SF, x, y, COLOUR_BLACK, NULL); @@ -291,13 +306,13 @@ static void window_about_rct2_paint(rct_window *w, rct_drawpixelinfo *dpi) gfx_draw_string_centred(dpi, STR_THANKS_TO, x, y, COLOUR_BLACK, NULL); y += 10; gfx_draw_string_centred(dpi, STR_THANKS_TO_PEOPLE, x, y, COLOUR_BLACK, NULL); - + y += 25; + gfx_draw_string_centred(dpi, STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC, x, y, COLOUR_BLACK, NULL); + // Images gfx_draw_sprite(dpi, SPR_CREDITS_CHRIS_SAWYER_SMALL, w->x + 92, yPage + 24, 0); - gfx_draw_sprite(dpi, SPR_CREDITS_INFOGRAMES, w->x + 50, yPage + 211, 0); // Licence - gfx_draw_string_left(dpi, STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC, NULL, COLOUR_BLACK, w->x + 157, yPage + 221); } #pragma endregion RCT2 @@ -311,6 +326,16 @@ static void window_about_set_page(rct_window *w, sint32 page) w->enabled_widgets = window_about_page_enabled_widgets[page]; w->event_handlers = window_about_page_events[page]; + w->pressed_widgets |= (page == WINDOW_ABOUT_PAGE_RCT2) ? (1ULL << WIDX_TAB_ABOUT_RCT2) : (1ULL << WIDX_TAB_ABOUT_OPENRCT2); + window_init_scroll_widgets(w); window_invalidate(w); } + +extern "C" +{ + void window_about_open() + { + _window_about_open(); + } +} \ No newline at end of file diff --git a/src/openrct2/windows/music_credits.c b/src/openrct2/windows/music_credits.c index 3be496b22d..0e5e27eba0 100644 --- a/src/openrct2/windows/music_credits.c +++ b/src/openrct2/windows/music_credits.c @@ -29,7 +29,7 @@ rct_widget window_music_credits_widgets[] = { { WWT_FRAME, 0, 0, 509, 0, 313, 0xFFFFFFFF, STR_NONE }, // panel / background { WWT_CAPTION, 0, 1, 508, 1, 14, STR_MUSIC_ACKNOWLEDGEMENTS, STR_WINDOW_TITLE_TIP }, // title bar { WWT_CLOSEBOX, 0, 497, 507, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - { WWT_SCROLL, 0, 4, 505, 18, 309, SCROLL_VERTICAL, STR_NONE }, // scroll + { WWT_SCROLL, 0, 4, 505, 18, 309, SCROLL_VERTICAL, STR_NONE }, // scroll { WIDGETS_END }, }; @@ -167,7 +167,7 @@ static void window_music_credits_mouseup(rct_window *w, rct_widgetindex widgetIn */ static void window_music_credits_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) { - *height = 560; + *height = 460; } /** diff --git a/src/openrct2/windows/publisher_credits.c b/src/openrct2/windows/publisher_credits.c deleted file mode 100644 index cec4499d83..0000000000 --- a/src/openrct2/windows/publisher_credits.c +++ /dev/null @@ -1,182 +0,0 @@ -#pragma region Copyright (c) 2014-2017 OpenRCT2 Developers -/***************************************************************************** - * OpenRCT2, an open source clone of Roller Coaster Tycoon 2. - * - * OpenRCT2 is the work of many authors, a full list can be found in contributors.md - * For more information, visit https://github.com/OpenRCT2/OpenRCT2 - * - * OpenRCT2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * A full copy of the GNU General Public License can be found in licence.txt - *****************************************************************************/ -#pragma endregion - -#include "../localisation/localisation.h" -#include "../sprites.h" -#include "../interface/widget.h" -#include "../interface/window.h" - -enum WINDOW_PUBLISHER_CREDITS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE -}; - -rct_widget window_publisher_credits_widgets[] = { - {WWT_FRAME, 0, 0, 419, 0, 383, 0xFFFFFFFF, STR_NONE}, // panel / background - {WWT_CAPTION, 0, 1, 418, 1, 14, STR_ROLLERCOASTER_TYCOON_2, STR_WINDOW_TITLE_TIP }, // title bar - {WWT_CLOSEBOX, 0, 407, 417, 2, 13, STR_CLOSE_X, STR_CLOSE_WINDOW_TIP }, // close x button - {WWT_SCROLL, 0, 4, 415, 18, 379, SCROLL_VERTICAL, STR_NONE }, // scroll - { WIDGETS_END }, -}; - -static void window_publisher_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex); -static void window_publisher_credits_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height); -static void window_publisher_credits_paint(rct_window *w, rct_drawpixelinfo *dpi); -static void window_publisher_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex); - -static rct_window_event_list window_publisher_credits_events = { - NULL, - window_publisher_credits_mouseup, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_publisher_credits_scrollgetsize, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - window_publisher_credits_paint, - window_publisher_credits_scrollpaint -}; - -/** -* -* rct2: 0x0066D4EC -*/ -void window_publisher_credits_open() -{ - rct_window* window; - - // Check if window is already open - window = window_bring_to_front_by_class(WC_PUBLISHER_CREDITS); - if (window != NULL) - return; - - window = window_create_centred( - 420, - 384, - &window_publisher_credits_events, - WC_PUBLISHER_CREDITS, - 0 - ); - - window->widgets = window_publisher_credits_widgets; - window->enabled_widgets = 1 << WIDX_CLOSE; - - window_init_scroll_widgets(window); - window->colours[0] = COLOUR_LIGHT_BLUE; - window->colours[1] = COLOUR_LIGHT_BLUE; - window->colours[2] = COLOUR_LIGHT_BLUE; - -} - -/** -* -* rct2: 0x0066D7A8 -*/ -static void window_publisher_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex) -{ - switch (widgetIndex) { - case WIDX_CLOSE: - window_close(w); - break; - } -} - -/** -* -* rct2: 0x0066D7B3 -*/ -static void window_publisher_credits_scrollgetsize(rct_window *w, sint32 scrollIndex, sint32 *width, sint32 *height) -{ - *height = 350; -} - -/** -* -* rct2: 0x0066D5CB -*/ -static void window_publisher_credits_paint(rct_window *w, rct_drawpixelinfo *dpi) -{ - window_draw_widgets(w, dpi); -} - -sint32 credits_order[] = { - STR_CREDITS_PUBLISHER_LINE_0, - STR_CREDITS_PUBLISHER_LINE_1, - STR_CREDITS_PUBLISHER_LINE_2, - STR_CREDITS_PUBLISHER_LINE_3, - STR_CREDITS_PUBLISHER_LINE_4, - STR_CREDITS_PUBLISHER_LINE_5, - STR_CREDITS_PUBLISHER_LINE_6, - STR_CREDITS_PUBLISHER_LINE_7, - STR_CREDITS_PUBLISHER_LINE_8, - STR_CREDITS_PUBLISHER_LINE_9, - STR_CREDITS_PUBLISHER_LINE_10, - STR_CREDITS_PUBLISHER_LINE_11, - STR_CREDITS_PUBLISHER_LINE_12, - STR_CREDITS_PUBLISHER_LINE_13, - STR_CREDITS_PUBLISHER_LINE_14, - STR_CREDITS_PUBLISHER_LINE_15, - STR_CREDITS_PUBLISHER_LINE_16, - STR_CREDITS_PUBLISHER_LINE_17, - STR_CREDITS_PUBLISHER_LINE_18, - STR_CREDITS_PUBLISHER_LINE_19, - STR_CREDITS_PUBLISHER_LINE_20, - STR_CREDITS_PUBLISHER_LINE_21, -}; - -/** -* -* rct2: 0x0066D5D1 -*/ -static void window_publisher_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, sint32 scrollIndex) -{ - sint32 x = 200; - sint32 y = 2; - - gfx_draw_sprite(dpi, SPR_CREDITS_INFOGRAMES, x - 49, y, 0); - - y += 86; - - draw_string_centred_underline(dpi, STR_CREDITS_PUBLISHER_TILE, NULL, COLOUR_BLACK, x, y); - - y += 14; - - for (sint32 i = 0; i < sizeof(credits_order)/sizeof(sint32); i++) { - gfx_draw_string_centred(dpi, credits_order[i], x, y, COLOUR_BLACK, NULL); - y += 11; - } - - -}