#gemrb@irc.freenode.net logs for 24 May 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage


[00:04:51] <tomprince> And I still haven't. But:
[00:05:13] <CIA-24> GemRB: 03tom.prince * r51c7df1739a2 10gemrb/gemrb/ (core/Interface.h includes/win32def.h): win32: Fix some dependencies.
[00:52:09] <Maighstir_laptop> Hmm, GemRB complains that it cannot find libgcc_s_dw2-1.dll and libstdc++-6.dll, fetching them from the MinGW SF page instead makes GemRB say "The application was unable to start correctly (0xc0000005). Click OK to close the application.".
[00:58:39] <Lightkey> OH HAI ERNIE
[01:01:37] <tomprince> Try make clean?
[01:05:18] <Maighstir_laptop> if the build dir and install dir are already empty?
[01:08:21] --> Gekz has joined #GemRb
[01:13:59] <tomprince> I don't know. I don't have enough experience with mingw.
[01:15:05] <tomprince> It seems like a compiler/library issue, not at gemrb one ...
[01:17:30] <Maighstir_laptop> yeah, that's what I think as well... those dll's weren't needed the last time I managed to compile it, back when I was using gcc 3.4 (now 4.5)
[01:19:16] <-- Gekz has left IRC (Changing host)
[01:19:16] --> Gekz has joined #GemRb
[01:25:00] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[01:42:32] <-- Maighstir_laptop has left IRC (Quit: Maighstir_laptop)
[02:19:37] --> Gekz has joined #GemRb
[02:25:12] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[02:40:52] <CIA-24> GemRB: 03tom.prince * rd2a49c08369e 10gemrb/gemrb/includes/win32def.h:
[02:40:52] <CIA-24> GemRB: Another build fix for win32.
[02:40:52] <CIA-24> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[02:45:32] <CIA-24> GemRB: 03tom.prince * rb903f4523c6b 10gemrb/gemrb/ (5 files in 2 dirs):
[02:45:32] <CIA-24> GemRB: TypeID: Add some missing consts.
[02:45:32] <CIA-24> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[02:47:15] <CIA-24> GemRB: 03tom.prince * rda17b0685a26 10gemrb/gemrb/core/ (Audio.cpp SaveGameIterator.cpp Sprite2D.cpp Video.cpp):
[02:47:15] <CIA-24> GemRB: And some more missing consts.
[02:47:15] <CIA-24> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[02:54:23] --> Gekz has joined #GemRb
[04:02:19] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[04:35:31] --> Gekz has joined #GemRb
[07:20:17] --> budlust has joined #GemRb
[07:25:24] --> lynxlynxlynx has joined #GemRb
[07:25:24] --- ChanServ gives channel operator status to lynxlynxlynx
[08:02:44] --> Avenger has joined #GemRb
[08:02:48] --- ChanServ gives channel operator status to Avenger
[08:02:53] <Avenger> hey
[08:03:19] <Avenger> i got 2 notices about the newest commits
[08:03:27] <Avenger> TextArea.cpp:93: warning: NULL used in arithmetic
[08:03:48] <Avenger> the second is: may i move iless to the other compatibility hacks?
[08:06:42] <-- budlust has left IRC (Remote host closed the connection)
[08:06:43] <Avenger> i wonder why i get the warning
[08:08:59] <lynxlynxlynx> oj
[08:09:47] --> budlust has joined #GemRb
[08:09:54] <lynxlynxlynx> tomprince will be happy to fix such issues
[08:10:20] <lynxlynxlynx> half of the talks here revolve around how to make changes compatible with msvc6 ;)
[08:11:05] <lynxlynxlynx> he said he already tries in msvc, but maybe your compiler flags are different
[08:11:13] <Avenger> this is gcc
[08:11:22] <lynxlynxlynx> oh
[08:11:41] <Avenger> 4.2.4
[08:12:30] <Avenger> part of the previous lts ubuntu version, so i guess, it is still widespread
[08:13:33] <lynxlynxlynx> if (im == NULL) { <-- this line, right?
[08:13:40] <Avenger> yes, and i wonder why
[08:14:10] <lynxlynxlynx> it's odd indeed
[08:14:17] <lynxlynxlynx> does it work with !im?
[08:14:41] <Avenger> if i comment it out, it works, so it uses im->
[08:14:55] <Avenger> == is not arithmetic either, is it?
[08:15:11] <Avenger> you can use == on non numbers
[08:15:15] <Avenger> like pointers
[08:15:26] <Avenger> oh wonder
[08:15:29] <lynxlynxlynx> yes, but the comparison may be memory-arithmetic
[08:15:38] <Avenger> now it spews ALL the same messages in Interface
[08:15:41] <lynxlynxlynx> i get plenty of errors even sooner
[08:15:44] <lynxlynxlynx> yes
[08:15:56] <lynxlynxlynx> Interface.cpp:1421:19: error: converting to non-pointer type ‘int’ from NULL
[08:16:12] <lynxlynxlynx> on a clean build
[08:16:18] <Avenger> yes i get 1421 and a lot others
[08:16:30] <Avenger> the same is in TextArea, you just got it later:)
[08:18:17] <lynxlynxlynx> while you're here
[08:18:28] <lynxlynxlynx> i wanted to make the bardsong spell
[08:19:02] <lynxlynxlynx> which projectile should i use? I tried with inarea* and some others from spells, but nothing resulted in an aoe effect
[08:19:30] <Avenger> inarea should be aoe
[08:19:47] <Avenger> this is bg2?
[08:19:53] <lynxlynxlynx> how
[08:20:10] <lynxlynxlynx> i tried bg2 too actually
[08:20:13] <Avenger> maybe we should see what is the original range
[08:20:27] <Avenger> and find which projectile is like that, if any
[08:21:03] <Avenger> if none fits, then we use one of the unused (and crashy in the original games) slot
[08:21:04] <lynxlynxlynx> i think it was 30'
[08:21:53] <lynxlynxlynx> i checked what creating a new projectile offers and realised i need no changes from the default
[08:21:53] <Avenger> inarea would affect opponents too
[08:21:59] <lynxlynxlynx> yes
[08:22:06] <lynxlynxlynx> p/np
[08:22:20] <Avenger> INAREAPA is probably the one
[08:22:33] <Avenger> 157
[08:22:50] <lynxlynxlynx> maybe i am using it wrong? Do i need to do more than just select the projectile in the spell? the range is set too
[08:23:02] <Avenger> the range should be 0
[08:23:08] <tomprince> The iless isn't a compatability hack...
[08:23:09] <Avenger> bardsongs are centered on self
[08:23:47] <Avenger> tom: it is, some systems got iless,some don't (those are not compatible)
[08:24:19] <lynxlynxlynx> oh, this was turn undead, that's why INAREA
[08:24:46] <tomprince> What does have iless? If something does, then it should be renamed.
[08:24:51] <Avenger> hmm turn undead works?
[08:25:04] <Avenger> ah tom, i thought some has it :)
[08:25:26] <lynxlynxlynx> i'm making it
[08:25:38] --> Maighstir_laptop has joined #GemRb
[08:26:12] <Avenger> i wonder why did you need it
[08:26:22] <Avenger> anyway, that's the least of the problems
[08:26:27] <lynxlynxlynx> i wonder though, only how and iwd2 have the turn undead effects and they clash with others in the other games
[08:27:05] <Avenger> yes, that means the turn undead spells cannot be the same
[08:27:17] <Avenger> for tob we need to write a new spell
[08:27:26] <Avenger> but, we can use the same opcode
[08:27:33] <Avenger> so it isn't a big deal
[08:27:46] <Avenger> there is the 'retreatfrom' opcode, which exists in pst
[08:28:18] <Avenger> that opcode could be used safely for either the pst style retreatfrom, or the iwd2 style turn undead
[08:28:35] <Avenger> in bg it doesn't work at all
[08:28:42] <Avenger> so, it is free to use :)
[08:29:53] <lynxlynxlynx> we always load iwdopcodes, right?
[08:30:38] <tomprince> Yes.
[08:31:06] <Avenger> hmm, i think we always load all of the opcodes
[08:31:22] <Avenger> just don't use them
[08:32:24] <Avenger> they are not referenced inside, but the plugin is loaded
[08:33:07] <lynxlynxlynx> does retreatfrom work only in pst?
[08:33:15] <Avenger> yes
[08:33:44] <-- |Cable| has left IRC (Remote host closed the connection)
[08:34:17] <Avenger> i just picked that opcode, because it is probably the opcode they wanted for turn undead :)
[08:34:34] <Avenger> they just opted for some hardcoded mess later
[08:35:13] <tomprince> Changing the 'operator bool' in Holder.h to
[08:35:14] <lynxlynxlynx> is there a nicer way to do this than copying the working effect code around and adding gametype checks?
[08:35:15] <Avenger> it is called retreatfrom in bg1/bg2, it is in the engine as text. But it is an empty code in all except pst
[08:35:33] <tomprince> operator T* Holder<T>::*() const { return ptr == NULL ? NULL : &Holder<T>::ptr; }
[08:35:39] <tomprince> should fix the other.
[08:35:43] <lynxlynxlynx> oh, so it doesn't work in iwd
[08:35:57] <lynxlynxlynx> i can just move it to iwdopcodes and the real retreat to pstopcodes
[08:36:05] <lynxlynxlynx> misread earler
[08:37:15] <Avenger> haha tom, thanks. It is totally alien, but i guess it will work.
[08:37:20] <tomprince> Installing 4.2 now to test.
[08:37:59] <lynxlynxlynx> it is also a problem in gcc 4.5
[08:38:09] <Avenger> apparrently you knew something: // FIXME: coerces to int
[08:38:13] <Avenger> hehe
[08:38:28] <tomprince> It is basically copied straight from boost. I probably should have done that to start, but I was lazy, and didn't want to look up what was needed.
[08:39:43] <Avenger> hope it compiles on all targets
[08:40:17] <Avenger> gcc 4.2.4 seems to gulp it down
[08:41:15] <Avenger> lynx: what do you mean with the opcodes?
[08:41:46] <tomprince> They have some tests in boost. smart_ptr/detail/operator_bool.hpp
[08:42:30] <tomprince> According to that, it won't work on gcc <3.0.4, and old sunpro and metroworks compilers ...
[08:42:48] <lynxlynxlynx> change { "RetreatFrom", fx_retreat_from, -1 } to { "RetreatFrom", fx_turn_undead, -1 } for non-pst games
[08:43:01] <Avenger> lynx: yes,
[08:43:06] <Avenger> that's the good idea
[08:43:22] <lynxlynxlynx> btw, now it compiles for me
[08:43:54] <Avenger> though, i would check what is in fx_turn_undead
[08:44:03] <lynxlynxlynx> of course
[08:44:04] <Avenger> maybe they are effectively doing the same ;)
[08:44:20] <Avenger> a lot of other stuff: destroying undead, etc may be done differently
[08:44:25] <lynxlynxlynx> no, turning can also result in charm or death
[08:44:59] <Avenger> well, i guess it does a level calculation
[08:45:08] <lynxlynxlynx> the control part we don't do yet, but i have it as the real effect in my tree, just couldn't test it yet due to this projectile problem
[08:45:11] <Avenger> so it is a single spell header
[08:45:22] <Avenger> we could do it without that opcode, with multiple headers
[08:45:44] <Avenger> but that's a terrible big spell :) one header for each turn undead level
[08:45:48] <lynxlynxlynx> http://pastebin.com/aBN75A0P
[08:46:40] <lynxlynxlynx> that's just for making evil clerics control the undead instead of shredding them
[08:46:42] <Avenger> this code is called from the opcode, i guess?
[08:46:47] <lynxlynxlynx> yes
[08:47:01] <lynxlynxlynx> from also the iwd2 one
[08:47:28] <Avenger> if it is called from a single point, it may be moved to the opcode. I just had it in the actor because first i didn't know how i want to implement turn
[08:47:36] <Avenger> i thought i will call it from guiscript directly
[08:47:49] <Avenger> but then i saw how iwd2 does it :)
[08:48:10] <Avenger> and i thought converting everything to spells is more modder friendly
[08:48:20] <CIA-24> GemRB: 03tom.prince * r85b7b6992721 10gemrb/gemrb/core/Holder.h:
[08:48:20] <CIA-24> GemRB: Holder: Fix 'operator bool'.
[08:48:20] <CIA-24> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[08:49:58] <lynxlynxlynx> it's called three times, but it can just be inlined
[08:50:01] <Avenger> hmm, how to pull a file if i removed from local?
[08:50:17] <lynxlynxlynx> git checkout file
[08:51:00] <Avenger> thanks
[08:52:34] <Avenger> did you ask everything you wanted?
[08:53:08] <lynxlynxlynx> enough for now, need to try the new stuff ;)
[08:53:10] <lynxlynxlynx> thanks
[08:53:28] <Avenger> see you later!
[08:53:32] <-- Avenger has left IRC (Quit: bye!)
[08:59:38] <tomprince> How does one go about setting up a msvc6 build bot on a linux machine ....
[09:02:04] <fuzzie> a vm plus some scripting on the inside
[09:02:47] <fuzzie> because you need a real Win environment to test the result starts up anyway..
[09:04:31] <fuzzie> then you just fire off msdev with a /make for your project, but maybe you'll be using cmake anyway..
[09:05:15] <fuzzie> (also good morning!)
[09:05:18] <tomprince> Well, cmake generates project files.
[09:05:23] <tomprince> Morning. :)
[09:05:50] <fuzzie> i see i missed another running Avenger visit, but that seemed pretty positive :)
[09:06:10] <tomprince> :)
[09:09:47] <edheldil> I will have to check what you replaced DelayPlugin with... because loads != works :-P
[09:10:35] <fuzzie> well, as the commit message notes, fallback no longer works properly
[09:11:00] <fuzzie> it just has a hard-coded default driver, so it picks OpenAL/SDL correctly, which are the only drivers in the tree atm
[09:11:56] <fuzzie> but it no longer provides some DelayPlugin-style "choose this last" functionality
[09:13:36] <tomprince> Well, as long as we don't have more than two choices, "choose this first" is equivalent to "choose this last".
[09:14:43] <fuzzie> sure, but then we add a choice, and your code is now worse than the old code :-)
[09:14:45] <tomprince> But I agree that eventually we will want something more sophisticated.
[09:15:04] <fuzzie> hence my thoughts that maybe just committing something is an idea; it would no doubt help with knowing what to refactor, anyway
[09:16:44] <fuzzie> e.g., asking around in the last few days, apparently GLES's implementation of paletted images is pretty bad
[09:19:34] <fuzzie> not sure precisely how :-) but i wonder
[09:21:15] <edheldil> for building the list of "sane architecture defaults" ?
[09:23:06] <fuzzie> have been playing with scummvm the last few days, they have a GSoC developer who intends to add GLES support, not sure if it will get anywhere, but if so, i expect they will get a good idea of what works well on the GLES side
[09:33:21] <tomprince> Does anybody have any experience with buildbots, what software to use?
[09:36:13] <fuzzie> well, buildbot works well :)
[09:36:33] <edheldil> I build Ubuntu packages at work, but nothing special like crosscompilation, so no useful info, I guess
[09:38:30] <fuzzie> the first step to crosscompiling gemrb is to remove -Werror anyway
[09:38:49] <fuzzie> we should get rid of the -Wcast-align, perhaps
[09:39:06] <fuzzie> since gcc got clever and sees through static_cast nowadays
[09:56:31] <-- Maighstir_laptop has left IRC (Quit: Maighstir_laptop)
[11:10:03] <lynxlynxlynx> tomprince: i can't load games anymore; loading halts with [Core]: No game to enter...
[11:10:58] <tomprince> What game?
[11:11:41] <lynxlynxlynx> how
[11:12:20] <tomprince> Any other errors?
[11:12:58] <lynxlynxlynx> nothing obvious, but i'm going through more slowly now
[11:13:24] <tomprince> I don't have how setup, but iwd load just fine for me.
[11:13:52] <lynxlynxlynx> [SaveGameIterator]: Invalid savegame directory 'default' in /home/navaden/.wine/drive_c/Program Files/Black Isle/how/mpsave <-- this is the only save game related one, but shouldn't matter, since i get the list anyway
[11:14:05] <lynxlynxlynx> and i'm not trying to load the default save either
[11:16:05] <lynxlynxlynx> No Compression Manager Available.
[11:16:07] <lynxlynxlynx> Cannot Load Compressed Bam File.
[11:16:11] <lynxlynxlynx> [Streams]: Invalid seek position: -1211509840 (limit: 41647)
[11:16:58] <tomprince> That would do it.
[11:17:15] <tomprince> Try recompiling ZLibManager?
[11:18:50] <tomprince> I am not sure why it wouldn't have, though.
[11:19:37] <lynxlynxlynx> maybe it picked up the wrong one, i see i had both ZLibManager.so and ZLibMgr.so
[11:19:49] <tomprince> I did do a rename of IE_COMPRESSION_CLASS_ID -> PLUGIN_COMPRESSION_ZLIB.
[11:19:56] <lynxlynxlynx> works now
[11:36:41] --> kettuz has joined #GemRb
[12:16:14] <-- budlust has left IRC (*.net *.split)
[12:18:17] --> budlust has joined #GemRb
[12:28:04] --> Gekz_ has joined #GemRb
[14:13:05] --> tomprince_loki has joined #GemRb
[14:18:50] <-- Gekz_ has left IRC (Changing host)
[14:18:50] --> Gekz_ has joined #GemRb
[15:03:29] --> Maighstir_laptop has joined #GemRb
[15:31:26] <-- budlust has left IRC (Remote host closed the connection)
[15:31:44] --> budlust has joined #GemRb
[17:39:01] <-- budlust has left #GemRb
[17:39:33] <-- CIA-24 has left IRC (Ping timeout: 260 seconds)
[17:50:26] --> CIA-24 has joined #GemRb
[18:07:20] <tomprince_loki> x86_64: gcc 3.3.6, gcc 3.4.6, 4.2.4, 4.4.3, 4.50, clang++ 2.0 all compile fine with -Werror off. cmake/autotools. (except 3.4.6+cmake).
[18:09:12] <fuzzie> you would hope so, really :)
[18:10:13] <tomprince_loki> Yes. :)
[18:10:14] <fuzzie> it built fine on .. mipsel, armel and powerpc last time i tried, with -Werror off
[18:10:25] <fuzzie> but that was a few weeks ago
[18:11:34] <fuzzie> are there any other architectures which would matter?
[18:12:23] <tomprince_loki> Not that I know of.
[18:12:24] <fuzzie> doesn't look like it.
[18:13:45] <tomprince_loki> Now just need to figure out how to run some automated tests.
[18:20:03] <fuzzie> just to see if the basics work, or your plans for more substantial testing?
[18:20:56] <tomprince_loki> At least the former. The latter would be nice.
[18:21:31] <tomprince_loki> I am not really sure how to do more substantial testing.
[18:23:02] <fuzzie> i just wired up a guiscript to poke at a few basics and then quit immediately, for my own testing of the former
[18:26:10] <fuzzie> some autogenerated bindings to lua or something might be the easiest way to drive everything that way..
[18:52:15] <tomprince_loki> So I have a patch here that adds configure options to disable -Werror. But then the ptr->funptr warning shows up with autoconf. I was thinking that I could just turn pedantic off too in that case?
[18:54:06] <fuzzie> well, i seem to remember -pedantic has shown up useful bugs before
[18:54:19] <fuzzie> so i wouldn't want it disabled by default, but i'm not sure what you're asking
[18:54:46] --> |Cable| has joined #GemRb
[18:54:53] <tomprince_loki> Neither am I.
[18:55:25] <tomprince_loki> I am setting up buildbots, and I don't want -Werror on.
[18:55:27] <fuzzie> a configure option to disable whatever you want sounds fine, but i think that's perhaps not what you're asking :-)
[18:55:54] <tomprince_loki> But then current test for the ptr->funptr thing then does nothing.
[18:56:21] <tomprince_loki> And so I end up with meaningless noise warrnings.
[18:56:22] <fuzzie> oh, right. well, then, yes, just bundling them both into the option sounds absolutely fine tome
[18:56:52] <tomprince_loki> Well, but if pedantic does show useful things as well...
[18:57:16] <fuzzie> well, if you want your buildbot logs to be useful for seeing warnings, i guess you want to manually add a -Werror to that autoconf test?
[18:57:59] <fuzzie> as i was rambling about earlier, the -Wcast-align spouts large numbers of warnings on some architectures too
[18:59:39] <fuzzie> as far as i could see, the only legitimate one was CREImporter::ReadChrHeader doing the broken cast around '// setting logname'
[19:00:14] <fuzzie> but then, it *did* catch that, so is it a useful warning to have enabled for those archs or not?
[20:40:27] <CIA-24> GemRB: 03tom.prince * r66c27befe3db 10gemrb/ (CMakeLists.txt acinclude.m4 configure.in):
[20:40:27] <CIA-24> GemRB: build: Add options to disable -Werror.
[20:40:27] <CIA-24> GemRB: Signed-off-by: Tom Prince <tom.prince@ualberta.net>
[22:01:57] <CIA-24> GemRB: 03lynxlupodian * r876d708c202a 10gemrb/NEWS: NEWS update
[22:01:59] <CIA-24> GemRB: 03lynxlupodian * r4d6b2b7ae132 10gemrb/gemrb/ (97 files in 41 dirs): Merge branch 'master' of ssh://gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[22:02:01] <CIA-24> GemRB: 03lynxlupodian * r6c31590c8209 10gemrb/gemrb/core/Holder.h: Merge branch 'master' of ssh://gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[22:02:03] <CIA-24> GemRB: 03lynxlupodian * re57a441c4206 10gemrb/ (CMakeLists.txt acinclude.m4 configure.in): Merge branch 'master' of ssh://gemrb.git.sourceforge.net/gitroot/gemrb/gemrb
[22:03:05] <lynxlynxlynx> forgot about it >>
[22:10:13] <-- tomprince_loki has left IRC (Ping timeout: 265 seconds)
[22:24:22] <-- Gekz has left IRC (Ping timeout: 264 seconds)
[22:43:24] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[23:15:32] <-- kettuz has left IRC (Quit: Leaving)
[23:43:03] --> Gekz has joined #GemRb
[23:45:02] <-- Maighstir_laptop has left IRC (Quit: Maighstir_laptop)