[Back to Index]

  
[03:46] <-- Deledrius left irc: Read error: Connection reset by peer
[03:47] --> Deledrius joined #scummvm.
[05:32] <-- chiptuner left irc: Ping timeout: 258 seconds
[05:34] --> chiptuner joined #scummvm.
[06:19] --> DominusExult joined #scummvm.
[06:22] <-- Dominus left irc: Ping timeout: 248 seconds
[06:22] Nick change: DominusExult -> Dominus
[06:43] --> ldevulder joined #scummvm.
[06:43] <-- ldevulder left irc: Remote host closed the connection
[06:51] --> ldevulder joined #scummvm.
[07:16] <grogbot> [discord] <lephilousophe> @jaffra how far do you want to come back?
[07:16] <grogbot> [discord] <lephilousophe> @jaffra how far do you want to come back in time? (edited)
[07:37] --> borosky joined #scummvm.
[07:59] <grogbot> [discord] <jaffra> Yes, that's me.
[08:07] <-- borosky left irc: Read error: Connection reset by peer
[08:07] <grogbot> [discord] <jaffra> If you're asking about which versions I would like to support and therefore would like to have debug builds for, it would be the ones starting from 2.0.0 up to the current version (which I think amounts to 14 different versions (just counting Windows releases). 2.0.0 seems like a reasonable oldest version to support given that that's the version several GOG releases come with (like Shivers and Phantasmagoria).
[08:07] --> borosky joined #scummvm.
[08:07] <grogbot> [discord] <jaffra> If you're asking about which versions I would like to support and therefore would like to have debug builds for, it would be the ones starting from 2.0.0 up to the current version (which I think amounts to 14 different versions (just counting Windows releases)). 2.0.0 seems like a reasonable oldest version to support given that that's the version several GOG releases come with (like Shivers and Phantasmagoria). (edited)
[08:08] --> broosky joined #scummvm.
[08:08] <-- borosky left irc: Read error: Connection reset by peer
[08:09] --> sev joined #scummvm.
[08:09] <-- sev left irc: Changing host
[08:09] --> sev joined #scummvm.
[08:09] #scummvm: mode change '+o sev' by ChanServ!ChanServ@services.libera.chat
[08:09] <-- broosky left irc: Read error: Connection reset by peer
[08:09] --> borosky joined #scummvm.
[08:10] <-- borosky left irc: Read error: Connection reset by peer
[08:10] --> broosky joined #scummvm.
[08:13] <-- sev left irc: Client Quit
[08:14] <grogbot> [discord] <lephilousophe> ok that's quite far. Note that I don't have debug builds
[08:15] <grogbot> [discord] <lephilousophe> starting with version 2.2, you have an assert(g_engine) in engines/dialogs.cpp which may help you to spot the g_engine address
[08:21] <-- broosky left irc: Ping timeout: 260 seconds
[08:29] --> borosky joined #scummvm.
[08:30] --> sev joined #scummvm.
[08:30] <-- sev left irc: Changing host
[08:30] --> sev joined #scummvm.
[08:30] #scummvm: mode change '+o sev' by ChanServ!ChanServ@services.libera.chat
[08:31] <grogbot> [discord] <sev____> @jaffra I really wonder, why do you need that value, engine instance address
[08:32] <grogbot> [discord] <sev____> if it is your way of detecting the game start, then we do print out a message there, which happens maybe couple nanoseconds eaerlier, beofre g_engine takes its value
[08:32] <grogbot> [discord] <sev____> if you could explain what are your needs, we probably could come up with a solution
[08:36] <-- borosky left irc: Ping timeout: 260 seconds
[08:42] <grogbot> [discord] <lephilousophe> @sev____ I think that accessing the g_engine value allows him to then peek inside the engine state and determine smaller splits
[08:43] <grogbot> [discord] <lephilousophe> like: I entered room 101 at time T which is 10ms earlier than the run before
[08:56] <grogbot> [discord] <jaffra> @sev Autosplitters track relevant memory addresses (mainly gamestate variables) and then start/stop/split the timer when the values change in specific ways, e.g. start the timer when `room` goes from `123` to `456` etc. g_engine (or g_sci etc) provide a stable entry point to build pointer paths from. The challenge is finding the e_engine offset for every version.
[08:56] <grogbot> [discord] <jaffra> @sev____ Autosplitters track relevant memory addresses (mainly gamestate variables) and then start/stop/split the timer when the values change in specific ways, e.g. start the timer when `room` goes from `123` to `456` etc. g_engine (or g_sci etc) provide a stable entry point to build pointer paths from. The challenge is finding the e_engine offset for every version. (edited)
[08:57] <grogbot> [discord] <jaffra> @sev____ Autosplitters track relevant memory addresses (mainly gamestate variables) and then start/stop/split the timer when the values change in specific ways, e.g. start the timer when `room` goes from `123` to `456` etc. g_engine (or g_sci etc) provide a stable entry point to build pointer paths from. The challenge is finding the g_engine (or g_sci etc) offset for every version. (edited)
[09:00] <grogbot> [discord] <jaffra> Finding a signature that persists across most versions may be easier for g_sci (and every other engine) than for g_engine itself, if those are changed less often
[09:01] <grogbot> [discord] <jaffra> So far I haven't been able to find such a signature. The other option is to simply find the static offsets once for every version of ScummVM and store them somewhere for future lookup, rather than finding the addresses dynamically. I'm fine with either option, although the signature approach would be slightly nicer
[09:14] --> borosky joined #scummvm.
[09:20] <grogbot> [discord] <sev____> @jaffra Will print outs be useful for you?
[09:23] <grogbot> [discord] <sev____> What I am thinking, is, say, doing something following:
[09:23] <grogbot> [discord] <sev____> * You define set of variables that you want to watch
[09:23] <grogbot> [discord] <sev____> * At the game start, we print out addresses of these variables
[09:23] <grogbot> [discord] <sev____> * Then you may watch those in-memory
[09:23] <grogbot> [discord] <sev____> alternatively we may print out the values when they change too, but that indeed could be error-prone and a lot of work for the engine developers
[09:23] <grogbot> [discord] <sev____> And we hide these behind some debug channels, e.g. you launch ScummVM with something like `./scummvm --debugflags=speedrunstats -d1 <target>` and then we print those out
[09:23] <grogbot> [discord] <sev____> is it something that could work better for you?
[09:23] <grogbot> [discord] <sev____> And of course, I understand, that this is not "fixing" the past
[09:25] <grogbot> [discord] <sev____> Since we have @felsqualle building the win32 builds for a while, I think for sure 2.0.0 was already under his guidance, we may _try_ rebuilding those builds
[09:27] <grogbot> [discord] <felsqualle> nope, 2.0.0 was before I started with providing the builds
[09:28] <grogbot> [discord] <sev____> however, I am afraid, that it will be not truly possible to reproduce builds from 2017, because the development environment, libs etc do evolve, thus, we will not be able to get the same byte-to-byte results.
[09:28] <grogbot> [discord] <sev____> Then, the only option is to (a) build a debug build (b) find out approximate place (c) reverse engineer and find the exact address
[09:28] <-- sev left irc: Quit: This computer has gone to sleep
[09:28] <grogbot> [discord] <felsqualle> my builds started at around 2.6.0, but I don't have the builds or the toolchain anymore since it is superseded by the dockerized toolchains
[09:29] <grogbot> [discord] <felsqualle> This... and I expect that 2.0.0 won't even build with current toolchains :/
[09:29] <-- borosky left irc: Ping timeout: 250 seconds
[09:31] --> borosky joined #scummvm.
[09:34] <grogbot> [discord] <lephilousophe> the only working option is (c) IMHO. It's not that hard to match C++ code with the resulting assembly, especially when using the strings around to locate you in the code
[09:42] <grogbot> [discord] <bmsbotje> If only there were a group of determined and experiences reverse engineers out there... 🤔
[09:42] <grogbot> [discord] <bmsbotje> If only there were a group of determined and experienced reverse engineers out there... 🤔 (edited)
[09:45] <grogbot> [discord] <_lman_> haha, reverse engineering ScummVM binaries 😄
[09:45] <grogbot> [discord] <felsqualle> I guess we are going full circle at this point
[09:46] <-- borosky left irc: Ping timeout: 265 seconds
[09:46] --> borosky joined #scummvm.
[09:50] <grogbot> [discord] <jaffra> I'd say something like that is unnecessary and over-complicated and would only add bloat and extra work for the devs (and I definitely would not want to ask for such a thing).
[09:50] <grogbot> [discord] <jaffra> To be clear, the variables really aren't the problem. The class headers contain enough information to build pointer paths (there is no problem that needs to be solved here, in other words).
[10:22] <grogbot> [discord] <lephilousophe> don't laugh, I already did it several times to properly understand some bugs we had (UB in BASS video decoder, bug in older Android libc)
[10:26] <grogbot> [discord] <_lman_> https://cdn.discordapp.com/attachments/581224061091446795/1412383208418316348/IMG_3664.GIF?ex=68b817dd&is=68b6c65d&hm=d18d7912f2c25fafe83fba3c6614cbc0f34b4b7ce5c0b7aedc348dee7472cf86&
[11:17] --> sev joined #scummvm.
[11:17] <-- sev left irc: Changing host
[11:17] --> sev joined #scummvm.
[11:17] #scummvm: mode change '+o sev' by ChanServ!ChanServ@services.libera.chat
[11:25] <-- tsoliman left irc: Quit: I've been banished!
[11:27] --> tsoliman joined #scummvm.
[13:01] --> ccawley2011__ joined #scummvm.
[13:01] #scummvm: mode change '+o ccawley2011__' by ChanServ!ChanServ@services.libera.chat
[13:09] --> speachy joined #scummvm.
[13:21] --> _sev joined #scummvm.
[13:21] <-- _sev left irc: Changing host
[13:21] --> _sev joined #scummvm.
[13:21] #scummvm: mode change '+o _sev' by ChanServ!ChanServ@services.libera.chat
[13:22] --> TAS-2012v joined #scummvm.
[13:24] --> LePhilousophe__ joined #scummvm.
[13:24] #scummvm: mode change '+o LePhilousophe__' by ChanServ!ChanServ@services.libera.chat
[13:25] --> ced117_ joined #scummvm.
[13:29] sev (~sev@scummvm/sev) got netsplit.
[13:29] ced117 (~ced117@april/member/ced117) got netsplit.
[13:29] APic (apic@apic.name) got netsplit.
[13:29] TAS_2012v (~2012@h-98-128-246-108.A498.priv.bahnhof.se) got netsplit.
[13:29] LePhilousophe (~lephilous@scummvm/LePhilousophe) got netsplit.
[13:29] Nick change: TAS-2012v -> TAS_2012v
[13:29] Possible future nick collision: TAS_2012v
[13:36] APic (apic@apic.name) returned to #scummvm.
[13:40] LePhilousophe (~lephilous@scummvm/LePhilousophe) got lost in the net-split.
[13:40] ced117 (~ced117@april/member/ced117) got lost in the net-split.
[13:40] sev (~sev@scummvm/sev) got lost in the net-split.
[13:50] <grogbot> [discord] <thebigcore> https://www.gamingonlinux.com/2025/09/scummvm-gets-support-for-the-survival-horror-penumbra-overture-from-the-amnesia-developers/
[13:50] <grogbot> [discord] <thebigcore> o__O
[13:57] <-- _sev left irc: Quit: This computer has gone to sleep
[14:06] <-- ccawley2011__ left irc: Ping timeout: 265 seconds
[14:13] <-- borosky left irc: Read error: Connection reset by peer
[14:14] --> borosky joined #scummvm.
[14:30] --> _sev joined #scummvm.
[14:30] <-- _sev left irc: Changing host
[14:30] --> _sev joined #scummvm.
[14:30] #scummvm: mode change '+o _sev' by ChanServ!ChanServ@services.libera.chat
[14:35] <-- _sev left irc: Quit: This computer has gone to sleep
[14:36] --> _sev joined #scummvm.
[14:36] <-- _sev left irc: Changing host
[14:36] --> _sev joined #scummvm.
[14:36] #scummvm: mode change '+o _sev' by ChanServ!ChanServ@services.libera.chat
[14:42] <-- _sev left irc: Quit: This computer has gone to sleep
[14:43] --> _sev joined #scummvm.
[14:43] <-- _sev left irc: Changing host
[14:43] --> _sev joined #scummvm.
[14:43] #scummvm: mode change '+o _sev' by ChanServ!ChanServ@services.libera.chat
[15:15] <-- logix left irc: Ping timeout: 256 seconds
[15:22] --> witn3ss joined #scummvm.
[16:02] <-- witn3ss left irc: Quit: Ping timeout (120 seconds)
[16:05] --> witn3ss joined #scummvm.
[16:05] --> ny00123 joined #scummvm.
[16:08] <-- ldevulder left irc: Ping timeout: 258 seconds
[16:33] <-- witn3ss left irc: Quit: Client closed
[16:34] --> witn3ss joined #scummvm.
[16:41] <-- witn3ss left irc: Quit: Client closed
[16:53] <grogbot> [discord] <rvanlaar> For those in the set of liking the last express and living in the Netherlands. There's an event where they open up one of the cars.
[16:53] <grogbot> [discord] <rvanlaar> https://www.spoorwegmuseum.nl/en/ontdek/nu-in-het-museum/open-train-festival/
[17:59] <-- ny00123 left irc: Remote host closed the connection
[18:17] --> witn3ss joined #scummvm.
[18:21] <Scummette> [scummvm] ScummVM-Translations pushed 1 new commits to master: https://is.gd/d7tS4n
[18:21] <Scummette> scummvm/master dd1af80 yeager: I18N: Update translation (Swedish)
[19:12] <-- witn3ss left irc: Quit: Client closed
[19:20] <grogbot> [discord] <neodement> heyo
[19:22] Last message repeated 1 time(s).
[19:22] <grogbot> [discord] <neodement> does anyone here have any good idea how i could track each actors costume number and report if a certain costume ever appears?
[19:22] <grogbot> [discord] <neodement> is it a big pain to compile scummvm?
[19:23] <grogbot> [discord] <bosca_bo> Not at all, really easy actually
[19:23] <grogbot> [discord] <neodement> oh ok, fab
[19:23] <grogbot> [discord] <bosca_bo> https://wiki.scummvm.org/index.php/Compiling_ScummVM
[19:23] <grogbot> [discord] <bosca_bo> There you go
[19:23] <grogbot> [discord] <neodement> ty
[19:23] <grogbot> [discord] <bosca_bo> Different methods depending on your OS
[19:23] <grogbot> [discord] <neodement> will be win 11
[19:23] <grogbot> [discord] <bosca_bo> I'm guessing you are talking about LucasArts games?
[19:24] <grogbot> [discord] <neodement> ya
[19:24] <grogbot> [discord] <bosca_bo> Which ones?
[19:24] <grogbot> [discord] <neodement> https://cdn.discordapp.com/attachments/581224061091446795/1412518512517185656/image.png?ex=68b895e0&is=68b74460&hm=b572ecca7b2d2ec2358d21245a9c2b94c49cdb8fc0abd410dc55333c300ce306&
[19:24] <grogbot> [discord] <neodement> this is probably used in a cutscene but im not totally sure
[19:24] <grogbot> [discord] <bosca_bo> Oh nice, DOTT
[19:24] <grogbot> [discord] <neodement> the first 2 frames are odd
[19:24] <grogbot> [discord] <neodement> its not a unique laverne sprite in any case
[19:24] <grogbot> [discord] <neodement> i just got curious if its used or not
[19:28] <grogbot> [discord] <bosca_bo> https://github.com/scummvm/scummvm/blob/dd1af80f03d300f54c2a58d4220b21c125e5da38/engines/scumm/akos.cpp#L106
[19:28] <grogbot> [discord] <bosca_bo> this is the place where I would do it
[19:29] <grogbot> [discord] <neodement> cool!
[19:29] <grogbot> [discord] <bosca_bo> basically put an if, checking the value of `_vm->_currentRoom`, which appears to be 73? and `a->_costume`
[19:30] <grogbot> [discord] <bosca_bo> I usually put an if, followed by a `debug("hey")`, and put a breakpoint in the `debug` call, which is just a console print 🙂
[19:30] <grogbot> [discord] <bosca_bo> quick and dirty but it works 🙂
[19:30] <grogbot> [discord] <neodement> https://cdn.discordapp.com/attachments/581224061091446795/1412520190406688949/Room72.png?ex=68b89770&is=68b745f0&hm=175b7f6ad8e6d91c0890b07930797c4b7d2dc9aed7c3cd2762af8f3040d2a401&
[19:31] <grogbot> [discord] <neodement> this being room 72
[19:31] <grogbot> [discord] <neodement> https://cdn.discordapp.com/attachments/581224061091446795/1412520335957430382/image.png?ex=68b89793&is=68b74613&hm=a30337d3927964e050fc28a195d01b9c0e00c731f1c0228748905de737e68985&
[19:31] <grogbot> [discord] <neodement> wonder if its related to this
[19:32] <grogbot> [discord] <bosca_bo> Possibly, I have no doubt it's unused in the final game
[19:32] <Scummette> [scummvm] neuromancer pushed 1 new commits to master: https://is.gd/Sf8gDE
[19:32] <Scummette> scummvm/master 9244366 neuromancer: HYPNO: added support for subtitles in cutscenes
[19:32] <grogbot> [discord] <bosca_bo> But it could certainly be something reported on tcrf
[19:32] <grogbot> [discord] <neodement> aye, im fishing around for it lol
[19:33] <grogbot> [discord] <neodement> https://cdn.discordapp.com/attachments/581224061091446795/1412520862719938704/image.png?ex=68b89811&is=68b74691&hm=e9ff75e7d938f09a011a513fabdb66dc3427b0190f66092bd58f0ad4aeaba358&
[19:33] <grogbot> [discord] <neodement> there's this strange frame and the other strange frame above
[19:34] <grogbot> [discord] <neodement> nothin groundbreaking but im a completionist
[19:36] <grogbot> [discord] <neodement> hm the thing is they are in the correct character palettes that only work if they're in the correct time periods
[19:37] <grogbot> [discord] <neodement> instead of the universal palette
[19:37] <grogbot> [discord] <neodement> so prob not a leftover of what i mentioned
[20:05] <Scummette> [scummvm] sev- pushed 202 new commits to master: https://is.gd/98mlov
[20:05] <Scummette> scummvm/master 2c9c7a1 Helco: ALCACHOFA: Add initial engine template
[20:05] <Scummette> scummvm/master b0fda8f Helco: ALCACHOFA: Add first detection entry
[20:05] <Scummette> scummvm/master b2ab245 Helco: ALCACHOFA: Read world data
[20:05] <Scummette> [scummvm] ScummVM-Translations pushed 1 new commits to master: https://is.gd/tJOnqY
[20:05] <Scummette> scummvm/master 673a52c weblate: I18N: Update translations templates
[20:05] <Scummette> [scummvm] sev- closed pull request #6865: ALCACHOFA: Initial engine merge (master...alcachofa) https://is.gd/lSoihk
[20:06] <Scummette> [scummvm] ScummVM-Translations pushed 1 new commits to master: https://is.gd/4L7tCd
[20:06] <Scummette> scummvm/master c5fab9f weblate: I18N: Update translation files
[20:07] <Scummette> [scummvm] sev- closed pull request #6909: COMMON: Fix build issue with old GCC (master...fix-rect-build) https://is.gd/oszHgX
[20:07] <Scummette> [scummvm] sev- pushed 1 new commits to master: https://is.gd/HuoJex
[20:07] <Scummette> scummvm/master a9b4d0d lephilousophe: COMMON: Fix build issue with old GCC
[20:16] <ScummBot> Build [#15501](https://buildbot.scummvm.org/#/builders/58/builds/15501) of `master-amigaos4` failed: compile (failure)
[20:27] <grogbot> [discord] <neodement> yuuup they're used in the very first cutscene
[21:45] <Scummette> [scummvm] sev- pushed 5 new commits to master: https://is.gd/XAnnmF
[21:45] <Scummette> scummvm/master 4a7c814 sev-: DIRECTOR: Do not attempt to parse non-present EXEs
[21:45] <Scummette> scummvm/master 5dcd8e6 sev-: DIRECTOR: Do not attempt to load SerialPort Xlib in later Directors
[21:45] <Scummette> scummvm/master 1f8e24b sev-: DIRECTOR: Found requested movie bitdepth in WVCI chunk
[21:55] --> Deledrius_ joined #scummvm.
[21:59] <-- Deledrius left irc: Ping timeout: 260 seconds
[22:11] <Scummette> [scummvm] digitall pushed 1 new commits to master: https://is.gd/Msv4Pu
[22:11] <Scummette> scummvm/master b5b958d digitall: PETKA: Fix Unintended Fallthrough From Custom Keymapper Event
[22:49] <Scummette> [scummvm] digitall pushed 1 new commits to master: https://is.gd/PRNm1a
[22:49] <Scummette> scummvm/master bc39f6e digitall: AUDIO: Fix Discard Cast Qualifier GCC Compiler Warning
[22:59] <-- dos left irc: Quit: Kabum!
[23:00] --> dos joined #scummvm.
[23:09] <-- borosky left irc: Ping timeout: 258 seconds
[23:43] <-- _sev left irc: Quit: This computer has gone to sleep
[23:46] --> _sev joined #scummvm.
[23:46] <-- _sev left irc: Changing host
[23:46] --> _sev joined #scummvm.
[23:46] #scummvm: mode change '+o _sev' by ChanServ!ChanServ@services.libera.chat
[00:00] --- Wed Sep 3 2025