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

Archive Today Yesterday Tomorrow
GemRB homepage


[02:29:19] <-- edheldil_ has left IRC (Ping timeout: 265 seconds)
[02:40:15] --> raevol has joined #GemRb
[02:49:38] <-- budlust has left IRC (Quit: Lost terminal)
[03:11:56] --> budlust has joined #GemRb
[03:34:59] <-- budlust has left IRC (Quit: Lost terminal)
[05:20:51] --> edheldil_ has joined #GemRb
[06:07:32] <-- raevol has left IRC (Quit: Leaving.)
[06:08:44] --> raevol has joined #GemRb
[06:08:55] <-- raevol has left IRC (Client Quit)
[06:12:34] <-- edheldil_ has left IRC (Ping timeout: 245 seconds)
[07:20:40] --> SiENcE has joined #GemRb
[07:22:19] <-- |Cable| has left IRC (Remote host closed the connection)
[07:29:43] --> lynxlynxlynx has joined #GemRb
[07:29:43] --- ChanServ gives channel operator status to lynxlynxlynx
[08:00:29] <-- SiENcE has left IRC (Ping timeout: 245 seconds)
[08:35:04] <fuzzie> lynxlynxlynx: does this CureInvisibility/etc all over the combat code take into account that the invis shouldn't be dispelled?
[08:37:44] <lynxlynxlynx> why not?
[08:37:59] <lynxlynxlynx> only improved invisibility can persist through combat
[08:39:22] <fuzzie> sorry, i mean, do we handle that case and anything else? :)
[08:41:10] <lynxlynxlynx> yes, we remove only the plain invisibility
[08:41:42] <fuzzie> there's some stupid bugs which were introduced somewhere, so i spent an hour last night peering over commit logs, and thought i'd ask :)
[08:42:23] <lynxlynxlynx> add "we still draw the feet circle for enemy invisibles"
[08:42:39] <fuzzie> i like that one :p
[08:43:25] <lynxlynxlynx> it should only be done for improved invisibles *once* they are shown
[08:44:00] <fuzzie> i think i changed that code last (well, you committed it)
[08:45:43] <fuzzie> Actor.cpp:4884 needs a 'NoCircle = 1', perhaps?
[08:45:45] <lynxlynxlynx> eek, crash
[08:46:01] <fuzzie> i think your last commit last night crashes if you don't have an anim, btw
[08:46:15] <lynxlynxlynx> unhandled stance yay
[08:46:29] <lynxlynxlynx> yeah, it could
[08:46:55] <lynxlynxlynx> i saw there were two other uses like that, so i didn't bother
[08:47:44] <fuzzie> actor->size should be the size for the last anim, in theory
[08:48:04] <fuzzie> i couldn't make it work, but it was 2am
[09:04:41] --> barra_library has joined #GemRb
[09:15:42] <CIA-26> GemRB: 03lynxlupodian * r228e15b47bf2 10gemrb/gemrb/core/CharAnimations.cpp: AddLRSuffix2: handle sleep like twitching
[09:15:44] <CIA-26> GemRB: 03lynxlupodian * rf15e79e4d66a 10gemrb/gemrb/core/Scriptable/Actor.cpp: don't show the feet circle of plainly invisible enemies, thanks fuzzie
[09:19:18] <lynxlynxlynx> and yes, when a pc is held, spellcasting is still disabled
[09:19:36] <lynxlynxlynx> half of the action bar doesn't respond
[09:20:08] <fuzzie> that seems really odd, i thought it was all python
[09:25:32] --> SiENcE has joined #GemRb
[09:26:28] <fuzzie> am still trying to fix SoA, so meh
[09:27:04] <SiENcE> hey fuzzie, i got GemRB running on my Dingoo :)
[09:28:21] <SiENcE> there was no real bug...i just recompiled everything and it works.
[09:28:47] <SiENcE> still no sound, but integration openal should be easy
[09:29:15] <fuzzie> ok, cool
[09:30:06] <fuzzie> will you make any videos or photos or something? :)
[09:31:03] <SiENcE> currently my downscaler is too slow ;-)
[09:31:19] <SiENcE> but when i get a faster one done...of couse :)
[09:31:37] <SiENcE> i have to find an elegant solution for text reading
[09:31:48] <SiENcE> it's too small for some texts
[09:33:56] <fuzzie> there are probably mods which make the text bigger
[09:33:59] <-- barra_library has left IRC (Read error: Connection reset by peer)
[09:34:03] <fuzzie> but they are per-game
[09:34:21] <SiENcE> we will see.
[09:34:39] <SiENcE> if i dont downscale...everything is fullspeed
[09:34:58] <fuzzie> maybe not with openal enabled :(
[09:35:08] <SiENcE> my downscaler is damn slow :/
[09:35:22] <SiENcE> is openal slow?
[09:35:28] <fuzzie> for me, it is very slow
[09:35:36] <SiENcE> maybe i can use sdl for sound output
[09:35:45] <fuzzie> but i was trying a recent one, it is all 5.1 floating-point internally
[09:36:11] <fuzzie> i would like to hear if it's a problem
[09:36:22] <SiENcE> oh..mh...the dingoo mipsel cpu has no floatingpoint unit
[09:36:38] <fuzzie> the N900 people complain about having to ramp up their CPUs to 900mhz to make it work, but i'm not sure why
[09:36:53] <SiENcE> mh i will test it
[09:36:54] <fuzzie> if it is openal's fault, we can implement something in SDL
[09:37:03] <lynxlynxlynx> ahaha, if you attack your party member, he'll go hostile asap
[09:37:05] <SiENcE> do you know a fast cpp downscale algorithm?
[09:37:27] <fuzzie> and for downscaling, maybe dirty rectangling would help? so maybe we should implement that
[09:37:33] <fuzzie> but that is a long time away
[09:37:45] <SiENcE> mh
[09:37:47] <fuzzie> and i guess you probably want to see if someone has a downscaler in MIPS asm :)
[09:37:54] <SiENcE> i show you my current one
[09:38:22] <SiENcE> no luck...i dont know anyone who does mips asm :(
[09:38:48] <fuzzie> but right now i am a bit busy, trying to find a bug we introduced which breaks bg2
[09:39:07] <SiENcE> http://pastebin.com/2CrWt50p
[09:39:21] <SiENcE> oh..good luck
[09:40:31] <fuzzie> i was more thinking, maybe someone already has downscale code
[09:40:40] <fuzzie> i usually look at projects like scummvm and exult first
[09:41:14] <lynxlynxlynx> fuzzie: what regressed?
[09:41:23] <fuzzie> lynxlynxlynx: that stupid Bhaal dream scene
[09:41:32] <fuzzie> he doesn't follow you through the door, again: travel trigger doesn't activate
[09:41:39] <lynxlynxlynx> meh
[09:41:51] <SiENcE> thats an good idea fuzzie. i also ported exult to dingoo. works like a charm. not released yet
[09:44:37] <fuzzie> i spent all this time, more than an hour, debugging it last night
[09:44:48] <fuzzie> before realising it wasn't my object filter changes at all, it just didn't work beforehand :(
[09:45:35] <fuzzie> so far i worked out that the flag is set right, the position is correct and it doesn't help if i make it keep trying forever.
[09:45:47] <fuzzie> SiENcE: cool :)
[09:47:22] <lynxlynxlynx> maybe that avenger's change that you already suspected is the culprit
[09:48:51] <lynxlynxlynx> hmm, the saradush shout failed again
[09:48:54] <fuzzie> well, the attacker changes are kinda buggy, but those aren't to blame
[09:49:35] <fuzzie> well, maybe for shout :P i don't know
[09:50:36] <SiENcE> exult on dingoo(dingux) http://www.youtube.com/watch?v=liUiZlK8g4I
[09:51:57] <lynxlynxlynx> any objections to quieting the EscapeArea/EscapeAreaMove prints?
[09:54:54] <lynxlynxlynx> if so, i can put it into the debug ifdef
[10:21:03] <fuzzie> well
[10:21:57] <fuzzie> we should find a better solution to that whole thing
[10:22:37] <fuzzie> last time i looked, our default cmake build just sabotages all this debug stuff
[10:23:47] <fuzzie> which is a really stupid config
[10:25:34] <lynxlynxlynx> sabotages?
[10:25:42] <fuzzie> it passes -DNDEBUG
[10:25:49] <fuzzie> which disables all our asserts, for example
[10:25:56] <fuzzie> not even the original engine is built like that!
[10:26:33] <fuzzie> and so we have this _DEBUG vs NDEBUG thing going on with the #ifdefs
[10:26:43] <lynxlynxlynx> i see no mention of NDEBUG outside of one ifdef
[10:26:51] <fuzzie> it's a system thing
[10:27:20] <lynxlynxlynx> so we should just define these two when making a debug build?
[10:27:23] <fuzzie> which is why that ifdef is there, actually, you get unused variable warnings otherwise because none of the function calls actually exist
[10:27:54] <lynxlynxlynx> or one always
[10:28:04] <fuzzie> but you were proposing #ifdeffing in _DEBUG
[10:28:05] <fuzzie> ?
[10:28:13] <fuzzie> i think just commenting them out is fine
[10:28:14] <lynxlynxlynx> actually no, InDebug
[10:28:38] <fuzzie> ok.
[10:28:40] <lynxlynxlynx> the scripting debug stuff, which is not a macro
[10:28:50] <fuzzie> sure, that sounds good
[10:29:00] --> barra_library has joined #GemRb
[10:29:07] <fuzzie> any reason we don't build as RelWithDebInfo by default, btw?
[10:29:20] <lynxlynxlynx> not that I know of
[10:30:02] <fuzzie> my problem with the InDebug stuff is that it produces way too much spam
[10:30:04] <lynxlynxlynx> i'll change it
[10:30:14] <fuzzie> so i end up just modifying the code to print things manually
[10:30:23] <fuzzie> so from my point of view, any method is as good as any other :)
[10:30:45] <-- SiENcE has left IRC (Quit: @all: cya)
[10:41:42] --> SiENcE has joined #GemRb
[10:42:26] <SiENcE> ok. i rewored my own upscaler for downscale. now its fast, near fullspeed
[10:42:31] <SiENcE> reworked
[10:42:43] <SiENcE> movies play fine and menus are fast
[10:42:55] <SiENcE> ingame not yet tried
[10:43:13] <SiENcE> what game does gemrb support bests? BG1 or BG2?
[10:43:40] <lynxlynxlynx> bg1 and iwd are the simplest ones and also the least hw taxing
[10:44:20] <SiENcE> ok thx
[10:44:50] <SiENcE> are all games for min. 640x480?
[10:44:58] <fuzzie> yes
[10:45:02] <SiENcE> ok
[10:45:12] <SiENcE> i have to make a video and screenshot
[10:45:17] <SiENcE> later today
[10:46:08] <lynxlynxlynx> cool
[10:46:19] <SiENcE> since i downscale the whole screen, can i display the text console, via hotkey in a different fullscreen window?
[10:46:33] <SiENcE> or what would be the best?
[10:47:42] <lynxlynxlynx> you can't do that yet
[10:47:49] <fuzzie> we should fix that :)
[10:47:55] <fuzzie> a larger font would be the laziest way
[10:48:29] <SiENcE> mh ok
[10:48:37] <SiENcE> what about the ingame display
[10:48:58] <SiENcE> can i display it 1:1 but a smaller screenarea?
[10:49:04] <fuzzie> sure
[10:49:21] <SiENcE> ok. i ask you later howto
[10:54:45] <fuzzie> i guess i should port it to 320x240 Android if you made it work so easily :)
[10:55:05] <fuzzie> (i have no 640x480 phone to play with)
[10:57:28] <lynxlynxlynx> heh, you can't kick mazzy out of the party, you get only the ok-stay reply to choose from
[10:59:14] <fuzzie> chapter 7+?
[10:59:25] <lynxlynxlynx> tob
[10:59:32] <fuzzie> oh, right, gemrb
[10:59:42] <fuzzie> wrong dialog file :)
[11:00:13] <fuzzie> (need to use mazzy25p etc in ToB mode, right?)
[11:00:39] <lynxlynxlynx> MAZZYJ is her main dialog file
[11:00:58] <fuzzie> and mazzy25j for that, but the kick-out one is p i think
[11:03:56] <fuzzie> i thought this worked in ToB, except if you do SoA->ToB, where we don't do 90% of the expansion move
[11:04:55] <lynxlynxlynx> this is an old fresh game
[11:13:35] <fuzzie> well, i would expect you to know more about this than me :)
[11:13:51] <fuzzie> i just know we don't patch the NPCs when moving to the expansion, that's all
[11:14:12] <lynxlynxlynx> this wasn't an imported game, so this is not relevant
[11:18:19] <lynxlynxlynx> currently playing with secret door bugs
[11:27:00] <fuzzie> :)
[11:27:38] <fuzzie> oh, btw, re the predetected traps/etc bugs: the original engine doesn't highlight in red unless it was *recently* detected, so we should implement that too
[11:28:12] <fuzzie> and maybe the same 'recently detected' flag might work for secret doors, which is why i mentioned it, no idea how it's meant to work
[11:31:09] <lynxlynxlynx> i see there's a discovery% attribute for doors and that we don't set DOOR_FOUND unless a specific action is run
[11:31:54] <lynxlynxlynx> the easy thing is to add this to detect traps, but even without that players have a chance of discovery, so it should happen (also) somewhere else
[11:34:20] <fuzzie> you can detect secret doors in bg2 without detect traps at all?
[11:34:43] <lynxlynxlynx> yes, but it takes longer
[11:35:27] <lynxlynxlynx> and it is surely using this stat somehow, because i remember i wasn't able to get to the gate lich one time with no thief/cleric
[11:36:13] <lynxlynxlynx> iirc even the picture container in the chateau is secret
[11:39:15] <fuzzie> hmm
[11:41:34] <fuzzie> annoying :)
[11:44:46] <lynxlynxlynx> The name "doors" includes also all possible "secret doors" that appear on the wall after longer examination of it or using "detect trap" ability. <-- from dltcep are description
[11:46:25] <fuzzie> DLTCEP being well-known as reliable :-)
[11:46:30] <fuzzie> but i was just wondering about the stat usage
[11:50:51] <fuzzie> would make more sense if you occasionally detected traps without lookiing too hard, too :(
[11:51:00] <fuzzie> any idea what typical secret door discovery% is like?
[12:03:08] <lynxlynxlynx> this one in tob has 99
[12:03:28] <lynxlynxlynx> i still haven't found where dltcep gets this from
[12:09:12] <fuzzie> it's not just the trap detection?
[12:09:32] <lynxlynxlynx> trap detection is at 0 and lock difficulty at 80
[12:11:36] <fuzzie> it has trap x/y, trap detection, trap removal, trap flags, trap detection flags, locked, lock removal, unknown 54?
[12:13:27] <lynxlynxlynx> yes
[12:14:19] <lynxlynxlynx> no trap x/y since there is no trap though
[12:16:26] <lynxlynxlynx> or doors just don't have that like containers
[12:16:28] <lynxlynxlynx> bbl
[12:23:37] --> budlust has joined #GemRb
[12:41:42] <lynxlynxlynx> the one in the gates' tavern has 95% discovery
[12:42:27] <lynxlynxlynx> 2x90 + 1x99 in the firkraag dungeon
[12:43:54] <lynxlynxlynx> oh
[12:44:09] <lynxlynxlynx> iesdp has "0x0088 4 (dword) Detection difficulty (secret doors)"
[12:46:14] <lynxlynxlynx> we read it as Locked
[12:47:36] <lynxlynxlynx> which we use, but it seems bogus and we don't save it (//unknown field 0-100) :)
[12:51:01] <lynxlynxlynx> oh, we don't use it, that's a parameter, even better
[13:17:29] <-- SiENcE has left IRC (Quit: @all: cya)
[13:17:47] --> SiENcE has joined #GemRb
[13:19:29] <fuzzie> :)
[13:22:51] <lynxlynxlynx> maybe this worked in a very trivial way in the original
[13:23:27] <lynxlynxlynx> all the races give a bonus to find traps, then there's also the minimal bonus from dexterity
[13:23:44] <lynxlynxlynx> so maybe all it took was a lucky roll, but the mechanics were the same
[13:30:49] <fuzzie> oh, this bug is Avenger breaking the pathfinder so it never actually reaches targets!
[13:31:06] <fuzzie> Bhaal just never manages to make it close enough to the door
[13:32:54] <lynxlynxlynx> nice
[13:33:20] <lynxlynxlynx> this could be the same reason why you sometimes can't pick up loot or do the action while being practically on the same spot
[13:36:34] <fuzzie> well, at least all the other code got a few hours of review..
[13:38:33] <lynxlynxlynx> i started with 2 bugs, but they keep on pilling
[13:39:44] <-- budlust has left IRC (Ping timeout: 246 seconds)
[13:40:28] <lynxlynxlynx> currently: door->Pos is 0,0 since it is never updated
[13:42:40] <fuzzie> well, now i have a stash full of bugfixes i made as i tried fixing this
[13:44:07] <CIA-26> GemRB: 03fuzzie * r15209ccc876a 10gemrb/gemrb/core/Map.cpp: FindPathNear must check actual goal (reverts part of 76c31a98)
[13:44:47] <fuzzie> for irc log reference: if someone wants to change that, you have to fix *all* positions (infopoints, traps, doors, etc etc) to be grid-based first
[13:45:59] <fuzzie> and actors, for that matter
[13:46:19] <lynxlynxlynx> what do you think the door position should be? There's a few candidates: the center of the bounding box, either of the two possible opening points, the trap launch point
[13:47:02] <fuzzie> Bhaal works as-is, anyway, as long as he doesn't get confused by the flaky combat code
[13:47:11] <fuzzie> and i would just use the center of the bounding box, for detection
[13:47:40] <fuzzie> on the assumption that there are no absolutely huge secret doors
[13:49:35] <fuzzie> oh, and about SoA breakage: i couldn't make anything work if i attacked Jon after entering Spellhold
[13:50:32] <fuzzie> either Jon would just disappear, or he'd fail to initate dialog and the sleep/teleport would happen, and then the dialog+soul removal+dream in an infinite loop
[13:50:43] <fuzzie> let's make sure i didn't fix that with the pathfinder
[13:51:34] <fuzzie> nope
[13:53:16] <lynxlynxlynx> never tried that :)
[13:53:28] <fuzzie> me neither, but he is annoying
[13:54:47] <lynxlynxlynx> do you know in which corner 0,0 position is?
[13:54:57] <fuzzie> it breaks before cut41g, but i can't find any mention of that in my scripts/dialogs o.O
[13:55:02] <fuzzie> it's top-left
[13:55:18] <lynxlynxlynx> excellent
[13:56:03] <fuzzie> oh, i'm an idiot, i'm not checking case-insensitivity
[13:56:05] <fuzzie> never mind
[13:56:07] <lynxlynxlynx> for this door, this puts the center of the bbox in a sane spot
[14:11:05] <fuzzie> seems that AttackedBy or HitBy is returning true
[14:12:08] <fuzzie> causing the game scripts to do an emergency jump to avoid breaking the plot
[14:22:18] <fuzzie> hm
[14:22:27] <fuzzie> we do manual Allegiance changes?
[14:22:54] <fuzzie> seems the actual problem is that coordinator-join is becoming ENEMY before anything else has a chance to react
[14:23:40] <fuzzie> oh, ugh, this is a whole heap of bugs :)
[14:24:00] <lynxlynxlynx> in the shout thing, i noticed something similar
[14:24:18] <lynxlynxlynx> the speaker became an enemy before the violent talk
[14:26:02] <fuzzie> http://fuzzie.org/nfs/gemrb/var_debugging.txt is rather useful for this debugging, maybe also worth wrapping in InDebug of some (unique) kind
[14:27:35] <fuzzie> um
[14:27:42] <fuzzie> Dili just turned me into a bear :|
[14:28:23] <lynxlynxlynx> me in a couple of forms and then i was stuck with hers (on the last replay)
[14:28:36] <lynxlynxlynx> nothing scarier than a child looking level 30 kickass monk :)
[14:28:53] <fuzzie> i guess PolymorphCopy is the wrong way around :)
[14:29:52] <fuzzie> PolymorphCopyCore should turn the *first* into the *second*, and of course it has them the other way around
[14:31:29] <lynxlynxlynx> :)
[14:32:09] <fuzzie> yup
[14:34:20] <CIA-26> GemRB: 03fuzzie * r20ca89bfa7fa 10gemrb/gemrb/core/GameScript/Actions.cpp: fix PolymorphCopy, lest Dili turn us all into bears and doggies
[14:36:57] <fuzzie> ok, so if i don't attack, this is quite stable again after all my fixes
[14:39:12] <fuzzie> i'm quite amazed :)
[14:41:44] <lynxlynxlynx> why? :P
[14:45:08] <lynxlynxlynx> is there a simple way to find a value in a stream? For some reason I get 0 instead of 99 for the discovery thing
[14:46:02] <fuzzie> got an area name?
[14:46:12] <lynxlynxlynx> ar5013
[14:46:22] <lynxlynxlynx> only one door
[14:47:28] <fuzzie> ok
[14:47:50] <fuzzie> so it's key, script, dword for locked (99), dword for lock difficulty (80)
[14:48:21] <lynxlynxlynx> LockRemoval is also 0 :s
[14:48:37] <fuzzie> you're probably using a gemrb save which already corrupted them?
[14:49:11] <lynxlynxlynx> ahh
[14:49:23] <lynxlynxlynx> like i said, this one wasn't saved before ><
[14:50:01] <lynxlynxlynx> and LockRemoval isn't saved either, huh
[14:50:28] <lynxlynxlynx> but it is
[14:50:33] <lynxlynxlynx> i better shut up now :)
[14:52:45] <fuzzie> it would really help if we paused in screens
[14:53:43] <lynxlynxlynx> easy to fix
[14:55:24] <fuzzie> well, if it is, i would appreciate it :)
[14:55:46] <fuzzie> i keep having to restart gemrb because a dialog interrupted me in some screen
[14:55:48] <lynxlynxlynx> something like add GemRB.Pause(blabla) to all the Open*Window
[14:56:08] <fuzzie> and my fix to force-close the current screen only works if you're at top level
[14:56:16] <lynxlynxlynx> maybe it would work in CloseOtherWindow
[14:56:51] <lynxlynxlynx> the LockRemoval thing was my bug btw, I forgot to remove a filling
[14:56:53] <fuzzie> that wouldn't be a bad place
[14:57:27] <fuzzie> although have to bear in mind the map screen and the inventory
[14:58:50] --> budlust has joined #GemRb
[14:59:05] <lynxlynxlynx> this is different in bg1
[14:59:20] <fuzzie> sorry, i meant, because CloseOtherWindow is global
[14:59:42] <fuzzie> and so it has to work for bg1 :)
[15:00:18] <-- budlust has left IRC (Client Quit)
[15:00:29] <fuzzie> but not important, don't let me distract from the doors
[15:00:46] <fuzzie> this is pretty unplaayble with the broken object matching
[15:00:51] --> budlust has joined #GemRb
[15:01:21] <fuzzie> given that i am tired of object matching right now, is there anything else which makes things really annoying? the keybindings, i guess
[15:02:45] <lynxlynxlynx> ;)
[15:03:30] <fuzzie> i got stuck on those in a really stupid place
[15:03:44] <fuzzie> how to map strings like 'F1' to something we can actually use?
[15:06:56] <fuzzie> i guess just a manual lookup table, but meh
[15:11:34] <lynxlynxlynx> what's the problem?
[15:15:24] <fuzzie> well, it's all really irritating :)
[15:15:29] <fuzzie> but no actual practical issue
[15:37:10] <fuzzie> i am reading all of devSin's posts that show up in G3's history
[15:37:24] <fuzzie> because i am tired of finding random posts which clarify something i puzzled over for days
[15:38:22] <lynxlynxlynx> heh, beware of misleading finds
[15:40:02] <fuzzie> he is pretty reliable
[15:44:30] <lynxlynxlynx> time for the patch bomb
[15:45:22] <CIA-26> GemRB: 03lynxlupodian * rd5298aa5f138 10gemrb/CMakeLists.txt: cmake: make a RelWithDebInfo build by default instead of the stripped Release one
[15:45:23] <CIA-26> GemRB: 03lynxlupodian * re572ad9772a1 10gemrb/gemrb/core/GameScript/Actions.cpp: spam in GameScript::EscapeArea only if action debugging is enabled
[15:45:27] <CIA-26> GemRB: 03lynxlupodian * r2785dca78830 10gemrb/gemrb/plugins/AREImporter/AREImporter.cpp:
[15:45:28] <CIA-26> GemRB: AREImporter: renamed Locked to DiscoveryDiff as per iesdp and dltcep
[15:45:28] <CIA-26> GemRB: locking is done via the DOOR_LOCKED flag
[15:45:28] <CIA-26> GemRB: 03lynxlupodian * rd5c406306a4e 10gemrb/gemrb/ (2 files in 2 dirs): read DiscoveryDiff into the Door class
[15:45:30] <CIA-26> GemRB: 03lynxlupodian * rba1021447cd0 10gemrb/gemrb/core/Scriptable/ActorBlock.cpp:
[15:45:30] <CIA-26> GemRB: update the door position to the center of the bounding box
[15:45:30] <CIA-26> GemRB: this fixes distance calculations in XthNearestDoor and fx_find_traps
[15:45:34] <CIA-26> GemRB: 03lynxlupodian * r44c7457dd5d2 10gemrb/gemrb/ (3 files in 2 dirs):
[15:45:34] <CIA-26> GemRB: added a simple Door::TryDetectSecret and used it in fx_find_traps
[15:45:34] <CIA-26> GemRB: TODO: handle normal/unaided discovery
[15:45:34] <CIA-26> GemRB: TODO: handle containers, there's a special type for hidden ones
[15:45:38] <CIA-26> GemRB: 03lynxlupodian * r182d4ea780d2 10gemrb/gemrb/core/GUI/GameControl.cpp: don't change the cursor over secret doors if they haven't been found yet
[15:45:39] <CIA-26> GemRB: 03lynxlupodian * rd3e4b9ee9bea 10gemrb/gemrb/core/GUI/GameControl.cpp: don't highlight/outline secret doors if they are not already known
[15:51:07] <fuzzie> great :)
[15:51:27] --> Maighstir_laptop has joined #GemRb
[16:00:14] --> Avenger has joined #GemRb
[16:00:37] --- ChanServ gives channel operator status to Avenger
[16:00:45] <Avenger> hi
[16:00:52] <lynxlynxlynx> oj
[16:01:24] <lynxlynxlynx> any suggestions for a name for: return (!(Flags & DOOR_SECRET) || (Flags & DOOR_FOUND));
[16:01:26] <Avenger> hey fuzzie, now i can answer some questions about clearing the action queue and such.
[16:01:34] <lynxlynxlynx> i use FoundSecret, but it is not perfect
[16:01:58] <lynxlynxlynx> since it is true also for nonsecret doors
[16:02:17] <Avenger> that's simply DoorVisible?
[16:02:59] <Avenger> or DoorSeen
[16:03:30] <lynxlynxlynx> visible, good :)
[16:04:23] <Avenger> btw, i looked into the charm opcode too
[16:04:30] <Avenger> it is much more complicated
[16:04:44] <Avenger> 1. there is a 'charmed_pc' EA value: 254
[16:04:54] <Avenger> it exists in bg2, not only in iwd2
[16:04:59] <Avenger> that is actually a good news
[16:05:17] <Avenger> because i seen it in iwd2 ea.ids, but not in bg2 :)
[16:06:01] <Avenger> 2. the dice size/count fields are not used for level immunity, neither damage modification
[16:06:33] <Avenger> it seems one of them is used to store the EA value to set, it is calculated on first apply
[16:06:34] <fuzzie> well
[16:06:45] <fuzzie> my questions about the action queue are all about bg1 and iwd2
[16:07:03] <Avenger> fuzzie: there is a 'clear queue, except flagged actions'
[16:07:06] <fuzzie> because Taimon and devSin pretty much cleared up the bg2 side :P
[16:07:19] <Avenger> did they mention that?
[16:07:27] <fuzzie> well, what do you mean by 'flagged'?
[16:07:33] <fuzzie> i haven't actually finished looking at their notes
[16:07:39] <Avenger> i don't know, it is named so by ascension64
[16:07:42] <Avenger> tobex source
[16:07:55] <Avenger> the tobex source is much more 'advanced' than i seen before
[16:08:00] <fuzzie> hmm, that is not so helpful :P
[16:08:19] <Avenger> well, i know, but it has a lot of helpful hints
[16:08:26] <fuzzie> but, ok
[16:08:27] <Avenger> i found a lot of interesting bits
[16:08:41] <Avenger> for example: spell casting is always successful in cutscenes
[16:08:51] <fuzzie> how do you mean?
[16:08:54] <fuzzie> not interrupted by combat?
[16:08:58] <fuzzie> or not resisted?
[16:09:12] <Avenger> it is ensured by an extra flag in the actors, but we could use the cutscene flag
[16:09:38] <Avenger> not hindered by armor and dead magic aura and most likely not interrupted by combat
[16:09:51] <fuzzie> ah, ok
[16:09:55] <fuzzie> well, something to look into
[16:09:56] <Avenger> it is exactly the same as the 0x4000 bit in the spell header
[16:10:09] <Avenger> that is the bad news :)
[16:10:14] <fuzzie> i stopped trusting this RE stuff because it's often wrong, but easy to test in the original game
[16:10:25] <Avenger> 0x4000 is used as simplified headers in iwd2
[16:10:30] <Avenger> and nonmagical spell in bg2
[16:10:43] <fuzzie> but got any more opcodes stuff? :)
[16:10:59] <Avenger> i looked into charm and death mostly
[16:11:01] <fuzzie> or maybe you know how detection of secret doors is done
[16:11:11] <Avenger> that is not a spell, but an action
[16:11:14] <Avenger> or a modal state
[16:11:20] <CIA-26> GemRB: 03lynxlupodian * rec1259f4ec84 10gemrb/gemrb/core/ (3 files in 2 dirs): added Door::Visible for cleanliness
[16:11:28] <Avenger> wanna me check that?
[16:11:46] <fuzzie> no
[16:11:51] <fuzzie> it is neither
[16:11:57] <fuzzie> how does it work during normal play?
[16:12:04] <lynxlynxlynx> i have to go in a few: to me it looks like AddKit/AddSuperKit actions don't match their comments (previous kit removed); plus, dualclassed chars are not handled (eg. imoen/nalia don't get any thieving skills)
[16:13:09] <Avenger> addkit removes the previous kit
[16:13:17] <Avenger> addsuperkit doesn't
[16:13:30] <fuzzie> the AddKit removal is a bit subtle :)
[16:14:09] <Avenger> scr->ApplyKit(scr->GetBase(IE_KIT), false);
[16:14:17] <Avenger> this removes the current kit, no?
[16:14:20] <fuzzie> ys
[16:14:25] <fuzzie> but that is not obvious :P
[16:14:29] <Avenger> it is commented :P
[16:14:50] <Avenger> ok, back to fuzzie
[16:15:37] <Avenger> it could be that door detection is totally automatic, but i thought it is tied to the find traps modal state
[16:16:10] <Avenger> all i remember is that secret doors get a magenta overlay
[16:16:25] <fuzzie> they are detected during normal walking with no modal state, sometimes
[16:17:06] <Avenger> that makes finding the code involved a bit difficult :)
[16:17:06] <-- SiENcE has left IRC (Quit: @all: cya)
[16:17:24] <fuzzie> i just wondered if you knw
[16:17:27] <fuzzie> haven't asked on forums yt
[16:17:29] <fuzzie> yet.
[16:17:30] <Avenger> not yet
[16:17:47] <Avenger> and back to trusting RE, it depends on the level of understanding :)
[16:18:09] <Avenger> if you understand a piece totally and correctly, then it obviously beats experimental
[16:18:18] <fuzzie> yes
[16:18:33] <fuzzie> but even the recent REers just disassemble the one bit
[16:18:45] <fuzzie> and then it turns out that a different function gets run for some other path :P
[16:19:17] <Avenger> yes, it is quite spaghetti at times
[16:19:18] <wjp> (it's probably not relevant, but in AD&D (half-)elves can find hidden doors without searching explicitly, but other races don't)
[16:19:51] <fuzzie> well, forum posts have people claiming that happens in bg, but it is likely just a stat bonus (eg for find traps)
[16:19:52] <Avenger> wjp: i think dwarves can find stuff underground too
[16:20:07] <fuzzie> Avenger: but, well, if you know anything more about 'flagged'..
[16:20:24] <Avenger> not yet, fuzzie, i don't even know how to flag an action :)
[16:20:30] <Avenger> but apparently clear actions is selective
[16:20:34] <fuzzie> i don't know anything except special handling of the instants and obviously the top of the queue is treated differently
[16:20:53] <Avenger> the clearactions action doesn't delete flagged actions, but most internal uses do
[16:21:12] <fuzzie> oh
[16:21:30] <Avenger> maybe it is the honouring of the non-interruptible flag
[16:21:40] <Avenger> so it is not per action flag
[16:21:43] <fuzzie> or just top-of-queue
[16:22:06] <Avenger> i also see code to insert action to top/bottom of queue
[16:22:09] <Avenger> just like we do :)
[16:22:09] <fuzzie> but ok, that would be interesting to hear more about
[16:22:23] <Avenger> they can do 3 types: top/bottom/clear and insert
[16:22:47] <fuzzie> you said RandomFly used some internal FlyToPoint action on the forum
[16:22:58] <fuzzie> they just insert that into the queue?
[16:23:02] <Avenger> yes, but i couldn't make use of it, only partially
[16:23:19] <Avenger> yes, randomfly inserts that action and another randomfly on the queue
[16:23:36] <fuzzie> i noticed the opengl stuff is very easy to find in the exe
[16:23:38] <Avenger> but whenever i used the action myself, it made the actor go south
[16:23:42] <Avenger> and only south :(
[16:23:57] <fuzzie> hehe, it probably uses internal state?
[16:24:04] <fuzzie> try it after RandomFly already ran, maybe
[16:24:05] <Avenger> or another parameter
[16:24:07] <Avenger> direction
[16:24:11] <Avenger> south is 0, iirc
[16:24:26] <fuzzie> :)
[16:24:30] <Avenger> but then the point parameter is useless
[16:24:52] <Avenger> i found it uses the point parameter and the int0parameter so far
[16:25:04] <Avenger> and that int0Parameter is a timing
[16:25:34] <Avenger> can't use it after randomfly ran :) you cannot break randomfly
[16:25:48] <fuzzie> but i am more interested in my continuing questions about the VVC (do i add a 'alive' bool which is reset by the effect code and is needed to loop?) and how to deal with recurrent damage (some Effect field?), as usual :P
[16:25:56] <Avenger> meh
[16:26:08] <fuzzie> can't break randomfly even from another script? how sad :)
[16:26:12] <Avenger> that alive flag is a clever idea
[16:26:28] <Avenger> and probably it is done that way :)
[16:26:53] <Avenger> when it goes off, will the vvc play the last cycle?
[16:27:10] <Avenger> it should go away gracefully
[16:27:21] <fuzzie> i would do it that way
[16:27:35] <fuzzie> it is worth just trying, i guess
[16:27:48] <Avenger> i'm almost sure it is done that way :)
[16:28:09] <fuzzie> i am happy trying to implement things, especially if you keep researching, although i have no idea how to handle dualclassed kits/tc
[16:28:13] <fuzzie> erm, /etc
[16:28:39] <Avenger> well, the kit determines which class is kitted
[16:28:45] <Avenger> so it is simple
[16:28:58] <Avenger> i thought i already handle that in the clab stuff
[16:29:16] <Avenger> you cannot have the same kit for 2 different classes
[16:29:44] <Avenger> btw, i found the code which gets the class level stuff
[16:30:01] <Avenger> handles inactive dual classes, multi classes, etc
[16:30:16] <Avenger> it is a big pile of hardcoded crap in bg2 :)
[16:30:32] <Avenger> lots of switch/case
[16:31:34] <Avenger> anyway, i still don't understand the engine to just 'look for anything i'm interested in'
[16:31:39] <Avenger> at least not easily
[16:31:57] <Avenger> i usually just look randomly, if i find out a function, i add it to all notes
[16:32:03] <Avenger> and slowly the whole picture goes clear
[16:32:44] <Avenger> the tobex source helps a lot, so i don't have to find out something, or usually i get confirmation easily by looking at it
[16:37:28] <-- barra_library has left IRC (Read error: Connection reset by peer)
[16:37:36] <fuzzie> *nod*
[16:37:51] <fuzzie> well, it is helpful
[16:38:03] <fuzzie> i just wish BIS hadn't messed with everything they could possibly touch :)
[16:38:24] <Avenger> looking into iwd?
[16:38:26] <fuzzie> devSin has some helpful notes on some iwd2 stuff, but i don't care about iwd2 :P
[16:39:57] <fuzzie> but pst, they changed everything, and bg1/iwd/iwd2/pst all have different stuff for some action queue stuff compared to bg2
[16:40:23] <fuzzie> like bg1's cutscene handling and the buggy block handling which makes Die() fail all the time, for example
[16:41:37] <Avenger> well, if we fix something that doesn't break the official game: it is good
[16:41:41] <Avenger> we shouldn't copy bugs
[16:46:48] <lynxlynxlynx> scr->ApplyKit(scr->GetBase(IE_KIT), false); <-- how can this remove the old kit, when it just adds the new clabs? To me either the parameter should be true or renamed in the function to something other than "remove"
[16:50:32] <Avenger> heh, i stumbled into the death variable management
[16:50:37] <Avenger> 'extracount' etc
[16:51:25] <Avenger> any variable fitting the format string: %sPLAYER%d ?
[16:51:33] <Avenger> or anything else?
[16:51:37] <Avenger> i wonder what is that
[16:52:43] <lynxlynxlynx> maybe it is for multiplayer
[16:54:20] <Avenger> large identical code pieces for extracount... 10 :) no loop
[16:57:09] <fuzzie> Avenger: it is difficult to tell what breaks the original games :) thankfully bg1 is pretty simple
[16:58:02] <fuzzie> do we handle Silence (soundsets, dialog, spells/innates)?
[17:00:23] <Avenger> that %sPLAYER%d is used in resurrect too
[17:00:36] <Avenger> silence?
[17:01:06] <Avenger> i think silence has only effect on spellcasting
[17:01:18] <Avenger> i mean in the original
[17:01:27] <fuzzie> these notes say all of those are hardcoded
[17:01:30] <Avenger> i don't know if it is implemented or not, but i guess it is
[17:01:44] <Avenger> soundsets ?
[17:01:54] <fuzzie> (not into the effect, but using state checks)
[17:02:07] <fuzzie> yes, PCs don't speak when they're silenced, i guess?
[17:02:08] <Avenger> it may disable initiation of dialogs, but soundsets?
[17:02:26] <Avenger> it doesn't break dialogs started by npcs
[17:02:41] <Avenger> silenced pcs can't start dialog but that's all
[17:02:41] <fuzzie> i mean, 'speak' as in 'play soundset entry'
[17:02:55] <Avenger> i think even npcs can start dialogs when silenced
[17:03:12] <Avenger> so this is better handled in trytospeak
[17:03:17] <fuzzie> yes, afaik the dialog check is just .. yes, there
[17:03:35] <fuzzie> but i guess you don't have any info about this, then :)
[17:03:48] <Avenger> i doubt soundsets are impacted
[17:04:06] <Avenger> i'm 99% sure dialogs are not silenced, except in their equivalent of trytospeak
[17:04:09] <fuzzie> Shout is disabled too, it looks like
[17:04:23] <Avenger> i read notes about this: they made this to not break quests
[17:04:35] <fuzzie> but pocket plane is not?
[17:04:40] <fuzzie> (?!)
[17:05:29] <lynxlynxlynx> a lot of spells don't have a vocal component
[17:05:36] <Avenger> i'm sure there is a flag for spells that are possible to use ... as lynx said
[17:05:46] <Avenger> there are combat moves
[17:05:50] <Avenger> set snares
[17:05:50] <lynxlynxlynx> for an innate this is even more sensible
[17:06:12] <Avenger> there is a flag, isn't it?
[17:06:21] <fuzzie> most innates are disabled
[17:06:44] <Avenger> hmm, i guess the 'no failure' flag i talked about
[17:07:03] <Avenger> set for pocketplane and set snares too
[17:07:20] <Avenger> it overrides a lot of checks
[17:07:36] <fuzzie> and vocalise?
[17:08:02] <fuzzie> vocalise, pocket plane and some non-'magic' stuff are what i see noted as being castable under silence
[17:08:03] <Avenger> you ask if we implemented it?
[17:08:08] <Avenger> ah
[17:08:23] <Avenger> vocalise is not flagged
[17:08:31] <Avenger> either handled specially
[17:08:37] <Avenger> or dunno
[17:08:58] <Avenger> look for spwi219 in the exe
[17:09:03] <Avenger> i swear, i saw it somewhere
[17:09:54] <Avenger> i thought i even implemented it in our code
[17:10:23] <lynxlynxlynx> ahaha
[17:10:31] <Avenger> splspec.2da
[17:10:36] <lynxlynxlynx> find familiar spawned me 9 imps
[17:11:05] <fuzzie> we should just fix the familiar effect to *not* do the summon stuff at all
[17:12:19] <fuzzie> it got too complicated
[17:12:37] <fuzzie> ok, multiple people report that you can only use vocalise and pocket plane when silenced
[17:13:14] <fuzzie> i see also an Avenger
[17:13:23] <fuzzie> "There are a lot of specials that shouldn't check on silence: barbarian rage, defensive/offensive spin, etc. All of these wouldn't work in silence?", he says, confused :)
[17:13:49] <-- Maighstir_laptop has left #GemRb
[17:14:01] <Avenger> the nonmagical flag helps in those cases
[17:14:12] <fuzzie> http://forums.gibberlings3.net/index.php?showtopic=16483 <- also has exe offsets, but other threads agree on the snares etc
[17:14:16] <Avenger> the difference is: dead magic disables vocalize
[17:15:03] <Avenger> what do you mean about pocket plane / silence?
[17:15:06] <fuzzie> and devSin agrees it seems hardcoded, messing with the flags/files doesn't help
[17:19:41] --> edheldil_ has joined #GemRb
[17:21:23] <Avenger> haha, finding the current area in bg2 is a complex function :)
[17:22:30] <fuzzie> silly
[17:22:39] <fuzzie> anyway, the above thread summarises what i know about silenced abilities
[17:23:00] <fuzzie> other people claim it disables the soundset, i will check that in a few minutes
[17:23:54] <Avenger> i didn't find any state check in the soundset code
[17:24:07] <Avenger> but, if you find it disables, i will start looking
[17:24:17] <Avenger> i got the soundset stuff fully covered
[17:26:23] <fuzzie> btw, i couldn't make action bars appear during dialog in any gam
[17:26:24] <Avenger> the extracount is area specific???
[17:26:28] <fuzzie> i think it was you asking the other day?
[17:26:43] <Avenger> it happened to me in gemrb
[17:26:58] <fuzzie> yes, it is a gemrb bug
[17:27:02] <fuzzie> and yes, extracount is area spcific
[17:27:18] <Avenger> oh good
[17:27:32] <fuzzie> should all be implemented in gemrb
[17:27:38] <Avenger> then i don't look why it is bothering with getting the current area (for each extracount variable)
[17:27:54] <Avenger> that code is huge, and identical :D
[17:27:56] <fuzzie> why is it not a loop? :P
[17:28:19] <Avenger> it is ~20 bytes just to get the current game and from that the current area :)
[17:28:34] <Avenger> and the current area code is huge itself
[17:28:41] <Avenger> it is looping through all loaded areas
[17:29:12] <Avenger> for us it is just 'actor->CurrentArea', or at worst core->GetGame()->CurrentArea
[17:30:20] <Avenger> i still didn't find how this extra stuff is triggered. it is some target ids field, no?
[17:30:22] <Avenger> specific?
[17:30:47] <fuzzie> sex :p
[17:31:00] <fuzzie> SEX_EXTRA, SEX_EXTRA2, etc
[17:31:25] <Avenger> ahh sex
[17:31:26] <Avenger> ok
[17:31:48] <fuzzie> Actor.cpp:3271
[17:34:13] <fuzzie> so, how do i detect 'protection from creature type'?
[17:34:34] <fuzzie> just check the effectqueue? is that fast?
[17:34:46] <fuzzie> (can i do that hundreds of times a frame?)
[17:35:31] <Avenger> well, it is a list in the original engine too, just a separate list
[17:36:02] <fuzzie> i guess it is fast enough
[17:36:06] <Avenger> i guess, ours is 10 times slower, if there are 10:1
[17:36:18] <Avenger> but ours won't update the separate list each cycle :P
[17:36:25] <Avenger> because they do, hehe
[17:36:43] <Avenger> they build those lists each update cycle
[17:37:02] <Avenger> though i think they skip some cycles
[17:37:22] <fuzzie> it is probably faster to build the lists
[17:37:34] <Avenger> why?
[17:37:42] <Avenger> you always need to destroy them, then rebuild
[17:37:51] <fuzzie> but the lists are used a lot
[17:38:36] <fuzzie> doesn't matter though, even 10 times slower is fine
[17:39:06] <Avenger> dunno, i thought i won't hardcode an arbitrary number of lists that take up separate space and need maintenance
[17:39:20] <Avenger> it is less expandable too
[17:39:22] <fuzzie> well, simpler is better :)
[17:41:58] <fuzzie> so i guess 'combat counter' and 'where do i put tick info for recurrent damage' are my Avenger poking list
[17:42:09] * fuzzie writes them on pieces of paper and sticks them to Avenger
[17:42:25] <Avenger> what's wrong with combat counter?
[17:42:47] <Avenger> i thought i did it and be done with it
[17:43:11] <fuzzie> all three of them?
[17:43:22] <Avenger> ah, well, it is not completely done, because ... 3?
[17:43:31] <Avenger> there are 2, afaik
[17:43:31] <fuzzie> i thought you made the basics worked and then found out that it's a lot more complicatedf :)
[17:43:38] <Avenger> yeah, true
[17:43:53] <Avenger> there is some weirdness where it checks combatcounter1 >-45
[17:43:58] <Avenger> and such
[17:44:04] <fuzzie> it is not important, but you seemed to know more than me
[17:44:10] <Avenger> but i won't care until bigger problems are fixed
[17:44:24] <Avenger> i mean the 'lets attack nasties through the fourth wall' bug
[17:44:27] <fuzzie> sure
[17:44:31] <fuzzie> that's almost fixed
[17:44:51] <fuzzie> although i wasted three hours trying to find a bug which turned out to be the pathfinder snapping to the search grid :P
[17:44:53] <Avenger> that's easily the worst problem for me :)
[17:45:13] <Avenger> snapping?
[17:45:42] <Avenger> you mean it rounds coordinate values? is that wrong?
[17:45:44] <fuzzie> yes
[17:45:50] <fuzzie> i fixed it back
[17:45:53] <Avenger> but the original does that too, no?
[17:46:02] <fuzzie> only at start and end
[17:46:05] <Avenger> it divides coordinates by 16/ 12
[17:46:09] <fuzzie> and not for distances
[17:46:34] <fuzzie> this is why you have two positions in original scriptables, 'real position' and 'saved position, divided by 16/12'
[17:46:39] <Avenger> well, dunno, the distance code is full of those constants, but maybe not inside the pathfinger
[17:46:42] <Avenger> ...finder
[17:47:31] <fuzzie> hmm
[17:48:01] <fuzzie> but, yes, i think the original engine keeps multiple copies of positions
[17:48:15] <fuzzie> you can find some huge bugs that way, when an action forgets to update one
[17:48:34] <fuzzie> i will have to add a big comment to our pathfinding code :)
[17:49:48] <Avenger> i know only offset 6/a (as x/y)
[17:50:13] <Avenger> that is a real position, that needs to be divided all the time
[17:50:21] <fuzzie> i think both are real positions
[17:50:34] <Avenger> that is only one
[17:50:39] <Avenger> 6-x, a-y
[17:50:40] <fuzzie> i mean
[17:50:44] <fuzzie> both the ones noted
[17:51:07] <fuzzie> it's easy to see there are two, just use some buggy action
[17:51:31] <fuzzie> i think the MoveToObject ones for example
[17:55:52] <fuzzie> the thread about how the engine keeps copies of actors around is interesting too
[17:56:41] <fuzzie> ( http://forums.gibberlings3.net/index.php?showtopic=12231 where the game injects creatures into new areas, i guess to avoid having to load the area they're travelling to)
[17:57:58] <fuzzie> anyway. if you have no solution for the recurring damage then i guess i'll just add another field to Effect for now, and someone can fix it later
[18:00:09] <fuzzie> and we can worry about the pathfinder positions in a few years, when someone fixed all the other positions..
[18:00:27] <Avenger> yes that would be good
[18:01:21] <Avenger> btw, i'm idle because i do exactly that, peering into the 'spriteupdate' message which deals with areas and coordinates
[18:01:34] <fuzzie> well, yes
[18:01:42] <Avenger> it has loadarea too :)
[18:01:45] <fuzzie> but it is a bit pointless, it's too much work to fix all the code :(
[18:02:24] <fuzzie> i have object matching working with invisibility checks, line of sight, protection checks, etc
[18:02:34] <Avenger> at this point fix stuff that is a clear fix
[18:02:55] <Avenger> i'm sure eventually the reverse engineering will catch up :)
[18:03:54] <fuzzie> we fixed lots of things from todo, recently
[18:04:10] <fuzzie> i start to be annoyed by the original engine, instead
[18:04:23] <Avenger> half of the spriteupdate message deals with coordinates, btw
[18:05:08] <Avenger> it is all sprinkled with the 16 and 12 constants, hehe
[18:05:21] <fuzzie> we have them everywhere too :)
[18:05:28] <fuzzie> but i think our code could be simplr
[18:05:51] <Avenger> except that when they do a Distance(....) it is inlined (or cut&pasted)
[18:06:00] <fuzzie> any idea how Panic works?
[18:06:23] <Avenger> not really, i touched it a bit recently
[18:06:30] <fuzzie> just looking at Taimon's vague notes on RandomWalk, wondering if Panic is anything similar
[18:06:31] <Avenger> but didn't look at it 'from above'
[18:06:55] <fuzzie> that is a 'big missing thing'
[18:06:57] <lynxlynxlynx> our Panic sucks bigtime
[18:07:02] <lynxlynxlynx> yeah
[18:07:03] <fuzzie> yes
[18:07:19] <Avenger> at least panic inserts action(s) in the queue, that is now visible
[18:07:26] <Avenger> and takes up 80% of its code :)
[18:07:30] <fuzzie> ok, that is good to know
[18:07:38] <fuzzie> because that is the easiest way for us to do it :)
[18:08:00] <Avenger> another piece is just setting the stance to '7 ready'
[18:09:06] <Avenger> RandomWalkContinuous()
[18:09:11] <fuzzie> and bouncing projectiles is a missing piece
[18:09:17] <Avenger> it inserts that in the queue
[18:10:15] <fuzzie> ok. so it is RandomWalk? :)
[18:10:36] <fuzzie> it would be nice, then we just have to maintain that
[18:11:13] <Avenger> yes, it is a glorified randomwalk
[18:12:36] <Avenger> 90% of the code is about doing 3 things: 1. insert ready stance message, 2. insert message about set stance (parameter also ready), 3. insert randomwalk
[18:12:53] <Avenger> i don't really understand what is the difference between 1 and 2
[18:13:08] <Avenger> probably nothing, just one goes to multiplayer ;)
[18:14:11] <Avenger> i just have to find where it makes the yellow circle
[18:14:22] <Avenger> that is probably 2-3 lines hiding somewhere
[18:14:43] <fuzzie> hehe
[18:14:49] <fuzzie> we just do that in the circle code :)
[18:18:58] <Avenger> weird, there is a flag in the game object that completely disables Panic, and damage, and some other stuff. Looks like it is 'setcutscenemode'
[18:19:40] <Avenger> i just know in iwd i could panic in cutscenemode
[18:20:01] <fuzzie> bg1's cutscene mode allows a lot more things
[18:20:11] <fuzzie> so i wouldn't be surprised if iwd is the same
[18:20:25] <Avenger> it disables randomwalkcontinuous too
[18:20:51] <fuzzie> the actions check for the flag and kill themslves?
[18:21:12] <Avenger> not sure, if they kill...
[18:21:27] <Avenger> hmm they do
[18:21:39] <Avenger> returning -1 like one shot actions, yeah
[18:22:28] <fuzzie> great
[18:22:33] <fuzzie> i like this :D
[18:24:15] <Avenger> the odd thing is: there are at least 2 fields marking cutscene
[18:24:32] <Avenger> i don't know what's the difference
[18:25:36] <fuzzie> cutscenelite doesn't set either of them?
[18:25:40] <Avenger> some stuff checks one, some stuff checks the other.
[18:26:37] <Avenger> gotta decode the message
[18:30:49] <Avenger> by cutscenelite only one of them is set, but that doesn't mean much
[18:31:15] <Avenger> 0x4302 is set to different values by cutscene and cutscenelite (and even dialog)
[18:31:26] <Avenger> 0x44c0 is set only by cutscene, it seems
[18:31:47] <fuzzie> :)
[18:32:08] <fuzzie> so 0x4302 is some UI/etc disabling, perhaps?
[18:32:34] <fuzzie> oh hey
[18:32:46] <fuzzie> you know, if you're in a real RE mood, you could work out how banters work
[18:33:25] <Avenger> oops, ok there are 3 fields
[18:33:38] <Avenger> 0x44bc is also set to 1 :)
[18:33:53] <fuzzie> tomprince had some hacky patch for dialogs which checked interdia.2da when trying to find a dialog, because otherwise banters would fail (because the normal actor dialog is useless, obviously)
[18:34:01] <fuzzie> maybe you have some insight into how that should work
[18:34:12] <Avenger> bdialog handling?
[18:34:16] <fuzzie> that is also really annoying in gemrb because none of the banters work :(
[18:34:43] <fuzzie> yes, interdia has the bdialog entries
[18:34:45] <Avenger> meh, no code comments on that
[18:35:00] <Avenger> is there any action for this or it is random
[18:35:14] <fuzzie> i think it's random/time-based
[18:35:26] <Avenger> i got the banterblock flags, that they are easy
[18:35:30] <fuzzie> gemrb starts the banters fine, but it breaks when trying to transition to a new actor
[18:35:36] <fuzzie> because, wrong dialog file
[18:36:18] <fuzzie> this is the 'Interact' action?
[18:36:31] <Avenger> shouldn't banter dialogs be oneliners ? O_o
[18:36:34] <fuzzie> yes
[18:36:35] <fuzzie> no
[18:36:41] <fuzzie> they are long conversations
[18:36:44] <Avenger> hmm interact
[18:36:47] <fuzzie> between multiple NPCs
[18:37:16] <fuzzie> there's a comment in the gemrb source from you about it being 'short, inlined dialog' too :P
[18:37:27] <Avenger> i got interact, 66k raw unexplored code
[18:37:40] <Avenger> actually it is full of message sending
[18:37:43] <Avenger> so it is not that big
[18:37:55] <fuzzie> but you can just open, say, bmazzy.dlg, and it is *full* of transitions
[18:38:07] <fuzzie> so i wonder if there is some global 'interact' flag
[18:38:15] <Avenger> weird, interact seems to be a blocking action
[18:38:21] <Avenger> returns 0
[18:38:34] <Avenger> would it just a walk to target, or it keeps active during the dialog???
[18:38:37] <fuzzie> well, the other dialog actions are blocking, they have to move to target
[18:38:41] <fuzzie> so i would guess it is just the walk
[18:38:50] <Avenger> lets hope so
[18:40:12] <Avenger> hmm it uses fields not named in tobex :(
[18:40:14] <fuzzie> so far today you have only good news :)
[18:40:57] <Avenger> neither taimon's map
[18:41:10] <Avenger> so, well, this is totally uncharted territory
[18:41:49] <fuzzie> ok. we can just add some hack for now, of course.
[18:42:41] <Avenger> ok, there is a 'ready for dialog' message, that sets the ready stance only if there were some conditions true (like the dialog actually started?) it makes you stand up for dialogs, for example
[18:43:35] <fuzzie> *nod*
[18:43:56] <fuzzie> gemrb messes that up right now, you get sleeping actors turning to face you :)
[18:43:59] <Avenger> those uncharted fields are used only in: dialog, interact,startdialog (all dialog actions are implemented by those)
[18:44:23] <fuzzie> any idea about the blocking?
[18:45:03] <Avenger> there is a 'said' trigger, that we don't use and no one else uses it in scripting
[18:45:19] <Avenger> it might be used internally
[18:46:13] <fuzzie> but we don't have to care :)
[18:46:18] <Avenger> there is a setnumtimestalkedto thingie, not numtimesinteracted
[18:46:25] <Avenger> maybe that is differnt in iwd
[18:47:06] <Avenger> a check for state charmed
[18:47:17] <Avenger> charmed critters don't talk (it sucks, imo)
[18:47:37] <fuzzie> would lead to too many bugs
[18:49:22] <Avenger> this is so similar to dialog
[18:51:03] <Avenger> first difference found: Interactee object is set in interact
[18:51:13] <Avenger> this is the trigger for InteractingWith
[18:51:30] <Avenger> do we implement that?
[18:51:54] <Avenger> i guess not exactly the same way, it is set only in interact, not in dialog
[18:54:40] <Avenger> the other object, oTalker is set by both. That is used by lasttalkedtoby
[18:55:34] <fuzzie> that is useful
[18:56:01] <Avenger> and, it is positive: it is blocking after setting these objects
[18:56:09] <Avenger> so i think it is blocking during the conversation
[18:56:30] <Avenger> not just while walking up to them
[18:56:54] <fuzzie> ok
[18:56:59] <fuzzie> i would be very happy if that is true
[18:58:12] <fuzzie> does it do any work in there, or just block until dialog is voer?
[18:58:31] <Avenger> ok, dialog has the 12/16 stuff (that's the sign it uses distance, and thereby walkto)
[18:58:36] <Avenger> interact doesn't have this
[18:58:57] <fuzzie> maybe you want to confirm my disasm from the other day
[18:59:03] <fuzzie> lynx and I rewrote Range()
[18:59:19] <Avenger> +1 ?
[18:59:25] <Avenger> that is true, i think :)
[18:59:30] <fuzzie> and the dividing by 12/16
[18:59:34] <Avenger> i saw that in iwd last time
[18:59:59] <fuzzie> i guess we should replace all distance code like that, but it has to be done carefully :)
[19:00:12] <Avenger> it always divides by 12 and 16
[19:00:19] <Avenger> that's why there are so many of those constants
[19:00:31] <Avenger> it never keeps the divided value in the actor
[19:00:37] <Avenger> always the original value
[19:00:53] <Avenger> don't we do the same?
[19:00:56] <fuzzie> no :(
[19:01:05] <fuzzie> this is why i'm saying, i have to fix this
[19:01:18] <fuzzie> but i don't want to break SoA
[19:01:27] <fuzzie> so i have to spend some time on it and test it all
[19:01:59] <Avenger> all coords are the original pixel coordinates
[19:02:06] <Avenger> in every game
[19:02:10] <-- budlust has left IRC (Ping timeout: 240 seconds)
[19:02:10] <fuzzie> yes
[19:02:12] <fuzzie> we do that too
[19:02:16] <fuzzie> except, nothing divides them
[19:03:19] <fuzzie> but it is fine if i change everything to divide them? :)
[19:04:05] <fuzzie> http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=667d700ce1954c8d10cd9e2663b26a57d5e8a3dc was our experimental fix to Range
[19:04:36] <fuzzie> it works fine, so the next thing is to move that into a shared function and test everything els
[19:04:39] <Avenger> the range code is almost exactly like it is done in the original
[19:04:39] <fuzzie> that is ok?
[19:04:49] <Avenger> except, that the engine never does an sqrt
[19:04:52] <fuzzie> yes
[19:04:54] <fuzzie> i will fix that :)
[19:05:03] <Avenger> they do an (r+1)^2
[19:05:07] <fuzzie> mhm
[19:05:20] <fuzzie> i took your action/trigger offsets and loaded them into IDA :)
[19:05:54] <fuzzie> otherwise i would never have guessed how this works
[19:06:12] <Avenger> you can safely check my disasm comments
[19:06:17] <Avenger> this is already annotated
[19:06:35] <fuzzie> the division by 12/16 isn't
[19:06:41] <fuzzie> it's in another function, i think
[19:07:02] <Avenger> 00494140 does it
[19:07:26] <fuzzie> so, i don't know anything about bg2, i had to load it in the disassembler and follow the function call :)
[19:07:26] <Avenger> wait that is just the square
[19:07:47] <Avenger> 004940F0 does the division
[19:08:11] <Avenger> the range code is unusual, it actually has the division in a subroutine
[19:08:18] <Avenger> and the x*x in another
[19:08:22] <Avenger> weird:)
[19:08:26] <fuzzie> i will just put it all in a shared subroutine which does both :P
[19:08:33] <fuzzie> but you didn't agree yet, it is ok? :)
[19:08:43] <Avenger> yes, that would be the sane approach
[19:08:55] <fuzzie> it is a big change, and not so important yet
[19:09:05] --> budlust has joined #GemRb
[19:09:34] <Avenger> they have variations of this code fully unraveled in lots of places
[19:09:56] <Avenger> luckily they use all the same constants, so it is easy to spot
[19:11:06] <Avenger> fuzzie, you don't have the file: bg2_code\scripting\nonliving_triggers\e_range.txt ?
[19:11:18] <Avenger> you don't really have to load ida for seeing this
[19:12:01] <fuzzie> ok, Silence disables soundst.
[19:12:04] <fuzzie> soundset.
[19:12:09] <Avenger> hmm
[19:12:17] <Avenger> that means i missed a state check
[19:12:34] <fuzzie> Avenger: i have the range file, but no comment about the division function
[19:12:41] <fuzzie> maybe i forgot to unzip your latest copy
[19:12:57] <Avenger> 004940F0 is not commented :) that's right
[19:13:05] <fuzzie> i just summoned Viconia from the ToB spirit fairy and then cast Silence on the party
[19:13:27] <fuzzie> Jan failed the saving throw, got silenced, no sounds :)
[19:13:28] <Avenger> and they stop talking their existance strings?
[19:13:34] <fuzzie> yep
[19:13:49] <Avenger> what about battlecry
[19:14:02] <fuzzie> no on-click sound, no movement sounds, no battle cries, no on-hit cries, etc
[19:14:11] <Avenger> weird
[19:14:16] <Avenger> at least it is consistent
[19:14:20] <Avenger> so easy to handle
[19:14:26] <Avenger> maybe it is deeper in the code
[19:14:52] <Avenger> no console feedback either, i guess
[19:14:56] <Avenger> would be weird if they do
[19:15:11] <fuzzie> how do i turn on that feedback?
[19:15:13] <fuzzie> i get none for anyone
[19:15:29] <fuzzie> oh, subtitles
[19:15:53] <fuzzie> yes, no subtitles for poor silenced Jan
[19:16:13] <-- budlust has left IRC (Quit: Lost terminal)
[19:16:38] <fuzzie> ok, i am going out for a bit :)
[19:18:36] <Avenger> found it!!!
[19:18:49] <Avenger> there is a call which checks state bit 0x1000
[19:19:01] <Avenger> good, now i can look for that call in all code
[19:20:02] <Avenger> the dialog code uses it
[19:21:33] <Avenger> lol, interact doesn't check it
[19:22:21] <fuzzie> there are enough bugs with failed interacts, they probably didn't want to add more..
[19:22:25] <fuzzie> really gone now!
[19:22:55] <CIA-26> GemRB: 03lynxlupodian * r4da43aeeeb9b 10gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp:
[19:22:55] <CIA-26> GemRB: fixed the find familiar effect to spawn just one familiar and add the max hp bonus
[19:22:55] <CIA-26> GemRB: fixed the familiar death effect to properly apply all the needed effects
[19:24:22] <CIA-26> GemRB: 03lynxlupodian * r3660299e1fd3 10gemrb/gemrb/core/Scriptable/Actor.cpp: familiars also share xp
[19:25:14] <-- Avenger has left IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716])
[19:48:49] <CIA-26> GemRB: 03lynxlupodian * rcdd9e23fffaa 10gemrb/gemrb/tests/minimal/data/gametime.2da: added gametime.2da to the minimal dataset
[20:17:46] <fuzzie> we don't do chunking?
[20:19:13] <lynxlynxlynx> graphically?
[20:19:19] <fuzzie> there's some code in Damage to play DL_CRITICAL if chp<-10
[20:19:25] <fuzzie> but nothing which modifies LastDamage
[20:19:25] <lynxlynxlynx> yes
[20:19:36] <lynxlynxlynx> on the first part
[20:20:19] <lynxlynxlynx> should LastDamage be further changed?
[20:20:30] <fuzzie> well, DAMAGE_CHUNKING doesn't get set, as things are
[20:20:47] <lynxlynxlynx> that's type
[20:21:09] <fuzzie> sorry, i mean, LastDamageType
[20:22:25] <lynxlynxlynx> so why not just add it there?
[20:22:49] <fuzzie> is that the right place? i don't know when chunking happens
[20:23:46] <lynxlynxlynx> appears to play after CheckOnDeath
[20:24:08] <fuzzie> i mean
[20:24:12] <fuzzie> in which situations
[20:24:23] <fuzzie> the CheckOnDeath stuff is gemrb nonsense, i'm looking into trying to fix it
[20:24:46] <lynxlynxlynx> this massive damage is one, the other one is when you blow up a petrified target
[20:25:10] <fuzzie> any idea how i create some low-level creatures to test with?
[20:25:22] <lynxlynxlynx> apparently also for the frozen state
[20:25:36] <fuzzie> ah, CreateCreature
[20:31:46] <fuzzie> ok, so that works in theory but it's all kind of annoying
[20:32:54] <fuzzie> the idea is: we shouldn't remove actors
[20:33:22] <fuzzie> just doing SetAnimationID(0x0100); seems to do the trick nicely
[20:33:58] <fuzzie> no idea how it's meant to work in pst, though, maybe there just isn't any chunking damage there
[20:35:18] <lynxlynxlynx> why wouldn't it be the same? no animation of that id?
[20:35:38] <fuzzie> pst uses one-byte animation ids, so it's out of range
[20:36:09] <fuzzie> i doubt that's the right animation anyway
[20:39:13] <fuzzie> oh, apparently it is
[20:39:29] <lynxlynxlynx> it's hard to tell from dltcep
[20:39:34] <lynxlynxlynx> but the name is good
[20:39:39] <fuzzie> 0x0200 is EXPLODING_ARM, 0x0210 is EXPLODING_HEAD, etc
[20:40:10] <fuzzie> i wonder if we have to spawn those as projectiles
[20:41:00] <fuzzie> devSin implies that CHUNKS should suffice, presumably with an appropriate animation set
[20:43:46] <fuzzie> hm, if i google i get gemrblog of a similar conversation :)
[20:45:25] <fuzzie> so i guess ToB in gemrb assigns me a shiny new Mazzy with MAZZYJ as dialog :(
[20:45:28] <fuzzie> fail
[20:47:03] <lynxlynxlynx> this could be npclevel(25).2da related
[20:47:13] <lynxlynxlynx> we don't spawn the npcs at matching levels
[20:47:49] <lynxlynxlynx> the other one is npclvl25.2da
[20:49:22] <fuzzie> this is handled by the engine
[20:49:39] <fuzzie> (pdialog.2da)
[20:50:45] <fuzzie> so, um, i wonder how to handle that
[20:53:12] <fuzzie> a lookup table in the style of start.2da?
[20:53:15] <edheldil_> fuzzie, can I get some disassembled code as well? It;s long time since I last poked in assembler, so I am interested whether I would be able to make sense of it
[20:53:58] <fuzzie> edheldil_: well, i am just using the free IDA Pro, and left it running on bgmain.exe for a few hours
[20:54:24] <fuzzie> Avenger has a bunch of organised snippets, but i don't have them here
[20:55:26] <edheldil_> ok
[20:56:27] <fuzzie> it is probably more 'valuable' to work on pst anyway, if you have any time :)
[20:57:06] <fuzzie> but i could forward Avenger's stuff (or ask him to)
[20:57:48] <fuzzie> only bg2 has any weird columns in pdialog.2da
[21:01:08] <edheldil_> I will ask Avenger when I see him :)
[21:01:55] <fuzzie> i guess these 'dream scripts' in bg2 play after dreams, they have the romance stuff?
[21:02:24] <fuzzie> that explains a lot
[21:03:25] <edheldil_> free IDA pro == v4.9 freeware, right?
[21:03:29] <fuzzie> yes
[21:03:54] <fuzzie> it is absolutely fine for Windows apps of bg2/pst era
[21:07:37] <fuzzie> Avenger would call it far too complicated, but i think he is the last holdout :)
[21:13:23] <edheldil_> what does he use, then?
[21:13:36] <fuzzie> i have no idea
[21:14:58] <edheldil_> I used to use Sourcer back then, many years ago :)
[21:17:01] <fuzzie> i try to avoid disassembly if i can
[21:17:21] <fuzzie> especially for gemrb, the shortage is really more code than RE people :)
[21:18:29] <fuzzie> but i doubt we have much of a chance of implementing pst properly without some work there
[21:21:11] --> SiENcE has joined #GemRb
[21:28:52] <fuzzie> lynxlynxlynx: help, how do i get into a state to test the vvc held thing? :)
[21:29:13] <lynxlynxlynx> you have tob?
[21:29:16] <fuzzie> yes
[21:29:25] <lynxlynxlynx> the first pp challenge
[21:29:45] <lynxlynxlynx> ctrl+shift+y until you get to ogre mages
[21:29:50] <fuzzie> thanks
[21:31:47] <fuzzie> and i should probably unequip arbane's sword..
[21:32:42] <fuzzie> ok, the ogre mages are suiciding
[21:32:53] <lynxlynxlynx> btw: Actor.h:159:#define APP_NOTURN 0x4000 //doesn't face gabber in dialogue
[21:33:28] <lynxlynxlynx> maybe you'll need to retry, but first wait for the drow
[21:33:38] <lynxlynxlynx> maybe it was the priestesses
[21:33:43] <fuzzie> well, it is more of an observation
[21:34:41] <fuzzie> i guess this is pretty unplayable without any spellcasting feedback
[21:34:45] <fuzzie> i have no idea what's going on here
[21:35:09] <fuzzie> but they're casting the spell with an expanding radius of ice, and it looks like it's killing them at the point of casting
[21:35:21] <lynxlynxlynx> cone of cold
[21:35:37] <lynxlynxlynx> maybe our projectile is missing the ignore center flag
[21:36:50] <fuzzie> it is indeed the priestesses
[21:36:54] <fuzzie> let's see if i can make anyone lose their rolls
[21:37:19] <fuzzie> hoorah!
[21:39:03] <fuzzie> all worked ^.^
[21:40:56] <CIA-26> GemRB: 03fuzzie * r12c19a14b314 10gemrb/gemrb/ (5 files in 3 dirs): expire looped VVC animations along with their effect
[21:43:18] <lynxlynxlynx> but this is unrelated, right?
[21:43:50] <fuzzie> oh
[21:43:54] <lynxlynxlynx> the hold orbs now get removed on death automatically (we remove the hold effect)?
[21:43:54] <fuzzie> well, it makes the animation go aay
[21:43:57] <fuzzie> away
[21:44:11] <fuzzie> the animations don't continue after the effect, that's all :)
[21:44:15] <lynxlynxlynx> so yes :)
[21:44:29] <fuzzie> i tried it by just letting it naturally expire
[21:44:40] <fuzzie> sound worked, animation disappeared, perfect
[21:44:50] <fuzzie> except, of course, that it's hovering below the actor :)
[21:45:27] <fuzzie> i'm not sure if it'll work on dead actors, but it ought to work fine
[21:46:42] <lynxlynxlynx> the cone of cold uses an existing (shipped by the game) projectile that indeed has the ignore center flag unset
[21:48:22] <lynxlynxlynx> areapro holds the wrong flagset for this though
[21:50:12] <lynxlynxlynx> back to other stuff
[21:50:21] <fuzzie> thanks
[22:01:51] <lynxlynxlynx> btw, i also remember why the banter confusion
[22:02:40] <lynxlynxlynx> there are the timed banters that are potentially long convos and the truly inlined dialogs, where the npcs interrupt your discussion with someone else
[22:03:12] <fuzzie> hmm, that VVC stuff is no good
[22:08:05] <fuzzie> doesn't work properly for stat-based VVC playback, fixing
[22:12:11] <fuzzie> re ambushes don't go away: did we fix anything related to that?
[22:16:16] <lynxlynxlynx> related
[22:16:33] <lynxlynxlynx> but only mildly
[22:17:23] <CIA-26> GemRB: 03fuzzie * r5709c8307a6c 10gemrb/gemrb/ (4 files in 3 dirs): only disable VVCs controlled by an effect and not by PCFs etc
[22:18:51] --> |Cable| has joined #GemRb
[22:22:05] <SiENcE> hey fuzzie, i got openal working on dingoo with gemrb
[22:22:10] <SiENcE> but its damn slow
[22:22:15] <SiENcE> :-/
[22:22:27] <lynxlynxlynx> as predicted
[22:22:53] <lynxlynxlynx> too bad
[22:22:56] <lynxlynxlynx> good nigth
[22:23:14] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:23:32] <fuzzie> you might try renaming the music directory, and seeing if it's fine without that
[22:23:46] <SiENcE> why?
[22:24:07] <SiENcE> i can change to nosound plugin
[22:24:15] <fuzzie> gemrb plays the music in a background thread
[22:24:53] <fuzzie> i think that probably doesn't work too well if you're low on cpu
[22:25:05] <SiENcE> the nosound plugin?
[22:25:09] <fuzzie> but if you rename the music directory, you don't get the thread, and maybe just the sounds will work well
[22:25:16] <fuzzie> while the nosound plugin gives you no sound :P
[22:25:26] <SiENcE> ah you mean the soundfx
[22:25:31] <fuzzie> and i expect you want at least voice
[22:25:59] <SiENcE> yes ...but i dont expected this :D
[22:26:21] <SiENcE> can i adjust the sound quality playback?
[22:28:17] <SiENcE> because 16000hz is best playback quality on dingux with sdl
[22:28:28] <SiENcE> and not 44.500hz as on pc
[22:29:01] <fuzzie> it's only 22khz to begin with
[22:29:31] <fuzzie> or usually 11khz for the non-music sound
[22:29:41] <SiENcE> ah ok
[22:29:47] <fuzzie> but i expect openal mixes at a higher rate, i don't really know
[22:30:46] <SiENcE> no i have no music but soundfx
[22:30:53] <SiENcE> but they are also damn slow
[22:31:33] <SiENcE> there is no caching? everything is loaded from disk if its used?
[22:31:38] <fuzzie> it shouldn't be too hard to write an SDL audio driver quickly
[22:31:44] <fuzzie> yes, no caching, would use too much RAM
[22:31:55] <SiENcE> ok
[22:32:13] <SiENcE> i have a strange mouse cursor bug
[22:32:29] <SiENcE> i downscaled the picture just before flip is called
[22:32:37] <fuzzie> hehe, we draw it directly, after flip :)
[22:32:55] <fuzzie> oh, no, we don't any more
[22:33:03] <SiENcE> but now i can only move my mousecurso in a field of 0->160x and 0->120y
[22:33:21] <SiENcE> but not 0->320x and 0->240y
[22:33:36] <SiENcE> so i can only move the cursor in a small field
[22:34:09] <fuzzie> just modify the coordinates: SDLVideo.cpp, look for 'event.motion.x' and 'event.button.x', i guess there are three
[22:34:43] <SiENcE> maybe i should make event.motion.x*2 ?
[22:34:52] <fuzzie> that sounds like a good idea
[22:35:34] <fuzzie> you probably have to also divide by 2 in MoveMouse and MouseClickEvent for it to all be right
[22:35:43] <SiENcE> ok
[22:35:53] <SiENcE> i want to get ingame :)
[22:36:56] <SiENcE> can you speak german?
[22:37:14] <fuzzie> nope
[22:37:19] <SiENcE> ok
[22:37:25] <fuzzie> i should learn :(
[22:37:30] <SiENcE> ah no
[22:37:51] <SiENcE> i just ask :), just because many people in the oss scene are from germany
[22:37:59] <SiENcE> as lightkey
[22:43:19] <SiENcE> ok. thanks for help. good night
[22:43:28] <-- SiENcE has left IRC (Quit: cya @all)
[22:58:59] <edheldil_> ida seems to really like 0x418000 - 0x41cfff, it analyzes it again and again. :(
[22:59:36] <fuzzie> there are thousands of stack variables there
[22:59:39] <fuzzie> in a few other functions too
[23:00:17] <fuzzie> and every time it finds a new usage, it re-analyzes the whole function, to see if the new variable provided new context
[23:00:31] <edheldil_> ah
[23:00:58] <fuzzie> but you can browse/examine/modify/save/quit/etc while it is analysing
[23:05:03] <edheldil_> I do... My knowledge of asm is rusty, but I wonder what mov [ebp-4], ecx; mov ecx, [ebp-4] is supposed to achieve. Stupid compiler, perhaps
[23:05:40] <fuzzie> it is amazing how stupid some of the generated code is
[23:06:01] <edheldil_> like four identicial subs in a row :)
[23:06:13] <edheldil_> subroutines
[23:07:08] <edheldil_> but apart from that, I am lost :)
[23:11:04] <fuzzie> well, if you get a copy of Avenger's notes, or from someone else, there are function lists with addresses and comments as to what things to do and etc
[23:11:06] <CIA-26> GemRB: 03fuzzie * r8307cecbc280 10gemrb/gemrb/ (4 files in 3 dirs): stupid polymorph data cache hack
[23:11:08] <fuzzie> but it is complicated
[23:12:17] <fuzzie> no nice old DOS app written in mostly C style :)
[23:14:11] <edheldil_> exactly :)