[Back to Index]

  

[00:08] --> GitHub52 joined #scummvm.
[00:08] <GitHub52> [scummvm] csnover pushed 1 new commit to master: https://git.io/vrD1U
[00:08] <GitHub52> scummvm/master 741e26c Colin Snover: SCI32: Remove unused Plane fields...
[00:08] GitHub52 (GitHub52@192.30.252.42) left #scummvm.
[00:24] <-- SylvainTV left irc: Read error: Connection reset by peer
[00:42] --> Littleboy joined #scummvm.
[00:42] #scummvm: mode change '+o Littleboy' by ChanServ!ChanServ@services.
[00:56] --> dreammaster joined #scummvm.
[00:56] #scummvm: mode change '+o dreammaster' by ChanServ!ChanServ@services.
[01:08] <-- Dominus left irc: Ping timeout: 244 seconds
[01:10] --> Dominus joined #scummvm.
[01:15] --> criezy joined #scummvm.
[01:16] #scummvm: mode change '+o criezy' by ChanServ!ChanServ@services.
[01:17] <criezy> good evening
[01:19] <dreammaster> G'day
[01:21] --> GitHub70 joined #scummvm.
[01:21] <GitHub70> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vrDS7
[01:21] <GitHub70> scummvm/master ac8adb0 Paul Gilbert: ACCESS: Refactor ASurface and Screen to not use virtual inheritance
[01:21] GitHub70 (GitHub70@192.30.252.40) left #scummvm.
[01:36] <criezy> snover: thanks for fixing the syntax highlighting issue on the Sierra PMachine page.
[01:36] <criezy> But changing the "syntax" to "source" is not sufficicient to get proper syntax highlighting :P
[01:37] <snover> i just assumed there was no asm highlighting
[01:38] <snover> but now i see, it is not so
[01:38] --> GitHub94 joined #scummvm.
[01:38] <GitHub94> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vrDHr
[01:38] <GitHub94> scummvm/master 78e5236 Paul Gilbert: MADS: Refactor MSurface and Screen to not use virtual inheritance
[01:38] GitHub94 (GitHub94@192.30.252.41) left #scummvm.
[01:39] <snover> anyway, thanks right back at you for doing it correctly :)
[01:44] <criezy> I hope that was the only page I missed the first time around.
[01:44] <criezy> The search feature in mediawiki is sadly not well adapted to find pages where the extension is used.
[01:47] <snover> crowdsourcing!
[01:47] <snover> i gotta go, thanks again for all the work on the wiki
[01:47] <-- snover left irc: Quit: Leaving.
[01:48] --> GitHub94 joined #scummvm.
[01:48] <GitHub94> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vrDQ4
[01:48] <GitHub94> scummvm/master 4a88f39 Paul Gilbert: SHERLOCK: Refactor Surface and Screen to not use virtual inheritance
[01:48] GitHub94 (GitHub94@192.30.252.34) left #scummvm.
[02:18] --> GitHub64 joined #scummvm.
[02:18] <GitHub64> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vrD5k
[02:18] <GitHub64> scummvm/master 4d933a1 Paul Gilbert: VOYEUR: Reorder ViewPortResource fields to fix VS packing warnings
[02:18] GitHub64 (GitHub64@192.30.252.45) left #scummvm.
[02:25] <-- joostp_ left irc: Ping timeout: 260 seconds
[02:26] --> joostp joined #scummvm.
[02:26] #scummvm: mode change '+o joostp' by ChanServ!ChanServ@services.
[03:02] --> GitHub191 joined #scummvm.
[03:02] <GitHub191> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vrDFt
[03:02] <GitHub191> scummvm/master 559b974 Paul Gilbert: TSAGE: Refactor GfxSurface and Screen to not use virtual inheritance
[03:02] GitHub191 (GitHub191@192.30.252.46) left #scummvm.
[03:05] <-- Littleboy left irc: Read error: Connection reset by peer
[03:09] --> GitHub102 joined #scummvm.
[03:09] <GitHub102> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vrDFa
[03:09] <GitHub102> scummvm/master bb0629d Paul Gilbert: GRAPHICS: Remove virtual inheritance from Graphics::Screen
[03:09] GitHub102 (GitHub102@192.30.252.42) left #scummvm.
[03:11] <-- LePhilousophe left irc: Ping timeout: 276 seconds
[03:12] --> LePhilousophe joined #scummvm.
[03:23] <-- criezy left irc: Quit: Page closed
[03:38] <-- dreammaster left irc:
[03:56] <-- Cruel` left irc: Quit: Leaving
[04:02] --> Polynomial-C joined #scummvm.
[04:03] <-- Poly-C left irc: Ping timeout: 250 seconds
[05:10] --> wanwan joined #scummvm.
[05:18] --> frankyboy_ joined #scummvm.
[05:36] <-- frankyboy_ left irc: Remote host closed the connection
[06:09] --> ny00123 joined #scummvm.
[06:38] --> uruk-hai joined #scummvm.
[06:38] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services.
[07:01] --> waltervn joined #scummvm.
[07:01] #scummvm: mode change '+o waltervn' by ChanServ!ChanServ@services.
[07:22] --> Strangerke|work joined #scummvm.
[07:22] <Strangerke|work> hi guys
[07:31] <uruk-hai> hey Strangerke|work :)
[07:32] <Lightkey> "with fixes for important bugs" how important can bugs be? :-)
[07:33] <_sev> Lightkey: we have some bugs which are almost 10 years old.Those are not important ;)
[07:33] <Strangerke|work> Lightkey: show stoppers
[07:50] <waltervn> morning all
[07:50] <Strangerke|work> hi waltervn
[08:06] <-- TMM left irc: Quit: Ex-Chat
[08:13] --> ajax16384 joined #scummvm.
[08:13] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services.
[08:33] --> m_kiewitz joined #scummvm.
[08:33] <-- m_kiewitz left irc: Changing host
[08:33] --> m_kiewitz joined #scummvm.
[08:33] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services.
[08:40] <-- Schnabeltierchen left irc: Ping timeout: 252 seconds
[08:43] --> Schnabeltierchen joined #scummvm.
[08:49] --> TMM joined #scummvm.
[09:20] --> ChrisKeys joined #scummvm.
[09:27] <-- Harekiet left irc: Remote host closed the connection
[09:36] --> Harekiet joined #scummvm.
[09:47] <-- Harekiet left irc: Remote host closed the connection
[09:52] --> Harekiet joined #scummvm.
[09:58] --> dreammaster joined #scummvm.
[09:58] #scummvm: mode change '+o dreammaster' by ChanServ!ChanServ@services.
[10:01] --> GitHub169 joined #scummvm.
[10:01] <GitHub169> [scummvm] dreammaster pushed 3 new commits to master: https://git.io/vryWF
[10:01] <GitHub169> scummvm/master e68de1d Paul Gilbert: ACCESS: Remove redundant allocation in surface creation
[10:01] <GitHub169> scummvm/master f582548 Paul Gilbert: MADS: Remove redundant allocation in surface creation
[10:01] <GitHub169> scummvm/master 2b2dffc Paul Gilbert: SHERLOCK: Remove redundant allocation in surface creation
[10:01] GitHub169 (GitHub169@192.30.252.45) left #scummvm.
[10:05] --> WinterGrascph joined #scummvm.
[10:05] #scummvm: mode change '+v WinterGrascph' by ChanServ!ChanServ@services.
[10:31] --> mnk joined #scummvm.
[10:32] <mnk> nice! glad to encounter a scummvm community
[10:32] <mnk> i am trying to run monkey island 3 via scummvm. it is a multi language version (eng/ger) and i would love to play the game in german
[10:32] <mnk> but even if i change the language of the game within scummvm to german, it still remains being in english
[10:33] <mnk> any idea how to solve this problem?
[10:34] <Strangerke|work> hi mnk
[10:34] <mnk> hi :)
[10:35] <Strangerke|work> I have no idea, but wait a bit, maybe someone will have a solution for you
[10:35] <mnk> would be awesome :D thank you
[10:35] <mnk> was thinking maybe within the scummvm command line there is a way but i dont even know how to start the command line for scummvm
[10:42] <ChrisKeys> maybe you can go into the mi3 installation folder and see if there are separate voice files for english and german and play around by renaming or moving files (after backup of course)
[10:43] <mnk> true, might work. there is a language.tab file in the installation folder. lets see
[10:51] <mnk> hm that file only contains english dialogs
[10:53] --> greencis joined #scummvm.
[10:59] --> Henke37 joined #scummvm.
[11:22] <_sev> I never heard about multilanguage mi3
[11:22] <m_kiewitz> just in case anyone is interested in US
[11:23] <_sev> it simply won't fit on 2 CDs
[11:23] <m_kiewitz> someone is selling the larry collection book
[11:23] <m_kiewitz> http://www.ebay.com/itm/The-Official-Book-of-Leisure-Suit-Larry-/272255758018?
[11:23] <m_kiewitz> $5 only
[11:23] <m_kiewitz> it contains interviews with al lowe and i think even a bit about SCI
[11:23] <m_kiewitz> i already own it
[11:31] --> salty-horse joined #scummvm.
[11:31] #scummvm: mode change '+o salty-horse' by ChanServ!ChanServ@services.
[11:37] <-- m_kiewitz left irc: Quit: technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray.
[11:40] --> m_kiewitz joined #scummvm.
[11:40] #scummvm: mode change '+o m_kiewitz' by ChanServ!ChanServ@services.
[11:47] <-- dreammaster left irc:
[12:23] --> snover joined #scummvm.
[12:23] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services.
[12:26] <mnk> <@_sev> it simply won't fit on 2 CDs hmm
[12:26] <_sev> mnk: ?
[12:28] <mnk> sorry, i will check that again. maybe i missed something
[12:36] --> iskrich joined #scummvm.
[12:36] #scummvm: mode change '+v iskrich' by ChanServ!ChanServ@services.
[12:46] --> jamm joined #scummvm.
[12:52] --> greencis|2 joined #scummvm.
[12:55] <-- greencis left irc: Ping timeout: 240 seconds
[12:56] Nick change: greencis|2 -> greencis
[13:22] <-- mnk left irc:
[13:26] <-- snover left irc: Quit: Leaving.
[13:29] <-- Dominus left irc: Ping timeout: 252 seconds
[13:30] --> Dominus joined #scummvm.
[13:36] <-- WinterGrascph left irc: Ping timeout: 272 seconds
[13:46] --> uruk_hai joined #scummvm.
[13:46] #scummvm: mode change '+o uruk_hai' by ChanServ!ChanServ@services.
[13:50] <-- uruk_hai left irc: Client Quit
[13:50] <-- uruk-hai left irc: Ping timeout: 276 seconds
[13:55] --> WinterGrascph joined #scummvm.
[14:06] --> iskrich_ joined #scummvm.
[14:06] #scummvm: mode change '+v iskrich_' by ChanServ!ChanServ@services.
[14:08] <-- iskrich left irc: Ping timeout: 250 seconds
[14:14] --> rootfather joined #scummvm.
[14:14] #scummvm: mode change '+o rootfather' by ChanServ!ChanServ@services.
[14:14] <rootfather> hohoho
[14:14] <rootfather> website still down?
[14:15] <rootfather> https://www.youtube.com/watch?v=iqbD42Vy-GM
[14:23] --> Cruel` joined #scummvm.
[14:25] <-- ChrisKeys left irc:
[14:28] <-- Cruel` left irc: Ping timeout: 260 seconds
[14:39] --> Cruel` joined #scummvm.
[14:50] --> Strangerke_ joined #scummvm.
[14:52] <-- greencis left irc: Remote host closed the connection
[14:52] <-- Strangerke left irc: Ping timeout: 240 seconds
[14:52] Nick change: Strangerke_ -> Strangerke
[14:53] <rootfather> _sev, iskrich, you there?
[14:53] <_sev> HERE
[14:53] <_sev> oops
[14:53] <_sev> caps lock was not intended
[14:53] <rootfather> 5000bytes are not enough for DIRECTOR detection
[14:53] <rootfather> I have a collision
[14:53] <rootfather> different file size, but same md5 hash for the first 5000 bytes
[14:54] <_sev> rootfather: website is down, but they just revived the machine, however it is still not connectable
[14:54] <_sev> rootfather: the only way to address that is to have those 2 colliding games, and figure out where the difference starts
[14:55] <_sev> Unix 'cmp' can give you position of first different byte
[14:56] <rootfather> ...and then increase the number of bytes used for hashing and detection in the engine?
[14:57] <rootfather> "/d/MVM/MVM.EXE /g/MVM/MVM.EXE differieren: Byte 1497912, Zeile 6335"
[14:57] <rootfather> the first one is the english, the second one the german release
[14:57] <rootfather> first .exe roughly 2MB, second one roughly 1,5MB
[14:58] <rootfather> I assume the projector stub is pretty big
[15:00] <_sev> wow, yes, that's big
[15:00] <rootfather> sadly, I don't have another director v5 game to diff that
[15:00] <_sev> but
[15:00] <_sev> maybe you can detect it not by .exe?
[15:01] <_sev> e.g. take some game which exists only there
[15:01] <_sev> some file I mean
[15:01] <rootfather> nope... for that game, the files are the same on both languages
[15:02] <rootfather> oh wait...
[15:02] <_sev> does the .exe length differ?
[15:02] <rootfather> yeah
[15:02] <rootfather> i found something
[15:02] <_sev> then I recommend the following:
[15:02] <rootfather> the English release with the bigger .exe is missing one .dxr
[15:02] <_sev> 1. You pick some file which belongs only to this game
[15:02] <_sev> 2. Add md5 for it
[15:03] <rootfather> I *assume* that in this release, that .dxr is embedded in the .exe itself
[15:03] <_sev> 3. Add .exes only with length
[15:03] <rootfather> and in the other release it is separated
[15:03] <_sev> to do that, specify 0 as md5 string
[15:03] <rootfather> but I cannot guarrantee that the file is only in this game - it's the publishers' intro anymation
[15:03] <rootfather> animation
[15:03] <_sev> then no
[15:03] <rootfather> and Tivola released a bunch of director games
[15:03] <_sev> that's bad candidate
[15:03] <_sev> take some game-specific file
[15:04] <Strangerke|work> one big dxr file for example
[15:05] <rootfather> aaah and then read the first 5000 bytes and hash them?
[15:05] <rootfather> I always thought that the detection only works with the "first" executable file of a game
[15:05] <rootfather> so that the detection is only possible for the file that actually "launches" the engine
[15:05] <_sev> no, it works on as many files as you want
[15:06] <rootfather> I found a .dxr with different first 5000 bytes for both languages
[15:07] <rootfather> but it is in a subdirectory
[15:07] <-- salty-horse left irc: Ping timeout: 244 seconds
[15:07] <rootfather> "\MVM\DATA\BOOK\PAGES.DXR
[15:08] <_sev> no, the closer to the top, the better
[15:08] <rootfather> then we're lost for this game
[15:08] <rootfather> only difference is the intro file
[15:08] <_sev> omg
[15:08] <_sev> again
[15:09] <_sev> you take some file unique fot this _game
[15:09] <_sev> _game_
[15:09] <_sev> it will be the same in both localizations
[15:09] <_sev> you add that one, with 5000 bytes of md5
[15:09] <_sev> next, for English one you add .exe file _without_ md5, but with the file length
[15:09] <_sev> do the same for German
[15:10] <_sev> so the games will be detected when your file of choice is present _and_ .exe is of the correct length
[15:10] <_sev> you may even leave md5 there
[15:10] <rootfather> I think I get it
[15:11] --> uruk-hai joined #scummvm.
[15:11] #scummvm: mode change '+o uruk-hai' by ChanServ!ChanServ@services.
[15:11] <rootfather> so basically the detection of the *game* is based on the *game specific* file and the detector detects the language based on the different file sizes of the German and the English .exe?
[15:11] <rootfather> sorry for acting stupid today
[15:11] <rootfather> :D
[15:12] <_sev> yes
[15:12] <rootfather> and the game specific file must be in the top folder of the game?
[15:12] <rootfather> based on "the closer to the top, the better"
[15:13] <rootfather> the problem is that the only "game specific" file in the root folder is called "CHECK.DXR" that does nothing but checking if the system has enough resources and some directx crap installed, so I don't know if it is used in other games too
[15:14] <_sev> preferably in the top
[15:15] <_sev> if not on the top, then you have to add depth to adbvencedDetector
[15:15] <_sev> which means it will always look through those levels
[15:15] <_sev> and compute md5s for all files
[15:16] <rootfather> sounds like a time consuming idea
[15:16] <rootfather> assuming the director stub is pretty big, wouldn't it make sense to increase the number of bytes using for detection to 1.500.000?
[15:17] --> salty-horse joined #scummvm.
[15:17] #scummvm: mode change '+o salty-horse' by ChanServ!ChanServ@services.
[15:19] --> girafe joined #scummvm.
[15:36] <-- TMM left irc: Quit: Ex-Chat
[16:07] --> t0by joined #scummvm.
[16:07] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services.
[16:10] --> WinterGrascph_ joined #scummvm.
[16:13] <-- WinterGrascph left irc: Ping timeout: 260 seconds
[16:18] <-- Strangerke left irc: Ping timeout: 264 seconds
[16:21] <-- ajax16384 left irc: Read error: Connection reset by peer
[16:54] <-- jamm left irc: Read error: Connection reset by peer
[16:55] --> jamm joined #scummvm.
[17:10] <-- LePhilousophe left irc: Ping timeout: 244 seconds
[17:25] --> ajax16384 joined #scummvm.
[17:25] #scummvm: mode change '+o ajax16384' by ChanServ!ChanServ@services.
[17:32] --> SylvainTV joined #scummvm.
[17:32] #scummvm: mode change '+o SylvainTV' by ChanServ!ChanServ@services.
[17:47] --> WooShell joined #scummvm.
[17:47] <WooShell> meow =^.^=
[17:56] <_sev> woo!
[18:11] <Strangerke|work> damn, now each time I read 'meow' I have the video of Cyriak in mind
[18:11] <Strangerke|work> grml :/
[18:12] --> snover joined #scummvm.
[18:12] #scummvm: mode change '+o snover' by ChanServ!ChanServ@services.
[18:14] <-- Strangerke|work left irc: Quit: Bbl
[18:49] --> _sev_ joined #scummvm.
[18:49] #scummvm: mode change '+o _sev_' by ChanServ!ChanServ@services.
[18:49] <-- _sev left irc: Read error: Connection reset by peer
[18:50] Nick change: _sev_ -> _sev
[18:55] --> WinterGrascph__ joined #scummvm.
[18:56] <-- WinterGrascph_ left irc: Ping timeout: 264 seconds
[19:02] --> ced117 joined #scummvm.
[19:03] <-- t0by left irc: Quit: Bye!
[19:09] --> blorente joined #scummvm.
[19:10] #scummvm: mode change '+v blorente' by ChanServ!ChanServ@services.
[19:10] <blorente> Evening :)
[19:10] <snover> hello
[19:14] <_sev> hi
[19:15] <uruk-hai> hai
[19:15] <uruk-hai> or uruk
[19:15] <uruk-hai> :P
[19:16] <-- jamm left irc: Read error: Connection reset by peer
[19:16] --> jammm joined #scummvm.
[19:16] <blorente> hay uruks
[19:16] <blorente> (hay = "there are" in spanish)
[19:17] <-- jammm left irc: Read error: Connection reset by peer
[19:17] --> jammm joined #scummvm.
[19:19] <uruk-hai> :)
[19:20] <rootfather> https://www.youtube.com/watch?v=u8GwVLgOkck
[19:21] <uruk-hai> how is move-macgui going blorente ?
[19:21] <-- jammm left irc: Read error: Connection reset by peer
[19:22] <uruk-hai> rootfather, 5/7
[19:22] <blorente> Well, I broke the repo yesterday, but I think I managed to fix it. Now I'm still wrapping my head around where to use the nine-patch
[19:23] <blorente> however, you can take a live look here: https://trello.com/b/UOfhgSHj/gsoc16
[19:23] <uruk-hai> cool, bookmarked :) i remember i saw this on your blog back then, i just forgot to save it
[19:24] <uruk-hai> maybe you could put up a link to this trello board on your blog
[19:24] <uruk-hai> i mean a permanent one, just a suggestion though ;)
[19:26] --> ChrisKeys joined #scummvm.
[19:27] <blorente> That's a good idea, I'll add it to the trello (so meta)
[19:28] <-- iskrich_ left irc: Ping timeout: 250 seconds
[19:28] <uruk-hai> haha, nice :D
[19:28] <uruk-hai> thanks
[19:40] --> TMM joined #scummvm.
[19:46] --> jamm joined #scummvm.
[19:49] --> jammm joined #scummvm.
[19:50] <-- jamm left irc: Read error: Connection reset by peer
[19:50] --> john joined #scummvm.
[19:51] Nick change: john -> Guest81720
[19:55] <-- ny00123 left irc: Quit: Leaving
[19:56] <rootfather> g'night guys, see ya tomorrow
[20:01] --> frankyboy_ joined #scummvm.
[20:30] --> ScummBot joined #scummvm.
[20:35] --> Littleboy joined #scummvm.
[20:35] #scummvm: mode change '+o Littleboy' by ChanServ!ChanServ@services.
[20:36] <_sev> sigh
[20:36] <_sev> finally the server was fixed
[20:39] <snover> what was broken?
[20:45] <-- frankyboy_ left irc: Remote host closed the connection
[20:48] --> frankyboy_ joined #scummvm.
[20:55] <-- frankyboy_ left irc: Remote host closed the connection
[20:57] --> GitHub78 joined #scummvm.
[20:57] <GitHub78> [scummvm] csnover pushed 3 new commits to master: https://git.io/vrSxX
[20:57] <GitHub78> scummvm/master 4ee5b0f Colin Snover: SCI32: Use better name for fixed priority field...
[20:57] <GitHub78> scummvm/master 746c4e7 Colin Snover: SCI32: Fix CelObj cache...
[20:57] <GitHub78> scummvm/master 4840b88 Colin Snover: SCI32: Initialise pointers in CelObj scaler...
[20:57] GitHub78 (GitHub78@192.30.252.45) left #scummvm.
[21:02] <-- uruk-hai left irc: Read error: Connection reset by peer
[21:11] <-- Guest81720 left irc: Read error: Connection reset by peer
[21:19] <-- blorente left irc: Quit: Probably just going to sleep.
[21:28] --> t0by joined #scummvm.
[21:28] #scummvm: mode change '+v t0by' by ChanServ!ChanServ@services.
[21:32] <-- ajax16384 left irc: Read error: Connection reset by peer
[21:45] <-- echelog-1 left irc: Quit: Ctrl-C at console.
[21:49] --> Strangerke joined #scummvm.
[21:49] #scummvm: mode change '+o Strangerke' by ChanServ!ChanServ@services.
[21:52] <-- WooShell left irc: Quit: Zu gotdy od mpy nrmy stpimf. Zu drvpmf zrsmd aogy jrt iq pt viy jrt yp yjr htpimf.
[21:54] <snover> its the spring of many people disappearing for extended time periods :)
[21:54] <snover> theyll be back&
[21:56] <omer_mor> m_kiewitz: can you help me with bug #7140?
[21:57] <omer_mor> I got pretty far with my analysis, but I need some help with the rationale behind Point::sqrDist().
[21:58] --> echelog-1 joined #scummvm.
[22:00] <snover> so hey, speaking of the server, ssl is broken
[22:00] <snover> tried to go to trac and its sending invalid responses
[22:01] <m_kiewitz> omer_mor: now that's a really weird issue
[22:01] <m_kiewitz> waltervn: any idea?
[22:02] <-- echelog-1 left irc: Client Quit
[22:02] <omer_mor> It's obvious why sqrDistance is capping the distance
[22:02] <omer_mor> that's because it returns a uint
[22:02] <omer_mor> hmm wait
[22:03] <omer_mor> how large is uint?
[22:04] <omer_mor> on my machine it's 32bit
[22:04] <omer_mor> but is it the same on all platforms?
[22:04] <omer_mor> shouldn't explicit integral values be used?
[22:05] --> echelog-1 joined #scummvm.
[22:18] <waltervn> m_kiewitz: sqrDist() does seem a likely cause
[22:21] <omer_mor> I added an explaination (in the bug) for the very far end point.
[22:22] <omer_mor> tl;dr that's the how the game scripts are working - not a bug there.
[22:22] <omer_mor> So it all boils down to sqrDist.
[22:22] <snover> `configure` defines uint as the platforms integer type that is 32-bit in `config.h`
[22:22] <waltervn> yes, those 'far end points' are normal when using the keyboard
[22:24] <waltervn> but I'm trying to understand why it would even consider going right
[22:24] <omer_mor> snover: does that mean that each platform has its own uint size? If so, game logic should refrain from using such platform-specific types.
[22:25] <omer_mor> waltervn: it's simple
[22:25] <omer_mor> it tries to find the nearest point in the contained polygon
[22:25] <omer_mor> when all the points have the same distance, it will take the first one
[22:26] <omer_mor> which in this case, is to the right of the ego
[22:26] <waltervn> yeah but when using the keyboard, ego should just go left, if you press left
[22:26] <omer_mor> the bug is that they all have the same (wrong) distance
[22:26] <omer_mor> waltervn: no, ego finds a path to the imaginery end point
[22:27] <omer_mor> imaginary*
[22:27] <waltervn> it shouldn't do any real pathfinding when using the keyboard
[22:27] <waltervn> unless something is different in qfg3
[22:28] <omer_mor> and finding a path (kAvoidPath) looks for the nearest point in the polygon, for this type of polygon (3).
[22:28] <omer_mor> ego::handleEvent calls Actor::setDirection which calls AvoidPath
[22:29] <omer_mor> so yes, the scripts clearly use pathfinding when using the keyboard
[22:29] <_sev> omer_mor: ping
[22:29] <waltervn> yes, but not in the regular pathfinding mode
[22:40] <snover> interestingly i just ran into a pathfinding bug in sq6
[22:40] <snover> ego refused to walk across the path of a moving object
[22:41] <omer_mor> waltervn: why not? I don't know what is "regular" pathfinding mode, but my analysis is based on debugging the issue in runtime.
[22:42] <waltervn> because with keyboard input nothing is avoided, ego will just go straigh up/left/right/down until he hits something
[22:43] <waltervn> so it seems weird that the end point is "fixed up" in this case. That might be an oversight in my part regarding contained-access-polygons and keyboard input
[22:43] <waltervn> *on my part
[22:44] <omer_mor> is keyboard mode == optimization level 0 ?
[22:45] <waltervn> yes
[22:45] <waltervn> theoretically they could use that mode for other stuff, but I haven't seen that
[22:46] <omer_mor> It doesn't handle POLY_CONTAINED_ACCESS
[22:46] <waltervn> I haven't looked at the code yet
[22:47] <waltervn> it's possible that this end point fixing up is the implementation for opt == 0. I do clearly remember that I didn't implement this mode fully, but only what was needed for keyboard support
[22:47] <omer_mor> both start and end point fixing happens in all modes
[22:48] <waltervn> what's different with the contained access polyong is that the "way outside of the screen" end point is essentially illegal.
[22:48] <omer_mor> however, for level 0, there is a call to change_polygons_opt_0 which modifies some polygons:
[22:48] <omer_mor> "Changes the polygon list for optimization level 0 (used for keyboard
[22:48] <omer_mor> support). Totally accessible polygons are removed and near-point
[22:48] <omer_mor> accessible polygons are changed into totally accessible polygons.
[22:48] <omer_mor> Parameters: (PathfindingState *) s: The pathfinding state"
[22:48] <omer_mor> waltervn: you are correct
[22:49] <omer_mor> even "slightly outside the screen" is illegal, but fixing it up would probably work ok
[22:50] <omer_mor> since the distance calculation will be correct
[22:50] <waltervn> it's possible
[22:53] <waltervn> I'm not convinced though
[22:59] <waltervn> I think with a different sqrDist ego wouldn't walk in the wrong direction anymore, but he might still walk 'at an angle' instead of straight left, depending on the shape of the polygon
[22:59] <omer_mor> I agree
[22:59] <omer_mor> the severity of this bug would be lower
[23:00] <omer_mor> so the root cause is incomplete handling of level 0 pathfinding?
[23:02] <waltervn> that seems likely, yes. (but I haven't looked at the code yet)
[23:02] <-- echelog-1 left irc: Quit: Ctrl-C at console.
[23:03] <waltervn> I can't really explain sqrDist(). Maybe some scumm engine oldtimers have some insight in that.
[23:03] --> echelog-1 joined #scummvm.
[23:04] <-- t0by left irc: Ping timeout: 244 seconds
[23:06] <omer_mor> My guess: since sqrDist returns uint, and on some platforms uint could be 16bits, they had to cap it
[23:10] <waltervn> I doubt scummvm ever support 16-bit systems, but even if it did, this code doesn't cap it at 16-bits
[23:10] <waltervn> *supported
[23:11] <omer_mor> waltervn: you're right
[23:11] <waltervn> what also seems odd is that the 0xffffff error value is actually inside of the range of allowed return values
[23:13] <-- WinterGrascph__ left irc: Read error: Connection reset by peer
[23:14] <-- salty-horse left irc: Quit: Leaving
[23:15] <omer_mor> I see it referred here: https://github.com/scummvm/scummvm/blob/0a5a722b027303e29b486e146a580f7881ca2a2d/engines/scumm/boxes.cpp#L650
[23:23] <omer_mor> Here is the predecessor of this function: https://github.com/scummvm/scummvm/commit/92fd56f9f07a5cefc10f99cdec1e7f490ec2a7d6#diff-f2d1423b42eb1df720b9127e23918d99R381
[23:24] <omer_mor> so it used to be max value of 0x100 and max distance of 0xFFFF, and it was changed to 0x1000/0xFFFFFF respectively
[23:25] <omer_mor> "properly deal with larger box distances, thus partially fixing Zak on the airport"
[23:31] <omer_mor> And the original function goes back to the initial scummvm commit by Ludvif Strigeus: https://github.com/scummvm/scummvm/blob/c30932afbe1af874e3a2aeb95fa4ee5de4d6e38e/boxes.cpp#L123
[23:31] <omer_mor> Ludvig*
[23:32] <omer_mor> so it's a function from 2001, which had it's caps increased in 2003
[23:33] <omer_mor> that's enough archeological digging for me today. good night everyone!
[23:35] <waltervn> night
[23:43] <-- m_kiewitz left irc: Quit: technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray.
[23:51] <-- SylvainTV left irc: Read error: Connection reset by peer
[23:55] <-- girafe left irc: Read error: Connection reset by peer
[23:59] <-- Henke37 left irc: Quit: ERR_SHUTDOWN
[00:00] --- Sat May 28 2016