#gemrb@irc.freenode.net logs for 6 Aug 2010 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:14:02] --> nickdaly` has joined #GemRb
[00:15:39] <-- nickdaly has left IRC (Ping timeout: 240 seconds)
[00:40:28] --> raevol has joined #GemRb
[01:15:11] --> nickdaly has joined #GemRb
[01:17:07] <-- nickdaly` has left IRC (Ping timeout: 276 seconds)
[01:40:31] --> _pickle has joined #GemRb
[02:00:59] --> nickdaly` has joined #GemRb
[02:03:08] <-- nickdaly has left IRC (Ping timeout: 260 seconds)
[02:50:52] <-- _pickle has left IRC (Remote host closed the connection)
[03:22:09] <-- nickdaly` has left IRC (Ping timeout: 245 seconds)
[03:56:04] --> nickdaly has joined #GemRb
[04:57:53] --> edheldil_ has joined #GemRb
[05:21:49] --> nickdaly` has joined #GemRb
[05:24:13] <-- nickdaly has left IRC (Ping timeout: 276 seconds)
[06:30:40] <-- raevol has left IRC (Ping timeout: 240 seconds)
[06:32:03] --> raevol has joined #GemRb
[06:36:48] <-- raevol has left IRC (Client Quit)
[07:10:00] <-- |Cable| has left IRC (Remote host closed the connection)
[07:44:27] <-- edheldil_ has left IRC (Ping timeout: 264 seconds)
[07:50:01] --> lynxlynxlynx has joined #GemRb
[07:50:01] --- ChanServ gives channel operator status to lynxlynxlynx
[07:53:24] <fuzzie> morning
[07:56:50] <lynxlynxlynx> oj
[08:42:16] <fuzzie> really need to fix my stupid hack in the attack code :|
[08:42:40] <fuzzie> otherwise everything is working out pretty well
[08:43:26] <lynxlynxlynx> for the only-attack-what-i-can-really-see thing?
[08:43:40] <fuzzie> no
[08:44:09] <fuzzie> i have some hack which tries stopping attacks when the action disappears
[08:44:17] <fuzzie> to maintain our lists of attackers, etc
[08:44:33] <fuzzie> Actor.cpp:4569
[08:45:38] <fuzzie> i only intended it to stay for a few days :(
[08:45:59] <fuzzie> and now it's been, well, 14 months
[08:46:39] <fuzzie> i guess "re-implement triggers/fields properly" goes next on the list, for that
[08:49:01] <fuzzie> that badspells list is looking healthy so far :)
[08:49:18] <lynxlynxlynx> that was just from memory
[08:49:29] <fuzzie> well, i will be optimistic!
[08:49:46] <lynxlynxlynx> and the bg1 player is reporting some extra wierd stuff
[08:51:51] <fuzzie> well, i guess project image and simulacrum aren't going to work
[08:52:25] <fuzzie> the protection stuff i have fixed here with the object matching
[08:53:09] <fuzzie> i doubt maze/imprisonment work well?
[08:53:34] <fuzzie> and we have no code for triggers/sequencers/contingency, i think
[08:55:01] <fuzzie> is San using git?
[08:55:42] <fuzzie> and i guess if our 'write magic' is handled in guiscript for bg2, we need to move that to bg1 too
[08:55:54] <fuzzie> but i wouldn't do that yet because i need to get rid of that delay hack
[08:56:28] <fuzzie> but i will poke through those another time
[08:56:53] <lynxlynxlynx> those two work btw (haven't tried recently though), they just suffer from the same actionbar stuff
[08:57:42] <lynxlynxlynx> we do have code for maze (the data is in the intmod table that we read, but that's probably it)
[08:57:55] <lynxlynxlynx> also for contingencies, we atleast have all the conditions coded
[09:02:59] --> SiENcE has joined #GemRb
[09:03:11] <SiENcE> hey
[09:03:18] <SiENcE> i finally made a video
[09:03:38] <SiENcE> http://crankgaming.blogspot.com/2010/08/icewind-dale-1-dingux-video.html
[09:10:45] <fuzzie> nice
[09:12:15] <SiENcE> :)
[09:12:18] <fuzzie> so how many buttons do you have?
[09:12:41] <fuzzie> i guess i have to get the 'continue' button for dialog in the new keybindings too, didn't think about that
[09:12:58] <SiENcE> ah
[09:13:03] <SiENcE> here are the buttons
[09:13:04] <SiENcE> http://dingoowiki.com/index.php/Development:Tutorials:SetupInput#Using_Kernel_Driver_.28GPIO.29
[09:13:21] <SiENcE> 12keys
[09:13:31] <fuzzie> that is an impressive framerate, too
[09:13:45] <SiENcE> but Right shoulder+Dpad is used for mouse emulation
[09:14:06] <SiENcE> i hacked in the Right shoulder hotkey...so that dpad is deactivated if Right shoulder is pressed
[09:14:41] <SiENcE> mh nah...ingame framerate is much slower. i deactivated also fog....and no music/sounds
[09:15:02] <SiENcE> menu ~59fps....ingame ~15-29fps
[09:15:28] <SiENcE> but cpu is used 99% the whole time....thats really bad for batteries
[09:17:21] <SiENcE> i also disabled the edge-mapscrolling via mouse. scrolling is now only using d-pad
[09:17:52] <SiENcE> thats because, you can't move the virtual mouse like a real mouse
[09:22:46] <fuzzie> mm, i guess you really need python keybindings for that to work well
[09:23:03] <lynxlynxlynx> nice, but ouch!
[09:23:06] <fuzzie> so you can use the keys to switch between targets and UI elements and etc
[09:24:12] <SiENcE> yes
[09:24:22] <SiENcE> i need to find good keybindings
[09:24:27] <SiENcE> X is Pause
[09:25:02] <SiENcE> but A, B,Y are only used in comabination with the RightShoulder Button Hotkey for Mousebuttons 1,2,3
[09:25:14] <SiENcE> so a,b,y are free
[09:25:43] <SiENcE> and START -> Enter and SELECT -> Escape button
[09:25:58] <SiENcE> left shoulder button should be quicksave
[09:26:11] <fuzzie> my first thought would be to use the left shoulder for some 'change mode', and then have some different modes (action bar, menu, portraits, main screen?)
[09:26:23] <fuzzie> otherwise you have trouble fitting all the bindings in there
[09:26:30] <fuzzie> but you would know better :) and i have no time for it rightn ow
[09:30:05] <SiENcE> you are right, i can use both shoulder buttons for change modes
[09:30:42] <SiENcE> but it's very diffcoult to bind keys in gemrb
[09:30:50] <fuzzie> that is my fault
[09:31:06] <fuzzie> i have a fix which makes all the keypresses go via python, but it isn't finished yet
[09:31:57] <SiENcE> thats a good idea
[09:32:07] <SiENcE> and only one python file to handle all keys
[09:32:50] <SiENcE> but first i need to build the current git
[09:33:03] <fuzzie> hmm
[09:33:12] <fuzzie> you make me remember, i didn't update autotools
[09:35:25] <fuzzie> current git should use less RAM, i would like to hear if you manage to get outside with it
[09:35:32] <CIA-26> GemRB: 03fuzzie * rb1fb4d4d94d7 10gemrb/gemrb/core/Makefile.am: add new Matching.cpp to autotools build, too
[09:35:45] <SiENcE> good to know
[09:35:53] <SiENcE> yes i need autotools support
[09:36:08] <SiENcE> cmake is too hard for cross compilation
[09:36:31] <fuzzie> well, i'm not sure it'll stay around forever, but maybe we can make cmake easier to cross-compile with
[09:36:47] <SiENcE> mh, i dont know cmake
[09:37:26] <fuzzie> but i wouldn't worry about it now
[09:41:22] <SiENcE> so autotools still work with current git?
[09:42:20] <fuzzie> yes
[09:42:27] <fuzzie> well, in theory :)
[09:42:36] <fuzzie> you have to complain if we forgot to fix something
[09:48:27] <SiENcE> ^k
[10:24:31] <-- nickdaly` has left IRC (Ping timeout: 276 seconds)
[10:49:23] <-- budlust has left IRC (Quit: leaving)
[11:03:04] --> Maighstir_laptop has joined #GemRb
[12:23:11] --> budlust has joined #GemRb
[12:39:43] <-- SiENcE has left IRC (Ping timeout: 276 seconds)
[12:44:12] <Maighstir_laptop> other than disable the warning about "a character already exists in this slot", what does the | 0x8000 do in GemRB.CreatePlayer("charbase",1 | 0x8000)?
[12:56:18] <-- Maighstir_laptop has left #GemRb
[12:57:19] --> Maighstir_laptop has joined #GemRb
[12:59:41] <Maighstir_laptop> Wait, no matter. Each time I loaded my "import" window, it was moved right and down by the width of the left frame and height of the top frame. I managed to fix it though.
[13:00:21] <-- Maighstir_laptop has left #GemRb
[13:20:37] --> SiENcE has joined #GemRb
[14:24:04] <fuzzie> aha, while refactoring this, i worked out why tomprince's refactoring didn't work
[14:24:11] <fuzzie> reassuring
[15:12:05] <fuzzie> apparently we don't support this state override thingie :<
[15:12:17] <fuzzie> so that really messes up some things in a party run
[15:27:11] <-- SiENcE has left IRC (Quit: @all: cya)
[15:31:38] --> SiENcE has joined #GemRb
[15:38:10] <-- SiENcE has left IRC (Quit: @all: cya)
[15:39:45] <CIA-26> GemRB: 03fuzzie * ra927da6e4b3b 10gemrb/gemrb/core/ (3 files in 2 dirs):
[15:39:46] <CIA-26> GemRB: refactor object filtering/matching code, not yet finished
[15:39:46] <CIA-26> GemRB: (also removed the unused+broken GA_GLOBAL code, for now)
[15:40:21] <fuzzie> alas, the commit after that still has bugs :(
[15:40:28] <fuzzie> but, working on it..
[17:07:48] <lynxlynxlynx> huh, silence also disables casting
[17:12:00] <fuzzie> did you work out where it was failing?
[17:12:17] <lynxlynxlynx> nope
[17:12:27] <lynxlynxlynx> i'm trying out various spells
[17:12:38] <lynxlynxlynx> not the whole action bar is affected btw
[17:12:48] <lynxlynxlynx> the badspells page grows quickly
[17:12:53] <fuzzie> what is affected?
[17:13:36] <lynxlynxlynx> cast and innates buttons
[17:14:00] <lynxlynxlynx> quick items work, weapon selection and the starting few
[17:14:04] <fuzzie> there's no disable spellcast effect in the queue?
[17:14:23] <lynxlynxlynx> i'll have to recheck, but i doubt it
[17:14:28] <lynxlynxlynx> where would it come from?
[17:14:48] <lynxlynxlynx> and from what i remember, it just browns out the spells, you can still click on the button
[17:15:06] <lynxlynxlynx> the disable button effect would gray it out
[17:15:19] <lynxlynxlynx> there'll be a time for this too
[17:16:29] <fuzzie> well, either it's disabled, or python is called with SpellPressed
[17:20:40] <fuzzie> beyond there the code is kind of odd, though
[17:23:27] <fuzzie> so, you have any test areas/scripts for these targeting bugs?
[17:25:12] <lynxlynxlynx> which targetting bugs?
[17:25:15] <fuzzie> fixing this stuff is a lot more trivial after that pretty basic refactoring
[17:25:26] <fuzzie> the one where you get unexpected attacks, etc
[17:26:37] <lynxlynxlynx> the last warning avenger added is triggered in each combat
[17:26:51] <fuzzie> this is the "unregistered attack" thing?
[17:26:55] <lynxlynxlynx> yes
[17:27:00] <fuzzie> ignore it
[17:27:04] <fuzzie> it's a silly warning
[17:27:08] <lynxlynxlynx> it isn't targetting related
[17:27:23] <lynxlynxlynx> you meant the across-the-map attacks?
[17:27:30] <fuzzie> yes
[17:27:38] <fuzzie> looking for anything non-obvious :)
[17:27:51] <lynxlynxlynx> just set the npcs to use an aggressive script
[17:28:02] <fuzzie> i fixed it for 'default'
[17:28:06] <fuzzie> so, suggestions?
[17:28:22] <lynxlynxlynx> is that what npcs start with or just the created chars?
[17:28:27] <fuzzie> npcs
[17:30:55] <lynxlynxlynx> well try with fighter aggressive
[17:31:00] <fuzzie> agen?
[17:31:00] <lynxlynxlynx> i doubt it will be problematic
[17:31:08] <lynxlynxlynx> yes
[17:31:11] <fuzzie> it is fine
[17:31:19] <lynxlynxlynx> cool
[17:32:13] <fuzzie> some goblin is attacking me from behidn a door here
[17:32:21] <fuzzie> but i can see the red circle when i pause, so i guess that isn't a scripting bug
[17:32:52] <fuzzie> but this hold thing breaks Spellhold for me
[17:35:22] <fuzzie> oh, tomprince broke custom scripts, maybe?
[17:35:25] <fuzzie> looks like it
[17:35:26] <fuzzie> great
[17:36:06] <fuzzie> lemme mod this back to default
[17:37:51] <fuzzie> ok, still fine
[17:43:05] <lynxlynxlynx> huh
[17:43:19] <lynxlynxlynx> break or one of the other combat dispellers wiped my spellbook
[17:43:23] <lynxlynxlynx> breach
[17:47:11] <fuzzie> badspells is looking useful
[17:48:29] <lynxlynxlynx> looks like the triggers do it
[17:48:47] <lynxlynxlynx> spell trigger this time, one of the sequencers before
[18:03:50] <fuzzie> must remember to fix CanSee and friends
[18:26:17] <fuzzie> centering thing is ruining all the cutscenes :P
[18:27:35] <fuzzie> which one was the buggy soul thing? leftmost?
[18:28:31] <fuzzie> ah, yes, is in the commit message
[18:32:25] <CIA-26> GemRB: 03fuzzie * r0231eb540c4f 10gemrb/gemrb/ (3 files in 3 dirs): add SquaredMapDistance functions, use them in Range
[18:39:35] <fuzzie> lynxlynxlynx: you around?
[19:05:08] <fuzzie> ok, i made a much simpler version of this
[19:11:58] --> Maighstir_laptop has joined #GemRb
[19:16:42] <fuzzie> oh, hehe
[19:16:55] <fuzzie> i was wondering why Jan was managing to attack all the invisible mages
[19:18:44] <fuzzie> oh, hm, i am still wondering
[19:20:05] <fuzzie> hmphle
[19:23:21] <CIA-26> GemRB: 03fuzzie * rbc26c52b512b 10gemrb/gemrb/core/ (4 files in 2 dirs):
[19:23:21] <CIA-26> GemRB: implement simple object visibility/etc checks in matching/filtering
[19:23:21] <CIA-26> GemRB: this is NOT FINISHED, just committing some hopefully-working bits for now
[19:23:33] <fuzzie> any complaints should be directed to the big 'NOT FINISHED' sign please :)
[19:23:52] <fuzzie> but otherwise, whoo!
[19:29:21] <fuzzie> (in reality this is more complicated and not quite so nicely central, but will worry about that later)
[19:49:44] <fuzzie> meh, it is still broken in a bunch of places
[19:56:29] --> edheldil_ has joined #GemRb
[20:03:52] <fuzzie> anyone around?
[20:06:13] <edheldil_> yes
[20:06:24] <fuzzie> i am trying to work out if the Map::IsVisible logic is correct
[20:07:07] <edheldil_> I won't be of much help, I am afraid :(
[20:07:11] <fuzzie> ok :)
[20:08:08] <edheldil_> can you help me with IDA? How do you tell it that a function takes a parameter in ECX?
[20:09:23] <edheldil_> but maybe there's no need to care :/
[20:11:06] <fuzzie> honestly i haven't tried that recently; you want to mark it as 'thiscall'
[20:11:31] <fuzzie> which is the calling convention where 'this' is passed in ECX, i think
[20:11:35] <fuzzie> but wjp would probably know better
[20:11:47] <edheldil_> ah, so this is this :)
[20:11:59] <edheldil_> I wondered why this is used so much
[20:12:18] <fuzzie> hehe, yes :-)
[20:13:33] <edheldil_> anyway, I find it fascinating that so far I haven't anything to do with DirectX, sound, inut ... just endles strings of meaningless calls ending in some serialization fence :)
[20:13:42] <edheldil_> haven't found
[20:14:09] <fuzzie> if you search in the 'strings' window, you can find where it imports the opengl calls into variables, and then look at the cross-references there
[20:14:18] <fuzzie> oh, i guess not for pst :P
[20:14:33] <fuzzie> but you can also look at the 'Imports' window, and look at the cross-references to all the api functions
[20:15:09] <edheldil_> sure, I just wondered
[20:15:19] <fuzzie> but they are pretty well-seperated
[20:16:10] <fuzzie> some other app I was working on used MFC/Win32 API calls for *everything*, even simple bounding box checks
[20:16:20] <fuzzie> makes working out the logic a lot lazier :)
[20:34:37] <edheldil_> heh
[20:35:20] <edheldil_> [ecx] is then probably address of virtual function table, right?
[20:36:21] <fuzzie> yes
[20:36:39] <fuzzie> assuming single inheritance
[20:38:15] --> SiENcE has joined #GemRb
[21:10:49] <lynxlynxlynx> are you sure there's a need to check both invisibility states? the improved invisibility spell sets both for example
[21:10:59] <fuzzie> nope
[21:11:12] <fuzzie> that is why i said 'lynxlynxlynx: you around?' above :P
[21:11:45] <fuzzie> i think checking INVIS2 is probably wrong
[21:13:26] <CIA-26> GemRB: 03fuzzie * re87928674fd8 10gemrb/gemrb/core/Map.cpp: check endpoint in Map::IsVisible, and add explanatory comments
[21:14:44] <lynxlynxlynx> at least in the way we're using it now
[21:14:59] <fuzzie> iesdp makes claims about the states which don't agree with my observations
[21:15:22] <lynxlynxlynx> well that's new :P
[21:15:44] <fuzzie> but that code block doesn't work anyway
[21:16:20] <fuzzie> because i inverted the IE_SEEINVISIBLE check in a fit of madness
[21:17:31] <CIA-26> GemRB: 03fuzzie * r81f73a055f7b 10gemrb/gemrb/core/GameScript/Matching.cpp: some invis fixes for DoObjectChecks
[21:22:43] <fuzzie> i tried pulling this stuff out of my huge set of changes
[21:22:50] <fuzzie> because it was silly not having it committed
[21:22:57] <fuzzie> but it doesn't quite work right, so argh :P
[21:23:29] <lynxlynxlynx> as long as it isn't worse
[21:24:35] <fuzzie> well, if it is, revert it
[21:26:55] <fuzzie> trying to work out what i'm missing atm
[21:27:21] <fuzzie> really got to add better debug tools
[21:27:24] <edheldil_> stupid question, what could be at [VirtualTablePtr-0x0C] ?
[21:27:56] <fuzzie> vtable ptr for another class, maybe?
[21:28:03] <edheldil_> I can't find anything in some docs on vptr layout :/
[21:28:20] <fuzzie> oh ho ho ho
[21:29:12] <lynxlynxlynx> santa?
[21:29:22] <edheldil_> there seems to be st. like reference count or whatever, because it's InterlockDecrement'ed
[21:29:52] <fuzzie> oh, i never worked out what those were doing
[21:30:44] <fuzzie> but msvc has a weird habit of storing offsets to pointers in local vars
[21:35:06] <fuzzie> ok, this problem i'm having was supposedly impossible even with the old code
[21:39:32] <fuzzie> it seems i fixed the cases where Map::IsVisible actually works..
[21:39:55] <fuzzie> but when IsVisible says "sure, you can see right through that wall", it doesn't work so well
[21:41:30] <fuzzie> so yes
[21:41:35] <fuzzie> IsVisible is broken, not my fault
[21:41:41] <lynxlynxlynx> how come you can see through walls anyway? are the wallmaps so thin the delta can skip them?
[21:41:44] <fuzzie> it doesn't check for walls, never mind doors
[21:42:01] <fuzzie> it seems this is all marked 'SIDEWALL'
[21:42:07] <-- edheldil_ has left IRC (Ping timeout: 260 seconds)
[21:42:23] <lynxlynxlynx> btw, all arcane spells below level 6 were tried
[21:42:28] <fuzzie> if i remove the sidewall check in the fog-of-war code, i can see right through walls
[21:42:51] <fuzzie> that's great :)
[21:45:52] <fuzzie> so i think you can replace "fParty AI tries to attack creatures which are far away and out of sight" with "Party AI can see through walls", but i guess i'll see if i can fix it tomorrow
[21:46:01] <fuzzie> it is an improvement anyway
[21:54:55] --> edheldil_ has joined #GemRb
[21:55:43] <lynxlynxlynx> :)
[22:02:49] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:16:05] <-- SiENcE has left IRC (Quit: cya @all)
[22:43:59] <-- edheldil_ has left IRC (Ping timeout: 248 seconds)
[23:36:10] --> nickdaly` has joined #GemRb
[23:36:25] --- nickdaly` is now known as nickdaly
[23:58:55] --> nickdaly` has joined #GemRb