#exult@irc.freenode.net logs for 27 Oct 2012 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[04:33:08] --> Dominus has joined #exult
[04:33:09] --- ChanServ gives channel operator status to Dominus
[04:33:13] <-- Dominus1 has left IRC (Read error: Connection reset by peer)
[10:34:53] <Dominus> oh that bug is funny http://vogons.zetafleet.com/viewtopic.php?p=283313#283313
[10:36:01] <Dominus> the line of the slider is not stopped by the end of the slider but will extend to the left and right
[10:38:20] <Dominus> so clicking anywhere on the screen as long as it is on the extension of the slider line will min/max the amount in the slider
[10:39:10] <Dominus> you really have to be careful to hit the ok check or you might minimize the amount,,,
[10:43:26] <wjp> is that the right link?
[10:43:35] <Dominus> he he, no
[10:43:44] <Dominus> https://sourceforge.net/tracker/?func=detail&aid=2801339&group_id=2335&atid=102335
[10:43:55] <Dominus> sorry :)
[10:44:23] <Dominus> but no savegame needed, you just need a stack and move it and you can see that behavior
[11:04:05] <Dominus> curiosly, there is a block 'mouse was dragged with left button' - can't seem to do anything there with left button
[12:16:07] <-- Dominus has left IRC (Read error: Connection reset by peer)
[12:17:20] --> Dominus has joined #exult
[12:17:20] --- ChanServ gives channel operator status to Dominus
[13:03:12] <-- Kirben has left IRC (Ping timeout: 260 seconds)
[14:18:37] <Dominus> wjp, what do you think of this little patch for the slider gump issue? http://pastebin.com/9SVe6fBq
[14:20:07] <Dominus> I wasn't sure if there is something like >= to define so the cursor can be on exact xmin or xmax. I tried but couldn't really hit it.
[14:21:46] <Dominus> with the patch it is working as long as you don't try to hit min or max
[14:32:40] <Dominus> hmm a +1 seems to work
[14:33:54] <Dominus> http://pastebin.com/f818e2zU
[14:49:36] <wjp> <= and >= exist
[14:52:13] <Dominus> hmm, now it clicked with <= >=
[14:52:32] <Dominus> so does if (((mx-get_x())>=xmin) && ((mx-get_x())<=xmax)) seem ok to you?
[14:54:02] <wjp> hm
[14:54:13] <wjp> might make more sense to make it do the same as the vertical range check the line above?
[14:54:55] <wjp> I mean, return if it fails
[14:57:04] <Dominus> hmm, the way I did it now, makes the following ifs obsolete... I wonder if Tristan made this on purpose
[15:00:03] <wjp> well, it was probably just copied from mouse_drag
[15:00:55] <Dominus> I can't seem to do it similar to the vertical check
[15:01:56] <wjp> if (mx-get_x() < xmin || mx-get_x() > xmax) return true;, I think?
[15:04:29] <Dominus> doesn't move the diamond when you click somewhere on the slider
[15:07:33] <wjp> oh?
[15:07:36] <Dominus> ah no you are right
[15:07:41] <wjp> phew :-)
[15:08:20] <Dominus> I had commented the diamondx=get_x because it 'belonged' to my previous if :)
[15:08:50] <wjp> ah :-)
[15:10:10] <Dominus> ok then, it works, good to go, I think
[15:11:36] <wjp> are you also removing the two now obsolete ifs you mentioned?
[15:11:42] <Dominus> yes
[15:11:48] <sh4rm4> hmm i wonder, how can one miss the ok button ?
[15:12:04] <sh4rm4> is it only one pixel ?
[15:12:24] <wjp> it has a tick/check shape'
[15:14:37] <sh4rm4> mhm, maybe its easy to miss it with a crappy touchpad
[15:15:00] <Dominus> and low resoultion exult on high resolution desktop
[15:18:00] <Dominus> grrr... i svn down again?
[15:18:53] <wjp> updating at least seems to work here
[15:19:36] <wjp> great work on going through the bug tracker, by the way
[15:20:21] <Dominus> anything to *NOT* play through BG to confirm that the disappearing objects bug has been fixed
[15:20:25] <Dominus> :)
[15:24:49] <Dominus> he he, I wonder how it feels to suddenly get spammed by SF mails alerting you to responses to our bug tracker :)
[15:26:29] <Dominus> hmm, I think we used to handle non-existing scaler better before colourless fixed the whole display. Probably got lost in his huge change. Need to investigate this next :)
[15:31:56] <wjp> hm, looks like a minor oversight
[15:46:58] <sh4rm4> Dominus, as for https://sourceforge.net/tracker/?func=detail&atid=102335&aid=3433743&group_id=2335 , could you add a link to the bug report you're referring to ?
[15:47:13] <sh4rm4> i was unable to substiture the bug id in the url to find it
[15:47:22] <sh4rm4> and i can't post there apparently
[15:50:22] <wjp> it's aid you have to replace
[15:51:25] <sh4rm4> ah thanks
[15:51:54] <sh4rm4> shouldn't have removed the atid when i tried it last time
[16:03:53] <sh4rm4> <sh4rm4> hi, autoconf seems to set "-O2 -g" as default when no CFLAGS/CXXFLAGS where passed to configure manually
[16:03:54] <sh4rm4> <sh4rm4> how can that be disabled ?
[16:03:54] <sh4rm4> <GeneralCase> It's a sane default in any case
[16:03:54] <sh4rm4> <sh4rm4> not here https://sourceforge.net/tracker/?func=detail&aid=3487217&group_id=2335&atid=102335
[16:03:54] <sh4rm4> <GeneralCase> you could use AM_C(XX)FLAGS = -g0 in Makefile.am
[16:03:57] <sh4rm4> <GeneralCase> in configure.ac, let's see,
[16:03:59] <sh4rm4> <GeneralCase> if test -z "$CFLAGS"; then CFLAGS="-O2"; fi; after AC_INIT
[16:04:01] <sh4rm4> <GeneralCase> after AC_PROG_CC is also ok
[16:05:18] <sh4rm4> <sh4rm4> does that also affect CXXFLAGS ?
[16:05:19] <sh4rm4> <GeneralCase> so if it's just for one target, the Makefile.am method is more directed
[16:05:20] <sh4rm4> <GeneralCase> if test -z "$CXXFLAGS"; then CXXFLAGS="-O2"; fi;
[16:07:44] <wjp> sh4rm4: I'm not sure what your point is with all this?
[16:07:59] <wjp> I mean, it's not like we don't know these things :-)
[16:08:19] <sh4rm4> having -g off by default is crucial
[16:08:21] <wjp> if you want to submit a patch yourself, that's fine of course, but there's no need to tell us how
[16:08:41] <sh4rm4> almost everyone will just run ./configure and get into trouble
[16:08:53] <wjp> you made that point several times already; repeating it won't help :-)
[16:09:14] <sh4rm4> well last time you didn't know how to disable it
[16:09:15] <wjp> and I still disagree turning -g off is a good idea
[16:09:19] <wjp> no, for a single file
[16:09:26] <sh4rm4> for non-debug builds ?
[16:09:38] <wjp> turning it off for the entire project or a single target is trivial
[16:09:51] <wjp> for a single file seems to require convenience library hackery
[16:10:10] <wjp> (entirely possible of course)
[16:10:27] <sh4rm4> yeah, that's why i'm heavily leaning towards disabling the default -g entirely
[16:10:50] <wjp> and I'm not :-)
[16:11:05] <sh4rm4> the average user is unlikely to ever need debug info
[16:11:13] <sh4rm4> and if he does, he will --enable-debug
[16:12:24] <wjp> we would quite like default builds to have debugging info
[16:12:31] <wjp> there's a reason it's the default
[16:13:02] <sh4rm4> yeah, because autoconf guys think it is a "sane default"
[16:13:09] <wjp> and it is
[16:13:22] <wjp> note that "the average user" probably won't even be building it from source
[16:13:25] <sh4rm4> but they hadn't thought about code like hq4x.h
[16:13:47] <wjp> yes, so turn it off just for those
[16:19:33] <sh4rm4> to achieve it, we'd had to move the hq scalers into a seperate dir
[16:19:48] <sh4rm4> and use a Makefile.am that appends -g0 to CXXFLAGS
[16:20:08] <sh4rm4> which should override the previously passed -g
[16:20:30] <wjp> nah, just add them to a separate lib in the same dir
[16:20:46] <wjp> and then use target-specific CXXFLAGS for that
[16:22:02] <wjp> hm, how gcc-specific is -g0?
[16:23:09] <wjp> this is the relevant section in the automake docs: http://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html
[16:30:22] <sh4rm4> hmm that does not allow +=
[16:30:31] <sh4rm4> i.e. you cannot append, only override
[16:31:42] <wjp> ?
[16:32:32] <sh4rm4> you cannot use obj_CXXFLAGS += -g0
[16:32:44] <sh4rm4> only obj_CXXFLAGS = -O2
[16:35:01] <wjp> the default is $(AM_CXXFLAGS), if I remember correctly
[16:35:35] <wjp> so ... = $(AM_CXXFLAGS) -g0 could work
[16:36:19] <wjp> or maybe also CXXFLAGS. Hm, memory is a bit fuzzy
[16:36:57] <sh4rm4> CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
[16:36:57] <sh4rm4> $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
[16:37:16] <sh4rm4> when i set obj_CXXFLAGS, that one will become $(AM_CXXFLAGS)
[16:37:28] <sh4rm4> and $(CXXFLAGS) still added
[16:37:49] <sh4rm4> for example, if i set obj_CXXFLAGS to -O0, the result will be:
[16:38:02] <sh4rm4> gcc -O0 -O2 -g
[16:40:00] <wjp> oh, our configure sets CXXFLAGS. That's not so good
[16:41:22] <sh4rm4> libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I./../headers -I./.. -I./../files -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DXWIN -I./../conf -I../conf -O2 -Wno-long-long -O0 -g -O2 -MT libhqscaler_la-scale_hq2x.lo -MD -MP -MF .deps/libhqscaler_la-scale_hq2x.Tpo -c scale_hq2x.cc -o libhqscaler_la-scale_hq2x.o
[16:41:29] <wjp> CXXFLAGS is supposed to be the user-configurable bit during make
[16:41:59] <wjp> I guess our configure.ac needs some work...
[17:18:13] * Dominus volunteers sh4rm4 to fix that :)
[17:18:21] * Dominus likes to volunteer others
[17:19:12] <sh4rm4> the easy fix is if test -z "$CXXFLAGS"; then CXXFLAGS="-O2"; fi;
[17:19:16] <sh4rm4> after after AC_INIT
[17:20:02] <sh4rm4> the other one needs in-depth knowledge about automake / autoconf because of the AM_CXXFLAGS vs CXXFLAGS issue
[17:21:06] <sh4rm4> however the easy fix would be worthless if --enable-debug is used
[17:24:38] <sh4rm4> DEBUG_FLAGS="-ggdb3"
[17:24:45] <sh4rm4> ^ this one is entirely pointless
[17:24:55] <Dominus> --enable-debug is probably best served with disabling hq scalers
[17:24:59] <sh4rm4> it doesnt make debug info any better, but breaks clang
[17:25:39] <sh4rm4> Dominus, good idea
[17:26:00] <Dominus> can be done in configure
[17:42:52] <Dominus> hmm, I thought the scaler problem would be trivial... this is again over my head...
[17:50:28] <sh4rm4> yeah, automake/conf is very complicated, especially to do it right
[17:50:38] <sh4rm4> i know only one project that uses it sanely
[17:50:59] <Dominus> sorry, I was speaking about the crash when the scaler name is not existing
[17:51:16] <sh4rm4> ah
[17:51:20] <sh4rm4> https://github.com/pkgconf/pkgconf/blob/master/configure.ac
[17:52:03] --> Marzo has joined #exult
[17:53:29] <Marzo> AND now I *finally* managed to log into Freenode from home...
[17:53:59] <Marzo> The irc.freenode.net address listed in the About Us page is not working here, I had to change to chat.freenode.net
[17:54:21] --> Dominus1 has joined #exult
[17:56:36] <-- Dominus has left IRC (Ping timeout: 240 seconds)
[17:57:00] --- ChanServ gives channel operator status to Dominus1
[17:57:00] --- Dominus1 is now known as Dominus
[17:59:21] <Dominus> so, colourless, I have *another* thing to bother you with :(
[18:01:27] <Dominus> hi marzo :)
[18:01:36] <Marzo> Hi Dominus
[18:02:12] <Marzo> (was just mentioning that I have been unable to log in to irc.freenode.net and had to change to chat.freenode.net)
[18:02:51] <Dominus> yea, I just read the log and saw that indeed I missed something in the little time I was disconnected...
[18:03:19] <Dominus> chat.freenode.net... hmmm
[18:04:00] <Dominus> I'm still connected through irc.freenode.net...
[18:04:05] <Dominus> anyway, dinner time...
[18:04:27] <Dominus> and maybe thenhitting again the wall of my little coding knowledge...
[18:04:37] <Dominus> only 84 bugs to go... :)
[18:25:19] <sh4rm4> Dominus: http://sprunge.us/RXSg
[18:25:25] <sh4rm4> that fixes the scaler crash
[18:29:09] <sh4rm4> and this one fixes the clang -ggdb3 issue http://sprunge.us/XBSB
[18:30:22] <sh4rm4> and this one is my try at building hqscalers with separate CFLAGS http://sprunge.us/eHeC
[18:34:38] <sh4rm4> btw, CXXFLAGS="-O0 -g" ./configure --disable-all-hq-scalers
[18:34:48] <sh4rm4> time make -j9
[18:34:52] <sh4rm4> real 0m37.558s
[18:34:53] <sh4rm4> user 2m29.612s
[18:34:53] <sh4rm4> s
[18:42:22] <wjp> I'd force flags to -O2, if anything
[18:42:38] <wjp> also, that new library needs to be linked into exult
[18:42:50] <Marzo> (04:29:09 PM) sh4rm4: and this one fixes the clang -ggdb3 issue http://sprunge.us/XBSB
[18:42:53] <sh4rm4> sure, that was just a test
[18:43:09] <Marzo> You mean you want to fix for clang an option intended for *gcc*?
[18:43:38] <wjp> there's no gcc check there, though
[18:43:44] <Marzo> True
[18:43:52] <Marzo> That would be the correct way to fix it
[18:43:57] <sh4rm4> that options breaks clang, and has no advantage whatsoever
[18:44:17] <sh4rm4> -g vs -ggdb3 outputs the exact same debug info
[18:50:32] <Marzo> -g produces debugging information for the OS's native format; -ggdb3 provides information specifically for GDB; -ggdb3 includes more information, including macro definitions
[18:50:35] <wjp> well, that depends on platform, but it shouldn't matter too much
[18:50:40] <wjp> what marzo said :-)
[18:50:59] <Marzo> (-ggdb also produces information specifically for GDB)
[18:51:13] <sh4rm4> this is all outdated info
[18:51:22] <sh4rm4> since dwarf2 there is no difference
[18:53:45] <sh4rm4> this patch fixes that -g gets used even with --disable-debug http://sprunge.us/JRFF
[18:53:48] <Marzo> Tell that to the GCC folks
[18:54:28] <Marzo> http://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Debugging-Options.html#Debugging-Options
[19:01:57] <Eviltar_> now i want to try that i just used -g with gdb, what more could it tell you if you use -ggdb3 ?
[19:02:27] <sh4rm4> it doesn't tell you macros, at least
[19:02:58] <sh4rm4> if you #define MYINT 14 and use that in the code, p MYINT will not know that macro either way
[19:03:10] <sh4rm4> if you use an enum, it works
[19:03:59] <sh4rm4> i used gdb for entire days; and i couldn't find any improvement with -ggdb3
[19:05:15] <sh4rm4> imo it's only cargo culting
[19:22:18] <wjp> -ggdb3 causes even a simple binary to contain much more debugging info than -g
[19:22:23] <wjp> just look at the filesize
[19:23:44] <sh4rm4> yeah, the filesize definitely changes. if the additional stuff is of any use is another question.
[19:25:01] <sh4rm4> i asked in #gdb if someone knows a specific case where -ggdb3 outputs better debug info. not even the gdb developers seem to know.
[19:25:40] <sh4rm4> that's pretty much the only gnu channel where developers are responsive
[19:26:46] <sh4rm4> my take on it is, if you dont know that it gives a specific advantage, dont use it.
[19:28:12] <Eviltar_> but, sometimes in the name of science you have to suspend disbelief and try just to find out yourself :p
[19:28:33] <sh4rm4> Eviltar_, yeah, that's what i did in the past
[19:28:48] <sh4rm4> thus i say it's worthless, and using it is only cargo culting.
[19:29:31] <sh4rm4> maybe it helps for non-ELF targets
[19:30:05] <sh4rm4> i.e. outdated stuff that you shouldnt use anyway
[19:30:51] <sh4rm4> anyway, i'll stop talking about this now until i get answer from #gdb.
[19:44:57] <sh4rm4> ok got a response
[19:45:12] <sh4rm4> it helps for certain types of macros
[19:45:26] <sh4rm4> i.e. ones that use sizeof or so internally
[19:45:45] <sh4rm4> btw, -g3 is equivalent to -ggdb3
[19:45:58] <sh4rm4> and it is possible that clang supports the former
[20:12:29] <Dominus> thanks for the scaler crash fix
[20:13:24] <wjp> that should also be done for fill_scaler, by the way
[20:13:36] <wjp> (or however it's called; can't check right now)
[20:13:55] <Dominus> yes, thanks, I was thinking that would need it as well
[20:19:17] <Dominus> fill_scaler is set correctly afaict
[20:26:28] * Marzo is looking into adding xBR scalers to Exult right now
[20:26:41] * Dominus drools
[20:26:59] * Eviltar_ drools too
[20:27:31] * Dominus hands out some cloth for wiping up the drool
[20:46:57] <Dominus> wjp, -g3 is indeed supported by clang. I guess -g3 is also supported by normal gcc and thus can be changed in configure.ac, right?
[20:51:25] <wjp> sounds ok
[20:54:25] <Dominus> and wjp, what do you think of disabling the hq scalers for debug? It would mean that I'd need to move the hq scalers check below the debug checks in configure.ac though
[20:55:59] <wjp> hm, I'd still prefer dropping the -g from the hq scalers
[20:56:11] <wjp> I suppose that means I should fix up that flags issue
[20:56:18] <Dominus> :)
[20:57:33] <Dominus> hmm, yeah, it would mean they are never built with -g even when a debug level is set. Didn't think of that :)
[21:03:12] <wjp> I'll try to take a look tomorrow; good night
[21:03:21] <Dominus> good night
[21:05:16] * Dominus writes some documentation
[21:26:25] * Dominus thinks that we should disable the screenshot function.
[21:27:17] <Dominus> the location it saves the screenshots to is bad on *nix systems and curiosly pcx seems to be an almost forgotten format
[22:55:54] <-- Dominus has left IRC (Read error: Connection reset by peer)
[22:56:18] --> Dominus has joined #exult
[22:56:18] --- ChanServ gives channel operator status to Dominus
[23:37:12] --> Kirben has joined #exult
[23:37:12] --- ChanServ gives channel operator status to Kirben