[00:07] dafioram (~dafioram@pool-71-121-237-223.bltmmd.fios.verizon.net) joined #scummvm. [00:19] dafioram: i wish you had never clicked on the quit button in phant2, but at least now i know why i ended up with Bookmark in save slot 1. :) [00:21] I didn't think that was intentional. I did't notice it at all during my playthrough it wasn't until I went back to test something today that I saw that [00:21] it also happens when you die [00:21] just like in real life& [00:21] that explains it [00:24] im not exactly sure the mechanism of action here. i know its p2::bookMark, but i dont know why its deciding to dump it in save 0. [00:25] is that slot1? [00:25] yeah. the game scripts count from 0. [00:25] we shift them around with kSaveIdShift. [00:26] wouldn't 0 make the most sense? [00:27] 0 is the first save slot. theres already stuff in that slot. the currently loaded game is not game 0 so i dont know why it is going into game 0. [00:27] i mean, what i should really be saying is, i dont know why the game number is getting reset to 0 [00:28] what does dosbox do? [00:28] WDDD? [00:28] :) [00:28] im not sure [00:29] im a monster so i usually just quit dosbox too [00:29] instead of quitting the game [00:30] dosbox overrides first save slot "Bookmark" also [00:30] lolololol :< [00:31] (Πʠ)Îa;; [00:31] this is fine. fine, fine. [00:31] fine. [00:35] im actually more disturbed than i should be by all of this, pretty much exclusively because of all the easter eggs [00:36] dreammaster (~dreammast@c-73-149-116-247.hsd1.ma.comcast.net) joined #scummvm. [00:36] #scummvm: mode change '+o dreammaster' by ChanServ!ChanServ@services. [00:36] i can understand needing to ship your game and letting non-breaker bugs through in a rush to the finish line, but its hard to reconcile that with all the effort that went into writing a Space Invaders clone, creating a points system for all the easter eggs, etc. [00:37] dreammaster: i fixed 32bpp cursors in the Surface renderer. i wrote this on top of the refactored backends code so itll probably be a week or two before it gets landed in master, but it is working fine, so the engine itself is fine. [00:38] Excellent news. I'll merge the branch in afterwards. [00:38] if youd like, i can also take ownership of those commits and land them in at the same time. just let me know. [00:39] Sure. Go for it. [00:39] ok. when the time comes, i will do it! [00:40] Then it's just the music room music to be tweaked a bit, and hopefully there'll be no new bugs found for a long, long time [00:40] i hope so too! [00:41] Speaking of which, particularly with Starship Titanic being officially supported, and all the new Sierra games support, scheduling for a 1.10 release should probably start being given serious thought [00:41] T1.9 was back in Oct 17, 2016. So it's probably past due for a new release [00:42] yeah, something soon would be good. [00:42] the outstanding backends work was the last stuff i really needed to get in to the release. [00:42] Is testing all done on the latest testing phase for LSL7 and the others? [00:43] it seems so. theres a softlock in the polish version of lsl7, but i have no idea how to get a copy of that to test and fix it. [00:43] theres also a problem with not being able to type in some words to the german version, which i plan to look at in a bit. [00:44] It's an oppurtune time, then [00:44] Any release would still have the customary testing/prerelease phase, so it'd give us time to any of these final polishings for the pending games [00:44] dafioram seems to have found some race condition in shivers 1 which i have not been able to reproduce [00:45] Heh. He's good++ at finding obscure bugs. :) [00:45] that one is defintely a 9/10 difficult to reproduce, but I've done it on my rasberry pi, windows, and linux vm as well as with the latest scumvmm version (this morning) [00:46] i was too tired last night to function well enough to think about what might be happening, i was confused by which object was null [00:47] it could be a problem caused by our use of a garbage collector [00:47] with the sound check? [00:47] yeah [00:49] actually, no. now im more awake and thats a silly thing to say [00:49] the client of the sound1 object is set to the number 16, instead of an actual object [00:49] which is interesting since low numbered object IDs in SSCI were fixed-allocation [00:50] so i wonder if some game script is assuming its safe to point to one of these low fixed memory indexes [00:50] let me go see if i can figure out what 16 is. [00:50] most of the time the sound check doesn't crash though so break at sound check is a no go as it is called a lot [00:51] you should be already in the debugger when the crash happens [00:52] yes [00:55] why would some1 write in lisp? [00:55] it was the next great thing at the time [00:56] its also easier to write a parser for it than infix languages [00:57] shivers is 2.1? [00:57] yes [00:57] but you added sci32 to the bug? [00:58] 32 means 32 bit [00:58] SCI16 are the 16-bit interpreters, SCI0 through SCI1.1. SCI32 are the 32-bit interpreters, SCI2 through SCI3. [00:59] im with ya [00:59] it has been too long since i worked on the disassembly side of things, ive totally forgotten where these fixed memory handles got defined& [01:00] this sure smells like some garbage write that accidentally happened to work in the original interpreter& [01:01] dafioram: if you can, run `bpw sound1::client bt` and do whatever until you get a backtrace where the value is set to 0000:0010, would you? [01:01] let me do that [01:08] Dominus (~dominus@unaffiliated/dominus) left irc: Ping timeout: 260 seconds [01:08] DominusExult (~dominus@unaffiliated/dominus) joined #scummvm. [01:09] Nick change: DominusExult -> Dominus [01:17] how is bpw different from bpx [01:20] it writes okay [01:20] bpw is for a write to a property selector, bpx is for an execution of a method selector [01:21] is the value set in the play function? [01:21] i dont know where it is being set, which is why i am asking you to find the backtrace for me :) [01:22] it gets set to this invalid value somewhere before sound1::check, and so we need to know where thats happening in order to fix the bug [01:22] since things are already broken by the time we get to check [01:23] https://ibb.co/h6JXOk [01:24] i need the backtrace for when it sets it to 0000:0010 :) [01:24] id really recommend recompiling with the text console at this point [01:24] yeah let me do that [01:28] I've seen sound1,2, and 3 all crash so I have to set breaks on all of them [01:29] that still leaves sound4, sound5, and sound6 to take you surprise ;) [01:29] by surprise* [01:29] just now was the first time I had see 3 crash [01:45] GitHub69 (~GitHub69@192.30.252.42) joined #scummvm. [01:45] [scummvm] csnover pushed 1 new commit to master: https://git.io/v5QzC [01:45] scummvm/master 029eeeb Colin Snover: SCI32: Fix Phant2 "auto-save"... [01:45] GitHub69 (GitHub69@192.30.252.42) left #scummvm. [01:45] GitHub158 (~GitHub158@192.30.252.41) joined #scummvm. [01:45] [scummvm] criezy pushed 1 new commit to master: https://git.io/v5Qz8 [01:45] scummvm/master 8607b70 Thierry Crozat: I18N: Update translations templates [01:45] GitHub158 (GitHub158@192.30.252.41) left #scummvm. [01:46] Lightkey (~Darklock@p200300764C71F89122CF30FFFE083718.dip0.t-ipconnect.de) left irc: Ping timeout: 246 seconds [01:57] 8: script 952 - SoundManager::play(0000:5729, 0000:0000, 0000:0005, 0000:0010, 0000:0001, 0000:0000) [01:57] by 7 obj@0003:09f0 pc=0003:0264 sp=ST:0030 fp=ST:002d argp:ST:0026 [01:57] 9: script 64989 - sound2::play(0000:0005, 0000:0010) [01:57] by 8 obj@0001:1ffd pc=000a:00d0 sp=ST:0034 fp=ST:0034 argp:ST:0031 [01:57] interesting! [01:57] can you gist/pastebin the full stack trace? [01:57] also, are you working on a fix for this too, or are you working on something else? [01:59] I was going to look into the same game picture for shivers, but I am not very far, there is a game::save and a game::restore that unset and set the pallette, it looks like the main.sc also has a save method, but I haven't got there yet [01:59] Lightkey (~Darklock@p200300764C71F83022CF30FFFE083718.dip0.t-ipconnect.de) joined #scummvm. [02:00] ok [02:00] in hindsight i am not sure what possessed me to mark that as being a good first bug at the time :) [02:01] if there is something i can help with, just let me know [02:01] i know the lisp syntax is annoying, but it gets better after a little while. [02:01] I have uploaded the btrace to the report [02:01] (and do send me a link to that gist/pastebin, once youve got it) [02:01] oh, perfect [02:01] thanks! [02:03] line 9281 is interesting [02:03] this looks like a copy-paste error [02:04] (gSoundManager play: 22313 0 5 16 1 0) those look like the arguments for a fade call, not a play call [02:05] you read hex [02:06] this is a great bug. nice work catching it. [02:07] so this is in a lot of rooms and sounds? [02:07] just rm23v090 [02:08] what about 23060,23050,... [02:10] so that change also happens on line 8569 shouldn't of crashed then? [02:10] i dont know enough about shiverss SoundManager class to know the precise failure mechanism [02:13] the sound object needs to have received a signal, so it wont fail until that happens [02:14] i dont know exactly when that would happen. [02:15] new room? [02:15] i believe signals usually come from kDoSound [02:16] can we just change the values of the call in lin 34 of rm23v090.sc? [02:16] yes, though i am not sure if that call should even be there [02:17] i need to hear what that sound is (n.b. this is where SV comes in handy) [02:18] so it looks like this is related to when there is an ixupi nearby [02:18] in my save there is one there [02:19] 22301 is the normal room music and 22313 is some ixupi music [02:20] so i guess it just needs to be determined what parameters 2 through 4 are supposed to be, fix those, and get rid of the invalid fifth argument completely [02:20] or, actually [02:20] looking at how 22313 is used elsewhere, i guess that play selector was supposed to be a fade selector [02:21] double fade then? [02:21] based on what other scripts do it should either end up being `(gSoundManager fade: 22313 0 5 16 1 0)` or `(gSoundManager play: 22313 -1 114 0)` [02:22] this is the wood ixupi should we expect its sound to be the same else where it is called? [02:23] reviewing the other scripts, im confident at this point that its supposed to be `fade`, not `play`. [02:25] so for this lisp syntax is there already a fade happening right before the bad play? [02:25] each of those is a call [02:25] hold on, there is documentation on SC too [02:25] http://scicompanion.com/Documentation/sci_compiler.html [02:27] the syntax `(obj selector: arg1 arg2 arg3)` is a send to the selector `selector` with arguments `arg1` `arg2` and `arg3` [02:27] on object `obj` [02:27] http://scicompanion.com/Documentation/Compiler/selectors.html this describes things a bit more. [02:28] whats going on with that "and" within the if statement [02:29] dafioram: where? [02:29] line 30 [02:29] thats logical and, && [02:29] okay its just lisp syntax [02:30] if (proc951_11(5, 23000) && newRoomNumber != 23050) [02:30] yes [02:31] would you like me to write a script patch for this to change the selector, or would you like to do it (and ask me questions if you need help)? [02:32] so just remove line 34? [02:32] changing 'play' to 'fade' [02:32] isn't there already a fade before that? [02:32] different sound [02:33] yeah I can do it [02:33] cool! [02:35] any chance there are bad plays in other rooms? [02:35] i grepped for any other play calls with 5 arguments and did not see any [02:36] GitHub165 (~GitHub165@192.30.252.40) joined #scummvm. [02:36] [scummvm] dreammaster pushed 1 new commit to master: https://git.io/v5Q2k [02:36] scummvm/master 3ed7ef5 Paul Gilbert: TITANIC: Moved queue logic within CAUdioBuffer to new FixedQueue class... [02:36] GitHub165 (GitHub165@192.30.252.40) left #scummvm. [02:40] so I am submitting a patch for rm23v090::newRoom [02:42] yes [02:43] does the scipts get regenerated from the patched code? [02:44] the script is loaded into memory and then the data in memory is replaced with the patched code [02:45] but then scripts.tar is updated at some point? [02:45] no [02:45] you have to write a byte code patch like everything else in script_patches.cpp [02:46] the scripts in the archive are just to ease debugging [02:46] so they may be slighly different since we have patched [02:46] yep. [02:47] dreammaster (~dreammast@c-73-149-116-247.hsd1.ma.comcast.net) left irc: [02:47] which is fine, these fixes dont generally interfere in a way that would necessitate updating the original games decompiled/disassembled scripts [02:49] so i use disasm to get code then I change it and put that in the script_patch [02:49] yep! [02:52] so i need an id for disasm where do i get that? [02:52] its rm32v090 [02:52] i c [02:52] `disasm rm23v090 newRoom bc` [02:53] anywhere an object id is needed, an object name can be given instead. as long as theres only one of an object with that name it will just use it, otherwise it will give you a list of IDs matching the name. [02:54] it says invalid address passed [02:54] it has to be loaded [02:54] so make sure you are in room 23090 [02:58] what is this "room rm32v090 [02:58] Room number changed to 0 (0 in hex) [02:58] " [02:58] room 32090 [02:58] rm32v090 is just whatever the shivers devs decided to name the room object [02:58] rooms are always just numbers [02:58] disasm rm32v090 newRoom bc [02:58] Invalid address passed. [02:59] you will probably need to `go` and then re-enter the debugger so the game loads the new room [02:59] all the `room` command does is change a global, which the games own main loop checks for changes [03:00] so you gotta run through the main loop at least once for the new room to get loaded [03:01] room 32090 is not the same room [03:02] ugh, sorry. you swapped the 2 and 3 and i didnt notice. [03:02] its 23090. [03:02] (duck season! wabbit season!) [03:02] however 32090 is a valid room [03:03] im sure it is. but its not the one were talking about :) [03:03] shivers has a lot of rooms. every time you navigate is a new room. [03:03] owing to the first-person perspective. [03:05] I'm still getting invalid address [03:06] `disasm rm23v090 newRoom bc`. note it is two three, not three two. [03:07] `room 23090`; `go`; ctrl+shift+d; `disasm rm23v090 newRoom bc` [03:07] yes [03:08] i just tested it and it worked here so im not sure offhand what to say [03:08] it works [03:08] oh, good :) [03:35] https://imgur.com/a/QYpV1 [03:35] how do i change send play to be fade? [03:36] just copy line 5557 to 5567? [03:37] "second" not "send" [03:45] oops. dafioram, ping me with my name if you have questions otherwise i might not see them for a bit :) [03:46] ugh, this is never made easy. [03:47] actually this one isnt too bad [03:47] so, you cant change the number of bytes in the script, you have to always make sure youre replacing with exactly the correct number of bytes [03:47] hmm? [03:48] ouch [03:48] so in this case when you are replacing 0x39, 0x33, youre replacing it with a selector that cant be represented using a signed 8-bit number so you need to steal some bytes from somewhere else [03:48] or in this case, one byte [03:48] the good news is that the very next opcode, the value 6 can be represented in one byte [03:49] so that would become 0x38, 0xf3, 0x00, 0x39, 0x06 [03:50] you removed last zero from maxScale line [03:50] yes, by changing the opcode from 2-byte value to 1-byte value [03:51] this goes back to that B/W stuff in the PMachine documentation [03:51] these are all pushes to the stack, so a 1-byte opcode sign always extends the operand to 2-bytes on the stack [03:51] oops. words again! [03:51] a 1-byte opcode always sign extends the operand to 2-bytes on the stack [03:52] (though what youll really want to write in the patch part is `0x38, PATCH_SELECTOR16(fade), 0x39, 0x06`, since the selector vocabulary might change in some other release so we cant just use `PATCH_UINT16(0xf3)`) [03:52] the sierra script compilers were pretty bad at optimising, as you see here, allowing us to find spare bytes without too much difficulty :) [03:53] does that make sense? [03:53] dafioram: ^ [03:54] easy [03:56] you mean 0x38 instead of 0x39 [03:56] 0x38 is pushi with a 2-byte operand, 0x39 is pushi with a 1-byte operand [03:57] 0x38, PATCH_SELECTOR16(fade) // pushi 00f3 ; 243, fade [03:57] 0x39, 0x06 // pushi 0006 ; maxScale [03:57] yes, thats the correct patch. [03:58] ignalina (~pettersjo@h-238-36.A639.priv.bahnhof.se) joined #scummvm. [03:59] we expand the first opcode to word-size since the fade selector cant be represented in a signed byte integer, then we compress the second opcode to byte-size since the number of arguments (6) *can* be represented in a signed byte integer. the total length of the code remains the same, we just stole a byte that was previously used for an unnecessary word-size argument count. [04:00] got it [04:02] okay now I need to figure out how the offset and magicwords fit in as well as make the patch pair to the signature code, but I think im at a good spot to stop for now [04:02] snover:^ [04:03] i can just pastebin if you want to run with it [04:03] you shouldnt need to do anything with offsets, all you need in the signature is something that contains all the bytes youre patching, plus any extra bytes that you need to uniquely identify the patch site [04:03] so in this case youd want to include the sound number so we dont accidentally patch the play call earlier in the script [04:04] though actually i guess you wouldnt patch the earlier one since the argument count would be wrong [04:04] ya [04:05] so really just the `0x39, SIG_SELECTOR8(play), 0x38, SIG_UINT16(0x06)` is sufficient [04:05] woah [04:06] and then stick the SIG_MAGICDWORD wherever where the next four bytes have a decent probability of only existing when the whole patch is needed. that parts just a guess. it doesnt matter if its wrong, it will just make the patching process a little slower. [04:07] this inventory stuff in phant2 sucks. these objects are global and the object values are wrong, so patching them doesnt do a damn thing unless youre starting a new game. [04:07] since the wrong values will just get restored from the save game. [04:08] but at least they will be fixed for new users. [04:08] and you have your save when u die [04:13] if you want to verify that your patch is applying correctly, you can use disasm (it will show the patched version). if you just want to know if it applied at all, you can also use --debugflags=scriptpatcher when you start scummvm. [04:27] snover: so the signature is the disasm orignal 2 lines, and a empty spot and the patch is the fix with the a magic word. [04:27] the patch is just the fix. the SIG prefix is an indicator that something goes into the signature and PATCH goes into the patch :) [04:36] snover: remind me what the entry 1 vs 2 was? [04:36] for argument 4 [04:36] number of times to apply the patch to the script [04:37] should the 2nd argument be 23090 or rm23v090? [04:37] these are script numbers, it has to be a number. [04:38] see struct SciScriptPatcherEntry [04:50] anything else, i will need to answer tomorrow. have a good night! [04:50] nite [05:01] dafioram (~dafioram@pool-71-121-237-223.bltmmd.fios.verizon.net) left irc: Quit: Leaving [05:35] <_sev> IDA 7.0 [05:49] stevenh (9b8f2e11@gateway/web/freenode/ip.155.143.46.17) joined #scummvm. [05:49] :) [05:49] Hi [05:50] hi stevenh [06:15] Cheeseness (~cheesenes@ppp14-2-185-141.bras1.hba2.internode.on.net) left irc: Quit: Leaving. [06:19] Cheeseness (~cheesenes@ppp14-2-185-141.bras1.hba2.internode.on.net) joined #scummvm. [06:32] DrMcCoy (~drmccoy@xoreos/drmccoy) left irc: Ping timeout: 240 seconds [06:44] ny00123 (~ny00123@2a02:ed0:4362:1300::2) joined #scummvm. [06:44] waltervn (~waltervn@541B2DBA.cm-5-4a.dynamic.ziggo.nl) joined #scummvm. [06:44] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services. [06:44] morning [07:16] snover (~snover@unaffiliated/snover) left irc: Read error: Connection reset by peer [07:17] Aloha [07:21] snover (~snover@unaffiliated/snover) joined #scummvm. [07:21] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services. [07:25] morning [08:19] jamm (~jam@unaffiliated/jamm) joined #scummvm. [08:20] user9 (~Thunderbi@leoseb.ujf-grenoble.fr) joined #scummvm. [08:36] LittleToonCat (~littlecat@47.54.148.237) left irc: Remote host closed the connection [09:01] Henke37 (~Henrik@81-227-16-59-no133.bredband.skanova.com) joined #scummvm. [09:08] DrMcCoy (~drmccoy@xoreos/drmccoy) joined #scummvm. [09:08] #scummvm: mode change '+o DrMcCoy' by ChanServ!ChanServ@services. [09:24] Polynomial-C (~Poly-C@gentoo/developer/Polynomial-C) joined #scummvm. [09:27] Poly-C (~Poly-C@gentoo/developer/Polynomial-C) left irc: Ping timeout: 260 seconds [10:09] kurtwr (~kurtwr@c-73-116-30-72.hsd1.ca.comcast.net) left irc: Ping timeout: 240 seconds [10:22] TMM (~hp@fsf/member/pdpc.professional.tmm) left irc: Ping timeout: 240 seconds [10:25] t3hyoshi (~josh.cain@static-ip-208-88-72-121.net-208-88-72-0.rdns.managed.com) joined #scummvm. [11:12] TMM (~hp@fsf/member/pdpc.professional.tmm) joined #scummvm. [11:12] #scummvm: mode change '+o TMM' by ChanServ!ChanServ@services. [12:08] dafioram (~dafioram@pool-71-121-237-223.bltmmd.fios.verizon.net) joined #scummvm. [12:12] macdude22 (~macdude22@173-24-128-215.client.mchsi.com) left irc: Quit: Textual IRC Client: www.textualapp.com [12:15] snover: disasm shows that a patch has been applied, but It is the patch we want. Contrast the previous imgur picture I took of the disasm code with this new one: https://imgur.com/a/HJal4. Everything is the same except it now has a pushi 01fe (get call) in place of the play/fade (and the maxScale line is shorter). The new disasm comment look weird (a get call). Here is what the code looks like https://imgur.com/a/X6kuh. [12:15] It crashes because of the get call. [12:19] dafioram (~dafioram@pool-71-121-237-223.bltmmd.fios.verizon.net) left irc: Quit: Leaving [12:27] t3hyoshi (~josh.cain@static-ip-208-88-72-121.net-208-88-72-0.rdns.managed.com) left irc: Quit: Going offline, see ya! (www.adiirc.com) [12:27] t3hyoshi (~josh.cain@static-ip-208-88-72-121.net-208-88-72-0.rdns.managed.com) joined #scummvm. [12:55] t3hyoshi (~josh.cain@static-ip-208-88-72-121.net-208-88-72-0.rdns.managed.com) left irc: Quit: Going offline, see ya! (www.adiirc.com) [13:05] Strangerke_ (~Strangerk@cable-85.28.84.13.coditel.net) joined #scummvm. [13:07] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 240 seconds [13:07] Nick change: Strangerke_ -> Strangerke [13:21] Littleboy (~littleboy@c-73-4-50-241.hsd1.ma.comcast.net) joined #scummvm. [13:21] #scummvm: mode change '+o Littleboy' by ChanServ!ChanServ@services. [14:22] ny00123 (~ny00123@2a02:ed0:4362:1300::2) left irc: Quit: Leaving [14:32] ignalina (~pettersjo@h-238-36.A639.priv.bahnhof.se) left irc: Quit: ignalina [14:41] kurtwr (~kurtwr@c-73-116-30-72.hsd1.ca.comcast.net) joined #scummvm. [15:00] Cheeseness (~cheesenes@ppp14-2-185-141.bras1.hba2.internode.on.net) left irc: Quit: Leaving. [15:27] TMM (~hp@fsf/member/pdpc.professional.tmm) left irc: Quit: Ex-Chat [15:44] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) left irc: Ping timeout: 252 seconds [15:44] m_kiewitz (~m_kiewitz@scummvm/undead/m-kiewitz) joined #scummvm. [15:44] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services. [15:49] LittleToonCat (~littlecat@47.54.148.237) joined #scummvm. [15:54] holdsworth_ (~quassel@unaffiliated/holdsworth) joined #scummvm. [15:54] holdsworth (~quassel@unaffiliated/holdsworth) left irc: Read error: Connection reset by peer [15:58] cpasjuste (~cpasjuste@mydedibox.fr) left irc: Ping timeout: 240 seconds [15:59] cpasjuste (~cpasjuste@mydedibox.fr) joined #scummvm. [16:08] Begasus (~begasus@ptr-4p6jpind5cotff7qr4c.18120a2.ip6.access.telenet.be) joined #scummvm. [16:32] OMG [16:32] http://www.ebay.de/itm/Gebriel-Knight-Sins-of-the-Fathers-sealed-origami-box-PC-game-English-/292253793324 [16:35] sealed even, nice :) [16:36] What does a regular square boxed version go for? [16:37] Begasus (~begasus@ptr-4p6jpind5cotff7qr4c.18120a2.ip6.access.telenet.be) left irc: Ping timeout: 252 seconds [16:45] ajax16384 (~User@109.60.130.33) joined #scummvm. [16:45] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services. [16:49] Begasus (~begasus@ptr-4p6jpind5cotff7qr4c.18120a2.ip6.access.telenet.be) joined #scummvm. [17:09] GitHub151 (~GitHub151@192.30.252.35) joined #scummvm. [17:09] [scummvm] csnover pushed 1 new commit to master: https://git.io/v57yR [17:09] scummvm/master b8af2ca Colin Snover: SCI32: Fix clipping of inventory items in Phant2... [17:09] GitHub151 (GitHub151@192.30.252.35) left #scummvm. [17:29] abrcdbr (~abrcdbr@109.87.232.207) joined #scummvm. [17:49] abrcdbr (~abrcdbr@109.87.232.207) left irc: Max SendQ exceeded [18:18] does anyone happen to have a russian release of torin, or a polish release of lsl7? [19:08] Farmboy0 (~quassel@p5DD10872.dip0.t-ipconnect.de) joined #scummvm. [19:08] Farmboy0 (~quassel@p5DD10872.dip0.t-ipconnect.de) left irc: Changing host [19:08] Farmboy0 (~quassel@xoreos/farmboy0) joined #scummvm. [19:15] snover: good luck with that, maybe _sev has Torin Russian, idk [19:20] Begasus (~begasus@ptr-4p6jpind5cotff7qr4c.18120a2.ip6.access.telenet.be) left irc: Quit: Ex-Chat [19:33] girafe (~girafe@LFbn-1-8040-185.w90-112.abo.wanadoo.fr) joined #scummvm. [19:46] PSA once more - Psychonauts free on humble bundle ATM, only 1 day left [19:59] should calls to OSystem::warpMouse in also flush any events in the backends event queue? [19:59] -in [20:01] since otherwise if the engine receives some event and warps, but the user has continued moving the mouse since then, the engines just going to get some more mouse motion events from before the warp with the wrong coordinates and probably jump back to where it was [20:06] GitHub100 (~GitHub100@192.30.252.42) joined #scummvm. [20:06] [scummvm] csnover pushed 1 new commit to master: https://git.io/v55Is [20:06] scummvm/master 2ee7354 Colin Snover: SCI32: Blacklist pirated GOG.com + German GK2... [20:06] GitHub100 (GitHub100@192.30.252.42) left #scummvm. [20:10] jamm (~jam@unaffiliated/jamm) left irc: Ping timeout: 246 seconds [20:22] TMM (~hp@fsf/member/pdpc.professional.tmm) joined #scummvm. [20:22] #scummvm: mode change '+o TMM' by ChanServ!ChanServ@services. [20:48] jamm (~jam@240d:1a:1b4:8600:88b7:a536:60c5:4150) joined #scummvm. [20:49] jamm (~jam@240d:1a:1b4:8600:88b7:a536:60c5:4150) left irc: Changing host [20:49] jamm (~jam@unaffiliated/jamm) joined #scummvm. [21:11] _sev (~sev@scummvm/undead/sev) left irc: Quit: Leaving [21:14] criezy (~criezy@host86-141-213-152.range86-141.btcentralplus.com) joined #scummvm. [21:14] #scummvm: mode change '+o criezy' by ChanServ!ChanServ@services. [21:24] m_kiewitz: do you know offhand of some sci16 game that restricts mouse movement? [21:24] why? [21:24] im testing some changes to mouse handling in backends and need a game that uses cursorman [21:25] (working on https://bugs.scummvm.org/ticket/9689) [21:25] hmm im definitely sure that qfg3 has some special mouse cases [21:25] island of dr. brain as well [21:25] it basically goes like this [21:26] Sierra warps the mouse to some position [21:26] and then immediately checks if the mouse moves out of said place and then closes menus etc. [21:26] so for touch screens that was a no go obviously, which is why i added some workarounds for those situations [21:27] and restricting entirely hmmm [21:27] ah, there is also a special mouse case in larry 5, where the game moves the mouse while the music is playing [21:28] that originally always took the mouse position, but I changed it so it should only change the in game mouse cursor and the mouse position itself is only changed when the mouse is inside the ScummVM window (in case it's windowed) [21:28] otherwise it should not be touched, no idea if that was even tested out by anyone when SDL2 support got added [21:28] i remember that walter was fed up by it lol [21:28] but hard limit, let me think [21:29] can't think of anything right now, but I'm pretty sure there is one [21:29] the obvious game is gabriel knight 1 of course, but that's sci32 [21:31] with 9689, at least two problems which ive solved so far are (1) mouse events that occur after the event that triggered mouse warp dont get removed from the event queue so the mouse gets wrongly moved right back to where it was before [21:31] and (2) when the mouse isnt over the sdl window, the system is not warped, so a mouse event is not generated by SDL, so the engine gets no notification that the mouse moved [21:32] system cursor* [21:39] what i dont know is if these changes will make cursorman bouncy or not [21:39] ideally id like to get rid of the bounciness [21:39] ignalina (~pettersjo@h-238-36.A639.priv.bahnhof.se) joined #scummvm. [21:41] Strangerke (~Strangerk@cable-85.28.84.13.coditel.net) joined #scummvm. [21:42] snover: the internal mouse should (and has to) move all the time [21:42] I mean the internal mouse coordinate within the game, otherwise that would break some games [21:43] this is definitely still working? [21:43] (2) should have been already the case?!?! [21:43] or maybe that's SDL2 specific? [21:44] sdl2 does less warping than sdl1 [21:45] which is to say, its mouse focus is more well-behaved than sdl1 [21:45] btw. KQ6 "BOTH" pressed is done graphic wise, I have to redraw them, the fonts are somewhat the same, but some colors are not working as in sq4 [21:46] so you fix sdl1+2 then? [21:46] and i guess the old backends code relied on sdl1 not being as&reliable [21:46] yeah, that is what i am working on now [21:46] pq4 is acting well-behaved now instead of never stopping rotating in the warehouse [21:46] but i wanted to check some others too [21:47] well, for lsl5 you need to warp to the room, where Patti plays piano [21:48] i can look up room number, not sure if I have larry 5 on this computer [21:48] you could look for a recording room using sci viewer [21:48] that's the room and warping to it should work [21:48] maybe you need to warp to one room earlier [21:49] ok, let me look for it [21:50] the room before looks like some kind of "maze" with a record player in the front [21:51] i think you need no items in your inventory [21:51] and the first 2 times at least you have to play piano by yourself [21:51] game takes over on 3rd try, but i think sometimes the game delays that when you don't really play (try to play) at all [21:57] Farmboy0 (~quassel@xoreos/farmboy0) left irc: Read error: Connection reset by peer [21:57] im not finding any good way to trigger that [21:58] i need to run for a while, let me know if you figure out a way or have a save game or something that i can take advantage of [21:59] ajax16384 (~User@109.60.130.33) left irc: Read error: Connection reset by peer [22:09] _sev (~sev@a238130.upc-a.chello.nl) joined #scummvm. [22:09] _sev (~sev@a238130.upc-a.chello.nl) left irc: Changing host [22:09] _sev (~sev@scummvm/undead/sev) joined #scummvm. [22:09] #scummvm: mode change '+o _sev' by ChanServ!ChanServ@services. [22:21] snover: it's really weird. "SPEECH" in kq6 seems to look completely different when pressed down than the other buttons [22:26] Nick change: Storm-AFK -> Stormkeeper [22:33] GitHub40 (~GitHub40@192.30.252.41) joined #scummvm. [22:33] [scummvm] m-kiewitz pushed 1 new commit to master: https://git.io/v554D [22:33] scummvm/master 1504f41 Martin Kiewitz: SCI: KQ6-Dual mode: Change "DUAL" button to "BOTH"... [22:33] GitHub40 (GitHub40@192.30.252.41) left #scummvm. [22:36] 1 done, 1 to go [23:12] waltervn (~waltervn@541B2DBA.cm-5-4a.dynamic.ziggo.nl) left irc: Quit: Leaving [23:20] girafe (~girafe@LFbn-1-8040-185.w90-112.abo.wanadoo.fr) left irc: Quit: Leaving [23:24] dreammaster (~dreammast@c-73-149-116-247.hsd1.vt.comcast.net) joined #scummvm. [23:24] #scummvm: mode change '+o dreammaster' by ChanServ!ChanServ@services. [23:25] snover: I can't see text/audio button, when running pq4 in low-res. Can you confirm? [23:25] that would make patching in dual-mode way easier [23:31] it's really only added when isHiRes = true [23:32] wow, now it's a cake walk [23:34] abrcdbr (~abrcdbr@159.224.109.206) joined #scummvm. [23:39] criezy (~criezy@host86-141-213-152.range86-141.btcentralplus.com) left irc: Quit: criezy [23:52] 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. [00:00] --- Sat Sep 16 2017