#gemrb@irc.freenode.net logs for 17 Apr 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:49:20] --> ratpor has joined #GemRb
[02:35:21] <Gekz> how to compile GemRB on Mac OS X
[02:42:01] --> fhoahf55593 has joined #GemRb
[02:42:01] <-- fhoahf55593 has left #GemRb
[03:25:14] <-- raevol has left IRC (Quit: Leaving.)
[03:54:22] --> tomprince has joined #GemRb
[04:02:07] <-- ratpor has left IRC (Quit: Get used to disappointment.)
[05:36:58] <-- Gekz has left IRC (Read error: Connection reset by peer)
[05:38:58] --> Gekz has joined #GemRb
[06:16:21] <-- tomprince has left IRC (Ping timeout: 245 seconds)
[06:16:46] <-- tomprince_loki has left IRC (Ping timeout: 245 seconds)
[07:16:59] <-- Nomad010 has left IRC (Ping timeout: 260 seconds)
[07:35:57] --> tomprince has joined #GemRb
[07:40:51] <fuzzie> Gekz: just use cmake?
[07:40:56] <fuzzie> worked for me
[08:12:51] <Gekz> how to get libsdl
[08:13:12] --> tomprince_loki has joined #GemRb
[08:13:53] <fuzzie> don't
[08:14:00] <fuzzie> get the SDL.framework and etc from the sdl site, install them
[08:14:29] <fuzzie> ie, the SDL-1.2.14.dmg
[08:40:26] <wjp> ah, right, SF scheduled downtime
[08:40:42] * wjp had forgotten
[08:41:07] <fuzzie> trying to push something?
[08:41:29] <wjp> nah, just fetching
[08:41:46] <wjp> but it seems there's nothing new anyway
[08:56:29] <Gekz> fuzzie: I did
[08:56:32] <Gekz> it didnt find it when I ran cmake
[08:56:36] <Gekz> it was all like "NO U"
[09:00:42] <Gekz> SDL_MAIN_LIBRARY_PATH not found
[09:00:45] <fuzzie> you put the framework in the right place?
[09:00:51] <Gekz> yes
[09:00:58] <Gekz> SDL_INCLUDE_DIR found itself
[09:00:58] <fuzzie> you want it as /Library/Frameworks/SDL.framework or ~/Library/Frameworks/SDL.framework
[09:01:02] <Gekz> It's there
[09:01:03] <Gekz> tha'ts not the issue
[09:01:12] <Gekz> SDL_LIBRARY is populated
[09:01:20] <Gekz> SDL_MAIN_LIBRARY_PATH is not
[09:01:27] <Gekz> I looked in the framework, there's no dylib in it
[09:01:28] <fuzzie> you're probably missing the development .dmg?
[09:01:33] <Gekz> I have both dmgs.
[09:01:54] <fuzzie> the SDL-devel-1.2.14-extras.dmg has the SDL_MAIN_LIBRARY_PATH bits
[09:02:00] <fuzzie> and there is not meant to be a dylib in either :)
[09:02:37] <Gekz> I have extras
[09:02:39] <Gekz> what do I do with it
[09:02:56] <fuzzie> unfortunately my friend with the macbook has *just* left for the weekend
[09:03:09] <Gekz> typical fail
[09:04:15] <Gekz> so wtf is a .nibn
[09:04:17] <Gekz> .nib*
[09:04:54] <fuzzie> just comment out the SDL_MAIN_LIBRARY_PATH line of CMakeLists.txt, i guess.. that should work, although not very well
[09:05:05] <Gekz> explain
[09:05:11] <Gekz> why so fail
[09:06:05] <fuzzie> and the .nib is a set of archived GUI objects, hooked into your code when it loads. it's kinda cool.
[09:06:17] <Gekz> yes.
[09:06:21] <Gekz> but what the fuck am I meant to be doing here
[09:06:22] <Gekz> .-.
[09:06:23] <fuzzie> apparently the problem with the SDLmain thing is that SDL 1.2 is kind of flaky in that regard.
[09:06:32] * Gekz is losing interest
[09:08:08] <fuzzie> no papers to avoid today? :)
[09:08:53] <Gekz> nope
[09:08:56] <Gekz> wait
[09:08:57] <Gekz> YEs
[09:08:58] <Gekz> LOL
[09:09:00] <Gekz> I forgot about it
[09:09:00] <Gekz> fuck
[09:09:03] <Gekz> it's due tomorrow night
[09:09:05] <Gekz> argh
[09:18:55] <Gekz> shit
[09:19:03] <Gekz> fuzzie: how do I pass the vorbis path
[09:19:07] <Gekz> I have to do it manually, don ti
[09:19:20] <fuzzie> i didn't have vorbis installed, so i just didn't compile it
[09:19:25] <Gekz> I have it installed
[09:19:30] <Gekz> and apparently it points to it
[09:19:37] <Gekz> but it doesnt find the headers when it compiles on its own
[09:19:38] <Gekz> >_>
[09:19:41] <Gekz> how to tell it
[09:19:47] <Gekz> add -I to make?
[09:19:59] <fuzzie> i have no idea :)
[09:21:04] <Gekz> damn you fuzball
[09:29:17] <fuzzie> well, it's our stupid cmake thing doing FIND_LIBRARY and yet not caring about the include files
[09:29:41] <fuzzie> so you need some FIND_PATH magic for the headers, but that sounds like a lot of work
[09:32:26] <Gekz> I found a way
[09:32:28] <Gekz> I'm using Xcode btw
[09:32:29] <Gekz> on an eeepc
[09:32:36] <Gekz> haha
[09:34:27] <Gekz> oh shit
[09:34:31] <Gekz> it's a typo in the source code
[09:34:36] <Gekz> I'm using 0.6.0 btw
[09:34:38] <Gekz> because sf.net is down
[09:34:54] <fuzzie> oh, well, i don't even know if that builds :)
[09:35:24] <Gekz> wait
[09:35:25] <Gekz> whut
[09:35:31] <Gekz> Xcode itself is capitalising it
[09:35:37] <Gekz> can you send me your svn dir
[09:35:51] <fuzzie> svn? :)
[09:41:03] <Gekz> you use git now?
[09:41:04] <Gekz> fuck
[09:41:11] <Gekz> whatever repo you people use, give me the most recent version
[09:41:17] <Gekz> or point me to it
[09:48:05] <fuzzie> slow connection is slow
[09:50:20] <fuzzie> git://github.com/fuzzie/gemrb.git
[09:51:03] <Gekz> FUUU
[09:51:04] <Gekz> I dont have git
[09:51:07] <Gekz> and neither does poerts
[09:51:08] <Gekz> ports*
[09:51:10] <Gekz> what's this shit
[09:51:23] <fuzzie> 'git-core'.
[09:51:31] <fuzzie> but http://github.com/fuzzie/gemrb -> 'download source'.
[09:51:56] <fuzzie> but maybe you should be papering :)
[09:52:12] <Gekz> nope
[09:52:18] <Gekz> it's 1000 words on an internet technologyu
[09:52:20] <Gekz> that's really not hard
[10:10:55] --> raevol has joined #GemRb
[10:26:14] <-- raevol has left IRC (Quit: Leaving.)
[10:31:16] <Gekz> ok
[10:31:21] <Gekz> fuzzie: we need to fix the build files
[10:31:31] <Gekz> because it refuses to let me tell it where the includes for vorbis are
[10:33:03] <fuzzie> you can just put a INCLUDE_DIRECTORIES("/path/to/includes") at the top of the ACMImporter/CMakeLists.txt for now, i think
[10:33:46] <Gekz> that's cheap
[10:33:47] <Gekz> CHEAP
[10:33:50] <fuzzie> i thought tomprince_loki's code would have fixed, but it doesn't, and i don't have time to look into it properly now
[10:33:51] <Gekz> i said fix lol
[10:33:56] <Gekz> add it to the list
[10:33:57] <fuzzie> busy mumbling incoherent Dutch into phones
[10:34:04] <Gekz> so
[10:34:05] <Gekz> normal dutch
[10:36:06] <fuzzie> spectacularly incoherent Dutch :)
[10:36:14] <Gekz> Afrikaans?
[10:45:18] <Gekz> fuzzie: now it compiling
[10:45:19] <Gekz> :D
[10:46:50] <Gekz> "_main", referenced from:
[10:46:50] <Gekz> start in crt1.10.6.o
[10:46:50] <Gekz> ld: symbol(s) not found
[10:46:50] <Gekz> collect2: ld returned 1 exit status
[10:46:50] <Gekz> "_main", referenced from:
[10:46:50] <Gekz> start in crt1.10.6.o
[10:46:52] <Gekz> ld: symbol(s) not found
[10:46:54] <Gekz> collect2: ld returned 1 exit status
[10:46:56] <Gekz> argh
[10:46:59] <Gekz> fuzzie: make it stop
[10:48:24] <fuzzie> that is the SDLmain thing, i guess
[10:48:53] <Gekz> argh
[10:48:55] <fuzzie> pretty sure you can just remove the SDL/SDL.h include in GemRB.cpp to make it run
[10:48:57] <Gekz> what can be done
[10:49:59] <Gekz> everything builds
[10:50:02] <Gekz> just the final linking there
[10:50:27] <fuzzie> but i'm not sure how to auto-include SDLmain.m
[10:51:03] <fuzzie> you can just add /Library/Frameworks/SDL.framework/Resources/SDLMain.m after 'GemRB.cpp' to gemrb/CMakeLists.txt, if you want to cheat again
[10:51:06] <Gekz> wait
[10:51:13] <Gekz> I need to include SDLMain.m?
[10:51:19] <Gekz> where's is it meant to be
[10:54:28] <Gekz> how
[10:54:34] <Gekz> fuzzie: whats the syntax
[10:56:32] <fuzzie> just find the GemRB.cpp line, add the path to SDLMain.m at the end
[10:57:00] <Gekz> I did
[10:57:04] <Gekz> it spat new and exciting errors
[10:57:08] <Gekz> about not knowing where SDL.h iso
[10:58:30] <Gekz> ah
[10:59:14] <fuzzie> yeah, looks like we're not using SDL_INCLUDE_DIR either.
[10:59:22] <fuzzie> i expect you can just change it to SDL/SDL.h for now.
[10:59:23] <Gekz> no, it was the file
[10:59:28] <Gekz> the file was fucked
[10:59:30] <Gekz> I fixed it
[10:59:35] <Gekz> but it's pissing me offin new ways
[11:00:00] <Gekz> cc1obj: warnings being treated as errors
[11:00:11] <fuzzie> i guess my trying this on a machine with SDL 1.3 was a blessing
[11:01:22] <Gekz> rage
[11:01:26] <Gekz> I hate mac
[11:01:35] <Gekz> and I dont want to compile it in X11
[11:01:36] <fuzzie> try adding boost to the mix!
[11:01:41] <Gekz> I will add it
[11:01:44] <Gekz> and it will be fine
[11:01:49] <Gekz> it wouldnt cause any issues, you just dump a header in
[11:01:54] <Gekz> this is another mess
[11:02:17] <Gekz> cc1obj: warnings being treated as errors
[11:02:30] <fuzzie> no actual errors?
[11:02:32] <Gekz> "/Library/Frameworks/SDL.framework/Resources/SDLMain.h:14: warning: struct has no named members
[11:02:46] <Gekz> "
[11:02:48] <Gekz> working on it
[11:02:50] <Gekz> pasting it in xchat fucks up
[11:02:52] <Gekz> it seees the slash and ignores it
[11:02:54] <Gekz> I hate everything about open source on Mac
[11:02:56] <Gekz> none of it is done right
[11:03:18] <Gekz> http://paste2.org/p/778408
[11:03:19] <fuzzie> it doesn't really help that there are two completely different camps
[11:03:40] <fuzzie> one of which is "the nerds using macports and dylibs buried in /opt", and the other of which is the native framework system
[11:03:52] <Gekz> I'm using both at once
[11:04:07] <Gekz> libogg and vorbis in opt
[11:04:31] <fuzzie> edit CMakeLists.txt:85 and just sabotage the warning line?
[11:04:40] <Gekz> k
[11:04:51] <Gekz> where
[11:04:53] <Gekz> which Cmakelist
[11:05:00] <fuzzie> the specific trouble with SDL is that all this SDLMain stuff is unnecessary nonsense which they don't maintain
[11:05:08] <fuzzie> the root one
[11:05:53] <fuzzie> if i start doing OS X builds, i suspect it'll be easier to just modify that colorkey line and build with SDL 1.3
[11:07:42] <Gekz> how about making a .app
[11:07:44] <Gekz> how hard is that
[11:07:55] <Gekz> I have two weeks off and very little to do
[11:08:30] <fuzzie> it's not too useful making a .app if it goes ahead and references libraries in /opt :)
[11:08:44] <fuzzie> but if you make it build in the first place for you, i'm sure that's a first step
[11:09:38] <Gekz> of course
[11:09:47] <Gekz> if it were an app, it'd include the dylibs with it
[11:09:51] <Gekz> a proper .app
[11:09:57] <Gekz> isn't that a gcc flag
[11:10:07] <Gekz> to make it look in the current directory for libs before it tries the system tree
[11:11:38] <fuzzie> i'm not sure, i've only ever bothered with the official apple framework way
[11:12:53] <fuzzie> looks like install_name_tool works fine for that too, though
[11:14:41] <Gekz> you're not listening
[11:14:44] <Gekz> this is the system tree
[11:14:46] <Gekz> this is the normal SDL
[11:14:53] <Gekz> the only part that isnt is libvorbis
[11:14:57] <Gekz> and it's a small part so it doesnt matter
[11:14:59] <fuzzie> sure, i just mean about libvorbis
[11:15:15] <fuzzie> your SDL problem is just that SDL 1.2 on OS X is awful and requires this SDLMain.m mess
[11:15:19] <Gekz> oh
[11:15:27] <Gekz> can I use the test version of SDL then?
[11:15:39] <fuzzie> because it's badly-designed and has to initialise Cocoa before your main() runs
[11:15:59] <Gekz> so I should build 1.3
[11:16:01] <Gekz> the test version
[11:16:02] <Gekz> yes
[11:16:02] <Gekz> ?
[11:16:13] <fuzzie> no, because gemrb doesn't quite work with it yet :(
[11:16:25] <fuzzie> but you seem to be 99% of the way there, if you get rid of that -Werror
[11:16:41] <Gekz> oh snap
[11:16:44] <Gekz> it seems to be done
[11:17:09] <Gekz> haha it segfaulted
[11:17:16] <Gekz> GemRB Core Version v0.6.0 Loading...
[11:17:16] <Gekz> [Core]: Initializing the Event Manager...[Core]: Initializing Variables Dictionary...[OK]
[11:17:16] <Gekz> [Config]: Trying to open GemRB.cfg [NOT FOUND]
[11:17:16] <Gekz> [Config]: Trying to open /Users/Brendan/.gemrb/gemrb.cfg [NOT FOUND]
[11:17:16] <Gekz> [Config]: Trying to open /usr/local/etc/gemrb/gemrb.cfg [NOT FOUND]
[11:17:17] <Gekz> Segmentation fault
[11:19:40] <fuzzie> nice
[11:19:47] <Gekz> I need to copy a cfg I guess
[11:20:21] <Gekz> rofl
[11:20:24] <Gekz> it didnt segfault this time
[11:20:26] <Gekz> what the hell
[11:21:05] <Lightkey> Gekz: two / at the beginning of a line for X-Chat
[11:21:07] <Gekz> fuzzie: why does the text set background colour
[11:21:13] <Gekz> Lightkey: that doesnt help when pasting
[11:21:43] <Lightkey> Gekz: why not?
[11:22:11] <Gekz> multiple lines preceded by a /
[11:22:14] <Gekz> it ignores all but hte first
[11:22:45] <Lightkey> because you only set one, I guess? it's your fault :p
[11:22:53] <fuzzie> Gekz: git blames Avenger's commit "added zefklop's patch to always turn console background black"
[11:23:13] <Gekz> why
[11:23:22] <Gekz> I'll patch it so when it exits it TERMINATES the blackness
[11:23:23] <fuzzie> i imagine because it is unreadable otherwise
[11:23:26] <Gekz> it fucks up the console
[11:23:36] <fuzzie> the code to do that is already in GemRB.cpp
[11:24:02] <fuzzie> it just doesn't run on the "you didn't have a config file" case
[11:25:56] <Gekz> cannot find gemrb.ini
[11:26:10] <Gekz> and no
[11:26:13] <Gekz> it's not running in any case
[11:26:21] <Gekz> it should run when it says "press enter to continue..."
[11:27:28] <fuzzie> "press enter to continue" is the "you broke it" case :)
[11:27:40] <Gekz> that's right
[11:27:42] <Gekz> so make it clean up
[11:27:48] <fuzzie> you can do it!
[11:27:50] <Gekz> I can do it
[11:27:52] <Gekz> but not yet
[11:27:56] <Gekz> TRYING TO GET IT WORK
[11:27:59] <Gekz> it's bitching about a lack of gemrb.ini
[11:28:01] <Gekz> wtf is that
[11:28:03] <fuzzie> then we can actually get a Gekz patch into gemrb
[11:28:12] <fuzzie> you haven't set GemRBPath in the config properly, i expect
[11:28:17] <Gekz> I did
[11:28:20] <Gekz> otherwise it wouldnt get to that
[11:28:23] <Gekz> after loading the resources
[11:28:33] <Gekz> wtf
[11:28:38] <Gekz> GUIScripts/bg2 is empty
[11:28:41] <Gekz> DAMN YOU CMAKE
[11:28:47] <fuzzie> oh, you didn't build this in-tree?
[11:28:59] <fuzzie> you have to actually do 'make install', in that case
[11:29:03] <Gekz> god damn
[11:29:03] <Gekz> hah
[11:29:06] <Gekz> I'll rebuild it
[11:29:10] <Gekz> what do I need to add
[11:29:39] <fuzzie> or just force-copy the contents of override/ and GUIScripts/ in
[11:29:57] <Gekz> YOU CANNAE MAKE ME
[11:29:57] <Gekz> ok
[11:32:19] <Gekz> it works
[11:32:20] <Gekz> :D
[11:32:23] <Gekz> jst really really slowlyt
[11:32:29] <Gekz> oh shit
[11:32:30] <Gekz> I just realised
[11:32:36] <Gekz> I have a bunch of saves very viable to use
[11:32:36] <Gekz> :D
[11:32:46] <Gekz> from various points in SoA and ToB
[11:32:55] <fuzzie> you should put them online somewhere, and get edheldil to add them to the collection, please
[11:33:05] <fuzzie> along with your weidu.log :)
[11:33:16] <fuzzie> i never have enough savegames to test things..
[11:37:36] <Gekz> my weidu.log... lol
[11:37:39] <Gekz> it's BGT
[11:37:47] <Gekz> it's a rather vast WeiDU.log
[11:37:49] <Gekz> but very very clean
[11:38:39] <fuzzie> just as good fixing things with a huge pile of mods as without
[11:41:52] <Gekz> why is the paperdoll a button in the characte cretaor?
[11:43:20] <fuzzie> we just load it from the data files :)
[11:43:35] <Gekz> it wasnt a button in BG
[11:43:40] <Gekz> you couldnt click it
[11:43:42] <Gekz> and it wouldnt go in
[11:43:42] <Gekz> haha
[11:44:00] <fuzzie> i expect we should be sabotaging it somehow
[11:45:08] <wjp> heh, oops
[11:46:26] <wjp> we do properly sabotage the one in-game
[11:46:31] <fuzzie> should be IE_GUI_BUTTON_DISABLED?
[11:47:18] <wjp> LOCKED I think
[11:48:12] <fuzzie> ah, the IE_GUI_BUTTON_NO_IMAGE stops the pressing, i guess
[11:49:10] <wjp> Button.SetState (IE_GUI_BUTTON_LOCKED)
[11:49:10] <wjp> Button.SetFlags (IE_GUI_BUTTON_NO_IMAGE | IE_GUI_BUTTON_PICTURE, OP_SET)
[11:49:17] <wjp> is what's done in bg2's GUIINV
[11:49:19] <fuzzie> will you fix it?
[11:50:18] * wjp copy-pastes
[11:51:36] <wjp> the LOCKED seems to do it
[11:51:53] <Gekz> [ResourceManager]: Searching for defsound.2da...[GemRB Override]
[11:51:53] <Gekz> Assertion failed: (stream->GetPos() == PCOffset + i * PCSize), function PutPCs, file /Users/Brendan/Downloads/fuzzie-gemrb-a67b992/gemrb/plugins/GAMImporter/GAMImporter.cpp, line 1024.
[11:51:53] <Gekz> Abort trap
[11:51:53] <Gekz> Brendan-Molloys-MacBook:gemrb Brendan$
[11:51:58] <Gekz> just after I added Imoen to my party
[11:52:20] <fuzzie> and saved, presumably
[11:52:28] <Gekz> how could I have saved
[11:52:32] <Gekz> it was straight after the cutscene
[11:53:10] <fuzzie> i added that code to spot stupid saving bugs
[11:54:45] <fuzzie> it means that when it wrote the actor to disk, it wrote the wrong amount of data
[11:55:21] <Gekz> ok
[11:55:29] <Gekz> and what can I, the plebian, do about it
[11:55:57] <fuzzie> be very confused?
[11:56:16] <fuzzie> are you running bg1 data in the bg2 engine?
[11:56:29] <Gekz> nope
[11:56:33] <Gekz> this is a clean BG2 install
[11:56:37] <Gekz> I have one preprepared
[11:56:53] <Gekz> I use it for making new clean installs
[11:56:53] <Gekz> :P
[11:57:06] <fuzzie> and not out of disk space?
[11:57:49] <Gekz> aha
[11:57:53] <Gekz> it may be saving in the wrong place
[11:58:04] <Gekz> in factg
[11:58:10] <Gekz> I believe the directory doesnt exist
[11:58:19] <Gekz> yep
[11:58:24] <Gekz> ./save doesnt exist
[11:58:24] <Gekz> haha
[11:58:28] <Gekz> OHDEAR
[11:58:32] <Gekz> I plotted against myself I did
[11:58:33] <fuzzie> meh, we should probably check for that :-)
[11:58:50] <Gekz> yes
[11:58:54] <Gekz> where's the code for saving
[11:58:54] <fuzzie> obviously if it writes *no* data, then that is the wrong amount of data, hence why the assert fires
[11:59:42] <fuzzie> gemrb/plugins/Core/SaveGameIterator.cpp:490 is probably the place to check
[12:00:28] <Gekz> erm
[12:00:32] <Gekz> why didnt that run then
[12:00:47] <fuzzie> it only tries making the savegame directory itself, i expect
[12:00:48] <wjp> ah, SF is starting to come back up
[12:01:10] <Gekz> fuzzie: isnt that what it's meant to do
[12:01:40] <fuzzie> this is why i want an easy-to-use bugtracker, just to dump this kind of thing in
[12:02:20] <Gekz> lol
[12:02:24] <Gekz> this code is SO UNCLEAN
[12:02:53] <fuzzie> well, this is what tomprince has been trying to tidy up
[12:03:08] <Gekz> and it's hardly commented
[12:03:08] <Gekz> ll
[12:03:22] <fuzzie> but it's difficult to balance the goals "make gemrb actually fun to play" and "make gemrb tidy code", because the latter usually breaks things :(
[12:03:28] <Gekz> I would propose perhaps freezing all development temporarily and auditing
[12:03:39] <wjp> yeah, right :-)
[12:03:56] <Gekz> or at least agree on a coding scheme
[12:03:57] <Gekz> :o
[12:04:07] <fuzzie> fully-tested not-breaking-things cleanup patches welcome :-)
[12:04:38] <fuzzie> otherwise you waste the next 5 years doing cleanup
[12:05:34] <fuzzie> the savegame code is definitely high on the list of things which need serious work.. i think i already applied a couple of tomprince's patches there?
[12:18:00] <Gekz> does current trunk on sf.net build?
[12:18:11] <Gekz> it's having an error for me in two places
[12:18:23] <Gekz> install Library TARGETS given no DESTINATION!
[12:18:30] <Gekz> at Core/CMakeLists.txt
[12:18:47] <Gekz> and Unknown CMake command "ADD_GEMRB_PLUGIN" in 2DAImporter
[12:20:00] <fuzzie> current sf git should be the same as the git i linked to
[12:23:32] <Gekz> fuzzie: correct
[12:23:35] <Gekz> same error for both on Windows
[12:23:41] <Gekz> with cmake .. -G "MinGW Makefiles"
[12:25:18] <fuzzie> o.O
[12:25:31] <Gekz> yep
[12:25:32] <fuzzie> what does 'git show 930101a4b39dad417484aea17f40a4ce0aacfb7c' say?
[12:25:41] <Gekz> I dont have git installed
[12:25:57] <fuzzie> how did you get current sf.net trunk?
[12:26:09] <Gekz> hehe
[12:26:12] <Gekz> snapshot of head
[12:26:16] <Gekz> click snapshot
[12:26:24] <fuzzie> anyway, check Core/CMakeLists.txt
[12:26:47] <fuzzie> it should have IF(WIN32) INSTALL(TARGETS gemrb_core RUNTIME DESTINATION ${LIB_DIR}) or similar
[12:27:11] <Gekz> it does
[12:27:43] <fuzzie> Hmph, then.
[12:29:07] <Gekz> do you use gtalk?
[12:29:12] <Gekz> I dont have irc working correctly on my desktop
[12:29:23] <fuzzie> you can talk at fuzzie@fuzzie.org, i expect
[12:29:27] <Gekz> wait a moment!
[12:29:29] <Gekz> I CAN USE A PASTEBIN
[12:29:35] <fuzzie> but i think this is a known bug
[12:29:46] <fuzzie> i was just under the impression it was fixed.
[12:30:28] <Gekz> http://paste2.org/p/778486
[12:31:13] <fuzzie> that second one is just weird
[12:31:56] <fuzzie> the first one is probably because it has no idea where to install to, running cmake with '-DPREFIX=.' is probably a fix
[12:33:13] <Gekz> DPREFIX did not fix
[12:33:30] <Gekz> y so fail
[12:35:05] <fuzzie> you have to delete CMakeCache.txt first, prbly
[12:35:09] <fuzzie> i sure hate build systems
[12:35:26] <Gekz> I did delete it first
[12:35:31] <Gekz> that was indeed the first thing I did
[12:36:07] <Gekz> lol
[12:36:12] <Gekz> all I want to do is test xD
[12:42:42] <fuzzie> i would assume cmake 2.8 changed something
[12:42:47] <fuzzie> or you broke it :)
[12:43:11] <Gekz> how the hell did I break it
[12:43:15] <Gekz> it's a clean install
[12:43:21] <Gekz> of both mingw and cmake
[12:56:55] <Gekz> fuzzie: ok, how about some optional features
[12:57:04] <Gekz> fuzzie: for example, when you create a character, have it create a backup of it
[12:57:20] <Gekz> with a switch in a .cfg for it
[12:58:36] <CIA-74> GemRB: 03wjpalenstijn * r08acce258291 10gemrb/gemrb/GUIScripts/ (bg1/GUICG13.py bg2/GUICG13.py iwd/CharGen.py): Lock paperdoll buttons in chargen to make them unpressable
[12:59:02] <Gekz> lol
[12:59:14] <Gekz> wjp: where is the character creator stuff
[12:59:20] <Gekz> is it all GUIScripts?
[13:00:13] <wjp> yes
[13:00:46] <Gekz> can you give me a quick runover about the CharGen#.py ?
[13:00:51] <Gekz> what's the hierarchy here
[13:01:18] <wjp> no faster than if you looked yourself :-)
[13:01:47] <wjp> GUIREC.py has the export character functionality, by the way
[13:02:11] <Gekz> why so oddly named
[13:02:17] <Gekz> what happened to intrinsic naming
[13:02:50] <wjp> it's the name of the CHU
[13:03:10] <Gekz> I see.
[13:03:13] <Gekz> I'd need a map
[13:03:23] <Gekz> actually, is there one?
[13:04:05] <wjp> area map? world map? code map?
[13:04:26] <Gekz> hash map
[13:04:27] <Gekz> haha
[13:04:35] <Gekz> GUIREC.py => Export functions, etc
[13:04:42] <Gekz> GUILULZ.py => lolcats, etc
[13:05:01] * wjp goes shopping; back later
[13:05:10] <Gekz> argh
[13:05:11] <Gekz> lol
[13:07:50] <Gekz> fuzzie: how do you traverse this source?!
[13:10:08] <fuzzie> by knowing how it all works :)
[13:10:33] <Gekz> memorising it all is not an excuse :o
[13:10:45] <Gekz> I've found what I'm looking for
[13:10:47] <Gekz> and I'm not sure how!
[13:11:12] <fuzzie> if i google the names, then i just get weidu logs
[13:11:15] <Gekz> fuzzie: do any of the .py's interact with the GemRB.cfg?
[13:12:17] <fuzzie> not directly, i think
[13:12:35] <Gekz> can it get a var from them?
[13:12:52] <fuzzie> grep for "GUIEnhancements" to see an example of how to copy a var
[13:13:05] <fuzzie> but that includes core code
[13:13:13] <Gekz> one sec, looking at ExportFile.py
[13:13:18] <Gekz> and seeing which bits I need to pillage
[13:13:44] <fuzzie> did you fix the background thing?
[13:13:48] <Gekz> not yet
[13:13:57] <fuzzie> http://gemrb.sourceforge.net/wiki/doku.php?id=guiscript:start btw
[13:13:57] <Gekz> got sidetracked by more interesting rage inducing things
[13:14:38] <Gekz> GemRB.GetVar("GUIEnhancements")
[13:14:43] <Gekz> so that gets the var from the cfg?
[13:14:56] <fuzzie> yep, but the core has to have the name
[13:15:14] <Gekz> ok
[13:16:46] <fuzzie> you want some 'AlwaysExport' or similar?
[13:17:01] <Gekz> let me try to add it :P
[13:19:00] <Gekz> what do I do for the atoi part?
[13:19:27] <Gekz> } else if (stricmp( name, "GUIEnhancements" ) == 0) {
[13:19:27] <Gekz> GUIEnhancements = ( atoi( value ) == 0 ) ? false : true;
[13:19:46] <Gekz> } else if (stricmp( name, "AlwaysExport" ) == 0) {
[13:19:50] <Gekz> AlwaysExport = ( atoi( value ) == 0 ) ? false : true;
[13:19:50] <Gekz> ?
[13:19:56] <fuzzie> well, this is a 0/1 flag, so that seems ok?
[13:20:02] <fuzzie> it is not really a very tidy mechanism
[13:20:24] <Gekz> what isn't?
[13:20:56] <fuzzie> the huge if statement
[13:21:02] <Gekz> oh, it isn't
[13:21:08] <Gekz> wouldnt it make more sense to have been a function in the first place
[13:21:19] <Gekz> less code repetition
[13:31:24] <Gekz> fuzzie: btw, how do I do an intree compile with cmake?
[13:32:02] <fuzzie> just 'cmake .' in the root, i think?
[13:32:19] <Gekz> already did that, that's how I built it
[13:32:44] <Gekz> teehee
[13:32:47] <Gekz> now to see if these modifications work
[13:34:08] <Gekz> ooh I have git now
[13:34:08] <Gekz> :)
[13:47:28] <Gekz> lol
[13:47:32] <Gekz> I guess I'm doing it wrong
[13:48:13] <Gekz> oh shit
[13:48:16] <Gekz> fuzzie: something odd
[13:48:38] <Gekz> Infinity
[13:48:39] <Gekz> erm
[13:48:56] <Gekz> if(GemRB.GetVar ("AlwaysExport")):
[13:48:57] <Gekz> GemRB.SetNextScript("ExportFile")
[13:48:57] <Gekz> GemRB.EnterGame()
[13:48:57] <Gekz> this
[13:49:01] <Gekz> that works
[13:49:02] <Gekz> BUT
[13:49:11] <Gekz> it loads the window then instantly starts playing
[13:49:32] <Gekz> it makes the UI shit a brick indeed
[13:54:59] <fuzzie> yes, 'EnterGame' means 'start playing' :)
[13:55:59] <fuzzie> you need to call EnterGame in ExportFile.py, probably.
[13:57:22] <Gekz> I did it a "better" way
[13:57:24] <Gekz> I'll see if it works
[14:03:06] <Gekz> nope
[14:03:09] <Gekz> the better way doesnt work
[14:03:09] <Gekz> haha
[14:03:59] <Gekz> fuzzie: GemRB.ExecuteString ("EquipMostDamagingMelee()", MyChar)
[14:04:02] <Gekz> what is this for
[14:05:34] <fuzzie> equips the appropriate weapon from inventory
[14:05:52] <Gekz> why is that not part of the EnterGame function?
[14:06:14] <fuzzie> because EnterGame is "start game", not "mess with party" :)
[14:06:34] <Gekz> I dont think putting EnterGame in ExportFile would be appropriate
[14:06:44] <Gekz> unless, can it tell what script it was called by?
[14:07:21] <fuzzie> you can give it that data via python or via the game vars, i assume
[14:07:28] <fuzzie> i don't know, though, you'd be better asking lynx
[14:07:45] <Gekz> he isn't here
[14:07:46] <Gekz> haha
[14:08:21] <Gekz> where is the GemRB class defined
[14:09:22] <fuzzie> it's not a class, it's a module implemented in C.
[14:09:24] <Gekz> is it the .cpp file
[14:09:32] <Gekz> which file in particular?
[14:09:36] <Gekz> or is it core
[14:09:38] <fuzzie> GUIScript :)
[14:09:53] <Gekz> GUIScript.cpp?
[14:09:55] <fuzzie> mhm
[14:10:28] <Gekz> o.o?
[14:10:29] <Gekz> where
[14:10:29] <Gekz> ll
[14:10:42] <Gekz> OH
[14:11:00] <Gekz> its OWN module
[14:11:48] <fuzzie> sorry, busy, as you can maybe tell
[14:11:52] <Gekz> it's ok
[14:11:54] <Gekz> I'm patient
[14:36:24] <Gekz> fuzzie: I'm testing a few things I added
[14:36:43] <Gekz> firstly, the SetNextScript now sets two variables
[14:36:47] <Gekz> CurrentScript, and LastScript
[14:36:59] <Gekz> so you can core->GetVar("LastScript") to get the last script run
[14:57:59] <Gekz> hmm
[14:58:03] <Gekz> I see the token system now
[14:58:03] <Gekz> lol
[15:06:50] <Gekz> eh
[15:06:52] <Gekz> serious breakage
[15:06:56] <Gekz> will try again tomorrow
[15:11:58] <tomprince> Morning
[15:12:05] <Gekz> lol
[15:12:08] <Gekz> hi
[15:15:25] --> Gekz_ has joined #GemRb
[15:15:54] <tomprince> I have been trying to clean up the code. :)
[15:16:14] <Gekz_> THANK FUCK
[15:16:18] <Gekz_> FOR SWP FILES
[15:16:22] <Gekz_> my Mac OS X just locked up completely
[15:16:26] <Gekz_> couldnt save the code i just did
[15:16:28] <Gekz_> I was like OH NOES
[15:17:02] <-- Gekz has left IRC (Ping timeout: 246 seconds)
[15:17:03] <tomprince> But the current state of the code isn't an unreasonable state of affairs. I probably wouldn't be working on gemrb, if it hadn't mostly just worked for me when I started playing around with it.
[15:18:37] <Gekz_> I'm finding that the same
[15:18:43] <Gekz_> I was simply overwhelmed at first
[15:18:47] <Gekz_> it flows pretty well :)
[15:21:18] <Gekz_> tomprince: I'm quite excited about my trivial edits rofl
[15:24:18] <Gekz_> tomprince: where is the proper place to initialise a token in core->GetTokenDictionary()
[15:25:42] <fuzzie> Why would you want to?
[15:26:31] <fuzzie> Oh dear, that is being abused for NextScript?
[15:27:04] <Gekz_> fuzzie: turns out I didnt need it'
[15:27:13] <Gekz_> fuzzie: I'm just asking questions haha
[15:27:15] <Gekz_> don't worry :o
[15:29:44] <tomprince> The MSVC6 project files are crazy, some files are given by absolute paths, and some by relative. :(
[15:29:49] <fuzzie> that is Avenger sneaking in terrible things
[15:30:05] <fuzzie> i mean, the tokens
[15:30:12] <Gekz_> wtf is a "Bus error"
[15:30:40] <Gekz_> fuzzie: my understanding of the tokendictionary is it stores strings
[15:30:46] <Gekz_> while the other dictionary stores ieDwords
[15:31:26] <fuzzie> the token dictionary is for replacing things like <CHARNAME> in game data strings.
[15:32:08] <fuzzie> tomprince: absolute paths?
[15:32:45] <Gekz_> fuzzie: then why is it being used to hold NextScript in ExportFile.py!
[15:32:52] <Gekz_> GemRB.SetNextScript (GemRB.GetToken("NextScript"))
[15:32:58] <fuzzie> Gekz_: because Avenger didn't want to make it work properly, i think.
[15:33:12] <Gekz_> so what choice was I left with?
[15:33:14] <fuzzie> if you look, the only such code is the ImportFile/ExportFile he added in one go.
[15:33:22] <fuzzie> i just mean "gosh, we should fix that".
[15:33:22] <Gekz_> I did look
[15:33:25] <Gekz_> well
[15:33:28] <Gekz_> how should we fix it?
[15:33:29] <Gekz_> lol
[15:33:34] <Gekz_> add another dictionary for alterate strings?
[15:33:39] <fuzzie> we don't need a dictionary at all
[15:33:51] <Gekz_> ok
[15:33:52] <Gekz_> what then
[15:34:02] <fuzzie> just some python variable somewhere :)
[15:34:18] <Gekz_> a python dictionary
[15:34:19] <Gekz_> lolol
[15:34:43] <Gekz_> fuzzie: it would need to be global though
[15:34:45] <Gekz_> so where does it go
[15:34:52] <fuzzie> pick a module :)
[15:35:00] <Gekz_> what
[15:35:01] <Gekz_> >_>
[15:35:33] <fuzzie> i think we generally stuff things into GUICommon
[15:36:28] <Gekz_> ok
[15:36:29] <Gekz_> lol
[15:36:42] <Gekz_> after all that molestation I think I need to reclone the git
[15:36:57] <Gekz_> lol
[15:37:50] <fuzzie> tomprince: oh, right, hardcoded python/openal/zlib paths? they are difficult to avoid, i think
[15:38:22] <Gekz_> ohgod the cmake files I modified
[15:38:35] <Gekz_> dont delete those!
[15:38:36] --- Gekz_ is now known as Gekz
[15:38:42] <tomprince> No, most cpp files have hardcoded path to c:/gemrb, some are relative.
[15:38:50] <Gekz> lolwhat
[15:38:51] <Gekz> that's bad
[15:39:00] <Gekz> use a constant!
[15:39:07] <fuzzie> where are they hardcoded?
[15:39:33] <fuzzie> you're sure you're not looking at files which you already opened in msvc?
[15:39:49] <tomprince> Yep.
[15:40:20] <tomprince> It isn't too bad of a thing, it means I can clone the project in a seperate hierarchy, except then that breaks with the relative paths.
[15:41:07] <fuzzie> i fixed the non-gemrb paths using sed and then it just worked for me, and it wasn't in c:\gemrb.
[15:41:15] <fuzzie> it doesn't look like any of that has changed, looking at the repository.
[15:41:54] <fuzzie> but in any case, they're just text files, so i would suggest just applying sed to your relative paths. :)
[15:43:11] <tomprince> I just went and added all the files by hand, and delete duplicates. Didn't want to shutdown the VM for a sane sed.
[15:44:41] <fuzzie> *nod*, I just used vmware's Shared Folders, i think.
[15:45:10] <tomprince> I could probably do that, but I am too lazy to get samba working.
[15:46:00] <Gekz> fuzzie: .. so I can add variables in GUICommon.py?
[15:46:18] <fuzzie> ah, well, my own machine not being x86, other people do all the fiddly bits for me before i borrow machines :)
[15:46:21] <fuzzie> Gekz: sure?
[15:46:37] <fuzzie> or if they're just for one game, perhaps in the game-specific equivalent
[15:46:45] <Gekz> no, it's for all
[15:47:18] <fuzzie> i mean, i am not an expert on the design there, but in the absence of lynx, it seems the sensible thing
[15:47:24] <Gekz> kk
[15:48:30] <tomprince> What are you doing?
[15:48:37] <fuzzie> but the more the python is self-contained, the better
[15:48:54] <fuzzie> we should probably pass it all the config variables directly
[15:49:10] <Gekz> tomprince: um
[15:49:11] <Gekz> fuck
[15:49:17] <Gekz> oh!
[15:49:32] <Gekz> an option so that when you click accept on creating a character, it asks you to export it
[15:50:00] <fuzzie> for all those people who spend 3 youtube videos of time on customising a single character? :)
[15:50:01] <Gekz> I was thinking about things lacking from Baldur's Gate, and this is a simple thing I could tackle ;P
[15:50:09] <Gekz> basically.
[15:50:17] <Gekz> also, I always forget to export
[15:50:23] <Gekz> so when it crashed on the first load up COUGH
[15:50:26] <Gekz> I have to reclick
[15:50:27] <Gekz> haha
[15:53:59] <Gekz> fuzzie: what namespace is GUICommon in?
[16:06:55] --> Nomad010 has joined #GemRb
[16:09:38] <Gekz> fuzzie: it'd be a pretty big overhaul to use GUICommon for SetNextScript
[16:09:42] <Gekz> and GetNextScript
[16:11:42] <fuzzie> but you can pass purely guiscript-internal information around using them, such as those non-token SetToken/GetToken calls.
[16:11:55] <Gekz> yes I know
[16:11:56] <Gekz> but
[16:12:15] <Gekz> but.
[16:12:16] <Gekz> lol
[16:12:19] <fuzzie> i mean, i didn't mean to suggest *you* change it, just that it should be changed. :)
[16:12:28] <Gekz> already started, lol
[16:14:42] <Gekz> fuzzie: that export script doesnt even work!
[16:14:43] <Gekz> lolo
[16:14:47] <Gekz> he'
[16:14:50] <Gekz> s getting tokens that are never set
[16:14:56] <Gekz> what the hell
[16:18:24] <Gekz> let's try this now then
[16:20:32] <tomprince> Wasn't there discussion that SetNextScript should actually be passing functions back to
[16:20:37] <tomprince> C++?
[16:20:48] <Gekz> that's kinda what I just did
[16:20:54] <Gekz> let me test it first
[16:21:40] <Gekz> had to do a nasty little hack to test my theory too
[16:21:41] <Gekz> :D
[16:22:04] <Gekz> tomprince: i rarely use git
[16:22:10] <Gekz> when doing testing on files and what not
[16:22:17] <Gekz> should I branch the clean repo, edit it
[16:22:19] <Gekz> do a diff
[16:22:25] <Gekz> then merge the patches?
[16:22:54] <tomprince> No reason to, probably. Anything you do in your private repo isn't visible to anyone else.
[16:23:06] <Gekz> lol no that's not the reason
[16:23:16] <tomprince> I just do all my work in the one repo, and switch back and forth between branches.
[16:23:17] <Gekz> "the easiest way to make a patch of what you did without remembering what you did"
[16:23:41] <tomprince> Type 'git diff'
[16:23:46] <Gekz> excellent.
[16:23:50] <Gekz> thanks
[16:23:50] <Gekz> lol
[16:26:17] <Gekz> HOLY CRAP
[16:26:18] <Gekz> it worked
[16:27:35] <Gekz> the Export function itself doesnt seem to work though
[16:29:14] <Gekz> fuzzie: another bug, if you double click on the map it doesnt exit it on that point
[16:29:44] <Gekz> BAH
[16:29:47] <Gekz> talking to Minsc: bus error
[16:29:50] <Gekz> wtf is a bus error ;<
[16:30:05] <wjp> on what platform?
[16:30:33] <Gekz> Mac OS X
[16:30:50] <wjp> ppc/intel?
[16:32:38] <wjp> if PPC, likely non-aligned data access, I think
[16:32:52] <Gekz> it's Intel
[16:33:01] <Gekz> but it's an Intel Atom..
[16:33:01] <Gekz> aha
[16:33:07] <Gekz> needless to say, I did not reproduce the bug
[16:34:11] <Gekz> Brendan-Molloys-MacBook:gemrb Brendan$ git diff --name-status
[16:34:11] <Gekz> M CMakeLists.txt
[16:34:11] <Gekz> M gemrb/CMakeLists.txt
[16:34:11] <Gekz> M gemrb/GUIScripts/GUICommon.py
[16:34:11] <Gekz> M gemrb/GUIScripts/bg2/CharGen9.py
[16:34:12] <Gekz> M gemrb/GUIScripts/bg2/ExportFile.py
[16:34:14] <Gekz> M gemrb/plugins/ACMImporter/CMakeLists.txt
[16:34:16] <Gekz> M gemrb/plugins/Core/Interface.cpp
[16:34:18] <Gekz> M gemrb/plugins/Core/Interface.h
[16:34:32] <Gekz> btw, exporting a character did work, the textbox to enter it did not
[16:34:39] <Gekz> but I selected THIEF and it saved over it :)
[16:35:31] <tomprince> fuzzie: s/WIN32/_WIN32/ doesn't work. :(
[16:36:28] <Gekz> http://dscarts.com/Add_AlwaysExport_and_Pythonise_GetNtScript_et_al.diff
[16:36:34] <Gekz> fuzzie: ^ :)
[16:36:47] <Gekz> :o it nay work
[16:36:59] <Gekz> fail paste
[16:37:03] <Gekz> http://dscarts.com/Add_AlwaysExport_and_Pythonise_GetNextScript_et_al.diff
[16:41:15] <Gekz> is it good?
[16:41:18] <Gekz> is it horrific?
[16:44:30] <Gekz> woah crap, I found a nice bug in that patch
[16:44:39] <Gekz> vars->SetAt( "AlwaysExport", (unsigned long)GUIEnhancements );
[16:44:41] <Gekz> good job Brendan
[16:44:42] <Gekz> haha
[16:45:46] <Gekz> fixed it now, lol
[16:45:51] <Gekz> reuploaded at the same link
[16:50:50] <fuzzie> that -Werror thing is going to be annoying. your python doesn't make much sense at a glance though; if num <= 2 and (num <=0)?
[16:53:12] <Gekz> in my defense it's 3am now
[16:53:39] <Gekz> woops!
[16:53:45] <Gekz> >=*
[16:53:48] <Gekz> for the 0
[16:53:53] <Gekz> it's a list from 0 to 2
[16:54:24] <Gekz> and the brackets were from testing
[16:54:56] <Gekz> fuzzie: refresh
[16:57:03] <Gekz> hmm, there is a faster way to implement what I've done tehre
[16:59:56] <Gekz> fuzzie: I have edited it again, lol, using deque as it's for FIFO queuing which is more efficient
[17:02:20] <Gekz> and I have found a logical issue with GetNextScript
[17:02:49] <Gekz> wait, nope
[17:02:56] <Gekz> 3am is a difficult time :<
[17:05:54] <tomprince> or.cz/cmake-mingw: Fixes to get GemRB to build with mingw.
[17:06:18] <Gekz> tomprince: I will use those tomorrow
[17:06:43] <Gekz> what's the whole link
[17:06:43] <Gekz> lol
[17:07:14] <tomprince> http://repo.or.cz/w/gemrb.git is the gitweb interface, and it has the git url on it.
[17:07:45] <Gekz> sexy.
[17:07:56] <Gekz> where is the mingw parts
[17:07:58] <Gekz> or are they here
[17:08:29] <tomprince> The cmake-mingw head.
[17:09:08] <Gekz> oh right
[17:09:13] <Gekz> you have a nice hydra going on here
[17:09:46] <tomprince> I do.
[17:11:43] <Gekz> well I hope my patch wasn't entirely pointless
[17:11:44] <Gekz> :P
[17:13:00] <fuzzie> tomprince: thanks
[17:13:22] <tomprince> np.
[17:13:59] <tomprince> It doesn't seem to break msvc6 anymore than it already is. :)
[17:14:43] <tomprince> And I didn't actually run it, since I have not data files in my VM yet.
[17:15:38] <Gekz> I always have a backup on my HDD
[17:15:53] <Gekz> I'll upload some Baldurs Gate I, TotSC, SoA and ToB save soon
[17:15:56] <Gekz> + my weidu.log
[17:16:33] <CIA-74> GemRB: 03tom.prince * rb80a5d3bbee7 10gemrb/ (CMakeLists.txt configure.in):
[17:16:33] <CIA-74> GemRB: win32: Drop -ansi flag, which breaks mingw, since it doesn't define WIN32.
[17:16:33] <CIA-74> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[17:16:34] <CIA-74> GemRB: 03tom.prince * r53936c82aaee 10gemrb/gemrb/includes/plugindef.h:
[17:16:34] <CIA-74> GemRB: win32: Comment out unused paramaters to DllMain.
[17:16:34] <CIA-74> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[17:16:35] --> raevol has joined #GemRb
[17:16:36] <CIA-74> GemRB: 03tom.prince * r3535ffcf8e16 10gemrb/gemrb/plugins/Core/Core.cpp:
[17:16:36] <CIA-74> GemRB: win32: Include win32def.h rather than including windows.h directly in Core.cpp.
[17:16:36] <CIA-74> GemRB: mingw apparently chokes on windows.h without WIN32_MEAN_AND_LEAN,
[17:16:36] <CIA-74> GemRB: so use win32def.h to control it.
[17:16:37] <CIA-74> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[17:16:39] <CIA-74> GemRB: 03tom.prince * reab04006dd18 10gemrb/gemrb/plugins/ZLibManager/CMakeLists.txt:
[17:16:39] <CIA-74> GemRB: cmake: Actually use zlib include dir in compiling ZLIbManager.
[17:16:39] <CIA-74> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[17:17:29] <Gekz> sweet
[17:17:44] <Gekz> ok, I really need to sleep now being 3am and all
[17:17:48] <Gekz> and I have a paper due in less than 24 hours
[17:17:49] <Gekz> lolol
[17:17:52] <Gekz> SHOULD START THAT
[17:17:54] <Gekz> bais
[18:14:18] <tomprince_loki> fuzzie: What do you think about dropping read4to4 in BMPImporter. All of our uses convert to 8bpp anyway, so better to do it all in one place?
[18:21:33] <tomprince_loki> or.cz/bitmap: does this and has fix (untested) for s/*Height/*Width/
[18:23:19] <fuzzie> all of our uses convert to 8bpp?
[18:24:20] <tomprince_loki> As far as I can tell.
[18:24:40] <-- raevol has left IRC (Quit: Leaving.)
[18:25:22] <fuzzie> i thought we were forcing 4bpp->8bpp in the loader and wasting space.
[18:25:59] <tomprince_loki> The only places we use it now is GetSprite2D, and GetImage/GetBitmap, all of which want the converted image.
[18:26:40] <fuzzie> well
[18:26:52] <tomprince_loki> I had though that we might actually pass 4bpp sprites to SDL, but we unpack them first.
[18:26:55] <fuzzie> i think 'converted' in the sense of the byte-packing only?
[18:27:21] <fuzzie> we still ideally want to not destroy the palette info, hence that TODO in the reading code
[18:28:32] <fuzzie> but no time atm to look at it
[18:28:58] <tomprince_loki> Well, 8bpp is still paletted, so nothing should be destroyed. Or do you mean that the palette is bigger than it needs to be?
[18:32:02] <fuzzie> i think we just lose the palette size completely at the moment?
[18:32:10] <fuzzie> like, the importer stomps over it, or something
[18:32:38] <fuzzie> but if i look, it actually seems to store it in NumColors, so i forget why the troubles
[18:35:07] <tomprince_loki> Although we ignore that in GetPalette, so if we call GetPalette(*,256,*) we would read garbage. But I fix that in my GetPalette patch.
[18:38:35] <tomprince_loki> Although, I think you may be right about splitting up the functionality of GetPalette.
[18:39:51] <tomprince_loki> We can actually implement the MPAL*.bmp stuff in terms of Image now, which probably makes more sense. And implement GetSprite2D in ImageMgr, in terms of GetImage or GetBitmap/GetPalette.
[18:40:52] <fuzzie> i don't see any problems with removing the 4bpp path.
[18:41:41] <fuzzie> and the Bitmap patch with the *Width thing worked fine for my first tests, i just didn't get around to checking it with the other paths yet..
[18:42:51] <tomprince_loki> I figured that. I've been busy doing research anyway. :)
[18:44:37] <tomprince_loki> I've actually stumbled upon a project that is engrossing. Which is a good thing, although not for the time I spend on GemRB. :/
[18:51:51] <Lightkey> nice to have met you
[18:52:17] <tomprince_loki> Didn't say I was going anywhere. :)
[18:52:28] <Lightkey> riiight
[18:52:37] <tomprince_loki> Right.
[18:52:40] <tomprince_loki> :)
[18:55:51] <tomprince_loki> Just that I may not be as aggresive at coding new stuff while the patch queue is still over flowing.
[21:16:57] --> lynxlynxlynx has joined #GemRb
[21:16:57] --- ChanServ gives channel operator status to lynxlynxlynx
[21:26:00] --> cfchris6_ has joined #GemRb
[21:27:28] <-- cfchris6 has left IRC (Read error: Operation timed out)
[21:36:21] <-- tomprince_loki has left IRC (Read error: Connection reset by peer)
[21:58:13] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:18:49] <tomprince> It continues to amaze me how simplifications and refactorings to cascade.
[22:24:17] --> edheldil_ has joined #GemRb
[22:25:06] <fuzzie> i like that new palette stuff a lot more
[22:26:38] <fuzzie> 'savegame', 'for-fuzzie' and 'image' are all now applied/old?
[22:28:15] <tomprince> I think so.
[22:29:51] <tomprince> Yes.
[22:30:13] <fuzzie> do you want the JPEG Importer merged?
[22:31:30] <tomprince> Probably not yet, unless someone has a use for it.
[22:31:56] <tomprince> Wait till the TIZ stuff is ready for the tree, and for all the ImageMgr stuff to get in, and then I'll rebase it.
[22:32:07] <fuzzie> ok. it would just be harmless to merge, since it doesn't touch anything else :)
[22:33:02] <fuzzie> but there's no harm it being in another tree
[22:33:30] <tomprince> Except thta it depends on some of the new ImageMgr stuff, and perhaps conflicts with some of it too.
[22:34:21] <fuzzie> well, it seems that we have resolved the issues with anything it depends on
[22:34:50] <tomprince> And if I reimplement GetSprite2D, we might as well have JPEGImporter hit the tree with the new interface.
[22:36:04] <fuzzie> *nod*
[22:37:08] <tomprince> And, depending on what happens with the TIZ stuff, there might need to be support for it in JPEG, although those changes could probably be applied afterwards.
[22:38:06] <fuzzie> well, i don't mind, just easy to apply things which clearly won't break anything :)
[22:42:32] <tomprince> I think next on my list is either the GetSprite2D thing, or cleaning up the ResolveFilePath/PathJoin refactoring.
[22:43:20] <tomprince> Most of the calls to ResolveFilePath are immediately after a call to PathJoin anyway.
[22:44:48] <tomprince> I think the s/~/$HOME/ should be moved into interface, or at least out of ResolveFilePath, since we should only do that once, on reading from the config files.
[22:46:04] <tomprince> Speaking of which, I'd be nice to allow things like the savegame dir to be outside the GamePath.
[22:46:39] * tomprince stops babbling. :)
[22:49:50] <fuzzie> Huh, that isn't supported already?
[22:50:34] --> raevol has joined #GemRb
[22:50:41] <fuzzie> Ah, it is. You had me worried. :)
[22:52:04] --> ratpor has joined #GemRb
[22:58:07] <tomprince> Weird, I thought I had tested it before, and it didn't work.
[22:58:51] <fuzzie> It is definitely used by some of the embedded users.
[22:59:22] <tomprince> Apparently I had it configured wrong. I may not have had a save subdir of the directory I pointed to.
[22:59:55] <fuzzie> Gekz had issues with the same thing earlier, perhaps a quick patch to warn about that might be an idea.
[23:00:35] <tomprince> Would you be willing to take a Great Rename part 2 patch, rather than these piecemeal patches I have been sending?
[23:01:47] <fuzzie> For just the class names? Doesn't seem like it would be a problem.
[23:02:04] <fuzzie> I don't really like the idea of such a pointless change, but I can't see it would do any harm, so if you want it..
[23:03:10] <tomprince> K. I'll roll one up after the bitmap branch has been applied, to avoid having to resolve all the conflicts that would cause.
[23:03:59] <fuzzie> I would still like to replace that PalettedImageMgr commit with something a bit .. less crazy. :)
[23:05:05] <-- edheldil_ has left IRC (Ping timeout: 276 seconds)
[23:05:52] <tomprince> I am open to suggestions. :) I agree that it is not ideal.
[23:06:38] <tomprince> The main reason that is where it is in the queue is that I need to make PLTImporter not abuse GetPalette, before I change GetPalette.
[23:06:57] <fuzzie> Mhm.
[23:08:16] <fuzzie> Well, applying a PLTImporter-only version seems fine.
[23:09:11] <tomprince> The reason I structued it the way I did, is that there was exactly one caller, and that is more or less the "optimal" interface for that one caller.
[23:10:31] <tomprince> The other part of my motivation was to (somewhat) localize the code that new about setting palettes.
[23:11:17] <fuzzie> And yes, that GetPalette thing really needs to go.
[23:11:33] <tomprince> I agree though about the horridness that is returning a std::pair.
[23:12:50] <fuzzie> And it makes no sense to have PLT as an ImageMgr.
[23:13:04] <fuzzie> I guess my probable conclusion is that the knowledge of the BG1-style BAM hack really belongs in the caller.
[23:14:01] <fuzzie> But I've been puzzling over it since you first suggested it.
[23:15:03] <tomprince> I haven't looked at the actuall palette setting code in ages. But might it make sense to return a bitmap, then combine that with a palette to generate a Sprite2D?
[23:16:07] <fuzzie> Really it would be nice to not have multiple paths for the paperdoll colouring at all, but I guess that is a lost cause.
[23:17:21] <fuzzie> And I don't really like the de-BAMming.
[23:17:38] <fuzzie> Would be nice not to bake that into the model.
[23:18:19] <fuzzie> Even if it really doesn't matter for what it's being used for now.
[23:19:00] <fuzzie> A better paperdoll would seem an obvious modding target, etc.
[23:19:32] <tomprince> Would it be possible to change PLTImporter to output something that could be run through the same repaletting that the BAMs go through?
[23:21:23] <tomprince> That would probably increase the complexity of PLTImporter, but simplify the code outside of it.
[23:21:42] <fuzzie> I don't think so.
[23:22:42] <fuzzie> The PLT output isn't an 8bpp image, etc.
[23:23:13] <tomprince> The non-deBAMing could be handled by making Bitmap not necessarily own the data it holds, and propagating that to Sprites created from it.
[23:23:58] <fuzzie> You can't store BAM data into the Bitmap, though.
[23:25:26] <tomprince> Cause of the RLE compression.
[23:26:21] <fuzzie> Maybe it's not worth worrying about, I just dislike the idea of special-casing this code so much that it couldn't be used for any of the other uses which come to mind.
[23:27:34] <tomprince> I agree with you, but I don't know if the current code is that much better in that regard.
[23:27:45] <fuzzie> Oh, it definitely isn't!
[23:28:12] <tomprince> And I think that it would be easier to come up with a more generic interface, if we had some other user, which we can do when we have that user.
[23:28:22] <fuzzie> I would like to lose the pair and just have a way to pull the coloured frames individually out of the BAM, I guess. But baking 'frame number' into the interface seems also not so nice.
[23:29:26] <tomprince> I guess it is a choice of where you want the complexity.
[23:30:54] <fuzzie> Certainly not in a function named 'GetPalette'. :-) I need to sleep, ninight.
[23:32:30] <tomprince> night.
[23:39:04] <Lightkey> oh noes,you forgot the capital n!