[Back to Index]

[00:10] <m-kiewitz> snover: you have any experience with microsoft sql server access via OLE?
[00:10] <m-kiewitz> it's really weird. I'm reading out a firebird database and everything works really fast, even over network
[00:11] <m-kiewitz> now i need to do the same with a MS sql server database and it's really slow, like a few rows per second only
[00:11] <snover> not through OLE, and its been probably about 10 years since I worked with MSSQL, so i doubt i have much useful knowledge in my head, but let me see if i can dig anything up
[00:13] <m-kiewitz> it's so weird. no idea about performance on the actual server, but via network it's insanely slow
[00:14] <m-kiewitz> i remember that microsoft changed stuff around, so some type of OLE had the same issues around 10 years ago.I then changed to ADO and it worked fine (well not this new code, but old code)
[00:15] <snover> m-kiewitz: reads or writes?
[00:15] <m-kiewitz> reads only
[00:15] <m-kiewitz> i even set cachesize to 200
[00:15] <m-kiewitz> and as i said - the code works fine with a firebird database
[00:15] <m-kiewitz> and is really fast even
[00:16] <m-kiewitz> it reads out most of the data and dumps it into a few files
[00:17] <m-kiewitz> connection string uses Provider=SQLOLEDB
[00:18] <m-kiewitz> and it's standard cursor type and mode, so record set is read onlyand cursor is forward only. Which should be the fastest there is
[00:24] <m-kiewitz> it returns maybe 20 rows at best per second
[00:24] <m-kiewitz> which is insanely slow
[00:24] <snover> have you checked that the query execution plan looks OK? also, are the network connections looking OK (established quickly, dont disconnect/reconnect during the query)?
[00:26] <snover> of course, being able to isolate the problem to being network-related or server-related would be best if it is at all possible.
[00:26] <m-kiewitz> i can't really check that easily, i don't have admin on that computer
[00:26] <m-kiewitz> i guess i should make it so that script is executed once on the server directly
[00:26] <m-kiewitz> but i think i saw the same issue with the old script even when it's directly executed on the server
[00:32] <m-kiewitz> anyway, need some sleep now bye
[00:32] <-- m-kiewitz left irc: Quit: technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray.
[00:48] --> GitHub19 joined #scummvm.
[00:48] <GitHub19> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vSyPl
[00:48] <GitHub19> scummvm/master 5741ee3 Paul Gilbert: TITANIC: Fix centroid calculations in star drawing methods
[00:48] GitHub19 (GitHub19@ left #scummvm.
[00:59] --> Uhfgood joined #scummvm.
[01:24] <snover> ok, this sound bug makes sense now. the midi filtering code doesnt explicitly return when it encounters an kEndOfTrack system command. instead, it relies on the while-loop condition to stop processing the sound data. in most of the sound files, this is fine, because the kEndOfTrack command happens to be the last byte of the file, so the while-loop condition is false and the loop is halted.
[01:24] <snover> in sound 104 though, there are two kEndOfTrack commands; we get to the first one, do nothing, then the while-loop restarts and unconditionally tries to read 2 bytes, except that there is only a single kEndOfTrack byte left.
[01:25] <snover> so as far as i can tell, the correct solution should be to explicitly break out of the loop when a kEndOfTrack command is seen.
[01:30] <snover> though, maybe a safer approach would be to have an inner loop that skips runs of kEndOfTrack commands when one is encountered& hm.
[01:30] <snover> im just not sure if these commands ever show up in the middle of a sound
[01:33] <-- Dominus left irc: Ping timeout: 260 seconds
[01:34] --> Dominus joined #scummvm.
[01:55] <-- Vampire0 left irc: Ping timeout: 260 seconds
[01:59] --> Vampire0 joined #scummvm.
[02:09] <-- dreammaster left irc:
[02:50] <snover> waltervn, if you read the logs, let me know what you think!
[04:00] <-- Mellified_Man left irc: Ping timeout: 246 seconds
[04:03] --> Mellified_Man joined #scummvm.
[04:41] --> GitHub86 joined #scummvm.
[04:41] <GitHub86> [scummvm] stevenhoefel pushed 1 new commit to master: https://git.io/vSydW
[04:41] <GitHub86> scummvm/master bcc3fff stevenhoefel: DIRECTOR: D5 Shared Cast loading.
[04:41] GitHub86 (GitHub86@ left #scummvm.
[05:10] --> _sev|work joined #scummvm.
[05:10] <-- _sev|work left irc: Client Quit
[05:21] --> vinayakvivek joined #scummvm.
[05:30] --> Strangerke_ joined #scummvm.
[05:33] <-- Strangerke left irc: Ping timeout: 268 seconds
[05:33] Nick change: Strangerke_ -> Strangerke
[05:39] <-- Uhfgood left irc: Quit: Leaving
[06:02] --> DJWillis joined #scummvm.
[06:02] #scummvm: mode change '+o DJWillis' by ChanServ!ChanServ@services.
[06:09] #scummvm: mode change '+o Strangerke' by ChanServ!ChanServ@services.
[06:26] --> borosky joined #scummvm.
[06:51] --> m_kiewitz joined #scummvm.
[06:51] <-- m_kiewitz left irc: Changing host
[06:51] --> m_kiewitz joined #scummvm.
[06:51] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services.
[06:53] <-- Lightkey left irc: Ping timeout: 245 seconds
[07:04] --> t0by joined #scummvm.
[07:04] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services.
[07:04] <t0by> Morning
[07:05] t0by iz in ur chan, being useful to ur bot
[07:06] --> Lightkey joined #scummvm.
[07:31] <-- Deledrius left irc: Ping timeout: 240 seconds
[07:36] <-- LittleToonCat left irc: Remote host closed the connection
[07:39] --> Deledrius joined #scummvm.
[07:48] --> waltervn joined #scummvm.
[07:48] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services.
[07:55] <-- girafe left irc: Read error: Connection reset by peer
[08:04] --> ajax16384 joined #scummvm.
[08:04] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services.
[08:18] <-- snover left irc: Ping timeout: 240 seconds
[08:18] --> snover joined #scummvm.
[08:18] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services.
[08:24] <criezy> LeChuck has been upgraded to do sarcasm now?!? :P
[08:25] t0by scratches head
[08:26] <-- TMM left irc: Quit: Ex-Chat
[08:27] <criezy> I see LeChuck is being as useful as ever.
[08:56] --> _sev|work joined #scummvm.
[08:56] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[08:58] <-- _sev|work left irc: Client Quit
[09:08] tormen (me@lib59-5-82-243-109-205.fbx.proxad.net) left #scummvm.
[09:10] --> Joefish joined #scummvm.
[09:14] --> _sev|work joined #scummvm.
[09:14] <-- _sev|work left irc: Changing host
[09:14] --> _sev|work joined #scummvm.
[09:14] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[09:25] --> user9 joined #scummvm.
[09:43] --> Henke37 joined #scummvm.
[09:59] <-- _sev|work left irc: Quit: This computer has gone to sleep
[09:59] <-- user9 left irc: Ping timeout: 240 seconds
[10:17] --> user9 joined #scummvm.
[10:27] --> _sev|work joined #scummvm.
[10:27] <-- _sev|work left irc: Changing host
[10:27] --> _sev|work joined #scummvm.
[10:27] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[10:36] <-- demonimin left irc: Ping timeout: 252 seconds
[10:51] --> demonimin joined #scummvm.
[10:58] --> demonimin_ joined #scummvm.
[10:58] <-- demonimin_ left irc: Changing host
[10:58] --> demonimin_ joined #scummvm.
[10:58] <-- demonimin left irc: Ping timeout: 260 seconds
[10:58] --> Strangerke_ joined #scummvm.
[11:00] <-- Strangerke left irc: Ping timeout: 240 seconds
[11:00] Nick change: Strangerke_ -> Strangerke
[11:00] <-- _sev|work left irc: Quit: This computer has gone to sleep
[11:00] <-- user9 left irc: Ping timeout: 240 seconds
[11:02] --> _sev|work joined #scummvm.
[11:02] <-- _sev|work left irc: Changing host
[11:02] --> _sev|work joined #scummvm.
[11:02] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[11:03] <-- demonimin_ left irc: Ping timeout: 240 seconds
[11:15] <-- Strangerke|work left irc: Ping timeout: 260 seconds
[11:28] <-- Cheeseness left irc: Read error: Connection reset by peer
[11:29] --> Cheeseness joined #scummvm.
[11:32] <-- Cheeseness left irc: Client Quit
[11:32] --> Cheeseness joined #scummvm.
[11:34] --> TMM joined #scummvm.
[11:34] #scummvm: mode change '+o TMM' by ChanServ!ChanServ@services.
[11:34] <-- Cheeseness left irc: Client Quit
[11:34] --> Cheeseness joined #scummvm.
[12:07] <-- L0ngcat left irc: Remote host closed the connection
[12:08] --> L0ngcat joined #scummvm.
[12:09] <-- ComaF left irc: Quit: Connection closed for inactivity
[12:19] <-- _sev|work left irc: Quit: This computer has gone to sleep
[12:32] --> Strangerke|work joined #scummvm.
[12:39] --> user9 joined #scummvm.
[12:43] <-- user9 left irc: Client Quit
[12:47] --> user9 joined #scummvm.
[12:50] <-- user9 left irc: Client Quit
[12:51] <-- Strangerke left irc: Ping timeout: 260 seconds
[12:58] --> _sev|work joined #scummvm.
[12:58] <-- _sev|work left irc: Changing host
[12:58] --> _sev|work joined #scummvm.
[12:58] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[13:06] --> user9 joined #scummvm.
[13:25] --> carloratm joined #scummvm.
[13:26] <carloratm> hi all, I am trying to compile scummc https://github.com/jamesu/scummc is there any more modern alternative to that ?
[13:26] <carloratm> with "modern" I mean some more recent project
[13:27] <t0by> Oh. Wow, I didn't even know this existed.
[13:27] <t0by> carloratm, I wouldn't know, but might I ask what do you plan on doing with it?
[13:28] <carloratm> absolutely nothing, every 5 years I plan to invenstigate how easy could be to write a SCUMM-like adventure
[13:29] <carloratm> then, after some struggles and rants about missing time, I give up and go back to reality
[13:30] <t0by> carloratm, you mean *a game*?
[13:30] <t0by> not *an engine*?
[13:30] <t0by> because there is a gazillion of those
[13:30] <carloratm> i do not want anything with a GUI
[13:31] <t0by> notably, <shameless plug>scummvm supports games created with the very neat and capable WME engine on about any platform</shameless plug>
[13:32] <t0by> Um, can't you just... not use the GUI?
[13:32] --> rootfather_ joined #scummvm.
[13:33] <-- rootfather left irc: Ping timeout: 268 seconds
[13:33] <carloratm> with WME you mean this http://dead-code.org/home/ ?
[13:46] <t0by> I mean.
[13:46] <t0by> carloratm, they have an active-ish IRC channel on katje.de
[13:47] <t0by> er
[13:47] <t0by> waelish.de
[13:47] <carloratm> thx
[13:48] <t0by> carloratm, I did some work on the ScummVM WME engine and I find it's a rather sensible little engine. It has a GUI but the project files are (mostly) plaintext. It uses a pretty standard scripting language.
[13:48] <t0by> ScummVM also has an embryonic WME-specific debugger which you might or might not find useful - but hey, you can come here asking for features :)
[13:50] <carloratm> the only problem would be that it does not support Linux
[13:55] <t0by> carloratm, the IDE runs seemingly perfectly under Wine.
[13:55] <t0by> As for the games, those also appear to run well under Wine, and there is ScummVM for every other platform in existance, including the Dreamcast and Irix :)
[13:56] <eriktorbjorn> I just noticed GOG is selling "Codename: ICEMAN" now. I've heard it's not very good, but it's still nice to see the harder-to-find Sierra games getting rereleased.
[13:56] <t0by> Disclaimer: I am affiliated with ScummVM and I have done some work on that engine, so I'm buiased :P
[14:02] <Joefish> I'm confused.. When calling a function (C (stdcall I guess) / DOS) does CS+IP always get pushed on the stack independant of memory model or if it is a near/far call? I googled but some say this others that..
[14:17] <m_kiewitz> eriktorbjorn: at least it was something very different
[14:17] <m_kiewitz> i bought it as a child
[14:17] <m_kiewitz> and I was finally able to complete it 2 or 3 years ago in ScummVM
[14:17] <m_kiewitz> for example you get to a meeting, soldier wants to see your passport. keeps it until after the meeting. gives it back.
[14:17] <m_kiewitz> now he actually gives you the wrong one back
[14:18] <m_kiewitz> and when you don't check, then you will be screwed 3 or 4 hours of playtime later
[14:18] <m_kiewitz> and as a child I managed to break the game
[14:18] <m_kiewitz> later you have to control your submarine through icebergs
[14:19] <m_kiewitz> and somehow I managed to go the wrong way and after around minutes the game crashed with a division by zero
[14:19] <m_kiewitz> i then contacted sierra support by snail mail
[14:19] <m_kiewitz> and i actually got a reply back telling me that i went the wrong way lol
[14:19] <t0by> Joefish, good question.
[14:19] <m_kiewitz> it's quite flawed, but on the other hand it's something original
[14:19] --> Littleboy joined #scummvm.
[14:19] #scummvm: mode change '+o Littleboy' by ChanServ!ChanServ@services.
[14:21] <t0by> My absolutely wild guess would be "it's one of those things that everybody does by default which are left unspecified on the standard", but I have no idea what I'm talking about.
[14:21] lateral[m] --> (lateralmat@gateway/shell/matrix.org/x-ihaejsovjioqmpgq) joined #scummvm.
[14:21] <t0by> What does, in decreasing order of time to find an answer, #c, K&R and the C standard say?
[14:23] <t0by> I smell a tiny, tiny rat at the mention of CS "independently of the memory model".
[14:25] <-- _sev|work left irc: Quit: This computer has gone to sleep
[14:25] Nick change: rootfather_ -> rootfather
[14:25] <-- rootfather left irc: Changing host
[14:25] --> rootfather joined #scummvm.
[14:25] #scummvm: mode change '+o rootfather' by ChanServ!ChanServ@services.
[14:26] <t0by> Joefish, what are your findings so far?
[14:29] --> _sev|work joined #scummvm.
[14:29] <-- _sev|work left irc: Changing host
[14:29] --> _sev|work joined #scummvm.
[14:29] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[14:52] <-- _sev|work left irc: Quit: This computer has gone to sleep
[15:01] <Joefish> t0by: K&R doesn't go into details how parameters are supposed to be handled. Instead says that details are dependent on the compiler, like H&S. Agner Fog has some articles on compiler behavior, especially "Calling Conventions" look promising as it also mentions borland compiler for 16bit segment size. At least I guess that's the compiler used as the inline asm syntax matches iirc and the bp+offset ops make sense with
[15:01] <Joefish> Pascal parameter order. Still reading..
[15:04] <-- Tkachov left irc: Quit: https://fnordserver.eu
[15:04] --> Korak_ joined #scummvm.
[15:06] --> jubalh_ joined #scummvm.
[15:07] --> cpasjuste_ joined #scummvm.
[15:08] --> Unseen2a joined #scummvm.
[15:09] --> ScummBot_ joined #scummvm.
[15:10] Unseen2 (snowcat@snowcat.de) got netsplit.
[15:10] jubalh (~jubalh@unaffiliated/jubalh) got netsplit.
[15:10] Korak (~quassel@r75-110-34-6.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) got netsplit.
[15:10] cpasjuste (~cpasjuste@mydedibox.fr) got netsplit.
[15:10] ScummBot (~ScummBot@vm2.scummvm.org) got netsplit.
[15:10] Nick change: Unseen2a -> Unseen2
[15:10] Possible future nick collision: Unseen2
[15:21] ScummBot (~ScummBot@vm2.scummvm.org) got lost in the net-split.
[15:21] cpasjuste (~cpasjuste@mydedibox.fr) got lost in the net-split.
[15:21] Korak (~quassel@r75-110-34-6.gvllcmtc01.gnvlnc.ab.dh.suddenlink.net) got lost in the net-split.
[15:21] jubalh (~jubalh@unaffiliated/jubalh) got lost in the net-split.
[15:28] --> alex3080 joined #scummvm.
[15:28] <alex3080> hello
[15:28] <alex3080> someone speak italian here?
[15:29] <alex3080> i have a problem with scummvm on my galaxy s3 with lineage 14.1
[15:29] <alex3080> someone help me pls?
[15:40] <alex3080> nobody?
[15:42] --> ny00123 joined #scummvm.
[15:42] <alex3080> hello
[15:44] <-- alex3080 left irc: Quit: Page closed
[15:48] <Strangerke|work> I think you should just ask your question :)
[15:48] <Strangerke|work> But most of us aren't specifically aware of the details of the Android port, so you may also have to wait a bit
[15:49] --> _sev|work joined #scummvm.
[15:49] <-- _sev|work left irc: Changing host
[15:49] --> _sev|work joined #scummvm.
[15:49] #scummvm: mode change '+o _sev|work' by ChanServ!ChanServ@services.
[15:49] <t0by> alex3080, I speak italian
[15:49] <t0by> and he quit.
[15:50] <t0by> wtf.
[15:50] <t0by> Perdio se queste cose mi fanno incazzare.
[16:00] <-- _sev|work left irc: Quit: This computer has gone to sleep
[16:02] <snover> waltervn: hi. I was working on https://bugs.scummvm.org/ticket/9727 yesterday, left a comment there with a possible solution for the problem, but wanted to get feedback from you about whether that solution makes sense, or if there is a more appropriate solution. If you could take a look, I would appreciate it.
[16:10] <m_kiewitz> snover: if I remember correctly, I think I actually wrote that code
[16:10] <m_kiewitz> would have to double check though
[16:13] <m_kiewitz> snover: yes, it's my code
[16:13] <m_kiewitz> and it really seems to be a bug
[16:15] <m_kiewitz> it's a mess anyway, original SCI does the whole thing completely different but we can't do that atm.We would have to write a SCI specific Midi-Parser and not use the common one
[16:16] <snover> yeah, i just dont know if breaking out of the loop when `command` is `kEndOfTrack` is OK, or if that would break some other sounds that have a `kEndOfTrack` in the middle (if that is even possible)
[16:18] <m_kiewitz> i don't think that's possible
[16:19] <m_kiewitz> let me verify with SCI IDBs
[16:22] <m_kiewitz> ah wait, in theory i guess it would be possible for a song to have multiple EndOfTrack markers
[16:23] <m_kiewitz> so i guess it would be best to check for a buffer overflow and exit in that case
[16:23] <m_kiewitz> it seems there is some sort of jump command using SysEx 0
[16:25] <m_kiewitz> the second 0xFC has to be seen as a delta, it's probably data corruption btw.
[16:28] <logix> m_kiewitz: welcome to sierra games (re: wrong passport in iceman)
[16:29] <m_kiewitz> logix: other sierra games weren't like that.
[16:29] --> _sev__ joined #scummvm.
[16:29] #scummvm: mode change '+o _sev__' by ChanServ!ChanServ@services.
[16:29] <m_kiewitz> I actually managed to beat kq5 as a child. Sure, you would also be in a dead end in case you missed some item
[16:29] <m_kiewitz> but as a child i looked through everything and actually found all items, so that was okay.
[16:30] <m_kiewitz> In iceman it's basically tricking you. You get a passport back, simply not your passport and you have to ask for it.
[16:30] <m_kiewitz> ask for it to even get that passport back
[16:30] <m_kiewitz> then you have to look at it, and tell the guard to get you the correct passport
[16:31] --> bgKa joined #scummvm.
[16:31] #scummvm: mode change '+o bgKa' by ChanServ!ChanServ@services.
[16:31] <-- _sev_ left irc: Ping timeout: 252 seconds
[16:31] <-- vinayakvivek left irc: Ping timeout: 252 seconds
[16:31] <-- bgK left irc: Ping timeout: 252 seconds
[16:31] <-- bazaar_ left irc: Ping timeout: 252 seconds
[16:31] <-- Harekiet left irc: Ping timeout: 252 seconds
[16:31] <-- erdic left irc: Ping timeout: 252 seconds
[16:31] --> erdic joined #scummvm.
[16:32] --> bazaar joined #scummvm.
[16:32] --> vinayakvivek joined #scummvm.
[16:34] <-- ajax16384 left irc: Read error: Connection reset by peer
[16:37] --> LittleToonCat joined #scummvm.
[16:49] --> Harekiet joined #scummvm.
[16:50] --> WooShell joined #scummvm.
[16:52] <WooShell> meow =^.^=
[16:59] <-- NuSuey left irc: Quit: Connection closed for inactivity
[17:07] <logix> m_kiewitz: imho it's all the same, call them one-way street sitations or something
[17:07] <m_kiewitz> yes, but kq5 didn't trick you in that way.
[17:08] <m_kiewitz> and in codename: iceman that's not even really the major problem
[17:08] <m_kiewitz> the real major problem is icebergs +fighting with the submarine
[17:09] <logix> yeah, I get that point, the iceman thing sounds very "unfair" compared to the way it's usually in sierra games
[17:10] <m_kiewitz> as i said the passport is really unfair + bs, but it's not a major problem.
[17:11] <m_kiewitz> for example submarine fighting is even RNG based
[17:11] <logix> usually it's fairly obvious, you're missing an object or something you were supposed to create from an object/objects earlier in the game and there now is no way back - and it's usually at least somewhat obvious *where* something is missing (i.e., the "key hole" is fairly obvious), and then it's not *that* tricky to realize what you were missing
[17:11] <m_kiewitz> and in case the enemy submarine fires too many torpedos you can't do anything about it
[17:11] <logix> save early, save often
[17:11] <logix> :)
[17:11] <m_kiewitz> yes, with the passport, the one at the submarine even tells you that it's the wrong passport
[17:11] <m_kiewitz> so it's obvious what went wrong
[17:12] <m_kiewitz> still it's really bad design
[17:13] <logix> http://www.hardcoregaming101.net/monkeyisland/mi-18.png
[17:13] <logix> ha, there it is - I was searching for it with the search phrase "save early, save often", that returned no useful results...
[17:30] <waltervn> snover: it looks like a 0xfc is supposed to stop the sound right away
[17:37] <snover> yes, the midi 1.0 spec says that 0xfc stops the sequencer, and that it should be able to resume from the stopped point by receiving a Continue message, but im not sure if that ever actually happens in SSCI
[17:39] <waltervn> glancing over it, it appears to reset the pointer to the loop point
[17:47] <snover> waltervn: sorry, what does it refer to?
[17:48] <waltervn> SSCI
[17:51] <snover> thanks
[17:52] <m_kiewitz> snover: there is a way to jump around though.at least it seems like that
[17:53] <m_kiewitz> and sierra did some weird tricks in some cases
[17:53] --> SylvainTV joined #scummvm.
[17:53] #scummvm: mode change '+o SylvainTV' by ChanServ!ChanServ@services.
[17:54] <logix> Joefish: I think near calls just push (e)ip to the stack
[17:54] <m_kiewitz> so it seems they could jump beyond end of track and then would require another end of track
[17:54] <waltervn> snover: SSCI also seems to stop the song when 0xfc is found as a command
[17:55] <m_kiewitz> waltervn: or loop around
[17:57] <waltervn> snover: sorry, I guess that's the normal case. In any case it seems to take 0xfc into account when expecting delays or commands
[17:57] <m_kiewitz> I mean Sierra did mix the tracks and then inserted a Meta event afterwards
[17:57] <m_kiewitz> Sierra didn't directly use the sound resource
[17:57] <waltervn> this is SCI0 though
[17:58] <logix> Joefish: perhaps http://www.felixcloutier.com/x86/CALL.html helps
[17:58] <m_kiewitz> yeah, but the midi parser is used for SCI1 as well
[17:58] <m_kiewitz> I'm talking about general possibilities
[17:58] <m_kiewitz> maybe they never used such resources, but it seems they could have
[17:59] <waltervn> I'm not sure what you mean
[18:00] <m_kiewitz> wait, looking at the SCI mixing code, it seems two End-Of-Track markers can't happen
[18:00] <m_kiewitz> i mean even if they would, sierra put its own Meta event after mixing, which terminated the whole thing
[18:00] <m_kiewitz> and the player code only reacted on that
[18:01] <m_kiewitz> it seems the actual player code would ignore 0xFCs
[18:02] <m_kiewitz> and the mixer code would remove it
[18:03] <waltervn> none of that relates to SCI0 though
[18:03] --> ajax16384 joined #scummvm.
[18:03] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services.
[18:04] <m_kiewitz> i think we use the mixer code even for SCI0, that's the code that has this issue
[18:05] <m_kiewitz> still, it seems the original code simply ignored 0xFC markers
[18:05] <waltervn> yes, but I was only talking about SSCI the whole time. I guess I should have been more specific
[18:06] <snover> to be clear, the affected filtering function in scummvm is only ever called for sci0 games
[18:06] <waltervn> I think it's the filter code where this happens, looking at the backtrace, and that is SCI0-only in our code IIRC
[18:08] <-- Strangerke|work left irc: Ping timeout: 260 seconds
[18:09] <m_kiewitz> ok, I guess we did that so that our midi player code can be used for both
[18:12] <snover> btw, the Stop command is not actually written into the filtered output
[18:13] <m_kiewitz> yes, that's intentionally,snover
[18:14] <m_kiewitz> as i said this code was written so that we can use the same player as for sci1
[18:14] <waltervn> snover: might be OK I guess. This whole filtering stuff is a scummvm thing, SSCI just plays the sound data directly and "filters" on the fly
[18:14] <m_kiewitz> sci1 does filtering into a temp buffer (afaik)
[18:15] <snover> i only mention it because it might be relevant to whatever the best solution is
[18:15] <m_kiewitz> so we did the same w/ sci0data, so that the same code can be used and we don't need a sci0 and sci1 midi player
[18:15] <waltervn> snover: taking into account that all this code has basically been slated for replacement, I guess anything that works is fine? :P
[18:15] <m_kiewitz> it seems as if you could really break out of the loop on 0xFC
[18:15] <snover> waltervn: :)
[18:16] <m_kiewitz> waltervn: I'm not sure about the mixing/filtering
[18:16] <m_kiewitz> because the filtering works just like SCI1 did it
[18:16] <m_kiewitz> the problem is the midi parser
[18:17] <waltervn> SCI0 has a single track and there stuff is filtered out. In SCI1 there are multiple tracks that are "mixed" together. It's quite different, and I'm not sure there's really much benefit to having the same code handle both
[18:17] <m_kiewitz> which works using ticks and sierra's worked on byte offsets
[18:17] <m_kiewitz> yes, I know that. I wrote the filtering + mixing code
[18:18] <m_kiewitz> the mixing code for sci1 is what sci1 actually did
[18:18] <snover> i dont know very much about this code, though, so hearing this information is helpful for me to learn things :)
[18:18] <m_kiewitz> we could of course do the mixing on the fly too
[18:19] <m_kiewitz> although i guess that would make it even more complicated
[18:19] <m_kiewitz> midi parser of at least sci1 works byte offset based, and if we mixed it on the fly, we would have to track offsets for all channels
[18:20] <m_kiewitz> that's probably why sierra did it the way they did
[18:21] <-- TMM left irc: Quit: Ex-Chat
[18:22] <waltervn> I think SSCI1 does keep an index for every track, but it's been a while since I looked at it
[18:23] <m_kiewitz> so they didn't mix? I was pretty sure of that.Greg's engine does mixing too
[18:24] <waltervn> I don't think they mix, but don't quote me ;)
[18:25] <m_kiewitz> will have to look into that again
[18:26] <m_kiewitz> but first that pesky keyboard code
[18:28] <snover> i think, to avoid the possibility of breaking anything else in the meantime, what i will do for now is break from the loop when kEndOfTrack is the command and there are <2 bytes left in the resource. that will address sound 104, and any other sound that might have this same double command at the end
[18:40] <m_kiewitz> wouldn't that leave the delta issue in there?
[18:41] <snover> the only delta issue i am aware of is when the function would try to read the second 0xFC as a delta, right before crashing due to an out-of-bounds read
[18:41] <snover> was there something else?
[18:42] <m_kiewitz> i guess we should rather add checks for unexpected end of resource
[18:42] <m_kiewitz> and there are also checks missing for SysEx copying
[18:43] <m_kiewitz> dang i should have never written such rubbish
[18:45] <snover> using Span does that checking, with the downside that it is an error instead of a warning
[18:45] <m_kiewitz> at least for sci1 it shouldn't be an error
[18:45] <m_kiewitz> because otherwise king's quest 5 floppy credits song will error out
[18:45] <snover> this function isnt used by sci1
[18:46] <m_kiewitz> yes, but you never know what's inside one of the SCI0 games (including fan games)
[18:49] <P2E> wrong kind of keyboards for the MIDI discussion, but: http://imgur.com/gallery/pKu0m
[18:49] <m_kiewitz> oh and right, see kq4 intro :P
[18:50] <m_kiewitz> if we simply ignore unexpected end of resource, we can't really break games
[18:57] <criezy> Is that a know issue that the QfG4 speech is not working and that instead we get loud static?
[18:58] <criezy> Although the version used is about a month old, so maybe it has been fixed already?
[19:07] --> girafe joined #scummvm.
[19:08] <Joefish> t0by: so.. agner just writes that a 'returning object' is pushed on the stack and its location is dependent on the calling convention.. While the Borland C++ DOS Reference is a treasure chest (finally know what all those different memory models are for :D) it didn't specify the stack on function call for compact/large/huge mem (DS/SS > 64k). So I did what I should have done before, ndisasm msn.exe |grep call| less.
[19:08] <Joefish> Two different calls are used with opcode E8 and FF. Looking at the intel arch manual E8 is for near calls with relative address. FF is either an intra- or intersegment call and as it is explicitly stated that CS+IP get pushed for intersegment calls and only IP for others.
[19:09] <Joefish> could have saved a lot of time if my dosbox wouldn't softlock if I try to set a breakpoint..
[19:09] <m_kiewitz> snover: ^^^
[19:10] <-- waltervn left irc: Read error: Connection reset by peer
[19:11] <Joefish> logix: yea thanks :) Found that section in the intel manuals
[19:14] <criezy> Maybe relevant: this is on a PPC mac. So this could be an endianess issue.
[19:14] <logix> Joefish: ah, yeah, I wanted to refer to that too - it's mentioned on that page up there too
[19:15] <logix> Joefish: the chapter in intel's manual that is
[19:15] --> TMM joined #scummvm.
[19:15] #scummvm: mode change '+o TMM' by ChanServ!ChanServ@services.
[19:15] <m_kiewitz> criezy: sci1.1 games work fine?
[19:16] <logix> Joefish: also - weird, I don't know much about the internals or so, but breakpoints worked "ok" for me in dosbox when I recently used them
[19:16] <criezy> Speech in GK1 is OK apparently. I don't know about sci1.1 games.
[19:17] <logix> Joefish: "ok" as in "i had the impression that sometimes a breakpoint on an INT would skip the INT", but no lockups
[19:17] <criezy> This is a report from somebody testing my PPC build of ScummVM.
[19:17] <criezy> But I am planning to get my PPC mac out this weekend and make some tests.
[19:17] <snover> criezy: PC version of QfG4?
[19:18] <criezy> Good question. Is there a mac version?
[19:18] <snover> i have no idea. i dont see any listed in the detection tables
[19:18] <criezy> He only told me CD version.
[19:19] <snover> there could definitely be some endianness problem
[19:19] <Joefish> logix: worked before for me too but since I tried to specify an int bp before loading the program it behaves weird..
[19:19] <criezy> I have the version from GoG myself, so I will make some test with that.
[19:19] <Joefish> maybe just do a restart or recompile does the trick without having to actually figure out whats wrong :P
[19:20] <logix> Joefish: yeah, that's pretty much what I did too... "debug <exe>", then "bp int 21 *" or whatever and the "continue execution" key or so
[19:21] <snover> P2E: A lifetime ago I did computer repair; that keyboard is sparkling clean compared to laptops owned by heavy smokers.
[19:24] <m_kiewitz> yuk
[19:27] <snover> criezy: the problem is probably sol.cpp:63: *out = TO_LE_16(sample);
[19:30] <snover> probably just a dumb brain thing on my part converting the sample to LE
[19:31] --> RichieSams joined #scummvm.
[19:33] <criezy> snover: since I am unboxing my PPC mac, is there more things you would like me to tests?
[19:35] <P2E> snover: I also worked in IT; tar is the worst.
[19:35] <P2E> I spent 9 hours reviving a laptop completely caked in tar
[19:36] <P2E> it worked, afterwards!
[19:37] <snover> criezy: uh, probably. i havent been giving it a whole lot of thought. robots might also have trouble, so if you have phant1, maybe give that a run to see if anything explodes
[19:38] <criezy> I do have it yes (I have most SCI games that are available on GoG).
[19:38] <m_kiewitz> criezy: you got iceman too?
[19:39] <m_kiewitz> i wonder if they used ScummVM for it
[19:39] <criezy> No. At least not yet.
[19:39] <m_kiewitz> Phantasmagoria 1 should have robots
[19:39] <m_kiewitz> afaik
[19:40] <snover> i need to buckle down and get the rest of my working branch merged. i just seem to be allowing myself to be regularly sidetracked, like with this sound bug
[19:41] <-- RichieSams left irc: Quit: http://www.kiwiirc.com/ - A hand crafted IRC client
[19:41] <wjp> wait, iceman on gog?
[19:41] <wjp> https://www.gog.com/game/codename_iceman says 'powered by ScummVM', by the way
[19:42] <P2E> hooray, attribution
[19:42] --> RichieSams joined #scummvm.
[19:43] <m_kiewitz> \o/ horray
[19:46] Nick change: _sev__ -> _sev
[19:47] --> omer_mor_ joined #scummvm.
[19:50] <-- omer_mor left irc: Ping timeout: 240 seconds
[20:06] --> demonimin joined #scummvm.
[20:06] <-- demonimin left irc: Changing host
[20:06] --> demonimin joined #scummvm.
[20:11] <-- RichieSams left irc: Quit: http://www.kiwiirc.com/ - A hand crafted IRC client
[20:28] --> waltervn joined #scummvm.
[20:28] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services.
[20:29] <waltervn> grr.. I really hate it when Windows decides it's OK to turn off my system for an update
[20:47] <Joefish> waltervn: you can disable that updates are automatically downloaded and updated in the group policy editor
[20:47] <Joefish> like for real. not like the default windows settings that just ignore it and do what it wants anyway
[20:47] <waltervn> I thought that was impossibly on windows 10
[20:48] <Joefish> well, it worked for me
[20:48] <waltervn> I'll have to give it a try then
[20:48] <Joefish> gpedit.msc and in admin settings somewhere. :)
[20:48] <Joefish> I'm sure google will help out
[20:49] <Joefish> http://gadgets.ndtv.com/laptops/features/how-to-disable-windows-10-automatic-updates-728049
[20:50] <Joefish> you'll get a popup that windows updates are super important or something but after that windows should leave you alone
[20:51] <m_kiewitz> waltervn: you use windows 10? my condolences :P
[21:02] <-- Henke37 left irc: Quit: ERR_SHUTDOWN
[21:07] <-- LittleToonCat left irc: Remote host closed the connection
[21:09] --> LittleToonCat joined #scummvm.
[21:40] <-- waltervn left irc: Quit: Leaving
[21:44] <-- vinayakvivek left irc: Quit: Connection closed for inactivity
[21:48] <-- Joefish left irc: Ping timeout: 245 seconds
[21:53] <-- ny00123 left irc: Quit: Leaving
[22:12] <-- ajax16384 left irc: Read error: Connection reset by peer
[22:26] <-- kurtwr left irc:
[22:40] <-- Harekiet left irc: Ping timeout: 258 seconds
[22:46] <criezy> snover: I reproduced the speech issue with QfG IV from GoG. And changing sol.cpp:63 to '*out = sample;' does fix the issue.
[22:47] <criezy> I also get some random crashes at start or randomly no music. But I get than on Intel as well. And valgrind reports use of an unitialized value.
[22:47] <criezy> I am investigating this further.
[22:50] <criezy> For the valgrind error: https://pastebin.com/1KiEGPG7
[22:51] --> Strangerke joined #scummvm.
[22:51] #scummvm: mode change '+o Strangerke' by ChanServ!ChanServ@services.
[22:56] <-- WooShell left irc: Quit: If you understand or if you don't, if you believe or if you doubt - There's a universal justice, and the eyes of truth are always watching you.
[22:58] <snover> criezy: i have seen those too in valgrind; id been ignoring them because they didnt appear to be new, and i was under the impression that that part of the engine was going to get an overhaul anyway
[22:58] <criezy> OK. So I won't spend much time on this then.
[22:59] <snover> (obligatory it compiles, ship it :))
[22:59] <criezy> I will play games instead!
[22:59] <criezy> One long weekend of playing SCI games doesn't sound too bad :P
[23:00] <m_kiewitz> depends on the games
[23:00] <criezy> Although I might change my mind before the weekend is over.
[23:00] <snover> start up pq:swat and well see how quickly your attitude changes ;)
[23:01] <criezy> Do you want me to commit the change to sol.cpp?
[23:01] <snover> sure, go for it
[23:03] --> GitHub33 joined #scummvm.
[23:03] <GitHub33> [scummvm] criezy pushed 1 new commit to master: https://git.io/vSHGl
[23:03] <GitHub33> scummvm/master 1e38ca4 Thierry Crozat: SCI: Fix speech in QfG IV on big endian platforms
[23:03] GitHub33 (GitHub33@ left #scummvm.
[23:08] --> Harekiet joined #scummvm.
[23:09] <-- girafe left irc: Read error: Connection reset by peer
[23:25] <criezy> Phantasmagoria is not supposed to look this yellow, is it?
[23:25] <criezy> https://www.dropbox.com/s/5fb0kqeiuu7xnei/Phantasmagoria-scummvm-ppc.png?dl=0
[23:27] --> kurtwr joined #scummvm.
[23:27] <Lightkey> https://www.mobygames.com/game/dos/roberta-williams-phantasmagoria/screenshots/gameShotId,208005/
[23:29] <criezy> Nevermind, my whole scummvm is acting strange: https://www.dropbox.com/s/1shcbv5v53f4kwr/scummvm-ppc.png?dl=0
[23:29] <criezy> I probably messed up the build.
[23:33] <-- t0by left irc: Quit: Bye!
[23:36] <snover> phantasmagoria, a puzzle of hue
[23:48] <snover> wouldve even rhymed if it was phantasmagoria 2. dang.
[23:56] <criezy> Inside a bundle it works properly, but when not in a bundle fullscreen surfacesdl has messed up colors. OpenGL is OK though.
[23:56] <criezy> Maybe a SDL 1.2 issue on PPC macs...
[23:56] <snover> interesting.
[23:57] <snover> is the system too old for SDL2
[23:57] <snover> ?
[23:57] <criezy> Yes.
[00:00] --- Fri Apr 14 2017