Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Time Twister objects translate bug #2611

Closed
NeverDruid opened this issue Dec 31, 2015 · 18 comments
Closed

Time Twister objects translate bug #2611

NeverDruid opened this issue Dec 31, 2015 · 18 comments
Assignees
Labels
bug Something went wrong. investigate Not sure what the problem is yet.
Milestone

Comments

@NeverDruid
Copy link

3434343
this string is already translated korean.txt.
and many other Untranslated string for already translated strings.

@NeverDruid NeverDruid changed the title Time Twister object translate error Time Twister object translate bug Dec 31, 2015
@IntelOrca IntelOrca added the investigate Not sure what the problem is yet. label Dec 31, 2015
@Gymnasiast
Copy link
Member

Close OpenRCT2, delete plugin.dat and then restart OpenRCT2.

@telk5093
Copy link
Contributor

telk5093 commented Jan 1, 2016

He told me it doesn't solved after he deleted plugin.dat.
It occurs to me too, and I definitly deleted plugin.dat.
(I checked only Time Twister's objects as in the below)

image

@NeverDruid NeverDruid changed the title Time Twister object translate bug Time Twister objects translate bug Jan 2, 2016
@Gymnasiast
Copy link
Member

Does this still happen?

@telk5093
Copy link
Contributor

@Gymnasiast Yes, still happened in the last commit.

@YJSoft
Copy link
Contributor

YJSoft commented Apr 26, 2016

for some reasons, those Time Twister object strings are searched at _scenarioOverrides. It is only happening objects at time twister

@YJSoft
Copy link
Contributor

YJSoft commented Apr 26, 2016

If I change LanguagePack.cpp GetString function code like

if (stringId >= ScenarioOverrideBase)
    {
        int offset = stringId - ScenarioOverrideBase;
        int ooIndex = offset / ScenarioOverrideMaxStringCount;
        int ooStringIndex = offset % ScenarioOverrideMaxStringCount;

        if (_scenarioOverrides.size() > (size_t)ooIndex)
        {
            return _scenarioOverrides[ooIndex].strings[ooStringIndex];
        }
        else
        {
            offset = stringId - ObjectOverrideBase;
            ooIndex = offset / ObjectOverrideMaxStringCount;
            ooStringIndex = offset % ObjectOverrideMaxStringCount;

            if (_objectOverrides.size() > (size_t)ooIndex)
            {
                return _objectOverrides[ooIndex].strings[ooStringIndex];
            }
            else
            {
                return nullptr;
            }
        }
    }

, everything works fine.(If search from _scenarioOverrides fails it will try searching from _objectOverrides)

English
2016-04-26 10 29 15

Korean
2016-04-26 10 25 01

I think somehow string id is big enough to recognized as scenario strings and game thinks string is scenario string.

@IntelOrca
Copy link
Contributor

IntelOrca commented Apr 26, 2016

I only allowed 4096 object override strings, so that just needs to be extended. But when I load the Korean language it only hits 2053 object override strings.

@YJSoft
Copy link
Contributor

YJSoft commented Apr 26, 2016

@IntelOrca It's not related to that(I think)
Other object's id is below 30000, but Time Twister object ids are all over 30000.

Since ScenarioOverrideBase is 0x7000(28627), all object string id over 28627 will be duplicated with scenario string id.(if object string id is near 28627, scenario strings used instead and player will get wrong translation)

Easiest way to fix this is increase ScenarioOverrideBase to 0x8000 so make sure object string id not exceeds ScenarioOverrideBase.

below are debug log(all ids missing below are all Time Twister object string id)
2016-04-27 7 02 15

@IntelOrca
Copy link
Contributor

String IDs above and equal to 0x8000 can not be used as they are reserved for user strings unfortunately.

@YJSoft
Copy link
Contributor

YJSoft commented Apr 27, 2016

Anyway since the problem is range overlapping each other, It can't be fixed without changeing range.

@Gymnasiast Gymnasiast added the bug Something went wrong. label May 12, 2016
@Gymnasiast
Copy link
Member

Does this still happen?

@Lastorder-DC
Copy link
Contributor

@Gymnasiast Yep.
2017-04-05 1 36 08

@Gymnasiast
Copy link
Member

@IntelOrca Can we not move user-defined strings further?

@IntelOrca
Copy link
Contributor

@Gymnasiast nope

@Gymnasiast
Copy link
Member

@IntelOrca That is a very unhelpful answer. At least try to provide more information, this bug has been rotting away for a year and five months.

@IntelOrca IntelOrca added the requires new save format Cannot be done until the new save format is deployed. label May 8, 2017
@Gymnasiast Gymnasiast removed the requires new save format Cannot be done until the new save format is deployed. label Jan 30, 2018
@Gymnasiast
Copy link
Member

With json-objects merged, this should be solved once Localisation gets merged in 16 hours. (Verified it myself using the Prison Island and Castle scenarios.)

@Gymnasiast Gymnasiast self-assigned this Apr 8, 2018
@Gymnasiast Gymnasiast added this to the v0.1.3 milestone Apr 8, 2018
@Gymnasiast
Copy link
Member

Checked again on develop. It works correctly now.

I'm closing this, please let me know if it works or not.

Gymnasiast added a commit that referenced this issue Apr 9, 2018
@Lastorder-DC
Copy link
Contributor

2018-04-09 16-45-46
2018-04-09 16-45-53
Works very well without any problem.

janisozaur added a commit that referenced this issue Jun 10, 2018
- Feature: [#1417] Allow saving track designs for flat rides.
- Feature: [#1675] Auto-rotate shops to face footpaths.
- Feature: [#3473] Add button in ride window's maintainance tab to refurbish the ride.
- Feature: [#6510] Ability to select edges or a row of tiles by holding down Ctrl using the land tool.
- Feature: [#7187] Option for early scenario completion.
- Feature: [#7266] Make headless instances use an interactive terminal with access to the in-game console API.
- Feature: [#7267] Leverage more historical data in Finances window.
- Feature: [#7316] Cheat to allow freezing all staff
- Feature: [#7332] Keyboard shortcuts for view path issues and cutaway view.
- Feature: [#7348] Add large half loops to the Vertical Drop Roller Coaster.
- Feature: [#7459] Allow opening and closing of parks that use no money.
- Feature: [#7579] New horizontal +/- spinner widgets to make adjusting values easier.
- Fix: [#2053] When clearance checks are disabled, a track piece ghost can remove non-ghost track pieces.
- Fix: [#2611] Some objects show (undefined string) instead of a description in Korean.
- Fix: [#3596] Saving parks, landscapes and tracks with a period in the filenames don't get their extension.
- Fix: [#5210] Default system dialog not accessible from saving landscape window.
- Fix: [#6134] Scenarios incorrectly categorised when using Polish version of RCT2.
- Fix: [#6141] CSS50.dat is never loaded.
- Fix: [#6647] Changelog window causes FPS drop.
- Fix: [#6938] Banner do not correctly capitalise non-ASCII characters.
- Fix: [#7176] Mechanics sometimes fall down from rides.
- Fix: [#7303] Visual glitch with virtual floor near map edges.
- Fix: [#7313] Loading an invalid path with openrct2 produces results different than expected.
- Fix: [#7327] Abstract scenery and stations don't get fully See-Through when hiding them (original bug).
- Fix: [#7331] Invention list in scenario editor crashes upon removing previously-enabled ride/stall entries.
- Fix: [#7341] Staff may auto-spawn on guests walking outside of paths.
- Fix: [#7354] Cut-away view does not draw tile elements that have been moved down on the list.
- Fix: [#7358] Peeps and staff entering rides still have the slope speed penalty set.
- Fix: [#7382] Opening the mini-map reverts the size of the land tool to 1x1, regardless of what was selected before.
- Fix: [#7402] Edges of neigbouring footpaths stay connected after removing a path that's underneath a ride entrance.
- Fix: [#7405] Rides can be covered by placing scenery underneath them.
- Fix: [#7418] Staff walk off paths with a connection but no adjacent path.
- Fix: [#7434] Diagonal ride segments cannot be deleted if they are isolated.
- Fix: [#7436] Only the first 32 vehicles of a train can be painted.
- Fix: [#7480] Graphs skip values of 0.
- Fix: [#7505] Game crashes when trying to make path over map edge while having clearance checks disabled.
- Fix: [#7528] In park entrance pricing tab, switching tabs happens on mouse-down instead of mouse-up
- Fix: [#7544] Starting a headless server with no arguments causes the game to freeze.
- Fix: [#7571] Hovering a ride design over scenery or tracks will give tons of money.
- Improved: [#2989] Multiplayer window now changes title when tab changes.
- Improved: [#5339] Change eyedropper icon to actual eyedropper and change cursor to crosshair.
- Improved: [#5832] Resize tile inspector automatically when selecting a tile element.
- Improved: [#6221] The scenario editor's invention list is now resizeable.
- Improved: [#7069] The arbitrary ride type selection dropdown is now sorted orthographically, and has its spinners removed.
- Improved: [#7302] Raising land near the map edge makes the affected area smaller instead of showing an 'off edge map' error.
- Improved: [#7435] Object indexing now supports multi-threading.
- Improved: [#7510] Add horizontal clipping to cut-away view options.
- Improved: [#7531] "Save track design" dropdown now stays open.
- Improved: [#7548] Ctrl-clicking with the tile inspector open now directly selects an element and its tile.
- Improved: [#7555] Allow setting the Twitch API URL, allowing custom API servers.
- Improved: [#7567] Improve the performance of loading parks and the title sequence.
- Improved: [#7577] Allow fine-tuning the virtual floor style.
- Improved: [#7608] The vehicle selection dropdown is now sorted orthographically.
- Improved: [#7613] Resizing the staff window now resizes the name and action columns too.
- Improved: [#7627] Allow scrolling up and down on spinners to change their values.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something went wrong. investigate Not sure what the problem is yet.
Projects
No open projects
New object format
Awaiting triage
Development

No branches or pull requests

6 participants