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

Archive Today Yesterday Tomorrow
GemRB homepage

[00:04:33] --> budlust has joined #GemRb
[00:16:22] <-- Dark-Star|Away has left IRC (Read error: No route to host)
[00:21:41] <-- budlust has left #GemRb
[00:36:26] <-- cubathy_ has left IRC (Ping timeout: 252 seconds)
[00:53:10] --> budlust has joined #GemRb
[00:53:36] <-- budlust has left #GemRb
[00:54:02] --> budlust has joined #GemRb
[02:50:58] <-- tomprince_loki has left IRC (Quit: tomprince_loki)
[02:51:29] <-- budlust has left IRC (Remote host closed the connection)
[02:52:01] --> budlust has joined #GemRb
[02:52:35] --> tomprince_loki has joined #GemRb
[03:02:22] <-- tomprince_loki has left IRC (Quit: tomprince_loki)
[03:02:35] --> tomprince_loki has joined #GemRb
[03:06:56] <-- tomprince_loki has left IRC (Ping timeout: 246 seconds)
[03:59:41] <-- budlust has left IRC (Remote host closed the connection)
[04:00:05] --> budlust has joined #GemRb
[04:02:22] <-- budlust has left #GemRb
[04:25:36] <-- Gekz_ has left IRC (Read error: Connection reset by peer)
[04:25:51] --> Gekz_ has joined #GemRb
[05:03:54] --> tomprince_loki has joined #GemRb
[05:07:25] <-- tomprince_loki has left IRC (Client Quit)
[05:07:37] --> tomprince_loki has joined #GemRb
[05:49:59] <-- tomprince_loki has left IRC (Read error: Connection reset by peer)
[06:30:52] --> budlust has joined #GemRb
[06:34:54] --> Gekz has joined #GemRb
[06:38:28] <-- Gekz has left IRC (Client Quit)
[06:50:48] <-- budlust has left IRC (Read error: Operation timed out)
[08:21:36] --> lynxlynxlynx has joined #GemRb
[08:21:36] --- ChanServ gives channel operator status to lynxlynxlynx
[08:23:38] <fuzzie> morning
[08:26:02] <lynxlynxlynx> oj
[08:36:04] <fuzzie> the last 8 paragraphs of http://www.folklore.org/StoryView.py?project=Macintosh&story=Switcher.txt is what I always think of when trying to find key combinations :)
[08:39:27] <lynxlynxlynx> :=
[08:46:57] <fuzzie> http://fuzzie.org/nfs/gemrb/key.txt <- anything wrong with this?
[08:46:58] --> Gekz has joined #GemRb
[08:47:31] <fuzzie> if not, would be nice to include in any changes you might make to that code
[09:28:00] --> cubathy has joined #GemRb
[10:26:36] <lynxlynxlynx> does it help in anything concrete?
[10:28:23] <fuzzie> it stops keys from being passed on multiple times if two keys got hit at once and second is >255
[10:28:55] <fuzzie> (if that makes any sense)
[10:29:18] <lynxlynxlynx> sure
[10:29:30] <lynxlynxlynx> you don't have access to git now?
[10:30:01] <fuzzie> i don't have my key here, that's all
[10:30:21] <fuzzie> will do momentarily, so i could do it myself later :)
[10:30:34] <lynxlynxlynx> ok :)
[10:30:36] <fuzzie> ijust thought i'd mention it because it led to confusing results while i was fiddling with that code
[10:33:58] <fuzzie> as wjp was discussing the other week, we should probably split up that code anyway, if only to make gemrb more responsive
[10:34:25] <lynxlynxlynx> a separate input handling plugin?
[10:34:44] <fuzzie> no, but seperate functions for the finish-drawing and the event-handling
[10:35:37] <fuzzie> i didn't actually check it, but my theory for the non-responsiveness when we're frame-limited is that the events need to be processed after we do the final blit
[10:35:51] <lynxlynxlynx> grabbing the mouse in the gamecontrol seems to work just fine btw
[10:35:55] <fuzzie> because otherwise events are lagged by a frame or so every time
[10:35:57] <fuzzie> cool :)
[10:36:14] <lynxlynxlynx> i didn't notice any input unresponsiveness
[10:36:57] <fuzzie> try removing the SDL_Delay at the top of SwapBuffers
[10:37:24] <fuzzie> (which removes the framerate limiting)
[10:37:57] <fuzzie> it's not a huge thing, but it's noticeable
[10:38:09] <lynxlynxlynx> only if you remove that limiting :)
[10:38:33] <fuzzie> i mean, if you remove the limiting, it's more responsive :)
[10:39:07] <lynxlynxlynx> so why do we have it in the first place?
[10:39:42] <fuzzie> because 60fps is way more than enough, and without it we use 100% cpu and framerates are erratic on slower machines
[10:40:24] <fuzzie> i thin.
[10:40:29] <fuzzie> think.
[10:40:59] <lynxlynxlynx> i understand the 100% cpu usage, but the first part of the statement contradicts with the previous ones
[10:41:12] <fuzzie> well, 60fps is faster redrawing than anyone can actually notice
[10:41:59] <fuzzie> but the event handling code being in that function too means that event handling is actually delayed by up to a frame or so
[10:42:25] <fuzzie> and hence my theory, which is just a theory, that doing it later could help :)
[10:42:49] <lynxlynxlynx> that's still just a percent or two of a second
[10:45:46] <fuzzie> yes, it shouldn't be more than 20ms or so, so it's confusing
[10:48:08] <fuzzie> maybe there's something else stupid in there :)
[10:56:04] <lynxlynxlynx> ugh, fell into a trap
[10:58:10] --> kettuz has joined #GemRb
[11:00:13] <lynxlynxlynx> http://pastebin.com/sv5VHhYD <-- you wanted something like that? Maybe with a switch statement to be swollen later
[11:00:54] <lynxlynxlynx> http://pastebin.com/yP4WJGGA <-- the bulk, but with non-global grabbing
[11:01:54] <fuzzie> well, the non-global way, i think it doesn't work in any of the other screens
[11:02:05] <fuzzie> but that's not really important, and i think we'd move it anyway when we get keymap.ini support
[11:02:06] <lynxlynxlynx> yep
[11:02:12] <lynxlynxlynx> it is important
[11:02:37] <lynxlynxlynx> now you can only do it in both maps and with the second patch also in the gamecontrol, but nowhere else
[11:02:41] <fuzzie> (since as Maighstir_laptop said, different people are going to want different keys)
[11:03:02] <lynxlynxlynx> even with the first approach, it doesn't work in modal windows
[11:03:31] <lynxlynxlynx> well, which key triggers it is a separate issue, i'm working on what to trigger currently
[11:04:02] <fuzzie> well, i mean: we're probably going to want it bindable, which means it will eventually go via keymap code anyway
[11:04:41] <lynxlynxlynx> but that's later
[11:05:07] <lynxlynxlynx> do you want any particular changes, so yours won't conflict too much?
[11:05:13] <fuzzie> nope
[11:05:30] <fuzzie> i still can't decide how would be best to do it, everyone's conflicting suggestions in here all have merit
[11:05:32] <lynxlynxlynx> then i'll do the global way and remove the existing calls
[11:08:32] <lynxlynxlynx> hmm
[11:14:00] <lynxlynxlynx> just moved it before the null control check and now it does work everywhere :)
[11:14:20] <-- wjp has left IRC (*.net *.split)
[11:18:12] <lynxlynxlynx> the only annoying thing is that on grab-off the mouse position is reverted to where it was when grabbing started
[11:18:19] <CIA-13> GemRB: 03lynxlupodian * r7e4ffe194f51 10gemrb/gemrb/docs/en/Tables/modal.txt: modal.txt: documented the second column
[11:18:20] <CIA-13> GemRB: 03lynxlupodian * r8f5e54f25e77 10gemrb/gemrb/ (5 files in 2 dirs): made scroll lock globally toggle input grabbing
[11:19:12] <lynxlynxlynx> hmm, actually not there
[11:19:42] --> wjp has joined #GemRb
[11:21:02] <lynxlynxlynx> fixed :)
[11:23:08] --> barra_home has joined #GemRb
[11:23:20] <CIA-13> GemRB: 03lynxlupodian * r83e999146b50 10gemrb/gemrb/plugins/SDLVideo/SDLVideo.cpp: move the mouse to the previous (current) position when disabling grabbing
[11:32:26] <-- cubathy has left IRC (Quit: Leaving)
[11:38:29] <CIA-13> GemRB: 03lynxlupodian * rf064d9009880 10gemrb/gemrb/docs/en/Tables/guibtact.txt: guibtact.txt: explained the whole contents of the table
[11:48:30] <CIA-13> GemRB: 03lynxlupodian * rd862ff785c12 10gemrb/gemrb/GUIScripts/ (5 files in 5 dirs): moved all the ActionQItem*Pressed() duplicates into GUICommon
[12:11:56] --> budlust has joined #GemRb
[13:00:37] <-- wjp has left IRC (*.net *.split)
[13:03:13] <-- budlust has left IRC (Remote host closed the connection)
[13:03:25] --> budlust has joined #GemRb
[13:06:40] --> wjp has joined #GemRb
[13:08:31] --> barra_away has joined #GemRb
[13:12:39] <-- barra_home has left IRC (Ping timeout: 268 seconds)
[13:14:44] <-- Gekz_ has left IRC (Quit: Leaving)
[13:19:33] <-- budlust has left #GemRb
[14:26:00] --> tomprince_loki has joined #GemRb
[14:41:08] --> Gekz_ has joined #GemRb
[15:52:27] <-- tomprince_loki has left IRC (Ping timeout: 268 seconds)
[15:55:37] --> tomprince_loki has joined #GemRb
[15:58:07] <-- tomprince_loki has left IRC (Read error: Connection reset by peer)
[16:05:19] --> tomprince_loki has joined #GemRb
[16:43:25] <CIA-13> GemRB: 03lynxlupodian * r4c5dd7b45c46 10gemrb/gemrb/core/Actions.cpp: GameScript::Turn: added a few more checks and feedback
[17:07:42] <-- Gekz_ has left IRC (Quit: Leaving)
[17:08:53] <-- Gekz has left IRC (Quit: This computer has gone to sleep)
[17:34:21] --> raevol has joined #GemRb
[17:35:20] <fuzzie> lynxlynxlynx: does the GUI do those checks too somewhere?
[17:35:52] <lynxlynxlynx> no, currently modal actions are done only through our spells
[17:36:02] <lynxlynxlynx> but that needs to be changed
[17:36:10] <fuzzie> well, they definitely shouldn't be done via actions
[17:36:26] <lynxlynxlynx> why not?
[17:36:38] <lynxlynxlynx> i think it was avenger's idea :3
[17:36:38] <fuzzie> because you'll break any running scripts
[17:36:46] <fuzzie> i mean, maybe i misunderstand
[17:36:55] <fuzzie> Turn can only be done standing in place, doing nothing else?
[17:37:26] <lynxlynxlynx> no, you can do many non-offensive stuff
[17:38:34] <fuzzie> then i can't see any way to really do it with actions
[17:40:09] <fuzzie> why not use the spells?
[17:40:33] <lynxlynxlynx> i doubt you can do enough just with them
[17:43:03] <fuzzie> fx_change_bardsong/fx_turn_undead no good?
[17:46:30] <fuzzie> i just never used the actions in the game, so i have no idea what we're meant to do
[17:50:00] <fuzzie> but doing the actual work in Turn() is no good in any case, it definitely doesn't block
[17:50:10] <fuzzie> (just checked it)
[17:51:03] <fuzzie> could re-purpose one of the others if you really need an action though, i've freed up a few of them in my messages branch by doing them properly
[17:52:33] <fuzzie> but maybe i still misunderstand, so i'll go be quiet in a corner
[17:53:49] <lynxlynxlynx> i'm no expert either
[17:54:30] <lynxlynxlynx> the Actor::Turn is just about receiving the effects
[17:54:58] <lynxlynxlynx> comparing the how and iwd2 effects shows the difference - in iwd2 it almost isn't needed
[17:56:16] <fuzzie> but what do you need to do beforehand - just handle the string display?
[17:57:21] <lynxlynxlynx> turning can be done through effects easily, sure
[17:57:41] <lynxlynxlynx> but shouldn't the action also be complete for all the script callers (if any)
[17:58:26] <fuzzie> well, the action is meant only to toggle the state
[17:59:07] <lynxlynxlynx> oh
[18:00:04] <fuzzie> iesdp says differently, maybe i'm wrong, let me check
[18:02:39] <-- raevol has left IRC (Quit: Leaving.)
[18:04:51] <fuzzie> there's no likely-looking effect in bg2 anyway
[18:06:08] <lynxlynxlynx> nope
[18:07:02] <fuzzie> i'm not quite awake enough to read the assembly for the bg2 Turn action, but it certainly only sets the modal state on success, doesn't do the work
[18:10:08] <lynxlynxlynx> no checking like with hiding?
[18:10:37] <fuzzie> it does some checks, and then it calls actor->SetModal(MS_TURNUNDEAD);
[18:11:49] <fuzzie> but i'm not familiar enough to know what the checks are :)
[18:12:05] <lynxlynxlynx> so only the message display is extraneus for sure
[18:12:22] <lynxlynxlynx> it should probably be wrapped in an InParty check too
[18:12:41] <fuzzie> the checks are similar to those of 'findtraps', 'hide' and 'battlesong'
[18:14:00] <lynxlynxlynx> i was thinking of moving the messages into Actor::SetModal, where i already started to put the ending messages
[18:14:54] <lynxlynxlynx> have to think it through for the 3-message actions
[18:15:07] <fuzzie> i would guess this checks whether the actor is InParty and then some PC-specific test inside
[18:15:53] <lynxlynxlynx> our hiding action code is based on RE, so it should be fine
[18:15:55] <fuzzie> but no-one's structure notes have it
[18:16:40] <fuzzie> yes, hide does a *lot* more :)
[18:17:15] <lynxlynxlynx> yeah
[18:19:22] <lynxlynxlynx> it's wierd that bg2 has such a simple action for turning, while having no effect for it
[18:19:25] <fuzzie> i guess Avenger must have decoded this, so he'd know
[18:19:45] <fuzzie> well, Avenger said that the modal effect code in the original engines was all hard-coded
[18:20:03] <fuzzie> so instead of applying a spell every frame, it would just run some hard-coded function every frame
[18:20:15] <fuzzie> he just added the spell thing in the hope that we could avoid hardcoding any of it
[18:20:30] <lynxlynxlynx> ok
[18:20:46] <fuzzie> maybe it's not possible, and we're stuck hard-coding some things in Actor::UpdateActorState
[18:23:41] <fuzzie> last time i tried hardcoding something like that, he fixed it pretty quickly :)
[18:26:23] <lynxlynxlynx> mhm, happened to me plenty of times too
[18:28:15] <lynxlynxlynx> well, it doesn't need to be too ugly, we could just run a function instead of applying the spell when the table value is something special
[18:28:29] <lynxlynxlynx> we already have two columns in there, but now they match the action names
[21:26:39] <-- Nomad010 has left IRC (Ping timeout: 240 seconds)
[21:34:28] --> Nomad010 has joined #GemRb
[21:34:46] <-- lynxlynxlynx has left IRC (Remote host closed the connection)
[22:19:19] <-- Nomad010 has left IRC (Ping timeout: 240 seconds)
[22:23:14] --> Nomad010 has joined #GemRb
[22:46:03] <-- kettuz has left IRC (Quit: Leaving)
[22:59:49] <-- wjp has left IRC (*.net *.split)
[23:00:36] --> wjp has joined #GemRb
[23:00:44] <-- wjp has left IRC (*.net *.split)
[23:01:12] --> wjp has joined #GemRb