[00:54] Gentle (~tier@quassel/contributors/gentle) left irc: Ping timeout: 258 seconds [00:54] SylvainTV (~SylvainTV@LFbn-1-6090-118.w90-110.abo.wanadoo.fr) left irc: Read error: Connection reset by peer [00:54] bgK (~bgk@2001:41d0:2:599c::2a60:8434) left irc: Ping timeout: 272 seconds [01:01] Gentle (~tier@quassel/contributors/gentle) joined #scummvm. [01:04] bgK (~bgk@2001:41d0:2:599c::2a60:8434) joined #scummvm. [01:04] #scummvm: mode change '+o bgK' by ChanServ!ChanServ@services. [01:04] Strangerke_ (~Strangerk@cable-85.28.84.13.coditel.net) joined #scummvm. [01:05] DominusExult (~dominus@unaffiliated/dominus) joined #scummvm. [01:06] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 244 seconds [01:06] Nick change: Strangerke_ -> Strangerke [01:10] Dominus (~dominus@unaffiliated/dominus) left irc: Ping timeout: 272 seconds [01:10] Nick change: DominusExult -> Dominus [01:35] salty-horse (~salty-hor@unaffiliated/salty-horse) left irc: Quit: Leaving [01:50] abruanese (~a@c-67-190-234-214.hsd1.fl.comcast.net) left irc: Quit: ZNC 1.6.3+deb1 - http://znc.in [02:30] snover (~Adium@unaffiliated/snover) left irc: Quit: Leaving. [02:33] Littleboy (~littleboy@c-24-147-104-194.hsd1.ma.comcast.net) left irc: Quit: Ętre dans le vent, une ambition de feuille morte. [02:35] gsivori (~gsivori@190.19.68.109) joined #scummvm. [02:48] GitHub179 (~GitHub179@192.30.252.34) joined #scummvm. [02:48] [scummvm-sites] alexbevi created gamesdb (+1 new commit): https://git.io/voX7Z [02:48] scummvm-sites/gamesdb bc3d9f5 Alex Bevilacqua: BASE: migrate code to scummvm-sites repository [02:48] GitHub179 (GitHub179@192.30.252.34) left #scummvm. [02:50] GitHub20 (~GitHub20@192.30.252.40) joined #scummvm. [02:50] [scummvm-sites] alexbevi force-pushed gamesdb from bc3d9f5 to f4cea19: https://git.io/voX7R [02:50] scummvm-sites/gamesdb f4cea19 Alex Bevilacqua: GAMESDB: migrate code to scummvm-sites repository [02:50] GitHub20 (GitHub20@192.30.252.40) left #scummvm. [02:57] GitHub85 (~GitHub85@192.30.252.41) joined #scummvm. [02:57] [scummvm-sites] alexbevi pushed 1 new commit to gamesdb: https://git.io/voX7h [02:57] scummvm-sites/gamesdb ce2a88d Alex Bevilacqua: GAMESDB: stub out readme [02:57] GitHub85 (GitHub85@192.30.252.41) left #scummvm. [03:31] gsivori (~gsivori@190.19.68.109) left irc: Quit: Leaving [04:04] Cruel` (~cruel@66.56.1.210) left irc: Ping timeout: 244 seconds [04:14] Axy (~Mia@unaffiliated/mia) left irc: Read error: Connection reset by peer [05:03] jammm (~jam@106.221.136.55) left irc: Read error: Connection reset by peer [05:03] jamm (~jam@unaffiliated/jamm) joined #scummvm. [05:25] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 272 seconds [05:36] uruk-hai (~uruk-hai@catv-80-99-64-76.catv.broadband.hu) joined #scummvm. [05:36] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services. [05:51] _sev|work (~sev@scummvm/undead/sev) joined #scummvm. [05:51] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services. [05:55] t0by (~t0by@host87-252-dynamic.5-87-r.retail.telecomitalia.it) joined #scummvm. [05:55] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [06:09] DJWillis (~djwillis@cpc2-trow6-2-0-cust204.aztw.cable.virginm.net) left irc: Read error: Connection reset by peer [06:09] DJWillis (~djwillis@cpc2-trow6-2-0-cust204.aztw.cable.virginm.net) joined #scummvm. [06:09] #scummvm: mode change '+o DJWillis' by ChanServ!ChanServ@services. [06:21] _sev|work (~sev@scummvm/undead/sev) left irc: Quit: This computer has gone to sleep [06:29] wanwan (~wanwan@ppp46-138-251-17.pppoe.spdop.ru) joined #scummvm. [06:30] t0by (~t0by@host87-252-dynamic.5-87-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds [06:36] girafe (~girafe@LFbn-1-8020-64.w90-112.abo.wanadoo.fr) joined #scummvm. [06:59] Strangerke|work (5bb7582b@gateway/web/freenode/ip.91.183.88.43) joined #scummvm. [06:59] hi guys [07:10] hello there Stranger [07:12] what's up dude? :) [07:16] t0by (~t0by@host87-252-dynamic.5-87-r.retail.telecomitalia.it) joined #scummvm. [07:16] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [07:28] struggeling with the perfect organisation of the Homescreen of my new smartphone [07:29] NuSuey (uid3556@gateway/web/irccloud.com/x-hretssunkaftpied) joined #scummvm. [07:29] m_kiewitz (~m_kiewitz@scummvm/undead/m-kiewitz) joined #scummvm. [07:29] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services. [07:37] remove all apps and it's perfect [07:47] uruk-hai (~uruk-hai@catv-80-99-64-76.catv.broadband.hu) left irc: Quit: Leaving [07:48] shut it down and it's perfect [07:54] fling it all the wall and it's perfect? [07:56] lol guys :D [07:57] gus (~quassel@2401:1801:7800:101:be76:4eff:fe18:1911) left irc: Ping timeout: 250 seconds [07:57] gus (~quassel@2401:1801:7800:101:be76:4eff:fe18:1911) joined #scummvm. [08:11] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) joined #scummvm. [08:11] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services. [08:21] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) left irc: Quit: This computer has gone to sleep [08:22] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) joined #scummvm. [08:22] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services. [08:38] girafe (~girafe@LFbn-1-8020-64.w90-112.abo.wanadoo.fr) left irc: Read error: Connection reset by peer [08:53] _sev|work (~sev@proxy-gw-l.booking.com) joined #scummvm. [08:53] _sev|work (~sev@proxy-gw-l.booking.com) left irc: Changing host [08:53] _sev|work (~sev@scummvm/undead/sev) joined #scummvm. [08:53] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services. [08:54] TMM (~hp@fsf/member/pdpc.professional.tmm) joined #scummvm. [09:26] Lightkey (~jonas@p200300764C3D1E8722CF30FFFE083718.dip0.t-ipconnect.de) left irc: Ping timeout: 272 seconds [09:39] Lightkey (~jonas@p200300764C3D1E7722CF30FFFE083718.dip0.t-ipconnect.de) joined #scummvm. [10:21] _sev|work (~sev@scummvm/undead/sev) left irc: Quit: This computer has gone to sleep [10:42] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) left irc: Quit: This computer has gone to sleep [10:44] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) joined #scummvm. [10:44] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services. [11:13] t0by (~t0by@host87-252-dynamic.5-87-r.retail.telecomitalia.it) left irc: Ping timeout: 244 seconds [11:32] Mia (~Mia@unaffiliated/mia) joined #scummvm. [11:42] snover (~Adium@unaffiliated/snover) joined #scummvm. [11:42] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services. [11:58] blorente (5120d5b3@gateway/web/cgi-irc/kiwiirc.com/ip.81.32.213.179) joined #scummvm. [11:58] #scummvm: mode change '+v blorente' by ChanServ!ChanServ@services. [12:30] t0by (~t0by@host162-236-dynamic.4-87-r.retail.telecomitalia.it) joined #scummvm. [12:30] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [12:45] _sev|work (~sev@scummvm/undead/sev) joined #scummvm. [12:45] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services. [12:46] _sev|work (~sev@scummvm/undead/sev) left irc: Client Quit [12:50] Henke37 (~Henrik@81-227-16-59-no133.bredband.skanova.com) joined #scummvm. [13:04] jammm (~jam@106.221.158.164) joined #scummvm. [13:06] jamm (~jam@unaffiliated/jamm) left irc: Read error: Connection reset by peer [13:13] Littleboy (~littleboy@c-24-147-104-194.hsd1.ma.comcast.net) joined #scummvm. [13:13] #scummvm: mode change '+o Littleboy' by ChanServ!ChanServ@services. [13:19] Littleboy (~littleboy@c-24-147-104-194.hsd1.ma.comcast.net) left irc: Read error: Connection reset by peer [13:19] Littleboy (~littleboy@c-24-147-104-194.hsd1.ma.comcast.net) joined #scummvm. [13:19] #scummvm: mode change '+o Littleboy' by ChanServ!ChanServ@services. [13:26] snover (~Adium@unaffiliated/snover) left irc: Quit: Leaving. [13:33] t0by (~t0by@host162-236-dynamic.4-87-r.retail.telecomitalia.it) left irc: Ping timeout: 240 seconds [13:35] heroux_ (sandroco@gateway/shell/insomnia247/x-vgbcjoghxmlnfcls) joined #scummvm. [13:35] heroux (sandroco@gateway/shell/insomnia247/x-cbfilcdjqojbusrv) left irc: Read error: Connection reset by peer [13:36] Nick change: heroux_ -> heroux [13:41] jammm (~jam@106.221.158.164) left irc: Quit: Leaving [13:41] jamm (~jam@unaffiliated/jamm) joined #scummvm. [14:01] OH MY GOD [14:01] http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20160623051927&SearchText=monkey+island+pillowcase [14:03] nice! :) [14:11] I bet that those aren't official [14:13] heroux_ (sandroco@gateway/shell/insomnia247/x-drsoqnycydrbanhx) joined #scummvm. [14:15] me too [14:15] heroux (sandroco@gateway/shell/insomnia247/x-vgbcjoghxmlnfcls) left irc: Ping timeout: 244 seconds [14:15] Nick change: heroux_ -> heroux [14:31] t0by (~t0by@host185-245-dynamic.51-79-r.retail.telecomitalia.it) joined #scummvm. [14:31] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services. [14:33] abruanese (~a@c-67-190-234-214.hsd1.fl.comcast.net) joined #scummvm. [15:00] t0by (~t0by@host185-245-dynamic.51-79-r.retail.telecomitalia.it) left irc: Ping timeout: 260 seconds [15:03] Strangerke|work (5bb7582b@gateway/web/freenode/ip.91.183.88.43) left irc: Quit: Bbl [15:39] Cruel` (~cruel@66.56.1.210) joined #scummvm. [15:44] exhpqv (~john@dslb-188-100-192-223.188.100.pools.vodafone-ip.de) joined #scummvm. [15:48] ny00123 (~ny00123@89-139-83-238.bb.netvision.net.il) joined #scummvm. [15:56] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) left irc: Quit: This computer has gone to sleep [15:56] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) joined #scummvm. [15:56] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services. [15:56] jamm (~jam@unaffiliated/jamm) left irc: Read error: Connection reset by peer [15:57] jamm (~jam@unaffiliated/jamm) joined #scummvm. [16:33] SylvainTV (~SylvainTV@LFbn-1-6090-118.w90-110.abo.wanadoo.fr) joined #scummvm. [16:33] #scummvm: mode change '+o SylvainTV' by ChanServ!ChanServ@services. [16:38] blorente (5120d5b3@gateway/web/cgi-irc/kiwiirc.com/ip.81.32.213.179) left irc: Quit: http://www.kiwiirc.com/ - A hand crafted IRC client [16:42] Henke37 (~Henrik@81-227-16-59-no133.bredband.skanova.com) left irc: Read error: Connection reset by peer [16:42] WooShell (~Markus@ipbcc06fca.dynamic.kabel-deutschland.de) joined #scummvm. [16:52] Gentle (~tier@quassel/contributors/gentle) left irc: Ping timeout: 276 seconds [16:53] NuSuey (uid3556@gateway/web/irccloud.com/x-hretssunkaftpied) left irc: Quit: Connection closed for inactivity [16:54] Gentle (~tier@quassel/contributors/gentle) joined #scummvm. [16:56] p1r473 (~p1r473@70.48.186.114) joined #scummvm. [16:57] NuSuey (uid3556@gateway/web/irccloud.com/x-tuuxqemsglvfpvgh) joined #scummvm. [17:01] uruk-hai (~uruk-hai@kszk-wifi-2.sch.bme.hu) left irc: Quit: This computer has gone to sleep [17:12] TMM (~hp@fsf/member/pdpc.professional.tmm) left irc: Quit: Ex-Chat [17:12] snover (~Adium@unaffiliated/snover) joined #scummvm. [17:12] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services. [17:15] Henke37 (~Henrik@81-227-16-59-no133.bredband.skanova.com) joined #scummvm. [17:44] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) joined #scummvm. [17:49] waltervn (~waltervn@82-171-142-149.ip.telfort.nl) joined #scummvm. [17:49] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services. [18:01] criezy (~criezy@host81-151-39-159.range81-151.btcentralplus.com) joined #scummvm. [18:01] #scummvm: mode change '+o criezy' by ChanServ!ChanServ@services. [18:05] uruk-hai (~Peter@catv-80-99-64-76.catv.broadband.hu) joined #scummvm. [18:05] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services. [18:06] snover (~Adium@unaffiliated/snover) left irc: Quit: Leaving. [18:17] GitHub67 (~GitHub67@192.30.252.42) joined #scummvm. [18:17] [scummvm] bluegr pushed 3 new commits to master: https://git.io/voMXg [18:17] scummvm/master 97c50fc Filippos Karapetis: SCI32: Const correction in Audio32's readBuffer() implementation [18:17] scummvm/master e80f1bb Filippos Karapetis: SCI32: Fix potentially uninitialized variable [18:17] scummvm/master 1798350 Filippos Karapetis: SCI32: Fix usage of the C++11 override keyword with MSVC... [18:17] GitHub67 (GitHub67@192.30.252.42) left #scummvm. [18:23] [md5] (~md5@unaffiliated/md5/x-729473) joined #scummvm. [18:23] #scummvm: mode change '+o [md5]' by ChanServ!ChanServ@services. [18:33] Port build status changed with 17983508: Success: master-mingw-w64-cplusplus11. Nice work, all ports built fine now [18:50] waltervn (~waltervn@82-171-142-149.ip.telfort.nl) left irc: Quit: Leaving [18:57] criezy (~criezy@host81-151-39-159.range81-151.btcentralplus.com) left irc: Ping timeout: 272 seconds [18:57] criezy_ (~criezy@host81-140-194-79.range81-140.btcentralplus.com) joined #scummvm. [18:57] #scummvm: mode change '+o criezy_' by ChanServ!ChanServ@services. [18:58] GitHub50 (~GitHub50@192.30.252.42) joined #scummvm. [18:58] [scummvm] bluegr pushed 1 new commit to master: https://git.io/voM9R [18:58] scummvm/master 5eaea05 Filippos Karapetis: SCI32: Properly initialize AudioChannel inside Audio32::play()... [18:58] GitHub50 (GitHub50@192.30.252.42) left #scummvm. [18:59] waltervn (~waltervn@82-171-142-149.ip.telfort.nl) joined #scummvm. [18:59] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services. [19:13] NuSuey (uid3556@gateway/web/irccloud.com/x-tuuxqemsglvfpvgh) left irc: Quit: Connection closed for inactivity [19:21] NuSuey (uid3556@gateway/web/irccloud.com/x-yejmxdvzxkozfzgx) joined #scummvm. [19:25] uruk_hai (~uruk-hai@catv-80-99-64-76.catv.broadband.hu) joined #scummvm. [19:25] #scummvm: mode change '+o uruk_hai' by ChanServ!ChanServ@services. [19:25] uruk_hai (~uruk-hai@catv-80-99-64-76.catv.broadband.hu) left irc: Client Quit [19:39] does anyone have Space Quest 1 VGA saves for the original interpreter? [19:40] there is some spider droid issue, but it seems it doesn't happen for every room (it seems to also depend on in which room the droid landed) [19:47] snover (~Adium@unaffiliated/snover) joined #scummvm. [19:47] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services. [19:50] Strangerke_ (~Strangerk@cable-85.28.84.13.coditel.net) joined #scummvm. [19:52] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 244 seconds [19:52] Nick change: Strangerke_ -> Strangerke [19:56] <[md5]> snover: bitmap handles in SCI32 should get a special treatment [19:57] <[md5]> like arrays and strings [19:58] uruk-hai (~Peter@catv-80-99-64-76.catv.broadband.hu) left irc: Read error: Connection reset by peer [19:58] <[md5]> currently, bitmap handles are using hunk memory [19:58] <[md5]> which is supposed to be volatile [19:58] <[md5]> e.g. screen contents [19:58] <[md5]> and is not saved or loaded [19:59] <[md5]> the original interpreter has a different kind of memory for bitmaps [19:59] <[md5]> so, at the moment, bitmaps are not preserved when saving [19:59] <[md5]> and the interpreter bombs out when loading a game [19:59] <[md5]> in SCI32 [20:00] <[md5]> we could either reinitialize scene bitmaps when loading [20:00] <[md5]> or store them in a different memory segment [20:05] TMM (~hp@fsf/member/pdpc.professional.tmm) joined #scummvm. [20:08] where are bitmaps being stored to savegame in sci32? [20:08] <[md5]> nowhere [20:08] <[md5]> at the moment [20:08] will they ever be? [20:09] <[md5]> well, I can't find any way of recreating them when loading a game [20:09] <[md5]> but, I think I found a way, which doesn't require any major changes [20:09] <[md5]> just a minute [20:09] seems like a bridge worth crossing once there is actually something trying to save bitmaps? [20:10] i dont know why the code would be changed to support something that is never done [20:11] <[md5]> well, it is being done now [20:11] <[md5]> hm [20:11] where? [20:11] <[md5]> the text scroll code [20:11] i just asked and you just said that they werent& [20:11] <[md5]> no, I said that currently the engine does not save the bitmap information [20:11] p1r473 (~p1r473@70.48.186.114) left irc: [20:12] <[md5]> in saved games [20:12] scrollwindows arent returning bitmaps to the VM, this was something discussed back when wjp was working on it [20:12] it returns integers [20:13] <[md5]> there are screen items with text [20:13] <[md5]> which is where this code is triggered [20:14] screen items arent common::serializable [20:14] <[md5]> scummvm.exe!Sci::BitmapResource::BitmapResource(Sci::reg_t bitmap) Line 109 C++ [20:14] <[md5]> scummvm.exe!Sci::CelObjMem::CelObjMem(const Sci::reg_t bitmapObject) Line 1014 C++ [20:14] <[md5]> scummvm.exe!Sci::ScreenItem::getCelObj() Line 432 C++ [20:14] <[md5]> > scummvm.exe!Sci::ScreenItem::calcRects(const Sci::Plane & plane) Line 241 C++ [20:14] <[md5]> scummvm.exe!Sci::Plane::redrawAll(Sci::Plane * visiblePlane, const Sci::PlaneList & planeList, Sci::DrawList & drawList, Sci::RectList & eraseList) Line 683 C++ [20:15] <[md5]> so it does: [20:15] <[md5]> _bitmap(g_sci->getEngineState()->_segMan->getHunkPointer(bitmap)) [20:15] <[md5]> and it bombs out [20:15] oh, so this is about the vm garbage collecting bitmap handles because it thinks they are unused [20:15] ok [20:16] <[md5]> pretty much, yeah [20:16] <[md5]> but [20:16] <[md5]> hunk pointers are not saved [20:16] <[md5]> so this returns nothing [20:17] uh oh some issues in SQ1 may have been caused by fan-patches :/ [20:18] <[md5]> which ones? [20:18] so, GfxControls32::listObjectReferences is supposed to make this not be a problem for ScrollWindow [20:18] <[md5]> I thought we blacklisted all the NRS patches [20:19] <[md5]> snover: no, we should not be using hunk memory for these at all [20:19] <[md5]> savegame.cpp:442: [20:19] <[md5]> void HunkTable::saveLoadWithSerializer(Common::Serializer &s) { [20:19] <[md5]> // Do nothing, hunk tables are not actually saved nor loaded. [20:19] <[md5]> } [20:20] yes, thats true, all the bitmaps that i am aware of are transient [20:20] [md5]: spider droid stuff [20:20] <[md5]> m_kiewitz: is there a patch for that? We blacklist the NRS patch for SQ1 [20:20] [md5]: you blacklisted them? [20:21] <[md5]> um... years ago? :P [20:21] need to ask the bug reporter about it [20:21] yeah well i think some were missing? idk [20:21] <[md5]> there's a big warning when the games start [20:21] QfG3 was fan-patched to hell too and that one isn't blacklisted [20:21] <[md5]> and a fan patch is used [20:21] <[md5]> oh [20:21] <[md5]> hm [20:21] warning? so the user can still continue? [20:21] <[md5]> yeah [20:21] qfg3 patches can't be blacklisted anymore, because that would break saved game compatibility [20:22] <[md5]> how so? [20:22] well, someone thought he was super smart and literally recompiled the scripts [20:22] so all the offsets are different [20:22] <[md5]> O_o [20:22] <[md5]> aha [20:22] and we save offsets of all sorts of things [20:22] <[md5]> that's... odd [20:22] well, i want to change the saved game code, so that this wouldn't matter anymore [20:23] wjp and I gave up after some point trying to patch the mess [20:23] there are all sorts of new issues and the only proper solution would be: "delete the fan patches" [20:23] <[md5]> the check is in sci.cpp:407 [20:23] <[md5]> gameHasFanMadePatch() [20:23] <[md5]> and it pretty much does this: [20:23] <[md5]> showScummVMDialog("Your game is patched with a fan made script patch. Such patches have " [20:23] <[md5]> "been reported to cause issues, as they modify game scripts extensively. " [20:23] <[md5]> "The issues that these patches fix do not occur in ScummVM, so you are " [20:23] <[md5]> "advised to remove this patch from your game folder in order to avoid " [20:23] <[md5]> "having unexpected errors and/or issues later on."); [20:23] the bug reporter says for example the droid doesn't explode when touching ego [20:23] and that doesn't happen for me at all [20:24] and im pretty sure the fan patches said all sorts of things of patching the droid in all sorts of ways [20:24] <[md5]> do you remember that other guy who tried to patch the Spanish version of LSL1 with the English patch? He broke the whole game. Fun times... [20:24] well, i hope the guy replies, so that i know which patches he used [20:24] yeah thats another problem [20:25] although i think there is no solution for that one [20:25] [md5]: can you tell me how to reproduce this bug with the bitmaps? [20:25] <[md5]> snover: start SQ6, save, exit, load [20:25] exhpqv (~john@dslb-188-100-192-223.188.100.pools.vodafone-ip.de) left irc: Ping timeout: 276 seconds [20:26] [md5] lol [20:26] [md5]: i did that and it didnt crash. are you using the original save/load dialogues? [20:27] abruanese (~a@c-67-190-234-214.hsd1.fl.comcast.net) got netsplit. [20:27] kurtwr (~kurtwr@c-73-12-209-100.hsd1.ca.comcast.net) got netsplit. [20:27] fydo_ (~fydo@li337-251.members.linode.com) got netsplit. [20:27] bouncy (~BouncingB@2001:630:206:16:95b2:7bd1:d75d:7d60) got netsplit. [20:27] wjp_ (~wjp@hmm.wantstofly.org) got netsplit. [20:27] Tomaz^W (~tompsson@84.216.7.40) got netsplit. [20:27] wysiwtf (arvenius@whatyouseeis.wtf) got netsplit. [20:27] snow_bckspc (~snow_bcks@ganon.dot-server.net) got netsplit. [20:27] [vEX] (~vex@h95n22-spaa-a12.ias.bredband.telia.com) got netsplit. [20:27] skymandr (~skymandr@h-5-150-255-103.na.cust.bahnhof.se) got netsplit. [20:27] uh-oh [20:27] Tomaz^W (~tompsson@84.216.7.40) returned to #scummvm. [20:27] kurtwr (~kurtwr@c-73-12-209-100.hsd1.ca.comcast.net) returned to #scummvm. [20:27] fydo_ (~fydo@li337-251.members.linode.com) returned to #scummvm. [20:27] wjp (~wjp@hmm.wantstofly.org) joined #scummvm. [20:27] [vEX] (~vex@h95n22-spaa-a12.ias.bredband.telia.com) returned to #scummvm. [20:27] abruanese (~a@c-67-190-234-214.hsd1.fl.comcast.net) returned to #scummvm. [20:28] [md5]: i did that and it didnt crash. are you using the original save/load dialogues? [20:28] snow_bckspc (~snow_bcks@ganon.dot-server.net) returned to #scummvm. [20:29] i doubt the scummvm save/load will work at all correctly right now [20:29] <[md5]> hm [20:29] Action: [md5] tries [20:29] or ever, i think i suggested in the past to disable scummvm save/load forever [20:29] because each game is a unique snowflake [20:29] #scummvm: mode change '+o wjp' by ChanServ!ChanServ@services. [20:29] snover: did you also try closing ScummVM and loading the save afterwards? [20:30] bouncy (~BouncingB@2001:630:206:16:290c:a22a:8d9e:64bc) joined #scummvm. [20:30] wysiwtf (arvenius@whatyouseeis.wtf) returned to #scummvm. [20:30] hunk memory shouldn't be restored in any case, it doesn't depend on ScummVM dialogs or not [20:30] and the dialogs worked properly, at least last time i implemented them [20:31] <[md5]> snover: ScummVM save/load dialogs have nothing to do with the way that bitmaps are stored [20:31] yes, i closed scummvm [20:32] [md5] does original SCI32 save bitmaps? [20:32] girafe (~girafe@LFbn-1-8020-64.w90-112.abo.wanadoo.fr) joined #scummvm. [20:33] loading the save game turns palette into a hot mess for some reason but it doesnt crash [20:34] ny00123 (~ny00123@89-139-83-238.bb.netvision.net.il) left irc: Quit: Leaving [20:34] i have CLASSES turned on, so i start the game, go to Polysorbate liquor store, talk to the dude at the counter, save game, quit, restart, go to prologue, choose to restore a game, load game [20:34] using original save/load [20:34] <[md5]> I get the same crash with the original save/load [20:35] sq6 clears the scrollwindow prior to saving [20:35] as far as i can tell [20:38] skymandr (~skymandr@h-5-150-255-103.na.cust.bahnhof.se) got lost in the net-split. [20:38] wjp_ (~wjp@hmm.wantstofly.org) got lost in the net-split. [20:40] maybe you are both saving in different locations? [20:41] <[md5]> I'm just saving in the first screen [20:41] <[md5]> without the game's debugger [20:44] the transporter scene? [20:48] I run through the transporter scene and get a halt with a use-after-free bug pointing to ResourceManager& [20:50] what an odd bug& [20:52] looks like a race condition between threads in the audio mixer, but the mutex should be protecting against that, unless I did something horribly wrong (which is definitely a possibility!) [20:56] audio32 unlocks the audio resource for a finished audio channel, the resource manager tries to put the audio resource into the LRU list, Common::List::insert tries to read a member off the `pos` pointer, but the address pointed to by `pos` was freed when a pic resource was requested [20:57] i suppose ResourceManager is not actually thread safe&hm. [20:58] so i guess i cant try to free resources from when the audio buffer is being filled& [20:58] it took ages until wjp made the audio code fully thread safe [21:00] well, the audio code *is* thread-safe& :) [21:03] <[md5]> the audio code itself is [21:03] <[md5]> the rest isn't :P [21:04] jammm (~jam@106.221.134.97) joined #scummvm. [21:06] well, now i know whats going on here, and knowing is half the battle. well see if i can make this part of resourcemanager threadsafe or if i will just need to move freeUnusedChannels to somewhere else [21:07] jamm (~jam@unaffiliated/jamm) left irc: Ping timeout: 246 seconds [21:12] by the way, the recompilation of qfg3 scripts didn't just change the offsets, it even changed all opcodes from their 8 bit immediate to their 16 bit immediate form [21:12] (which kind of made things at least safer, because there's no chance at all of our patches accidentally matching despite changed other code...) [21:12] and I'm not sure if I made the audio code fully thread safe [21:18] <[md5]> changing the bitmap code to use dynamic instead of hunk memory fixes all the issues for me [21:18] <[md5]> (dynmem is saved during save/load) [21:19] which bitmaps should be saved? [21:20] <[md5]> the ones used by CelObjMem, by the looks of it [21:20] <[md5]> which is odd [21:20] celobjs arent serializable [21:20] <[md5]> I gave a stack trace further up [21:21] maybe bitmaps from kBitmap& [21:21] <[md5]> snover: your messages show up with a weird character in the end [21:21] turn on utf-8 in your irc client [21:22] <[md5]> it is on [21:22] (I see the ellipsis normally) [21:23] Axy (~Mia@unaffiliated/mia) joined #scummvm. [21:23] <[md5]> it's shown as a black box here (utf8 decoding error) [21:23] <[md5]> anyway [21:24] very odd. [21:24] Mia (~Mia@unaffiliated/mia) left irc: Ping timeout: 240 seconds [21:25] for ScrollWindow, the GC interaction for bitmaps is via GfxControls32::listObjectReferences() [21:26] are there any other bitmaps with handles floating around we don't register yet? [21:26] <[md5]> the issue here is that bitmaps are stored in memory that is not preserved in saved games (hunk memory) [21:27] <[md5]> so, that is not an issue of the GC itself, I think [21:27] which bitmaps? [21:27] you keep saying that, but have you identified what these bitmaps are? [21:27] since I'm not immediately aware of any bitmaps that expect to be saved [21:27] <[md5]> I believe that it's the bitmaps related to the control window [21:27] <[md5]> let me check [21:28] returns from kBitmapCreate, kAddLine (GfxPaint32::makeLineBitmap), and kCreateTextBitmap (GfxText32::createFontBitmap) [21:30] kEditText uses a bitmap internally [21:30] in the hunk area [21:30] <[md5]> but it destroys it [21:30] <[md5]> that's used in the original save/load dialog [21:30] <[md5]> (well, save dialog) [21:31] does kEditText run scripts internally? [21:32] nope, it actually has its own event loop [21:32] yeah, but via selector callbacks or anything? [21:32] hm. [21:32] but I don't see any at first glance [21:33] it only reads selectors, but i dont know much about the vm [21:33] you'd have to call them explicitly [21:34] in that case, no, i am not doing that [21:34] er. *it is* not doing that. [21:34] (for instance kAnimate calls the "doit" method of objects it processes) [21:34] fun! [21:34] loads :-) [21:34] definitely none of that. minimal shenanigans! [21:35] quite a bit of infrastructure in the debugger/vm for supporting running the VM inside a kernel function running in the VM [21:37] <[md5]> here's the patch, btw: [21:37] <[md5]> http://pastie.org/private/4gfkxdvnhzsjleoxkqbdw [21:37] but bitmaps still shouldn't have to be saved [21:38] (AFAIK) [21:38] im more disturbed by the fact that i cant seem to reproduce the problem here [21:39] it may be that bitmaps generated via kBitmap need to be persistent [21:39] but without having reproducibility on the bug its really hard to say [21:42] is that the liquor store recipe snover gave an hour ago? [21:43] <[md5]> it happens in the very first screen [21:43] <[md5]> there's a text in plane 000f:0002 (the game screen) [21:44] very first screen is? [21:44] street #3 [21:44] <[md5]> name is DText, address is 000f:0450 [21:44] what do you do with the intro? [21:44] its probably the cinema marquee [21:44] <[md5]> I skip the intro [21:44] <[md5]> I just start the game, skip the intro, wait till all the blah blah ends and save the game [21:45] yeah its the cinema marquee. [21:45] <[md5]> ah [21:45] i can reproduce now. [21:45] <[md5]> most probably [21:45] <[md5]> so that gets created on startup [21:46] <[md5]> so, that kind of bitmap should be saved [21:46] <[md5]> therefore, keeping it in dynmem makes sense, no? [21:46] (1) Load Street #3 (2) Save game (3) Load game. Expected: Works! Actual: Invalid Text bitmap [21:47] <[md5]> yeah, it's the marquee in the top left [21:48] I feel like perhaps the best approach here is probably to add a 'persist' flag to the GfxText32::createFontBitmap that puts the bitmap into dynmem if it is true, and then make sure it is true for the kernel calls that make and return bitmaps. [21:49] so, kBitmapCreate, kCreateTextBitmap, and& i think theres a third one [21:49] <[md5]> well, that would be all the calls? [21:49] no, not even close [21:49] <[md5]> ? [21:49] <[md5]> I don't see why we should add a flag, when we can store them all? [21:50] because thats a waste of resources and not all bitmaps need to persist? [21:51] <[md5]> we're talking about bytes here... [21:51] what's the original interpreter doing? [21:51] if it saves all of those bitmaps, we should do the same [21:52] otherwise i'm pretty sure that at some point some unexpected bitmap is expected to be saved [21:52] <[md5]> the original interpreter seems to save all bitmaps in a separate kind of memory [21:52] including font bitmaps? [21:52] then we should do the same [21:55] hm, the script of DText is still confusing me a bit [21:56] how are (added) ScreenItems restored again after loading? [21:58] uhh. [21:58] good question! [21:59] this marquee looks like it's a DText, which does CreateTextBitmap in its draw method (which gets called in its init method which gets called in the rm340 init method) [21:59] DText::draw also calls kBitmapDestroy first on the old bitmap [22:00] criezy_ (~criezy@host81-140-194-79.range81-140.btcentralplus.com) left irc: Quit: criezy_ [22:00] <[md5]> hm [22:00] <[md5]> btw, the original marks specific memory types as "saveable" [22:03] <[md5]> there's a custom call in gamestate_restore() [22:03] <[md5]> line 1100 [22:03] <[md5]> if (getSciVersion() >= SCI_VERSION_2) { [22:03] <[md5]> if (!s->_delayedRestoreFromLauncher) { [22:03] <[md5]> // Only do it, when we are restoring regulary and not from launcher [22:03] <[md5]> // As it could result in option planes etc. on the screen (happens in gk1) [22:03] <[md5]> g_sci->_gfxFrameout->syncWithScripts(false); [22:03] <[md5]> } [22:03] <[md5]> } [22:04] <[md5]> (but then again, that also happens with the original save/load dialogs) [22:04] m_kiewitz wrote that [22:05] <[md5]> yep [22:05] [md5] that's what the scripts are doing normally, we patch us into the scripts so that script code isn't executed [22:06] <[md5]> m_kiewitz: yeah, I remember that [22:06] <[md5]> anyway, it's not that code [22:07] <[md5]> cause the crash also happens when I comment it out [22:08] right, so this does kind of start to sound like DText expects the bitmap to persist :/ [22:09] [md5] without that code you actually could get way more issues when using GMM [22:10] <[md5]> anyway, the solution is simple enough, IMHO [22:22] waltervn (~waltervn@82-171-142-149.ip.telfort.nl) left irc: Quit: Leaving [22:23] ok, if it needs to all be persisted then I guess that hunk usage should be changed to dynmem usage& but also it looks like the right SegManager API for this would be derefBulkPtr(bitmapObj, 0) since that already does sanity checking [22:24] if we want to persist them it might be nicer to add a bitmap segment? [22:24] WooShell (~Markus@ipbcc06fca.dynamic.kabel-deutschland.de) left irc: Quit: Zu gotdy od mpy nrmy stpimf. Zu drvpmf zrsmd aogy jrt iq pt viy jrt yp yjr htpimf. [22:24] yes, that would probably seem to make the most sense [22:24] that way we get automatic type checking too [22:24] <[md5]> we could add a separate segment, yes. But in that case, it would make sense to handle all the object wrapping and unwrapping in the segment manager [22:25] im not sure i understand [22:26] ill be back later [22:29] <[md5]> check how arrays are saved and loaded [22:33] NuSuey (uid3556@gateway/web/irccloud.com/x-yejmxdvzxkozfzgx) left irc: Quit: Connection closed for inactivity [22:36] Deledrius_ (~Deledrius@2602:100:42d7:b57d:7d6e:2065:b345:4bf1) joined #scummvm. [22:39] <[md5]> anyway, here's the updated patch: [22:39] <[md5]> http://pastie.org/private/tkenyaxwk5gkexf74tynya [22:39] frankyboy_ (~franky@ppp46-138-41-141.pppoe.spdop.ru) joined #scummvm. [22:40] Deledrius (~Deledrius@2602:100:42d7:b57d:d4de:49af:e0e5:d49f) left irc: Ping timeout: 250 seconds [22:42] fydo_ (~fydo@li337-251.members.linode.com) left irc: Quit: Lost terminal [23:01] nealwrang (4f8da52a@gateway/web/freenode/ip.79.141.165.42) joined #scummvm. [23:08] m_kiewitz (~m_kiewitz@scummvm/undead/m-kiewitz) left irc: Quit: technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray. [23:16] [md5] (~md5@unaffiliated/md5/x-729473) left irc: [23:34] :sev how to create accoun on scummvm wiki [23:43] girafe2 (~girafe@LFbn-1-8020-64.w90-112.abo.wanadoo.fr) joined #scummvm. [23:46] girafe (~girafe@LFbn-1-8020-64.w90-112.abo.wanadoo.fr) left irc: Ping timeout: 244 seconds [23:59] Deledrius (~Deledrius@2602:100:42d7:b57d:7d6e:2065:b345:4bf1) joined #scummvm. [00:00] --- Fri Jun 24 2016