#pentagram@irc.freenode.net logs for 30 Apr 2003 (GMT)

Archive Today Yesterday Tomorrow
Pentagram homepage

[00:07:42] <-- wjp has left IRC ("Zzzz...")
[00:28:13] <-- Servus has left IRC ()
[01:27:41] --> Kirben has joined #pentagram
[01:27:41] --- ChanServ gives channel operator status to Kirben
[01:34:54] --> Servus has joined #Pentagram
[04:13:03] <-- Servus has left IRC ()
[04:15:46] --> Servus has joined #pentagram
[07:11:28] --> Cashman has joined #pentagram
[07:35:14] <-- Cashman has left IRC ()
[08:29:04] --- DarkeZzz is now known as Darke
[08:39:06] --> _Servus_ has joined #pentagram
[09:07:20] <-- Servus has left IRC (Read error: 110 (Connection timed out))
[09:26:08] <-- Kirben has left IRC ("System Meltdown")
[09:31:51] --> Kirben has joined #pentagram
[09:31:51] --- ChanServ gives channel operator status to Kirben
[10:34:15] --> Ember has joined #pentagram
[10:51:50] * Ember tries to remember what she wanted to do with tools and dlls 'n stuff. *ponder*
[10:54:53] <Ember> Hmm... oh, yeah, don't trust 'da bunny if he's saying something that seems over the top (like, fur instance, if he said "Colourless is correctly spelled!"), 'cause he's more then likely being sarcastic. *tailswirl*
[10:57:28] <Ember> As far as ABI compatability goes, given that pentagram's sounce is freely available, should someone decide to create a 'Process' derived class that was open sourced, there should be no problems with them getting mingw of the appropriate version and compiling it for our 'official' release of pentagram.
[10:58:38] <-- Darke has left IRC (Read error: 110 (Connection timed out))
[10:59:10] <Ember> Or if they were a rabid VC or Codewarrior addict, and didn't want mingw to despoil their machines... they could politely ask us one of us to make a relevant distribution for them.
[11:00:03] <Ember> I would guess that VC6 and VC7 would have different ABI's, just like gcc 2.95 and 3.2 series do.
[11:01:20] <Ember> If they were closed source plugins, I wouldn't see a reason why they would not support our official pentagram (would seem pointless otherwise really), then releasing their own version of plugins for different compiled versions if they wish.
[11:02:25] <Ember> After all, if they wish to support MacOS, Windows, and Linux (ignoring any other possible ports) they've got a least three different versions they need to compile anyway, having an extra windows or Mac one wouldn't be all that more difficult.
[11:02:49] --- Ember is now known as Darke
[11:02:57] * Darke yawnstretches.
[11:03:00] --- ChanServ gives channel operator status to Darke
[11:05:57] --> Colourless has joined #Pentagram
[11:06:02] --- ChanServ gives channel operator status to Colourless
[11:06:25] * Darke waves. Hi!
[11:06:53] <Colourless> you still failed to explain exactly what you want to do with dynamic linking
[11:09:52] <Darke> *nod* Yeah. It's bouncing around at the edge of my mind, but this headache is just a touch distracting. *grin* I think it was something to do with trying to cut down on the applications memory footprint, such as not loading, for example an internal debugger, unless you needed it. Since I'm trying to get all these tools working to the point that they can be run simultaneously with the game. So you could, say look at a usecode trace created by
[11:09:54] <Darke> Disasm whilst playing the game to see where it crashes.
[11:10:56] <Darke> Or have the scripts compiled on demand, having a compiler slowly running in the background whilst playing, using whatever free cycles you have, rather then having to exit the game, compile/link, then start it again.
[11:11:55] <Colourless> i see.. something like that would be hugely complex to manage
[11:11:58] <Darke> Logically, you wouldn't want to have some of these things loaded 'all the time' in the case of a distribution, nor would you really want to distrubute a seperate executable for 'debugging' or whatever only.
[11:12:55] <Darke> The dynamic loading? Or the 'compile on demand', etc stuff?
[11:13:49] <Colourless> dynamic loading of individual components. Cross dependencies would be a pain to handle
[11:16:06] <Darke> I (personally) wouldn't allow any dependancies of the modules, with the exception to the main pentagram executable. I'm talking having each app independant, 'disasm' relying on nothing but itself&pent, same for fold, or the shape converter, or the compiler, etc.
[11:17:26] <Colourless> i guess you'd 'export' access to other modules via the executable
[11:19:41] <Colourless> ideally though, i would have to protest if you want a C++ interface with the modules. It is just a headache to support
[11:22:19] * Darke shrugs. If you can criss cross the needed functionality between Applications and Process (which is relatively simple) in a couple of C functions, I'd have no problem with that.
[11:23:50] <Darke> My main consternation would simply be the complexity of code required to import the various functions/structs in the dlls. Currently, if it makes the code too complex, I'd officially 'not care' and worry 'til after v1.0 to worry about making it more elegant. *grin*
[11:24:27] <Colourless> just something you would probably need to know first. Windows has great issues with memory being shared between different 'modules'. You can not free memory in one module if it was allocated by another (each module has it's own heap)
[11:25:08] <Colourless> the process stuff would actually be reasonably simple to 'kludge' and interface for
[11:26:46] <Darke> Hmm... so you'd have to have a pair of functions, CreateNewDisasmProcess (returning a DisasmProcess pointer) and also a DeleteDisasmProcess (taking said pointer) to properly handle this? Or am I misreading?
[11:27:07] <Darke> (Said functions being in the Disasm.dll, that is.)
[11:27:07] <Colourless> well, 'something' similarish to that, but not quite
[11:27:29] <Colourless> i would instead have a structure of function pointers such as
[11:27:38] <Colourless> struct ImportedProcess
[11:28:25] <Colourless> {
[11:30:09] <Colourless> some_type * (* CreateNewProcess)(void);
[11:30:38] <Colourless> void (* DeleteProcess) (some_type*);
[11:30:45] <Colourless> };
[11:31:25] <Colourless> the class of 'some_type' would have a function pointer to the 'run' function of the process
[11:32:24] <Colourless> there would then be a wrapper process class that would automatically call the 'run' function from the 'some_type' object
[11:32:33] <Colourless> of course it would be rather messy in the end
[11:32:34] * Darke nods.
[11:33:27] <Colourless> the some_type object would probably also have a 'data' pointer that would be passed to the 'run' function pointer
[11:34:29] <Darke> Hmm... yeah. A little messy.
[11:35:02] <Colourless> how much code would it require? not much really
[11:35:49] <Colourless> most of the stuff could be contolled automatically using macros
[11:42:33] * Darke hides!
[11:46:38] * Darke wonders which poor, poor macros Colourless is going to torture next...
[12:09:38] --> wjp has joined #pentagram
[12:09:38] --- ChanServ gives channel operator status to wjp
[12:31:50] <wjp> I think I'll go do some event handling stuff today
[12:32:23] <wjp> right now I built a simple event loop into Application::run
[12:32:36] <wjp> which passes events to Application::handleEvent
[12:32:53] <Darke> Cool.
[12:32:54] <wjp> I was thinking this should pass most events straight to a gumpManager-thingie
[12:33:09] <wjp> (which would then pass them on to the gump which has mouse/keyboard focus)
[12:33:15] <Colourless> no..... you saying we might be able to quit pentagram 'nicely' :-)
[12:33:26] <wjp> quiting is already in :-)
[12:34:00] <wjp> focus will be rather annoying, I think
[12:34:01] <Colourless> but you have no control over it, if i'm not mistaken
[12:34:12] <Colourless> ignore any focus stuff for now
[12:34:23] <Darke> We need a Quit(uint8) intrinsic! *innocentlook*
[12:34:33] <wjp> focus on a gump level you mean?
[12:34:45] <Colourless> on any level :-)
[12:35:01] <wjp> focus on the window manager level is being ignored really well atm :-)
[12:35:11] <wjp> (as in "case SDL_ActiveEvent: break;" )
[12:36:38] * Darke snickers.
[12:43:45] --> Dominus has joined #pentagram
[12:46:07] <wjp> got distracted by uwadv for a while :-)
[12:46:09] <wjp> ...anyway...
[12:46:16] <wjp> so we'll need a gumpManager-thingie IMHO
[12:46:32] <Colourless> yes, i was working on such a thing
[12:46:43] * Darke suggests a more descriptive name. He'a already got too many things named 'thingie'. *grin*
[12:46:48] <wjp> is it in anything resembling committable state? :-)
[12:46:50] <Colourless> not really a gumpmanager as such, but it would have the same functionality as the gumpmanager in exult
[12:47:23] <Colourless> it would be about half finished.
[12:47:36] <Colourless> probably a bit more than that. commitable? don't think so, not quite yet
[12:47:40] <wjp> it doesn't have to be finished :-)
[12:47:46] <wjp> ah, k :-)
[13:03:06] <-- Darke has left IRC ("Inficio-Infeci-Infectum")
[13:05:24] --> Darke has joined #pentagram
[13:05:37] --- ChanServ gives channel operator status to Darke
[13:06:44] <Darke> Hmm... it's quite funky when your window manager dies. All these windows you can *do* stuff with suddenly sitting around on your desktop with no close/minimise/etc buttons, title bars and such. Can still close them though. Cool, yet weird. *grin*
[13:07:01] <wjp> why not just restart it then?
[13:07:22] <wjp> login to console, set $DISPLAY correctly, run window manager?
[13:07:34] <wjp> (that works for sawfish, at least)
[13:08:21] <Darke> Wouldn't let me ctrl-alt-f* for some reason. Could have just sshed into it and messed around I suppose.
[13:13:43] * Darke is currently in the 'too tired, should be asleep' frame of mind and decided it was simpler to close everything and just close and restart X. *grin*
[13:20:08] <-- Dominus has left IRC ("enough for now")
[13:23:27] <wjp> hm, I think I'll go get some lunch
[13:26:12] <-- Colourless has left IRC ("casts invisibility")
[13:26:50] * Darke thinks he'll continue the Exodus and disappear off to sleep. *grin*
[13:26:54] <Darke> Night!
[13:27:01] --- Darke is now known as DarkeZzz
[13:27:33] <wjp> night :-)
[14:45:05] --> sbx has joined #pentagram
[14:45:46] <-- sbx has left IRC (Client Quit)
[15:34:37] <-- Kirben has left IRC ("System Meltdown")
[19:13:45] --> Dark-Star has joined #pentagram
[23:36:48] --> Cashman has joined #pentagram
[23:42:09] <-- Cashman has left IRC ()