[Back to Index]

[00:07] <grogbot> <Vissery> uh hello
[00:12] <grogbot> <DreamMaster> G'day
[00:19] <grogbot> <Vissery> uhh I have some questions about how Scumm works and whether or not I can use hex code to more easily find certain code?
[00:22] <grogbot> <Vissery> I've been digging in a few Humongous Entertainment games (the Backyard Baseball games specifically, as there's three versions)
[00:23] <grogbot> <DreamMaster> Hmm.. that's not one of the engines I'm familiar with. If you have specific questions, I'd suggest that saying them, and hopefully someone more experienced may reply sooner or later.
[00:23] <grogbot> <DreamMaster> We're currently getting into the time of day when the channel gets quiet, so you may have to be patient for a reply
[00:23] <grogbot> <Vissery> alright
[00:29] <grogbot> <Vissery> well I've managed to find the values for every single player's stats (in hexidecimal), which is really cool cause it actually is much deeper than one would have expected, but I haven't been able to find where they call these values from in the code at all and I'm wondering if there's any debugging features that scummvm has that would be able to help me with that
[01:09] <-- Lightkey left irc: Ping timeout: 255 seconds
[01:12] <-- Harekiet left irc: Remote host closed the connection
[01:12] --> Harekiet joined #scummvm.
[01:22] --> Lightkey joined #scummvm.
[01:40] --> jswagner joined #scummvm.
[01:53] <-- Dominus left irc: Ping timeout: 265 seconds
[01:54] --> Dominus joined #scummvm.
[03:03] <Scummette> scummvm/master 824bbc2 mduggan: ULTIMA8: Fix some uninitialized members from Coverity
[03:03] <Scummette> [scummvm] dreammaster pushed 1 new commits to master: https://git.io/JCJOX
[03:03] <Scummette> scummvm/master 0cf9a86 dreammaster: AGS: Further optimization for 32-bit screen rendering
[03:15] <Scummette> [scummvm] dreammaster pushed 1 new commits to master: https://git.io/JCJGO
[03:15] <Scummette> scummvm/master 9c909af dreammaster: AGS: gcc warning fix
[03:16] <-- jswagner left irc: Ping timeout: 272 seconds
[03:18] <Scummette> [scummvm] dreammaster pushed 1 new commits to master: https://git.io/JCJGP
[03:18] <Scummette> scummvm/master 416c25c dreammaster: AGS: Further gcc warning fix
[03:29] --> gsi_ joined #scummvm.
[03:31] <Scummette> [scummvm] dreammaster pushed 1 new commits to master: https://git.io/JCJce
[03:31] <Scummette> scummvm/master 0084d53 dreammaster: AGS: Another gcc warning fix
[03:33] <-- gsi left irc: Ping timeout: 272 seconds
[03:38] <Scummette> [scummvm] dreammaster closed pull request #3148: AGS: Pointers should not be casted to long (master...master) https://git.io/JCe0v
[03:38] <Scummette> [scummvm] dreammaster pushed 2 new commits to master: https://git.io/JCJCI
[03:38] <Scummette> scummvm/master c321401 aviloria: AGS: Pointers should not be casted to long
[03:38] <Scummette> scummvm/master 09ed759 aviloria: AGS: Pointers should not be casted to long
[04:06] <Scummette> [scummvm] a-yyg pushed 13 new commits to master: https://git.io/JCJ4h
[04:06] <Scummette> scummvm/master a9f7ee0 a-yyg: SAGA2: Implement Sensor save/loading
[04:06] <Scummette> scummvm/master 52dce2a a-yyg: SAGA2: Implement TempActorCount save/loading
[04:06] <Scummette> scummvm/master 09a416c a-yyg: SAGA2: Implement Mission save/loading
[04:37] <Scummette> [scummvm] djsrv pushed 17 new commits to master: https://git.io/JCJzf
[04:37] <Scummette> scummvm/master 6cfed50 djsrv: DIRECTOR: Remove Cast::getString
[04:37] <Scummette> scummvm/master 6408f60 djsrv: DIRECTOR: Rename FontInfo to FontMapEntry
[04:37] <Scummette> scummvm/master b7c40b3 djsrv: GRAPHICS: MACGUI: Create font info dictionary
[04:51] <Scummette> [scummvm] djsrv pushed 1 new commits to master: https://git.io/JCJ2r
[04:51] <Scummette> scummvm/master c4626ee djsrv: GRAPHICS: MACGUI: Fix compilation
[04:58] ids1024 (~ids1024@iandouglasscott.com) got netsplit.
[04:58] ids1024 (~ids1024@iandouglasscott.com) returned to #scummvm.
[05:08] _marc` (~marc@mos6581.de) got netsplit.
[05:08] bgK (~arch@ got netsplit.
[05:08] ScummBot (~ScummBot@al.scummvm.net) got netsplit.
[05:08] ScummBot (~ScummBot@al.scummvm.net) returned to #scummvm.
[05:08] _marc` (~marc@mos6581.de) returned to #scummvm.
[05:08] bgK (~arch@ returned to #scummvm.
[05:09] <Scummette> [scummvm] dreammaster pushed 1 new commits to master: https://git.io/JCJrZ
[05:09] <Scummette> scummvm/master 116a2f8 dreammaster: AGS: Further improve rendering with a screen dirty rect area
[05:11] LePhilousophe (valemboi20@scummvm/LePhilousophe) got netsplit.
[05:11] --> LePhilou1ophe_ joined #scummvm.
[05:12] #scummvm: mode change '+o LePhilou1ophe_' by ChanServ!ChanServ@services.libera.chat
[05:22] LePhilousophe (valemboi20@scummvm/LePhilousophe) got lost in the net-split.
[05:29] <-- bgK left irc: Changing host
[05:29] --> bgK joined #scummvm.
[05:29] #scummvm: mode change '+o bgK' by ChanServ!ChanServ@services.libera.chat
[05:31] <Scummette> [scummvm] djsrv pushed 2 new commits to master: https://git.io/JCJ6j
[05:31] <Scummette> scummvm/master 9fe78bc djsrv: GRAPHICS: MACGUI: Fix unregistered font segfault
[05:31] <Scummette> scummvm/master 92ea5a7 djsrv: DIRECTOR: Use String::format instead of U32String::format
[05:35] <ScummBot> Build [#1555](https://buildbot.scummvm.org/#builders/22/builds/1555) of `master-windows-x86-64` completed successfully.
[05:35] <ScummBot> Build [#1389](https://buildbot.scummvm.org/#builders/34/builds/1389) of `fetch-master` completed successfully.
[05:56] <Scummette> [scummvm] djsrv pushed 1 new commits to master: https://git.io/JCJMI
[06:09] <eriktorbjorn> trembyle: I can't figure out the Mac AGI dithering from the screenshots, and that was pretty much my only option. (I have no interest in the rest of the Mac GUI.) So that's a project for someone else.
[06:21] <Scummette> scummvm/master ac5dfc6 djsrv: DIRECTOR: Fix text formatting in The Apartment
[06:21] <Scummette> [scummvm] ysj1173886760 pushed 8 new commits to master: https://git.io/JCJ9G
[06:21] <Scummette> scummvm/master e4105dc ysj1173886760: DIRECTOR: clear the widget pointers in castmember when we are switching the movie.
[06:21] <Scummette> scummvm/master bd78996 ysj1173886760: DIRECTOR: amend pushing character constants
[06:21] <Scummette> scummvm/master 8d5f8ce ysj1173886760: DIRECTOR: passing events to both widget and director.
[07:22] <Scummette> [scummvm] ysj1173886760 pushed 2 new commits to master: https://git.io/JCUvo
[07:22] <Scummette> scummvm/master a2b9aa1 ysj1173886760: DIRECTOR: amend b_fplay
[07:22] <Scummette> scummvm/master 0565b34 ysj1173886760: DIRECTOR: support scaling matte ink bitmap castmember
[07:36] <ScummBot> Build [#187](https://buildbot.scummvm.org/#builders/45/builds/187) of `nightly-master` completed successfully.
[08:09] <Endy> Argh, took me three attempts to remember my new libra.chat nickserv password doh.
[08:09] <Endy> Damn you Leenode, two decades of nickserv mussle memory ruined :P
[08:14] --> Maturion joined #scummvm.
[08:16] <Scummette> [scummvm] a-yyg pushed 4 new commits to master: https://git.io/JCUsR
[08:16] <Scummette> scummvm/master f0016b0 a-yyg: SAGA2: Fix debug messages
[08:16] <Scummette> scummvm/master 5e6d320 a-yyg: SAGA2: Fix list removal on gControl delete
[08:16] <Scummette> scummvm/master 97f90e5 a-yyg: SAGA2: Fix list removal on cleanupTimers
[08:39] <-- TMM_ left irc: Quit: https://quassel-irc.org - Chat comfortably. Anywhere.
[08:39] --> TMM_ joined #scummvm.
[08:51] Nick change: LePhilou1ophe_ -> LePhilousophe__
[08:51] Nick change: LePhilousophe__ -> LePhilousophe
[08:56] <LePhilousophe> Endy: do like me, use a password manager :)
[09:11] <eriktorbjorn> That's funny... Looks like LucasArts didn't implement palette manipulation for their black and white Mac version of Loom. Obvious spoilery animation: http://www.update.uu.se/~d91tan/ScummVM/loomdragon-minivmac.gif
[09:11] <eriktorbjorn> This is what it will look like in ScummVM if the pull request is merged: http://www.update.uu.se/~d91tan/ScummVM/loomdragon-scummvm.gif
[09:13] <eriktorbjorn> I should replay the early parts of Indy 3 to see if it did the lightning flashes in Indy 3 or not in Mini vMac. But if you ask me, ScummVM does the right thing...
[09:16] <grogbot> <Kebabounet> i really love all the late refinements in the SCUMM engine. it's like a jewel
[09:45] <Scummette> [scummvm] sev- closed pull request #3142: SYMBIAN: Final batch to make Symbian port self-builded. (master...symbian_fix) https://git.io/JcdAV
[09:45] <Scummette> [scummvm] sev- pushed 4 new commits to master: https://git.io/JCUPc
[09:45] <Scummette> scummvm/master 4c8ea82 fedor4ever: SYMBIAN: Enhancement for app build.
[09:45] <Scummette> scummvm/master d48a14f fedor4ever: SYMBIAN: Add right source_patcher.py.
[09:45] <Scummette> scummvm/master f992ae0 fedor4ever: SYMBIAN: Fix exception in thread function for piper.py and build_apps.py
[10:07] --> SylvainTV__ joined #scummvm.
[10:09] <grogbot> <Kebabounet> @lephilousophe so I rebuilt a new binary with your geohot patch, but I confirm that it still doesn't work. The screen blinks as if something was about to start, but then it remains indefinitely black, so I have to do a hard shutdown
[10:10] <-- Sylvain left irc: Ping timeout: 240 seconds
[10:42] <grogbot> <lephilousophe> yes, I experienced something equivalent on the emulator
[10:42] <grogbot> <lephilousophe> it's starting but freeze somewhere because of a lock of something
[10:43] <grogbot> <lephilousophe> but now at least it's starting
[11:14] <eriktorbjorn> In case anyone was curious, original vs ScummVM for the Indy 3 castle exterior: http://www.update.uu.se/~d91tan/ScummVM/indycastle-minivmac.gif and http://www.update.uu.se/~d91tan/ScummVM/indycastle-scummvm.gif
[11:18] <grogbot> <sev> @Vissery I am not sure where you were looking for the usage
[11:18] <grogbot> <sev> the SCUMM engine, and especially Humongous Entertainment incarnations of it is all script-driven
[11:18] <grogbot> <sev> thus, what you probably need is to decompile the game scripts and then you may see where and how those values could be used
[11:19] <grogbot> <sev> however, I am not 100% sure that our script decompiler handles that particular engine version well, you may have some things not decompiled properly, but (a) it is relatively straightforward to enhance (b) you may not need the enhanced things at all
[11:20] <grogbot> <Vissery> I was looking in the hex code of the game using cheat engine so unfortunately it didn't give me a whole lot to work with but I do know that they are the stats for all the players that I got
[11:20] <grogbot> <Vissery> oh that sounds interesting
[11:20] <grogbot> <sev> well, cheat engine and hex code is a relatively bizarre way of looking at these particular games
[11:21] <grogbot> <Vissery> haha, yeah, I don't know how to look through scumm code so I figured I'd come here to ask how it actually works
[11:21] <grogbot> <sev> if you want to go deeper into things
[11:21] <grogbot> <sev> look here: https://wiki.scummvm.org/index.php?title=SCUMM/Technical_Reference
[11:22] <grogbot> <sev> then you need to run the game with --dump-scripts command line key
[11:22] <grogbot> <sev> reach out the rooms where all stats are present, particularly, the team selection
[11:22] <grogbot> <sev> then use scummvm-tools for decompiling those scripts
[11:23] <grogbot> <sev> ah, for the dump-scripts to work, create directory "dumps" in the current directory you're launching scummvm from
[11:23] <grogbot> <sev> and yes, you have to do it from the command line
[11:23] <grogbot> <Vissery> do I type it from the scummvm console?
[11:23] <grogbot> <sev> no
[11:23] <grogbot> <sev> if you're on Windows, then it is CMD
[11:23] <grogbot> <Vissery> ohhh
[11:24] <grogbot> <sev> scummvm.exe --dump-scripts baseball
[11:24] <grogbot> <sev> (or whatever target id you have, you may the Game ID in the "Edit Game" GUI dialog in ScummVM)
[11:28] <grogbot> <Vissery> what can I use with the .dmp files
[11:30] <grogbot> <sev> scummvm-tools
[11:33] <grogbot> <Vissery> so what specifically allows me to decompile them, the extraction tool?
[11:40] <grogbot> <madmoose> scummvm-tools descumm
[11:43] <grogbot> <Vissery> so it says here that -gNNN is the input script for HE games? but it has a different flag on the wiki
[11:43] <grogbot> <Vissery> which is -p
[11:44] <grogbot> <Vissery> the NNNs are the version number then yes?
[11:45] <grogbot> <Vissery> does that mean I have to go back and find it?
[11:49] <grogbot> <Vissery> sorry for asking so many questions I'm just very confused
[11:53] <grogbot> <madmoose> @Vissery Where does it say -g?
[11:53] <grogbot> <Vissery> https://cdn.discordapp.com/attachments/581224061091446795/864113158276513832/unknown.png
[11:54] <grogbot> <Vissery> oh you said g
[11:54] <grogbot> <Vissery> https://cdn.discordapp.com/attachments/581224061091446795/864113292841975808/unknown.png
[11:55] <grogbot> <Vissery> it didn't seem like it mattered, -5 was the version number that I needed apparently
[11:56] <grogbot> <Vissery> and I assume that the code is just given in the command prompt window
[11:58] <grogbot> <madmoose> @Vissery I would assume that the program is correct. Try both :). Descumm outputs to the screen last I tried, you can redirect to a file by appending > scriptXXX.txt
[11:58] --> reset joined #scummvm.
[11:58] <grogbot> <Vissery> is there a way to do more than one file so I don't have to dig through 1000 of them
[12:00] <grogbot> <Vissery> I tried that just now, it didn't make the program do anything
[12:01] <grogbot> <Vissery> wait does the > actually matter
[12:01] <grogbot> <Vissery> oh it does lol
[12:03] <grogbot> <Vissery> "ERROR: too many variables in argument list!" seems to be in multiple places, but I guess that's one of those things that was forewarned to me
[12:03] <grogbot> <Vissery> I assume the lucasarts games don't have an issue like this anywhere
[12:04] <grogbot> <madmoose> Oh there's probably plenty of issues with the decompiler, even for lucasarts games 🙂
[12:04] <Scummette> [scummvm] Ardash opened pull request #3149: XEEN RU Localization (master...master) https://git.io/JCTU1
[12:05] <grogbot> <Vissery> I would assume there's a chance that every character's variables are listed individually and not just in an array but maybe they are, I'm not entirely sure how scumm works beyond it being hugely script-based?
[12:05] <grogbot> <Vissery> I dunno if setting a variable to a number and then using it wherever is a "thing"
[12:06] <grogbot> <madmoose> @Vissery I'm only partly familiar with early scumm scripting, I don't really know what Humongous added.
[12:06] <grogbot> <Vissery> I know there's two of all 264 characters' stat numbers in the game, of which there's over 30 per character
[12:06] <grogbot> <sev> @Vissery -5 is wrong here
[12:07] <grogbot> <sev> it is a HE game
[12:07] <grogbot> <Vissery> is it wrong?
[12:07] <grogbot> <sev> see -gNNN
[12:07] <grogbot> <Vissery> but when I tried that it didn't do anything 🤔
[12:07] <grogbot> <sev> which game is that specifically?
[12:07] <grogbot> <Vissery> https://cdn.discordapp.com/attachments/581224061091446795/864116664698273812/unknown.png
[12:07] <grogbot> <Vissery> baseball 2003
[12:08] <grogbot> <Vissery> which I'm unsure as to whether or not it uses a newer engine
[12:08] <grogbot> <madmoose> You need the version number instead of NNN
[12:08] <grogbot> <Vissery> ah okay, so how do I find that
[12:08] <grogbot> <sev> looking it up
[12:08] <grogbot> <Vissery> looking it up via using scummvm?
[12:09] <grogbot> <sev> 101
[12:09] <grogbot> <Vissery> oh
[12:09] <grogbot> <sev> it is SCUMM version 10.1
[12:10] <grogbot> <Vissery> oh wow this is incredible immediately
[12:11] <grogbot> <Vissery> having actual code for all of this makes the process a thousand times more viewable to my feeble mind
[12:14] <grogbot> <Vissery> thank you for this lol
[12:14] <grogbot> <sev> I hope it worked
[12:14] <grogbot> <sev> because I suspect that some opcodes could be missing from the decompiler
[12:15] <grogbot> <sev> if you face it, it is pretty straightforward to add, I could explain how, so you could help improving the project 😄
[12:15] <grogbot> <madmoose> @Vissery Backyard Baseball is a game that a lot of people use ScummVM for and talk a lot about, but nobody actually take the time to dig into it 🙂
[12:15] <grogbot> <Vissery> it'll most definitely take a thousand years to do all of this but as long as the process is the same for a lot of it it's still better than what the community had to go off of (which was... nothing really lol)
[12:16] <grogbot> <Vissery> even if some stuff is missing it's definitely a lot better than looking through hex and just guessing what things do
[12:18] <grogbot> <sev> indeed, this was exactly my point when you mentioned cheatengine
[12:20] <grogbot> <Vissery> the thing I'm curious about is moreso where exactly the game makes these numbers, cause I would assume they're always present in the code like actual variables
[12:20] <grogbot> <Vissery> they affect basically everything about the players; how strong they hit, how well they can catch, how often they will chase the ball, height etc.
[12:20] <grogbot> <sev> yes, I think, you will see something like
[12:20] <grogbot> <sev> arraykid = X
[12:21] <grogbot> <Vissery> would using the room console command help at all for this
[12:21] <grogbot> <sev> of course, in the disassembly you will see specific values
[12:21] <grogbot> <sev> array2305 = 6
[12:21] <grogbot> <sev> so, since you have the values
[12:22] <grogbot> <sev> then I suggest to search the most odd-looking one like "132" in the decompilation
[12:22] <grogbot> <Vissery> I have them all in both hex and in decimal :p
[12:22] <grogbot> <sev> which could potentially lead you to a set of those value
[12:22] <grogbot> <sev> decompilation is all in decimal
[12:22] <grogbot> <Vissery> well I know one character has a 95 in every non-power up pitching stat
[12:23] <grogbot> <sev> sure, search for that
[12:23] <grogbot> <Vissery> maybe the custom player character you can make will help out again too lol, either way it is interesting for sure
[12:23] <grogbot> <Vissery> I'll definitely be spending a lot of time with this now
[12:30] <grogbot> <Vissery> also I assume that there's no real way to implement custom code into existing scummvm games
[12:31] <grogbot> <Vissery> I have thought about in the future (if this ever goes anywhere) being able to mod the game but at this point just figuring out how the game works is good enough for me lol
[12:32] <grogbot> <sev> there is a way of doing it
[12:32] <grogbot> <sev> I mean, implementing custom code
[12:32] <grogbot> <sev> I'd say, it is even relatively simple
[12:32] <grogbot> <sev> you see, it created those .dmp files with scripts and with their IDs
[12:33] <grogbot> <sev> we could check if a file with same ID is present and load that one instead of the one sitting in the game assets
[12:33] <grogbot> <Vissery> ooh that sounds interesting
[12:34] <grogbot> <madmoose> The scripts would have to be in compiled form, though.
[12:34] <eriktorbjorn> I've been wondering... was there some special licensing thing with those Backyard sports games? I've noticed that most of the Humongous Entertainment library is sold on Steam, but not those ones apparently?
[12:34] <grogbot> <sev> indeed
[12:34] <grogbot> <sev> there are SCUMM compilers, like ScummC
[12:34] <grogbot> <sev> and somebody could extend that one with the HE opcodes, this is straightforward
[12:35] <grogbot> <Vissery> the Backyard Sports games lived well beyond any other HE property to the point where they were purchased by another company
[12:35] <grogbot> <Vissery> they ended up making two mobile games and now rumor has it they're owned by a licensing firm I believe?
[12:35] <grogbot> <sev> I am still thinking about contacting the current IP owners and seek collaboration
[12:35] <grogbot> <Vissery> basically just left out to dry for all eternity never to do anything unfortunately
[12:35] <grogbot> Command sent by sev
[12:35] <grogbot> ...and before that I need to complete Moonbase Commander networking support
[12:35] <grogbot> <Vissery> apparently the developers of the original games have tried contacting him and then nothing happened
[12:36] <grogbot> <sev> I have a slightly different agenda: we have their games working on the modern hardware
[12:36] <grogbot> <sev> and experience with other IP owners, helping them to bring their games back to the market
[12:37] <grogbot> <sev> ah, yes, I tried to contact them in 2016, never heard back
[12:37] <grogbot> <sev> maybe I could issue a 5-yearly nudge L:D
[12:38] <grogbot> <sev> "Hello, recently (in Feb 2016) I contacted you..."
[12:38] <eriktorbjorn> The Blue's Clues games don't seem to be sold either. Moonbase Commander is, but not as part of the "Humongous Entertainment Complete Pack". I guss those are licensing issues, too.
[12:38] <grogbot> <Vissery> if you have the game already installed you actually can run the game on modern hardware but it requires an older PC to do it
[12:38] <grogbot> <Vissery> I think the other issue of course
[12:38] <grogbot> <sev> eriktorbjorn: I am in contact with the Moonbase IP owners
[12:38] <grogbot> <Vissery> is that there's even more licensing issues regarding the pro sports affiliation
[12:39] <grogbot> <sev> in fact, I got the full sources and historical development data from them
[12:39] <grogbot> <sev> HE portfolio was split into at least 3 parts: Moonbase Commander, Backyard Sports, and everything else
[12:39] <grogbot> <sev> Backyard Sports is owned by Evergreen Group
[12:39] <grogbot> <Vissery> so at best you'd only be able to get the original Soccer and the original Baseball without any insane legal stuff
[12:40] <grogbot> <sev> which now even has their website expired. sweet
[12:40] <grogbot> <sev> it used to be https://www.the-evergreen-group.com/
[12:40] <grogbot> <Vissery> yeah I think they went bankrupt and sold all their stuff
[12:40] <grogbot> <Vissery> so the company that owns them probably doesn't actually care about the series or anything
[12:41] <grogbot> <Vissery> I remember Humongous's twitter posted a teaser for it
[12:41] <eriktorbjorn> Fortunately, I'm profoundly uninterested in both soccer and baseball. :-)
[12:41] <grogbot> <Vissery> Football 99 and beyond is all games with pro players
[12:42] <grogbot> <Vissery> I guess in theory it could be possible to just... make new graphics for all of them and rename them
[12:42] <grogbot> <Vissery> but yeah digging through these games is something I've always wanted to do cause Baseball is actually quite a deep game with a lot of mechanics

[12:43] <grogbot> <Vissery> and a lot of them are merely hinted at by the game's player bios
[12:44] <grogbot> <sev> I never understood this game
[12:45] <grogbot> <sev> and as such, I am double amazed by amount of hype about it in the US
[12:46] <grogbot> <Vissery> there's stats like "intelligence" and "focus" that most people probably would never think even exist but are referred to multiple times in the bios for the characters
[12:47] <grogbot> <Vissery> it's very fascinating
[12:47] <grogbot> <sev> yes, they could have hidden stats
[12:47] <grogbot> <Vissery> we already know all of what they do I think lol
[12:47] <grogbot> <Vissery> at least 99% of them
[12:47] <grogbot> <sev> in general, they made the scripts so deep and complex...
[12:47] <grogbot> <sev> I was amazed, particularly, that Moonbase Commander consists of 3 rooms
[12:47] <grogbot> <sev> e.g. all that crazy complexity is just in the scripts
[12:48] <grogbot> <Vissery> actually the only reason I even managed to find them via hex is because Baseball gives us a save file for when you make a coach in the "season mode" of the game
[12:48] <grogbot> <Vissery> and you can open it up in notepad and it gives up a lot of info like team number IDs and what every player's ID is
[12:48] <grogbot> <Vissery> and the custom player you can make literally has all of the stats listed at the bottom of the whole thing
[12:49] <grogbot> <Vissery> it's a very weird format though, instead of hex it uses like... letters?
[12:50] <grogbot> <Vissery> https://cdn.discordapp.com/attachments/581224061091446795/864127301176524800/unknown.png
[12:50] <grogbot> <sev> ah, nice encoding
[12:50] <grogbot> <Vissery> we already know what all these are hahahaha
[12:50] <grogbot> <sev> it is a binary obfuscation
[12:51] <grogbot> <sev> so, first of all, the users will not be able to fiddle with it easily, and second, they can keep anything they want there, still being able to have the data in ASCII
[12:51] <grogbot> <Vissery> this is at the end of everything so using this I actually managed to stumble upon the stats
[12:51] <grogbot> <Vissery> https://cdn.discordapp.com/attachments/581224061091446795/864127748934598656/unknown.png
[12:51] <grogbot> <Vissery> every kid's stats are laid out like this in hex
[12:52] <grogbot> <Vissery> outside of the name stuff that's listed away from the stats
[12:52] <grogbot> <Vissery> I assume backupstats0 doesn't mean anything as you can only make one custom player for your file
[12:53] <grogbot> <sev> game scripts for Moonbase Commander is almost 70k lines
[12:53] <grogbot> <sev> macro MACRO-mini-map-add-sight ^1 ^2 ^3 { image interred-dark-dest-wiz draw-box ((^1 * rl-mini-dark-width) / rl-world-x-size), \ ((^2 * rl-mini-dark-height) / rl-world-y-size) to \ ((((^3) * rl-mini-dark-width) / rl-world-x-size) - 1), \ ((((^2 + 1) * rl-mini-dark-height) / rl-world-y-size) - 1) \ color image-transparent-color }
[12:53] <grogbot> <Vissery> or maybe it's because every kid has two of the same array of stats, one for a game that is played (which can result in random stat changes that nerf or buff a player's stats sometimes even negligibly enough to where the game doesn't even show you what was changed) and one for when the stats as they are normally
[13:13] <grogbot> <ShawnSpencer> I am new to this idea of Scumm, but do you take game requests?
[13:27] <eriktorbjorn> ShawnSpencer: Requests for games that should be supported? Not in general, but someone might know if there has been work done or not already.
[13:43] <grogbot> <trembyle> eriktorbjorn: ok, no problem. Hopefully someone else will come along who is interested, or maybe I'll have to figure out how to do it on my own.
[14:14] <grogbot> <criezy> eriktorbjorn: as somebody who first played Indiana Jones and the Last Crusade on a B&W Macintosh PowerBook in the early 90's, I really appreciate your work.
[14:15] <grogbot> <criezy> Now I just have to hope that my floppy disks are still working or that I have a backup somewhere 🤞
[14:15] <eriktorbjorn> criezy: Thank you. I hope you don't have any objections to it emulating palette changes where the original apparently didn't. :-)
[14:17] --> BrainChild joined #scummvm.
[14:19] <grogbot> <criezy> No. To be honest I thought I remembered the lightning strikes when you are outside the castle. But I replayed the game more recently with the version from Steam, so my memory probably created an hybrid of the two versions.
[14:19] <eriktorbjorn> criezy: Or it depends on model of Mac, or Mini vMac didn't emulate it accurately, or...
[14:25] <eriktorbjorn> Am I right in thinking that the ScummVM GUI uses UTF-8 now, by the way?
[14:27] <grogbot> <criezy> Now that I think about it, the main thing I remember about that laptop was the remanence from the screen leaving trails for a few seconds in the underground maze. So I am not sure it would have been able to display lightning strikes convincingly 😉
[14:28] <grogbot> <criezy> The ScummVM GUI uses U32 now. But translations are using UTF-8 and converted to U32 when loaded.

[14:34] <eriktorbjorn> If it's UTF-8, it should presumably be \xC3\xA5 instead of \xE5. But if it's UTF-32...?
[14:34] <LePhilousophe> eriktorbjorn: \xc3\xa5
[14:34] <LePhilousophe> it gets converted from utf-8 at U32String instantiation
[14:35] <eriktorbjorn> LePhilousophe: Ok, I guess I should commit my tentative change then.
[14:36] <LePhilousophe> did you try it? It should render OK
[14:36] <Scummette> [scummvm] eriktorbjorn pushed 1 new commits to master: https://git.io/JCTXT

[14:37] <eriktorbjorn> LePhilousophe: Yes, \xC3\xA5 rendered fine for me. The old \xE5 did not. (The string was terminated in the ScummVM GUI, and the window title rendered it as something that looked like Chinese.)
[14:38] <eriktorbjorn> I happened to notice it because I saw that the Freddi Fish 1 I have on Steam includes the Norwegian version.
[14:41] <eriktorbjorn> I got the "complete" pack through some Humble Bundle long ago. They include quite a lot of versions, including some UK English ones. That kind of localization always struck me as odd.
[14:44] <LePhilousophe> good, because I was not completely sure about what should be done, I am not a gui expert
[14:51] <grogbot> <criezy> For string literal in the source code (except for engines that have their own encoding assumptions), the basic idea is that they are UTF-8, unless prefixed with U. But unicode string literals is a c++11 addition and we are not using it anywhere I think.
[14:51] <grogbot> <criezy> We do have a U32String constructor that takes an UTF-32 encoded string literal, but I don't think it is used yet. In most cases the U32String are created from a String or const char * and do a conversion from UTF-8 (or another explicitly specified encoding).
[15:08] <Scummette> [scummvm] sev- pushed 4 new commits to master: https://git.io/JCTHn
[15:08] <Scummette> scummvm/master eb7c727 sev-: SAGA2: Remove old save/load methods
[15:08] <Scummette> scummvm/master 1d169ee sev-: SAGA2: Remove savefile.*
[15:08] <Scummette> scummvm/master 24fa43f sev-: SAGA2: Move SaveFileHeader to more appropriate place
[15:22] <Scummette> [scummvm] ScummVM-Translations pushed 1 new commits to master: https://git.io/JCT59
[15:22] <Scummette> scummvm/master d61a467 ysj1173886760: I18N: Update translation (Chinese (zh))
[15:34] <Scummette> [scummvm] sev- closed pull request #3149: XEEN RU Localization (master...master) https://git.io/JCTU1
[15:52] <-- Maturion left irc: Remote host closed the connection
[16:17] --> ny00123 joined #scummvm.
[16:29] <-- BrainChild left irc: Quit: Keep smiling and bye for now.
[16:56] <eriktorbjorn> The Wiki page for Freddi Fish 1 seems a bit incomplete. The Norwegian version of the game has the files freddi.(a), freddi.d32, freddi.he0, freddi.he2 and freddi.he4 which doesn't qutie correspond to the list of necessary files. Does anyone know if all of them are needed, or just some?
[16:57] <eriktorbjorn> (Probably all, since the Steam version I got them from is bundled with ScummVM.)
[19:43] <Scummette> [scummvm] djsrv pushed 8 new commits to master: https://git.io/JCk6m
[19:43] <Scummette> scummvm/master 6842637 djsrv: GRAPHICS: MACGUI: Don't register font name in loadFonts
[19:43] <Scummette> scummvm/master 354e344 djsrv: GRAPHICS: MACGUI: Start IDs for new font registrations at 100
[19:43] <Scummette> scummvm/master 671fdf8 djsrv: COMMON: Add MacRoman codepage
[20:27] --> ajax16384 joined #scummvm.
[20:31] --> athrxx joined #scummvm.
[20:32] --> stano_ joined #scummvm.
[20:36] <grogbot> <athrxx> eriktorbjorn: The save description strings entered into the GMM save dialog now also seem to be UTF-8 instead of the former ISO-8859-1. I am currently cleaning up KYRA, so that only the existing save descriptions are decoded as ISO-8859-1, but the new ones will go in as UTF-8.
[20:38] <grogbot> <athrxx> I haven't checked how much other engines are affected. Engines without (real) support for the original ingame save dialog like SCUMM might have an advantage here. For KYRA we have to convert back and forth for the ingame dialogs. With extra care for some Japanese encodings.
[20:54] <Scummette> [scummvm] mgerhardy pushed 2 new commits to master: https://git.io/JCkSr
[20:56] <-- ny00123 left irc: Quit: Leaving
[21:07] <-- TMM_ left irc: Quit: https://quassel-irc.org - Chat comfortably. Anywhere.
[21:07] --> TMM_ joined #scummvm.
[21:12] <grogbot> <antoniou79> This kind of sounds like a recipe for giving me a minor stroke.
[21:14] <grogbot> <antoniou79> Are we supporting UTF-8 characters in the save game names without consideration of whether the engine's native save game dialogue can display them?
[21:15] <grogbot> <athrxx> I have progressed well through KYRA. The remaining thing is: Does Common::KeyState::ascii (still) have an ISO-8859-1 encoding on top of it?
[21:15] <grogbot> <athrxx> Or is it UTF8 now? Or none of it?
[21:16] <-- athrxx left irc: Quit: Leaving
[21:17] <grogbot> <SupSuper> we've never officially supported unicode, so the strings coming out of the GUI have always been "whatever the encoding happens to be". i don't think unicode input even works consistently across platforms yet
[21:17] <grogbot> <SupSuper> usually native save game dialogues skip the extended header entirely or ignore anything that's not ascii
[21:18] <grogbot> <athrxx> This sometimes is true and sometimes not.
[21:18] <grogbot> <athrxx> Currently we convert the input key state ascii from ISO to DOS in KYRA.
[21:18] <grogbot> <athrxx> For most games we also ignore chars >127 anyway, since the fonts don't have glyphs for it.
[21:19] <grogbot> <athrxx> And in Japanese games these chars can accidently get taken for 2-byte chars, since the 0x80 bit signals the 2-byte mode.
[21:20] <grogbot> <antoniou79> iirc Blade Runner uses the extended ascii so it does make use of codes higher than 127
[21:20] <grogbot> <antoniou79> Also fan game translations do that too
[21:21] <grogbot> <SupSuper> right, i don't think it's time for "strokes" just yet, since none of this is "official". if you were taking in unfiltered input from the gui before you would have the same issues
[21:21] <grogbot> <athrxx> Like I said, in KYRA we currently convert from ISO to DOS.
[21:21] <grogbot> <antoniou79> Yeah, I probably have to look into what we did. I just never thought of it as an issue before. Now I do
[21:22] <grogbot> <athrxx> But if noone knows an actual answer to it, I can find out myself. Just thought that someone might be into this 🙂
[21:22] --> Maturion joined #scummvm.
[21:24] <grogbot> <ccawley2011> With the SDL backend, the ascii value is currently a subset of UTF-32 that includes the standard ISO-8859-1 characters and Hebrew, but not anything else.
[21:26] <grogbot> <athrxx> @ccawley2011 Thank you. Makes sense. The U32String didn't make changes to the input event code IIRC, so it should be the same as before.
[21:27] <grogbot> <athrxx> So I'll keep the ISOtoDOS conversion for these key press events in KYRA.
[21:44] <-- ajax16384 left irc: Read error: Connection reset by peer
[21:53] <grogbot> <sev> yes, the Unicode input was another GSoC task for this year
[21:55] <grogbot> <Vissery> so digging through some of Backyard Baseball's code I've found a bit of of "invalid data" from some localvars
[21:55] <grogbot> <Vissery> which I guess isn't too surprising cause that's kind of what was forewarned
[21:56] <grogbot> <Vissery> what I've found so far is all the subtitles for voice lines and descriptions for everyone's bios
[22:11] <-- Maturion left irc: Remote host closed the connection
[22:52] <Scummette> scummvm/master 7a17220 mgerhardy: EVENTRECORDER: don't execute getMillis while resolving the random seed in playback mode
[22:52] <Scummette> scummvm/master b44e025 mgerhardy: TWINE: fixed logic error in Interface::drawFilledRect
[22:52] <Scummette> [scummvm] djsrv pushed 5 new commits to master: https://git.io/JCkpC
[22:52] <Scummette> scummvm/master ad79812 djsrv: GRAPHICS: MACGUI: Introduce font aliases
[22:52] <Scummette> scummvm/master de92922 djsrv: GRAPHICS: MACGUI: Add Japanese mode
[22:52] <Scummette> scummvm/master 6b02cb4 djsrv: DIRECTOR: Pass language to window manager
[23:11] <grogbot> <Vissery> do these errors mean that the script isn't being read properly?
[23:11] <grogbot> <Vissery> https://cdn.discordapp.com/attachments/581224061091446795/864283754087710790/unknown.png
[23:22] <Scummette> [scummvm] sev- pushed 6 new commits to master: https://git.io/JCIvv
[23:31] <Scummette> scummvm/master bcaba43 sev-: SAGA2: Fix more uninitialized variables
[23:31] <Scummette> scummvm/master ab9e72e sev-: SAGA2: Init QueueItem. CID 1458217
[23:31] <Scummette> scummvm/master cafd2a6 sev-: SAGA2: Properly iniy HuntTask on loading. CID 1458215
[23:31] <Scummette> [scummvm] athrxx pushed 1 new commits to master: https://git.io/JCIfz
[00:00] --- Tue Jul 13 2021