[00:05] i am going to need to get some help with consensus on some of these new tickets [00:12] there are way more hey heres some unofficial patch that turns my game into another game, please let it work than i was expecting [00:14] t0by (~t0by@unaffiliated/t0by) left irc: Quit: t0by [00:22] Strangerke_ (~Strangerk@cable-85.28.84.13.coditel.net) joined #scummvm. [00:25] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 268 seconds [00:25] Nick change: Strangerke_ -> Strangerke [00:38] Uhfgood (~Captain_J@97-96-80-60.res.bhn.net) joined #scummvm. [01:19] DominusExult (~dominus@unaffiliated/dominus) joined #scummvm. [01:21] Dominus (~dominus@unaffiliated/dominus) left irc: Ping timeout: 260 seconds [01:21] Nick change: DominusExult -> Dominus [01:21] snw (~snow_bcks@ganon.dot-server.net) left irc: Remote host closed the connection [01:21] SylvainTV (~SylvainTV@LFbn-1-8392-241.w81-254.abo.wanadoo.fr) left irc: Quit: User pushed the X - because it's Xtra, baby [01:38] Joefish_ (~ident@p200300C6F3EAF000A5B185F195189812.dip0.t-ipconnect.de) joined #scummvm. [01:38] Joefish (~ident@p200300C6F3DED8004DE3802CD72583D3.dip0.t-ipconnect.de) left irc: Ping timeout: 258 seconds [01:45] DJW|Home (~djwillis@82.33.113.205) joined #scummvm. [01:45] #scummvm: mode change '+o DJW|Home' by ChanServ!ChanServ@services. [01:48] DJWillis (~djwillis@cpc2-trow6-2-0-cust204.aztw.cable.virginm.net) left irc: Ping timeout: 245 seconds [01:59] Joefish_ (~ident@p200300C6F3EAF000A5B185F195189812.dip0.t-ipconnect.de) left irc: Ping timeout: 245 seconds [02:00] DJWillis (~djwillis@cpc2-trow6-2-0-cust204.aztw.cable.virginm.net) joined #scummvm. [02:00] #scummvm: mode change '+o DJWillis' by ChanServ!ChanServ@services. [02:03] DJW|Home (~djwillis@82.33.113.205) left irc: Ping timeout: 240 seconds [02:04] Dark-Star (~quassel@2a01:238:427f:2f00:3060:fc6b:969e:dcf0) left irc: Ping timeout: 240 seconds [02:15] Dark-Star (~quassel@2a01:238:427f:2f00:3060:fc6b:969e:dcf0) joined #scummvm. [02:16] chr15m (~chr15m@mccormick.cx) joined #scummvm. [04:37] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) joined #scummvm. [05:01] SCI32 total conversion mods? [05:12] Begas_VBox (~Begasus@d54C3C8C2.access.telenet.be) joined #scummvm. [05:37] bgK (~bgk@vai69-5-88-183-207-181.fbx.proxad.net) joined #scummvm. [05:37] #scummvm: mode change '+o bgK' by ChanServ!ChanServ@services. [05:46] Uhfgood (~Captain_J@97-96-80-60.res.bhn.net) left irc: Quit: Leaving [06:19] Lightkey (~Darklock@p200300764C16382022CF30FFFE083718.dip0.t-ipconnect.de) left irc: Ping timeout: 255 seconds [06:20] Cheeseness (~cheesenes@ppp118-208-235-174.bras1.hba2.internode.on.net) left irc: Quit: Leaving. [06:22] Cheeseness (~cheesenes@ppp118-208-235-174.bras1.hba2.internode.on.net) joined #scummvm. [06:32] Lightkey (~Darklock@p200300764C16380822CF30FFFE083718.dip0.t-ipconnect.de) joined #scummvm. [06:48] LittleToonCat (~littlecat@47.54.148.237) left irc: Remote host closed the connection [07:02] Harekiet (~harekiet@kittens.harekiet.com) left irc: Remote host closed the connection [07:03] Harekiet (~harekiet@kittens.harekiet.com) joined #scummvm. [07:03] James|GlideM (~holoirc@cpc77289-basf12-2-0-cust228.12-3.cable.virginm.net) left irc: Remote host closed the connection [07:03] James|GlideM (~holoirc@cpc77289-basf12-2-0-cust228.12-3.cable.virginm.net) joined #scummvm. [07:03] #scummvm: mode change '+v James|GlideM' by ChanServ!ChanServ@services. [07:09] ajax16384 (~User@109.60.130.33) joined #scummvm. [07:09] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services. [07:35] _sev_ (~sev@a238130.upc-a.chello.nl) joined #scummvm. [07:35] _sev_ (~sev@a238130.upc-a.chello.nl) left irc: Changing host [07:35] _sev_ (~sev@scummvm/undead/sev) joined #scummvm. [07:35] #scummvm: mode change '+o _sev_' by ChanServ!ChanServ@services. [07:42] GitHub22 (~GitHub22@192.30.252.42) joined #scummvm. [07:42] [scummvm] sev- closed pull request #938: TESTBED: Fix building with --disable-cloud (master...fix-disable-cloud-with-testbed) https://git.io/v9Cvq [07:42] GitHub22 (GitHub22@192.30.252.42) left #scummvm. [07:42] GitHub117 (~GitHub117@192.30.252.34) joined #scummvm. [07:42] [scummvm] sev- pushed 1 new commit to master: https://git.io/v9WIX [07:42] scummvm/master d602850 Tarek Soliman: TESTBED: Fix building with --disable-cloud (#938)... [07:42] GitHub117 (GitHub117@192.30.252.34) left #scummvm. [07:43] exmensa (~exmensa@66.43.202.238) joined #scummvm. [07:44] Strangerke|work (5bb7582b@gateway/web/freenode/ip.91.183.88.43) left irc: Ping timeout: 260 seconds [07:45] exmensa_ (~exmensa@66.43.202.238) left irc: Ping timeout: 240 seconds [07:47] GitHub42 (~GitHub42@192.30.252.41) joined #scummvm. [07:47] [scummvm] sev- closed pull request #941: DIRECTOR: Clean up renderText and use MacFont in MacText. (master...macfont_plus_cleanup) https://git.io/v9Cbc [07:47] GitHub42 (GitHub42@192.30.252.41) left #scummvm. [07:47] GitHub111 (~GitHub111@192.30.252.41) joined #scummvm. [07:47] [scummvm] sev- pushed 6 new commits to master: https://git.io/v9WI7 [07:47] scummvm/master af664fe Tobia Tesan: GRAPHICS: Use MacFont in lieu of Graphics::Font in MacText [07:47] scummvm/master ed2f09b Tobia Tesan: GRAPHICS: Delete MacFont in MacText [07:47] scummvm/master b6eb8a1 Tobia Tesan: DIRECTOR: consolidate font, width instructions in renderText [07:47] GitHub111 (GitHub111@192.30.252.41) left #scummvm. [07:48] ajax16384 (~User@109.60.130.33) left irc: Quit: Leaving [07:53] Henke37 (~Henrik@81-227-16-59-no133.bredband.skanova.com) joined #scummvm. [08:20] m_kiewitz (~m_kiewitz@x4d03e07f.dyn.telefonica.de) joined #scummvm. [08:20] m_kiewitz (~m_kiewitz@x4d03e07f.dyn.telefonica.de) left irc: Changing host [08:20] m_kiewitz (~m_kiewitz@scummvm/undead/m-kiewitz) joined #scummvm. [08:20] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services. [08:51] Nick change: _sev_ -> _sev [08:58] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) left irc: Ping timeout: 240 seconds [09:11] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) joined #scummvm. [10:02] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) left irc: Ping timeout: 252 seconds [10:12] ajax16384 (~User@109.60.130.33) joined #scummvm. [10:12] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services. [10:14] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) joined #scummvm. [10:42] WooShell (~Markus@ipbcc07076.dynamic.kabel-deutschland.de) joined #scummvm. [10:54] ajax16384 (~User@109.60.130.33) left irc: Read error: Connection reset by peer [11:24] GitHub175 (~GitHub175@192.30.252.42) joined #scummvm. [11:24] [scummvm] tobiatesan opened pull request #942: DIRECTOR: Preload Stxts in Score (master...preload_stxt) https://git.io/v9W3o [11:24] GitHub175 (GitHub175@192.30.252.42) left #scummvm. [11:24] t0by (~t0by@unaffiliated/t0by) joined #scummvm. [11:24] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [11:34] Farmboy0 (~quassel@p4FD34E0E.dip0.t-ipconnect.de) joined #scummvm. [11:34] Farmboy0 (~quassel@p4FD34E0E.dip0.t-ipconnect.de) left irc: Changing host [11:34] Farmboy0 (~quassel@xoreos/farmboy0) joined #scummvm. [12:00] James|GlideM1 (~holoirc@188.29.164.11.threembb.co.uk) joined #scummvm. [12:02] LittleToonCat (~littlecat@47.54.148.237) joined #scummvm. [12:03] James|GlideM (~holoirc@cpc77289-basf12-2-0-cust228.12-3.cable.virginm.net) left irc: Ping timeout: 240 seconds [12:04] snover: care to link one? [12:12] SylvainTV (~SylvainTV@LFbn-1-8392-241.w81-254.abo.wanadoo.fr) joined #scummvm. [12:12] #scummvm: mode change '+o SylvainTV' by ChanServ!ChanServ@services. [12:19] vinayakvivek (uid121616@gateway/web/irccloud.com/x-mwbdavcdfhcahjzr) joined #scummvm. [12:39] ST (~ScottT@203-227-181-180.cpe.skymesh.net.au) joined #scummvm. [12:39] #scummvm: mode change '+o ST' by ChanServ!ChanServ@services. [12:54] _sev_ (~sev@scummvm/undead/sev) joined #scummvm. [12:54] #scummvm: mode change '+o _sev_' by ChanServ!ChanServ@services. [12:54] _sev (~sev@scummvm/undead/sev) left irc: Ping timeout: 240 seconds [13:02] t0by (~t0by@unaffiliated/t0by) left irc: Quit: t0by [13:03] James|GlideM (~holoirc@cpc77289-basf12-2-0-cust228.12-3.cable.virginm.net) joined #scummvm. [13:03] #scummvm: mode change '+v James|GlideM' by ChanServ!ChanServ@services. [13:06] James|GlideM1 (~holoirc@188.29.164.11.threembb.co.uk) left irc: Ping timeout: 268 seconds [13:16] t0by (~t0by@host88-244-dynamic.9-87-r.retail.telecomitalia.it) joined #scummvm. [13:16] t0by (~t0by@host88-244-dynamic.9-87-r.retail.telecomitalia.it) left irc: Changing host [13:16] t0by (~t0by@unaffiliated/t0by) joined #scummvm. [13:16] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [13:36] ajax16384 (~User@109.60.130.33) joined #scummvm. [13:36] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services. [13:40] _sev_: Oh, sorry, I've forgotten some of the style [13:59] t0by (~t0by@unaffiliated/t0by) left irc: Quit: t0by [13:59] t0by (~t0by@unaffiliated/t0by) joined #scummvm. [13:59] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [14:02] _sev_: Fixed. I am working on caching mactexts right now, you'll get them soon (I had expected to be done with them by tea time, but it's only *slightly* hairier). [14:03] I'll later have a look at that WAGE pr, maybe, and see if it clashes. [14:30] rootfather (~rootfathe@unaffiliated/rootfather) joined #scummvm. [14:30] #scummvm: mode change '+o rootfather' by ChanServ!ChanServ@services. [14:47] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) left irc: Ping timeout: 252 seconds [14:59] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) joined #scummvm. [15:07] Deledrius, t0by: conversions to some other language. i dont know if these people are taking assets from an original release in another language, or if they did it themselves [15:26] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) left irc: Ping timeout: 240 seconds [15:26] snover: I took a quick look at the sites for the German translations for GK2 and Phantasmagoria. [15:26] For GK2 it clearly indicates that they used the original German retail version to help make the patch. [15:27] For Phantasmagoria it's not indicated as clearly but they indicate they provide patches for games not available in German on GOG but for which a German version exists (which I then assume mean those version where used to make the patch). [15:27] Thus there might be a copyright issue with those patches. [15:27] It would really be better if GOG directly offered the games in multiple languages! [15:28] yeah& i didnt want to link anything here because the GK2 one looked like it was probably a copy of the entire game, based on the download size [15:30] i dont like blocking out users for not speaking the right language but i am not sure it is a good idea to add these detection entries. [15:31] we shouldn't add detection entries for those [15:31] i own official GK2, can check if we detect that one already [15:31] I mean GK2 (German version) [15:37] m_kiewitz: that would be great. there isnt an explicitly german detection entry for the game right now. [15:37] criezy: there is a German version of Phantasmagoria afaik, which means it's illegal in any case. It sucks that GOG doesn't offer the German version, but they can't use Sierra's content because of that [15:38] snover: is SCI able to handle resaud.001, resaud.002, etc.? or do I have to merge everything together? [15:38] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) joined #scummvm. [15:39] m_kiewitz: scummvm will work when you do that, the original interpreter wont [15:39] yes, i know the latter. you had to change CDs [15:50] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 255 seconds [15:55] ny00123 (~ny00123@bzq-109-64-146-96.red.bezeqint.net) joined #scummvm. [15:56] snover: Some code changes need adjustment on my side (my new SCI save code) [15:56] i now have a SciSpan _buf [15:57] and I need a pointer within that buffer to save a certain string [15:57] how do i do that? [16:02] .getUnsafeDataAt I guess? [16:02] m_kiewitz: you can use it like a pointer and *foo++ = whatever, or if you need a raw pointer and know how much data is going to write, you can use getUnsafeDataAt to validate that there is enough space for the data and it will give you back a raw pointer [16:03] hmm syncStringHeap actually now has a SpanOwner whatever that is [16:03] and I need to sync string data from that and to it [16:09] and getUnsafeDataAt() returns a const pointer, but I need a pointer to the data that I can modify [16:09] or was string handling completely changed? [16:11] ajax16384 (~User@109.60.130.33) left irc: Read error: Connection reset by peer [16:16] snover: i'm trying this, but then I get errors in span.h [16:16] const unsigned char *stringPtr = _buf->getUnsafeDataAt(arrayIterator->offset, currentStringSize); [16:17] error C2228: left of '.name' must have class/struct/union [16:19] string handling didnt change; the design is current that when the buffer is allocated (in Script::load), a mutable reference is returned so it can be populated, but the publicly exposed buffer is const so things other than Script dont modify it. (the script patcher gets passed the mutable reference to do whatever it needs to do during that time) [16:23] m_kiewitz: does it give a line number? [16:23] 1>d:\git-scummvm\common\span.h(756) : error C2228: left of '.name' must have class/struct/union [16:23] what i don't get, you do: [16:23] SciSpan buf = _buf->subspan(stringOffset, length); [16:23] s.syncBytes(buf.getUnsafeDataAt(0, length), length); [16:23] and this works [16:24] i try the same and in my case it seems to be const? yours can't be const, otherwise the syncBytes wouldn't work [16:25] eek [16:26] this is mine, I guess I missed something [16:26] SciSpan buf = _buf->subspan(arrayIterator->offset, currentStringSize); [16:26] s.syncBytes(buf.getUnsafeDataAt(0, currentStringSize), currentStringSize); [16:26] VC++ really doesn't like the templates, the parameter help etc. get seriously confused [16:27] Joefish (~ident@p200300C6F3EAF000A5B185F195189812.dip0.t-ipconnect.de) joined #scummvm. [16:27] my new method is within Script class too [16:29] Im thinking that perhaps a private copy of the mutable buffer should be stored instead to get rid of some of these const-removing casts and make things less weird [16:30] i don't get why that other code works, it's basically the same [16:30] yes, it gets really weird [16:31] maybe there should be another class, or maybe just an internal pointer, but right now it's confusing anyway, because script patcher + save/restore needs to change that buffer [16:36] ajax16384 (~User@109.60.130.33) joined #scummvm. [16:36] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services. [16:36] if i had to guess, based on some googling, id guess something is running into the most vexing parse [16:37] 1> d:\git-scummvm\engines\sci\util.h(165) : see reference to function template instantiation 'Common::NamedSpanImpl::NamedSpanImpl(const Other &)' being compiled [16:38] ah wait, that has nothing to do with this code, the error is shown after that in any case, even when i remove my new code [16:39] so i guess right now I can't compile ScummVM anymore :/ [16:42] how old is your copy of MSVC? [16:44] MSVC2008 [16:46] GitHub29 (~GitHub29@192.30.252.34) joined #scummvm. [16:46] [scummvm] m-kiewitz pushed 1 new commit to master: https://git.io/v9WEx [16:46] scummvm/master 0560a1d Martin Kiewitz: SCI32: add detection for GK2 German [16:46] GitHub29 (GitHub29@192.30.252.34) left #scummvm. [16:46] criezy: ^^^ [16:50] snover: what i don't get is that this compile error only happens for savegame.cpp + span.h, you use span.h for more than savegame.cpp, right? [16:50] yeah [16:50] its used everywhere [16:51] let me send you a patch in one moment [16:51] I guess there has to be some special usage of those templates in savegame.cpp [16:52] if msvc can run the tests, they exercise the span code pretty thoroughly [16:55] m_kiewitz: https://gist.github.com/csnover/4790899df5906073997fede6b4f1bb52 try this and see if things get better [16:59] funny, I just bought the German Phantasmagoria version at VCFe :-) [17:00] ..for Mac [17:01] and Leisure Suit Larry 7 [17:05] for Mac? o_O I didn't know Sierra produced localized versions for anything besides DOS/Windows [17:05] those are really rare btw (Mac versions in general) [17:06] doesn't even have its own cover, they just added a sticker saying it's for Mac [17:07] snover: didn't help, but I think you forgot it->_value.syncBaseObject(SciSpan(scr->getBuf(it->_value.getPos().getOffset()), scr->getBufSize() - it->_value.getPos().getOffset())); [17:07] how much did you pay for it? [17:08] ¬10 [17:08] o_O wow [17:08] both? for each? [17:09] it was mostly one guy selling games there, already bought a lot last time from him when I was there, about ¬10 on average for each game [17:10] I have got a French QFG5 for Mac (not SCI, but still Sierra :P - and it's dual Win/Mac CDs, so probably not that rare either) [17:10] wow, that guy seems to have no idea what those games are actually worth [17:11] m_kiewitz: no, that one is correct [17:11] criezy: it's qfg5... :P [17:11] snover: sadly msvc doesn't tell me which line in savegame.cpp is responsible for the error [17:12] It's actually "QUEST for GLORY V" on the CD :P [17:12] snover: it has something do to with const [17:12] 1> type is 'const unsigned char *const ' [17:13] "BETTEN SIE DASS ES NUR EIN ALPTRAUM IST" lol [17:13] can you update to some newer compiler? [17:13] dreammaster had a little problem in MSVC2015 but it was fixed and as far as i know everything works fine there [17:14] my notebook runs windows xp, so no [17:16] eh well, they didn't put the sticker saying it includes a German manual over the spot where the cover says it's completely in German, it's really just the English Mac version otherwise [17:36] _sev_: do you have a second? I've noticed that in renderText() the textCast styling gets updated with the freshly read values from the Stxt. [17:36] I'm not sure how this is supposed to appear to the Lingo programmer. [17:37] i.e. in Lingo, do you see them as separate attributes/variables/whatever, one for the stxt and one for the textcast, or the correct behaviour is the stxt stuff to permanently shadow the textcast? [17:37] Note that I'm talking about *styling*, that gets read with the Stxt stuff. [17:38] I am assuming shadowing; I am even smelling the behaviour of what should be a superclass and/or proxy? [17:39] s/assuming/wildly guessing/ [17:39] OOOOH [17:40] I literally only now understood that in Director "cast" is as in "cast member" [17:40] as in "movie cast" [17:47] snover: it seems the problem is: [17:47] for (ObjMap::iterator it = objects.begin(); it != objects.end(); ++it) [17:47] it->_value.syncBaseObject(curScriptObj->getBuf(it->_value.getPos().getOffset())); [17:47] m_kiewitz: huh, that is quite odd [17:48] see reference to function template instantiation 'Sci::SciSpan::SciSpan(const Other &)' being compiled [17:48] d:\git-scummvm\common\span.h(757) : error C2228: left of '.sourceByteOffset' must have class/struct/union [17:49] type is 'const unsigned char *const ' [17:49] i think that call really deserves a decrappified version anyway. [17:50] ah, in another case it seems you do a SciSpan [17:53] m_kiewitz: https://gist.github.com/csnover/ec340a7e19c1fd66ce52659291f44765 does this patch fix it? [17:54] oh, you know, it doesnt even need that second argument. [17:55] argh, nvm, that one code is new (well "new") saved game code of mine [17:55] and syncBaseObject() got changed to a Span, that's why nothing works anymore [17:58] i should have finished that code ages ago :/ [18:02] i wonder why MSVC doesn't even tell me that calling syncBaseObject with a regular pointer doesn't work anymore [18:02] in retrospect it seems so clear, and i jumped to the wrong conclusion [18:04] yes, still why does msvc not complain about this directly, but instead tries around with the template [18:04] how do you init the clones right now? [18:04] intellisense doesn't work on it (anymore?) [18:05] SegManager::reconstructClones? [18:06] yes, but i don't see any init() call? [18:06] was this completely changed? [18:07] my old new-save code did this [18:07] scriptDataPtr = (byte *)scriptObj->getBuf(); [18:07] arrayIterator->data->init(scriptDataPtr, cloneBasePos, false); // initialize clone using the base object [18:07] during CloneTable sync 2nd pass [18:09] perhaps this: https://github.com/scummvm/scummvm/commit/93b337b8335a455d0108c168ebcfae655327753c [18:11] there was never any `arrayIterator->data->init` in scummvm before though [18:12] no, it's new methods for that other way of saving [18:12] and there is another method for 2nd pass too, it doesn't work like before [18:13] arrayIterator is a Common::Array of SegmentObjTable [18:14] as far as why the compiler was trying to substitute instead of saying the type was wrong, the templated function in NamedSpanImpl was a candidate for implicit conversion (not marked explicit), but then the substitution failed [18:14] vinayakvivek (uid121616@gateway/web/irccloud.com/x-mwbdavcdfhcahjzr) left irc: Quit: Connection closed for inactivity [18:15] as described here https://stackoverflow.com/questions/121162/what-does-the-explicit-keyword-mean-in-c#121163 [18:15] this whole code is in CloneTable::saveLoadWithSerializer_v2_2ndPass [18:15] *SegmentObjTable::Entry [18:15] it seems the solution would be simple in case there was a getSpan() instead of the current getBuf() [18:15] it seems init was simply changed to use a Span for the script data [18:15] ah wait, no, i mean for the object [18:15] ah i see [18:19] so right, there should be a getSpan() for script objects [18:19] that would make this a bit easier [18:19] a long time ago, SegmentObjTables got an extra layer of indirection to avoid invalidating references to data when the tables grew: 741ac22e176934cdb7bca38c9880cb41f85de763 [18:26] i mean a getSpan() on top of getBuf() and getBufSize() [18:26] for getting the script buffer [18:27] finally compiled, wow [18:28] right now I have to create a script buffer span on my own, although it could simply get passed to me [18:28] i wonder if that new-save code would even work for sci3 [18:30] which new-save code? [18:30] sci3 saves already work, lighthouse even already works with the sci32 code for integrated save [18:30] my own, that's optional and which saves everything in a different way [18:31] yes, but that new saved game code saves differently [18:31] and also checks if the saved game data actually makes sense and applies to the current game [18:31] the old one likes to crash a lot in such cases [18:32] it also tries to make it even work when for example objects, strings, or something else isn't at the exact same offset [18:32] so for example for clones it basically saved an object index instead of the object offset within the script etc. [18:32] so recompiled scripts (*cough*) wouldn't be a problem for saved game compatibility [18:33] because of that i have to restore/save quite differently than what's happening right now [18:34] and that code also doesn't crash or error out in some weird way, but tells the user what exactly went wrong [18:34] (well it should do that) [18:35] ah, ok. [18:35] (right now the sci32 code does the same as ssci and compares the game version) [18:36] (im not actually sure if any SCI32 games can/are supposed to write to the string heap) [18:41] salty-horse (~salty-hor@bzq-79-183-86-247.red.bezeqint.net) joined #scummvm. [18:41] salty-horse (~salty-hor@bzq-79-183-86-247.red.bezeqint.net) left irc: Changing host [18:41] salty-horse (~salty-hor@unaffiliated/salty-horse) joined #scummvm. [18:41] #scummvm: mode change '+o salty-horse' by ChanServ!ChanServ@services. [18:41] game version isn't enough [18:41] fan patches and even official sierra patches aren't detected [18:42] i know that it is imperfectnot all the patches bother with an ew version file [18:42] and some localized versions also have the same version as the original English one [18:42] but saving any more detail about that isn't required, with that new code any problematic change should be detected [18:42] and when offsets change, but nothing else it should also not matter [18:43] which would be a good thing, for example the Phantasmagoria 1 fan subtitle patch breaks saved game compatibility [18:43] and with that code it wouldn't and would still work with or without that patch [18:50] snover: any idea what's going on about that random lockups bug in sq6? [18:50] m_kiewitz: no clue. pathfinding was a little sticky sometimes when a random walker would intersect with the path of ego, but i never saw any lockups [18:51] we could go totally crazy and try to reverse the original pathfinding code [18:52] that would be a good idea, there are two cases i know of where the current pathfinding code fails and lets the ego go where it should not be allowed to go [18:52] any idea if that code was changed within sci2/sci2.1/sci3? [18:53] for sci16 it would be a nightmare, I think sierra changed it several times [18:54] i dont know, but i would guess that it probably did not change after sci1.1 [18:55] could someone with the GOG version of GK2 tell me if it comes with RESMAP.000/RESSCI.000 or multiple RESMAP/RESSCI files? [18:57] There is a RESMAP.000, a RESMAP.001 abd a RESMAP.PAT. [18:57] thanks, criezy. sounds like the identical release to steam [19:02] niska (~niska@68.ip-149-56-14.net) left irc: Quit: Leaving [19:07] snover: it comes with the patch to remove scanlines on the videos as well (the one listed there: http://www.sierrahelp.com/Patches-Updates/Patches-Updates-Games/GabrielKnightSeriesUpdates.html#GK2). [19:08] yeah. [19:12] niska (~niska@68.ip-149-56-14.net) joined #scummvm. [19:12] script 34 has more changes than just that one, though i am not actually sure it matters since that script looks like it is for the demo [19:14] snover: we already show the videos without scanlines, right? [19:14] its a configurable engine option, but the game has to ask for the lines [19:15] there is a bug report about it [19:15] i know, that is why i was asking about the GOG version :) [19:15] do we ignore the option of the game atm? [19:15] or is there even an option in-game? [19:15] no, there is no option in-game. [19:16] if the game asks for black lines and the option is turned off in ScummVM, we ignore the request for black lines. if the option is turned on, and a game asks for black lines, we ignore it [19:16] er [19:16] can't we ignore what the game asks for? [19:16] s/we ignore it$/we draw the black lines [19:17] because right now the user would have to remove the patch file, correct? [19:18] where is that option btw? [19:18] it is more complex than that, the game also sets up a boost level for the video to compensate for the extra darkness [19:18] is it an engine option? [19:18] yes, i said that a few lines ago :) [19:18] i see, i need to add that to the German GK2 too [19:21] m_kiewitz: it's already fine I think. The GUIO_GK2 you used for the detection include it. [19:21] snover: so i guess you want to add a script patch for enabled scanlines? :P [19:21] criezy: no, i just tried the German GK2 and it didn't work [19:21] ah yes, GUIO_GK2 needs to be set inside detection entry [19:21] and it isn't, because I copied it from the French version [19:23] the detection table entry you just added definitely is using GUIO_GK2 [19:23] criezy: ah wait, no it's set. I guess I haven't started it and then the GUI uses the old options [19:23] snover: argh, first startup -> assert [19:24] resource_audio.cpp, line 457 [19:24] offset + syncSize < srcSize [19:25] i guess if an audio map is broken in one language release, it follows that other ones would be broken in other releases& yuck. [19:25] :( [19:26] i think we should remove that assert, replace it with a warning and then cut off the sample accordingly [19:28] was it added recently? because i started the game right before pulling the latest code and it worked back then [19:28] ajax16384 (~User@109.60.130.33) left irc: Read error: Connection reset by peer [19:28] added 2016-12-31 [19:29] though, not committed to master until a month ago [19:31] GitHub113 (~GitHub113@192.30.252.40) joined #scummvm. [19:31] [scummvm] csnover pushed 2 new commits to master: https://git.io/v9Wo9 [19:31] scummvm/master 94dc6ae Colin Snover: SCI: Hold script data as mutable internally... [19:31] scummvm/master 0016800 Colin Snover: SCI: Clean up ugly syncBaseObject call [19:31] GitHub113 (GitHub113@192.30.252.40) left #scummvm. [19:36] <_sev_> t0by: still got questions? [19:36] Nick change: _sev_ -> _sev [19:36] lots of bug tracker mail suddenly :-) [19:37] waltervn (~waltervn@541B2DBA.cm-5-4a.dynamic.ziggo.nl) joined #scummvm. [19:37] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services. [19:37] snover: congratulations on getting things this far; amazing work [19:38] thanks [19:38] the magically updating spreadsheet is working too, which is nice [19:39] where are the results collected? [19:41] http://wiki.scummvm.org/index.php/SCI/Testing [19:41] (or more accurately a Google spreadsheet that is embeded in there) [19:42] oh, neat [19:42] Begas_VBox (~Begasus@d54C3C8C2.access.telenet.be) left irc: Quit: Vision[0.9.8]: i've been blurred! [19:42] Begasus (~begasus@ptr-4p6jpimerrtbuyef7z2.18120a2.ip6.access.telenet.be) left irc: Quit: Ex-Chat [19:46] indeed, congrats snover! [19:47] hey, it was not just me, you guys helped out a lot too :) [19:48] is that some reverse psychology attempt to get me to do some SCI work? :P [19:50] but yeah, also congrats to wjp and others who helped :) [19:50] lets just say its not *not* reverse psychology ;) [19:51] I'm not awake enough to process that statement :) [19:51] <_sev> snover: I wonder [19:51] <_sev> what you will do after SCI32 support is done? [19:52] Shivers 2, then perhaps Director [19:52] <_sev> \o/ [19:55] <_sev> snover: and what about INN? [19:59] it never really crossed my mind to look at INN [20:03] jamm (~jam@unaffiliated/jamm) joined #scummvm. [20:07] Hi all [20:09] hi James|GlideM [20:09] How is everyone? [20:38] i cant speak for everyone, sorry [20:39] i am unsure about this deinterlacing patch. script 11 is patched quite heavily, but script 11 also doesnt seem to matter since the videos are played from script 36, which differs only in 1 byte (which will be the vmd flags byte) [20:59] oh dear. no, script 11 is used. i just missed it. [21:03] _sev: actually yes - in renderText a bunch of stuff from the stxt is copied over to the textCast [21:04] Is that the intended semantics? [21:04] Is there a 1:1 relationship between textCast and stxt, or the same stxt can be reused for several textcasts? [21:04] (I suspect the latter) [21:05] <_sev> same stxt could be reused [21:05] <_sev> and textcast could be modified [21:05] <_sev> as any other cast [21:05] <_sev> e.g. [21:05] <_sev> initial state is coming from STXT [21:05] <_sev> but then I can easily modify it via Lingo [21:05] I see - when you modify the Stxt from lingo, what should happen? [21:06] <_sev> I cannot do it [21:06] fantastic. [21:06] <_sev> I can modify cast only [21:06] perfect. [21:06] My life just got easier. [21:12] _sev: is it a sane idea to add a possibly null pointer to stxt to textCast, then? [21:12] It's not. [21:13] Let me rephrase. [21:13] Once you have modified the initial state, the stxt is thrown away? [21:13] If so, how insane is it to add a Common::String text to textCast? [21:13] (everything else is there already) [21:13] <_sev> I'd say a bit more extreme: [21:14] and then read the stxt at the beginning, fill the textCast and throw the whole thing away [21:14] <_sev> after creating of cast with type textCast, STXT is thrown away [21:14] <_sev> yes, that is how it should be [21:15] Wunderbar, thanks [21:15] <_sev> consider STXT as the initial state of the cast member, not a thing in itself [21:16] Ah, one migraine less. [21:39] salty-horse (~salty-hor@unaffiliated/salty-horse) left irc: Quit: Leaving [21:43] borosky (~broosky@178.235.41.205) joined #scummvm. [21:45] snover: is that expected that in SQ6 in the GMM the Save button is disabled but not the load? [21:45] I can still save (and Load) from the CONTROL button, but it feel strange to be able to load, but not save, from the GMM. [21:46] ny00123 (~ny00123@bzq-109-64-146-96.red.bezeqint.net) left irc: Quit: Leaving [21:46] broosky (~broosky@178235041205.dynamic-ww-06.vectranet.pl) left irc: Ping timeout: 258 seconds [22:02] Damn me. [22:10] waltervn (~waltervn@541B2DBA.cm-5-4a.dynamic.ziggo.nl) left irc: Quit: Leaving [22:25] GitHub89 (~GitHub89@192.30.252.34) joined #scummvm. [22:25] [scummvm] tobiatesan opened pull request #943: DIRECTOR: Preload Stxts data in textCast (master...prefill_stxt) https://git.io/v9WSL [22:25] GitHub89 (GitHub89@192.30.252.34) left #scummvm. [22:28] omer_mor_ (~Omer@46-117-132-33.bb.netvision.net.il) joined #scummvm. [22:30] omer_mor (~Omer@46-117-132-33.bb.netvision.net.il) left irc: Ping timeout: 260 seconds [22:32] omer_mor_ (~Omer@46-117-132-33.bb.netvision.net.il) left irc: Ping timeout: 240 seconds [22:37] _sev: see how you like this ^ [22:38] If it makes sense to you I'll continue with caching & dirtying mactexts [22:39] speaking of which - 1 sprite <-> 1 mactext, which needs to be dirtied when *either* the textCast is changed or the clipping box is changed, right? [22:40] I am assuming n sprites <-> 1 textcast, because I find no proof of 1:1 [22:55] criezy: it's not really weird [22:55] problem is that we do not control saving or loading, the scripts do all of that. And in tons of situations the game will go crazy in case we save [22:56] restoring however is possible all the time because we basically reset the whole game when we do that, so it works out [22:56] (well we reset the game and then the scripts get control again) [22:57] the only way to support GMM saving is doing everything by ourselves and saving the whole VM [22:57] and even that will cause issues like for example the anti-cheat feature in Codename: Iceman would be broken of course [23:10] ugh that anti-cheat "feature" [23:26] i might have said this in the past, but i wonder if it could be improved by checking for handsOff/handsOn [23:28] for sci32 maybe [23:28] for sci16 there is definitely no way [23:28] for sci16 there are certain rooms that will go crazy when you save inside them. some are not cutscenes, but regular rooms to walk around in [23:29] we tried for possibly 1 year or so, there were always situations where some heuristic failed [23:29] because well there is no logic behind it. the engine was never meant to work that way [23:31] the only proper solution would be to do saving not the way the original interpreter did it [23:32] and that's surely a lot of fun [23:34] not only that, but then you would have to make it so that the original save/restore game dialogs also still work properly (despite scripts changing stuff left and right during save+restore) [23:35] and there also needs to be support for the current saved games [23:40] Farmboy0 (~quassel@xoreos/farmboy0) left irc: Read error: Connection reset by peer [00:00] --- Mon May 1 2017