[01:36:35] <servus> Ultima Underworld VIII: Pagan
[05:49:03] <watt> hmmm.. haven't thought enough on how to represent the down and up events when using console commands.
[05:49:39] <watt> might end up using +/- in front of the command like most other game engines do.
[05:50:07] <watt> hoping to think of a safe way to use arg1 instead though.
[05:50:40] <servus> depress('foo'); release('foo'); ?
[05:51:08] <watt> functional? hmm....
[05:51:35] <servus> If you did that, you could handle it directly with a scripting language.
[05:52:09] <watt> depress("MainAction::attack") - hmmm..nah
[05:53:11] <watt> a scripting language would not be bad, but these seem more like commands than variables.
[05:53:27] <servus> Yeah. That's what they're supposed to look like
[05:54:47] <watt> "MainActor::attack &" to start a "background process" and then "kill MainActor::attack"
[05:55:03] <watt> very shell-ish
[05:57:19] <watt> eh... still avoids the idea that the actual function "MainActor::ConCmd_attack" is responsible for both the initiation of the attacking and the end....
[05:57:47] <watt> (MainActor::attack isn't actually real... example idea)
[06:01:14] <watt> although.. I am actually liking & now.... it's kinda a neat way of thinking about it... although the metaphor is wrong... the command that toggle something on and don't turn off until the next time you use it behave more like the background process concept.
[06:01:35] <watt> anyway.. think I'll sleep on it.
[08:03:58] <wjp> as I mentioned yesterday, I wouldn't map avatar controls to console command; they're just too different
[08:04:07] <wjp> s/command/commands/
[08:04:48] <wjp> and there's no real advantage to it as far as I can see
[08:05:51] <wjp> maybe it would clean up the key/mouse bindings a bit, but it would only make the controls a lot less clean
[08:20:24] <wjp> you can of course always try to convince me of the advantages :-)
[10:46:27] <-- Colourless has left IRC ("casts improved invisibility")
[13:16:38] <-- Kirben has left IRC ("System Meltdown")
[13:18:34] <megawatt> I think I figured out the error in my logic.... I was assuming the console commands with release functionality would definitely have a common set of arguments and translate between key up and key down.. I shouldn't assume anything about the command arguments
[13:19:17] <megawatt> Instead I should treat key up as a "release" modifier and have a separate binding for it
[13:21:49] <megawatt> W=MainActor::walkForward; <Control> W=MainActor::stepForward; <Shift> W=MainActor::runForward; <Release> W=MainActor::stopForward
[13:21:55] <megawatt> something like that.
[13:25:22] <megawatt> The big advantage I see for using console commands for all controls is there would only be one system for adding and removing commands (useful in switching games)
[13:26:09] <megawatt> then having the binding there even when the command is not registered is safe... yuo just get an unknown command message.
[13:29:11] <megawatt> The HIDBindings as they are could not be removed so easily and make assumptions about the current game. The quit HIDBinding is a good example - seg faults when the game=Pentagram instead of U8 - others make assumptions about mainactor being there and responds to certain methods.
[13:31:18] <megawatt> It also seems like duplication in logic... that and the entire reason I steered clear of Console commands to begin with was that I thought they would be unresponsive for fast gameplay... and I believe I was wrong on that part entirely.
[13:40:17] <megawatt> also, slightly OT for this change, but if we do start including scripting elements, I think the best choices would be from bourne shell - simple and well known.
[13:50:57] <megawatt> The world needs yet another procedural scripting language invented about as much as it needs nuclear holocaust.
[13:52:32] <megawatt> not that I have anything against nuclear holocaust or anything ;-)
[17:44:52] <wjp> hm, I think we just got another entry for the quotes file :-)
[18:05:20] <megawatt> yay
[19:44:20] <-- megawatt has left IRC ("Chatzilla 0.9.67 [Firefox 1.0/20041107]")
[22:50:31] --> Kirben has joined #pentagram
[22:50:31] --- ChanServ gives channel operator status to Kirben
[23:55:00] --> kazin has joined #pentagram