code logs -> 2012 -> Mon, 13 Aug 2012< code.20120812.log - code.20120814.log >
--- Log opened Mon Aug 13 00:00:16 2012
--- Day changed Mon Aug 13 2012
00:00
< Tarinaky>
I am now reproducing the same issue in SDL2 :/
00:00 * Tarinaky grumbles.
00:03
< Tarinaky>
This is what I'm compiling: http://pastebin.starforge.co.uk/536
00:03
< Tarinaky>
Console output is: OpenGL not initialising.
00:03
< Tarinaky>
(see line 27)
00:04
<&McMartin>
15:45 < RichyB> No idea why the order of arguments to gcc seemed to matter there.
00:04
<&McMartin>
gcc is a dick about this
00:05
< Tarinaky>
Ah! Wait!
00:05
<&McMartin>
I swear it does bidirectional parsing of the arguments to build the symbol table -_-
00:05
< Tarinaky>
cmake isn't using $CXX to find my C++ compiler :/
00:08
< Tarinaky>
Dumb question: how do I suppress warnings about 'long long' not being ansi?
00:08
<&McMartin>
It's going to be one of the huge list of -Wno-
00:09
< Tarinaky>
Alright.
00:11
<&McMartin>
In fact, probably -Wno-long-long.
00:12
< Tarinaky>
Aaand... now it's not finding SDL2/SDL.h in /usr/include...
00:13
< Tarinaky>
Err
00:13
< Tarinaky>
/usr/local/include
00:27
< Tarinaky>
Nope... CMake is being too clever :/
00:27
<&McMartin>
is there a particular reason you're using CMake?
00:27
<&McMartin>
I've never even *heard* of CMake before you started grappling with it
00:28 You're now known as TheWatcher[t-2]
00:29
< Tarinaky>
autoconfigure is described as "Autohell"
00:30
<&McMartin>
Fuck autoconf forever
00:30
<@TheWatcher[t-2]>
CMake is used for a fair number of things these days, it's pretty decent.
00:30
<@TheWatcher[t-2]>
But that's not hard given the competition >.>
00:31
<&McMartin>
If all you're using is SDL and OpenGL here, pkg-config and stock make really ought to handle everything you need -_-
00:32 You're now known as TheWatcher[zZzZ]
00:32
< RichyB>
The one thing, the one thing that I really do like about autoconf is the familiarity of the configure script invocation; ./configure; make; make install almost works everywhere.
00:33
< RichyB>
The rest of it is just oh dear Hell why.
00:33
< RichyB>
pkg-config and ordinary make FTW.
00:34
<&McMartin>
RichyB: "oh dear Hell why" - because somebody might be using a non-bash compatible sh from 30 years ago, but also be using OpenGL 4.0.
00:34
<&McMartin>
It is UNCONSCIONABLE to not be able to handle this case!
00:39
< RichyB>
I don't have any problem with the idea of shell-scripting against the bare POSIX shell spec; you should work correctly with dash or ash or busybox or whatever wherever possible. bash, specifically, is a bit huge.
00:40
<&McMartin>
Yeah, but I recall the degree of basic-ness they insisted on was pretty comical
00:40
< RichyB>
It's the bit where autoconf spends dozens of seconds testing whether my gcc-4.6 has bugs that only ever existed on like one version of the Sun compiler if you tried to cross-port it to HP-UX on a simulated Burroughs 5000. ;P
00:41
< RichyB>
and the m4.
00:41
< RichyB>
Why, the fuck, would anyone use m4?
00:42
<&McMartin>
To configure their sendmail.conf
00:43
<&McMartin>
I actually had to use M4 as an undergraduate research assistant to help implement some BLAST reference libraries
00:44
< RichyB>
I don't think it is a coincidence that the only two places where anyone ever used m4 - sendmail.cf and autotools - are also the greatest bastions of lunacy in the history of free software.
00:46
< Tarinaky>
What -is- m4?
00:46
< RichyB>
Macro language.
00:47
<&McMartin>
People not knowing what M4 is makes me happy inside
00:49 * Tarinaky headdesks about not being able to figure out what incantation is needed to make this damn thing work.
00:56 * Tarinaky tries something else -.-
01:00
< Tarinaky>
Dear everyone, can we have an easy to use C++ compiler for Windows please?
01:05
<@Alek>
amen.
01:08
< Tarinaky>
Okay.
01:09
< Tarinaky>
How the merry hell do I install SDL2 for VC++ :/
01:10
<&McMartin>
Go to Tools > Directories > C/C++ Directories, then add the .lib directory to "Library directories", the .dll directory to "Binary directories", and the include directory to "Include directories".
01:10
<&McMartin>
You may need to manually copy the SDL2.dll file into the final build directory to get it found.
01:16
< Tarinaky>
Yes. But I can't figure out how to build anything in VC++
01:16
< Tarinaky>
The GUI is confusing :/
01:17
< Tarinaky>
1
01:18 Attilla [Obsolete@Nightstar-41c23e15.as43234.net] has quit [Ping timeout: 121 seconds]
01:22
< Tarinaky>
I don't know how any software gets written for Windows.
01:22
< Tarinaky>
:/
01:24
<&McMartin>
"Build" -> "Build Solution"
01:25
<&McMartin>
MSVS takes some getting used to, but the end result is still better than Code::Blocks and maybe Eclipse
01:25
<&McMartin>
I haven't used Eclipse recently
01:26 RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has quit [[NS] Quit: Leaving]
01:31
< Tarinaky>
Eclipse's Mylyn plugin is godly.
01:35
<&McMartin>
What's that do?
01:36
< Tarinaky>
It integrates a task list with your editor.
01:36
< Tarinaky>
So when you open up an issue/task it shows only those files relevant to that task.
01:37
< Tarinaky>
It's pretty neat.
01:37
< Tarinaky>
You use plugins to connect it to your bug/issue/task tracking software.
01:39
<&McMartin>
That is pretty slick
01:39 * McMartin is spinning up a new Eclipse install on his new laptop
01:39
<&McMartin>
Putting in Counterclockwise (for Clojure support), Android plugins
02:18
< Tarinaky>
Dumb question...
02:18
< Tarinaky>
What's VC++'s equivalent to make install?
02:18
<&McMartin>
Er
02:19
<&McMartin>
I believe the question you're asking there is "what's Window's equivalent to make install" and it doesn't have one; Windows rather infamously has no package management of any kind
02:19
< Tarinaky>
I have compiled SDL2 in VC++
02:19
<&McMartin>
You can register a program as another program's uninstaller in the registry
02:19
< Tarinaky>
I can't figure out how to make cmake know where to look for it.
02:19
<&McMartin>
Now you put it somewhere and tell MSVC about that somewhere in the Directories tab.
02:20
< Tarinaky>
Yeah, but I'm not using MSVC to manage to build because I do most of my coding from Linyx.
02:20
<&McMartin>
Windows doesn't have an equivalent /usr/lib or /usr/include
02:20
< Tarinaky>
*Linux
02:20
< Tarinaky>
So where is CMake looking?
02:20
<&McMartin>
I've never used CMake
02:20
<&McMartin>
It's probably looking in C:\usr\lib anyway because EVERYTHING LOOKS LIKE UNIX AND EVERYTHING ELSE IS WRONG AND BROKEN
02:20
<&McMartin>
Otherwise it's looking in .
02:21
<&McMartin>
Traditionally one sets one's own Include and Library directories as part of a build process.
02:23
<&McMartin>
(The Windows standard here, such as it is, is that it is the responsibility of each development environment to set up its search path on its own. This usually involves environment variables in a separately configured subshell.)
02:24
<&McMartin>
(For DLLs, official policy is that globally-reachable DLLs are *bad*, seriously do you remember DLL Hell back in the 1990s, here's some crzy thing you can use if you're an Enterprise developer and everyone else just pack stuff in the same directory as the .exe kthx)
02:25
< Tarinaky>
"How does anyone write any software for windows" -.-
02:27
<&McMartin>
Properly done, everything - including the dev environments - is basically a chunk of files that can run on any Windows machine just by being unzipped somewhere.
02:28
<&McMartin>
This is honored more in the breach than the observance these days for many components, but that's due mostly to two semistandard exceptions - there's now a concept of what Linux uses hidden files in $HOME for, and registering uninstallers for stuff.
02:29
<&McMartin>
So, the standard way they do it is "install MSVS, pick 'new project', write code, build it, copy stuff out of build directory, stick in zip file, done[*]")
02:30
<&McMartin>
[* And then it doesn't work unless the target machine has the redistributable C++ packages installed which for some absurd reason MS does not make standard, but MinGW solves that, and NSIS makes handling it pretty easy]
02:30
< Tarinaky>
Okay. So what am I actually supposed to be doing?
02:30
<&McMartin>
It is *much* easier to get a working native Windows binary than a working native Mac package.
02:30
<&McMartin>
I'm still not totally clear as to what you're trying to even do
02:31
<&McMartin>
Beyond "use CMake, a tool that isn't working for you and that I am unfamiliar with and so can't help"
02:31
< Tarinaky>
"Tools that aren't working for you" is a really bloody long list.
02:32
<&McMartin>
The only general principle here for Windows is "provide lists of manual overrides for everything; the default assumption on Windows is that every program ever uses mutually incompatible DLLs with identical names"
02:32
< Tarinaky>
But "Bomb Redmond and force everyone to use Linux" doesn't seem to be an option.
02:32
<&McMartin>
Correct me if I'm wrong, but CMake isn't working for you *even* on Linux
02:32
< Tarinaky>
I've not gotten so far as to set up my Laptop yet.
02:33
<&McMartin>
Wait, so, your *first* cut at using these tools is in an environment they weren't designed for?
02:33
< Tarinaky>
As opposed to using them in an environment that doesn't exist?
02:33
<&McMartin>
Yeah, my step 1 there would be "make that environment exist"
02:34
< Tarinaky>
"Bomb Redmond and make everyone use Linux" isn't an option.
02:34
<&McMartin>
Uh, no
02:34
<&McMartin>
I mean "set up your laptop" here, obviously
02:34
< Tarinaky>
Yes, but then I can't develop on my Windows box.
02:34
<&McMartin>
Step 1: Build anywhere
02:35
< Tarinaky>
I already know how to manually invoke g++
02:35
<&McMartin>
Yes, but
02:35
<&McMartin>
You aren't using that, are you?
02:35
< Tarinaky>
I want to be able to work on both computers.
02:35
<&McMartin>
Yes
02:35
<&McMartin>
But you don't know if this is a problem with CMake or your build or anything
02:36
<&McMartin>
You've got like seven possible points of failure here and you have no way of isolating them.
02:36
<&McMartin>
So you should start being able to isolate them.
02:37
<&McMartin>
If you want to cut the bullshit and just start coding, screw CMake for now and write a .sh file that does the manual g++ invocation, with a sourced file for Windows or Linux that sets variables appropriately (-I and -L stuff, presumably, will need its own stuff on Windows)
02:37
< Tarinaky>
That involves adding more bullshit.
02:37
< Tarinaky>
Because then I'd have to actually maintain those sourced files.
02:37
< Tarinaky>
Which is crap.
02:38
<&McMartin>
If making CMake, specifically, work is important to you, and it's not intended originally as a Windows tool, don't learn it on Windows.
02:38
< Tarinaky>
I didn't. I learned it on Cygwin.
02:38
< Tarinaky>
And got it to work on Cygwin.
02:38
< Tarinaky>
Now I'm trying to get it to work on Windows, natively.
02:39
<&McMartin>
OK, so, that means that CMake is baking in assumptions about where things live.
02:39
<&McMartin>
On Windows, natively, you have to tell it where things live.
02:39
<&McMartin>
Most of that will be "in the mingw subdirectories", IIRC, a la C:\Mingw\lib and C:\Mingw\include and such.
02:40
<&McMartin>
Standard practice in Windows library builds is to put the relevant binaries for libraries you use in other directories that are conceptually part of the project, and add those directories to your include and library paths.
02:40
<&McMartin>
This is, more or less, what Linux also assumes because this is what pkg-config essentially does.
02:41
<&McMartin>
If you plan on sharing them across everything ever, you can just jam them into the MinGW lib and include directories yourself and go from there.
02:42
<&McMartin>
If your goal is "people should be able to download my source on a Windows machine and have it Just Build" this is a pipe dream and everyone knows it; there is no equivalent on Windows to a default-installed GCC in the first place and such a thing is an absolute stone-cold prerequisite.
02:43
< Tarinaky>
"I should be able to download my source on my machine and have it Just Build"
02:43
< Tarinaky>
Is slightly less unattainable >.>
02:43
<&McMartin>
Yeah, that's trivial.
02:43
<&McMartin>
But it means that your Windows configuration values will be tuned to your system's configuration, at least for now.
02:44
< Tarinaky>
But it gets back to my original question...
02:44
< Tarinaky>
"What Windows coniguration values?"
02:44
<&McMartin>
Well, where did you put the SDL2 files?
02:44
<&McMartin>
Those are the values you need to tell it.
02:45
< Tarinaky>
I meant more, what're the variables called.
02:45
<&McMartin>
That's unique to CMake.
02:45
< Tarinaky>
I'm aware.
02:45
<&McMartin>
You should already know this if you can use it at all; this is the equivalent of "well, I want to put all my header files in $PROJECTROOT/include"
02:45
<&McMartin>
Like, it is the *exact* equivalent of this, but for -L instead of -I.
02:46
<&McMartin>
The only difference between Linux and Windows here is that Windows doesn't have a /usr/include or /usr/local/include that is a meaningful global default.
02:46
< Tarinaky>
This would be easier if SDL wasn't a bugger about wanting --no-cygwin >.> I'd quite happily include a cygwin-1.dll file.
02:47
< Tarinaky>
Yes, but I haven't got one that is "Well, if we're on Windows all the header files are here, otherwise ignore me."
02:47
<&McMartin>
Wait wait wait wait wait
02:47
<&McMartin>
Your plan here is to have bit-exact Makefiles for Linux and Windows?
02:48
<&McMartin>
Because that is a Bad Plan
02:49
< Tarinaky>
No.
02:49
< Tarinaky>
Bit exact CMakeFileList.txt
02:49
< Tarinaky>
Cmake will generate different makefiles
02:49
<&McMartin>
Is that list included by some wrapper?
02:49
<&McMartin>
I know nothing of CMake.
02:49
< Tarinaky>
CMakeFileList.txt is what CMake reads.
02:50
< Tarinaky>
CMake outputs Makefiles.
02:50
<&McMartin>
OK, CMake is missing what I would consider fairly core functionality here, or you are misrepresenting its power
02:50
< Tarinaky>
The Makefiles are customised with paths and the like baked in.
02:51
<&McMartin>
Either: there is a way to tell CMake "set these things to these values based on target platform"
02:51
<&McMartin>
Or: You need separate files, one for each target platform.
02:51
< Tarinaky>
I'm currently trying to figure out where a particular function searches for things.
02:51
< Tarinaky>
It lists three locations for Windows...
02:51
< Tarinaky>
But it doesn't tell me what the whole path is.
02:52
< Tarinaky>
So I don't know what the prefix is atm :/
02:52
<&McMartin>
You're asking me, a person who has never used CMake, to reverse engineer it and blaming Microsoft for CMake's failures
02:52
< Tarinaky>
No. I'm mostly just complaining at this point.
02:52
<&McMartin>
What are these locations?
02:52
< Tarinaky>
Rants are allowed >.>
02:52
< Tarinaky>
<prefix>/ (W)
02:52
< Tarinaky>
<prefix>/(cmake|CMake)/ (W)
02:52
< Tarinaky>
<prefix>/<name>*/ (W)
02:52
< Tarinaky>
<prefix>/<name>*/(cmake|CMake)/ (W)
02:52
<&McMartin>
Can you *set* prefix?
02:53
< Tarinaky>
Probably. I'd rather find out what its default value is.
02:53
<&McMartin>
Also, what is <name>?
02:53
< Tarinaky>
On Linux prefix is /usr by the looks of it.
02:53
<&McMartin>
What are you expecting <prefix> to be here?
02:53
< Tarinaky>
No idea.
02:53
<&McMartin>
Wait, who the fuck uses /usr/cmake
02:53
<&McMartin>
That makes no sense whatseover
02:53
< Tarinaky>
No.
02:53
<&McMartin>
<prefix> on Windwos sounds like it should be your project root.
02:53
< Tarinaky>
Those are the (W)indows paths.
02:53
< Tarinaky>
There's different ones for Unix.
02:54
< Tarinaky>
<prefix>/(lib/<arch>|lib|share)/cmake/<name>*/ (U) for example
02:54
<&McMartin>
If I had to guess, <prefix> on Windows defaults to "."
02:54
<&McMartin>
But that is a CMake-ism, and I'm making the assumption here that they're setting up their build directory in a sensible fashion for cross-platform development
02:55
< Tarinaky>
"Directories above marked with (W) are intended for installations on Windows where the prefix may point at the top of an application's installation directory."
02:55
<&McMartin>
Yup, there you go. Project Root.
02:58
<&McMartin>
The workflow they expect here is that you're either VCSing some directory back and forth or rsyncign it.
02:58
<&McMartin>
The location on your system where the root of that checkout is is what prefix should be on Windows.
03:01
<&McMartin>
Speaking *mostly* only for myself, if CMake can't find things like libm.a and thus needs also to be directed to your system includes and libraries, it is acceptable to assume that a windows-native MinGW is at C:\MinGW.
03:06
< Tarinaky>
I might have it...
03:08
< Tarinaky>
I think I have a pattern for it now.
03:08
< Tarinaky>
Dumb question: WHat is glut?
03:08
< Tarinaky>
What is its relation to openGL?
03:09
<~Vornicus>
glut is the "basic windowing library" that comes with opengl
03:09
<~Vornicus>
Basically, it's a very simple library that lets you make a window with an openGL context.
03:12
<~Vornicus>
I don't know how much use it gets beyond dinking around.
03:15
< Tarinaky>
I'll see how far I can get without linking against it for now then.
03:17
< Tarinaky>
Unless I'm missing something there is a gaping functionality gap here.
03:18
<~Vornicus>
??
03:19
< Tarinaky>
MSVC++ wants me to run a particular batch file from a particular directory to 'set' some environ variables.
03:20
< Tarinaky>
There doesn't seem to be anything in cmake-gui I can use to do this...
03:20
< Tarinaky>
Which means using cmd.exe... which is pants, lol.
03:23
< Tarinaky>
Aaaand. Still broken.
03:23 * Tarinaky sighs.
03:23
< Tarinaky>
I really hate Windows.
03:24
< iospace>
why?
03:25
< Tarinaky>
Because I can't get it to build crap.
03:45 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
03:45 mode/#code [+o Vash] by ChanServ
03:49
<&ToxicFrog>
FWIW I have had much better luck with premake and mingw32-make on linux than with building things natively
03:55 Kindamoody[zZz] is now known as Kindamoody
04:36
< Tarinaky>
Oh great.
04:37
< Tarinaky>
Just as I go to try and download my sources on my laptop it decides it's never going to connect to the wifi ever again.
04:37
< Tarinaky>
=.=
04:38
<&ToxicFrog>
What are you trying to build, anyways?
04:40
< Tarinaky>
A small engine.
04:41
<&ToxicFrog>
No, I mean
04:41
<&ToxicFrog>
You're building a bunch of packages from source using autoconf
04:41
<&McMartin>
It's worth noting that my build procedure over here is "hit F7", so I'm not sure if yuo're just going path-of-most-resistance or what
04:41
<&ToxicFrog>
what are they?
04:42
< Tarinaky>
SDL2
04:44
<&McMartin>
Vornicus: GLUT also has that function that draws that teapot, IIRC
04:57
<&ToxicFrog>
Why are you trying to build SDL2 from source in the first place rather than just downloading and linking against the binaries?
04:57
< Tarinaky>
"What binaries?"
04:59 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
05:00
<&McMartin>
I suppose it's also worth asking "why, if you are only using it for interacting with the Window System since you're doing OpenGL, are you using SDL2, which isn't done yet, instead of 1.2, the actually stable one with binaries"
05:00
<&McMartin>
And don't tell me "1.2 is broken and doesn't work" because UQM and Sable both use it.
05:00 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
05:01
< Tarinaky>
Because SDL2 is better.
05:02
< Tarinaky>
And Rhamp uses it.
05:02 * McMartin looks at the last five hours of log
05:02
< Tarinaky>
And it's stable enough from what I've read.
05:04
<&McMartin>
TF: That said, when I threw Enceladus into MSYS the only problem I had was that identified itself to Make as UNIX-Compatible which produced some side effects you didn't want
05:05
< Tarinaky>
And it's producing no errors that SDL1.2 wasn't.
05:05
<&ToxicFrog>
Er
05:06
< Tarinaky>
I have been working on this for ~3 days now.
05:06
< Tarinaky>
I have tried most obvious combinations >.>
05:07
<&ToxicFrog>
Ok, this is really baffling to me
05:07
<&ToxicFrog>
Because in my experience building windows versions of SDL apps is:
05:07
<&ToxicFrog>
(1) download SDL binaries, install into mingw
05:07
<&ToxicFrog>
(2) make
05:08 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [Client closed the connection]
05:08
<&McMartin>
Yes, the extra roadblocks he has put in here are
05:08 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code
05:08
<&McMartin>
(a) he's using hand-built-with MSVC, which is another point of failure
05:09
<&McMartin>
(b) He can't build with mingw because he's using a version of mingw-gcc that doesn't support options SDL needs
05:09
<&McMartin>
(c) He's not writing his own makefiles, he's using CMake, which he does not appear to completely understand how to control on Windows
05:09
<&ToxicFrog>
(b) is only an issue if he's building SDL from source, surely?
05:09
<&McMartin>
So is (a)~
05:09
<&McMartin>
That said, all of these things are clearly Bill Gates's fault
05:10
<&McMartin>
I suspect there's actually something screwing with OpenGL generally somewhere on the system if he can't even poll screenmode info
05:13
< Tarinaky>
Bloody router keeps dying.
05:14
< Tarinaky>
(b) is slightly wrong.
05:14
< Tarinaky>
(b) (1) cygwin gcc doesn't support the features SDL needs
05:15
< Tarinaky>
(b) (2) mingw is trying to link against libraries that it shouldn't be... like X.
05:15
< Tarinaky>
Which leaves MSVC as my 'native' compiler.
05:16
< Tarinaky>
NMot using cmake causes issues because I have physicsFS in my source tree and MSVC thinks it'd be a bloody good idea to compile everything what-ho chaps.
05:16
<&ToxicFrog>
(b2) is probably because you are building SDL from source and mingw, by default, reports itself as unix
05:17
< Tarinaky>
This is quite likely.
05:17
<&ToxicFrog>
Which means that the SDL build system goes "oh, I am building on unix, I should use X11+openGL rather than GDI+openGL"
05:17
<&ToxicFrog>
There is probably some way of overriding this but it is a complete nonissue if you just don't build SDL from source
05:18
<&McMartin>
I'm also not convinced, given its state, that making SDL2 work on mingw is even something they have tried to do
05:18
< Tarinaky>
Well. I am going to trash and start again.
05:19
< Tarinaky>
I want to be able to build on Linux, and Windows but I don't want to have to maintain two, different, makefiles.
05:19
< Tarinaky>
I just want one file to maintain.
05:20
<&ToxicFrog>
I've been using premake4 for that purpose, but I have no idea how that stacks up against cmake and, as noted, I don't actually build anything on windows itself
05:20
<&Derakon>
I assume you cross-compile from Linux?
05:20
<&ToxicFrog>
I just tell premake4 to generate a windows+gcc makefile and then invoke it with mingw32-make
05:21
<&ToxicFrog>
Derakon: yeah. Cross compiling is actually Seriously Easy these days.
05:21
<&ToxicFrog>
For makefile-based stuff, you can just use mingw32-make rather than plain make, and it automatically sets CC=/usr/lib/mingw32/i686-win32-gcc (or whatever) and all of the other settings as appropriate
05:22
< Tarinaky>
I don't have a mingw32-make
05:22
<&ToxicFrog>
The only issue I've run into is figuring out where the right place to put binaries for windows libraries that I need to link against but which aren't in the package manager is.
05:24
<&McMartin>
And the answer for that when building natively is very easy: "wherever you want, but usually a relative path within the project so that you can have it be buildable from anywhere"
05:27
<&ToxicFrog>
McMartin: I mean, "I want my cross compile environment to find these libraries automatically when I use -l, what is its equivalent to /usr/lib"
05:29
<&McMartin>
Right.
05:29
<&McMartin>
This was the initial go-round before when he was trying to do a native build
05:29
<&McMartin>
"What is the Windows equivalent to /usr/lib" not being a well-formed question and all
05:31
<&ToxicFrog>
Yeah, this is specifically something for cross-compiling, not native
05:31
<&ToxicFrog>
Tarinaky: oh. Maybe it's a SUSE thing.
05:31
<&McMartin>
I don't think it is, checking on Iodine...
05:33
< Tarinaky>
http://a2.sphotos.ak.fbcdn.net/hphotos-ak-ash4/297451_10152046491510235_84529068 1_n.jpg
05:34
<&McMartin>
TF: Fedora also has a fuckton of mingw- prefixed versions of libraries and applications.
05:35
< Tarinaky>
Alright. I'm staring at a blank directory on my Windows box. (My Linux laptop seems to be causing my internet to fall over more often so leaving it alone for now)
05:35
< Tarinaky>
What now?
05:35
<&McMartin>
First things first.
05:36
<&McMartin>
Can you create a hello.c Hello World program, and compile it in a cmd.exe window with mingw's gcc and get out an a.exe or a hello.exe that runs correctly from a cmd.exe window?
05:38
<&McMartin>
I'd say the next step after that is to deploy binary versions of the SDL library that just open a window and wait for a Quit event
05:39
< Tarinaky>
"No."
05:39
<&McMartin>
Then I'd try to make that work with CMake
05:39
<&McMartin>
OK, well, there's your first problem.
05:39
< Tarinaky>
Native MingW doesn't work.
05:39
<&McMartin>
Step 1: Get Native MinGW working
05:39
<&McMartin>
For, me, this process was:
05:39
<&McMartin>
(a) download installer
05:39
<&McMartin>
(b) run it
05:39
< Tarinaky>
I'm not sure I really want to do that. cmd.exe is really bad.
05:40
<&McMartin>
cmd.exe mimics what will eventually be "double-click this icon in explorer"
05:40
< Tarinaky>
Sure, but do I really have to build in it?
05:40
< Tarinaky>
It took me 10 minutes just to get the damn compiler invocation
05:40
<&McMartin>
This is purely to test to make sure that mingw actually works.
05:40
<&McMartin>
The one we're looking for here is "gcc -o hello.exe hello.c"
05:40
< Tarinaky>
"... libgmp-10.dll is missing from your computer"
05:41
<&ToxicFrog>
McMartin: what's wrong with using mingw bash/rxvt?
05:41
<&McMartin>
You don't have a complete MinGW compiler installed, it looks like
05:41
<&McMartin>
TF: I suspect Cygwin Interference here.
05:41
<&McMartin>
I want to remove that variable at first
05:42
<&McMartin>
I don't like "it's broken!" and there are seven possible failure points at once.
05:43
<&McMartin>
My instinct is to break it down into tests where only one such component is doing anything at any given time.
05:43
<&McMartin>
If, as appears to be the case here, "Hello world" is not compiling, nothing else will either and it's pointless to proceed until it does.
05:44
< Tarinaky>
I just reinstalled Mingw.
05:44
<&McMartin>
ToxicFrog: I now notice that MinGW now ships with its own MSYS instead of the other way around, so that is likely to be OK as long as there aren't global environment variables getting in the way.
05:44
< Tarinaky>
No change, same dll is missing.
05:45
<&McMartin>
Is there such a file under \Mingw?
05:45
<&McMartin>
In short: is it missing, or is Mingw-gcc not finding it?
05:46
< Tarinaky>
It's in mingw's /bin folder.
05:46
< Tarinaky>
I didn't put it in my path -.-
05:46
<&McMartin>
Is C:\MinGW\bin in you... yeah.
05:46
<&McMartin>
That one's MinGW's fault, the PATH isn't supposed to be for that, but...
05:48
< Tarinaky>
Argh. What's the bloody thing's name it won't let me tab-cmplete commands :/
05:48
< Tarinaky>
Also: won't putting mingw on my path cause issues with cygwin?
05:50
<&McMartin>
Possibly, but the MinGW installer should have a link to a preconfigured thing, it sounds like from the wiki
05:50
<&McMartin>
If you have cygwin permanently in your path, that will probably fuck up non-cygwin builds, yes.
05:50
<&McMartin>
Unless they've done something very clever about it, which I kind of doubt
05:50
< Tarinaky>
int main (int argc, char* argv[]) { return 0; } compiles.
05:51
<&McMartin>
http://lazyfoo.net/SDL_tutorials/lesson01/index2.php looks like a good second step then, after downloading the SDL 1.2 binaries and sticking them in \mingw\lib and \mingw\include as appropriate
05:51
<&McMartin>
Well, except for the LoadBMP part.
05:53
< Tarinaky>
What do I do with the .dll?
05:53
<&McMartin>
Once SDL framebuffer stuff is working, then adding the OpenGL stuff is worth a shot.
05:54
<&McMartin>
If that fails, it might then be worth it to try to compile a GLUT-based OpenGL Demo. If tha tworks, it's something about SDL-OpenGL that's choking. If GLUT fails too, something's screwy with the system's OpenGL.
05:55
<&McMartin>
Also, um, what the hell kind of cmd.exe are you using where tab completion doesn't work because it totally does over here
05:56
<&McMartin>
Actually, I guess "basic SDL test" is step 3
05:57
<&McMartin>
Step 2 would be to see if it still works (compiles and runs) from Mingw\MSYS\rxvt.exe or whatever it's called
05:57
<&McMartin>
Since that gets you your bash back faster
05:58
< Tarinaky>
Tab completion only works for paths.
05:58
<&ToxicFrog>
<McMartin> That one's MinGW's fault, the PATH isn't supposed to be for that, but... -- on windows $PATH is also $LD_LIBRARY_PATH, and there's not much you can do about this, AIUI
05:58
< Tarinaky>
It doesn't work for commands.
05:58
< Tarinaky>
Where do I put my .dll?
05:59
<&McMartin>
In the same directory as the .exe that links it.
05:59
<&McMartin>
TF: I needed to research that, but you are correct. The tweakable component is whether you check the current directory before the system directory.
06:01
<&McMartin>
(And that in addition to being tweakable varies by what version of Windows is being run)
06:02
<&McMartin>
In all search paths though "the directory from which the application loaded" is always the first place checked, and "you ship with the versions of the libraries you depend on" is the accepted best-practice.
06:04
< Tarinaky>
C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to `WinMai
06:04
< Tarinaky>
n@16'
06:04
<&McMartin>
You need to link the sdlmain library as well as just sdl.
06:05
< Tarinaky>
I am.
06:05
< Tarinaky>
c:\cygwin\home\Tarinaky\Coulomb>mingw32-g++ -o hello.exe hello.c -lSDL -lSDLmain
06:05
<&McMartin>
SDLmain is supposed to provide WinMain
06:05
<&McMartin>
I think there's a switch for operations mode, though, one moment
06:06
<&ToxicFrog>
-mwindows and -mconsole?
06:07
< Tarinaky>
No change.
06:07
<&McMartin>
Yeah, you need -mwindows, and you also apparently need to list SDLmain *first*
06:07 * McMartin is looking at http://mingw-starter.blogspot.com/2008/02/mingw-sdl.html here
06:07
<&ToxicFrog>
http://wiki.libsdl.org/moin.cgi/FAQWindows#I_get_.22Undefined_reference_to_.27Wi nMain.4016.27.22
06:09
< Tarinaky>
I see nothing I'm not already doing.
06:10
<&McMartin>
Then something else is going wrong *shrug*
06:11
<&McMartin>
WinMain is the entry point, it's in SDLMain.a
06:11
< Tarinaky>
Yes, I know.
06:11
<&McMartin>
If you're linking it and it's not in your binary, something's up with the linker
06:11
<&McMartin>
Or the source material, or something.
06:11
<&McMartin>
That said, what is in the article is not in what you quoted yourself as doing.
06:12
< Tarinaky>
Please draw attention to it.
06:13
<&McMartin>
SDLmain and SDL are in the wrong order, and -lmingw32 is missing entirely.
06:13
<&McMartin>
(And should precede -lSDLmain)
06:13
< Tarinaky>
Ah, I didn't see -lmingw32
06:13
< Tarinaky>
That fixed it.
06:14
<&McMartin>
I would now proceed to the basic OpenGL surface test
06:14
< Tarinaky>
Link?
06:15
<&McMartin>
I thought you had one of those to hand already
06:15
<&McMartin>
The samples I usually used for this seem to now be offline. =(
06:16
< Tarinaky>
I had one of those to hand ~3 days ago >.>
06:16
< Tarinaky>
I've rebooted since then, and it was, apparently, wrong anyway.
06:17
< Tarinaky>
Can we get something so I'm not trying to remember the compiler invocation?
06:20
<&McMartin>
I'm digging around now in my collection of Stuff
06:22
<&ToxicFrog>
Assuming that mingw is properly installed, just using the msys shell instead of cmd.exe should handl this
06:22
<&ToxicFrog>
And since you now have a working hello, if that stops working we have a point to start troubleshooting at
06:23
< Tarinaky>
Handle what?
06:24
<&McMartin>
http://content.gpwiki.org/index.php/SDL:Tutorials:Using_SDL_with_OpenGL looks like a decent start
06:25
< Tarinaky>
What do I do about build automation though?
06:25
< Tarinaky>
>.>
06:25
<&ToxicFrog>
Tarinaky: handle having gcc et al in your $PATH so you don't need to faff about with finding it from cmd.exe
06:26
<&McMartin>
Don't try to automate something that doesn't work at all yet.
06:26
<&McMartin>
First, get something that works at all
06:26
<&McMartin>
THEN automate it.
06:26
<&McMartin>
For the test programs we're looking at a one-line command that can be made into a shellscript to save typing
06:26
<&McMartin>
And fiddled with if necessary
06:27
<&McMartin>
But if it's being fiddled with on every invocation it's not yet ready to automate
06:27
<&McMartin>
Once it is, automating the successful build of the basic OpenGL program gives you a known-good state to fall back on and test against.
06:27
<&McMartin>
Getting that to work in CMake then gives you the platform to do the rest.
06:31
<&McMartin>
Hm, poking around a little...
06:31
<&McMartin>
... what version of OpenGL are you planning on targeting here
06:31
<&McMartin>
I'm seeing evidence of there being Issues with SDL 1.2 and OpenGL 3.X, necessitating kicking over to WGL/XGL/AGL in initialization.
06:32
< Tarinaky>
Latest?
06:32
<&McMartin>
Let me rephrase that
06:33
<&McMartin>
What version of the API are you targeting
06:33
<&McMartin>
The latest version literally came out last month
06:33
< Tarinaky>
I don't know.
06:33
<&McMartin>
OK, in that case, don't worry about that yet =P
06:33
< Tarinaky>
What am I supposed to be linking against for opengl?
06:33
< Tarinaky>
-lopengl?
06:33
<&McMartin>
2.x has shaders and such and should be broadly supported
06:34
<&McMartin>
Possibly that, possible opengl32, possibly nothing needed at all
06:34
< Tarinaky>
No, it's needed or I get undefined references to all the gl* family.
06:34
<&McMartin>
OK
06:34
<&McMartin>
Probably -lopengl or -lopengl32 then
06:34
< Tarinaky>
OpenGL works.
06:34
< Tarinaky>
It's -lopengl32
06:34
<&McMartin>
OK
06:35
<&McMartin>
cordon this off to the side with the working command off on the side, then...
06:35
<&McMartin>
As a backup...
06:35
<&McMartin>
And now try to get CMake to build this.
06:35
<&McMartin>
Since now you have something you *know* works natively.
06:36
< Tarinaky>
Is there not something you know better?
06:36
<&McMartin>
I always just used makefiles
06:36
<&McMartin>
And relied on a properly-set-up MinGW to cover the differences for me.
06:37
<&McMartin>
(But with a Makefile.Win32 and Makefile.linux wrapper around Makefile.core that would handle the differences in libs/include dirs)
06:39
<&McMartin>
http://content.gpwiki.org/index.php/OpenGL:Tutorials:OpenGL_3.X_context_with_SDL _1.2 is the thing I found about OpenGL and SDL 1.2, and I do not entirely understand what the issue is here
06:42
< Tarinaky>
Lets try the Makefiles.
06:42
<&McMartin>
I'd certainly start with Makefiles until they were proven to be unwieldy.
06:42
<&McMartin>
One huge advantage for Makefiles is that the Linux and Windows targets will have different names.
06:42
< Tarinaky>
How do I have the wrapper?
06:43
<&McMartin>
I forget the exact syntax, but the wrapper is the thing called "Makefile" and it includes the "real" makefile which is called something else.
06:43
< Tarinaky>
>.<
06:44
<&McMartin>
So you just go "include Makefile.core"
06:44
<&McMartin>
that's your makefile
06:44
<&McMartin>
Makefile.win32 is something like LIBS=-lmingw32 -lSDLmain -lSDL -lopengl32 ; include Makefile.core
06:44
<&McMartin>
and similar for linux
06:44
<&McMartin>
Then "make -f Makefile.win32"
06:44
<&McMartin>
Builds windows
06:45
<&McMartin>
You are not going to be able to get around the fact that you will have to list all the configuration options for each platform individually; this is why they are different platforms
06:46
<&McMartin>
But all the filenames &c live in Makefile.core
06:48 Derakon is now known as Derakon[AFK]
06:51
<@Vash>
huh
06:51
<@Vash>
sword art online is more interesting than I thought
06:52
<&McMartin>
?
07:04
< Tarinaky>
Okay. Makefile is actually less work than getting CMake to work >.>
07:05 You're now known as TheWatcher
07:14
<@Vash>
McM: an anime
07:56 thalass [thalass@Nightstar-478f1698.bigpond.net.au] has joined #code
07:56
< thalass>
It's stupid question time, with Thalass! whee!
07:58
<@Tamber>
"Yes, it needs to be plugged in. Switching it on usually helps, too."
07:58
< thalass>
(actually i might just find the answer on the WD site, but it's so basic they might have overlooked it. :P)
08:01
< thalass>
OK. The last time i screwed around with a desktop computer was back in the IDE days, so this sata 3 hdd is slightly mystical. It appears to have the old master/slave jumper set of pins, but didn't come with a jumper for it. Should this concern me.?
08:02
<@Tamber>
No.
08:02
< thalass>
Ah good. :)
08:02
<@Tamber>
They're not for setting master/slave/all that horrible mess.
08:02
< thalass>
Thank the gods for that.
08:03
<@Tamber>
As I did, every single time I got to build a machine with SATA. (And then cursed repeatedly when having to deal with PATA machines again.)
08:05 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:07 Attilla [Obsolete@Nightstar-6df49870.as43234.net] has joined #code
08:09 You're now known as TheWatcher[afk]
08:39 thalass [thalass@Nightstar-478f1698.bigpond.net.au] has quit [[NS] Quit: Leaving]
09:20 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
10:02
< Tarinaky>
http://jorendorff.github.com/hackday/2012/library/
10:34 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection reset by peer]
10:37 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
10:37 mode/#code [+o himi] by ChanServ
10:52 Kindamoody is now known as Kindamoody|out
10:55 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
11:05 You're now known as TheWatcher[d00m]
11:09 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Client closed the connection]
11:09 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
11:13
<@Alek>
hm.
11:14 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
11:14 mode/#code [+o himi] by ChanServ
11:14 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Client closed the connection]
11:14
<@Alek>
can't help but feel that the cpu-cost vs load-cost may have something to do with the .1s screen draws someone was having on here earlier.
11:15
< Rhamphoryncus>
I believe that was Derakon
11:16 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
11:16 mode/#code [+o himi] by ChanServ
11:16 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection reset by peer]
11:20 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
11:20 mode/#code [+o himi] by ChanServ
11:21 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [[NS] Quit: Leaving]
11:22 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
12:09 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
12:22
< Tarinaky>
God damn it make -.-
12:25 You're now known as TheWatcher
12:37
< Tarinaky>
I can't figure out how to have Make handle subdirectories in my source sensibly.
12:40
< gnolam>
... it's make. It doesn't handle anything sensibly.
12:40
< Tarinaky>
=.=
12:58
<&McMartin>
You can either do recursive make as a target or you can use absolute paths in your source list.
12:58
<&McMartin>
If you want "scan this directory for source files and use them" you don't want make. ^_^
12:58
<&McMartin>
Though makedepend can get you a good chunk of the way there.
14:32 gnolaptop [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
14:36 gnolaptop [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has quit [[NS] Quit: Gone]
14:42 You're now known as TheWatcher[afk]
14:47
< rms>
<McMartin> If you want "scan this directory for source files and use them" you don't want make. ^_^ <-- what's wrong with OBJS=$(shell ls *.c | sed s/c$/o/g)?
14:58
< Tarinaky>
rms: You forgot the "IA IA TUX FHTAGN!" prefix.
14:58
< rms>
What?
14:58
< rms>
Are you drunk?
14:58
< Tarinaky>
NM, it was a joke. >.>
14:58
< rms>
Oh alright
14:59
< rms>
But I don't speak drunk, so jokes told in drunk I'm not going to get.
14:59
< Tarinaky>
I am not drunk.
14:59
< Tarinaky>
I just thought invoking sed in a Makefile was a bit arcane (and technically unneeded).
14:59
< Tarinaky>
Hence, Lovecraft.
15:00
< rms>
Nope
15:00
< rms>
Found out that on sane platforms Makefiles are good systems admin tools
15:01
< rms>
So I picked up a few tricks from that. Also suckless.org hates autoconf/automake, so they have pure Makefile build generation
15:02
< rms>
The wmii one is stupidly arcane though :/
15:02
< Tarinaky>
I mean it's technically unneeded because you can do:
15:02
< Tarinaky>
OBJS=$(SOURCES:.c=.o)
15:13
< rms>
Did not know
15:13
< froztbyte>
I'm not so sure about them being /good/
15:13
< froztbyte>
a necessary evil within the landscape that requires them..yes
15:14
< rms>
When you need to generate files, they're pretty good
15:23
< froztbyte>
they're a very thin abstraction, and the tools for generating/debugging them are pretty terrible :)
15:33 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code
15:49 * rms hand codes them
16:20
< froztbyte>
there are much better things a human could be doing with their time than handcoding makefiles
16:39 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
16:42
< iospace>
ugh fucking PCBs
16:52 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
17:04
< gnolam>
If you can do that, you're drilling the mounting holes way too big.
17:06
< froztbyte>
hahahaha
17:13 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
17:27 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
18:05 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
18:18 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
18:30 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
18:36 Kindamoody|out is now known as Kindamoody
18:43 himi-cat [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
18:52 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
19:23 Kindamoody is now known as Kindamoody[zZz]
19:23 * Rhamphoryncus ponders #define self (*this) XD
19:33
< Rhamphoryncus>
Sounds like #define this (*this) would work.. except you're not allowed to redefine keywords :(
19:51 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: I like to move it, move it]
20:05
< Rhamphoryncus>
ergh.. I need a modulo that does 1..8 rather than 0..7 :P
20:06 * Rhamphoryncus frobs the value down and up
20:12
< celticminstrel>
Just add one. ;P
20:25
< Rhamphoryncus>
I need to subtract 1, do the modulo, then add the 1 back
20:26
< Rhamphoryncus>
But that actually means add the modulo, subtract one, then do the modulo and add 1 back
20:26
< Rhamphoryncus>
add the modulus*
20:27
< Rhamphoryncus>
While Python's modulo operator is continuous into the negatives, letting it Just Work, C's modulo has a discontinuity there (I think it flips in a round-to-zero fashion, vs python's round-to-negative-infinity)
20:28
<~Vornicus>
-(a%8-8)
20:29
<~Vornicus>
er, no.
20:29 * Vornicus cannot brain today.
20:31
< Rhamphoryncus>
*squints* I want to say C would have -1 % 8 == -1. Not sure though
20:31
<~Vornicus>
Watch it be implementation-defined
20:40
< Rhamphoryncus>
Wikipedia claims it was implementation-defined in C90 and C++98 but in C99 and C++11 it's negative and -1
20:42
< Rhamphoryncus>
More specifically, integer division uses truncation (round towards zero), and (a/b)*b + (a%b) must give back a. Since division does truncation then so must modulo
20:42
< Rhamphoryncus>
Python has the same consistency rule, but in both cases it rounds towards negative infinity, so the result of modulo stays positive and continuous
20:45
<~Vornicus>
not continuous per so - just consistent.
20:47
< Rhamphoryncus>
My experiences thus far would have benefited from continuous instead. Oh well
20:47
< Rhamphoryncus>
And I *think* have my coordinate walking working.. but I'm not calculating any vertices yet, just rotating around a cylinder, so obviously they won't work XD
20:50
<~Vornicus>
Well, of course it's not continuous - it's a sawtooth function.
20:51
<~Vornicus>
--and on a discrete domain, so, uh. No.
20:51
< Rhamphoryncus>
The direction of the teeth flips in C99/C++11
20:51
< Rhamphoryncus>
In python it stays the same
20:52
<~Vornicus>
Right. Consistent.
20:52
< Rhamphoryncus>
which?
20:52
<~Vornicus>
Python's
20:52
< Rhamphoryncus>
ahhh. I thought you meant C before
21:01 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
21:01 mode/#code [+o Vash] by ChanServ
21:18 You're now known as TheWatcher
21:24 gnolam [lenin@Nightstar-ccbf4b44.cust.bredbandsbolaget.se] has joined #code
21:51
< celticminstrel>
What idiot decided that the GIMP user manual should be a separate download?
21:55
< celticminstrel>
Also the installer doesn't work, so I need to figure out how to do it manually. Apparently just putting the files in the right place is not sufficient.
21:59
<&McMartin>
GIMP's UX and doc people are enemies of mankind and must be destroyed.
22:00
< celticminstrel>
UX?
22:00
<&McMartin>
User Experience
22:00
<&ToxicFrog>
User Experience.
22:00 * McMartin checks his rage-o-meter.
22:00
< Namegduf>
Everyone involved in OpenOffice.org, too.
22:00
<&McMartin>
Yup! Still haven't forgiven them.
22:00
<&McMartin>
No, OO.o is still better than GIMP.
22:00 * Namegduf tried to compile OO.o once.
22:00
<&ToxicFrog>
A superset of UI that includes documentation and whatnot.
22:00
<&McMartin>
GIMP has no line tool.
22:00
< Namegduf>
Hold shift.
22:00
< Namegduf>
It's a shitty UI, though, yes.
22:00
<&McMartin>
Their answer to "where i sthe line tool" is a 20-page document explaining in great detail where the shift key is.
22:01
< celticminstrel>
Funny thing is, the preferences recognize that there's a local copy of help, but when I go to help it directs to the help missing page.
22:01
<&McMartin>
This used to be a snarky geocities page and is now the official document.
22:01
<&McMartin>
The tone throughout is that the idea that there might be a line tool is some kind of completely unreasonable question.
22:01
< Namegduf>
OO.o has one of those build systems you're supposed to consider an internal monstrosity which only works on your machines.
22:01
<&ToxicFrog>
Well, no
22:02
< Namegduf>
Significant parts of the distribution are turned on or off depending on arch.
22:02
<&ToxicFrog>
The tone is that it's completely unreasonable that you don't just psychically know that the shift key (aka the "whatever the fuck we want it to be" key along with ctrl and alt) makes lines.
22:02
< Namegduf>
I managed eventually to convince it to build on 64-bit but others couldn't make the same thing go on 32-bit.
22:02
< Namegduf>
This was back when they didn't actually offer a 64-bit build.
22:02
<&McMartin>
VirtualBox's was similar.
22:02
<&McMartin>
And in fact also checked your username
22:02
<&McMartin>
Since individual devs apparently had custom tweaks.
22:02
<&McMartin>
So I blame Sun for all of this.
22:02
< Namegduf>
Wow.
22:03
<&ToxicFrog>
Also, for the last three years I haven't touched any sort of word processor and I've never been happier~
22:03
< Namegduf>
As for bad UI, OO.o's Impress was useless
22:03
<~Vornicus>
I use Word for my current mad quest to do every problem in my Calculus book, because I could not for the life of me get LaTeX to do what I want.
22:03
< Namegduf>
It *may* be better now, but previously it both looked shit and didn't have enough customisation options to make it stop looking shit.
22:04
< Namegduf>
I think the backgrounds or something were stricted to the pre-provided set.
22:04
<~Vornicus>
Where this "what I want" is, for the most part, four clicks away in Word.
22:04
< celticminstrel>
I can never remember the argument order for ln, and the man doesn't help because it says "source-file" and "target-file" which doesn't do a good job of explaining which is the original file and which is the new link.
22:04
< Namegduf>
This is in addition to the whole thing being some of the slowest and laggiest software around.
22:05
<&ToxicFrog>
celticminstrel: man here lists it as "target" and "link-name" which is unambiguous
22:05
< celticminstrel>
So I guess I can blame Apple for that one.
22:06
<&ToxicFrog>
But this may help: it's the same order as arguments to cp or mv (ln from to), except that "to" ends up as a link rather than the actual file.
22:06
< celticminstrel>
In other news, I guess X11 doesn't understand Mac aliases.
22:06
< celticminstrel>
Okay, remembering it that way might help.
22:06
< Namegduf>
The funniest bad software, though, has to be Java Applets.
22:07
< Namegduf>
Which threw away a huge install base just because they couldn't get possibly the most crucial performance metric for a website, load time, to within tolerable margins.
22:07
< Namegduf>
Nowadays people worry about tenths of a second.
22:07
< celticminstrel>
Aliases and symlinks are shown the same way in the Finder though.
22:07
< celticminstrel>
So you'd think they'd try to actually make them interchangeable.
22:08
<&McMartin>
Java Applets can DIAF anyway
22:08
< Namegduf>
Theoretically, they could have approached Native Client today in performance and functionality.
22:08
<&ToxicFrog>
celticminstrel: an Alias in OSX is analogous to a Shortcut in windows
22:08
< Namegduf>
They just completely failed to, because they were Java applets.
22:09
< celticminstrel>
Alright, so when I go to Help it now works, but when I go to User Manual and choose an option from the submenu, I still get Help Missing (though a different version of it).
22:09
<&ToxicFrog>
Which is to say, it's a regular file that gets special handling by finder, not by the filesystem
22:09
< celticminstrel>
Ahh.
22:10
<&ToxicFrog>
(the main reason you would want to use aliases rather than normal symlinks, AIUI, is that if you move the file the alias points to, OSX will automatically update any aliases pointing to it as well)
22:10
< celticminstrel>
Sometimes that fails, but yes.
22:10
<&ToxicFrog>
(so you get the benefits of both symlinks (cross-filesystem linkage) and hardlinks (path-independent linkage) with the minor disadvantage of the alias being a special file that nothing else actually understands)
22:11
< celticminstrel>
So I have GIMP help. What about this User Manual thing?
22:12
< celticminstrel>
Supposedly that's what I downloaded, but apparently not.
22:13 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
22:13
< Namegduf>
That lesson concludes the GIMP tutorial.
22:13
< celticminstrel>
Huh?
22:14
< Namegduf>
Trying to get the documentation and not getting what you thought you'd get.
22:14 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
22:14
< Namegduf>
Tutorial in what using GIMP is like.
22:14
< Namegduf>
It was a joke.
22:15
< celticminstrel>
Well, I did get what looks like a reference manual. It's just that when I go to Help->User Manual->anything, it says "Missing Help". If I go to Help->Help it works fine.
22:15
< celticminstrel>
Help->Context Help also fails.
22:16
< celticminstrel>
Maybe the stuff is there and it's just not finding it (eg I couldn't get context help for the Blur tool, but I could go to Help contents and click on the Blur tool and get the help that way).
22:17
< celticminstrel>
Ah! I just had to restart Gimp, it seems.
22:17
< celticminstrel>
At least for the context help.
22:18
< celticminstrel>
Whatever. Good enough.
22:18
< celticminstrel>
3
22:18
< celticminstrel>
I hate GIMP anyway.
22:19
< ShellNinja>
GIMP is pretty hateful.
23:05
<&McMartin>
In other news, last night I did something useful with Clojure
23:05
<&McMartin>
viz., solved the Room of Gems and Scales with it.
23:07
<@Alek>
how about the Tree of Swords and Jewels?
23:08
<&McMartin>
The Room of Gems and Scales is a puzzle room in La-Mulana.
23:08
<&McMartin>
Solving it grants the most powerful weapon in the game.
23:08
<&McMartin>
Which I am going to need because I made a miscalculation about where this remake would be a bad idea to play ;_;
23:09
<&McMartin>
The combat difficulty is way up, with subbosses being about as hard as the main bosses were in the original, and the main bosses much worse.
23:09
<&McMartin>
I expected to brickwall on two of the main bosses, maybe.
23:09
<&McMartin>
I forgot about the Dimensional Corridor, a sub-boss rush that's mostly a speedbump in the original but which is ruining me now.
23:09
<&McMartin>
Also, it now restricts your ability to save more than it did in the original. -_-
23:45
<&ToxicFrog>
The ROGAS pissed me off in the original~
23:52
<~Vornicus>
how does the ROGAS work?
23:56
<&ToxicFrog>
You have a balance scale; you have a set of gems, each of which you can place on either the left or right side of the scale; balance the scale using all of the gems.
23:56
<&ToxicFrog>
From clues elsewhere you can determine the weight of each gem in Arbitrary Weight Units.
23:56
<&ToxicFrog>
Note that the puzzle is non-resettable; if you screw up at all you need to reload.
23:57
<&ToxicFrog>
Also note that you cannot actually balance the scales using the gems provided, and figuring out the weight of the extra thing you have to use, AFAICT, can only be done by experimenting the scale itself.
23:58 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
23:58
<&ToxicFrog>
And the reason for this is not that there is no partition of the set of gems that has balanced weights, but that the scales themselves are uneven.
23:58
<~Vornicus>
How many other things are there that you can use?
23:59
<&ToxicFrog>
AFAICT, the puzzle is designed around resetting at least once once you've used the scales to figure this out.
23:59
<&ToxicFrog>
One, as far as I know.
23:59
<~Vornicus>
(I know there's a "weight", and I guess yourself, and if this is a silly game, yourself with iron boots.)
23:59
< Moltare>
o_o
23:59
< Moltare>
the sort of game design decisions you just can't get away with these days
--- Log closed Tue Aug 14 00:00:13 2012
code logs -> 2012 -> Mon, 13 Aug 2012< code.20120812.log - code.20120814.log >

[ Latest log file ]