Community

SCI Programming => SCI Community How To's & Tutorials => Topic started by: miracle.flame on June 14, 2025, 03:02:35 PM

Title: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 14, 2025, 03:02:35 PM
Maybe not so surprisingly we're working on LSL7 localization to Czech.

The manually typed "Other" verbs pose a challenge here, mostly because the words contain special accented characters which can't be typed naturally while playing. There is an idea to have each verb substituted with the same word unaccented and maybe also leave one untranslated for those following existing walkthroughs with English words. Even this cheesy solution is not so easily implemented because for example verbs Milk or Unzip don't have any substitutes in the pool while command for verb Masturbate has another four substitutes.

Is there a way.. maybe through modified script patch to extend pool for each command to have for example 5 slots for verb substitutes? That way 13.msg would not have 159 verbs but way more, that is five times each command. Would someone be willing to provide such a patch if possible?
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 15, 2025, 12:47:48 PM
The German version of lsl7 seems to contain extended characters in 13.msg. Perhaps that is a good starting point? Though, AFAIK we can't recompile SCI32 scripts, so it's probably going to be difficult to make changes.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 16, 2025, 08:02:28 AM
The German version of lsl7 actually is a great starting point. They got 299 verbs in 13.msg instead of the original 159 so it means this can be done. If only I had an idea which file is responsible for extending the word list script-wise. The are three 1.pat, 3.pat and 4.pat which are patches I suppose but the same are part of the vanilla release. There are no scr files like it was with previous Larry games. They also managed to somehow get all the files in Ressci.000 and Resmap.000 to distribute the localization patch that way. I thought that's not entirely possible with the publicly available tools. Any hints?
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 16, 2025, 11:10:53 AM
Those .pat files should be audio instruments, not SCI "Patch" files.

I did a quick test with the English version, and in ScummVM extended characters are already supported (didn't test dosbox). You can try this by using SCIViewer to export 13.msg. Then open just the patch file in SCICompanion for editing.

I was able to add a 2nd word that matches for milk as m?lk. Just set the same Verb and Talker number and use the next available seq number.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 16, 2025, 09:54:05 PM
Looks like this method works fine in DOSBox too. They likely made it so easy to modify for translation's sake.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 19, 2025, 05:58:06 AM
Oh wow. I didn't know opening a single msg patch file in SCIC brings the editing interface to a whole new level. This solves everything! The most natural way to address this whole issue.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 19, 2025, 10:20:18 AM
One question, if I open the file without loading a game in SC, it wants to export the file as message.013 instead of 13.msg. Renaming it on export worked in my test, but are there any significant differences in the message format or did they just change the naming convention?
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 19, 2025, 10:35:10 AM
The naming convention is bound to the fact that SCI 0.x could only handle up to 1000 resources of each type (000-999). I'm pretty sure messages came around after the switch to wider resource numbers.

The bigger issue is that there's at least three message format revisions in SCI 1.x alone. As far as I can tell, SCI 2 and 3 use the latest one from SCI 1.1, and that's the one that has the full verb noun case sequence talker thing seen in your screenshot. So you should be safe just renaming the file to 13.msg.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 19, 2025, 10:54:22 AM
I'm pretty sure messages came around after the switch to wider resource numbers.

So should SC not suggest exporting them as .013? Completely trivial, of course
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 19, 2025, 11:13:26 AM
SCI 0 formats and naming patterns are just SCI Companion's default state. No game's been loaded to tell it otherwise.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 19, 2025, 01:33:19 PM
Well I sorta knew it would be too easy. The modified file works well but only verbs with known positions are taken into consideration. Whichever newly added entry is not recognized in game. I'll test the German version if those extra positions can be used with translated verbs.

It would be most helpful to know what exactly controls the usage of 13.msg here.
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 19, 2025, 01:50:46 PM
Doomlazer's screenshot shows the extra item appear in the Other menu, and looking at this part of oPopupMenuHandler.sc (https://github.com/sluicebox/sci-scripts/blob/12c1ab894c4bd5fbf4157eb18a9e86653ec15d1b/lsl7-dos-1.01/src/oPopupMenuHandler.sc#L197) seems to imply the game tries to count how many entries there are.

Or something like that.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 19, 2025, 02:54:06 PM
 :D So it is this easy after all! Clumsy me had the older 13.msg in Patches dir taking priority.

You two realize that Czech localizations of these games wouldn't be what they are without you, don't you?
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 19, 2025, 03:09:42 PM
Well I certainly freakin' didn't until you had to say it!

(I jest, I jest...)
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 20, 2025, 02:42:41 PM
One question though, Doomlazer. How did you manage to type accented e (even these forums struggle with the encoding when trying to type it) in the game? It reacts to switching keyboard layout with alt+shift but the accented characters are not really typed in. There is some space inserted when typing them in but even if I write the word not minding that it doesn't look as expected the word is not recognized even though it is in the list.
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 20, 2025, 03:08:57 PM
If you type ' and e in that order and get an e-acute, you're using dead keys.
If you hold right-alt and type e, and that gets you an e-acute, you're using AltGr.
And then there's alt-0233, on the number pad, which is the value for e-acute in decimal.

And if you try to use dead keys but your system isn't set up to expect it, you get 'e instead, which is technically exactly what you typed, after all. And "m ' e l k" (five bytes/characters) is not the same as "m e-acute l k" (four bytes/chars). So of course if you type "m'elk" it's not gonna be recognized.

So Doomlazer, which was it?
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 20, 2025, 07:23:14 PM
I switched my keyboard to the French layout because I knew I could type [e acute] directly using the number 2 key. That's how I both edited the message patch and entered the commands in-game.

Take anther look at the German 13.msg because I noticed the encoding is different from my test with e-acute. The German extended characters are not what I'd expect to see in game or typed by the player. I should know the answer to this but my brain refuses to remember this or anything to do with codepages
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 21, 2025, 01:56:23 AM
You took a fourth option, right, lol.

As for encoding, is it the whole DOS 437 vs Windows 1252 codepage thing?
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 21, 2025, 11:36:08 AM
I feel like that has to be it. Wish my brain remembered more gooder. There was mention of alt-shift to switch keyboards. I have an option in my menu bar to switch between french and english. I always switch before launching scummvm or dosbox because I don't think they respect the change after launch. Maybe that's a contributing factor? I know you can dictate which keyboard is used in the config files.

As for other resources, you might like to connect with the French (https://www.abandonware-forums.org/forum/autres/les-aventuriers-de-la-traduction-perdue) and Spanish (https://abandonsocios.org/index.php?board=65.0) translation forums. I just use deepl to post on those, but I could provide a warm introduction to SCI translators if that would help. Lots of cool people on either site who might have some insight.

Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 25, 2025, 12:07:42 PM
I was refreshing the page for days until I realized there won't be anything new on page one and I have to switch to page two.

German msg are using OEM850 or something like that to view them properly in Notepad++.
Right Alt plus e gives me (Euro symbol) on Czech KBL but I get the point of using AltGr.
ASCII typing with alt+0233 works but no one is gonna play like that.

So I take it you've typed the character normally like anyone would using the proper KB layout set. The thing is when I do the same, that is I launch the game in ScummVM while having CZ layout set, the game types quite puzzling characters and patterns:
1=+ (the only expected character for CZ layout)
2=2
3=3
4=4
5=5
6=6
7=?
8=Whitespace
9=Whitespace
0=Whitespace

So that's why I was asking how did you manage to type it? CZ characters in fon file have accented e on the same 0233 spot both in CZ and FR.
Seems to be more like a question what KB layout ScummVM thinks it's using?

I would very much like to get introduced to the right party and forum board at Abandonware Forums, I've registered as miracle.flame there. Could you please make the post there and send me the link, Doomlazer?
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 25, 2025, 12:43:59 PM
Another issue to keep in mind is that Alt-0233 means character 233 or 0xE9. That's e-acute in Unicode, Windows 1252, and ISO-8859-1 aka Latin-1. This is because Unicode's first 256 characters are quite literally in the same order as ISO-8859-1.

Codepage 850 (DOS Latin-1) has the e-acute at position 130 or 0x82. So does 437 (Latin-US), and a few other DOS codepages that use the Latin alphabet.

This is why recent SCI Companion has a feature to automatically map between DOS 437 and Windows 1252. You type 0xE9, it's automagically translated to and from 0x82.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 25, 2025, 02:42:49 PM
In ScummVM, each game should have it's own language setting. Have you tried setting it to Czech (if that is an option)? In my test, I believe I left it set to english, but changing it might resolve the problems you're seeing. I'll check when I'm home from work and make sure I didn't set it to French or something. The language is usually deturmined in ScummVM by the detection table for each game, but should also be manually assignable.

As for Abandonware France, you need to post a few times before Direct Messages are enabled, so I'd recommend starting by posting a brief introduction in this thread (https://www.abandonware-forums.org/forum/forum-ltf-abandonware-france/le-bar-des-amis/17322-pr%C3%A9sentation-des-nouveaux-membres/page185#post902861).

The game translation sub-forum is here (https://www.abandonware-forums.org/forum/autres/les-aventuriers-de-la-traduction-perdue). Feel free also start a new thread there as well. I'm going to let my friend Theepwang know you've joined and see if they can bypass the post requirements for DMs.

Edit: looking at ScummVM with LSL7, I can't change the language - it's set by the detection tables (https://github.com/scummvm/scummvm/blob/82061bdd81e3769b0ef9094b81bc597c9eb03c50/engines/sci/detection_tables.h#L3914). That means a custom version of scummvm would be needed to change the setting to Czech. If it works in testing and the translation is completed, the Czech version could be submitted for inclusion in tables. Are you comfortable compiling a custom version of ScummVM?
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 26, 2025, 03:59:27 AM
Changing the game language in ScummVM was the first thing I've checked but it is fixed on English without an option to switch it. If I am comfortable to compile a custom build of ScummVM is a good question. I've never done that, not even tried MSYS2 so going through the docs was not very comfortable for me but I guess it's worth the shot when I have a fit-brain day... which is probably not today  ;D but it will come and I'll let you know how my first attempt went.

I was trying to find a way how to post on the Intro board at the AW forums but couldn't. There are no other functional buttons besides Subscribe, not matter if I switch the forums to French or English language. Also strange is that opening My profile gives me "Sorry, you're not allowed to see this page." while I can actually configure the profile in another section. I am sure I have activated the account via e-mail activation link yesterday. No change today.
Title: Re: LSL7 the "Other" verbs pool list
Post by: Kawa on June 26, 2025, 04:26:07 AM
You guys use MSYS2 to compile your custom ScummVMs? /j

Anyway, with regards to how type a given character: on today's modern fully Unicode OSes, or at the very least modern Windows, the keyboard layout merely determines which characters you can type, and how. Pressing the "E" key doesn't tell the application to process "E", it tells the system you pressed a key with scancode 0x12. The system then determines from the layout you specified that scancode 0x12 means "E" and sends that to the focused application. Likewise, on a French layout, scancode 0x03 with no modifiers means e-acute, but for me an unmodified scancode 0x03 means "2". And on a Hungarian keyboard, the dedicated e-acute key is next to the "L" with scancode 0x27. For me, that's a semicolon.

But no matter if you use deadkeys, altgr, or a physical dedicated e-acute key, you're getting character U+00E9 and that's how it's understood.

However! I don't know how ScummVM's language settings are supposed to influence keyboard layouts. And even in the year of our Luigi 2025, there are applications that are not made Unicode-aware. Such as SCI Companion, which is violently non-Unicode! If you run it on your average American or Western European Latin alphabet using computer, it'll use the Win-1252 code page. If your system is set up to use Greek for non-Unicode applications (or you used AppLocale or its ilk to switch locales for just that application) it'll implicitly use Win-1253 instead, replacing the upper 128 characters and changing the meaning of the byte 0xE9 from e-acute (U+00E9) to lowercase kappa (U+03BA).

And if you set it to Japanese and disable the DOS to Windows remap feature in SCI Companion, it can correctly show and edit the text for PC-98 Police Quest II. Isn't that wild.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 26, 2025, 10:45:36 AM
I used these instructions (https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/Visual_Studio) and Visual Studio 2019 to compile. It's a bit of a process for me, but the wiki did provide enough info to work through it.

Do you not have the "Envoiyer la reponse" button (see attached)? If not I'll ping one of the admins to look into it.

And if you set it to Japanese and disable the DOS to Windows remap feature in SCI Companion, it can correctly show and edit the text for PC-98 Police Quest II. Isn't that wild.

That is pretty cool.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 26, 2025, 12:18:54 PM
I have realized there is no way for me to get the desired characters in game. Even typing Alt+0233 actually types 0233 and one bonus whitespace as a result of the combo I guess. Typing Alt+0100 types 0100d though.

As for the AW forums, this is how I have it.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 26, 2025, 01:01:46 PM
I'm asking how to get that forums issue fixed.

Did you see there is a polish (https://github.com/scummvm/scummvm/blob/82061bdd81e3769b0ef9094b81bc597c9eb03c50/engines/sci/detection_tables.h#L3914) version of LSL7 in the Scummvm detection tables. Says GOG.com release, but is it an official Sierra release? Pardon my ignorance, but is the character set similar to Czech? If they were able to do it, I'd imaging it must be possible somehow.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 26, 2025, 01:53:58 PM
Polish is using the same cp1250 as Czech so it should work. What exactly is the snippet in detection tables indicating and how can this be used for our profit?
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 26, 2025, 02:44:56 PM
Eventually, you'd create a separate entry for the translation, but for testing I'd suggest changing this line (https://github.com/scummvm/scummvm/blob/82061bdd81e3769b0ef9094b81bc597c9eb03c50/engines/sci/detection_tables.h#L3865C3-L3865C17) in the English LSL7 from "Common::EN_ANY" to the Czech language identifier; would need to verify what that is exactly, but probably something like CZ_CZH. That should cause the english version lsl7 to set the lang as Czech when added to ScummVM.

Edit: Looks like it is actually CS_CZE (https://github.com/scummvm/scummvm/blob/191b7c8b284f15ead21c358394f20f4f7deb2b5c/common/language.cpp#L62).

FYI, for the full detection table entry, you'll probably want to add the MD5 hash for the PATCHES/13.msg as well as the english resmap.000 & ressci.000 to distinguish it from the english version. Wouldn't want to do that during testing/development though because every time 13.msg changes, it would require recompile of the custom scummvm.exe

Code: [Select]
// Larry 7 - English DOS CD (from spookypeanut)
// SCI interpreter version 3.000.000
{"lsl7", "", {
{"resmap.000", 0, "eae93e1b1d1ccc58b4691c371281c95d", 8188},
{"ressci.000", 0, "89353723488219e25589165d73ed663e", 66965678},
AD_LISTEND},
Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO_LSL7 },

// Larry 7 - Czech DOS CD (fan translation by miracle.flame)
// SCI interpreter version 3.000.000
{"lsl7", "", {
{"resmap.000", 0, "eae93e1b1d1ccc58b4691c371281c95d", 8188},
{"ressci.000", 0, "89353723488219e25589165d73ed663e", 66965678},
{"PATCHES/13.msg", 0, "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", xxxx},
AD_LISTEND},
Common::CS_CZE, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO_LSL7 },

You use scummvm.exe from the command line to generate the MD5 information (https://docs.scummvm.org/en/v2.6.1/advanced_topics/command_line.html#:~:text=%2D%2D-,md5,-Shows%20MD5%20hash).
Code: [Select]
c:\scummvm.exe --md5 --md5-path=path/to/13.msg --md5-engine=SCI
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 27, 2025, 02:35:04 AM
Sorry for the inconvenience here but I have received another activation e-mail which results in failed activation, asking me to use activation form instead entering an activation code. When I do that it basically throws the same error about invalid address with suggestion to use this same procedure instead. The activation e-mail says the identifier is miracle.flame and not an e-mail address. Might as well forget about this altogether.

Thank you for the extra info for compilation. I won't be here for the weekend so I might respond way later when I get my hands to trying the compilation.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 28, 2025, 12:11:29 AM
Looks like you might be able to email that administrator at the link in the error message the key and they would activate the account, but I understand if you're done.

Here's a little tip about compiling a custom version of ScummVM. The official exe is like 180MB and takes a long time to compile because of all the different engines. Since you only need SCI engine, you can exclude everything else. When you get to the build create_project step (https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/Visual_Studio#Building_create_project), instead of running dists/msvc/create_msvc.bat, do this:

CD to "dists\msvc", then run the command ".\create_project ..\.. --msvc --disable-all-engines --enable-engine=sci32". This will disable all engines, then enable only SCI & SCI32. You can see in the output below how much we're excluding.

Code: [Select]
C:\GitHub\scummvm\dists\msvc>.\create_project ..\.. --msvc --disable-all-engines --enable-engine=sci32
Feature ENet networking support is disabled as unused by enabled engines
Feature libgif support is disabled as unused by enabled engines
Feature HNM is disabled as unused by enabled engines
Feature Dear ImGui based debugger is disabled as unused by enabled engines
Feature Indeo 3 is disabled as unused by enabled engines
Feature Indeo 4&5 is disabled as unused by enabled engines
Feature Lua is disabled as unused by enabled engines
Feature VP8/VP9 decoding support is disabled as unused by enabled engines
Feature Theora decoding support is disabled as unused by enabled engines
Feature Musepack support is disabled as unused by enabled engines
Feature MPEG-2 support is disabled as unused by enabled engines
Feature QDM2 is disabled as unused by enabled engines
Feature SID audio is disabled as unused by enabled engines
Feature Sorenson Video 1 is disabled as unused by enabled engines
Feature TinyGL is disabled as unused by enabled engines
Feature External Tracker Libraries is disabled as unused by enabled engines
Feature VGMTrans Soundfont audio is disabled as unused by enabled engines

Disabling MikMod and OpenMPT because Universal Tracker playback is unused by enabled engines

Enabled engines:

    SCI
    SCI32 games

Disabled engines:

    SCUMM
    v7 & v8 games
    HE71+ games
    Access
    ADL
    AGI
    AGOS
    AGOS 2 games
    Adventure Game Studio
    American Laser Games
    Sanitarium
    Lord Avalot d'Argent
    Another World
    BAGEL
    Beavis and Butthead in Virtual Stupidity
    Blade Runner
    The Journeyman Project 2: Buried in Time
    CGE
    CGE2
    Chamber
    Chewy: Esc from F5
    Cinematique evo 1
    Magic Composer
    CRAB
    Cinematique evo 2
    Lost Eden
    Cryo Omni3D games
    Versailles 1685
    Darkseed
    Dynamix Game Development System
    Macromedia Director
    Dungeon Master
    Dragon History
    Blazing Dragons
    Drascula: The Vampire Strikes Back
    Dreamweb
    Escape From Hell
    Freescape
    Glk Interactive Fiction games
    UFOs
    Gobli*ns
    Got
    The Griffon Legend
    Grim
    Escape from Monkey Island
    Groovie
    Groovie 2 games
    Hades Challenge
    Hyperspace Delivery Boy!
    Hopkins FBI
    Hpl1
    Hugo Trilogy
    Hypnotix Inc.
    In Cold Blood
    Illusions Engine
    The Immortal
    Kingdom: The Far Reaches
    Kyra
    Lands of Lore
    Eye of the Beholder
    Labyrinth of Time
    The Last Express
    Lilliput
    Lure of the Temptress
    M4
    MacVenture
    MADE
    MADS
    MADS V2
    Media Station
    Might and Magic
    Might and Magic 1
    Might and Magic Xeen
    Mohawk
    Where in Time is Carmen Sandiego?
    Riven: The Sequel to Myst
    Myst
    Myst ME
    Mortevielle
    mTropolis
    Mutation of JB
    Myst 3
    Nancy Drew
    Neverhood
    Nikita Game Interface
    Parallaction
    The Journeyman Project: Pegasus Prime
    Red Comrades
    Pink Panther
    Playground 3D: the testing and playground environment for 3d renderers
    Plumbers Don't Wear Ties
    The Prince and The Coward
    Private Eye
    QD Engine
    Flight of the Amazon Queen
    SAGA
    IHNM
    SAGA2
    The Lost Files of Sherlock Holmes
    Beneath a Steel Sky
    Sludge
    The Longest Journey
    Star Trek 25th Anniversary/Judgment Rites
    Mission Supernova
    Broken Sword
    Broken Sword II
    Broken Sword 2.5
    Teen Agent
    TestBed: the Testing framework
    Tetraedge
    Tinsel
    Starship Titanic
    3 Skulls of the Toltecs
    Tony Tough and the Night of Roasted Moths
    Toonstruck
    Touche: The Adventures of the Fifth Musketeer
    Trecision Adventure Module
    TsAGE
    Ringworld: Revenge of the Patriarch
    Blue Force
    Return to Ringworld
    Bud Tucker in Double Trouble
    Little Big Adventure
    Thimbleweed Park
    Ultima
    Ultima I - The First Age of Darkness
    Ultima IV - Quest of the Avatar
    Ultima VI = The False Prophet
    Ultima VIII - Pagan
    V-Cruise
    Voyeur
    WAGE
    The Watchmaker
    Wintermute
    Wintermute3D
    FoxTail
    HeroCraft
    Z-Vision

Enabled features:

    zlib (compression) support
    libmad (MP3) support
    BiDi support
    Ogg support
    Vorbis support
    FLAC support
    libpng support
    FreeType support
    libjpeg support
    FluidSynth support
    libcurl support
    SDL_net support
    Bink video support
    Scalers
    HQ scalers
    Edge scalers
    Aspect ratio correction
    16bit color support
    3D rendering
    high resolution
    integrated MT-32 emulator
    IA-32 assembly support
    OpenGL support
    OpenGL support (classic) in 3d games
    OpenGL support (shaders) in 3d games
    Taskbar integration support
    Cloud integration support
    Translation support
    System dialogs support
    System language detection support
    Text to speech support
    include resources (e.g. engine data, fonts) into the binary
    Include detection objects for all engines
    Static linking of detection objects for engines.
    FM-TOWNS/PC98 audio
    MIDI synthesis

Disabled features:

    Tremor support
    libgif support
    AAC support
    libmikmod support
    libopenmpt support
    MPEG-2 support
    Theora decoding support
    VP8/VP9 decoding support
    FluidLite support
    Discord support
    RetroWave OPL3 support
    ATSC A/52 support
    Musepack support
    ENet networking support
    Virtual keyboard support
    Event recorder support
    Updates support
    Text console debugger
    HNM
    Dear ImGui based debugger
    Indeo 3
    Indeo 4&5
    Lua
    QDM2
    SID audio
    Sorenson Video 1
    TinyGL
    External Tracker Libraries
    VGMTrans Soundfont audio

Building against SDL 2.0

Visual Studio 16 detected

Now open scummvm.sln in visual studio, update the scummvm detection tables and compile!
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 28, 2025, 12:40:02 AM
Ugh, Since I already have everything setup, I built a custom scummvm.exe that identifies the English CD version as Czech and it still has the same issue (See pic).

Edit: Strange that 1, 8, 9, 0 (maybe more) input the correct Czech characters for me, but 2-7 do not.

Furthermore, your previous comment (https://sciprogramming.com/community/index.php?topic=9286.msg76359#msg76359) says you got whitespaces for 8, 9, & 0. When I try the vanilla English LSL7 CD version with a Czech keyboard I get the same correct and incorrect values as I do with my pseudo 'Czech' game - no whitespaces.

I tried the same with a polish keyboard and couldn't produce any accented characters, in or out of of game, with the "polish programmers keyboard" win10 installed. Just an observation that pol and cze seem significantly different in my experience.

There must be a clue in why 2-7 don't map correctly; and another in why you see whitespaces 8-0 and I don't.
Title: Re: LSL7 the "Other" verbs pool list
Post by: miracle.flame on June 29, 2025, 09:27:27 AM
Oh wow, you are way ahead already and saved me troubles with compiling that custom ScummVM.

I can explain why you can see the the actual character instead of whitespaces. We have had our localization and fonts adapted for cp1250 but then thanks to the German files we've tried to work with OEM852 instead and now we can see the the same results as you are in ScummVM. And if DosBox is configured to use CZ keyboard we can type all characters normally there.

So we are half way there, now it's just about making ScummVM compatible with CZ keyboard layout which is probably not the same as Polish although they use the same codepage 1250.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on June 30, 2025, 10:49:04 AM
That's great it's working in DOSBox. Do you think you'll find a solution for ScummVM as well?

I got word that the Abandonware France mods fixed the account if you'd like to try again.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on July 02, 2025, 01:43:54 AM
Might be way off on this, but are there any other Czech ScummVM games besides Teen Agent? Could the Czech Lang scummvm input be bugged?

I believe you've translated most of the LSL SCI games, so is it seems unlikely. Could it be only a SCI32 scummvm issue?
Title: Re: LSL7 the "Other" verbs pool list
Post by: lskovlun on July 02, 2025, 09:50:17 AM
There's some code in ScummVM to support Polish games (I guess fan translations), but none for Czech. It is not enough for ScummVM to have a constant in the Common namespace. I suppose the effort needed would be similar to Polish.
Title: Re: LSL7 the "Other" verbs pool list
Post by: doomlazer on July 02, 2025, 06:41:48 PM
You're right, polish support was add as a series of commits (https://github.com/scummvm/scummvm/commits/master/engines/sci/event.cpp) back in 2019 between Dec 25 & 27.

Looks like it might require using ALT keys. It would be preferable to just fix the incorrect 2-5 keys