Switch to DuckDuckGo Search
   May 26, 2017
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31

[00:06:19] *** girafe <girafe!~girafe@LFbn-1-11729-221.w2-7.abo.wanadoo.fr> has quit IRC (Read error: Connection reset by peer)
[00:09:16] <t0by> Simei: still awake? Compiling yet?
[00:09:26] <TMM> Is it possible to open the sci debugger on the controlling tty on Linux?
[00:09:33] <TMM> rather than inside the scummvm window?
[00:14:14] <m_kiewitz> TMM: i don't think so, but I'm on windows so what do I know :P
[00:15:30] <TMM> bleh
[00:15:39] <TMM> I like being able to copy/paste :)
[00:16:06] <wjp> TMM: yes it is
[00:16:22] <wjp> ./configure --enable-text-console
[00:16:48] <wjp> debugger is pretty much unusable without that
[00:17:05] <m_kiewitz> wjp: dont tell me that also works on windows
[00:17:51] <wjp> not sure; with libreadline it might work
[00:18:09] <TMM> wjp, thank god
[00:18:41] <m_kiewitz> I always wanted to disable the animation of the debug window, because that slows me down like crazy
[00:18:48] <Simei> t0by: yes, still awake. Still stubbing. I'll put the github link here when it's good
[00:18:48] <wjp> that oFlags::clear() function makes no sense
[00:19:04] <t0by> Aaaah
[00:19:06] <t0by> now it clicked
[00:19:25] <t0by> Simei: sorry, but you *have* fixed the compilation issues, haven't you?
[00:19:30] <t0by> Have you committed and pushed that?
[00:21:09] <Simei> _sev, t0by: with all GLee.h remove, I get variable types like GLubyte, GLuint exposed
[00:21:31] <_sev> yes, and those do not belong to ScummVM in any case
[00:22:10] <wjp> m_kiewitz: if you want we can have a look at getting this to work for windows some time. (Maybe for the msys terminal if not for the standard windows console window)
[00:22:10] * t0by squints
[00:22:17] <t0by> I'm sorry, "exposed" how?
[00:22:20] <Simei> _sev, t0by: So I put all the lines concerning these variables into #if 0 #endif ?
[00:22:29] <_sev> Simei: yes
[00:22:41] <m_kiewitz> wjp: that would be very helpful. well if at least that debug window animation could be turned off for single stepping alone
[00:23:14] <Simei> t0by: Because I didn't pay attention to the illegal headers
[00:23:17] <TMM> wjp, it should at least already work for cygwin builds I imagine
[00:23:18] <m_kiewitz> what i also never understood why we print out some stuff in the additional window and other stuff inside the GUI debug window
[00:23:25] * t0by double squints
[00:23:31] <wjp> m_kiewitz: personally I don't really see the point in improving the our internal debugger window too much, because it'll never be as useful as an external one
[00:23:36] <Simei> I just fix the reference compiling errors with them
[00:23:49] <wjp> TMM: cygwin? *shudder*
[00:23:51] <m_kiewitz> for example object state, wouldn't it be useful to get this out in both windows?
[00:24:15] <TMM> wjp, for debugging? who cares :P
[00:24:31] <m_kiewitz> yeah well, if the single stepping worked inside the text window, I wouldn't care about the graphical animation anymore
[00:24:32] <t0by> Simei, _sev: the plan is still that Simei is gonna make it compile by stupidliy ifdef'ing all GL- and SDL-specific stuff, commit, share for review and *then* move on, right?
[00:24:42] <wjp> m_kiewitz: I have no idea what happens with debugging output currently, since I never use the internal debugger window
[00:24:46] <t0by> Also, what do we mean by "stubbing", here?
[00:24:51] <_sev> t0by: yes
[00:24:54] <Simei> I only dealt with gl function then. With headers removed now, there are also varaibles to be removed
[00:25:04] <Simei> yes, i think so
[00:25:05] <wjp> m_kiewitz: for me everything appears in the external terminal, so I have no idea what is shown where otherwise
[00:25:09] <t0by> I call "stubbing" writing a "dumb" implementation of an interface or taking an existing implementation and ripping its effectful part out.
[00:25:12] <m_kiewitz> wjp: ah i see, well it's a mess. Some gets on the text window, some on the internal one, some on both
[00:25:15] <Simei> stubbed*
[00:25:26] <_sev> body #endif
[00:25:34] <m_kiewitz> and it's of course a nightmare when you want to copy things out.
[00:25:38] <_sev> grrr
[00:25:43] <t0by> s/ripping/ifdef'ing/
[00:25:51] <wjp> m_kiewitz: which build system and/or environment do you use?
[00:26:11] <_sev> t0by: warning("function FOO was called");  #if 0 // real function body ... #endif
[00:26:18] <t0by> Yes.
[00:26:45] <m_kiewitz> wjp: visual c++, windows xp / 7
[00:26:50] <t0by> _sev: Simei should be doing that *only as much as needed* to make it compile thoyugh, right? (That probably means all the GL stuff and the like, no?)
[00:27:03] <_sev> yes
[00:27:04] <t0by> i.e. should not start stubbing out stuff at random?
[00:27:24] <_sev> because then it will help with gradually fixing it and watching the regressions
[00:27:50] <t0by> It shouldn't be an awful lot of stuff, should it?
[00:29:18] <_sev> normally not
[00:29:36] <_sev> you come down to the low level functions, and that is where it goes
[00:30:01] <_sev> Simei: and if you have too many things, just comment out those files from module.mk, so you could continue later
[00:31:27] <Simei> _sev: Ok, I see, it should be more effective with files like graphics
[00:31:52] <t0by> Well, you start pruning the tree at the top, so to speak.
[00:32:37] <t0by> Simei: I'm sorry, if you have a second could you please commit on a throwaway branch and share your current status? I'd please like to have a look at one thing.
[00:33:28] <Simei> Ok, I'll do it
[00:37:05] <Simei> https://github.com/yinsimei/scummvm/tree/throw_out_branch
[00:37:24] <Simei> t0by: still half way, not compiled at all
[00:37:32] <t0by> yeah yeah
[00:40:02] <t0by> https://github.com/yinsimei/scummvm/commit/dc01698ef929bf80fdd6b9dd6ef1bc160051a369#diff-a8c529ab73ecb310b0d371361cf578e0R64
[00:40:10] <t0by> _sev: is this too fine grained?
[00:40:41] *** dreammaster <dreammaster!~dreammast@c-73-149-116-247.hsd1.ma.comcast.net> has joined #scummvm
[00:40:57] <t0by> I would be tempted to stub out the whole body on that low level stuff
[00:40:59] *** ChanServ sets mode: +o dreammaster
[00:43:30] *** dreammaster <dreammaster!~dreammast@c-73-149-116-247.hsd1.ma.comcast.net> has quit IRC (Client Quit)
[00:43:40] <t0by> In fact, being an axe-welding caveman, I would probably be tempted to comment out stuff like *openal.cpp and *sdl.cpp from modules.mk altogether and stub them out from the client code that calls them.
[00:44:06] *** dreammaster <dreammaster!~dreammast@c-73-149-116-247.hsd1.vt.comcast.net> has joined #scummvm
[00:44:06] *** ChanServ sets mode: +o dreammaster
[00:46:28] <t0by> Simei: my *very personal* opinion is that if we are trying to make it *compile* you shouldn't probably be cherry-picking lines inside stuff like *openal.cpp
[00:46:38] <t0by> As _sev said a few lines above, warning("function FOO was called");  #if 0 // real function body ... #endif
[00:46:41] <t0by> But check with him
[00:47:04] <t0by> I think something quicker and dirtier is in order.
[00:47:15] <Simei> ok, so there are like "low fuctions"
[00:47:22] <Simei> we don't care
[00:48:26] <t0by> sound_openal.cpp seems like an OpenAL-specific implementation of an interface, so low-level by definition, but my point is that... we are just trying to make it compile, not to make actual sense.
[00:48:36] <t0by> We want it to compile, not compile-and-not-crash-horribly
[00:49:12] <Simei> Ok, I understand
[00:49:16] <t0by> That's how I interpret it, at least.
[00:49:32] <t0by> _sev, agree?
[00:50:08] <Simei> _sev, t0by: what about the ALL_ALLOW or not thing
[00:50:25] <t0by> What's with ALL_ALLOW?
[00:50:56] <Simei> _sev, t0by: this time, we allow things like fopen or not?
[00:52:23] <t0by> Uh, I think we decided to put those inside an ifdef as well?
[00:52:25] <Simei> You were talking about it. I tried to read a bit the history, but what's the conclusion?
[00:52:37] <Simei> Ok, I get it
[00:52:43] <t0by> Yes, I'm not super sure myself.
[00:53:21] <t0by> Simei: just in case put those inside #ifdef ALLOW_FOPEN or something like that
[00:53:25] <t0by> instead of #ifdef 0
[00:53:56] <t0by> (same effect until you actually define an ALLOW_FOPEN)
[00:54:04] <Simei> Ok, that seems reasonable
[00:54:41] <t0by> But don't overthink it.
[00:55:02] <t0by> do this quick & dirty, let's have a compiling commit, then let's have some actual fun.
[00:55:55] <t0by> remember that as _sev said you can actually comment out whole modules from modules.mk and stub out the calls in the client code.
[00:56:51] <t0by> (10 bucks says that if you do this with enough modules you'll be left with just the interpreter and builtins.cpp with everything stubbed, since basically that's the entry point for everything)
[00:57:42] *** tsoliman <tsoliman!~tsoliman@cpe-65-30-8-1.wi.res.rr.com> has quit IRC (Ping timeout: 268 seconds)
[01:03:47] *** waltervn <waltervn!~waltervn@541B2DBA.cm-5-4a.dynamic.ziggo.nl> has quit IRC (Quit: Leaving)
[01:04:51] <Simei> Yes, that makes sense
[01:09:15] *** Strangerke_ <Strangerke_!~Strangerk@cable-> has joined #scummvm
[01:11:38] *** Strangerke <Strangerke!~Strangerk@cable-> has quit IRC (Ping timeout: 245 seconds)
[01:11:38] *** Strangerke_ is now known as Strangerke
[01:19:14] *** tsoliman <tsoliman!~tsoliman@cpe-65-30-8-1.wi.res.rr.com> has joined #scummvm
[01:19:14] *** ChanServ sets mode: +o tsoliman
[01:25:18] <snover> TMM: did you fix it yet? ;)
[01:25:48] *** m_kiewitz <m_kiewitz!~m_kiewitz@scummvm/undead/m-kiewitz> has quit IRC (Quit: technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray.)
[01:26:53] <t0by> I'm crawling to bed
[01:26:55] <t0by> nite
[01:38:21] <TMM> snover, I attempted to go to sleep
[01:38:30] <TMM> snover, I seem to have failed, so maybe I'll look at it some more now :P
[01:38:31] <snover> then what happened?
[01:38:35] <t0by> So did I
[01:38:42] <t0by> I think we have broken PM
[01:38:55] <t0by> TMM: what firmware are you running?
[01:39:19] <TMM> t0by, some beta I got off of usenet a couple years ago
[01:39:27] <t0by> Oh, that must be it then.
[01:40:12] <TMM> It was SUPPOSED to have all the latest features
[01:40:29] <TMM> but it turned out there was no upgrade path to the final release and I can't seem to downgrade
[01:40:59] <TMM> I've been in a GPL dispute with the intelligent designer ;)
[01:43:14] *** exmensa_ <exmensa_!~exmensa@> has quit IRC ()
[01:44:27] <t0by> Let me try once more
[01:44:45] <TMM> I'm applying the 'do something else for a while' workaround
[01:44:54] <t0by> Good luck
[01:45:56] <t0by> I'll try the all-powerful incantation:
[01:46:02] <t0by> yo, nite folks
[01:46:09] *** t0by <t0by!~t0by@unaffiliated/t0by> has quit IRC (Quit: t0by)
[01:47:45] *** exmensa <exmensa!exmensa@> has joined #scummvm
[01:58:37] *** Stormkpr <Stormkpr!~kvirc@> has joined #scummvm
[01:59:22] *** Stormkeeper <Stormkeeper!~kvirc@> has quit IRC (Ping timeout: 268 seconds)
[02:00:37] <TMM> snover, do you have some information on the sci opcodes and stuff? Is it on the scummvm wiki somewhere?
[02:00:51] <snover> yessir! someone very nice wrote this http://wiki.scummvm.org/index.php/SCI/Specifications/SCI_virtual_machine/The_Sierra_PMachine
[02:02:10] <TMM> was it you?
[02:02:58] <snover> nope, i’m very terrible
[02:03:44] <TMM> hmm, that all looks relatively straightforward
[02:08:48] <TMM> snover, hmm, I did a 'dissect_script' but I get an error: Obj type #61c, size 0x0: Unsupported!
[02:10:30] <snover> TMM: i don’t think that works on sci1.1 or later
[02:10:51] <snover> try `disasm` instead
[02:11:05] <snover> `disasm oFlags clear bc` or something
[02:13:02] <TMM> can I disassemble the 'current script'?
[02:13:08] <TMM> I know nothing about what is going on now
[02:14:13] <TMM> I'd like to press the 'bet' button and go into single step mode then
[02:14:17] <TMM> for starters
[02:14:28] <TMM> see if I can figure out what variables it's even looking at
[02:14:57] <TMM> I listed the 'temp variables' but that seems to not be it, at least not in this context
[02:18:11] <snover> ok
[02:18:16] <snover> sorry, i’m paying attention now
[02:20:15] <snover> so there are a few approaches
[02:20:59] <snover> usually when i am looking for something that is visual, i will run `pl` to get the plane list and then `pi <plane object id>` until i find what looks like the correct view object
[02:21:59] <snover> then run `vo <screen item id>` to see what the corresponding VM object for that screen item looks like
[02:22:06] <snover> that will also say which script owns the object
[02:23:12] <snover> and it will say what methods exist, if any. usually there will be one like `handleEvent`
[02:24:07] <snover> so if you want to breakpoint on that then you would `bpx oBetButton::handleEvent` (or whatever the bet button is named)
[02:25:28] <snover> however, it looks like i made some commits but didn’t push them yesterday, so one second while i fix your object names which right now are probably looking gibberish
[02:26:41] *** GitHub45 <GitHub45!~GitHub45@> has joined #scummvm
[02:26:41] <GitHub45> [scummvm] csnover pushed 1 new commit to master: https://git.io/vHGqE
[02:26:41] <GitHub45> scummvm/master d0040dc Colin Snover: SCI32: Fix SCI3 object names > 0xFFFF
[02:26:41] *** GitHub45 <GitHub45!~GitHub45@> has left #scummvm
[02:27:19] <TMM> sweet
[02:27:26] <TMM> and, they do
[02:28:25] <TMM> snover, is there a way to see all active script contexts?
[02:28:48] <snover> `segment_table` will show you an overview of everything that is loaded
[02:29:15] <TMM> ok, I think the first thing I want to do is figure out where the dice are in memory
[02:29:32] <TMM> they aren't global :) but that's all I know now
[02:30:05] <snover> i would assume their values are locals inside whatever script controls the game
[02:30:12] <snover> global 2 references the current room object
[02:30:26] <snover> global 1 is the main game object
[02:30:32] <snover> global 0 is ego
[02:33:15] <TMM> yeah, I'm trying to determine how to dump variables for a script that's not current
[02:34:59] <snover> if you know the script, you might try looking at it in SV
[02:36:12] <TMM> sv?
[02:36:16] <snover> sci viewer
[02:36:30] <snover> if you don’t have, it i can just gist the output of a script for you
[02:36:40] <snover> sigh. commas how, do they wo,rk
[02:37:58] <TMM> Do you have a link to that tool?
[02:39:38] <snover> http://sci.sierrahelp.com/Files/ResourceTools/SCIViewer(CLI).zip
[02:40:12] <snover> it’s not perfect, sometimes it can’t deal with scripts that scummvm can, but 511 (roLiarsRoom) seems to be OK
[02:40:42] <TMM> 403 :-/
[02:41:18] <TMM> found it, it just didn't like wget
[02:47:46] <TMM> haha AIBabe::
[02:50:00] *** Huerbine <Huerbine!~Markus@ipbcc06af5.dynamic.kabel-deutschland.de> has joined #scummvm
[02:50:48] *** Huerbine <Huerbine!~Markus@ipbcc06af5.dynamic.kabel-deutschland.de> has quit IRC (Client Quit)
[02:53:19] *** WooShell <WooShell!~Markus@ipbcc06af5.dynamic.kabel-deutschland.de> has quit IRC (Ping timeout: 255 seconds)
[02:58:10] <TMM> snover, I managed to play some liar's dice with just using send from the debugger, that's progress
[02:58:57] <snover> send magicfix enable 1
[02:59:26] <TMM> awww
[03:02:59] <TMM> yeah, so the value keeping of the dies and everything works just fine, it appears that accessing the nValue field of the dies isn't, judging by what's going on
[03:20:00] *** omer_mor_ <omer_mor_!~Omer@46-117-132-33.bb.netvision.net.il> has joined #scummvm
[03:21:30] *** omer_mor <omer_mor!~Omer@46-117-132-33.bb.netvision.net.il> has quit IRC (Ping timeout: 240 seconds)
[03:24:36] <TMM> snover, bp_method Object:: doesn't appear to be working
[03:24:52] <TMM> snover, according to the in-debugger help any method on the object should trigger a bp, but nothing happens
[03:25:12] <TMM> snover, I verified by setting a breakpoint on Die::rollDie and that works, but a bp_method on Die:: does nothing
[03:27:45] <snover> TMM: does it work anywhere? scriptdebug.cpp:688 comparison of the name looks fishy
[03:30:53] <snover> (by “anywhere” i mean like, some sci16 game that would have conceivably already been known to work)
[03:31:06] <TMM> snover, I don't know, I've never tried this before
[03:32:07] <TMM> I may not need it, it was just a lazy thing, but it still shouldn't be broken
[03:32:35] <TMM> I wanted to just let scummvm find the entrypoint for a turn for me, but I think I found it by just reading the disassembly
[03:34:25] <TMM> Hey... The AIBabe::Bluff() method looks at larry's dice
[03:34:33] <TMM> no wonder she's so fucking hard to beat, she cheats
[03:45:40] <snover> :)
[03:46:31] *** DominusExult <DominusExult!~dominus@unaffiliated/dominus> has joined #scummvm
[03:47:02] <TMM> still haven't found the code that determines who won a round :-/
[03:47:48] *** Dominus <Dominus!~dominus@unaffiliated/dominus> has quit IRC (Ping timeout: 260 seconds)
[03:47:48] *** DominusExult is now known as Dominus
[03:48:35] <snover> search for a caller of soLarryLoses
[03:50:45] <TMM> given that she also can't see her own dice, I'm assuming that where things go wrong is AIBabe::countDice() it seems to loop over her list of dice oBabeDice and then over oLarryDice and updates some temp values
[03:51:31] <TMM> it's also the only code that seems to do that
[03:52:01] <snover> iirc temps are function-scope variables so i hope they go somewhere else
[03:52:48] <TMM> yeah so soChallenge::changeState eventually calls soLarryLoses
[03:52:53] <TMM> but it also calls countDice
[03:53:26] <TMM> countDice() can normally only see dice that are 'showing' but all dice are showing when a determination is made
[03:54:18] <TMM> seems like an... interesting approach to code reuse
[03:56:53] <TMM> uch, I'm going to attempt sleep again.
[03:57:08] <TMM> at least I learned... something?
[04:07:56] *** DJW|Badger <DJW|Badger!~djwillis@cpc2-trow6-2-0-cust204.aztw.cable.virginm.net> has quit IRC (Read error: Connection reset by peer)
[04:27:44] *** GitHub146 <GitHub146!~GitHub146@> has joined #scummvm
[04:27:44] <GitHub146> [scummvm] dreammaster pushed 1 new commit to master: https://git.io/vHGZk
[04:27:44] <GitHub146> scummvm/master 78f69e1 Paul Gilbert: TITANIC: Fix calculating orientation transition matrixes
[04:27:44] *** GitHub146 <GitHub146!~GitHub146@> has left #scummvm
[04:46:14] *** Mia <Mia!~Mia@unaffiliated/mia> has quit IRC (Read error: Connection reset by peer)
[05:02:47] *** dreammaster <dreammaster!~dreammast@c-73-149-116-247.hsd1.vt.comcast.net> has quit IRC ()
[05:29:05] <Simei> Morning, everyone! :)
[05:29:29] <Simei> _sev, t0by: https://github.com/yinsimei/scummvm/commits/newWIP1-1
[05:29:40] <Simei> _sev, t0by: It compiles now.
[05:42:54] *** Strangerke_ <Strangerke_!~Strangerk@cable-> has joined #scummvm
[05:45:14] *** Strangerke <Strangerke!~Strangerk@cable-> has quit IRC (Ping timeout: 246 seconds)
[05:45:14] *** Strangerke_ is now known as Strangerke
[06:50:02] <snover> TMM: sigh. so that breakpoint execute code was “cleaned up” back in 2011 and broken. i will fix it soon.
[07:03:12] <_sev> Simei: nice, it compiles over there. From now on, though, try to make atomic commits
[07:27:17] *** Lightkey <Lightkey!~Darklock@p200300764C7B170422CF30FFFE083718.dip0.t-ipconnect.de> has quit IRC (Ping timeout: 255 seconds)
[07:58:48] *** Lightkey <Lightkey!~Darklock@p200300764C7B178622CF30FFFE083718.dip0.t-ipconnect.de> has joined #scummvm
[08:05:23] <Simei> _sev: Ok, I'll do so.
[09:04:45] *** LittleToonCat <LittleToonCat!~littlecat@> has quit IRC (Remote host closed the connection)
[09:15:35] *** m_kiewitz <m_kiewitz!~m_kiewitz@x4d03f2ec.dyn.telefonica.de> has joined #scummvm
[09:15:35] *** m_kiewitz <m_kiewitz!~m_kiewitz@x4d03f2ec.dyn.telefonica.de> has quit IRC (Changing host)
[09:15:35] *** m_kiewitz <m_kiewitz!~m_kiewitz@scummvm/undead/m-kiewitz> has joined #scummvm
[09:15:35] *** ChanServ sets mode: +o m_kiewitz

   May 26, 2017
< | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31