diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index cc572a5de9..15cf329813 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -3781,850 +3781,3 @@ STR_6706 :{WINDOW_COLOUR_2}Current image file: {BLACK}{STRING} STR_6707 :(none selected) STR_6708 :Smooth Strength STR_6709 :Enter Smooth Strength between {COMMA16} and {COMMA16} - -############# -# Scenarios # -################ -# RCT Original # -################ - -STR_SCNR :Forest Frontiers -STR_PARK :Forest Frontiers -STR_DTLS :Deep in the forest, build a thriving theme park in a large cleared area - - -STR_SCNR :Dynamite Dunes -STR_PARK :Dynamite Dunes -STR_DTLS :Built in the middle of the desert, this theme park contains just one roller coaster but has space for expansion - - -STR_SCNR :Leafy Lake -STR_PARK :Leafy Lake -STR_DTLS :Starting from scratch, build a theme park around a large lake - - -STR_SCNR :Diamond Heights -STR_PARK :Diamond Heights -STR_DTLS :Diamond Heights is already a successful theme park with great rides - develop it to double its value - - -STR_SCNR :Evergreen Gardens -STR_PARK :Evergreen Gardens -STR_DTLS :Convert the beautiful Evergreen Gardens into a thriving theme park - - -STR_SCNR :Bumbly Beach -STR_PARK :Bumbly Beach -STR_DTLS :Develop Bumbly Beach’s small amusement park into a thriving theme park - - -STR_SCNR :Trinity Islands -STR_PARK :Trinity Islands -STR_DTLS :Several islands form the basis for this new park - - -STR_SCNR :Katie’s Dreamland -STR_PARK :Katie’s Dreamland -STR_DTLS :A small theme park with a few rides and room for expansion. Your aim is to double the park value. - - -STR_SCNR :Pokey Park -STR_PARK :Pokey Park -STR_DTLS :A small, cramped amusement park which requires major expansion - - -STR_SCNR :White Water Park -STR_PARK :White Water Park -STR_DTLS :A park with some excellent water-based rides requires expansion - - -STR_SCNR :Millennium Mines -STR_PARK :Millennium Mines -STR_DTLS :Convert a large abandoned mine from a tourist attraction into a theme park - - -STR_SCNR :Karts & Coasters -STR_PARK :Karts & Coasters -STR_DTLS :A large park hidden in the forest, with only go-kart tracks and wooden roller coasters - - -STR_SCNR :Mel’s World -STR_PARK :Mel’s World -STR_DTLS :This theme park has some well-designed modern rides, but plenty of space for expansion - - -STR_SCNR :Mystic Mountain -STR_PARK :Mystic Mountain -STR_DTLS :In the hilly forests of Mystic Mountain, build a theme park from scratch - - -STR_SCNR :Pacific Pyramids -STR_PARK :Pacific Pyramids -STR_DTLS :Convert the Egyptian Ruins tourist attraction into a thriving theme park - - -STR_SCNR :Crumbly Woods -STR_PARK :Crumbly Woods -STR_DTLS :A large park with well-designed but rather old rides. Replace the old rides or add new rides to make the park more popular. - - -STR_SCNR :Paradise Pier -STR_PARK :Paradise Pier -STR_DTLS :Convert this sleepy town’s pier into a thriving attraction - - -STR_SCNR :Lightning Peaks -STR_PARK :Lightning Peaks -STR_DTLS :The beautiful mountains of Lightning Peaks are popular with walkers and sightseers. Use the available land to attract a new thrill-seeking clientele. - - -STR_SCNR :Ivory Towers -STR_PARK :Ivory Towers -STR_DTLS :A well-established park, which has a few problems - - -STR_SCNR :Rainbow Valley -STR_PARK :Rainbow Valley -STR_DTLS :Rainbow Valley’s local authority won’t allow any landscape changes or large tree removal, but you must develop the area into a large theme park - - -STR_SCNR :Thunder Rock -STR_PARK :Thunder Rock -STR_DTLS :Thunder Rock stands in the middle of a desert and attracts many tourists. Use the available space to build rides to attract more people. - - -STR_SCNR :Mega Park -STR_PARK :Mega Park -STR_DTLS :Just for fun! - -## Added Attractions - -STR_SCNR :Whispering Cliffs -STR_PARK :Whispering Cliffs -STR_DTLS :Develop the seaside cliffs into a thriving amusement park - - -STR_SCNR :Three Monkeys Park -STR_PARK :Three Monkeys Park -STR_DTLS :Central to this large developing park is a giant triple-track racing/duelling steel coaster - - -STR_SCNR :Canary Mines -STR_PARK :Canary Mines -STR_DTLS :This abandoned mine already has the makings of a tourist attraction with its miniature railway and a pair of vertical drop roller coasters - - -STR_SCNR :Barony Bridge -STR_PARK :Barony Bridge -STR_DTLS :An old redundant bridge is yours to develop into an amusement park - - -STR_SCNR :Funtopia -STR_PARK :Funtopia -STR_DTLS :Covering land both sides of a highway, this park has several rides already operating - - -STR_SCNR :Haunted Harbour -STR_PARK :Haunted Harbour -STR_DTLS :The local authority has agreed to sell nearby land cheaply to this small seaside park, on the condition that certain rides are preserved - - -STR_SCNR :Fun Fortress -STR_PARK :Fun Fortress -STR_DTLS :This castle is all yours to turn into a theme park - - -STR_SCNR :Future World -STR_PARK :Future World -STR_DTLS :This futuristic park has plenty of space for new rides on its alien landscape - - -STR_SCNR :Gentle Glen -STR_PARK :Gentle Glen -STR_DTLS :The local population prefer gentle and relaxing rides, so it is your job to expand this park to suit their tastes - - -STR_SCNR :Jolly Jungle -STR_PARK :Jolly Jungle -STR_DTLS :Deep in the jungle lies a large area of land ready to be turned into a theme park - - -STR_SCNR :Hydro Hills -STR_PARK :Hydro Hills -STR_DTLS :A series of stepped lakes form the basis for this new park - - -STR_SCNR :Sprightly Park -STR_PARK :Sprightly Park -STR_DTLS :This elderly park has many historical rides but is badly in debt - - -STR_SCNR :Magic Quarters -STR_PARK :Magic Quarters -STR_DTLS :A large area of land has been cleared and partially themed ready for you to develop into a landscaped theme park - - -STR_SCNR :Fruit Farm -STR_PARK :Fruit Farm -STR_DTLS :A thriving fruit farm has built a railroad to boost its income, your job is to develop it into a full-blown amusement park - - -STR_SCNR :Butterfly Dam -STR_PARK :Butterfly Dam -STR_DTLS :The area around a dam is available for you to develop into an amusement park - - -STR_SCNR :Coaster Canyon -STR_PARK :Coaster Canyon -STR_DTLS :A vast canyon is yours to turn into a theme park - - -STR_SCNR :Thunderstorm Park -STR_PARK :Thunderstorm Park -STR_DTLS :The weather is so wet here that a giant pyramid has been built to allow some rides to be built under cover - - -STR_SCNR :Harmonic Hills -STR_PARK :Harmonic Hills -STR_DTLS :The local authority won’t allow you to build above tree height in this park - - -STR_SCNR :Roman Village -STR_PARK :Roman Village -STR_DTLS :Develop this Roman-themed park by adding rides and roller coasters - - -STR_SCNR :Swamp Cove -STR_PARK :Swamp Cove -STR_DTLS :Built partly on a series of small islands, this park already has a pair of large roller coasters as its centrepiece - - -STR_SCNR :Adrenaline Heights -STR_PARK :Adrenaline Heights -STR_DTLS :Build a park to appeal to the high-intensity thrill-seeking local people - - -STR_SCNR :Utopia Park -STR_PARK :Utopia -STR_DTLS :An oasis in the middle of the desert provides an unusual opportunity to build an amusement park - - -STR_SCNR :Rotting Heights -STR_PARK :Rotting Heights -STR_DTLS :Overgrown and dilapidated, can you resurrect this once-great amusement park? - - -STR_SCNR :Fiasco Forest -STR_PARK :Fiasco Forest -STR_DTLS :Full of badly designed and dangerous rides, you have a very limited budget and time to fix the problems and turn the park around - - -STR_SCNR :Pickle Park -STR_PARK :Pickle Park -STR_DTLS :The local authority will not allow any kind of advertising or promotion, so this park must succeed by reputation only - - -STR_SCNR :Giggle Downs -STR_PARK :Giggle Downs -STR_DTLS :A four lane steeplechase ride is the centrepiece of this expanding park - - -STR_SCNR :Mineral Park -STR_PARK :Mineral Park -STR_DTLS :Turn this abandoned stone quarry into a place to attract thrill-seeking tourists - - -STR_SCNR :Coaster Crazy -STR_PARK :Coaster Crazy -STR_DTLS :You have limited funds but unlimited time to turn this mountainside area into a vast roller coaster park - - -STR_SCNR :Urban Park -STR_PARK :Urban Park -STR_DTLS :A tiny park has done a deal with the nearby town to allow expansion through the town itself - - -STR_SCNR :Geoffrey Gardens -STR_PARK :Geoffrey Gardens -STR_DTLS :A large garden park needs turning into a thriving theme park - - -## Loopy Landscapes - -STR_SCNR :Iceberg Islands -STR_PARK :Iceberg Islands -STR_DTLS :A collection of icebergs make a cold setting for this ambitious theme park - - -STR_SCNR :Volcania -STR_PARK :Volcania -STR_DTLS :A dormant volcano is the setting of this coaster-building challenge - - -STR_SCNR :Arid Heights -STR_PARK :Arid Heights -STR_DTLS :Free of any financial limits, your challenge is to develop this desert park while keeping the guests happy - - -STR_SCNR :Razor Rocks -STR_PARK :Razor Rocks -STR_DTLS :Your task is to build a massive coaster-filled park in amongst Razor Rocks - - -STR_SCNR :Crater Lake -STR_PARK :Crater Lake -STR_DTLS :A large lake in an ancient crater is the setting for this park - - -STR_SCNR :Vertigo Views -STR_PARK :Vertigo Views -STR_DTLS :This large park already has an excellent hyper-coaster, but your task is to massively increase its profit - - -STR_SCNR :Paradise Pier 2 -STR_PARK :Paradise Pier 2 -STR_DTLS :Paradise Pier has expanded its network of walkways over the sea, and your task is to expand the park to use the extra space - - -STR_SCNR :Dragon’s Cove -STR_PARK :Dragon’s Cove -STR_DTLS :This sea-side cove is the setting for this coaster-building challenge - - -STR_SCNR :Good Knight Park -STR_PARK :Good Knight Park -STR_DTLS :A castle with a pair of roller coasters needs developing into a larger theme park - - -STR_SCNR :Wacky Warren -STR_PARK :Wacky Warren -STR_DTLS :A park which has much of its footpaths and coasters underground - - -STR_SCNR :Grand Glacier -STR_PARK :Grand Glacier -STR_DTLS :A glacier-filled valley is yours to develop into a theme park - - -STR_SCNR :Crazy Craters -STR_PARK :Crazy Craters -STR_DTLS :In a far-off world where money is not needed, you must build an entertainment centre to keep the people happy - - -STR_SCNR :Dusty Desert -STR_PARK :Dusty Desert -STR_DTLS :Five coasters require completion in this desert park - - -STR_SCNR :Woodworm Park -STR_PARK :Woodworm Park -STR_DTLS :This historical park is only allowed to build older-styled rides - - -STR_SCNR :Icarus Park -STR_PARK :Icarus Park -STR_DTLS :Develop this alien park to maximise its profit - - -STR_SCNR :Sunny Swamps -STR_PARK :Sunny Swamps -STR_DTLS :This well-themed amusement park already has several rides, but has plenty of space for expansion - - -STR_SCNR :Frightmare Hills -STR_PARK :Frightmare Hills -STR_DTLS :A scary park with a giant centrepiece coaster - - -STR_SCNR :Thunder Rocks -STR_PARK :Thunder Rocks -STR_DTLS :Two large hunks of rock stick out of the sand, upon which the beginnings of a theme park are constructed - - -STR_SCNR :Octagon Park -STR_PARK :Octagon Park -STR_DTLS :In this large park you must design and build ten large coasters - - -STR_SCNR :Pleasure Island -STR_PARK :Pleasure Island -STR_DTLS :A long thin island makes a challenging setting to build a selection of coasters - - -STR_SCNR :Icicle Worlds -STR_PARK :Icicle Worlds -STR_DTLS :An icy landscape needs turning into a thriving theme park - - -STR_SCNR :Southern Sands -STR_PARK :Southern Sands -STR_DTLS :A desert park with some cleverly designed coasters is yours to expand - - -STR_SCNR :Tiny Towers -STR_PARK :Tiny Towers -STR_DTLS :In this tiny park you must finish building the five existing coasters - - -STR_SCNR :Nevermore Park -STR_PARK :Nevermore Park -STR_DTLS :A large park with a novel transportation system around its edge - - -STR_SCNR :Pacifica -STR_PARK :Pacifica -STR_DTLS :This large island is all yours to develop as an amusement park - - -STR_SCNR :Urban Jungle -STR_PARK :Urban Jungle -STR_DTLS :A giant abandoned skyscraper is a unique opportunity for a theme park developer - - -STR_SCNR :Terror Town -STR_PARK :Terror Town -STR_DTLS :This urban area is all yours to develop into an amusement park - - -STR_SCNR :Megaworld Park -STR_PARK :Megaworld Park -STR_DTLS :A giant park already packed full of rides needs improving - - -STR_SCNR :Venus Ponds -STR_PARK :Venus Ponds -STR_DTLS :On a far-away planet this area of land needs turning into a theme park - - -STR_SCNR :Micro Park -STR_PARK :Micro Park -STR_DTLS :Try to create the world’s smallest profitable park - -## Real Parks from RCT1 -# None of them had details - -STR_SCNR :Alton Towers -STR_PARK :Alton Towers -STR_DTLS : - - -STR_SCNR :Heide-Park -STR_PARK :Heide-Park -STR_DTLS : - - -STR_SCNR :Blackpool Pleasure Beach -STR_PARK :Blackpool Pleasure Beach -STR_DTLS : - -## Misc parks from RCT1 -# Had no details - -STR_SCNR :Fort Anachronism -STR_PARK :Fort Anachronism -STR_DTLS : - -############################################################################### -## RCT2 Scenarios -############################################################################### - -STR_SCNR :Alpine Adventures -STR_PARK :Alpine Adventures -STR_DTLS :Convert a small mountain ski resort into a snow-themed amusement park - - -STR_SCNR :Amity Airfield -STR_PARK :Amity Airfield -STR_DTLS :Build a flying-themed amusement park in this abandoned airport - - -STR_SCNR :Botany Breakers -STR_PARK :Botany Breakers -STR_DTLS :Your challenge is to build a high-profit park on this paradise island - - -STR_SCNR :Build your own Six Flags Belgium -STR_PARK :Six Flags Belgium -STR_DTLS :Build your own version of this European Six Flags park - - -STR_SCNR :Build your own Six Flags Great Adventure -STR_PARK :Six Flags Great Adventure -STR_DTLS :Use your design skills to recreate this Six Flags park - - -STR_SCNR :Build your own Six Flags Holland -STR_PARK :Six Flags Holland -STR_DTLS :Build this European Six Flags park the way you want to - - -STR_SCNR :Build your own Six Flags Magic Mountain -STR_PARK :Six Flags Magic Mountain -STR_DTLS :Create your own version of this massive Six Flags park - - -STR_SCNR :Build your own Six Flags over Texas -STR_PARK :Six Flags over Texas -STR_DTLS :Starting from scratch, build the rides in this Six Flags park - - -STR_SCNR :Build your own Six Flags Park -STR_PARK :Six Flags -STR_DTLS :Build your own design of Six Flags park - either build rides from other Six Flags parks or design and build your own rides - - -STR_SCNR :Bumbly Bazaar -STR_PARK :Bumbly Bazaar -STR_DTLS :Starting with a small market bazaar, your challenge is to increase the profit from shops and stalls by building rides and roller coasters to attract more customers - - -STR_SCNR :Crazy Castle -STR_PARK :Crazy Castle -STR_DTLS :You have inherited a large castle. Your job is to convert it into a small theme park. - - -STR_SCNR :Dusty Greens -STR_PARK :Dusty Greens -STR_DTLS :Situated near a highway junction in the desert, Dusty Greens is an opportunity to develop a small golf resort into a thriving theme park - - -STR_SCNR :Electric Fields -STR_PARK :Electric Fields -STR_DTLS :You have inherited a small farm, and your challenge is to build a small theme park amongst the fields and farm buildings - - -STR_SCNR :Extreme Heights -STR_PARK :Extreme Heights -STR_DTLS :Free of financial restrictions, your challenge is to expand this desert park to attract people seeking the ultimate thrills - - -STR_SCNR :Factory Capers -STR_PARK :Factory Capers -STR_DTLS :An abandoned factory complex is an opportunity to build a mechanical-themed amusement park - - -STR_SCNR :Fungus Woods -STR_PARK :Fungus Woods -STR_DTLS :Restricted to only older-style wooden rides, your challenge is to build a thriving theme park in Fungus Woods - - -STR_SCNR :Ghost Town -STR_PARK :Ghost Town -STR_DTLS :Hired by a large amusement park chain, your task is to build them a giant roller coaster park around an abandoned mining town - - -STR_SCNR :Gravity Gardens -STR_PARK :Gravity Gardens -STR_DTLS :Your challenge is to build a roller coaster park in the beautiful Gravity Gardens. No other rides, just roller coasters! - - -STR_SCNR :Infernal Views -STR_PARK :Infernal Views -STR_DTLS :A park nestled precariously on lava rock with streams of magma - - -STR_SCNR :Lucky Lake -STR_PARK :Lucky Lake -STR_DTLS :With unlimited funds but a challenging lake location, this park will be a challenge to expand and manage - - -STR_SCNR :Rainbow Summit -STR_PARK :Rainbow Summit -STR_DTLS :Built on a hillside, this park is forbidden from building anything tall. Can you expand the park and make it successful? - - -STR_SCNR :Six Flags Belgium -STR_PARK :Six Flags Belgium -STR_DTLS :Try your hand at running and improving this Six Flags park - - -STR_SCNR :Six Flags Great Adventure -STR_PARK :Six Flags Great Adventure -STR_DTLS :Build the missing Six Flags rides, or create your own designs to improve the park! But don’t forget your ultimate aim: to attract more guests to the park! - - -STR_SCNR :Six Flags Holland -STR_PARK :Six Flags Holland -STR_DTLS :Try your hand at running and improving this Six Flags park - - -STR_SCNR :Six Flags Magic Mountain -STR_PARK :Six Flags Magic Mountain -STR_DTLS :Build the missing Six Flags rides, or create your own designs to improve the park! But don’t forget your ultimate aim: to repay your loan while keeping the park value up! - - -STR_SCNR :Six Flags over Texas -STR_PARK :Six Flags over Texas -STR_DTLS :Build the missing Six Flags rides, or create your own designs to improve the park! But don’t forget your ultimate aim: to attract more guests to the park! - -############################################################################### -## Wacky Worlds Scenarios -############################################################################### - -STR_SCNR :Mines of Africa -STR_PARK :Mines of Africa -STR_DTLS :You inherited a disused diamond mine, and find a valuable diamond. You decide to invest that money to build a world-famous theme park. - - -STR_SCNR :Mirage Madness -STR_PARK :Mirage Madness -STR_DTLS :A desert Oasis has been discovered and would provide a beautiful location for a park. Transport to the oasis has been provided. - - -STR_SCNR :Over The Edge -STR_PARK :Over The Edge -STR_DTLS :A dam has been built offering abundant, cheap hydroelectric power with which to run a park. You need to reach a high park value to help repay the loan for the dam. - - -STR_SCNR :Icy Adventures -STR_PARK :Icy Adventures -STR_DTLS :The environment agency has turned to you to transform an old oil refinery ecological eyesore into a top tourist attraction. Land is cheap but loan interest is high. You can sell the old buildings for salvage. - - -STR_SCNR :Great Wall of China -STR_PARK :Great Wall of China -STR_DTLS :The authorities have decided to enhance tourism around the Great Wall by building a theme park on the adjacent land. Money is no object! - - -STR_SCNR :Okinawa Coast -STR_PARK :Okinawa Coast -STR_DTLS :An existing park has run out of space. Your only option is to build out into the sea, and so you have taken out a loan. Height restrictions on your building are enforced due to foundations and earthquake risk. - - -STR_SCNR :Park Maharaja -STR_PARK :Park Maharaja -STR_DTLS :You have been commissioned by the Maharaja to bring entertainment to the large local population. Build a park inspired by the Maharaja’s palace. - - -STR_SCNR :Ayers Adventure -STR_PARK :Ayers Adventure -STR_DTLS :You are helping Aboriginal people to build a park as part of a cultural awareness program. You need to get a large number of guests to educate them in the unique heritage of the Aboriginal people. - - -STR_SCNR :Beach Barbecue Blast -STR_PARK :Beach Barbecue Blast -STR_DTLS :A local entrepreneur’s sealife park has gone bust. You already operate a small park and buy the other park from the construction company. Develop a big combined park. - - -STR_SCNR :European Extravaganza -STR_PARK :European Extravaganza -STR_DTLS :You have been brought in to take over a European Cultural Visitor Attraction and must increase the number of guests in order to pay back the EU subsidy by the end of the current European parliament term. - - -STR_SCNR :From The Ashes -STR_PARK :From The Ashes -STR_DTLS :An old park has fallen into disrepair. You gain a European Union grant to return this deprived area to its former glory! You need to renovate the park and repay the grant. - - -STR_SCNR :Wacky Waikiki -STR_PARK :Wacky Waikiki -STR_DTLS :The people of Hawaii are bored of surfing and are looking for something more intense. You need to build a park with this in mind to keep the area’s tourist attraction rating high. - - -STR_SCNR :Canyon Calamities -STR_PARK :Canyon Calamities -STR_DTLS :You have to build a park on limited land either side of this natural treasure - you do have the opportunity to buy neighbouring land from the Native American Indians. You need to complete the objective to sustain the local town’s population. - - -STR_SCNR :Rollercoaster Heaven -STR_PARK :Rollercoaster Heaven -STR_DTLS :You are a successful business tycoon on long sabbatical who desires to use this time transforming the city park into Rollercoaster Heaven. Money is no object! - - -STR_SCNR :Lost City Founder -STR_PARK :Lost City Founder -STR_DTLS :To further boost local tourism you must construct a park that is in tune with its surroundings. - - -STR_SCNR :Rainforest Romp -STR_PARK :Rainforest Romp -STR_DTLS :Space is limited in the precious rainforest - you must cram as much as possible into the existing clearing, in order to provide a viable alternative to the local timber industry. - - -STR_SCNR :Sugarloaf Shores -STR_PARK :Sugarloaf Shores -STR_DTLS :You run a small park near Rio but the bank has called in your loan. You need to quickly increase your earning capacity to repay this unexpected debt. - -############################################################################### -## Time Twister Scenarios -############################################################################### - -STR_SCNR :Cliffside Castle -STR_PARK :Cliffside Castle -STR_DTLS :Local members of the battle re-enactment society are rather serious about their hobby. They’ve entrusted you with the job of constructing a Dark Age theme park on the grounds of Cliffside Castle. - - -STR_SCNR :Sherwood Forest -STR_PARK :Sherwood Forest -STR_DTLS :To liberate wealth from the rich and distribute it to the needy, you and your Merry Men have decided to build a theme park in Sherwood Forest. - - -STR_SCNR :Extraterrestrial Extravaganza -STR_PARK :Extraterrestrial Extravaganza -STR_DTLS :Life has been discovered on a distant planet Build an alien theme park to cash in on the unprecedented wave of interest. - - -STR_SCNR :Gemini City -STR_PARK :Gemini City -STR_DTLS :Show off your inventive, utopian vision of the future - come up with a futuristic park design that incorporates state-of-the-art attractions. - - -STR_SCNR :Animatronic Antics -STR_PARK :Animatronic Antics -STR_DTLS :You have been given the task of running and improving an existing theme park, which has been built on an old film set. Build a tribute to the pioneering stop-motion animators who first brought mythical creatures to life on the silver screen. - - -STR_SCNR :Mythological Madness -STR_PARK :Mythological Madness -STR_DTLS :You own an island of particular archaeological value. You’ve decided to fund its preservation by constructing a theme park based on the area’s rich Mythological heritage. - - -STR_SCNR :Crater Carnage -STR_PARK :Crater Carnage -STR_DTLS :You own a dusty old meteor crater. In the true entrepreneurial spirit, you’ve decided to construct an asteroid theme park and convert your seemingly worthless land into a sizeable fortune. - - -STR_SCNR :Coastersaurus -STR_PARK :Coastersaurus -STR_DTLS :You’ve been given the task of constructing a Jurassic era theme park. To optimize your visitors’ access to the exotic plant and animal exhibits, you will need to build rides going over and into the valley. - - -STR_SCNR :Rocky Rambles -STR_PARK :Rocky Rambles -STR_DTLS :To thwart the highway developers and preserve the mysterious ancient stone circles, you will need to construct a Stone Age theme park and turn a profit. However, attracting visitors may pose a challenge, as the terrain is a tad inhospitable. - - -STR_SCNR :Alcatraz -STR_PARK :Alcatraz -STR_DTLS :The infamous Prison Island - whose population once swelled with bootleggers and racketeers - is now up for sale. You’ve decided to convert it into a top tourist attraction, and money is no object - - -STR_SCNR :Schneider Shores -STR_PARK :Schneider Shores -STR_DTLS :The 75th anniversary of your grandfather’s Schneider Cup victory is coming up in a few years. You’re going to honour his achievement by building a theme park based on the famous seaplane race. - - -STR_SCNR :Metropolis -STR_PARK :Metropolis -STR_DTLS :You own an empty lot near the low-rise part of town. To squeeze the most out of your urban property, build a skyscraper theme park inspired by the soaring art deco architecture of the twenties. - - -STR_SCNR :Woodstock -STR_PARK :Woodstock -STR_DTLS :A large annual music festival takes place on your land. Build a hip theme park to keep the free-spirited audience entertained. - - -STR_SCNR :Rock ‘n’ Roll Revival -STR_PARK :Rock ‘n’ Roll Revival -STR_DTLS :This aging theme park has seen better days. Help the owner give it a retro rock ‘n’ roll makeover and turn the place into a successful venue. - -############################################################################### -## Official Custom Content Scenarios -############################################################################### - -STR_SCNR :Panda World -STR_PARK :Panda World -STR_DTLS :Add more rides and attract more people to this panda-themed park - - -STR_SCNR :Tycoon Park -STR_PARK :Tycoon Park -STR_DTLS : - -### - -STR_SCNR :Cemetery Ridge -STR_PARK :Cemetery Ridge -STR_DTLS :This is Halloween, UCES Halloween, pumpkins scream in the dead of night! This graveyard is in trouble and it’s up to you to save it, while letting the dead rest in peace! Can you keep the ghosts in their graves and bring chills to your customers?{NEWLINE}Author: Squid - -############################################################################### -## UCES: The Time Machine (2003) -############################################################################### - -STR_SCNR :The Lighthouse of Alexandria -STR_PARK :The Lighthouse of Alexandria -STR_DTLS :Alexander built the city; Greeks, Romans, Egyptians left their mark. But the biggest honor was a Wonder of the Ancient World - the Lighthouse. Visit and make a park!{NEWLINE}Author: Katatude - - -STR_SCNR :Luna Park, Cleveland -STR_PARK :Luna Park -STR_DTLS :As it was on its opening day - 18 May 1905.{NEWLINE}Author: Aetherwave - - -STR_SCNR :Mount Vesuvius -STR_PARK :Mount Vesuvius -STR_DTLS :Pompeii and Herculaneum were buried by Mt. Vesuvius in 79 A.D. Visit the excavations and build a park!{NEWLINE}Author: Katatude - - -STR_SCNR :The Sandbox -STR_PARK :The Sandbox -STR_DTLS :What everyone wants - a sandbox! So grab your l’il pail and shovel and build a park!{NEWLINE}Author: Katatude - - -STR_SCNR :Niagara Falls & Gorge -STR_PARK :Niagara Falls -STR_DTLS :American Falls, Bridal Falls & Canadian Horseshoe Falls on the Niagara Frontier, 1850.{NEWLINE}Author: Katatude - - -STR_SCNR :Rocky Mountain Miners -STR_PARK :Rocky Mountain Miners -STR_DTLS :A rockslide damaged your railway. Your workers have gone prospecting. Is there gold in roller coasters?{NEWLINE}Authors: Squid, Buckone, Fossil - - -STR_SCNR :The Time Machine -STR_PARK :The Time Machine -STR_DTLS :The Time Machine. Build to go - when you want, where you want. Eternity awaits. It’s all relative.{NEWLINE}Author: Katatude - - -STR_SCNR :Tower of Babel -STR_PARK :Tower of Babel -STR_DTLS :Whoaa! Look where the time machine took us now! Where did everybody go?{NEWLINE}Author: Fossil - - -STR_SCNR :Transformation -STR_PARK :Transformation -STR_DTLS :We were expecting you…{NEWLINE}Author: Fossil - - -STR_SCNR :Urbis Incognitus -STR_PARK :Urbis Incognitus -STR_DTLS :The Romans are tired of boring gladiator fights. Give them a better thrill, turn a Roman city into the greatest amusement park of all time!{NEWLINE}Author: Kaffe - -############################################################################### -## UCES: Katy’s Dreamworld (2003) -############################################################################### - - -STR_SCNR :Beneath the Christmas Tree -STR_PARK :Winter Wonderland -STR_DTLS :Mum built this scene under our tree. Now she wants a park made in it! Can you help?{NEWLINE}Author: Katatude - - -STR_SCNR :Bigrock Blast -STR_PARK :Bigrock Blast -STR_DTLS :After an explosion at the Bigrock Mining Co., the people of Bigrock have to build an amusement park to keep their town alive.{NEWLINE}Authors: rbarclay & buckone - - -STR_SCNR :Camp Mockingbird -STR_PARK :Camp Mockingbird -STR_DTLS :Only $500/week to this summer camp! Break open your bank and then have fun and build a park.{NEWLINE}Author: Katatude - - -STR_SCNR :Choo-Choo Town -STR_PARK :Choo-Choo Town -STR_DTLS :Mommy! Daddy! I want to go to Choo-Choo Town!{NEWLINE}Author: Fossil - - -STR_SCNR :Dragon Islands -STR_PARK :Dragon Islands -STR_DTLS :Dragon Islands? I’m not sure I want to go there…{NEWLINE}Author: Fossil - - -STR_SCNR :Kiddie Karnival II -STR_PARK :Kiddie Karnival -STR_DTLS :Hey kids! Let’s have fun!{NEWLINE}Authors: Piehead & Fossil - - -STR_SCNR :Sand Dune -STR_PARK :Sand Dune -STR_DTLS :As the owner of a small park, you bought a large piece of land along the beach to expand and attract more guests to visit the beautiful sand dunes, but beware: you cannot disturb those ecologically fragile sand dunes.{NEWLINE}Author: rbarclay diff --git a/src/openrct2/localisation/Language.cpp b/src/openrct2/localisation/Language.cpp index c1dd601cc9..cc4bff6696 100644 --- a/src/openrct2/localisation/Language.cpp +++ b/src/openrct2/localisation/Language.cpp @@ -96,16 +96,6 @@ bool LanguageOpen(int32_t id) } } -bool LanguageGetLocalisedScenarioStrings(u8string_view scenarioFilename, StringId* outStringIds) -{ - const auto& localisationService = OpenRCT2::GetContext()->GetLocalisationService(); - auto result = localisationService.GetLocalisedScenarioStrings(scenarioFilename); - outStringIds[0] = std::get<0>(result); - outStringIds[1] = std::get<1>(result); - outStringIds[2] = std::get<2>(result); - return outStringIds[0] != STR_NONE || outStringIds[1] != STR_NONE || outStringIds[2] != STR_NONE; -} - void LanguageFreeObjectString(StringId stringId) { auto& localisationService = OpenRCT2::GetContext()->GetLocalisationService(); diff --git a/src/openrct2/localisation/Language.h b/src/openrct2/localisation/Language.h index 70703be8d0..505133bd48 100644 --- a/src/openrct2/localisation/Language.h +++ b/src/openrct2/localisation/Language.h @@ -88,6 +88,5 @@ uint8_t LanguageGetIDFromLocale(const char* locale); const char* LanguageGetString(StringId id); bool LanguageOpen(int32_t id); -bool LanguageGetLocalisedScenarioStrings(u8string_view scenarioFilename, StringId* outStringIds); void LanguageFreeObjectString(StringId stringId); StringId LanguageAllocateObjectString(const std::string& target); diff --git a/src/openrct2/localisation/LanguagePack.cpp b/src/openrct2/localisation/LanguagePack.cpp index 2599843860..54eb93e5b7 100644 --- a/src/openrct2/localisation/LanguagePack.cpp +++ b/src/openrct2/localisation/LanguagePack.cpp @@ -29,29 +29,15 @@ using namespace OpenRCT2; // Don't try to load more than language files that exceed 64 MiB constexpr uint64_t MAX_LANGUAGE_SIZE = 64 * 1024 * 1024; -constexpr uint64_t MAX_SCENARIO_OVERRIDES = 4096; - -constexpr StringId ScenarioOverrideBase = 0x7000; -constexpr int32_t ScenarioOverrideMaxStringCount = 3; - -struct ScenarioOverride -{ - std::string filename; - std::string strings[ScenarioOverrideMaxStringCount]; -}; class LanguagePack final : public ILanguagePack { private: uint16_t const _id; std::vector _strings; - std::vector _scenarioOverrides; - /////////////////////////////////////////////////////////////////////////// // Parsing work data - /////////////////////////////////////////////////////////////////////////// std::string _currentGroup; - ScenarioOverride* _currentScenarioOverride = nullptr; public: static std::unique_ptr FromFile(uint16_t id, const utf8* path) @@ -101,7 +87,6 @@ public: // Clean up the parsing work data _currentGroup.clear(); - _currentScenarioOverride = nullptr; } uint16_t GetId() const override @@ -132,21 +117,6 @@ public: const utf8* GetString(StringId stringId) const override { - if (stringId >= ScenarioOverrideBase) - { - int32_t offset = stringId - ScenarioOverrideBase; - int32_t ooIndex = offset / ScenarioOverrideMaxStringCount; - int32_t ooStringIndex = offset % ScenarioOverrideMaxStringCount; - - if (_scenarioOverrides.size() > static_cast(ooIndex) - && !_scenarioOverrides[ooIndex].strings[ooStringIndex].empty()) - { - return _scenarioOverrides[ooIndex].strings[ooStringIndex].c_str(); - } - - return nullptr; - } - if ((_strings.size() > static_cast(stringId)) && !_strings[stringId].empty()) { return _strings[stringId].c_str(); @@ -155,40 +125,7 @@ public: return nullptr; } - StringId GetScenarioOverrideStringId(u8string_view scenarioFilename, uint8_t index) override - { - Guard::Assert(index < ScenarioOverrideMaxStringCount); - - int32_t ooIndex = 0; - for (const ScenarioOverride& scenarioOverride : _scenarioOverrides) - { - if (String::IEquals(scenarioOverride.filename, scenarioFilename)) - { - if (scenarioOverride.strings[index].empty()) - { - return STR_NONE; - } - return ScenarioOverrideBase + (ooIndex * ScenarioOverrideMaxStringCount) + index; - } - ooIndex++; - } - - return STR_NONE; - } - private: - ScenarioOverride* GetScenarioOverride(const std::string& scenarioIdentifier) - { - for (auto& so : _scenarioOverrides) - { - if (String::IEquals(so.strings[0], scenarioIdentifier)) - { - return &so; - } - } - return nullptr; - } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Parsing //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -277,9 +214,6 @@ private: case '[': ParseGroupObject(reader); break; - case '<': - ParseGroupScenario(reader); - break; case '\r': case '\n': break; @@ -315,48 +249,6 @@ private: _currentGroup.clear(); } - void ParseGroupScenario(IStringReader* reader) - { - auto sb = StringBuilder(); - codepoint_t codepoint; - - // Should have already deduced that the next codepoint is a < - reader->Skip(); - - // Read string up to > or line end - bool closedCorrectly = false; - while (reader->TryPeek(&codepoint)) - { - if (IsNewLine(codepoint)) - break; - - reader->Skip(); - if (codepoint == '>') - { - closedCorrectly = true; - break; - } - sb.Append(codepoint); - } - - if (closedCorrectly) - { - _currentGroup = sb.GetStdString(); - _currentScenarioOverride = GetScenarioOverride(_currentGroup); - if (_currentScenarioOverride == nullptr) - { - if (_scenarioOverrides.size() == MAX_SCENARIO_OVERRIDES) - { - LOG_WARNING("Maximum number of scenario strings exceeded."); - } - - _scenarioOverrides.emplace_back(); - _currentScenarioOverride = &_scenarioOverrides[_scenarioOverrides.size() - 1]; - _currentScenarioOverride->filename = std::string(sb.GetBuffer()); - } - } - } - void ParseString(IStringReader* reader) { auto sb = StringBuilder(); @@ -418,19 +310,6 @@ private: { stringId = 2; } - - else if (String::Equals(identifier, "STR_SCNR")) - { - stringId = 0; - } - else if (String::Equals(identifier, "STR_PARK")) - { - stringId = 1; - } - else if (String::Equals(identifier, "STR_DTLS")) - { - stringId = 2; - } else { // Ignore line entirely @@ -466,13 +345,6 @@ private: } _strings[stringId] = s; } - else - { - if (_currentScenarioOverride != nullptr) - { - _currentScenarioOverride->strings[stringId] = std::move(s); - } - } } }; diff --git a/src/openrct2/localisation/LanguagePack.h b/src/openrct2/localisation/LanguagePack.h index ae510f180b..bf1b1b2c14 100644 --- a/src/openrct2/localisation/LanguagePack.h +++ b/src/openrct2/localisation/LanguagePack.h @@ -24,7 +24,6 @@ struct ILanguagePack virtual void RemoveString(StringId stringId) = 0; virtual void SetString(StringId stringId, const std::string& str) = 0; virtual const utf8* GetString(StringId stringId) const = 0; - virtual StringId GetScenarioOverrideStringId(u8string_view scenarioFilename, uint8_t index) = 0; }; namespace OpenRCT2::LanguagePackFactory diff --git a/src/openrct2/localisation/LocalisationService.cpp b/src/openrct2/localisation/LocalisationService.cpp index daa2a79ce6..3ef816dd72 100644 --- a/src/openrct2/localisation/LocalisationService.cpp +++ b/src/openrct2/localisation/LocalisationService.cpp @@ -143,15 +143,6 @@ void LocalisationService::CloseLanguages() _currentLanguage = LANGUAGE_UNDEFINED; } -std::tuple LocalisationService::GetLocalisedScenarioStrings(u8string_view scenarioFilename) const -{ - Guard::Assert(!_loadedLanguages.empty()); - auto result0 = _loadedLanguages[0]->GetScenarioOverrideStringId(scenarioFilename, 0); - auto result1 = _loadedLanguages[0]->GetScenarioOverrideStringId(scenarioFilename, 1); - auto result2 = _loadedLanguages[0]->GetScenarioOverrideStringId(scenarioFilename, 2); - return std::make_tuple(result0, result1, result2); -} - StringId LocalisationService::AllocateObjectString(const std::string& target) { if (_availableObjectStringIds.empty()) diff --git a/src/openrct2/localisation/LocalisationService.h b/src/openrct2/localisation/LocalisationService.h index 5f02d00140..87a781bc0a 100644 --- a/src/openrct2/localisation/LocalisationService.h +++ b/src/openrct2/localisation/LocalisationService.h @@ -59,7 +59,6 @@ namespace OpenRCT2::Localisation ~LocalisationService(); const char* GetString(StringId id) const; - std::tuple GetLocalisedScenarioStrings(u8string_view scenarioFilename) const; std::string GetLanguagePath(uint32_t languageId) const; void OpenLanguage(int32_t id); diff --git a/test/tests/LanguagePackTest.cpp b/test/tests/LanguagePackTest.cpp index 4ed9d9153a..c63dd51830 100644 --- a/test/tests/LanguagePackTest.cpp +++ b/test/tests/LanguagePackTest.cpp @@ -47,11 +47,8 @@ TEST_F(LanguagePackTest, language_pack_simple) ASSERT_EQ(lang->GetId(), 0); ASSERT_EQ(lang->GetCount(), 4u); ASSERT_STREQ(lang->GetString(2), "Spiral Roller Coaster"); - ASSERT_EQ(lang->GetScenarioOverrideStringId("Arid Heights", 0), 0x7000); - ASSERT_STREQ(lang->GetString(0x7000), "Arid Heights scenario string"); // Test some negatives too ASSERT_EQ(lang->GetString(1000), nullptr); - ASSERT_EQ(lang->GetScenarioOverrideStringId("No such park", 0), STR_NONE); } TEST_F(LanguagePackTest, language_pack_multibyte) @@ -60,10 +57,6 @@ TEST_F(LanguagePackTest, language_pack_multibyte) ASSERT_EQ(lang->GetId(), 0); ASSERT_EQ(lang->GetCount(), 4u); ASSERT_STREQ(lang->GetString(2), u8"懸吊式雲霄飛車"); - ASSERT_EQ(lang->GetScenarioOverrideStringId("Forest Frontiers", 0), 0x7000); - ASSERT_EQ(lang->GetScenarioOverrideStringId("Forest Frontiers", 2), 0x7002); - ASSERT_STREQ(lang->GetString(0x7000), "Forest Frontiers"); - ASSERT_STREQ(lang->GetString(0x7002), u8"在隱藏於森林深處的清空範圍中, 建造一個很受歡迎的樂園"); } const utf8* LanguagePackTest::LanguageEnGB = "# STR_XXXX part is read and XXXX becomes the string id number.\n" @@ -74,11 +67,6 @@ const utf8* LanguagePackTest::LanguageEnGB = "# STR_XXXX part is read and XXXX b "STR_0001 :{STRINGID} {COMMA16}\n" "STR_0002 :Spiral Roller Coaster\n" "STR_0003 :Stand-up Roller Coaster\n" - "\n" - "STR_SCNR :Arid Heights scenario string\n" - "STR_PARK :Arid Heights park string\n" - "STR_DTLS :Free of any financial limits, your challenge is to develop " - "this desert park while keeping the guests happy\n" "[CONDORRD]\n" "STR_NAME :my test ride\n" "STR_DESC :ride description\n"